/* ============================================================
   FaGTS — Feuille de style centralisée
   Utilisée par les 5 pages du site :
     - Landing page (fagts-landing.html)
     - Politique de confidentialité (fagts-privacy.html)
     - Politique de confidentialité — FaGTS Client (fagts-client-privacy.html)
     - Conditions d'utilisation (fagts-terms.html)
     - Accord de niveau de service (fagts-sla.html)

   Structure :
     1. Design tokens (couleurs, typographies) — communs
     2. Reset / base — commun
     3. Éléments communs (en-tête, logo, .eyebrow)
     4. Styles propres à la landing page   (scope .page-landing)
     5. Styles propres aux pages légales   (scope .page-legal)

   Chaque page enveloppe son contenu dans un conteneur racine
   <div class="page-landing"> ou <div class="page-legal"> afin
   d'isoler les quelques réglages qui diffèrent entre les deux
   gabarits (largeur du conteneur .wrap, couleur des liens,
   styles de titres, etc.) sans dupliquer le reste.
   ============================================================ */

/* ============================================================
   1. TOKENS
   ============================================================ */
:root{
  --font-display:'Manrope','Segoe UI',sans-serif;
  --font-body:'Work Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;

  /* light — neutral white, warm accents */
  --bg:#FFFFFF;
  --bg-soft:#F1F4F3;
  --surface:#FFFFFF;
  --text:#14181A;
  --text-muted:#5C645F;
  --border:#E9E7E0;
  --border-strong:#D8D4C8;
  --ink:#1E7A52;
  --ink-2:#145C3D;
  --ink-contrast:#FFFFFF;
  --brand:#1E7A52;
  --brand-strong:#145C3D;
  --brand-soft:#E1EFE5;
  --brand-contrast:#FFFFFF;
  --orange:#E2622A;
  --orange-strong:#C94F1C;
  --orange-contrast:#FFF9F2;
  --shadow:rgba(40,30,10,0.14);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0F1112;
    --bg-soft:#171C17;
    --surface:#17191A;
    --text:#EDEAE2;
    --text-muted:#A3A9A4;
    --border:#292C2A;
    --border-strong:#3A3F3B;
    --ink:#39A876;
    --ink-2:#57C793;
    --ink-contrast:#06140E;
    --brand:#39A876;
    --brand-strong:#57C793;
    --brand-soft:#17332A;
    --brand-contrast:#06140E;
    --orange:#EC8250;
    --orange-strong:#F4A277;
    --orange-contrast:#1E0E06;
    --shadow:rgba(0,0,0,0.5);
  }
}
:root[data-theme="dark"]{
  --bg:#0F1112;
  --bg-soft:#171C17;
  --surface:#17191A;
  --text:#EDEAE2;
  --text-muted:#A3A9A4;
  --border:#292C2A;
  --border-strong:#3A3F3B;
  --ink:#39A876;
  --ink-2:#57C793;
  --ink-contrast:#06140E;
  --brand:#39A876;
  --brand-strong:#57C793;
  --brand-soft:#17332A;
  --brand-contrast:#06140E;
  --orange:#EC8250;
  --orange-strong:#F4A277;
  --orange-contrast:#1E0E06;
  --shadow:rgba(0,0,0,0.5);
}

/* ============================================================
   2. RESET / BASE (commun aux 5 pages)
   ============================================================ */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;}
}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:16px;
}
p{margin:0;}
button{font-family:inherit;}
::selection{background:var(--brand);color:var(--brand-contrast);}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;}

/* .wrap : la largeur max (max-width) diffère selon le gabarit,
   voir les sections 4 et 5 ci-dessous. */
.wrap{margin-inline:auto;padding-inline:20px;}

/* ============================================================
   3. ÉLÉMENTS COMMUNS — en-tête / logo / eyebrow
   ============================================================ */
header.site{border-bottom:1px solid var(--border);}
.nav-row{display:flex;align-items:center;justify-content:space-between;height:72px;gap:1rem;}
.logo{display:flex;align-items:center;gap:0.6rem;text-decoration:none;flex:none;}
.logo-mark{
  width:36px;height:36px;border-radius:10px;
  background:var(--brand);color:var(--brand-contrast);
  display:flex;align-items:center;justify-content:center;flex:none;
}
.logo-text{display:flex;flex-direction:column;line-height:1.1;}
.logo-word{font-family:var(--font-display);font-size:1.3rem;font-weight:800;color:var(--text);}
.logo-sub{font-size:0.68rem;color:var(--text-muted);letter-spacing:0.04em;}

.eyebrow{
  font-size:0.78rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--orange-strong);display:inline-block;
}

/* ============================================================
   4. LANDING PAGE  (fagts-landing.html — scope .page-landing)
   ============================================================ */
.page-landing{line-height:1.6;}
.page-landing a{color:inherit;}
.page-landing h1,.page-landing h2,.page-landing h3,.page-landing h4{
  font-family:var(--font-display);
  font-weight:800;
  line-height:1.04;
  letter-spacing:-0.01em;
  text-wrap:balance;
  margin:0;
  color:var(--text);
}
.page-landing .wrap{max-width:1180px;}

.page-landing header.site{
  position:sticky;top:env(safe-area-inset-top,0px);z-index:50;
  background:color-mix(in srgb, var(--bg) 90%, transparent);
  backdrop-filter:blur(10px);
}

.page-landing section{scroll-margin-top:calc(96px + env(safe-area-inset-top,0px));}
.page-landing .section-pad{padding-block:clamp(3.25rem,7vw,5.5rem);}
.page-landing .section-tint-features{background:color-mix(in srgb, var(--brand) 6%, var(--bg));}
.page-landing .section-tint-audience{background:color-mix(in srgb, var(--orange) 7%, var(--bg));}
.page-landing .section-tint-steps{background:color-mix(in srgb, var(--ink) 5%, var(--bg));}

.page-landing .section-head{max-width:660px;margin-bottom:2.75rem;}
.page-landing .section-head h2{font-size:clamp(1.9rem,3.6vw,2.65rem);margin-top:0.5rem;}
.page-landing .section-head p{color:var(--text-muted);margin-top:0.9rem;font-size:1.05rem;max-width:58ch;}
.page-landing .section-head.center{margin-inline:auto;text-align:center;}
.page-landing .section-head.center p{margin-inline:auto;}

.page-landing .pill{
  display:inline-flex;align-items:center;gap:0.5em;
  background:var(--brand-soft);color:var(--brand-strong);
  border-radius:999px;padding:0.4rem 0.9rem;font-size:0.82rem;font-weight:700;
}

.page-landing .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:0.55rem;
  font-weight:700;font-size:0.95rem;
  padding:0.85rem 1.5rem;border-radius:999px;
  border:1px solid transparent;cursor:pointer;
  text-decoration:none;white-space:nowrap;
  transition:transform 0.15s ease, background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.page-landing .btn:active{transform:translateY(1px);}
.page-landing .btn-primary{background:var(--orange);color:var(--orange-contrast);}
.page-landing .btn-primary:hover{background:var(--orange-strong);box-shadow:0 10px 24px -10px var(--shadow);}
.page-landing .btn-dark{background:var(--ink);color:var(--ink-contrast);}
.page-landing .btn-dark:hover{background:var(--ink-2);box-shadow:0 10px 24px -10px var(--shadow);}
.page-landing .btn-outline{background:transparent;color:var(--text);border-color:var(--border-strong);}
.page-landing .btn-outline:hover{background:color-mix(in srgb, var(--brand) 12%, transparent);border-color:var(--brand);color:var(--brand-strong);}
.page-landing .btn-arrow{transition:transform 0.15s ease;}
.page-landing .btn:hover .btn-arrow{transform:translateX(3px);}

.page-landing .check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.65rem;}
.page-landing .check-list li{display:flex;gap:0.6rem;align-items:flex-start;font-size:0.94rem;}
.page-landing .check-list svg{width:18px;height:18px;flex:none;margin-top:2px;}

/* ---- top utility bar ---- */
.page-landing .utility-bar{background:var(--ink);color:var(--ink-contrast);font-size:0.8rem;}
.page-landing .utility-row{display:flex;align-items:center;justify-content:space-between;height:36px;gap:1rem;opacity:0.92;}
.page-landing .utility-left{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap;}
.page-landing .utility-left span{display:inline-flex;align-items:center;gap:0.4rem;}
.page-landing .utility-right a{display:inline-flex;align-items:center;gap:0.4rem;text-decoration:none;color:inherit;}
.page-landing .utility-bar svg{width:13px;height:13px;flex:none;}
@media (max-width:700px){.page-landing .utility-left span:first-child{display:none;} }
@media (max-width:480px){.page-landing .utility-bar{display:none;}}

/* ---- header nav ---- */
.page-landing nav.primary{display:flex;align-items:center;gap:2rem;}
.page-landing .nav-links{display:flex;align-items:center;gap:1.9rem;list-style:none;margin:0;padding:0;}
.page-landing .nav-links a{
  text-decoration:none;color:var(--text-muted);font-size:0.95rem;font-weight:600;
  position:relative;padding-block:0.3rem;transition:color 0.15s ease;
}
.page-landing .nav-links a::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--orange);
  transform:scaleX(0);transform-origin:left;transition:transform 0.2s ease;border-radius:2px;
}
.page-landing .nav-links a:hover{color:var(--text);}
.page-landing .nav-links a[aria-current="true"]{color:var(--text);}
.page-landing .nav-links a[aria-current="true"]::after{transform:scaleX(1);}

.page-landing .nav-actions{display:flex;align-items:center;gap:0.75rem;}
.page-landing .nav-toggle{
  display:none;background:transparent;border:1px solid var(--border-strong);border-radius:8px;
  width:42px;height:42px;align-items:center;justify-content:center;color:var(--text);
}
.page-landing .nav-toggle svg{width:20px;height:20px;}

@media (max-width:860px){
  .page-landing nav.primary .nav-links{
    position:fixed;inset:72px 0 auto 0;
    background:var(--bg);border-bottom:1px solid var(--border);
    flex-direction:column;align-items:stretch;gap:0;padding:0.5rem 20px 1.25rem;
  }
  .page-landing nav.primary .nav-links a{padding-block:0.9rem;border-bottom:1px solid var(--border);}
  .page-landing nav.primary .nav-links[hidden]{display:none;}
  .page-landing .nav-toggle{display:inline-flex;}
  .page-landing .nav-actions .btn{padding:0.7rem 1.1rem;font-size:0.86rem;}
}

/* ---- hero ---- */
.page-landing .hero{position:relative;overflow:hidden;padding-block:clamp(2.75rem,7vw,4.5rem) 0;}
.page-landing .hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr 0.95fr;gap:3.25rem;align-items:center;}
@media (max-width:980px){.page-landing .hero-grid{grid-template-columns:1fr;gap:2.5rem;}}

.page-landing .hero h1{font-size:clamp(2.4rem,5.2vw,3.7rem);margin-top:0.9rem;}
.page-landing .hero h1 em{font-style:normal;color:var(--orange-strong);}
.page-landing .hero-sub{margin-top:1.25rem;font-size:1.08rem;color:var(--text-muted);max-width:50ch;}
.page-landing .hero-cta{display:flex;flex-wrap:wrap;gap:0.9rem;margin-top:1.9rem;}

.page-landing .trust-row{display:flex;align-items:center;gap:0.8rem;margin-top:2.1rem;font-size:0.86rem;color:var(--text-muted);}
.page-landing .avatar-stack{display:flex;flex:none;}
.page-landing .avatar-stack span{
  width:30px;height:30px;border-radius:50%;border:2px solid var(--bg);
  margin-left:-9px;display:block;
}
.page-landing .avatar-stack span:first-child{margin-left:0;}

/* ---- carte carte live ---- */
.page-landing .map-card{
  border-radius:22px;overflow:hidden;
  background:var(--ink);color:var(--ink-contrast);
  box-shadow:0 30px 60px -18px var(--shadow), 0 10px 24px -10px var(--shadow);
  display:flex;flex-direction:column;
}
.page-landing .map-card-head{
  flex:none;z-index:2;
  display:flex;align-items:center;justify-content:space-between;gap:0.75rem;
  background:var(--brand);color:var(--brand-contrast);
  padding:0.7rem 1.1rem;
  font-size:0.72rem;letter-spacing:0.06em;text-transform:uppercase;font-weight:700;
}
.page-landing .live-dot{display:inline-flex;align-items:center;gap:0.5rem;}
.page-landing .live-dot::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand-contrast);animation:blink 1.6s ease-in-out infinite;flex:none;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0.35;}}
.page-landing .map-card-coords{opacity:0.75;font-weight:600;letter-spacing:0.04em;}

.page-landing .map-screenshot-wrap{position:relative;flex:1;aspect-ratio:16/11;overflow:hidden;}
.page-landing .map-screenshot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top left;display:block;}

/* ---- stats bar ---- */
.page-landing .stats-bar{background:var(--ink);color:var(--ink-contrast);margin-top:clamp(2.5rem,6vw,3.5rem);}
.page-landing .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.page-landing .stat-cell{padding:1.9rem 1rem;text-align:center;border-left:1px solid color-mix(in srgb, var(--ink-contrast) 14%, transparent);}
.page-landing .stat-cell:first-child{border-left:none;}
.page-landing .stat-num{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2rem);font-weight:800;color:var(--ink-contrast);}
.page-landing .stat-lbl{font-size:0.78rem;color:color-mix(in srgb, var(--ink-contrast) 72%, transparent);margin-top:0.3rem;text-transform:uppercase;letter-spacing:0.04em;}
@media (max-width:700px){.page-landing .stats-grid{grid-template-columns:repeat(2,1fr);} .page-landing .stat-cell:nth-child(3){border-left:none;}}

/* ---- partenaires marquee ---- */
.page-landing .partners-marquee{
  background:var(--ink);border-top:1px solid color-mix(in srgb, var(--ink-contrast) 14%, transparent);
  overflow:hidden;padding-block:1.5rem;
}
.page-landing .partners-track{display:flex;width:max-content;animation:partners-scroll 28s linear infinite;}
.page-landing .partners-track:hover{animation-play-state:paused;}
.page-landing .partners-item{
  display:flex;align-items:center;flex:none;
  padding-inline:2.4rem;font-size:0.82rem;font-weight:700;text-transform:uppercase;
  letter-spacing:0.06em;color:color-mix(in srgb, var(--ink-contrast) 55%, transparent);white-space:nowrap;
}
.page-landing .partners-item::after{content:"";width:5px;height:5px;border-radius:50%;background:color-mix(in srgb, var(--ink-contrast) 30%, transparent);margin-left:2.4rem;flex:none;}
@keyframes partners-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){.page-landing .partners-track{animation:none;}}

/* ---- fonctionnalités ---- */
.page-landing .feature-hero{
  background:var(--ink);color:var(--ink-contrast);border-radius:22px;
  padding:2.2rem;display:grid;grid-template-columns:1.1fr 0.9fr;gap:2rem;align-items:center;
  margin-bottom:1.5rem;
}
@media (max-width:820px){.page-landing .feature-hero{grid-template-columns:1fr;}}
.page-landing .feature-hero .idx{font-size:0.78rem;color:color-mix(in srgb, var(--ink-contrast) 60%, transparent);font-weight:700;letter-spacing:0.06em;}
.page-landing .feature-hero h3{font-family:var(--font-display);font-size:1.5rem;margin-top:0.4rem;}
.page-landing .feature-hero p{color:color-mix(in srgb, var(--ink-contrast) 78%, transparent);margin-top:0.8rem;max-width:46ch;}
.page-landing .feature-hero-chips{display:flex;gap:0.6rem;flex-wrap:wrap;margin-top:1.2rem;}
.page-landing .feature-hero-chips span{
  font-size:0.76rem;font-weight:700;background:color-mix(in srgb, var(--ink-contrast) 12%, transparent);
  padding:0.4rem 0.8rem;border-radius:999px;
}
.page-landing .feature-hero-visual{
  border-radius:14px;overflow:hidden;position:relative;aspect-ratio:16/10;
  background:color-mix(in srgb, var(--ink-contrast) 6%, transparent);
}
.page-landing .feature-hero-visual svg{position:absolute;inset:0;width:100%;height:100%;}

.page-landing .feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
@media (max-width:900px){.page-landing .feature-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.page-landing .feature-grid{grid-template-columns:1fr;}}
.page-landing .feature-card{
  background:var(--surface);border:1px solid var(--border);border-radius:18px;
  padding:1.6rem;display:flex;flex-direction:column;gap:0.8rem;
  box-shadow:0 18px 34px -16px var(--shadow), 0 3px 8px -3px var(--shadow);
  transition:border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.page-landing .feature-card:hover{border-color:var(--border-strong);transform:translateY(-3px);box-shadow:0 24px 42px -16px var(--shadow), 0 4px 10px -3px var(--shadow);}
.page-landing .feature-card.is-highlight{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast);box-shadow:0 18px 34px -14px color-mix(in srgb, var(--brand) 55%, var(--shadow));}
.page-landing .feature-card.is-highlight h3{color:var(--brand-contrast);font-weight:800;}
.page-landing .feature-card.is-highlight p{color:color-mix(in srgb, var(--brand-contrast) 85%, transparent);}
.page-landing .feature-idx{font-size:0.74rem;font-weight:700;color:var(--text-muted);}
.page-landing .feature-card.is-highlight .feature-idx{color:color-mix(in srgb, var(--brand-contrast) 75%, transparent);}
.page-landing .feature-icon{
  width:40px;height:40px;border-radius:10px;background:var(--brand-soft);color:var(--brand-strong);
  display:flex;align-items:center;justify-content:center;flex:none;
}
.page-landing .feature-card.is-highlight .feature-icon{background:color-mix(in srgb, var(--brand-contrast) 18%, transparent);color:var(--brand-contrast);}
.page-landing .feature-icon svg{width:21px;height:21px;}
.page-landing .feature-card h3{font-family:var(--font-body);font-size:1.02rem;font-weight:700;line-height:1.3;}
.page-landing .feature-card p{color:var(--text-muted);font-size:0.92rem;}

/* ---- pour qui ---- */
.page-landing .audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
@media (max-width:820px){.page-landing .audience-grid{grid-template-columns:1fr;}}
.page-landing .audience-card{
  border-radius:20px;padding:2rem;display:flex;flex-direction:column;gap:1.1rem;
  box-shadow:0 18px 34px -16px var(--shadow), 0 3px 8px -3px var(--shadow);
  transition:transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.page-landing .audience-card:hover{transform:translateY(-4px);box-shadow:0 26px 46px -16px var(--shadow), 0 6px 14px -4px var(--shadow);}
.page-landing .audience-card.light{background:var(--surface);border:1px solid var(--border);}
.page-landing .audience-card.light:hover{border-color:var(--border-strong);}
.page-landing .audience-card.dark{background:var(--ink);color:var(--ink-contrast);box-shadow:0 18px 34px -14px color-mix(in srgb, var(--ink) 55%, var(--shadow));}
.page-landing .audience-card.dark:hover{box-shadow:0 26px 46px -14px color-mix(in srgb, var(--ink) 55%, var(--shadow));}
.page-landing .audience-card.dark h3{color:var(--ink-contrast);font-weight:800;}
.page-landing .audience-card.dark p{color:color-mix(in srgb, var(--ink-contrast) 78%, transparent);}
.page-landing .audience-card.dark .check-list svg{color:var(--ink-contrast);}
.page-landing .audience-card.light .check-list svg{color:var(--brand-strong);}
.page-landing .audience-idx{
  display:inline-flex;width:38px;height:38px;border-radius:10px;
  align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:1rem;
}
.page-landing .audience-card.light .audience-idx{background:var(--orange);color:var(--orange-contrast);}
.page-landing .audience-card.dark .audience-idx{background:var(--brand);color:var(--brand-contrast);}
.page-landing .audience-tag{font-size:0.74rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-muted);}
.page-landing .audience-card.dark .audience-tag{color:color-mix(in srgb, var(--ink-contrast) 65%, transparent);}
.page-landing .audience-card h3{font-family:var(--font-display);font-size:1.35rem;margin-top:0.2rem;}

/* ---- comment ça marche ---- */
.page-landing .steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.75rem;}
@media (max-width:900px){.page-landing .steps-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.page-landing .steps-grid{grid-template-columns:1fr;}}
.page-landing .step-num{
  width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--ink-contrast);
  display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;
  margin-bottom:1rem;
}
.page-landing .step h3{font-size:1.02rem;font-weight:700;font-family:var(--font-body);}
.page-landing .step p{color:var(--text-muted);font-size:0.9rem;margin-top:0.5rem;}

/* ---- tarifs ---- */
.page-landing .pricing-toggle{
  display:inline-flex;border:1px solid var(--border-strong);border-radius:999px;padding:4px;gap:2px;
  margin-bottom:2.5rem;
}
.page-landing .pricing-toggle button{
  border:none;background:transparent;color:var(--text-muted);
  font-size:0.85rem;font-weight:700;padding:0.55rem 1.15rem;border-radius:999px;cursor:pointer;
  transition:background-color 0.15s ease, color 0.15s ease;
}
.page-landing .pricing-toggle button[aria-pressed="true"]{background:var(--ink);color:var(--ink-contrast);}
.page-landing .save-badge{font-size:0.72rem;color:var(--orange-strong);margin-left:0.4rem;}
.page-landing .pricing-toggle button[aria-pressed="true"] .save-badge{color:var(--brand-strong);}

.page-landing .price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.35rem;align-items:stretch;}
@media (max-width:920px){.page-landing .price-grid{grid-template-columns:1fr;max-width:440px;margin-inline:auto;}}
.page-landing .price-card{
  position:relative;background:var(--surface);border:1px solid var(--border);border-radius:20px;
  padding:2rem 1.85rem;display:flex;flex-direction:column;gap:1.4rem;
  box-shadow:0 20px 38px -16px var(--shadow), 0 4px 10px -3px var(--shadow);
  transition:transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.page-landing .price-card:hover{
  transform:translateY(-6px);
  border-color:var(--border-strong);
  box-shadow:0 30px 54px -18px var(--shadow), 0 8px 16px -4px var(--shadow);
}
.page-landing .price-card.is-featured{background:var(--brand);color:var(--brand-contrast);border-color:var(--brand);box-shadow:0 26px 52px -16px color-mix(in srgb, var(--brand) 55%, var(--shadow)), 0 6px 14px -3px var(--shadow);}
.page-landing .price-card.is-featured:hover{
  border-color:var(--brand);
  box-shadow:0 36px 64px -16px color-mix(in srgb, var(--brand) 55%, var(--shadow)), 0 10px 20px -4px var(--shadow);
}
.page-landing .price-card.is-featured .price-desc,
.page-landing .price-card.is-featured .price-period{color:color-mix(in srgb, var(--brand-contrast) 80%, transparent);}
.page-landing .price-card.is-featured .price-features svg{color:var(--brand-contrast);}
.page-landing .price-ribbon{
  position:absolute;top:-13px;left:1.85rem;background:var(--orange);color:var(--orange-contrast);
  font-size:0.68rem;font-weight:800;letter-spacing:0.05em;text-transform:uppercase;
  padding:0.32rem 0.7rem;border-radius:999px;
}
.page-landing .price-plan{font-size:0.78rem;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:var(--orange-strong);}
.page-landing .price-card.is-featured .price-plan{color:color-mix(in srgb, var(--brand-contrast) 85%, transparent);}
.page-landing .price-desc{color:var(--text-muted);font-size:0.9rem;margin-top:0.6rem;}
.page-landing .price-amount{display:flex;align-items:baseline;gap:0.4rem;margin-top:0.5rem;}
.page-landing .price-amount .num{font-family:var(--font-display);font-size:2.5rem;font-weight:800;}
.page-landing .price-amount .unit{color:var(--text-muted);font-size:0.82rem;}
.page-landing .price-card.is-featured .price-amount .unit{color:color-mix(in srgb, var(--brand-contrast) 80%, transparent);}
.page-landing .price-period{font-size:0.78rem;color:var(--text-muted);}
.page-landing .price-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.65rem;flex:1;}
.page-landing .price-features li{display:flex;gap:0.6rem;font-size:0.9rem;align-items:flex-start;}
.page-landing .price-features svg{width:17px;height:17px;flex:none;margin-top:2px;color:var(--brand-strong);}
.page-landing .price-note{padding-top:0.5rem;color:var(--text-muted);font-size:0.85rem;}
.page-landing .price-card .btn{width:100%;}
.page-landing .price-card .btn:hover{
  background:color-mix(in srgb, var(--brand) 16%, var(--surface));
  border-color:var(--brand);
  color:var(--brand-strong);
  box-shadow:0 10px 22px -10px var(--shadow);
}
.page-landing .price-card.is-featured .btn:hover{
  background:color-mix(in srgb, var(--brand-contrast) 88%, var(--brand));
  border-color:color-mix(in srgb, var(--brand-contrast) 88%, var(--brand));
  color:var(--brand-strong);
}
.page-landing .option-toggle-row{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:center;margin-bottom:2.5rem;}
.page-landing .option-toggle-row .pricing-toggle{margin-bottom:0;}
.page-landing .price-plan-note{font-size:0.78rem;color:var(--text-muted);font-style:italic;margin-top:0.2rem;}
.page-landing .price-block{margin-top:0.9rem;}
.page-landing .price-block + .price-block{padding-top:0.9rem;border-top:1px dashed var(--border);}
.page-landing .price-card.is-featured .price-block + .price-block{border-top-color:color-mix(in srgb, var(--brand-contrast) 24%, transparent);}
.page-landing .price-block-label{display:block;font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted);margin-bottom:0.3rem;}
.page-landing .price-card.is-featured .price-block-label{color:color-mix(in srgb, var(--brand-contrast) 75%, transparent);}
.page-landing .price-block--initial .price-static{font-family:var(--font-display);font-size:1.2rem;font-weight:800;}
.page-landing .price-block--main .price-amount{margin-top:0;}
.page-landing .price-block--main .price-amount .num{font-size:2.1rem;}
.page-landing .price-static--muted{font-family:var(--font-body);font-size:0.88rem;font-weight:600;color:var(--text-muted);margin-top:0.2rem;}
.page-landing .price-card.is-featured .price-static--muted{color:color-mix(in srgb, var(--brand-contrast) 80%, transparent);}

/* ---- FAQ ---- */
.page-landing .faq{background:var(--bg-soft);border-block:1px solid var(--border);}
.page-landing .faq-list{display:flex;flex-direction:column;}
.page-landing .faq-item{border-bottom:1px solid var(--border);}
.page-landing .faq-item summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:1rem;padding-block:1.25rem;font-weight:700;font-size:1.02rem;
}
.page-landing .faq-item summary::-webkit-details-marker{display:none;}
.page-landing .faq-plus{flex:none;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--text);transition:transform 0.2s ease;}
.page-landing .faq-plus svg{width:100%;height:100%;}
.page-landing details[open] .faq-plus{transform:rotate(180deg);}
.page-landing .faq-item p{color:var(--text-muted);padding-bottom:1.35rem;padding-right:2rem;font-size:0.95rem;}

/* ---- contact ---- */
.page-landing .contact-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:2.5rem;align-items:start;}
@media (max-width:920px){.page-landing .contact-grid{grid-template-columns:1fr;}}
.page-landing .contact-side{display:flex;flex-direction:column;gap:1.1rem;}

.page-landing .whatsapp-card{
  background:var(--brand-soft);border:1px solid var(--brand);color:var(--text);border-radius:18px;padding:1.5rem;
  display:flex;align-items:center;gap:1rem;
}
.page-landing .whatsapp-card svg{width:19px;height:19px;flex:none;color:var(--brand-strong);margin-top:2px;}
.page-landing .whatsapp-card strong{display:block;font-size:0.98rem;font-weight:700;}
.page-landing .whatsapp-card a{text-decoration:none;font-size:0.88rem;color:var(--text-muted);}

.page-landing .info-card{background:var(--surface);border:1px solid var(--border-strong);border-radius:18px;padding:1.5rem;display:flex;gap:0.9rem;align-items:flex-start;box-shadow:0 10px 22px -16px var(--shadow);}
.page-landing .info-card svg{width:19px;height:19px;flex:none;color:var(--brand-strong);margin-top:2px;}
.page-landing .info-label{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted);margin-bottom:0.2rem;}
.page-landing .info-card .val{font-size:0.94rem;}

.page-landing .social-row{display:flex;gap:0.6rem;}
.page-landing .social-row a{
  width:38px;height:38px;border-radius:10px;border:1px solid var(--border-strong);
  display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text);
  transition:border-color 0.15s ease, color 0.15s ease;
}
.page-landing .social-row a:hover{border-color:var(--brand);color:var(--brand-strong);}
.page-landing .social-row svg{width:17px;height:17px;}

.page-landing .form-card{background:var(--surface);border:1px solid var(--border-strong);border-radius:20px;padding:1.9rem;box-shadow:0 14px 30px -18px var(--shadow);}
.page-landing .segmented{display:inline-flex;background:var(--surface);border:1px solid var(--border-strong);border-radius:999px;padding:4px;gap:2px;margin-bottom:1.4rem;}
.page-landing .segmented button{border:none;background:transparent;color:var(--text-muted);font-size:0.85rem;font-weight:700;padding:0.5rem 1rem;border-radius:999px;cursor:pointer;transition:background-color .15s ease,color .15s ease;}
.page-landing .segmented button[aria-pressed="true"]{background:var(--ink);color:var(--ink-contrast);}

.page-landing .field{display:flex;flex-direction:column;gap:0.4rem;margin-bottom:1.05rem;}
.page-landing .field label{font-size:0.78rem;font-weight:700;color:var(--text-muted);}
.page-landing .field input,.page-landing .field textarea,.page-landing .field select{
  background:var(--bg);border:1px solid var(--border-strong);border-radius:10px;
  padding:0.75rem 0.9rem;font-family:var(--font-body);font-size:0.96rem;color:var(--text);resize:vertical;
}
.page-landing .field input:focus,.page-landing .field textarea:focus,.page-landing .field select:focus{border-color:var(--brand);}
.page-landing .field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media (max-width:520px){.page-landing .field-row{grid-template-columns:1fr;}}
.page-landing .consent{display:flex;gap:0.6rem;align-items:flex-start;font-size:0.84rem;color:var(--text-muted);margin-bottom:1.2rem;}
.page-landing .consent input{margin-top:3px;flex:none;}
.page-landing .form-note{margin-top:0.9rem;font-size:0.85rem;color:var(--text-muted);}
.page-landing .form-success{margin-top:1rem;padding:0.85rem 1rem;border-radius:10px;background:var(--brand-soft);color:var(--brand-strong);font-size:0.9rem;font-weight:700;}
.page-landing .form-success[hidden]{display:none;}

/* ---- footer (landing) ---- */
.page-landing footer{background:var(--ink);color:var(--ink-contrast);padding-block:3rem 1.75rem;}
.page-landing .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:2.25rem;}
@media (max-width:820px){.page-landing .footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.page-landing .footer-grid{grid-template-columns:1fr;}}
.page-landing footer .logo-word,.page-landing footer .logo-sub{color:var(--ink-contrast);}
.page-landing footer .logo-sub{opacity:0.65;}
.page-landing .footer-tagline{margin-top:0.9rem;font-size:0.88rem;color:color-mix(in srgb, var(--ink-contrast) 75%, transparent);max-width:34ch;}
.page-landing footer .social-row{margin-top:1.1rem;}
.page-landing footer .social-row a{border-color:color-mix(in srgb, var(--ink-contrast) 25%, transparent);color:var(--ink-contrast);}
.page-landing footer .social-row a:hover{border-color:var(--brand-strong);color:var(--brand-strong);}

.page-landing .store-badges{display:flex;flex-direction:column;gap:0.6rem;margin-top:1.4rem;}
.page-landing .store-badge{
  display:inline-flex;align-items:center;gap:0.65rem;width:fit-content;
  border:1px solid color-mix(in srgb, var(--ink-contrast) 25%, transparent);border-radius:10px;
  padding:0.5rem 0.9rem;color:var(--ink-contrast);text-decoration:none;
  transition:border-color .15s ease, background-color .15s ease;
}
.page-landing .store-badge:hover{border-color:var(--brand-strong);background:color-mix(in srgb, var(--ink-contrast) 8%, transparent);}
.page-landing .store-badge svg{width:20px;height:20px;flex:none;}
.page-landing .store-badge .txt{display:flex;flex-direction:column;line-height:1.2;}
.page-landing .store-badge .txt small{font-size:0.62rem;opacity:0.75;text-transform:uppercase;letter-spacing:0.04em;}
.page-landing .store-badge .txt strong{font-size:0.86rem;font-weight:700;}
.page-landing .footer-col h4{font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:color-mix(in srgb, var(--ink-contrast) 60%, transparent);margin-bottom:1rem;}
.page-landing .footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.7rem;}
.page-landing .footer-col a{text-decoration:none;font-size:0.9rem;color:color-mix(in srgb, var(--ink-contrast) 85%, transparent);}
.page-landing .footer-col a:hover{color:var(--brand-strong);}
.page-landing .footer-col li.static{font-size:0.9rem;color:color-mix(in srgb, var(--ink-contrast) 85%, transparent);}
.page-landing .footer-bottom{
  margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid color-mix(in srgb, var(--ink-contrast) 14%, transparent);
  font-size:0.82rem;color:color-mix(in srgb, var(--ink-contrast) 60%, transparent);
  display:flex;flex-wrap:wrap;gap:0.75rem 1.5rem;align-items:center;justify-content:center;text-align:center;
}
.page-landing .footer-bottom a{color:inherit;text-decoration:none;}
.page-landing .footer-bottom a:hover{color:var(--ink-contrast);text-decoration:underline;text-underline-offset:2px;}

/* ---- bouton whatsapp flottant ---- */
.page-landing .float-whatsapp{
  position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;
  width:54px;height:54px;border-radius:50%;background:var(--brand);color:var(--brand-contrast);
  display:flex;align-items:center;justify-content:center;text-decoration:none;
  box-shadow:0 14px 30px -10px var(--shadow);
  transition:transform 0.15s ease;
}
.page-landing .float-whatsapp::before{
  content:"";position:absolute;inset:0;border-radius:50%;
  background:var(--brand);z-index:-1;
  animation:whatsapp-radar 2.2s cubic-bezier(0.2,0.6,0.4,1) infinite;
}
@keyframes whatsapp-radar{
  0%{transform:scale(1);opacity:0.55;}
  100%{transform:scale(2.1);opacity:0;}
}
.page-landing .float-whatsapp:hover{transform:scale(1.06);}
.page-landing .float-whatsapp svg{width:26px;height:26px;}

/* ============================================================
   5. PAGES LÉGALES
   (fagts-privacy.html, fagts-client-privacy.html, fagts-terms.html,
   fagts-sla.html — scope .page-legal)
   ============================================================ */
.page-legal{line-height:1.65;}
.page-legal a{color:var(--brand-strong);}
.page-legal h1,.page-legal h2{
  font-family:var(--font-display);
  font-weight:800;
  line-height:1.15;
  margin:0;
  color:var(--text);
}
.page-legal .wrap{max-width:780px;}
.page-legal .eyebrow{margin-bottom:0.6rem;}

.page-legal .back-link{font-size:0.9rem;font-weight:700;color:var(--text-muted);text-decoration:none;display:inline-flex;align-items:center;gap:0.4rem;}
.page-legal .back-link:hover{color:var(--brand-strong);}
.page-legal .back-link svg{width:16px;height:16px;}

.page-legal main{padding-block:clamp(2.5rem,6vw,4rem) 4rem;}
.page-legal .page-head{margin-bottom:2.25rem;}
.page-legal h1{font-size:clamp(1.9rem,4vw,2.5rem);}
.page-legal .page-sub{color:var(--text-muted);margin-top:0.85rem;font-size:1rem;}

.page-legal .lang-toggle{display:inline-flex;border:1px solid var(--border-strong);background:var(--surface);border-radius:999px;padding:4px;gap:2px;margin-top:1.5rem;}
.page-legal .lang-toggle button{
  border:none;background:transparent;color:var(--text-muted);font-size:0.85rem;font-weight:700;
  padding:0.55rem 1.15rem;border-radius:999px;cursor:pointer;transition:background-color .15s ease,color .15s ease;
  font-family:var(--font-body);
}
.page-legal .lang-toggle button[aria-pressed="true"]{background:var(--ink);color:var(--ink-contrast);}

.page-legal .policy{margin-top:2.25rem;display:flex;flex-direction:column;gap:1.75rem;}
.page-legal .policy[hidden]{display:none;}
.page-legal .policy h2{font-size:1.15rem;margin-bottom:0.6rem;}
.page-legal .policy h3{font-size:0.98rem;font-weight:700;color:var(--text);margin:0 0 0.5rem;}
.page-legal .policy section > h3:not(:first-child){margin-top:1.25rem;}
.page-legal .policy p,.page-legal .policy li{color:var(--text-muted);font-size:0.98rem;}
.page-legal .policy p + p{margin-top:0.9rem;}
.page-legal .policy h3 + p{margin-top:0;}
.page-legal .policy ul{margin:0.6rem 0 0;padding-left:1.2rem;display:flex;flex-direction:column;gap:0.5rem;}
.page-legal .policy section{border-top:1px solid var(--border);padding-top:1.5rem;}
.page-legal .policy section:first-of-type{border-top:none;padding-top:0;}
.page-legal .policy section.intro{display:flex;flex-direction:column;gap:1rem;}
.page-legal .policy strong{color:var(--text);}
.page-legal .source-note{margin-top:2.5rem;padding:1rem 1.2rem;background:var(--bg-soft);border-radius:12px;font-size:0.85rem;color:var(--text-muted);}
.page-legal .formula{background:var(--bg-soft);border-radius:12px;padding:1rem 1.2rem;font-size:0.95rem;color:var(--text);font-weight:600;}

.page-legal footer.simple{border-top:1px solid var(--border);padding-block:1.75rem;margin-top:2rem;}
.page-legal .footer-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;font-size:0.85rem;color:var(--text-muted);}
.page-legal .footer-row a{color:var(--text-muted);text-decoration:none;}
.page-legal .footer-row a:hover{color:var(--brand-strong);}
