@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700&display=swap');

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
:root {
   --primary:#244276;      /* bleu logo */   
  --white:#FFFFFF;
  --secondary:#f7bb3f; --secondary-d:#8C3A10; --secondary-l:#F5DDD0; --secondary-m:#E06830;/* orange logo */
  --gold:#D4A843; --gold-l:#FDF3D8;
  --sage:#375A23; --sage-l:#D5EEC8;
  --ink:#1A1814; --ink2:#2D2A26;
  --cream:#F5F7FA; --warm:#F0EBE3;
  --mid:#9C9488; --lg:#E8E4DC;
  --scroll-track:rgba(6,10,18,.82);
  --scroll-track-border:rgba(212,168,67,.12);
  --scroll-thumb-start:#F5F7FA;
  --scroll-thumb-mid:#29508d;
  --scroll-thumb-end:#d4a843;
  --scroll-thumb-hover-start:#22457d;
  --scroll-thumb-hover-end:#f1c766;
  --font:'Segoe UI','Calibri','Helvetica',sans-serif;
  --serif:'Playfair Display',serif;
}
html { scroll-behavior:smooth; }
body { font-family:var(--font); background:var(--cream); color:var(--ink); overflow-x:hidden; line-height:1.6;}

html {
  scrollbar-width:thin;
  scrollbar-color:var(--scroll-thumb-mid) var(--scroll-track);
}

body::-webkit-scrollbar {
  width:7px;
}

body::-webkit-scrollbar-track {
  background:linear-gradient(180deg, rgba(4,8,14,.92), var(--scroll-track));
  border-left:1px solid var(--scroll-track-border);
}

body::-webkit-scrollbar-thumb {
  background:linear-gradient(180deg, var(--scroll-thumb-start) 0%, var(--scroll-thumb-mid) 52%, var(--scroll-thumb-end) 100%);
  border-radius:999px;
  border:2px solid rgba(5,8,14,.88);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08), 0 0 0 rgba(212,168,67,0);
  transition:background .28s ease, box-shadow .28s ease, border-color .28s ease;
}

body::-webkit-scrollbar-thumb:hover {
  background:linear-gradient(180deg, var(--scroll-thumb-hover-start) 0%, #3a68ab 50%, var(--scroll-thumb-hover-end) 100%);
  border-color:rgba(10,14,24,.94);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14), 0 0 14px rgba(212,168,67,.28);
}

body::-webkit-scrollbar-thumb:active {
  background:linear-gradient(180deg, #2a4f87 0%, #4f7fc6 48%, #f3cf7d 100%);
}

body::-webkit-scrollbar-corner {
  background:transparent;
}

/* ═══ PAGES ═══ */
.page { display:none; min-height:100vh; }
.page.active { display:block; animation:fadeInPage .35s ease; }
@keyframes fadeInPage { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

/* ═══ NAV ═══ */
nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  height:90px; display:flex; align-items:center; justify-content:space-between;
  padding:0 52px;
  background:var(--primary);
  border-bottom:1px solid rgba(212,168,67,.22);
  box-shadow:0 10px 30px rgba(2,6,23,.18);
  transition:background .3s ease, box-shadow .3s ease, border-color .3s ease, transform .3s ease;
}
nav.scrolled {
  background:var(--primary);
  border-bottom-color:rgba(212,168,67,.34);
  box-shadow:0 18px 44px rgba(2,6,23,.36);
}
.n-logo {
  cursor:pointer;
  display:flex;
  align-items:center;
  transform-origin:left center;
  transition:transform .3s ease, filter .3s ease;
}
.n-logo:hover {
  transform:scale(1.04);
  filter:drop-shadow(0 10px 24px rgba(212,168,67,.18));
}
.n-logo img { height:70px ; transition:transform .3s ease, filter .3s ease; }
.n-links { display:flex; gap:34px; align-items:center; }
.n-links a {
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:var(--font); font-size:15px; font-weight:600;
  letter-spacing:.01em;
  color:var(--white); text-decoration:none;
  cursor:pointer;
  transition:color .3s ease, text-shadow .3s ease, transform .3s ease;
  padding:10px 0;
  border-bottom:none;
}
.n-links a::before {
  content:'';
  position:absolute;
  left:50%;
  bottom:2px;
  width:100%;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(212,168,67,0), rgba(212,168,67,.95), rgba(247,187,63,0));
  transform:translateX(-50%) scaleX(0);
  transform-origin:center;
  opacity:0;
  transition:transform .3s ease, opacity .3s ease;
}
.n-links a:hover,
.n-links a.active {
  color:var(--white);
  
}
.n-links a:hover::before,
.n-links a.active::before {
  transform:translateX(-50%) scaleX(1);
  opacity:1;
}
.n-links a.active {
  color:var(--secondary);
}
.n-cta {
  padding:10px 16px !important;
  border-radius:999px;
  border:1px solid rgba(212,168,67,.24);
  background:rgba(255,255,255,.04);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.n-cta:hover,
.n-cta.active {
  border-color:rgba(212,168,67,.45);
  background:rgba(255,255,255,.08);
}
#nav-estimateur {
  padding:10px 18px;
  border-radius:30px;
  background:linear-gradient(135deg, #f7d27c, #d4a843 55%, #b38322);
  border:1px solid rgba(255,240,205,.45);
  color:#1b160c;
  font-weight:700;
  box-shadow:0 10px 24px rgba(212,168,67,.28), inset 0 1px 0 rgba(255,255,255,.35);

.problem-card__top {
  display:flex;
  flex:1;
  align-items:flex-start;
  gap:16px;
}

.problem-card__body {
  flex:1;
  min-width:0;
}
  transition:transform .3s ease, box-shadow .3s ease, filter .3s ease, color .3s ease;
}
#nav-estimateur::before {
  display:none;
}
#nav-estimateur:hover,
#nav-estimateur.active {
  color:#120f08;
  transform:translateY(-1px) scale(1.05);
  text-shadow:none;
  box-shadow:0 16px 34px rgba(212,168,67,.42), 0 0 22px rgba(201,166,70,.35);
}
#nav-estimateur.active {
  filter:saturate(1.05);
}

/* ═══ BUTTONS ═══ */
.btn { display:inline-flex; align-items:center; gap:8px; padding:14px 32px; border-radius:50px; font-size:15px; font-weight:700; font-family:var(--font); text-decoration:none; border:none; cursor:pointer; transition:all .25s; }
.btn-primary { background:var(--secondary); color:var(--white); box-shadow:0 8px 24px rgba(200,86,26,.3); }
.btn-primary:hover { background:var(--secondary-d); transform:translateY(-2px); box-shadow:0 12px 32px rgba(200,86,26,.38); }
.btn-white { background:var(--white); color:var(--secondary); font-weight:800; box-shadow:0 8px 24px rgba(0,0,0,.12); }
.btn-white:hover { background:var(--gold-l); transform:translateY(-2px); }
.btn-ghost { background:transparent; color:var(--white); border:2px solid rgba(255,255,255,.45); }
.btn-ghost:hover { background:rgba(255,255,255,.1); border-color:var(--white); }
.btn-dark { background:var(--ink); color:var(--white); }
.btn-dark:hover { background:#2D2A26; transform:translateY(-2px); }

/* ═══ SECTION LABELS ═══ */
.s-label { font-family:var(--font); font-size:14px; font-weight:800; letter-spacing:3px; text-transform:uppercase; color:var(--secondary); margin-bottom:14px; display:flex; align-items:center; gap:10px; }
.s-label::before { content:''; width:22px; height:2px; background:var(--secondary); flex-shrink:0; }
.s-label.center { justify-content:center; }
.s-label.center::before,.s-label.center::after { content:''; width:22px; height:2px; background:var(--secondary); }
.s-label.white { color:rgba(255,255,255,.7); }
.s-label.white::before,.s-label.white::after { background:rgba(255,255,255,.4); }

/* ═══ RUST HERO BASE ═══ */
.rust-hero {
  background:var(--ink);
  padding:14% 52px 100px;
  position:relative; overflow:hidden;
}
#page-home .rust-hero {
  background-color:var(--ink);
  background-image:url('../images/background.jpg');
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
}
.rust-hero::before {
  content:''; position:absolute; inset:0;
}
#page-home .rust-hero::before {
  background:
    linear-gradient(90deg, rgba(16,22,34,.88) 0%, rgba(16,22,34,.74) 38%, rgba(16,22,34,.48) 62%, rgba(16,22,34,.64) 100%),
    linear-gradient(180deg, rgba(12,18,28,.18) 0%, rgba(12,18,28,.44) 100%);
}
.rust-hero::after {
  content:''; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:64px 64px;
}
.rust-hero-inner { position:relative; z-index:2; max-width:1160px; margin:0 auto; }

/* ═══ SECTIONS ═══ */
.section { padding:50px 50px; }
.section-inner { max-width:1160px; margin:0 auto; }
.section h2 { font-family:var(--serif); font-size:clamp(30px,3.2vw,46px); font-weight:900; line-height:1.1; margin-bottom:12px; }
.section h2 em { color:var(--secondary); font-style:italic; }
.section .sub { font-family:var(--font); font-size:17px; color:var(--mid); margin-bottom:52px; max-width:560px; }
.section .sub.c { color:var(--ink);text-align:center; margin-left:auto; margin-right:auto; }
.section h2.c { text-align:center; }

/* ═══ CARDS ═══ */
.card {
  background:var(--white); border:1px solid rgba(200,86,26,.1); border-radius:20px;
  padding:28px; transition:transform .3s, box-shadow .3s; position:relative; overflow:hidden;
}
.card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--secondary); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.card:hover { transform:translateY(-5px); box-shadow:0 14px 40px rgba(200,86,26,.12); }
.card:hover::before { transform:scaleX(1); }

/* ═══ TRUST BAR ═══ */
.trust-bar {
  background:var(--primary);
  padding:10px 18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  box-shadow:0 14px 34px rgba(3,8,18,.28), inset 0 1px 0 var(--primary);
  backdrop-filter:blur(16px) saturate(135%);
  -webkit-backdrop-filter:blur(16px) saturate(135%);
}
.trust-bar::before {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(212,175,55,.08), transparent 18%, transparent 82%, rgba(212,175,55,.08));
  pointer-events:none;
}
.trust-track {
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:18px;
  animation:marquee 42s linear infinite;
  white-space:nowrap;
}
.trust-item {
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:5px 0;
  font-family:var(--font);
  font-size:12px;
  font-weight:600;
  letter-spacing:.02em;
  color:rgba(255,255,255,.9);
  flex-shrink:0;
  transition:color .28s ease, text-shadow .28s ease, transform .28s ease;
}
.trust-item:not(:last-child)::after {
  content:'';
  width:1px;
  height:15px;
  margin-left:10px;
  background:linear-gradient(180deg, rgba(212,175,55,0), rgba(212,175,55,.45), rgba(212,175,55,0));
}
.trust-item:hover {
  color:rgba(255,255,255,.92);
  text-shadow:0 0 10px rgba(212,175,55,.16);
  transform:translateY(-1px);
}
.trust-item span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  border-radius:999px;
  color:#d4af37;
  font-size:12px;
  background:radial-gradient(circle at 30% 30%, rgba(212,175,55,.18), rgba(212,175,55,.04) 72%);
  box-shadow:inset 0 0 0 1px rgba(212,175,55,.18), 0 0 12px rgba(212,175,55,.08);
  transition:color .28s ease, box-shadow .28s ease, background .28s ease;
}
.trust-item:hover span {
  color:#f1d27a;
  background:radial-gradient(circle at 30% 30%, rgba(212,175,55,.24), rgba(212,175,55,.06) 72%);
  box-shadow:inset 0 0 0 1px rgba(212,175,55,.26), 0 0 16px rgba(212,175,55,.18);
}
@keyframes marquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ═══ STATS ═══ */
.stats-band {
  position:relative;
  padding:40px 52px 40px;
  background:var(--white);
  overflow:hidden;
}
.stats-band::before {
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.12), rgba(255,255,255,0) 18%, rgba(255,255,255,0) 82%, rgba(36,66,118,.1)),
    linear-gradient(180deg, rgba(255,255,255,.08), transparent 34%);
  pointer-events:none;
}
.stats-bar {
  position:relative;
  z-index:2;
  max-width:1160px;
  margin:0 auto;
  padding:10px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:0;
  background:linear-gradient(180deg, var(--secondary) 0%, var(--secondary) 100%);
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  box-shadow:0 22px 48px rgba(72,45,5,.18);
  overflow:hidden;
}
.stat-b {
  position:relative;
  min-height:126px;
  padding:15px 18px 16px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  text-align:left;
  background:transparent;
  color:var(--white);
  border-right:1px solid rgba(255,255,255,.1);
  border-radius:0;
  box-shadow:none;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}
.stat-b:last-child {
  border-right:none;
}
.stat-b::before {
  content:'';
  position:absolute;
  left:18px;
  top:0;
  width:34px;
  height:2px;
  background:linear-gradient(90deg, rgba(247,187,63,.95), rgba(247,187,63,.2));
  pointer-events:none;
}
.stat-b::after {
  position:relative;
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:10px 0 10px;
  padding:0;
  border-radius:0;
  background:none;
  color:rgba(255,255,255,.58);
  font-family:var(--font);
  font-size:10px;
  font-weight:800;
  letter-spacing:1.8px;
  text-transform:uppercase;
}
.stat-b:nth-child(1)::after { content:'Economies'; }
.stat-b:nth-child(2)::after { content:'Reactivite'; }
.stat-b:nth-child(3)::after { content:'Fiabilite'; }
.stat-b:nth-child(4)::after { content:'Transparence'; }
.stat-b:hover {
  transform:none;
  background:rgba(255,255,255,.03);
}
.stat-n {
  position:relative;
  font-family:var(--serif);
  font-size:clamp(28px, 2.8vw, 36px);
  font-weight:900;
  color:#ffffff;
  line-height:1;
  letter-spacing:-.03em;
  text-shadow:none;
}
.stat-l {
  position:relative;
  margin-top:6px;
  max-width:20ch;
  font-family:var(--font);
  font-size:11px;
  font-weight:500;
  color:rgba(255,255,255,.76);
  line-height:1.45;
}

/* ═══ TEAM ═══ */
.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.team-card { background:var(--white); border-radius:20px; overflow:hidden; box-shadow:0 4px 18px rgba(26,24,20,.06); transition:transform .3s; }
.team-card:hover { transform:translateY(-5px); }
.team-photo { height:170px; display:flex; align-items:center; justify-content:center; font-size:60px; }
.tc1 .team-photo{background:linear-gradient(135deg,var(--ink),#3A3735)}
.tc2 .team-photo{background:linear-gradient(135deg,var(--secondary-d),var(--secondary))}
.tc3 .team-photo{background:linear-gradient(135deg,var(--sage),#4A7A30)}
.tc4 .team-photo{background:linear-gradient(135deg,#5A4A2A,var(--gold))}
.tc5 .team-photo{background:linear-gradient(135deg,#2A3A5A,#3A5A8A)}
.tc6 .team-photo{background:linear-gradient(135deg,#4A2A3A,#8A3A5A)}
.team-info { padding:20px; }
.team-name { font-family:var(--font); font-size:16px; font-weight:700; color:var(--ink); margin-bottom:3px; }
.team-role { font-family:var(--font); font-size:13px; color:var(--secondary); font-weight:700; margin-bottom:8px; }
.team-bio { font-family:var(--font); font-size:13px; color:var(--mid); line-height:1.55; }

/* ═══ PRICING ═══ */
.price-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; align-items:start; }
.price-card { background:var(--white); border-radius:22px; overflow:hidden; box-shadow:0 4px 18px rgba(26,24,20,.06); transition:transform .3s; }
.price-card:hover { transform:translateY(-4px); }
.price-card.feat { transform:scale(1.04); box-shadow:0 16px 48px rgba(200,86,26,.22); border:2px solid var(--sage); }
.price-card.feat:hover { transform:scale(1.04) translateY(-4px); }
.price-tag { background:var(--sage); color:var(--white); text-align:center; padding:7px; font-family:var(--font); font-size:11px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; }
.price-head { padding:24px 24px 18px; }
.price-ico { font-size:32px; margin-bottom:10px; }
.price-name { font-family:var(--font); font-size:16px; font-weight:700; color:var(--ink); margin-bottom:5px; }
.price-amount { font-family:var(--serif); font-size:34px; font-weight:900; color:var(--secondary); line-height:1; }
.price-unit { font-family:var(--font); font-size:13px; color:var(--mid); margin-top:3px; }
.price-body { padding:0 24px 24px; }
.price-body hr { border:none; border-top:1px solid var(--warm); margin-bottom:18px; }
.price-line { display:flex; align-items:flex-start; gap:8px; margin-bottom:10px; }
.price-line .tick { color:var(--sage); font-size:14px; flex-shrink:0; margin-top:2px; }
.price-line span { font-family:var(--font); font-size:13px; color:var(--ink2); line-height:1.5; }

/* ═══ TESTI ═══ */
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:52px; }
.testi { background:var(--white); border-radius:18px; padding:26px; box-shadow:0 4px 18px rgba(26,24,20,.06); transition:transform .3s; }
.testi:hover { transform:translateY(-4px); }
.t-stars { color:var(--gold); font-size:14px; margin-bottom:12px; letter-spacing:2px; }
.t-text { font-family:var(--font); font-size:14px; color:var(--ink2); line-height:1.72; font-style:italic; margin-bottom:18px; }
.t-author { display:flex; align-items:center; gap:10px; }
.t-av { width:40px; height:40px; border-radius:50%; background:var(--secondary-l); display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:700; color:var(--secondary); font-family:var(--serif); }
.t-name { font-family:var(--font); font-size:13px; font-weight:700; color:var(--ink); }
.t-city { font-family:var(--font); font-size:12px; color:var(--mid); }

/* ═══ CTA SECTION ═══ */
.cta-section { background:var(--secondary); padding:88px 52px; text-align:center; position:relative; overflow:hidden; }
.cta-section::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,var(--secondary),var(--secondary),var(--secondary)); }
.cta-section::after { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:60px 60px; }
.cta-inner { position:relative; z-index:1; max-width:640px; margin:0 auto; }
.cta-inner h2 { font-family:var(--serif); font-size:clamp(32px,3.8vw,50px); font-weight:900; color:var(--white); line-height:1.1; margin-bottom:16px; }
.cta-inner h2 em { color:var(--primary); font-style:italic; }
.cta-inner p { font-family:var(--font); font-size:17px; color:rgba(255,255,255,.75); margin-bottom:40px; }
.cta-btns { display:flex; justify-content:center; gap:14px; flex-wrap:wrap; }

/* ═══ FOOTER ═══ */
footer {
  position:relative;
  overflow:hidden;
  background:var(--primary);
  padding:52px 52px 28px;
  border-top:1px solid rgba(212,168,67,.18);
}
footer::before {
  content:'';
  position:absolute;
  inset:0;
  background:var(--primary);
  pointer-events:none;
}
.footer-grid {
  position:relative;
  z-index:1;
  max-width:1160px;
  margin:0 auto 20px;
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:28px;
}
.footer-grid > div {
  position:relative;
  padding:18px 18px 18px;
  border-radius:24px;
  background:var(--primary);
  border:1px solid rgba(212,168,67,.14);
  box-shadow:0 10px 10px rgba(2,6,23,.22), inset 0 1px 0 var(--primary);
  transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease, background .3s ease;
}
.footer-grid > div::before {
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:transparent;
  pointer-events:none;
}
.footer-grid > div:hover {
  transform:translateY(-4px);
  border-color:rgba(212,168,67,.3);
  background:rgba(255,255,255,.07);
  box-shadow:0 18px 18px rgba(2,6,23,.3), 0 0 22px rgba(212,168,67,.08);
}
.f-logo,
.f-desc,
.footer-col,
.footer-bottom {
  position:relative;
  z-index:1;
}
.f-logo img {
  height:80px;
  opacity:.88;
  margin-bottom:14px;
  display:block;
  transition:transform .3s ease, filter .3s ease;
}
.f-logo:hover img {
  transform:scale(1.03);
  filter:drop-shadow(0 10px 22px rgba(212,168,67,.18));
}
.f-desc {
  font-family:var(--font);
  font-size:14px;
  color:rgba(255,255,255,.76);
  line-height:1.8;
  max-width:320px;
}
.footer-col h4 {
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--font);
  font-size:13px;
  font-weight:800;
  letter-spacing:2.4px;
  text-transform:uppercase;
  color:var(--secondary);
  margin-bottom:22px;
  padding-bottom:12px;
}
.footer-col h4::before {
  content:'';
  width:22px;
  height:1px;
  background:linear-gradient(90deg, rgba(212,168,67,.18), rgba(212,168,67,.9));
}
.footer-col h4::after {
  content:'';
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:1px;
  background:linear-gradient(90deg, rgba(212,168,67,.95), rgba(212,168,67,0));
}
.footer-col a {
  position:relative;
  display:block;
  width:fit-content;
  font-family:var(--font);
  font-size:14px;
  font-weight:500;
  color:rgba(255,255,255,.82);
  text-decoration:none;
  margin-bottom:12px;
  cursor:pointer;
  transition:color .25s ease, transform .25s ease, text-shadow .25s ease;
}
.footer-col a::after {
  content:'';
  position:absolute;
  left:0;
  bottom:-3px;
  width:100%;
  height:1px;
  background:linear-gradient(90deg, rgba(212,168,67,.95), rgba(212,168,67,0));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .3s ease;
}
.footer-col a:hover {
  color:#ffffff;
  text-shadow:0 0 8px rgba(201,166,70,.42);
  transform:translateX(3px);
}
.footer-col a:hover::after {
  transform:scaleX(1);
}

.footer-bottom {
  max-width:1160px;
  margin:0 auto;
  padding-top:20px;
  border-top:1px solid rgba(212,168,67,.14);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-family:var(--font);
  font-size:12px;
  color:rgba(255,255,255,.64);
}

.footer-bottom a {
  color:rgba(255,255,255,.8);
  text-decoration:none;
  transition:color .25s ease, text-shadow .25s ease;
}
.footer-bottom a:hover {
  color:#f5d68b;
  text-shadow:0 0 8px rgba(201,166,70,.32);
}

/* ═══ PAGE HEADER ═══ */
.page-header { background:var(--ink); padding:180px 52px 100px; position:relative; overflow:hidden; }
.page-header::before {
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(16,22,34,.88) 0%, rgba(16,22,34,.74) 38%, rgba(16,22,34,.48) 62%, rgba(16,22,34,.64) 100%),
    linear-gradient(180deg, rgba(12,18,28,.18) 0%, rgba(12,18,28,.44) 100%),
    url('../images/backgroundheader.jpg') center center / cover no-repeat;
}
.page-header::after { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:60px 60px; }
.page-header-inner { position:relative; z-index:2; max-width:1160px; margin:0 auto; }
.page-header h1 { font-family:var(--serif); font-size:clamp(34px,3.8vw,52px); font-weight:900; color:var(--white); line-height:1.1; margin-bottom:14px; }
.page-header h1 em { color:var(--secondary); font-style:italic; }
.page-header p { font-family:var(--font); font-size:18px; color:rgba(255,255,255,.75); max-width:560px; }
.page-header.page-header-partners { padding-bottom:132px; }
.page-header.page-header-partners::before {
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0)),
    linear-gradient(90deg, rgba(16,22,34,.84) 0%, rgba(16,22,34,.70) 36%, rgba(16,22,34,.44) 64%, rgba(16,22,34,.60) 100%),
    url('../images/backgroundheader.jpg') center center / cover no-repeat;
}

/* ═══ APP PAGE - PHONE MOCKUPS ═══ */
.phone-mockup {
  width:240px; height:480px; border-radius:36px;
  background:var(--ink); position:relative; flex-shrink:0;
  box-shadow:0 20px 60px rgba(26,24,20,.35), 0 0 0 2px rgba(255,255,255,.08);
  overflow:hidden;
}
.phone-mockup::before {
  content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:100px; height:24px; background:var(--ink); border-radius:0 0 16px 16px;
  z-index:10;
}
.phone-screen { position:absolute; inset:0; overflow:hidden; }

/* Screen 1: Home Dashboard */
.screen-home { background:var(--cream); }
.sh-topbar { background:var(--primary); padding:32px 16px 16px; }
.sh-topbar-logo { font-family:var(--serif); font-size:16px; font-weight:900; color:var(--white); margin-bottom:2px; }
.sh-topbar-sub { font-family:var(--font); font-size:10px; color:rgba(255,255,255,.7); }
.sh-hero-card { background:var(--white); margin:10px; border-radius:14px; padding:14px; box-shadow:0 4px 16px rgba(26,24,20,.08); }
.sh-proj-label { font-family:var(--font); font-size:9px; font-weight:800; color:var(--secondary); letter-spacing:1px; text-transform:uppercase; margin-bottom:4px; }
.sh-proj-name { font-family:var(--font); font-size:13px; font-weight:700; color:var(--ink); margin-bottom:8px; }
.sh-pb { height:6px; background:var(--lg); border-radius:3px; margin-bottom:3px; }
.sh-pb-fill { height:100%; background:linear-gradient(90deg,var(--secondary),var(--gold)); border-radius:3px; }
.sh-pb-label { font-family:var(--font); font-size:9px; color:var(--mid); display:flex; justify-content:space-between; }
.sh-actions { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:10px; }
.sh-act-btn { background:var(--white); border-radius:10px; padding:10px 8px; text-align:center; box-shadow:0 2px 8px rgba(26,24,20,.06); }
.sh-act-ico { font-size:16px; margin-bottom:3px; }
.sh-act-lbl { font-family:var(--font); font-size:9px; font-weight:700; color:var(--ink); }
.sh-rapport { background:var(--white); margin:10px; border-radius:12px; padding:12px; }
.sh-rapport-title { font-family:var(--font); font-size:10px; font-weight:700; color:var(--ink); margin-bottom:8px; }
.sh-rapport-item { display:flex; gap:8px; align-items:center; padding:6px 0; border-bottom:1px solid var(--warm); }
.sh-rapport-item:last-child { border:none; }
.sh-r-ico { width:24px; height:24px; background:var(--secondary-l); border-radius:6px; display:flex; align-items:center; justify-content:center; font-size:10px; flex-shrink:0; }
.sh-r-name { font-family:var(--font); font-size:9px; font-weight:700; color:var(--ink); }
.sh-r-date { font-family:var(--font); font-size:8px; color:var(--mid); }
.sh-r-badge { margin-left:auto; font-family:var(--font); font-size:8px; font-weight:700; padding:2px 6px; border-radius:50px; background:var(--sage-l); color:var(--sage); }

/* Screen 2: Estimateur */
.screen-estim { background:var(--cream); }
.se-topbar { background:var(--primary); padding:32px 16px 16px; }
.se-topbar-t { font-family:var(--font); font-size:14px; font-weight:700; color:var(--white); }
.se-topbar-s { font-family:var(--font); font-size:9px; color:rgba(255,255,255,.6); margin-top:2px; }
.se-progress { display:flex; gap:3px; margin:12px 16px 0; }
.se-prog-dot { flex:1; height:3px; border-radius:2px; }
.se-prog-done { background:rgba(255,255,255,.5); }
.se-prog-active { background:var(--white); }
.se-prog-todo { background:rgba(255,255,255,.15); }
.se-card { background:var(--white); margin:10px; border-radius:14px; padding:14px; }
.se-q { font-family:var(--font); font-size:12px; font-weight:700; color:var(--ink); margin-bottom:10px; }
.se-opts { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
.se-opt { background:var(--warm); border-radius:8px; padding:8px 6px; text-align:center; }
.se-opt.sel { background:var(--secondary); }
.se-opt .ico { font-size:14px; display:block; margin-bottom:2px; }
.se-opt .lbl { font-family:var(--font); font-size:9px; font-weight:700; color:var(--ink); }
.se-opt.sel .lbl { color:var(--white); }
.se-result { background:var(--ink); margin:10px; border-radius:14px; padding:14px; }
.se-res-label { font-family:var(--font); font-size:9px; color:var(--cream); letter-spacing:1.5px; text-transform:uppercase; margin-bottom:4px; text-align:center; }
.se-res-amount { font-family:var(--serif); font-size:24px; font-weight:900; color:var(--cream); text-align:center; line-height:1; margin-bottom:3px; }
.se-res-range { font-family:var(--font); font-size:9px; color:var(--cream); text-align:center; margin-bottom:10px; }
.se-res-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:4px; }
.se-res-item { background:rgba(255,255,255,.06); border-radius:6px; padding:6px; text-align:center; }
.se-res-n { font-family:var(--font); font-size:9px; font-weight:800; color:var(--cream); }
.se-res-l { font-family:var(--font); font-size:7px; color:var(--cream); margin-top:1px; }

/* Screen 3: Rapports */
.screen-rapport { background:var(--cream); }
.sr-topbar { background:var(--primary); padding:32px 16px 16px; }
.sr-topbar-t { font-family:var(--font); font-size:14px; font-weight:700; color:var(--white); }
.sr-photo-grid { display:grid; grid-template-columns:1fr 1fr; gap:5px; margin:10px; }
.sr-photo { border-radius:10px; height:80px; display:flex; align-items:center; justify-content:center; font-size:26px; }
.sr-p1{background:linear-gradient(135deg,var(--secondary-d),var(--secondary))}
.sr-p2{background:linear-gradient(135deg,var(--ink),#3A3735)}
.sr-p3{background:linear-gradient(135deg,var(--sage),#4A7A30)}
.sr-p4{background:linear-gradient(135deg,#5A4A2A,var(--gold))}
.sr-info { background:var(--white); margin:0 10px 10px; border-radius:12px; padding:12px; }
.sr-rapport-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:8px; }
.sr-title { font-family:var(--font); font-size:11px; font-weight:700; color:var(--ink); }
.sr-badge { font-family:var(--font); font-size:8px; font-weight:700; padding:3px 8px; border-radius:50px; background:var(--sage-l); color:var(--sage); }
.sr-meta { font-family:var(--font); font-size:9px; color:var(--mid); margin-bottom:8px; }
.sr-items { display:flex; flex-direction:column; gap:4px; }
.sr-item { display:flex; gap:6px; align-items:center; }
.sr-item .tick { color:var(--sage); font-size:10px; }
.sr-item span { font-family:var(--font); font-size:9px; color:var(--ink2); }

/* Screen 4: Contact expert */
.screen-expert { background:var(--cream); }
.sexp-topbar { background:var(--primary); padding:32px 16px 24px; }
.sexp-topbar-t { font-family:var(--font); font-size:14px; font-weight:700; color:var(--white); margin-bottom:14px; }
.sexp-profile { display:flex; gap:12px; align-items:center; }
.sexp-avatar { width:48px; height:48px; border-radius:50%; background:rgba(255,255,255,.2); display:flex; align-items:center; justify-content:center; font-size:22px; }
.sexp-name { font-family:var(--font); font-size:13px; font-weight:700; color:var(--white); }
.sexp-online { font-family:var(--font); font-size:10px; color:rgba(255,255,255,.7); display:flex; align-items:center; gap:4px; }
.sexp-online::before { content:''; width:6px; height:6px; border-radius:50%; background:#25D366; }
.sexp-services { margin:10px; }
.sexp-svc { background:var(--white); border-radius:12px; padding:12px; margin-bottom:6px; display:flex; justify-content:space-between; align-items:center; }
.sexp-svc-name { font-family:var(--font); font-size:11px; font-weight:700; color:var(--ink); }
.sexp-svc-desc { font-family:var(--font); font-size:9px; color:var(--mid); margin-top:2px; }
.sexp-svc-price { font-family:var(--serif); font-size:13px; font-weight:900; color:var(--secondary); white-space:nowrap; }
.sexp-wa-btn { background:#25D366; margin:10px; border-radius:12px; padding:14px; display:flex; align-items:center; justify-content:center; gap:8px; }
.sexp-wa-btn span { font-family:var(--font); font-size:13px; font-weight:700; color:var(--white); }

/* ═══ APP PAGE LAYOUT ═══ */
.app-hero {
  background:var(--ink);
  background-image:url('../images/backgroundapp.jpg');
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
  padding:200px 52px 200px;
  position:relative;
  overflow:hidden;
}
.app-hero::before {
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(16,22,34,.88) 0%, rgba(16,22,34,.72) 42%, rgba(16,22,34,.42) 100%),
    linear-gradient(180deg, rgba(12,18,28,.18) 0%, rgba(12,18,28,.46) 100%);
}
.app-hero::after { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:60px 60px; }
.app-hero-inner { position:relative; z-index:2; max-width:1160px; margin:0 auto; display:grid; grid-template-columns:1fr 1.2fr; align-items:center; }
.app-hero-text {
  margin-right:25px;
}
.app-hero-text h1 { font-family:var(--serif); font-size:clamp(38px,4vw,56px); font-weight:900; color:var(--white); line-height:1.08; margin-bottom:18px; }
.app-hero-text h1 em { color:var(--gold); font-style:italic; }
.app-hero-text p { font-family:var(--font); font-size:17px; color:rgba(255,255,255,.75); line-height:1.7; margin-bottom:32px; }
.app-store-btns { display:flex; gap:12px; flex-wrap:wrap; }
.store-btn { display:flex; align-items:center; gap:10px; background:rgba(255,255,255,.12); border:1.5px solid rgba(255,255,255,.25); border-radius:12px; padding:10px 18px; text-decoration:none; transition:all .25s; }
.store-btn:hover { background:rgba(255,255,255,.2); }
.store-btn .sico { font-size:22px; }
.store-btn .stext { display:flex; flex-direction:column; }
.store-btn .stext small { font-family:var(--font); font-size:9px; color:rgba(255,255,255,.6); text-transform:uppercase; letter-spacing:1px; }
.store-btn .stext strong { font-family:var(--font); font-size:14px; font-weight:700; color:var(--white); }

.phones-float { display:flex; gap:20px; justify-content:center; align-items:flex-end; }
.phones-float .phone-mockup:nth-child(2) { margin-bottom:24px; }

/* APP GAINS SECTION */
.gains-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.gain-card { border-radius:22px; overflow:hidden; box-shadow:0 6px 28px rgba(26,24,20,.08); transition:transform .3s; }
.gain-card:hover { transform:translateY(-6px); }
.gain-top { background:var(--secondary); padding:28px; }
.gain-top.dark { background:var(--ink); }
.gain-top.sage { background:var(--sage); }
.gain-ico { font-size:40px; margin-bottom:14px; left:50% }
.gain-ico img.emoji { Display:none; }
.gain-label { font-family:var(--font); font-size:11px; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.6); margin-bottom:6px; }
.gain-title { font-family:var(--serif); font-size:22px; font-weight:900; color:var(--white); line-height:1.2; }
.gain-bottom { background:var(--white); padding:24px; }
.gain-item { display:flex; gap:10px; margin-bottom:12px; align-items:flex-start; }
.gain-item .tick { color:var(--sage); font-size:14px; flex-shrink:0; margin-top:2px; }
.gain-item p { font-family:var(--font); font-size:14px; color:var(--ink2); line-height:1.55; }
.gain-highlight { margin-top:14px; padding:12px 14px; border-radius:10px; background:var(--secondary-l); }
.gain-highlight .hn { font-family:var(--serif); font-size:22px; font-weight:900; color:var(--secondary); }
.gain-highlight .hl { font-family:var(--font); font-size:12px; color:var(--mid); margin-top:2px; }

/* SCREENS SHOWCASE */
.screens-section {
  background:var(--primary);
  background-image:url('../images/backgroundapp.jpg');
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
  padding:88px 52px;
  overflow:hidden;
  position:relative;
}
.screens-section::before {
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(16,22,34,.88) 0%, rgba(16,22,34,.72) 42%, rgba(16,22,34,.42) 100%),
    linear-gradient(180deg, rgba(12,18,28,.18) 0%, rgba(12,18,28,.46) 100%);
}
.screens-section::after { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:60px 60px; }
.screens-inner { position:relative; z-index:2; max-width:1160px; margin:0 auto; }
.screens-header { text-align:center; margin-bottom:60px; }
.screens-header h2 { font-family:var(--serif); font-size:clamp(30px,3.2vw,44px); font-weight:900; color:var(--white); margin-bottom:12px; }
.screens-header h2 em { color:var(--gold); font-style:italic; }
.screens-header p { font-family:var(--font); font-size:17px; color:rgba(255,255,255,.65); max-width:520px; margin:0 auto; }
.screens-row { display:flex; gap:24px; justify-content:center; align-items:flex-end; overflow-x:auto; padding-bottom:8px; }
.screen-block { display:flex; flex-direction:column; align-items:center; gap:16px; flex-shrink:0; }
.screen-block .phone-mockup:hover { transform:translateY(-8px) scale(1.02); transition:transform .4s; }
.screen-caption { text-align:center; }
.screen-caption h4 { font-family:var(--font); font-size:14px; font-weight:700; color:var(--white); margin-bottom:4px; }
.screen-caption p { font-family:var(--font); font-size:12px; color:rgba(255,255,255,.55); line-height:1.5; max-width:200px; }

/* FIXED SECTION BACKGROUNDS */
.section-bg-fixed {
  background-color: var(--ink) !important;
  background-image:
    linear-gradient(180deg, rgba(11,17,26,.88) 0%, rgba(11,17,26,.78) 45%, rgba(11,17,26,.9) 100%),
    url('../images/Backgroundsec.jpg') !important;
  background-position: center 24%, center 24% !important;
  background-repeat: no-repeat, no-repeat !important;
  background-size: cover, cover !important;
  background-attachment: fixed, fixed !important;
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

.partners-band-fixed {
  background-color: var(--ink);
  background-image:
    linear-gradient(180deg, rgba(11,17,26,.82) 0%, rgba(11,17,26,.7) 45%, rgba(11,17,26,.86) 100%),
    url('../images/Backgroundsec.jpg');
  background-position: center 24%;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}

.section-bg-fixed .section-inner,
.partners-band-fixed .partners-container {
  position: relative;
  z-index: 1;
}

/* CONTACT FORM */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.contact-grid > * { min-width:0; }
.contact-card { background:var(--white); border-radius:24px; padding:40px; box-shadow:0 8px 40px rgba(26,24,20,.07); }
.contact-form { width:100%; }
.form-row { margin-bottom:20px; }
.form-row label {
  display:block;
  font-family:var(--font);
  font-size:13px;
  font-weight:700;
  letter-spacing:.2px;
  color:var(--ink2);
  margin-bottom:9px;
}
.form-row input,.form-row textarea,.form-row select {
  width:100%;
  min-height:54px;
  padding:14px 18px;
  border:1px solid rgba(36,66,118,.14);
  border-radius:16px;
  font-family:var(--font);
  font-size:15px;
  color:var(--ink);
  background:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 8px 20px rgba(26,24,20,.04);
  outline:none;
  transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease, background-color .22s ease;
  resize:vertical;
  -webkit-appearance:none;
  appearance:none;
}
.form-row textarea {
  min-height:132px;
}
.form-row select {
  cursor:pointer;
  background-image:linear-gradient(45deg, transparent 50%, rgba(36,66,118,.55) 50%), linear-gradient(135deg, rgba(36,66,118,.55) 50%, transparent 50%);
  background-position:calc(100% - 22px) calc(50% - 3px), calc(100% - 16px) calc(50% - 3px);
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
  padding-right:44px;
}
.form-row input::placeholder,.form-row textarea::placeholder {
  color:rgba(45,42,38,.45);
}
.form-row input:-webkit-autofill,
.form-row input:-webkit-autofill:hover,
.form-row input:-webkit-autofill:focus,
.form-row textarea:-webkit-autofill,
.form-row textarea:-webkit-autofill:hover,
.form-row textarea:-webkit-autofill:focus,
.form-row select:-webkit-autofill,
.form-row select:-webkit-autofill:hover,
.form-row select:-webkit-autofill:focus {
  -webkit-text-fill-color:var(--ink);
  -webkit-box-shadow:0 0 0 1000px #fff inset, 0 8px 20px rgba(26,24,20,.04);
  transition:background-color 9999s ease-out 0s;
}
.form-row input:hover,.form-row textarea:hover,.form-row select:hover {
  border-color:rgba(36,66,118,.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82), 0 10px 22px rgba(26,24,20,.06);
}
.form-row input:focus,.form-row textarea:focus,.form-row select:focus {
  border-color:rgba(36,66,118,.45);
  box-shadow:0 0 0 4px rgba(36,66,118,.10), 0 14px 28px rgba(36,66,118,.09);
  transform:translateY(-1px);
}
.city-search {
  position:relative;
}
.city-search__input {
  padding-right:56px !important;
}
.city-search__toggle {
  position:absolute;
  top:8px;
  right:8px;
  width:38px;
  height:38px;
  border:none;
  border-radius:12px;
  background:linear-gradient(180deg, rgba(36,66,118,.08), rgba(36,66,118,.04));
  color:var(--primary);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
  transition:background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.city-search__toggle:hover {
  background:linear-gradient(180deg, rgba(36,66,118,.14), rgba(36,66,118,.08));
  box-shadow:0 8px 18px rgba(36,66,118,.12);
  transform:translateY(-1px);
}
.city-search.is-open .city-search__toggle {
  background:linear-gradient(180deg, rgba(36,66,118,.16), rgba(36,66,118,.10));
}
.city-search__dropdown {
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  right:0;
  max-height:320px;
  overflow:auto;
  padding:14px;
  border:1px solid rgba(36,66,118,.10);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,247,250,.98));
  box-shadow:0 22px 44px rgba(18, 31, 54, .12);
  backdrop-filter:blur(12px);
  z-index:30;
}
.city-search__dropdown[hidden] {
  display:none;
}
.city-search__group + .city-search__group {
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(36,66,118,.08);
}
.city-search__region {
  font-family:var(--font);
  font-size:11px;
  font-weight:800;
  letter-spacing:1.6px;
  text-transform:uppercase;
  color:var(--primary);
  margin-bottom:10px;
  padding:0 8px;
}
.city-search__options {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.city-search__option {
  border:none;
  border-radius:16px;
  min-width:180px;
  padding:11px 14px;
  background:linear-gradient(180deg, rgba(36,66,118,.05), rgba(36,66,118,.03));
  color:var(--ink);
  font-family:var(--font);
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  text-align:left;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
  transition:background-color .18s ease, color .18s ease, transform .18s ease;
}
.city-search__option:hover,
.city-search__option.is-active {
  background:var(--primary);
  color:var(--white);
  transform:translateY(-1px);
}
.city-search__option-name {
  line-height:1.3;
}
.city-search__option-meta {
  font-size:11px;
  font-weight:700;
  letter-spacing:.2px;
  color:rgba(45,42,38,.55);
  line-height:1.25;
}
.city-search__option:hover .city-search__option-meta,
.city-search__option.is-active .city-search__option-meta {
  color:rgba(255,255,255,.78);
}
.city-search__empty {
  padding:10px 6px;
  font-family:var(--font);
  font-size:14px;
  color:var(--mid);
}
.city-search__match {
  background:rgba(247,187,63,.28);
  color:inherit;
  border-radius:7px;
  padding:0 3px;
  box-decoration-break:clone;
}
.city-search__option.is-active .city-search__match,
.city-search__option:hover .city-search__match {
  background:rgba(255,255,255,.22);
}
.form-2col { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-2col > * { min-width:0; }
.form-honeypot {
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
}
.contact-captcha {
  margin:18px 0 8px;
  padding:18px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(36,66,118,.06), rgba(36,66,118,.03));
  border:1px solid rgba(36,66,118,.14);
}
.contact-captcha[hidden] {
  display:none;
}
.contact-captcha__label {
  font-family:var(--font);
  font-size:11px;
  font-weight:800;
  letter-spacing:1.8px;
  text-transform:uppercase;
  color:var(--primary);
  margin-bottom:8px;
}
.contact-captcha__question {
  font-family:var(--font);
  font-size:15px;
  font-weight:700;
  color:var(--ink);
  margin-bottom:14px;
}
.form-feedback {
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:14px;
  padding:14px 16px;
  border-radius:14px;
  font-family:var(--font);
  font-size:14px;
  line-height:1.5;
  border:1px solid transparent;
  opacity:0;
  transform:translateY(-6px);
  max-height:0;
  overflow:hidden;
  pointer-events:none;
  visibility:hidden;
  transition:opacity .28s ease, transform .28s ease, max-height .28s ease, margin-top .28s ease, padding .28s ease, border-color .28s ease;
}
.form-feedback::before {
  font-family:'remixicon';
  font-size:18px;
  flex-shrink:0;
}
.form-feedback.is-visible {
  opacity:1;
  transform:translateY(0);
  max-height:120px;
  pointer-events:auto;
  visibility:visible;
}
.form-feedback.is-hiding {
  opacity:0;
  transform:translateY(-6px);
  max-height:0;
  margin-top:0;
  padding-top:0;
  padding-bottom:0;
  pointer-events:none;
}
.form-feedback.is-loading {
  background:rgba(36,66,118,.08);
  border-color:rgba(36,66,118,.18);
  color:var(--primary);
}
.form-feedback.is-loading::before {
  content:'\f0ed';
  animation:formFeedbackSpin 1s linear infinite;
}
.form-feedback.is-success {
  background:var(--sage-l);
  border-color:rgba(55,90,35,.22);
  color:var(--sage);
}
.form-feedback.is-success::before {
  content:'\eb80';
}
.form-feedback.is-error {
  background:var(--secondary-l);
  border-color:rgba(224,104,48,.22);
  color:var(--secondary-d);
}
.form-feedback.is-error::before {
  content:'\eb98';
}
@keyframes formFeedbackSpin {
  from { transform:rotate(0deg); }
  to { transform:rotate(360deg); }
}
.contact-info { padding-top:8px; }
.contact-info-panel { background:var(--primary); border-radius:24px; padding:40px; }
.ci-block { display:flex; gap:16px; align-items:flex-start; margin-bottom:20px; }
.ci-block > div:last-child { min-width:0; }
.ci-ico { width:48px; height:48px; background:var(--secondary); border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0; }
.ci-title { font-family:var(--font); font-size:15px; font-weight:700; color:var(--white); margin-bottom:4px; }
.ci-val { font-family:var(--font); font-size:14px; color:rgba(255,255,255,.65); line-height:1.55; overflow-wrap:anywhere; }
.ci-val a { color:inherit; overflow-wrap:anywhere; }
.contact-socials { display:flex; flex-wrap:wrap; gap:10px; }

/* SUCCESS MODAL */
body.modal-open { overflow:hidden; }
.success-modal {
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(10, 16, 28, .62);
  backdrop-filter:blur(10px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease, visibility .28s ease;
  z-index:1000;
}
.success-modal.is-visible {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.success-modal__dialog {
  width:min(100%, 460px);
  background:linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(245,247,250,1) 100%);
  border-radius:28px;
  padding:34px 32px 30px;
  box-shadow:0 24px 80px rgba(11, 20, 34, .22);
  text-align:center;
  opacity:0;
  transform:translateY(30px) scale(.88);
  transform-origin:center;
  transition:transform .4s cubic-bezier(.2, .8, .2, 1), opacity .32s ease;
  will-change:transform, opacity;
}
.success-modal:not(.is-visible) .success-modal__dialog {
  opacity:0;
  transform:translateY(30px) scale(.88);
}
.success-modal.is-visible .success-modal__dialog {
  opacity:1;
  transform:translateY(0) scale(1);
}
.success-modal__badge {
  width:68px;
  height:68px;
  margin:0 auto 18px;
  border-radius:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, var(--primary), #3d66aa);
  color:var(--white);
  font-size:32px;
  box-shadow:0 14px 34px rgba(36, 66, 118, .28);
}
.success-modal__dialog h3 {
  font-family:var(--serif);
  font-size:32px;
  line-height:1.08;
  color:var(--ink);
  margin-bottom:12px;
}
.success-modal__dialog p {
  font-family:var(--font);
  font-size:16px;
  line-height:1.7;
  color:#536176;
  margin-bottom:24px;
}
.success-modal__button {
  min-width:220px;
  justify-content:center;
  background:linear-gradient(135deg, var(--primary), #31589a);
  color:var(--white);
  box-shadow:0 16px 30px rgba(36, 66, 118, .24);
}
.success-modal__button:hover {
  background:linear-gradient(135deg, #1f3a69, var(--primary));
  color:var(--white);
  transform:translateY(-2px);
  box-shadow:0 20px 36px rgba(36, 66, 118, .28);
}

/* HOW STEPS */
.how-steps { display:grid; grid-template-columns:repeat(5,1fr); gap:0; position:relative; margin-bottom:72px; }
.how-steps::before { content:''; position:absolute; top:34px; left:10%; right:10%; height:2px; background:linear-gradient(90deg,var(--secondary),var(--gold)); z-index:0; }
.h-step { text-align:center; position:relative; z-index:1; padding:0 6px; }
.step-dot { width:85px; height:85px; border-radius:50%; background:var(--white); border:3px solid var(--secondary); margin:0 auto 14px; display:flex; align-items:center; justify-content:center; font-size:22px; box-shadow:0 4px 16px rgba(200,86,26,.2); transition:all .3s; }
.h-step:hover .step-dot { background:var(--secondary); transform:scale(1.1); }
.step-label {display:none; font-family:var(--font); font-size:12px; font-weight:700; color:var(--white); line-height:1.4; }

/* SERVICE DETAIL */
.sd-wrap { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.sd-label { font-family:var(--font); font-size:11px; font-weight:800; letter-spacing:3px; text-transform:uppercase; color:var(--secondary); margin-bottom:12px; }
.sd-title { font-family:var(--serif); font-size:clamp(26px,2.8vw,38px); font-weight:900; color:var(--white); line-height:1.1; margin-bottom:14px; }
.sd-title em { color:var(--secondary); font-style:italic; }
.sd-desc { font-family:var(--font); font-size:16px; color:var(--white); line-height:1.72; margin-bottom:24px; }
.sd-features { display:flex; flex-direction:column; gap:10px; margin-bottom:28px; }
.sd-feat { display:flex; gap:10px; align-items:flex-start; }
.sd-feat .tick { color:var(--sage); font-size:15px; flex-shrink:0; margin-top:2px; }
.sd-feat span { font-family:var(--font); font-size:14px; color:var(--white); line-height:1.5; }
.sd-price-block { background:var(--secondary-l); border:1.5px solid var(--secondary); border-radius:14px; padding:16px 20px; gap:14px; align-items:center; }
.sdp-amount { text-align:center;font-family:var(--serif); font-size:28px; font-weight:900; color:var(--secondary); }
.sdp-label { text-align:center;font-family:var(--font); font-size:14px; color:var(--ink); }
.sd-visual { border-radius:20px; overflow:hidden; background:var(--secondary); min-height:400px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:16px; padding:36px; }
.svi-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; width:100%; }
.svi { background:var(--cream); border-radius:10px; padding:12px; text-align:center; }
.svi-n { font-family:var(--serif); font-size:20px; font-weight:900; color:var(--ink); }
.svi-l { font-family:var(--font); font-size:12px; color:var(--ink); margin-top:2px; }

@media(max-width:900px){
  nav{padding:0 20px} .n-links{display:none}
  .section,.app-hero,.screens-section,.cta-section,footer,.page-header{padding-left:20px;padding-right:20px}
  .app-hero-inner,.contact-grid,.sd-wrap{grid-template-columns:1fr}
  .phones-float{gap:10px}
  .phone-mockup{width:180px;height:360px}
  .gains-grid,.team-grid,.price-grid,.testi-grid,.how-steps{grid-template-columns:1fr}
  .how-steps::before{display:none}
  .footer-grid{grid-template-columns:1fr 1fr}
  .screens-row{justify-content:flex-start}
}
@media(max-width:900px){
  nav{padding:0 20px} .n-links{display:none}
  .section,.app-hero,.screens-section,.cta-section,footer,.page-header{padding-left:20px;padding-right:20px}
  .app-hero-inner,.contact-grid,.sd-wrap{grid-template-columns:1fr}
  .phones-float{gap:10px}
  .phone-mockup{width:180px;height:360px}
  .gains-grid,.team-grid,.price-grid,.testi-grid,.how-steps{grid-template-columns:1fr}
  .how-steps::before{display:none}
  .footer-grid{grid-template-columns:1fr 1fr}
  .screens-row{justify-content:flex-start}
}
/* ═════════ TABLETTE (1024px) ═════════ */

@media (max-width:1024px){

  .section{
    padding:70px 32px;
  }

  .rust-hero-inner{
    grid-template-columns:1fr;
    gap:40px;
  }

  .stats-bar{
    grid-template-columns:repeat(2,1fr);
  }

  .team-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .price-grid{
    grid-template-columns:1fr 1fr;
  }

  .testi-grid{
    grid-template-columns:1fr 1fr;
  }

  .gains-grid{
    grid-template-columns:1fr 1fr;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:40px;
  }

  .app-hero-inner{
    grid-template-columns:1fr;
    text-align:center;
  }

  .app-hero-text{
    margin-right:0;
    margin-bottom:28px;
  }

  .phones-float{
    justify-content:center;
  }

}
/* ═════════ MOBILE LARGE (768px) ═════════ */

@media (max-width:768px){
.screens-row1 { display:flex; gap:24px; justify-content:center; align-items:flex-end; overflow-x:auto; padding-bottom:8px; }
 .screens-row1{justify-content:flex-start}
  nav{
    height:64px;
    padding:0 16px;
  }

  .n-logo img{
    height:60px;
  }

  .mobile-menu{
    top:76px;
    left:12px;
    right:12px;
    max-height:calc(100vh - 92px);
    padding:18px;
    border-radius:22px;
  }

  .section{
    padding:60px 18px;
  }

  .rust-hero{
    padding:110px 18px 60px;
  }

  .rust-hero-inner{
    grid-template-columns:1fr;
  }

  .stats-bar{
    grid-template-columns:1fr 1fr;
  }

  .team-grid,
  .price-grid,
  .testi-grid,
  .gains-grid{
    grid-template-columns:1fr;
  }

  .card{
    padding:22px;
  }

  .btn{
    padding:12px 24px;
    font-size:14px;
  }

  .cta-inner h2{
    font-size:32px;
  }

  .contact-grid{
    grid-template-columns:1fr;
    gap:32px;
  }

  .contact-card,
  .contact-info-panel{
    padding:24px;
    border-radius:20px;
  }

  .form-2col{
    grid-template-columns:1fr;
  }

  .ci-block{
    gap:12px;
  }

}
/* ═════════ MOBILE SMALL (480px) ═════════ */

@media (max-width:480px){

  h1{
    font-size:32px !important;
    line-height:1.2;
  }

  h2{
    font-size:26px;
  }

  .section .sub{
    font-size:15px;
  }

  .stats-bar{
    grid-template-columns:1fr;
  }

  .phone-mockup{
    width:150px;
    height:300px;
  }

  .phones-float{
    gap:8px;
  }

  .footer-grid{
    grid-template-columns:1fr;
    gap:24px;
  }

  .footer-bottom{
    flex-direction:column;
    gap:8px;
    text-align:center;
  }

  .mobile-menu{
    top:72px;
    left:10px;
    right:10px;
    padding:16px;
    border-radius:20px;
  }

  .success-modal{
    padding:18px;
  }

  .success-modal__dialog{
    padding:28px 22px 24px;
    border-radius:24px;
  }

  .success-modal__dialog h3{
    font-size:28px;
  }

  .contact-card,
  .contact-info-panel{
    padding:20px;
  }

  .contact-socials a{
    width:100%;
    text-align:center;
  }

}

/* ESTIMATEUR PREMIUM INPUTS */
#customer_phone,
#customer_email{
  width:100%;
  height:35px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  background:var(--ink2);
  color:#757575;
  font-family:var(--font);
  font-size:15px;
  line-height:1.4;
  outline:none;
  box-shadow:0 12px 30px rgba(0,0,0,.08);
  transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease, background .22s ease;
}

#customer_phone::placeholder,
#customer_email::placeholder{
  color:#757575;
}

#customer_phone:hover,
#customer_email:hover{
  border-color:rgba(247,187,63,.42);
  box-shadow:0 14px 32px rgba(15,23,42,.10);
}

#customer_phone:focus,
#customer_email:focus{
  border-color:rgba(36,66,118,.52);
  background:rgba(255,255,255,1);
  box-shadow:0 0 0 4px rgba(36,66,118,.10), 0 16px 38px rgba(15,23,42,.12);
  transform:translateY(-1px);
}

#customer_phone:valid,
#customer_email:valid{
  border-color:rgba(24,122,71,.28);

  .success-modal__button{
    width:100%;
  }

}

/* ═════════ HAMBURGER BUTTON ═════════ */

.hamburger{
  position:relative;
  width:46px;
  height:46px;
  display:none;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:300;
  border-radius:50%;
  border:1px solid rgba(212,168,67,.22);
  background:rgba(255,255,255,.05);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 10px 22px rgba(2,6,23,.18);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:background .3s ease, border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}

.hamburger span{
  position:absolute;
  display:block;
  width:18px;
  height:2px;
  background:linear-gradient(90deg, rgba(255,255,255,.92), rgba(247,187,63,.88));
  border-radius:999px;
  box-shadow:0 0 10px rgba(212,168,67,.18);
  transition:all .3s ease;
}

.hamburger span:nth-child(1){
  transform:translateY(-6px);
}

.hamburger span:nth-child(3){
  transform:translateY(6px);
}

.hamburger:hover{
  transform:translateY(-1px) scale(1.03);
  border-color:rgba(212,168,67,.38);
  background:rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 14px 28px rgba(2,6,23,.24);
}

/* animation X */

.hamburger.active span:nth-child(1){
  transform:rotate(45deg);
}

.hamburger.active span:nth-child(2){
  opacity:0;
}

.hamburger.active span:nth-child(3){
  transform:rotate(-45deg);
}


/* ═════════ MOBILE MENU ═════════ */

.mobile-menu{
  position:fixed;
  top:88px;
  left:16px;
  right:16px;
  width:auto;
  height:auto;
  max-height:calc(100vh - 112px);
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:20px;
  background:var(--primary);
  border:1px solid rgba(212,168,67,.22);
  border-radius:24px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-16px) scale(.98);
  transition:opacity .35s ease, transform .35s ease, visibility .35s ease;
  z-index:4000;
  box-shadow:0 18px 30px rgba(2,6,23,.45);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.mobile-menu::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:var(--primary);
  pointer-events:none;
}

.mobile-menu.active,
.mobile-menu.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}

.mobile-menu a{
  position:relative;
  display:flex;
  align-items:center;
  font-size:16px;
  font-weight:600;
  color:rgba(255,255,255,.86);
  text-decoration:none;
  transition:color .25s ease, text-shadow .25s ease, background .25s ease, transform .25s ease;
  padding:14px 16px;
  border-radius:16px;
  background:rgba(255,255,255,.02);
  border:1px solid transparent;
}

.mobile-menu a:hover{
  color:var(--white);
  text-shadow:0 0 8px rgba(201,166,70,.5);
  background:rgba(255,255,255,.06);
  border-color:rgba(212,168,67,.16);
  transform:translateX(4px);
}

.mobile-menu a.active{
  color:#fff4da;
  text-shadow:0 0 8px rgba(201,166,70,.5);
  background:rgba(255,255,255,.07);
  border-color:rgba(212,168,67,.22);
}

.mobile-cta{
  margin-top:8px;
  background:rgba(255,255,255,.05);
  color:var(--white) !important;
  padding:14px 18px;
  border-radius:18px;
  text-align:center;
  border:1px solid rgba(212,168,67,.18);
}


/* ═════════ MOBILE NAV ACTIF ═════════ */

@media (max-width:900px){

  .hamburger{
    display:flex;
  }

  .mobile-menu .n-logo{
    justify-content:center;
    padding:0 0 12px;
    margin-bottom:8px;
    border-bottom:1px solid rgba(212,168,67,.16);
    border-radius:0;
    background:transparent;
  }

  .mobile-menu .n-logo img{
    height:58px;
  }

  .mobile-menu a[href="/estimateur.php"]{
    margin-top:6px;
    justify-content:center;
    border-radius:30px;
    background:linear-gradient(135deg, #f7d27c, #d4a843 55%, #b38322);
    border-color:rgba(255,240,205,.45);
    color:#1b160c;
    box-shadow:0 12px 28px rgba(212,168,67,.28), 0 0 18px rgba(201,166,70,.22);
  }

  .mobile-menu a[href="/estimateur.php"].active,
  .mobile-menu a[href="/estimateur.php"]:hover{
    color:var(--white);
	background:var(--secondary);
    text-shadow:none;
    transform:translateY(-1px) scale(1.02);
    box-shadow:0 18px 32px rgba(212,168,67,.38), 0 0 22px rgba(201,166,70,.3);
  }

}

body{
background:var(--cream);
color:var(--ink);
}

body.menu-open{
  overflow:hidden;
}

.ri-whatsapp-fill,
.ri-whatsapp-line {
  color: #25d366 !important;
}

.whatsapp-float {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 3500;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  padding: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #25d366 0%, #149c4d 100%);
  color: var(--white);
  text-decoration: none;
  box-shadow: 0 18px 40px rgba(10, 45, 20, .28), 0 10px 18px rgba(37, 211, 102, .2);
  border: 1px solid rgba(255, 255, 255, .22);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(16px) scale(.96);
  transition: transform .25s ease, box-shadow .25s ease, opacity .25s ease, visibility .25s ease;
}

.whatsapp-float.is-ready {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

body.modal-open .whatsapp-float {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(16px) scale(.96);
}

.whatsapp-float:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 24px 46px rgba(10, 45, 20, .34), 0 14px 24px rgba(37, 211, 102, .24);
  animation: whatsappPulse 1.35s ease-in-out infinite;
}

.whatsapp-float:not(:hover) {
  animation: none;
}

.whatsapp-float:focus-visible {
  outline: 3px solid rgba(255, 255, 255, .55);
  outline-offset: 3px;
}

.whatsapp-float__icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .18);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
  font-size: 24px;
  flex-shrink: 0;
}

.whatsapp-float__icon .ri-whatsapp-fill,
.whatsapp-float__icon .ri-whatsapp-line {
  color: var(--white) !important;
}

@keyframes whatsappPulse {
  0% {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 24px 46px rgba(10, 45, 20, .34), 0 14px 24px rgba(37, 211, 102, .24);
  }

  50% {
    transform: translateY(-3px) scale(1.07);
    box-shadow: 0 28px 52px rgba(10, 45, 20, .38), 0 0 0 8px rgba(37, 211, 102, .12);
  }

  100% {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 24px 46px rgba(10, 45, 20, .34), 0 14px 24px rgba(37, 211, 102, .24);
  }
}

.btn-primary{
background:var(--white);
color:var(--ink);
}

.btn-primary:hover{
background:var(--primary);
color:var(--white);
}
.fa-solid{

color:var(--secondary);

font-size:20px;

}

/* ===============================
RESPONSIVE TABLETTE
=============================== */

@media (max-width:1024px){

.section,
.rust-hero,
.app-hero,
.screens-section,
.cta-section,
.page-header{

padding:80px 28px;

}

.section,
.screens-section{
padding:50px 28px;

}

.section-inner{
max-width:100%;
}

.rust-hero-inner,
.app-hero-inner,
.contact-grid,
.sd-wrap{

grid-template-columns:1fr;
gap:40px;

}

.stats-bar{
grid-template-columns:repeat(2,1fr);
}

.team-grid,
.price-grid,
.testi-grid,
.gains-grid{

grid-template-columns:1fr 1fr;

}

}

/* ===============================
RESPONSIVE MOBILE
=============================== */

@media (max-width:768px){

.rust-hero,
.app-hero,
.cta-section,
.page-header{
padding:120px 20px;
}

.app-hero{
background-position:64% center;
padding-bottom:88px;
}

.screens-section{
background-position:64% center;
}

.app-hero::before{
background:
  linear-gradient(180deg, rgba(12,18,28,.60) 0%, rgba(12,18,28,.42) 34%, rgba(12,18,28,.56) 100%),
  linear-gradient(90deg, rgba(12,18,28,.88) 0%, rgba(12,18,28,.72) 44%, rgba(12,18,28,.30) 100%);
}

.screens-section::before{
background:
  linear-gradient(180deg, rgba(12,18,28,.60) 0%, rgba(12,18,28,.42) 34%, rgba(12,18,28,.56) 100%),
  linear-gradient(90deg, rgba(12,18,28,.88) 0%, rgba(12,18,28,.72) 44%, rgba(12,18,28,.30) 100%);
}

#page-home .rust-hero{
background-position:64% center;
padding-bottom:72px;
}

#page-home .rust-hero::before{
background:
  linear-gradient(180deg, rgba(12,18,28,.60) 0%, rgba(12,18,28,.42) 34%, rgba(12,18,28,.56) 100%),
  linear-gradient(90deg, rgba(12,18,28,.88) 0%, rgba(12,18,28,.72) 44%, rgba(12,18,28,.30) 100%);
}

.app-hero-text{
margin-right:0;
margin-bottom:24px;
}

.page-header{
padding-bottom:88px;
}

.page-header::before{
background-position:center center, center center, 68% center;
}

.page-header.page-header-partners::before{
background-position:center center, center center, 72% center;
}

.page-header p{
max-width:32rem;
}
.section,
.screens-section{

padding:50px 28px;

}

.section h2{
font-size:28px;
}

.section .sub{
font-size:15px;
}

.rust-hero-inner,
.app-hero-inner,
.contact-grid,
.sd-wrap{

grid-template-columns:1fr;

}

.team-grid,
.price-grid,
.testi-grid,
.gains-grid,
.stats-bar{

grid-template-columns:1fr;

}

.card{
padding:22px;
}

.btn{
width:100%;
justify-content:center;
}

.phone-mockup{
width:160px;
height:320px;
}

}

/* ===============================
PARTNERS PAGE
=============================== */

.section-partners {
  --partners-navy:#244276;
  --partners-gold:#f7bb3f;
  --partners-rust:#C8561A;
  --partners-white:#FFFFFF;
  background:var(--cream);
  padding:0;
  position:relative;
  overflow:hidden;
}

.section-partners.section-partners--with-header {
  padding-top:0;
}

.section-partners--with-header .partners-band--hero {
  margin-top:-54px;
  border-top-left-radius:34px;
  border-top-right-radius:34px;
  box-shadow:0 -1px 0 rgba(255,255,255,.18), 0 24px 48px rgba(22,34,54,.16);
}

.section-partners--with-header .partners-band--hero .partners-container {
  padding-top:50px;
}

.section-partners::before {
  display:none;
}

.section-partners::after {
  display:none;
}

.partners-band {
  position:relative;
  padding:42px 0;
  overflow:hidden;
}

.partners-band::before {
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
}

.partners-band::after {
  content:'';
  position:absolute;
  left:50%;
  bottom:0;
  width:min(1160px, calc(100% - 40px));
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.12), rgba(255,255,255,0));
  pointer-events:none;
}

.partners-band--blue {
  background:linear-gradient(180deg, var(--partners-navy) 0%, #1d335c 100%);
}

.partners-band--blue::before {
  background:radial-gradient(circle at top right, rgba(247,187,63,.12), transparent 30%), radial-gradient(circle at bottom left, rgba(255,255,255,.08), transparent 26%);
}

.partners-band--white {
  background:linear-gradient(180deg, #ffffff 0%, #f5f7fa 100%);
}

.partners-band--white::before {
  background:radial-gradient(circle at top right, rgba(36,66,118,.08), transparent 28%), radial-gradient(circle at bottom left, rgba(247,187,63,.12), transparent 24%);
}

.partners-band--dark {
  background:linear-gradient(180deg, var(--ink) 0%, #12100d 100%);
}

.partners-band--dark.partners-band-fixed {
  background-color: var(--ink);
  background-image:
    linear-gradient(180deg, rgba(11,17,26,.88) 0%, rgba(11,17,26,.78) 45%, rgba(11,17,26,.9) 100%),
    url('../images/Backgroundsec.jpg');
  background-position: center 24%;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}

.partners-band--dark::before {
  background:linear-gradient(90deg, rgba(247,187,63,.06), transparent 20%, transparent 80%, rgba(247,187,63,.06));
}

.partners-band--gold {
  background:linear-gradient(135deg, #f4d17b 0%, var(--partners-gold) 55%, #d9a12c 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4), inset 0 -1px 0 rgba(24,22,18,.12);
}

.partners-band--gold::after {
  background:linear-gradient(90deg, rgba(26,24,20,0), rgba(26,24,20,.14), rgba(26,24,20,0));
}

.partners-band--blue-soft {
  background:linear-gradient(180deg, #294a83 0%, var(--partners-navy) 100%);
}

.partners-band--blue-soft::before {
  background:radial-gradient(circle at 85% 0%, rgba(247,187,63,.14), transparent 24%), radial-gradient(circle at 10% 90%, rgba(255,255,255,.08), transparent 22%);
}

.partners-band--white-soft {
  background:linear-gradient(180deg, #ffffff 0%, #f7f4ef 100%);
}

.partners-band--white-soft::before {
  background:radial-gradient(circle at 85% 0%, rgba(36,66,118,.09), transparent 24%), radial-gradient(circle at 10% 90%, rgba(247,187,63,.12), transparent 22%);
}

.partners-band:last-child::after {
  display:none;
}

.partners-container {
  width:min(1160px, calc(100% - 40px));
  margin:0 auto;
  position:relative;
  z-index:1;
}

.section-partners .partners-header {
  text-align:center;
  margin-bottom:72px;
}

.section-partners .s-label {
  justify-content:center;
  font-size:11px;
  letter-spacing:4px;
  color:var(--partners-gold);
  margin-bottom:16px;
}

.section-partners .s-label::before,
.section-partners .s-label::after {
  content:'';
  display:block;
  width:32px;
  height:1px;
  background:var(--partners-gold);
  opacity:.6;
}

.section-partners .partners-header h2 {
  font-size:clamp(38px, 3.5vw, 54px);
  font-weight:900;
  color:var(--partners-white);
  line-height:1.08;
  margin-bottom:18px;
}

.section-partners .partners-header h2 em,
.section-partners .partners-become-left h3 em {
  color:var(--partners-gold);
  font-style:italic;
}

.section-partners .partners-header p {
  font-size:17px;
  color:rgba(255,255,255,.7);
  max-width:620px;
  margin:0 auto;
  line-height:1.72;
}

.partners-bloc {
  margin-bottom:0;
}

.partners-bloc-label {
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:32px;
}

.partners-band--dark .partners-bloc-label,
.partners-band--blue-soft .partners-bloc-label {
  margin-bottom:36px;
}

.partners-bloc-num {
  width:34px;
  height:34px;
  border-radius:10px;
  background:var(--partners-gold);
  color:#162845;
  font-size:13px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  box-shadow:0 10px 24px rgba(247,187,63,.22);
}

.partners-bloc-num-muted {
  color:rgba(255,255,255,.78);
  box-shadow:none;
}

.partners-bloc-text h3 {
  font-size:22px;
  font-weight:700;
  color:var(--partners-white);
  margin-bottom:3px;
}

.partners-bloc-text p {
  font-size:13px;
  color:rgba(255,255,255,.48);
}

.partners-band--white .partners-bloc-text h3,
.partners-band--white .partners-inst-card h4 {
  color:var(--ink);
}

.partners-band--white .partners-bloc-text p,
.partners-band--white .partners-inst-type {
  color:rgba(26,24,20,.52);
}

.partners-band--white .partners-inst-card {
  background:rgba(255,255,255,.88);
  border:1px solid rgba(36,66,118,.1);
  box-shadow:0 18px 40px rgba(20,34,58,.08);
}

.partners-band--white .partners-inst-card p,
.partners-band--white .partners-inst-what {
  color:rgba(26,24,20,.72);
}

.partners-band--white .partners-inst-logo-wrap {
  background:linear-gradient(135deg, rgba(36,66,118,.08), rgba(247,187,63,.12));
  color:var(--partners-navy);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 12px 24px rgba(36,66,118,.12);
}

.partners-inst-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
}

.partners-inst-card {
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:22px;
  padding:28px 22px;
  position:relative;
  overflow:hidden;
  backdrop-filter:blur(10px);
  transition:border-color .3s ease, transform .3s ease, box-shadow .3s ease;
}

.partners-inst-card::before {
  content:'';
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg, var(--partners-gold) 0%, rgba(247,187,63,.18) 100%);
}

.partners-inst-card::after {
  content:'';
  position:absolute;
  inset:-40% auto auto -20%;
  width:140px;
  height:220px;
  background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0));
  transform:rotate(24deg);
  opacity:.16;
  transition:transform .45s ease, opacity .45s ease;
  pointer-events:none;
}

.partners-inst-card:hover {
  border-color:rgba(247,187,63,.38);
  transform:translateY(-6px);
  box-shadow:0 22px 44px rgba(6,14,30,.26);
}

.partners-inst-card:hover::after {
  transform:translateX(18px) rotate(24deg);
  opacity:.26;
}

.partners-inst-verified {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:9px;
  font-weight:800;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--ink);
  background:rgba(247,187,63,.12);
  padding:4px 10px;
  border-radius:999px;
  margin-bottom:20px;
}

.partners-inst-logo-wrap {
  width:100%;
  height:96px;
  padding:14px 16px;
  border-radius:22px;
  background:linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.16);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  color:var(--partners-gold);
  margin-bottom:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14), 0 14px 28px rgba(8,15,32,.2);
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.partners-inst-logo-wrap img {
  display:block;
  max-width:100%;
  max-height:64px;
  width:auto;
  height:auto;
  object-fit:contain;
}

.partners-inst-logo {
  display:block;
}

.partners-inst-logo--adpme {
  max-width:92%;
  max-height:58px;
}

.partners-inst-logo--mastercard {
  max-width:86%;
  max-height:54px;
}

.partners-inst-logo--yokkute {
  max-width:70%;
  max-height:48px;
}

.partners-inst-logo-wrap::before {
  content:'';
  position:absolute;
  inset:8px;
  border-radius:15px;
  background:linear-gradient(145deg, rgba(255,255,255,.22), rgba(255,255,255,0));
  z-index:-1;
}

.partners-inst-logo-wrap::after {
  content:'';
  position:absolute;
  width:86px;
  height:86px;
  border-radius:50%;
  top:-28px;
  right:-26px;
  background:radial-gradient(circle, rgba(255,255,255,.18), rgba(255,255,255,0) 70%);
  z-index:-1;
}

.partners-inst-card:hover .partners-inst-logo-wrap {
  transform:translateY(-2px) scale(1.03);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 18px 34px rgba(8,15,32,.26);
}

.partners-inst-card--civic .partners-inst-logo-wrap--civic {
  background:linear-gradient(135deg, rgba(247,187,63,.28), rgba(255,255,255,.06));
  color:#ffd67b;
}

.partners-inst-card--finance .partners-inst-logo-wrap--finance {
  background:linear-gradient(135deg, rgba(255,255,255,.18), rgba(247,187,63,.12));
  color:#fff1ba;
}

.partners-inst-card--growth .partners-inst-logo-wrap--growth {
  background:linear-gradient(135deg, rgba(200,86,26,.32), rgba(255,255,255,.06));
  color:#ffc5a2;
}

.partners-inst-card--academic .partners-inst-logo-wrap--academic {
  background:linear-gradient(135deg, rgba(91,134,203,.3), rgba(255,255,255,.06));
  color:#cfe2ff;
}

.partners-inst-card--civic::before {
  background:linear-gradient(90deg, #f7bb3f 0%, rgba(247,187,63,.2) 100%);
}

.partners-inst-card--finance::before {
  background:linear-gradient(90deg, #f0d788 0%, rgba(247,187,63,.2) 100%);
}

.partners-inst-card--growth::before {
  background:linear-gradient(90deg, #e58b5a 0%, rgba(229,139,90,.18) 100%);
}

.partners-inst-card--academic::before {
  background:linear-gradient(90deg, #8fb3ff 0%, rgba(143,179,255,.18) 100%);
}

.partners-band--hero .partners-inst-card {
  background:linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
  border:1px solid rgba(36,66,118,.12);
  box-shadow:0 18px 40px rgba(7,16,35,.16);
}

.partners-band--hero .partners-inst-card:hover {
  border-color:rgba(247,187,63,.42);
  box-shadow:0 24px 48px rgba(7,16,35,.22);
}

.partners-band--hero .partners-inst-card h4 {
  color:var(--ink);
}

.partners-band--hero .partners-inst-type {
  color:rgba(26,24,20,.48);
}

.partners-band--hero .partners-inst-card p,
.partners-band--hero .partners-inst-what {
  color:rgba(26,24,20,.72);
}

.partners-band--hero .partners-inst-what {
  border-top-color:rgba(36,66,118,.1);
}

.partners-inst-card h4 {
  font-size:18px;
  font-weight:700;
  color:var(--partners-white);
  margin-bottom:6px;
  line-height:1.2;
}

.partners-inst-type {
  font-size:11px;
  color:rgba(255,255,255,.4);
  text-transform:uppercase;
  letter-spacing:1.5px;
  margin-bottom:12px;
}

.partners-inst-card p,
.partners-inst-what,
.partners-eco-text p,
.partners-become-left p,
.partners-type-item,
.partners-form-sub,
.partners-form-ok p {
  font-size:13px;
  color:rgba(255,255,255,.68);
  line-height:1.6;
}

.partners-inst-what {
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.08);
}

.partners-inst-what strong {
  display:block;
  margin-bottom:4px;
  font-size:11px;
  letter-spacing:.5px;
  text-transform:uppercase;
  color:var(--partners-gold);
}

.partners-eco-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}

.partners-eco-card {
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:24px 22px;
  position:relative;
  overflow:hidden;
  display:flex;
  gap:16px;
  align-items:flex-start;
  transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.partners-eco-card::before {
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg, var(--partners-gold), rgba(247,187,63,0));
  opacity:.45;
}

.partners-eco-card:hover {
  border-color:rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
  transform:translateY(-3px);
  box-shadow:0 18px 34px rgba(0,0,0,.18);
}

.partners-eco-icon {
  width:46px;
  height:46px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  flex-shrink:0;
}

.partners-eco-icon.rust { background:rgba(200,86,26,.18); color:#f1a17e; }
.partners-eco-icon.blue { background:rgba(21,101,192,.18); color:#8ec5ff; }
.partners-eco-icon.green { background:rgba(46,125,50,.18); color:#9ad89e; }
.partners-eco-icon.gold { background:rgba(247,187,63,.16); color:var(--partners-gold); }
.partners-eco-icon.purple { background:rgba(106,27,154,.18); color:#deb1ef; }
.partners-eco-icon.teal { background:rgba(0,131,143,.16); color:#95edf2; }

.partners-eco-text h4 {
  font-size:14px;
  font-weight:700;
  color:var(--partners-white);
  margin-bottom:5px;
}

.partners-stats-bar {
  background:transparent;
  border-top:none;
  border-bottom:none;
  padding:0 40px;
  display:flex;
  justify-content:space-around;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
  position:relative;
  z-index:1;
}

.partners-stat-item {
  text-align:center;
  padding:18px 20px;
  border-radius:20px;
  transition:transform .25s ease, background .25s ease, box-shadow .25s ease;
}

.partners-stat-item:hover {
  background:rgba(255,255,255,.22);
  transform:translateY(-3px);
  box-shadow:0 16px 30px rgba(118,80,9,.16);
}

.partners-stat-value {
  font-size:42px;
  font-weight:900;
  color:#1a1814;
  line-height:1;
  margin-bottom:5px;
}

.partners-stat-label {
  font-size:12px;
  color:rgba(26,24,20,.74);
  line-height:1.4;
}

.partners-stat-label strong {
  color:#1a1814;
  display:block;
  font-size:13px;
}

.partners-stat-divider {
  width:1px;
  height:48px;
  background:rgba(26,24,20,.18);
}

.partners-become-section {
  background:linear-gradient(135deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.04) 100%);
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  padding:56px;
  margin-bottom:0;
  position:relative;
  overflow:hidden;
  box-shadow:0 22px 54px rgba(5,12,26,.28);
}

.partners-band--white-soft .partners-become-section {
  background:linear-gradient(135deg, #244276 0%, #1d335c 62%, #2e568f 100%);
  border:1px solid rgba(36,66,118,.16);
  box-shadow:0 24px 56px rgba(20,34,58,.18);
}

.partners-band--white-soft .partners-become-section::before {
  background:rgba(247,187,63,.1);
}

.partners-band--white-soft .partners-become-section::after {
  background:linear-gradient(135deg, rgba(255,255,255,.08), transparent 36%, transparent 70%, rgba(247,187,63,.1));
}

.partners-become-section::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.06), transparent 36%, transparent 70%, rgba(247,187,63,.08));
  pointer-events:none;
}

.partners-become-section::before {
  content:'';
  position:absolute;
  top:-70px;
  right:-60px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:rgba(247,187,63,.08);
}

.partners-become-inner {
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(0, 1fr);
  gap:56px;
  align-items:center;
  position:relative;
  z-index:1;
}

.partners-eyebrow {
  font-size:10px;
  letter-spacing:4px;
  text-transform:uppercase;
  color:var(--partners-gold);
  font-weight:800;
  margin-bottom:16px;
  display:flex;
  align-items:center;
  gap:10px;
}

.partners-eyebrow::before {
  content:'';
  width:20px;
  height:2px;
  background:var(--partners-gold);
}

.partners-become-left h3 {
  font-size:34px;
  font-weight:900;
  color:var(--partners-white);
  line-height:1.15;
  margin-bottom:16px;
}

.partners-become-left p {
  font-size:15px;
  margin-bottom:28px;
}

.partners-types {
  display:flex;
  flex-direction:column;
  gap:10px;
}

.partners-type-item {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
}

.partners-type-dot {
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--partners-gold);
  flex-shrink:0;
}

.partners-form-alert {
  margin-bottom:16px;
  padding:14px 16px;
  border-radius:14px;
  background:rgba(200,86,26,.15);
  border:1px solid rgba(200,86,26,.32);
  color:#fff4ec;
  font-size:13px;
}

.partners-become-form {
  background:var(--primary);
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  padding:32px;
  transition:opacity .28s ease, transform .28s ease;
}

.partners-become-form.is-hidden {
  display:none;
}

.partners-become-form h4,
.partners-form-ok h4 {
  font-size:24px;
  font-weight:700;
  color:var(--partners-white);
  margin-bottom:8px;
}

.partners-form-sub {
  margin-bottom:24px;
}

.partners-form-field {
  margin-bottom:14px;
}

.partners-form-field label {
  display:block;
  font-size:10px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--cream);
  font-weight:800;
  margin-bottom:7px;
}

.partners-form-field input,
.partners-form-field select {
  width:100%;
  padding:14px 16px;
  background:rgba(255,255,255,.08);
  border:1.5px solid rgba(255,255,255,.12);
  border-radius:12px;
  font-size:14px;
  font-family:var(--font);
  color:var(--partners-white);
  outline:none;
  transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.partners-form-field input::placeholder {
  color:rgba(255,255,255,.26);
}

.partners-form-field select option {
  background:var(--partners-navy);
  color:var(--partners-white);
}

.partners-form-field input:focus,
.partners-form-field select:focus {
  border-color:var(--partners-gold);
  box-shadow:0 0 0 4px rgba(247,187,63,.16), 0 12px 26px rgba(8,16,35,.18);
  transform:translateY(-1px);
}

.partners-btn {
  width:100%;
  justify-content:center;
  margin-top:8px;
  box-shadow:0 12px 28px rgba(247,187,63,.18);
}

.partners-btn:hover {
  transform:translateY(-2px) scale(1.01);
  box-shadow:0 16px 36px rgba(247,187,63,.26);
}

.partners-band .fade-up:nth-child(1) { transition-delay:.06s; }
.partners-band .fade-up:nth-child(2) { transition-delay:.14s; }
.partners-band .fade-up:nth-child(3) { transition-delay:.22s; }

.partners-form-secure {
  text-align:center;
  font-size:11px;
  color:rgba(255,255,255,.34);
  margin-top:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}

.partners-form-ok {
  display:none;
  text-align:center;
  padding:32px 16px;
  animation:fadeUp .4s ease;
}

.partners-form-ok.show {
  display:block;
}

.partners-ok-icon {
  width:72px;
  height:72px;
  border-radius:50%;
  margin:0 auto 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:34px;
  color:var(--partners-navy);
  background:linear-gradient(135deg, var(--partners-gold), #f9d57f);
  box-shadow:0 14px 36px rgba(247,187,63,.24);
}

@media (max-width:960px) {
  .partners-inst-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .partners-become-inner {
    grid-template-columns:1fr;
    gap:36px;
  }
}

@media (max-width:768px) {
  .section-partners {
    padding-top:0;
  }

  .section-partners.section-partners--with-header {
    padding-top:0;
  }

  .partners-band {
    padding:56px 0;
  }

  .page-header.page-header-partners {
    padding-bottom:96px;
  }

  .section-partners--with-header .partners-band--hero {
    margin-top:-34px;
    border-top-left-radius:24px;
    border-top-right-radius:24px;
  }

  .section-partners--with-header .partners-band--hero .partners-container {
    padding-top:10px;
  }

  .partners-band::after {
    width:calc(100% - 24px);
  }

  .partners-container {
    width:min(1160px, calc(100% - 24px));
  }

  .section-partners .partners-header {
    margin-bottom:48px;
  }

  .partners-eco-grid,
  .partners-inst-grid {
    grid-template-columns:1fr;
  }

  .partners-stats-bar {
    gap:28px;
    padding:0 20px;
  }

  .partners-stat-item {
    width:100%;
  }

  .partners-stat-divider {
    display:none;
  }

  .partners-become-section {
    padding:36px 24px;
    margin-bottom:56px;
  }
}

/* ===============================
SCROLL ANIMATIONS
=============================== */

.fade-up{

opacity:0;
transform:translateY(40px);
transition:all .8s ease;

}

.fade-up.visible{

opacity:1;
transform:translateY(0);

}

.fade-up:nth-child(1){transition-delay:.1s;}
.fade-up:nth-child(2){transition-delay:.2s;}
.fade-up:nth-child(3){transition-delay:.3s;}
.fade-up:nth-child(4){transition-delay:.4s;}

.hero-title{

animation:heroFade 1s ease forwards;

}

@keyframes heroFade{

from{

opacity:0;
transform:translateY(30px);

}

to{

opacity:1;
transform:translateY(0);

}

}

/* ===============================
TRUST BAR STICKY
=============================== */

.sticky-trust{

position:fixed;
bottom:0;
left:0;
right:0;
width:100%;
transform:none;

z-index:150;

transition:transform .3s ease, box-shadow .3s ease;

}

.sticky-trust.trust-bar{
border-left:none;
border-right:none;
border-bottom:none;
border-radius:0;
}

/* quand on atteint le footer */

.sticky-trust.stop{

position:absolute;

}

@media (max-width:768px){

.sticky-trust{
width:100%;
bottom:0;
}

.trust-bar{
padding:9px 12px;
}

.trust-track{
gap:14px;
animation-duration:34s;
}

.trust-item{
font-size:11px;
gap:7px;
}

.trust-item:not(:last-child)::after{
height:13px;
margin-left:8px;
}

.trust-item span{
width:18px;
height:18px;
font-size:11px;
}

}

/* ===============================
HERO ANIMATION
=============================== */

.rust-hero.fade-up{

opacity:0;
transform:translateY(60px) scale(0.98);
transition:all 1s cubic-bezier(.22,.61,.36,1);

}

.rust-hero.fade-up.visible{

opacity:1;
transform:translateY(0) scale(1);

}

/* animation titres hero */

.rust-hero h1{

opacity:0;
transform:translateY(40px);
transition:all 1s ease;

}

.rust-hero.visible h1{

opacity:1;
transform:translateY(0);

}

.rust-hero p{

opacity:0;
transform:translateY(50px);
transition:all 1s ease .2s;

}

.rust-hero.visible p{

opacity:1;
transform:translateY(0);

}

.rust-hero .btn{

opacity:0;
transform:translateY(60px);
transition:all 1s ease .4s;

}

.rust-hero.visible .btn{

opacity:1;
transform:translateY(0);

}

.rust-hero{

will-change:transform, opacity;

}

.problem-section {
  position:relative;
  background:
    radial-gradient(circle at top left, rgba(247,187,63,.1), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
}

.problem-heading {
  max-width:720px;
  margin-bottom:10px;
}

.problem-heading h2,
.problem-heading .sub {
  color:var(--ink);
}

.premium-problem-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
  margin-top:26px;
}

.problem-card {
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:28px 24px 24px;
  background:linear-gradient(180deg, var(--primary) 0%, #31589a 100%);
  border:1px solid rgba(36,66,118,.24);
  border-radius:24px;
  box-shadow:0 18px 40px rgba(15,23,42,.07);
  overflow:hidden;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.problem-card::before {
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg, var(--primary), var(--secondary));
}

.problem-card::after {
  content:'';
  position:absolute;
  top:-36px;
  right:-22px;
  width:120px;
  height:120px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(36,66,118,.08) 0%, rgba(36,66,118,0) 72%);
  pointer-events:none;
}

.problem-card:hover {
  transform:translateY(-6px);
  border-color:rgba(36,66,118,.42);
  box-shadow:0 24px 48px rgba(15,23,42,.12);
}

.problem-card__top {
  display:flex;
  align-items:flex-start;
  gap:16px;
}

.problem-card__body {
  flex:1;
  min-width:0;
}

.problem-card__icon {
  flex-shrink:0;
  width:64px;
  height:64px;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  color:var(--white);
  font-size:22px;
  box-shadow:0 14px 28px rgba(0,0,0,.16);
}

.problem-card h4 {
  margin-bottom:8px;
  font-family:var(--font);
  font-size:17px;
  font-weight:600;
  color:var(--white);
  line-height:1.25;
}

.problem-card p {
  margin-bottom:0;
  font-family:var(--font);
  font-size:13.5px;
  line-height:1.65;
  color:rgba(255,255,255,.78);
}

.problem-card__impact {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:var(--cream);
  border:1px solid rgba(247,187,63,.28);
  font-family:var(--font);
  font-size:12px;
  font-weight:800;
  line-height:1.4;
  text-align:center;
  color:var(--ink);
  margin-top:20px;
}

.problem-solution {
  margin-top:34px;
  padding:30px 32px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  background: var(--secondary);
  border:1px solid rgba(247,187,63,.2);
  border-radius:24px;
  box-shadow:0 22px 50px rgba(26,54,98,.22);
}

.problem-solution__content {
  max-width:620px;
}

.problem-solution__eyebrow {
  margin-bottom:10px;
  font-family:var(--font);
  font-size:11px;
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
  color:rgba(255,255,255,.66);
}

.problem-solution h3 {
  margin-bottom:8px;
  font-family:var(--serif);
  font-size:28px;
  font-weight:900;
  line-height:1.1;
  color:var(--white);
}

.problem-solution h3 em {
  color:var(--white);
  font-style:italic;
}

.problem-solution p {
  font-family:var(--font);
  font-size:15px;
  line-height:1.7;
  color:rgba(255,255,255,.76);
}

.problem-solution__button {
  flex-shrink:0;
}

/* ===============================
PROBLEME CARDS MOBILE
=============================== */

@media (max-width:768px){

.premium-problem-grid{

grid-template-columns:1fr !important;

}

.problem-solution{

flex-direction:column;
align-items:flex-start;

}

.problem-solution__button{

width:100%;
justify-content:center;

}

}

@media (max-width:768px){

.premium-problem-grid{

gap:18px;

}

.problem-card{

padding:24px 20px 20px;

}

.problem-card__top{

gap:14px;

}

.problem-card__icon{

width:56px;
height:56px;
border-radius:16px;

}

}

/* ===============================
HOW STEPS MOBILE
=============================== */

@media (max-width:768px){

.how-steps{

grid-template-columns:1fr;

}

.how-steps::before{

display:none;

}

.h-step{

padding:12px 0;

}

.step-dot{

margin-bottom:8px;

}

}

/* ===============================
HOW SECTION CARDS MOBILE
=============================== */

@media (max-width:768px){

.section-inner > div[style*="grid-template-columns:repeat(3,1fr)"]{

grid-template-columns:1fr !important;

gap:22px;

}


}

/* ===============================
TIMELINE MOBILE COMMENT CA MARCHE
=============================== */

@media (max-width:768px){

.how-steps{

display:flex;
flex-direction:column;
align-items:flex-start;
position:relative;
padding-left:10px;

}

/* ligne verticale */

.how-steps::before{

content:"";
position:absolute;
left:30px;
top:0;
bottom:0;
width:3px;
background:var(--secondary);

}

/* �tape */

.h-step{

display:flex;
align-items:center;
gap:18px;
position:relative;

}

/* cercle */

.step-dot{

width:60px;
height:60px;

border-radius:50%;

display:flex;
align-items:center;
justify-content:center;

background:var(--white);
border:3px solid var(--secondary);

font-size:22px;

z-index:2;

}

/* texte */

.step-label { font-family:var(--font); font-size:12px; font-weight:700; color:var(--ink); line-height:1.4; }

}

.h-step{

opacity:0;
transform:translateY(30px);
transition:all .6s ease;

}

.h-step.visible{

opacity:1;
transform:translateY(0);

}

/* ===============================
PREMIUM HOW SECTION
=============================== */

.premium-how-section{
--premium-ease:cubic-bezier(0.4, 0, 0.2, 1);
--premium-gold:rgba(247,187,63,.96);
--premium-gold-soft:rgba(247,187,63,.18);
--premium-surface:rgba(255,255,255,.96);
--premium-border:rgba(247,187,63,.22);
--premium-shadow:0 10px 30px rgba(0,0,0,.4);
position:relative;
overflow:hidden;
}

.premium-how-section::before{
content:'';
position:absolute;
inset:0;
background:linear-gradient(180deg, rgba(26,24,20,0), rgba(26,24,20,0));
pointer-events:none;
}

.premium-how-section .section-inner{
position:relative;
z-index:1;
}

.premium-how-section h2,
.premium-how-section .sub,
.premium-how-section .how-steps,
.premium-how-section .how-steps + .grid-3 > .card.card-full{
opacity:0;
transform:translateY(30px);
will-change:transform, opacity;
}

.premium-how-section.is-visible h2{
animation:premiumHowReveal .85s var(--premium-ease) forwards;
}

.premium-how-section.is-visible .sub{
animation:premiumHowReveal .85s .1s var(--premium-ease) forwards;
}

.premium-how-section.is-visible .how-steps{
animation:premiumHowReveal .9s .2s var(--premium-ease) forwards;
}

.premium-how-section.is-visible .how-steps + .grid-3 > .card.card-full:nth-child(1){
animation:premiumHowReveal .8s .3s var(--premium-ease) forwards;
}

.premium-how-section.is-visible .how-steps + .grid-3 > .card.card-full:nth-child(2){
animation:premiumHowReveal .8s .5s var(--premium-ease) forwards;
}

.premium-how-section.is-visible .how-steps + .grid-3 > .card.card-full:nth-child(3){
animation:premiumHowReveal .8s .7s var(--premium-ease) forwards;
}

.premium-how-section h2 em{
background:none;
-webkit-background-clip:border-box;
background-clip:border-box;
-webkit-text-fill-color:#f7bb3f;
color:#f7bb3f;
text-shadow:none;
animation:premiumTrustPulse 3s ease-in-out infinite;
}

.premium-how-section .sub{
max-width:640px;
color:#f7bb3f;
}

.premium-how-section .how-steps{
grid-template-columns:repeat(5, minmax(0, 1fr));
gap:18px;
align-items:start;
padding:18px 0 22px;
margin-bottom:46px;
isolation:isolate;
}

.premium-how-section .how-steps::before,
.premium-how-section .how-steps::after{
content:'';
position:absolute;
left:8%;
right:8%;
top:59px;
height:4px;
border-radius:999px;
pointer-events:none;
}

.premium-how-section .how-steps::before{
background:rgba(247,187,63,.22);
box-shadow:none;
}

.premium-how-section .how-steps::after{
background:#f7bb3f;
transform:scaleX(0);
transform-origin:left center;
box-shadow:0 0 18px rgba(247,187,63,.2);
transition:transform 1.35s .26s var(--premium-ease);
}

.premium-how-section.is-visible .how-steps::after{
transform:scaleX(1);
}

.premium-how-section .h-step{
padding:0 8px;
opacity:1;
transform:none;
transition:transform .3s ease, filter .3s ease;
}

.premium-how-section .step-dot{
position:relative;
width:96px;
height:96px;
margin:0 auto 16px;
border:1px solid rgba(247,187,63,.3);
background:#ffffff;
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
box-shadow:0 18px 30px rgba(0,0,0,.12);
transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease, background .3s ease;
}

.premium-how-section .step-dot::before{
content:'';
position:absolute;
inset:10px;
border-radius:50%;
border:1px solid rgba(247,187,63,.16);
background:none;
opacity:1;
}

.premium-how-section .step-dot i{
position:relative;
z-index:1;
opacity:.9;
color:#f7bb3f;
transition:transform .3s ease, opacity .3s ease, color .3s ease, text-shadow .3s ease;
}

.premium-how-section .step-label{
font-size:13px;
font-weight:800;
line-height:1.55;
letter-spacing:.02em;
color:var(--ink2);
transition:color .3s ease, transform .3s ease;
}

.premium-how-section .h-step::after{
content:attr(data-tip);
position:absolute;
left:50%;
bottom:-30px;
transform:translate(-50%, 8px);
padding:6px 10px;
border-radius:999px;
background:#ffffff;
border:1px solid rgba(247,187,63,.22);
box-shadow:0 10px 24px rgba(0,0,0,.16);
font-family:var(--font);
font-size:10px;
font-weight:700;
letter-spacing:.14em;
text-transform:uppercase;
white-space:nowrap;
color:var(--ink2);
opacity:0;
pointer-events:none;
transition:opacity .3s ease, transform .3s ease;
}

.premium-how-section .h-step:hover,
.premium-how-section .h-step.is-active{
transform:translateY(-5px);
}

.premium-how-section .h-step:hover .step-dot,
.premium-how-section .h-step.is-active .step-dot,
.premium-how-section .h-step:focus-within .step-dot{
transform:scale(1.15);
border-color:#f7bb3f;
background:#ffffff;
box-shadow:0 20px 38px rgba(0,0,0,.16), 0 0 18px rgba(247,187,63,.14);
}

.premium-how-section .h-step:hover .step-dot i,
.premium-how-section .h-step.is-active .step-dot i,
.premium-how-section .h-step:focus-within .step-dot i{
opacity:1;
transform:scale(1.06);
color:#f7bb3f;
text-shadow:none;
}

.premium-how-section .h-step:hover .step-label,
.premium-how-section .h-step.is-active .step-label,
.premium-how-section .h-step:focus-within .step-label{
color:#f7bb3f;
transform:translateY(2px);
}

.premium-how-section .h-step:hover::after,
.premium-how-section .h-step.is-active::after,
.premium-how-section .h-step:focus-within::after{
opacity:1;
transform:translate(-50%, 0);
}

.premium-how-section .how-steps + .grid-3{
gap:22px;
align-items:stretch;
position:relative;
}

.premium-how-section .how-steps + .grid-3::before{
content:'+120 chantiers supervises avec succes';
grid-column:1 / -1;
justify-self:center;
margin:-2px 0 8px;
padding:10px 18px;
border-radius:999px;
background:#ffffff;
border:1px solid rgba(247,187,63,.22);
font-family:var(--font);
font-size:12px;
font-weight:800;
font-variant:all-small-caps;
letter-spacing:.24em;
color:#f7bb3f;
text-align:center;
animation:premiumTrustPulse 3s ease-in-out infinite;
}

.premium-how-section .card.card-full{
min-height:100%;
padding:30px 28px;
background:#244276;
border:1px solid rgba(255,255,255,.12);
border-radius:24px;
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
box-shadow:0 16px 38px rgba(0,0,0,.26);
overflow:hidden;
transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease, background .3s ease;
}

.premium-how-section .card.card-full::before{
height:1px;
background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.4), rgba(255,255,255,0));
transform:scaleX(1);
opacity:.9;
}

.premium-how-section .card.card-full::after{
content:'';
position:absolute;
inset:auto -18% -34% auto;
width:180px;
height:180px;
border-radius:50%;
background:none;
opacity:0;
pointer-events:none;
transition:opacity .3s ease, transform .3s ease;
}

.premium-how-section .card.card-full:hover{
transform:translateY(-8px) scale(1.02);
background:#244276;
border-color:rgba(255,255,255,.2);
box-shadow:0 22px 52px rgba(0,0,0,.34), 0 0 20px rgba(36,66,118,.18);
}

.premium-how-section .card.card-full:hover::after{
opacity:.7;
transform:scale(1.08);
}

.premium-how-section .card.card-full .icon1{
display:inline-flex;
align-items:center;
justify-content:center;
width:82px;
height:82px;
border-radius:22px;
background:rgba(255,255,255,.08);
border:1px solid rgba(255,255,255,.14);
box-shadow:0 14px 28px rgba(0,0,0,.16);
}

.premium-how-section .card.card-full .iconri2{
color:#ffffff;
filter:none;
}

.premium-how-section .card.card-full h3{
color:#ffffff;
font-size:17px;
}

.premium-how-section .card.card-full p{
color:rgba(255,255,255,.88) !important;
}

.premium-how-section .card.card-full .content > div:last-child{
background:rgba(255,255,255,.08) !important;
color:#ffffff !important;
border:1px solid rgba(255,255,255,.14);
box-shadow:none;
}

@keyframes premiumHowReveal{
from{
opacity:0;
transform:translateY(30px);
}
to{
opacity:1;
transform:translateY(0);
}
}

@keyframes premiumGoldPulse{
0%, 100%{
filter:none;
}
50%{
filter:none;
}
}

@keyframes premiumTrustPulse{
0%, 100%{
opacity:.72;
}
50%{
opacity:1;
}
}

@media (max-width:900px){
.premium-how-section .how-steps{
gap:12px;
margin-bottom:34px;
}

.premium-how-section .step-dot{
width:84px;
height:84px;
}
}

@media (max-width:768px){
.premium-how-section .how-steps{
display:flex;
flex-direction:column;
align-items:stretch;
gap:12px;
padding:10px 0 10px;
margin-bottom:26px;
}

.premium-how-section .how-steps::before,
.premium-how-section .how-steps::after{
left:32px;
right:auto;
top:12px;
bottom:12px;
width:4px;
height:auto;
transform-origin:center top;
}

.premium-how-section .how-steps::before{
background:rgba(247,187,63,.22);
box-shadow:none;
}

.premium-how-section .how-steps::after{
box-shadow:0 0 14px rgba(247,187,63,.16);
}

.premium-how-section .how-steps::after{
transform:scaleY(0);
}

.premium-how-section.is-visible .how-steps::after{
transform:scaleY(1);
}

.premium-how-section .h-step{
display:flex;
align-items:center;
gap:16px;
padding:14px 14px 14px 0;
padding-left:0;
text-align:left;
border-radius:22px;
background:#ffffff;
border:1px solid rgba(247,187,63,.22);
box-shadow:0 14px 28px rgba(0,0,0,.16);
backdrop-filter:blur(8px);
-webkit-backdrop-filter:blur(8px);
position:relative;
}

.premium-how-section .h-step::before{
content:'';
position:absolute;
left:32px;
top:50%;
width:10px;
height:10px;
border-radius:50%;
background:#f7bb3f;
box-shadow:none;
transform:translate(-50%, -50%);
z-index:0;
}

.premium-how-section .step-dot{
flex-shrink:0;
width:64px;
height:64px;
margin:0 0 0 0;
margin-left:0;
position:relative;
z-index:1;
}

.premium-how-section .step-label{
font-size:14px;
line-height:1.45;
max-width:16ch;
display:block;
}

.premium-how-section .h-step::after{
display:none;
}

.premium-how-section .h-step:nth-child(1) .step-label::before{
content:'01';
}

.premium-how-section .h-step:nth-child(2) .step-label::before{
content:'02';
}

.premium-how-section .h-step:nth-child(3) .step-label::before{
content:'03';
}

.premium-how-section .h-step:nth-child(4) .step-label::before{
content:'04';
}

.premium-how-section .h-step:nth-child(5) .step-label::before{
content:'05';
}

.premium-how-section .step-label::before{
display:block;
margin-bottom:4px;
font-size:11px;
font-weight:800;
letter-spacing:.24em;
color:#f7bb3f;
}

.premium-how-section .h-step.is-active,
.premium-how-section .h-step:active{
transform:translateX(4px);
border-color:rgba(247,187,63,.38);
background:#ffffff;
box-shadow:0 18px 32px rgba(0,0,0,.12), 0 0 16px rgba(247,187,63,.1);
}

.premium-how-section .h-step.is-active::before,
.premium-how-section .h-step:active::before{
box-shadow:none;
}

.premium-how-section .how-steps + .grid-3::before{
font-size:11px;
letter-spacing:.18em;
padding:9px 14px;
margin:2px auto 10px;
width:min(100%, 320px);
line-height:1.35;
}

.premium-how-section .card.card-full{
padding:22px 20px;
border-radius:20px;
}

.premium-how-section .card.card-full .icon1{
width:70px;
height:70px;
border-radius:18px;
}
}

@media (max-width:480px){
.premium-how-section .how-steps{
gap:10px;
}

.premium-how-section .how-steps::before,
.premium-how-section .how-steps::after{
left:29px;
}

.premium-how-section .h-step{
gap:14px;
padding:12px 12px 12px 0;
border-radius:20px;
}

.premium-how-section .h-step::before{
left:29px;
width:8px;
height:8px;
}

.premium-how-section .step-dot{
width:58px;
height:58px;
}

.premium-how-section .step-label{
font-size:13px;
max-width:none;
}
}

@media (prefers-reduced-motion:reduce){
.premium-how-section h2,
.premium-how-section .sub,
.premium-how-section .how-steps,
.premium-how-section .how-steps + .grid-3 > .card.card-full{
opacity:1;
transform:none;
animation:none !important;
}

.premium-how-section .how-steps::after,
.premium-how-section h2 em,
.premium-how-section .how-steps + .grid-3::before{
animation:none !important;
transition:none !important;
transform:none !important;
}
}

@media (max-width:768px){

.section h2{

font-size:26px;

}

.sub{

font-size:15px;

}

.card{

padding:26px;

}

}



/* ===============================
HERO MOBILE LAYOUT FIX
=============================== */

@media (max-width:768px){

.rust-hero-inner{

display:flex !important;
flex-direction:column !important;

}

}
@media (max-width:768px){

.rust-hero h1{

font-size:34px !important;
line-height:1.2;

}

}
@media (max-width:768px){

.rust-hero-inner > div:last-child{

display:flex !important;
flex-direction:row !important;

overflow-x:auto;

gap:14px;

scroll-snap-type:x mandatory;

padding-bottom:10px;

}

.rust-hero-inner > div:last-child > div{

min-width:85%;
flex-shrink:0;

scroll-snap-align:start;

}

}
.rust-hero-inner > div:last-child{

scroll-behavior:smooth;

}


/* HERO MOBILE FIX SPACING */

@media (max-width:768px){

.rust-hero{

padding-top:120px;

}

}

/* MENU MOBILE */

.mobile-menu{
  position:fixed;
  top:88px;
  left:16px;
  right:16px;
  width:auto;
  height:auto;
  max-height:calc(100vh - 112px);
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:20px;
  background:linear-gradient(180deg, rgba(10,18,35,.96), rgba(15,23,42,.92));
  border:1px solid rgba(212,168,67,.22);
  border-radius:24px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-16px) scale(.98);
  transition:opacity .35s ease, transform .35s ease, visibility .35s ease;
  z-index:4000;
  box-shadow:0 28px 60px rgba(2,6,23,.45);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.mobile-menu::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:var(--primary);
  pointer-events:none;
}

/* taille des emojis Twemoji */

/* ===============================
EMOJI ICONS
=============================== */

img.emoji{

width:30px;
height:30px;

display:flex;
align-items:center;
justify-content:center;

border-radius:12px;

background:rgba(0,0,0,0.05);

}

img.emoji{

width:30px;
height:30px;

}

.screens-row1 img.emoji{

width:20px;
height:20px;

display:flex;
align-items:center;
justify-content:center;

border-radius:12px;

background:rgba(0,0,0,0.05);

}

.screens-row1 img.emoji{

width:20px;
height:20px;

}
.screens-row img.emoji{

width:20px;
height:20px;

display:flex;
align-items:center;
justify-content:center;

border-radius:12px;

background:rgba(0,0,0,0.05);

}

.screens-row img.emoji{

width:20px;
height:20px;

}
/* TABLETTE */

@media (max-width:1024px){

img.emoji{

width:20px;
height:20px;

display:flex;
align-items:center;
justify-content:center;

border-radius:12px;

background:rgba(0,0,0,0.05);

}

img.emoji{

width:20px;
height:20px;

}
.screens-row1 img.emoji{

width:10px;
height:10px;

}

.screens-row1 img.emoji{

width:10px;
height:10px;

}
.screens-row img.emoji{

width:10px;
height:10px;


}

.screens-row img.emoji{

width:10px;
height:10px;

}
}

/* MOBILE */

@media (max-width:768px){

img.emoji{

width:18px;
height:18px;

display:flex;
align-items:center;
justify-content:center;

border-radius:12px;

background:rgba(0,0,0,0.05);

}

img.emoji{

width:18px;
height:18px;

}

.screens-row1 img.emoji{

width:10px;
height:10px;

}

.screens-row1 img.emoji{

width:10px;
height:10px;

}
.screens-row img.emoji{

width:10px;
height:10px;


}

.screens-row img.emoji{

width:10px;
height:10px;

}

}

/* ===============================
FONT AWESOME ICONS
=============================== */

.fa-solid,
.fa-regular,
.fa-brands{

font-size:30px;

vertical-align:middle;

}

/* TABLETTE */

@media (max-width:1024px){

.fa-solid,
.fa-regular,
.fa-brands{

font-size:20px;

}

}

/* MOBILE */

@media (max-width:768px){

.fa-solid,
.fa-regular,
.fa-brands{

font-size:18px;

}

.icon1{
display:none;
}

}

.card{
display:flex;
gap:20px;
}

.icon{
font-size:22px;
margin-top:4px;
}

.content h3{
margin:0;
font-size:20px;
}

.content p{
margin:8px 0;
color:#666;
}

.badge{
background:#ffe7d6;
color:#ff6b2c;
padding:6px 12px;
border-radius:20px;
font-size:14px;
display:inline-block;
}

.hero-grid{
display:grid;
grid-template-columns:1.15fr 1fr;
gap:40px;
align-items:center;
}

.flex-gap{
display:flex;
gap:14px;
flex-wrap:wrap;
}

.grid-3{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
}

.grid-2{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:18px;
}

.grid-1fr{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:24px;
	max-width:800px;
	margin:0 auto;
}

.freemium-grid > div{
  min-width:0;
}

@media (max-width: 768px) {
     .card-full {
        grid-column:1 / -1;
    }

  .freemium-section .section-inner{
    padding-left:0;
    padding-right:0;
  }

  .freemium-section .sub.c{
    margin-bottom:28px;
    padding:0 10px;
  }

  .freemium-section .freemium-grid{
    grid-template-columns:1fr;
    gap:16px;
    max-width:100%;
  }

  .freemium-section .freemium-grid > div{
    padding:22px 18px !important;
    border-radius:18px !important;
  }

  .freemium-section .freemium-grid h3{
    font-size:17px !important;
  }

  .freemium-section .freemium-grid > div > div[style*="display:flex;flex-direction:column"]{
    gap:10px !important;
  }

  .freemium-section .freemium-grid > div > div[style*="display:flex;flex-direction:column"] > div{
    align-items:flex-start !important;
    text-align:left !important;
  }

  .freemium-section .freemium-grid span[style*="font-family:var(--font);font-size:14px"]{
    font-size:13px !important;
    line-height:1.55 !important;
  }
	}
	
.traction-stats{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:24px;
margin-top:40px;
}

.stat-card{
background:var(--primary);
border-radius:16px;
padding:28px;
text-align:center;
border-top:3px solid var(--secondary);
}

.stat-number{
font-size:36px;
font-weight:800;
color:var(--secondary);
margin-bottom:6px;
}

.stat-label{
font-size:14px;
color:var(--white);
}

.projects-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
margin-top:50px;
}

.project-card{
background:var(--primary);
border-radius:16px;
overflow:hidden;
transition:transform .3s ease;
}

.project-card:hover{
transform:translateY(-6px);
}

.project-card img{
width:100%;
height:220px;
object-fit:cover;
}

.project-info{
padding:18px;
}

.project-info h4{
color:var(--white);
margin-bottom:6px;
}

.project-info p{
font-size:13px;
color:var(--white);
}

@media(max-width:900px){

.traction-stats{
grid-template-columns:1fr 1fr;
}

.projects-grid{
grid-template-columns:1fr;
}

}

.stat-card{
background:var(--primary);
padding:28px;
border-radius:16px;
position:relative;
overflow:hidden;
transition:transform .3s ease;
}

.stat-card::after{

content:"";
position:absolute;
left:0;
bottom:0;
width:0%;
height:3px;
background:var(--secondary);
transition:width .35s ease;

}

.stat-card:hover::after{
width:100%;
}

.stat-card:hover{
transform:translateY(-6px);
}

[class^="ri-"], [class*=" ri-"] {
    font-size: 23px;
    color: var(--secondary);
}
 .iconri{
    font-size: 20px;
    color: var(--white);
}

 .iconri1{
    font-size: 35px;
    color: var(--white);
}

.iconri2{
    font-size: 30px;
}
.iconri3{
    font-size: 40px;
    color: var(--white);
}
 .iconri5{
    font-size: 30px;
    color: var(--white);
}


/*Estimateur*/

/* ══ HEADER ══ */

.es_hdr-right{display:flex;align-items:center;gap:16px}
.es_hdr-tag{
  font-size:8px;letter-spacing:4px;text-transform:uppercase;
  color:var(--secondary);padding:4px 10px;border:1px solid rgba(200,86,26,.3);
}
.es_hdr-note{font-size:10px;color:var(--cream3)}

/* ══ es_hero ══ */
.es_hero{
  padding:25px 48px 25px;
  text-align:center;position:relative;overflow:hidden;
}
.es_hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(200,86,26,.1) 0%,transparent 70%);
  pointer-events:none;
}
.es_hero-kicker{font-size:8px;letter-spacing:6px;text-transform:uppercase;color:var(--secondary);margin-bottom:14px;animation:fadeUp .5s ease both}
.es_hero-title{
  font-size:clamp(32px,5vw,56px);
  font-weight:600;color:var(--cream);line-height:1.1;
  margin-bottom:12px;animation:fadeUp .5s ease .1s both;
}
.es_hero-title em{color:var(--secondary);font-style:italic}
.es_hero-sub{
  font-size:14px;color:var(--cream);max-width:560px;margin:0 auto 12px;
  line-height:1.75;animation:fadeUp .5s ease .2s both;
}
.es_hero-disclaimer{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 16px;background:rgba(212,168,67,.08);
  border:1px solid rgba(212,168,67,.25); border-radius:15px;
  font-size:13px;color:rgba(212,168,67,.8);
  animation:fadeUp .5s ease .3s both;
}

/* ══ es_main LAYOUT ══ */
.es_main{
  display:grid;grid-template-columns:1fr 420px;
  gap:0;max-width:1400px;margin:0 auto;
  padding:0 48px 80px;
}

/* ══ FORM PANEL ══ */
.es_form-panel{padding-right:40px;padding-top:40px}

.es_step-group{margin-bottom:36px}
.es_sg-header{
  display:flex;align-items:center;gap:14px;
  margin-bottom:20px;padding-bottom:14px;
  border-bottom:1px solid var(--border);
}
.es_sg-n{
  width:28px;height:28px;border:1px solid var(--secondary);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:500;color:var(--secondary);flex-shrink:0;
}
.es_sg-title{font-size:15px;font-weight:400;color:var(--cream)}
.sg-sub{font-size:12px;color:var(--cream);margin-top:2px}

.es_form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.es_form-grid.full{grid-template-columns:1fr}
.es_form-grid.three{grid-template-columns:1fr 1fr 1fr}

.es_field{display:flex;flex-direction:column;gap:6px}
.es_field.full{grid-column:1/-1}
label{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--cream);font-weight:400}
.es_field-hint{font-size:12px;color:rgba(245,237,216,.2);font-style:italic}

input[type=text],input[type=number],select,textarea{
  background:var(--ink2);border:1px solid var(--border);
  color:var(--cream);font-size:13px;font-weight:300;
  padding:11px 14px;outline:none;transition:.15s;
  border-radius:14px;
  -webkit-appearance:none;appearance:none;
}
input[type=text]:focus,input[type=number]:focus,select:focus,textarea:focus{
  border-color:var(--secondary);box-shadow:0 0 0 3px rgba(200,86,26,.1);
}
input[type=number]{font-size:12px}
select option{background:var(auto)}
textarea{resize:vertical;min-height:80px}

/* es_range slider */
.es_range-wrap{display:flex;flex-direction:column;gap:8px}
.es_range-top{display:flex;justify-content:space-between;align-items:center}
.range-val{
  font-size:12px;
  color:var(--secondary);font-weight:500;
}
input[type=range]{
  -webkit-appearance:none;appearance:none;
  width:100%;height:4px;background:var(--cream);
  outline:none;border-radius:2px;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:18px;height:18px;
  border-radius:50%;background:var(--secondary);cursor:pointer;
  box-shadow:0 0 8px rgba(200,86,26,.4);
}
input[type=range]::-moz-range-thumb{
  width:18px;height:18px;border:none;border-radius:50%;
  background:var(--secondary);cursor:pointer;
}
.range-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--cream)}

/* Toggles / es_chips */
.es_chip-group{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.es_chip{
  padding:6px 12px;border:1px solid var(--border);
  font-size:12px;color:var(--cream);cursor:pointer;transition:.15s;
  user-select:none;border-radius:999px;
}
.es_chip:hover{border-color:rgba(200,86,26,.4);color:var(--cream)}
.es_chip.active{border-color:var(--secondary);background:var(--secondary);color:var(--cream)}

/* es_checkbox row */
.es_check-row{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;background:var(--ink2);border:1px solid var(--border);
  cursor:pointer;transition:.15s;user-select:none;border-radius:14px;
}
.es_check-row:hover{border-color:rgba(200,86,26,.3)}
.es_check-row.active{border-color:var(--secondary);background:var(--secondary)}
.es_check-box{
  width:16px;height:16px;border:1px solid var(--cream);
  display:flex;align-items:center;justify-content:center;border-radius:5px;
  font-size:11px;flex-shrink:0;transition:.15s;
}
.es_check-box i {
  color: var(--ink);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;
}
.es_check-row.active .es_check-box{background:var(--cream);border-color:var(--secondary);color:ink}
.es_check-label{font-size:13px;color:var(--cream)}
.es_check-cost{font-size:13px;color:var(--cream);margin-left:auto}

/* CTA button */
.es_btn-estimate{
  width:100%;padding:18px;margin-top:24px;
  background:var(--secondary);border:none;color:white;
  font-size:13px;font-weight:500;
  letter-spacing:3px;text-transform:uppercase;cursor:pointer;
  transition:.2s;position:relative;overflow:hidden;border-radius:18px;
}
.es_btn-estimate::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);
  transform:translateX(-100%);transition:transform .4s ease;
}
.es_btn-estimate:hover::before{transform:translateX(100%)}
.es_btn-estimate:hover{background:var(--secondary-l);transform:translateY(-1px); color:var(--ink)}
.es_btn-estimate:disabled{background:var(--ink3);cursor:not-allowed;transform:none}
.es_btn-estimate.loading{pointer-events:none}

/* Loading bar */
.es_loading-bar{
  height:2px;background:var(--border);overflow:hidden;
  display:none;margin-top:8px;
}
.es_loading-bar.show{display:block}
.es_lb-fill{
  height:100%;background:var(--secondary);
  animation:loadFill 2.5s ease forwards;
}

/* ══ es_result PANEL ══ */
.es_result-panel{
  padding-top:40px;
  position:sticky;top:80px;height:fit-content;
}

.es_result-box{
  background:var(--ink2);border:1px solid var(--border);
  overflow:hidden;
  opacity:0;transform:translateY(20px);
  transition:opacity .5s ease,transform .5s ease;
}
.es_result-box.show{opacity:1;transform:translateY(0)}

.es_rb-header{
  background:var(--ink);padding:16px 20px;
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
}
.es_rb-h-title{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--secondary)}
.es_rb-h-badge{
  font-size:10px;letter-spacing:2px;text-transform:uppercase;
  padding:3px 8px;border:1px solid rgba(55,90,35,.4);color:#5A9E3A;
  background:rgba(55,90,35,.1);
  transition:color .35s ease, border-color .35s ease, background .35s ease, box-shadow .35s ease;
}

.es_rb-body{padding:20px}

/* Confidence meter */
.es_conf-meter{
  margin-bottom:20px;
  padding:14px 14px 10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:
    radial-gradient(circle at top right, rgba(247,187,63,.14), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 12px 28px rgba(0,0,0,.10);
}
.es_cm-label{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--cream);margin-bottom:8px}
.es_cm-bar{height:6px;background:var(--cream);border-radius:3px;overflow:hidden;margin-bottom:6px}
.es_cm-fill{height:100%;border-radius:3px;width:0%;background:linear-gradient(90deg,#d6452f,#f7bb3f,#2f8f4e);transition:width 1.2s ease .5s, background .35s ease}
.es_cm-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--cream)}
#confPct{transition:color .35s ease, text-shadow .35s ease}

/* es_main estimate */
.estimate-es_main{
  text-align:center;padding:20px 0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  margin-bottom:16px;
}
.es_em-label{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--cream);margin-bottom:8px}
.es_em-amount{
  font-size:36px;font-weight:600;
  color:var(--cream);line-height:1;margin-bottom:4px;
}
.es_em-amount span{color:var(--secondary)}
.es_em-unit{font-size:11px;color:var(--cream);letter-spacing:2px}
.es_em-range{
  display:flex;justify-content:center;align-items:center;gap:12px;
  margin-top:12px;font-size:11px;
}
.es_er-low{color:var(--sage);font-size:12px}
.es_er-sep{color:var(--cream)}
.es_er-hi{color:var(--secondary);font-size:12px}

/* es_breakdown */
.es_breakdown{margin-bottom:16px}
.es_bd-title{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--cream);margin-bottom:8px}
.es_bd-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:7px 10px;font-size:12px;
  border-bottom:1px solid rgba(245,237,216,.04);
}
.es_bd-row:last-child{border:none}
.es_bd-label{color:var(--cream)}
.es_bd-val{font-size:12px;color:var(--cream)}
.es_bd-bar{width:60px;height:3px;background:var(--cream);border-radius:2px;overflow:hidden;margin-left:8px}
.es_bd-bar-fill{height:100%;background:var(--secondary);border-radius:2px;transition:width 1s ease .8s}

/* Supervision line */
.es_supervision-block{
  background:var(--ink);border:1px solid rgba(200,86,26,.25);
  padding:12px 14px;margin-bottom:14px;
}
.es_sup-title{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--secondary);margin-bottom:6px}
.es_sup-row{display:flex;justify-content:space-between;font-size:12px;margin-bottom:3px}
.es_sup-label{color:var(--cream)}
.es_sup-val{font-size:12px;color:var(--secondary);font-weight:500}

/* Timeline */
.es_timeline-block{margin-bottom:14px}
.es_tl-title{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--cream);margin-bottom:8px}
.es_tl-row{
  display:flex;align-items:center;gap:10px;
  padding:5px 0;font-size:12px;color:var(--cream);
}
.es_tl-dot{width:6px;height:6px;border-radius:50%;background:var(--secondary);flex-shrink:0}
.es_tl-val{font-size:12px;color:var(--cream);margin-left:auto}

/* Disclaimer */
.es_result-disclaimer{
  padding:10px 14px;background:rgba(212,168,67,.06);
  border:1px solid rgba(212,168,67,.2);
  font-size:12px;color:rgba(212,168,67,.6);line-height:1.6;
}

/* Download btn */
.es_btn-dl{
  width:min(100%, 440px);
  margin:14px auto 0;
  padding:15px 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border-radius:18px;
  border:1px solid #c9a646;
  background:linear-gradient(180deg, rgba(26,24,20,.36), rgba(26,24,20,.16));
  color:var(--white);
  font-size:12px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-decoration:none;
  text-align:center;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 12px 30px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08);
  cursor:pointer;
  transition:transform .3s ease, background .3s ease, color .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.es_btn-dl i{
  font-size:18px;
  line-height:1;
  flex-shrink:0;
}
.es_btn-dl:hover{
  background:linear-gradient(135deg, #c9a646, #f7d87a);
  border-color:#f1d57a;
  color:#111;
  transform:translateY(-3px);
  box-shadow:0 18px 38px rgba(201,166,70,.28), 0 0 26px rgba(201,166,70,.22);
}
.es_btn-dl:active{
  transform:translateY(-1px) scale(.99);
}
.es_btn-dl[href*="wa.me"]{
  border:none;
  background:linear-gradient(135deg, #25D366 0%, #1dbf73 45%, #128C7E 100%);
  color:#fff;
  box-shadow:0 14px 30px rgba(18,140,126,.28), 0 0 0 1px rgba(255,255,255,.06) inset;
}
.es_btn-dl[href*="wa.me"]:hover{
  background:linear-gradient(135deg, #2be06f 0%, #20ca78 42%, #149785 100%);
  color:#fff;
  transform:translateY(-4px) scale(1.05);
  box-shadow:0 20px 42px rgba(37,211,102,.34), 0 0 30px rgba(37,211,102,.28);
}
.es_btn-dl[href*="wa.me"]:active{
  transform:translateY(-1px) scale(1.02);
}

/* Empty state */
.es_empty-state{
  padding:48px 24px;text-align:center;
  border:1px dashed var(--border);
  background:var(--ink2);border-radius:15px;
}
.es-icon{font-size:32px;margin-bottom:12px;opacity:.4}
.es-text{font-size:13px;color:var(--cream);line-height:1.7}

/* Animations */
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes premiumCtaReveal{
  0%{opacity:0;transform:translateY(18px) scale(.96)}
  60%{opacity:1;transform:translateY(-2px) scale(1.01)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes premiumCardReveal{
  0%{opacity:0;transform:translateY(16px)}
  100%{opacity:1;transform:translateY(0)}
}
@keyframes glowPulse{
  0%{box-shadow:0 16px 34px rgba(201,166,70,.24), inset 0 1px 0 rgba(255,255,255,.35), inset 0 -8px 20px rgba(110,72,10,.12), 0 0 0 rgba(247,187,63,.4)}
  50%{box-shadow:0 18px 38px rgba(201,166,70,.30), inset 0 1px 0 rgba(255,255,255,.35), inset 0 -8px 20px rgba(110,72,10,.12), 0 0 25px rgba(247,187,63,.42)}
  100%{box-shadow:0 16px 34px rgba(201,166,70,.24), inset 0 1px 0 rgba(255,255,255,.35), inset 0 -8px 20px rgba(110,72,10,.12), 0 0 0 rgba(247,187,63,.4)}
}
@keyframes iconBounce{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
@keyframes loadFill{
  0%{width:0%}30%{width:45%}70%{width:75%}90%{width:88%}100%{width:100%}
}
@keyframes countUp{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}

/* Print */
@media print{
  .es_hdr,.es_hero,.es_form-panel,.es_btn-dl,.es_result-disclaimer{display:none}
  .es_main{grid-template-columns:1fr;padding:0}
  .es_result-panel{position:static}
  .es_result-box{opacity:1;transform:none;border:2px solid #ccc}
}

/* Responsive */
@media(max-width:1000px){
  .es_main{grid-template-columns:1fr;padding:0 20px 60px}
  .es_form-panel{padding-right:0}
  .es_result-panel{position:static}
  .es_hdr{padding:16px 20px}
  .es_hero{padding:24px 20px 24px}
  .es_form-grid.three{grid-template-columns:1fr 1fr}
}

#paymentForm{
display:flex;
justify-content:center;
margin-top:8px;
opacity:0;
animation:premiumCardReveal .55s ease .14s forwards;
}

#es_paywall{
position:relative;
padding:20px 18px 0;
border-radius:24px;
background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

#es_paywall > .es_unlock_title,
#es_paywall > .es_features{
opacity:0;
animation:premiumCardReveal .5s ease forwards;
}

#es_paywall > .es_unlock_title{animation-delay:.02s}
#es_paywall > .es_features{animation-delay:.08s}

#es_paywall > div:last-of-type{
position:relative;
margin-top:18px !important;
padding:18px 18px 16px !important;
border-radius:20px !important;
background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.045)) !important;
border:1px solid rgba(212,168,67,.20) !important;
box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 14px 28px rgba(0,0,0,.14);
overflow:hidden;
opacity:0;
animation:premiumCardReveal .55s ease .22s forwards;
}

#es_paywall > div:last-of-type::before{
content:'';
position:absolute;
top:0;
left:18px;
right:18px;
height:1px;
background:linear-gradient(90deg, rgba(201,166,70,0), rgba(201,166,70,.75), rgba(201,166,70,0));
}

#es_paywall > div:last-of-type > div:first-child{
display:flex;
align-items:center;
gap:10px;
margin-bottom:12px !important;
padding-bottom:10px;
border-bottom:1px solid rgba(255,255,255,.08);
}

#es_paywall > div:last-of-type > div:first-child::before{
content:'';
width:8px;
height:8px;
border-radius:999px;
background:linear-gradient(135deg, #d6aa47, #f3d57d);
box-shadow:0 0 14px rgba(201,166,70,.55);
flex-shrink:0;
}

#es_paywall > div:last-of-type > div:last-child{
gap:10px !important;
}

#es_paywall > div:last-of-type > div:last-child > div{
display:flex;
align-items:flex-start;
gap:10px;
padding:8px 10px;
border-radius:14px;
background:rgba(255,255,255,.035);
border:1px solid rgba(255,255,255,.05);
transition:transform .3s ease, background-color .3s ease, border-color .3s ease;
}

#es_paywall > div:last-of-type > div:last-child > div:hover{
transform:translateX(3px);
background:rgba(255,255,255,.06);
border-color:rgba(212,168,67,.18);
}

.es_btn_unlock{
position:relative;
width:min(100%, 440px);
padding:16px 24px;
border:none;
border-radius:20px;
background:linear-gradient(135deg, #b98c2a 0%, #d6aa47 38%, #f3d57d 100%);
color:#111;
font-weight:800;
font-size:14px;
letter-spacing:.08em;
text-transform:uppercase;
cursor:pointer;
display:inline-flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:6px;
overflow:hidden;
opacity:0;
animation:premiumCtaReveal .7s cubic-bezier(.2,.8,.2,1) .18s forwards, glowPulse 2.6s ease-in-out 1s infinite;
transition:transform .3s ease, box-shadow .3s ease, filter .3s ease;
box-shadow:0 16px 34px rgba(201,166,70,.24), inset 0 1px 0 rgba(255,255,255,.35), inset 0 -8px 20px rgba(110,72,10,.12);
}

.es_btn_unlock::before{
content:'';
position:absolute;
inset:1px;
border-radius:19px;
background:linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0) 38%);
pointer-events:none;
}

.es_btn_unlock i{
position:relative;
z-index:1;
width:34px;
height:34px;
border-radius:999px;
display:inline-flex;
align-items:center;
justify-content:center;
background:rgba(17,17,17,.10);
box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
font-size:16px;
animation:iconBounce 1.5s ease-in-out infinite;
}

.es_btn_unlock span{
position:relative;
z-index:1;
display:inline-flex;
align-items:center;
justify-content:center;
min-width:122px;
padding:5px 12px;
border-radius:999px;
background:rgba(17,17,17,.12);
font-size:1.2em;
font-weight:900;
letter-spacing:.06em;
opacity:1;
color:#b8860b;
text-shadow:0 1px 0 rgba(255,255,255,.20);
}

.es_btn_unlock:hover{
transform:translateY(-3px) scale(1.02);
filter:saturate(1.06);
box-shadow:0 10px 30px rgba(0,0,0,.3), 0 0 28px rgba(201,166,70,.20), inset 0 1px 0 rgba(255,255,255,.4);
}

.es_btn_unlock:active{
transform:translateY(-1px) scale(.99);
}

@media (prefers-reduced-motion:reduce){
  .es_btn_unlock{
    animation:premiumCtaReveal .7s cubic-bezier(.2,.8,.2,1) .18s forwards;
  }

  .es_btn_unlock i{
    animation:none;
  }
}

.es_unlock_title{
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
color: #d4a843;
font-weight: 600;
font-size: 14px;
margin-bottom: 10px;
}

.es_unlock_title .es_icon i {
font-size: 14px;
}
.es_feature i {
font-size: 14px;
}

.es_features{
display: flex;
justify-content: center;
gap: 20px;
margin: 15px 0 25px;
flex-wrap: wrap;
}

.es_feature{
display: flex;
align-items: center;
gap: 6px;
color: #ccc;
font-size: 14px;
}

.es_feature span:first-child{
font-size: 14px;
}

/* Container des champs */
.es_form-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}

/* MOBILE */
@media (max-width: 768px) {
.es_form-grid {
grid-template-columns: 1fr;
}

.trust-bar{
 display:none;
}

.whatsapp-float {
  right: 16px;
  bottom: 16px;
  width: 58px;
  height: 58px;
  padding: 0;
}

.whatsapp-float__icon {
  width: 48px;
  height: 48px;
}
}


input, select {
width: 100%;
max-width: 100%;
box-sizing: border-box;
}

body {
overflow-x: hidden;
}


body.menu-open{
  overflow:hidden;
}

.es_field {
display: flex;
flex-direction: column;
}

label {
margin-bottom: 6px;
font-size: 12px;
color: #aaa;
}

.about-mission-section{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg, var(--primary) 0%, #1c3765 100%) !important;
}

.about-mission-section::before{
  content:"";
  position:absolute;
  inset:auto -120px -160px auto;
  width:320px;
  height:420px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(247,187,63,.18) 0%, rgba(247,187,63,0) 70%);
  pointer-events:none;
}

.about-mission-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
  gap:48px;
  align-items:start;
}

.about-mission-copy{
  padding-right:8px;
}

.about-mission-copy h2{
  margin:10px 0 20px;
}

.about-mission-copy p{
  font-family:var(--font);
  font-size:16px;
  color:rgba(245,237,216,.74);
  line-height:1.8;
}

.about-mission-copy p + p{
  margin-top:16px;
}

.about-mission-cards{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  grid-auto-rows:1fr;
  gap:18px;
  padding-left:6px;
  align-items:stretch;
}

.about-mission-card{
  display:flex;
  align-items:center;
  gap:18px;
  min-height:128px;
  height:100%;
  width:100%;
  padding:22px 24px;
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.06));
  border:1px solid rgba(245,237,216,.12);
  box-shadow:0 18px 42px rgba(10,18,35,.18);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.about-mission-card-icon{
  width:54px;
  height:54px;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:linear-gradient(135deg, rgba(247,187,63,.22), rgba(200,86,26,.28));
  color:var(--white);
  font-size:22px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15);
}

.about-mission-card-body{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.about-mission-card-body strong{
  font-family:var(--font);
  font-size:15px;
  font-weight:700;
  color:var(--white);
}

.about-mission-card-body span{
  font-family:var(--font);
  font-size:13px;
  line-height:1.65;
  color:rgba(245,237,216,.62);
}

@media (max-width:1024px){
  .about-mission-grid{
    grid-template-columns:1fr;
    gap:30px;
  }

  .about-mission-copy{
    padding-right:0;
  }

  .about-mission-cards{
    padding-left:0;
  }

}

@media (max-width:720px){
  .about-mission-cards{
    grid-template-columns:1fr;
  }

  .about-mission-card{
    min-height:auto;
    align-items:flex-start;
    padding:18px 20px;
  }
}
