
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --green-dark: #1b4332;
      --green-mid:  #2d6a4f;
      --green-main: #2e7d52;
      --green-light:#40916c;
      --gold:       #c9a84c;
      --gold-btn:   #c5943a;
      --dark:       #0d1b2a;
      --dark-navy:  #1a2535;
      --text-dark:  #1a1a2e;
      --text-muted: #6b7280;
      --border:     #e5e7eb;
      --white:      #ffffff;
      --bg-light:   #f9fafb;
      --font-display: 'Playfair Display', Georgia, serif;
    }

    html { scroll-behavior: smooth; }
    body { font-family: 'Inter', sans-serif; color: var(--text-dark); background: #fff; }
    h1, h2 { font-family: var(--font-display); font-weight: 700; }

    a { text-decoration: none; color: inherit; }
    img { display: block; max-width: 100%; }

    /* ─── NAVBAR ──────────────────────────────────────────── */
    .navbar {
      position: sticky; top: 0; z-index: 100;
      background: #fff;
      border-bottom: 1px solid var(--border);
      padding: 0 40px;
      display: flex; align-items: center; justify-content: space-between;
      height: 68px;
      box-shadow: 0 1px 8px rgba(0,0,0,.06);
    }
    .navbar-logo { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
    .navbar-logo img {
      width: 172px;
      height: 58px;
      object-fit: contain;
      display: block;
    }
    .navbar-logo .logo-icon {
      width: 44px; height: 44px; background: var(--green-dark);
      border-radius: 8px; display: flex; align-items: center; justify-content: center;
      color: #fff; font-weight: 900; font-size: 15px; letter-spacing: -0.5px;
    }
    .navbar-logo .logo-text { line-height: 1.15; }
    .navbar-logo .logo-text strong { display: block; font-size: 20px; font-weight: 800; letter-spacing: 2px; color: var(--green-dark); }
    .navbar-logo .logo-text span  { font-size: 10px; font-weight: 400; color: var(--text-muted); letter-spacing: 1px; text-transform: uppercase; }

    .navbar-nav { display: flex; align-items: center; gap: 4px; }
    .navbar-nav a {
      font-size: 13px; font-weight: 500; color: var(--text-dark); padding: 8px 14px;
      border-radius: 6px; transition: background .2s; white-space: nowrap;
      display: flex; align-items: center; gap: 4px;
    }
    .navbar-nav a:hover { background: var(--bg-light); }
    .navbar-nav a.active { color: var(--green-main); border-bottom: 2px solid var(--green-main); border-radius: 0; }
    .navbar-nav .has-arrow::after { content: "▾"; font-size: 10px; opacity: .6; }

    .navbar-cta {
      background: var(--green-dark); color: #fff !important;
      padding: 10px 22px !important; border-radius: 8px !important;
      font-weight: 600; font-size: 13px;
      display: flex; flex-direction: column; align-items: center; gap: 1px;
      line-height: 1.2;
    }
    .navbar-cta span.phone {
      font-size: 14px;
      font-weight: 700;
      white-space: nowrap;
      display: block;
    }
    .navbar-cta span.label { font-size: 10px; font-weight: 400; opacity: .85; }

    /* ─── HERO ────────────────────────────────────────────── */
    .hero {
      position: relative; overflow: hidden;
      min-height: 560px;
      background: linear-gradient(105deg, #f0f4f0 55%, transparent 56%);
    }
    .hero-bg {
      position: absolute; inset: 0; z-index: 0;
      background-image: url('https://images.unsplash.com/photo-1570129477492-45c003edd2be?auto=format&fit=crop&w=1400&q=80');
      background-repeat: no-repeat;
      background-size: cover;
      background-position: 92% center;
    }
    .hero-bg::before {
      content: '';
      position: absolute; inset: 0;
      background: linear-gradient(90deg, #f0f4f0 48%, rgba(240,244,240,.3) 70%, transparent 100%);
    }
    .hero-content {
      position: relative; z-index: 1;
      max-width: 1200px; margin: 0 auto;
      padding: 72px 40px 80px;
      display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 40px;
    }
    .hero-left {}
    .hero-tag {
      display: inline-block; font-size: 11px; font-weight: 700;
      color: var(--green-main); letter-spacing: 1.5px; text-transform: uppercase;
      margin-bottom: 20px;
    }
    .hero-title {
      font-size: 46px; font-weight: 900; line-height: 1.08;
      color: var(--text-dark); margin-bottom: 20px;
    }
    .hero-title .accent { color: var(--green-main); }
    .hero-subtitle { font-size: 14.5px; color: #444; line-height: 1.6; margin-bottom: 8px; font-weight: 500; }
    .hero-bullets {
      font-size: 13px; color: var(--text-muted); margin-bottom: 32px;
      display: flex; gap: 6px; flex-wrap: wrap;
    }
    .hero-bullets span { display: flex; align-items: center; gap: 4px; }
    .hero-bullets span::before { content: "•"; color: var(--green-main); }

    .hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
    .btn-primary {
      background: var(--green-dark); color: #fff;
      padding: 14px 28px; border-radius: 8px;
      font-size: 14px; font-weight: 700; letter-spacing: .3px;
      display: flex; align-items: center; gap: 8px;
      transition: background .2s, transform .15s;
      border: none; cursor: pointer;
    }
    .btn-primary:hover { background: var(--green-mid); transform: translateY(-1px); }
    .btn-outline {
      background: #fff; color: var(--text-dark);
      border: 1.5px solid #ccc;
      padding: 13px 24px; border-radius: 8px;
      font-size: 14px; font-weight: 600;
      display: flex; align-items: center; gap: 8px;
      transition: border-color .2s, box-shadow .2s;
    }
    .btn-outline:hover { border-color: var(--green-main); box-shadow: 0 2px 8px rgba(46,125,82,.15); }

    .hero-disclaimer {
      font-size: 11.5px; color: var(--text-muted);
      display: flex; align-items: center; gap: 6px;
    }
    .hero-disclaimer::before { content: "✓"; color: var(--green-main); font-size: 13px; font-weight: 700; }

    .hero-right { display: flex; justify-content: flex-end; align-items: flex-end; }

    .hero-badge {
      position: absolute; right: 40px; bottom: 80px;
      background: #fff; border-radius: 12px;
      padding: 14px 20px; box-shadow: 0 4px 24px rgba(0,0,0,.12);
      display: flex; flex-direction: column; gap: 12px;
      min-width: 210px;
    }
    .badge-item { display: flex; align-items: center; gap: 12px; }
    .badge-icon { width: 36px; height: 36px; background: #f0f7f4; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 16px; color: var(--green-main); }
    .badge-icon svg { width: 1em; height: 1em; }
    .badge-text strong { display: block; font-size: 12.5px; font-weight: 700; color: var(--text-dark); }
    .badge-text span { font-size: 11px; color: var(--text-muted); }

    /* ─── STATS BAR ───────────────────────────────────────── */
    .stats-bar {
      background: var(--dark-navy);
      padding: 32px 40px;
    }
    .stats-bar-inner {
      max-width: 1200px; margin: 0 auto;
      display: grid; grid-template-columns: repeat(4,1fr); gap: 20px;
    }
    .stat-item { display: flex; align-items: center; gap: 16px; padding: 8px 0; }
    .stat-item + .stat-item { border-left: 1px solid rgba(255,255,255,.12); padding-left: 32px; }
    .stat-icon { font-size: 32px; opacity: .9; flex-shrink: 0; color: var(--green-main); }
    .stat-icon svg { width: 1em; height: 1em; }
    .stat-body strong { display: block; font-size: 26px; font-weight: 900; color: var(--green-light); line-height: 1.1; }
    .stat-body strong em { font-style: normal; color: #fff; }
    .stat-body p { font-size: 12px; color: rgba(255,255,255,.65); line-height: 1.4; margin-top: 2px; }

    /* ─── SOLUTIONS ───────────────────────────────────────── */
    .section { padding: 80px 40px; }
    .section-inner { max-width: 1200px; margin: 0 auto; }
    .section-tag {
      text-align: center; font-size: 11px; font-weight: 700;
      color: var(--green-main); letter-spacing: 2px; text-transform: uppercase;
      margin-bottom: 12px;
    }
    .section-title { text-align: center; font-size: 34px; font-weight: 800; color: var(--text-dark); line-height: 1.2; max-width: 560px; margin: 0 auto 48px; }

    .cards-grid {
      display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
    }
    .card {
      border: 1.5px solid var(--border); border-radius: 14px;
      padding: 32px 24px 28px;
      background: #fff; transition: box-shadow .2s, transform .2s;
    }
    .card:hover { box-shadow: 0 8px 32px rgba(46,125,82,.1); transform: translateY(-3px); }
    .card-icon {
      width: 52px; height: 52px; border: 1.5px solid var(--border);
      border-radius: 12px; display: flex; align-items: center; justify-content: center;
      font-size: 24px; margin-bottom: 20px; background: var(--bg-light);
    }
    .card h3 { font-size: 15px; font-weight: 700; margin-bottom: 10px; }
    .card p { font-size: 13px; color: var(--text-muted); line-height: 1.6; margin-bottom: 20px; }
    .card-link { font-size: 12.5px; font-weight: 700; color: var(--green-main); letter-spacing: .5px; text-transform: uppercase; display: flex; align-items: center; gap: 6px; }
    .card-link:hover { color: var(--green-dark); }

    /* ─── TESTIMONIALS ────────────────────────────────────── */
    .section-testimonials { padding: 80px 40px; background: var(--bg-light); }
    .testi-layout {
      max-width: 1200px; margin: 0 auto;
      display: grid; grid-template-columns: 280px 1fr; gap: 48px; align-items: start;
    }
    .testi-left .section-tag { text-align: left; }
    .testi-left h2 { font-size: 28px; font-weight: 800; line-height: 1.25; margin-bottom: 24px; }
    .google-badge { display: flex; align-items: center; gap: 10px; }
    .google-g {
      width: 40px; height: 40px; border-radius: 50%; background: #fff;
      display: flex; align-items: center; justify-content: center;
      font-size: 20px; font-weight: 900; border: 1px solid var(--border);
    }
    .google-g span { background: linear-gradient(135deg,#4285f4,#ea4335,#fbbc05,#34a853); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
    .google-info strong { font-size: 20px; font-weight: 800; }
    .google-info .stars { color: #f59e0b; font-size: 16px; letter-spacing: 2px; }
    .google-info small { display: block; font-size: 11px; color: var(--text-muted); margin-top: 2px; }

    .testi-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
    .testi-card {
      background: #fff; border-radius: 14px; padding: 24px;
      border: 1px solid var(--border);
      box-shadow: 0 2px 12px rgba(0,0,0,.05);
    }
    .testi-saving { font-size: 10px; font-weight: 700; color: var(--text-muted); letter-spacing: 1px; text-transform: uppercase; margin-bottom: 4px; }
    .testi-amount { font-size: 28px; font-weight: 900; color: var(--green-main); margin-bottom: 12px; }
    .testi-detail { font-size: 12.5px; color: var(--text-muted); line-height: 1.8; margin-bottom: 12px; }
    .testi-detail strong { color: var(--text-dark); font-weight: 600; }
    .testi-quote { font-size: 12.5px; color: #555; font-style: italic; margin-bottom: 16px; line-height: 1.6; border-left: 3px solid var(--green-light); padding-left: 10px; }
    .testi-author { display: flex; align-items: center; gap: 10px; }
    .testi-avatar {
      width: 36px; height: 36px; border-radius: 50%; object-fit: cover;
      background: linear-gradient(135deg,#40916c,#2d6a4f); display: flex; align-items: center; justify-content: center;
      color: #fff; font-weight: 700; font-size: 13px; flex-shrink: 0;
    }
    .testi-name strong { display: block; font-size: 13px; font-weight: 700; }
    .testi-name span { font-size: 11.5px; color: var(--text-muted); }

    .testi-cta { text-align: center; margin-top: 36px; }
    .testi-cta a {
      font-size: 13px; font-weight: 700; color: var(--green-main);
      border-bottom: 1.5px solid var(--green-main); padding-bottom: 2px; letter-spacing: .3px;
    }

    /* ─── PROCESS ─────────────────────────────────────────── */
    .section-process { padding: 80px 40px; background: #fff; }
    .process-layout {
      max-width: 1200px; margin: 0 auto;
      display: grid; grid-template-columns: 260px 1fr; gap: 48px; align-items: start;
    }
    .process-left .section-tag { text-align: left; }
    .process-left h2 { font-size: 30px; font-weight: 800; line-height: 1.25; }

    .process-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
    .step { display: flex; flex-direction: column; align-items: center; text-align: center; }
    .step-icon-wrap { position: relative; margin-bottom: 20px; }
    .step-icon {
      width: 68px; height: 68px; border: 1.5px solid var(--border);
      border-radius: 14px; display: flex; align-items: center; justify-content: center;
      font-size: 28px; background: #fff; position: relative; z-index: 1;
    }
    .step-num {
      position: absolute; bottom: -8px; right: -8px;
      width: 24px; height: 24px; background: var(--green-main); color: #fff;
      border-radius: 50%; font-size: 11px; font-weight: 800;
      display: flex; align-items: center; justify-content: center;
      border: 2px solid #fff; z-index: 2;
    }
    .step h4 { font-size: 14px; font-weight: 700; margin-bottom: 8px; }
    .step p { font-size: 12.5px; color: var(--text-muted); line-height: 1.6; }

    /* ─── CTA SECTION ─────────────────────────────────────── */
    .section-cta {
      background: var(--green-dark);
      padding: 72px 40px;
    }
    .cta-layout {
      max-width: 1200px; margin: 0 auto;
      display: grid; grid-template-columns: 1fr 380px 260px; gap: 48px; align-items: center;
    }
    .cta-left .section-tag {
      color: var(--gold); background: rgba(201,168,76,.15);
      padding: 4px 12px; border-radius: 20px; font-size: 10px;
      margin-bottom: 16px; text-align: left; display: inline-block;
    }
    .cta-left h2 { font-size: 30px; font-weight: 800; color: #fff; line-height: 1.25; margin-bottom: 16px; }
    .cta-left p { font-size: 13.5px; color: rgba(255,255,255,.7); line-height: 1.7; }

    .cta-drop {
      background: rgba(255,255,255,.07); border: 1.5px dashed rgba(255,255,255,.25);
      border-radius: 14px; padding: 32px 24px; text-align: center;
    }
    .cta-drop-icon { font-size: 40px; margin-bottom: 12px; opacity: .9; }
    .cta-drop h4 { font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 8px; line-height: 1.35; }
    .cta-drop p { font-size: 12px; color: rgba(255,255,255,.55); margin-bottom: 4px; }
    .cta-drop small { font-size: 11px; color: rgba(255,255,255,.4); display: flex; align-items: center; justify-content: center; gap: 4px; margin-top: 10px; }

    .cta-right { display: flex; flex-direction: column; gap: 14px; }
    .cta-check-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }
    .cta-check { font-size: 13px; color: rgba(255,255,255,.85); display: flex; align-items: center; gap: 10px; }
    .cta-check::before { content: "✓"; color: var(--green-light); font-weight: 700; font-size: 14px; }

    .btn-gold {
      background: var(--gold-btn); color: #fff;
      padding: 16px 28px; border-radius: 8px;
      font-size: 14px; font-weight: 800; letter-spacing: .3px;
      display: flex; align-items: center; justify-content: center; gap: 8px;
      border: none; cursor: pointer; transition: background .2s, transform .15s;
      text-align: center;
    }
    .btn-gold:hover { background: #b8832e; transform: translateY(-1px); }

    /* ─── PARTNERS ────────────────────────────────────────── */
    .partners {
      background: #fff; padding: 28px 40px;
      border-top: 1px solid var(--border);
    }
    .partners-inner {
      max-width: 1200px; margin: 0 auto;
      display: flex; align-items: center; gap: 48px; flex-wrap: wrap;
    }
    .partners-label { font-size: 11px; font-weight: 600; color: var(--text-muted); white-space: nowrap; text-transform: uppercase; letter-spacing: 1px; }
    .partner-logos { display: flex; align-items: center; gap: 36px; flex-wrap: wrap; }
    .partner-logo {
      font-size: 13px; font-weight: 700; color: #9ca3af;
      letter-spacing: .5px; transition: color .2s;
    }
    .partner-logo:hover { color: var(--text-dark); }
    .partner-logo.special { font-weight: 800; }

    /* ─── FOOTER ──────────────────────────────────────────── */
    .footer {
      background: var(--dark); color: rgba(255,255,255,.55);
      padding: 20px 40px;
      font-size: 12px; text-align: center;
    }

    /* ─── UTILITIES ───────────────────────────────────────── */
    .green { color: var(--green-main); }
    .visually-hidden { display: none; }

    @media (max-width: 900px) {
      .navbar-logo img { width: 142px; height: 50px; }
      .cards-grid { grid-template-columns: 1fr 1fr; }
      .testi-layout { grid-template-columns: 1fr; }
      .testi-grid { grid-template-columns: 1fr; }
      .process-layout { grid-template-columns: 1fr; }
      .process-steps { grid-template-columns: 1fr 1fr; }
      .cta-layout { grid-template-columns: 1fr; }
      .stats-bar-inner { grid-template-columns: 1fr 1fr; }
      .hero-content { grid-template-columns: 1fr; }
      .hero-badge { position: static; margin-top: 24px; }
    }
  

.subhero{background:linear-gradient(120deg,#eef5f0 0%,#fff 55%,#e6f0e9 100%);padding:82px 40px 72px;border-bottom:1px solid var(--border)}
.subhero-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.subhero h1{font-size:46px;line-height:1.08;font-weight:900;margin-bottom:18px}.subhero h1 span{color:var(--green-main)}
.subhero p{font-size:16px;line-height:1.7;color:var(--text-muted);margin-bottom:28px}
.subhero-card,.info-card,.documents-box{background:#fff;border:1px solid var(--border);border-radius:16px;padding:28px}
.subhero-card{box-shadow:0 12px 40px rgba(27,67,50,.10)}.subhero-card h3{margin-bottom:18px}
.check-list{display:grid;gap:12px}.check-list div{display:flex;gap:10px;font-size:14px;line-height:1.5}.check-list div:before{content:"✓";color:var(--green-main);font-weight:800}
.content-section,.faq{padding:78px 40px}.content-inner{max-width:1200px;margin:0 auto}.content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.info-card h3{font-size:18px;margin:14px 0 10px}.info-card p,.documents-box li,.faq p{color:var(--text-muted);font-size:14px;line-height:1.65}
.info-icon{font-size:30px;color:var(--green-main);display:inline-flex}.info-icon svg{width:1em;height:1em}
.icon{font-size:30px;color:var(--green-main);display:inline-flex}.icon svg{width:1em;height:1em}
.btn-icon{width:15px;height:15px;flex:none;vertical-align:-2px;margin-right:2px}
.split-section{background:var(--bg-light);padding:78px 40px}.split-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px}
.split-inner h2{font-size:32px;margin-bottom:18px}.split-inner p{color:var(--text-muted);line-height:1.7;font-size:14px;margin-bottom:14px}.documents-box ul{padding-left:20px;line-height:1.9}
.faq-inner{max-width:900px;margin:0 auto}details{border:1px solid var(--border);border-radius:12px;padding:18px 20px;margin-bottom:14px}summary{cursor:pointer;font-weight:700}
.page-cta{background:var(--green-dark);color:#fff;padding:70px 40px;text-align:center}.page-cta h2{font-size:32px;margin-bottom:14px}.page-cta p{color:rgba(255,255,255,.75);margin-bottom:24px}
.page-cta-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.page-cta .btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
@media(max-width:900px){.subhero-inner,.split-inner,.content-grid{grid-template-columns:1fr}.subhero h1{font-size:38px}}


.support-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(13, 27, 42, .62);
}
.support-modal.open { display: flex; }
.support-modal-card {
  position: relative;
  width: 100%;
  max-width: 540px;
  padding: 30px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0,0,0,.24);
}
.support-modal-card h2 {
  margin-bottom: 10px;
  font-size: 27px;
  line-height: 1.2;
}
.support-modal-card > p {
  margin-bottom: 22px;
  color: var(--text-muted);
  line-height: 1.6;
}
.support-modal-close {
  position: absolute;
  top: 12px;
  right: 16px;
  border: 0;
  background: transparent;
  color: var(--text-muted);
  font-size: 28px;
  cursor: pointer;
}
.support-choice-grid {
  display: grid;
  gap: 13px;
}
.support-choice {
  display: block;
  padding: 17px 18px;
  border: 1px solid var(--border);
  border-radius: 13px;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.support-choice:hover {
  transform: translateY(-2px);
  border-color: var(--green-main);
  box-shadow: 0 10px 28px rgba(46,125,82,.10);
}
.support-choice strong {
  display: block;
  margin-bottom: 5px;
  font-size: 16px;
  color: var(--text-dark);
}
.support-choice span {
  display: block;
  color: var(--text-muted);
  font-size: 13px;
  line-height: 1.5;
}
.support-choice.primary {
  border-color: var(--green-dark);
  background: var(--green-dark);
}
.support-choice.primary strong,
.support-choice.primary span { color: #fff; }
.support-choice.primary span { opacity: .82; }
body.modal-open { overflow: hidden; }


/* ─── V3 PREMIUM ───────────────────────────────────────── */
:root {
  --premium-gold: #c9a55b;
  --premium-cream: #f5f1e8;
}
body { overflow-x: hidden; }
.navbar { backdrop-filter: blur(12px); background: rgba(255,255,255,.96); }
.card, .info-card, .documents-box, .subhero-card, details {
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.card:hover, .info-card:hover, .documents-box:hover, details:hover {
  transform: translateY(-4px);
  border-color: rgba(201,165,91,.55);
  box-shadow: 0 16px 38px rgba(27,67,50,.10);
}
.hero-tag, .section-tag { letter-spacing: 1.8px; }
.btn-primary, .btn-gold, .btn-outline { box-shadow: 0 8px 22px rgba(27,67,50,.10); }
.btn-primary:hover, .btn-gold:hover, .btn-outline:hover { transform: translateY(-2px); }

.premium-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.premium-hero::after {
  content: "";
  position: absolute;
  inset: 0 0 0 53%;
  background-position: center;
  background-size: cover;
  z-index: -2;
}
.premium-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,#eef5f0 0%,#eef5f0 48%,rgba(238,245,240,.78) 61%,rgba(238,245,240,.08) 100%);
  z-index: -1;
}
.premium-hero .subhero-inner { min-height: 540px; }
.premium-hero .subhero-card {
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(8px);
  border-color: rgba(255,255,255,.85);
}

.hero-assurance::after {
  background-image: url('https://images.unsplash.com/photo-1522202176988-66273c2fd55f?auto=format&fit=crop&w=1600&q=85');
}
.hero-credit::after {
  background-image: url('https://images.unsplash.com/photo-1521791136064-7986c2920216?auto=format&fit=crop&w=1600&q=85');
}
.hero-regroupement::after {
  background-image: url('https://images.unsplash.com/photo-1560472354-b33ff0c44a43?auto=format&fit=crop&w=1600&q=85');
}

.premium-visual {
  position: relative;
  min-height: 390px;
  display: flex;
  align-items: center;
  padding: 64px 40px;
  background-position: center;
  background-size: cover;
  overflow: hidden;
}
.premium-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(13,27,42,.86),rgba(27,67,50,.67),rgba(13,27,42,.18));
}
.premium-visual-inner {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  color: #fff;
}
.premium-visual-card {
  max-width: 560px;
  padding: 30px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 18px;
  background: rgba(13,27,42,.48);
  backdrop-filter: blur(8px);
}
.premium-visual-card .section-tag { color: #e8cc8c; text-align: left; }
.premium-visual-card h2 { font-size: 34px; line-height: 1.18; margin-bottom: 14px; }
.premium-visual-card p { color: rgba(255,255,255,.82); line-height: 1.75; }
.visual-assurance {
  background-image: url('https://images.unsplash.com/photo-1609220136736-443140cffec6?auto=format&fit=crop&w=1600&q=85');
}
.visual-credit {
  background-image: url('https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=1600&q=85');
}
.visual-regroupement {
  background-image: url('https://images.unsplash.com/photo-1455390582262-044cdead277a?auto=format&fit=crop&w=1600&q=85');
}

.premium-stats {
  padding: 34px 40px;
  background: linear-gradient(135deg,#153b30,#1b4332);
  color: #fff;
}
.premium-stats-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 18px;
}
.premium-stat {
  padding: 18px 20px;
  border-left: 2px solid var(--premium-gold);
}
.premium-stat strong {
  display: block;
  margin-bottom: 4px;
  font-size: 20px;
  color: #fff;
}
.premium-stat span {
  font-size: 12px;
  color: rgba(255,255,255,.7);
  line-height: 1.5;
}

/* About & Contact premium */
.about-hero, .contact-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  min-height: 470px;
  display: flex;
  align-items: center;
}
.about-hero::after, .contact-hero::after {
  content: "";
  position: absolute;
  inset: 0 0 0 52%;
  background-position: center;
  background-size: cover;
  z-index: -2;
}
.about-hero::after {
  background-image: url('https://images.unsplash.com/photo-1556761175-b413da4baf72?auto=format&fit=crop&w=1400&q=82');
}
.contact-hero::after {
  background-image: url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1400&q=82');
}
.about-hero::before, .contact-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,#eef5f0 0%,#eef5f0 49%,rgba(238,245,240,.72) 63%,rgba(238,245,240,.05) 100%);
  z-index: -1;
}
.about-inner, .contact-inner { width: 100%; }
.about-photo-grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 76px 40px;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 50px;
  align-items: center;
}
.about-photo {
  min-height: 430px;
  border-radius: 20px;
  background: url('https://images.unsplash.com/photo-1556761175-5973dc0f32e7?auto=format&fit=crop&w=1100&q=82') center/cover;
  box-shadow: 0 20px 50px rgba(13,27,42,.15);
}
.about-copy h2 { font-size: 34px; margin-bottom: 18px; }
.about-copy p { color: var(--text-muted); line-height: 1.8; margin-bottom: 14px; }

.contact-note {
  margin-top: 26px;
  padding: 20px;
  border-left: 4px solid var(--premium-gold);
  border-radius: 0 12px 12px 0;
  background: var(--premium-cream);
  color: #4b5563;
  line-height: 1.7;
}

@media (max-width: 900px) {
  .premium-hero::after { inset: 48% 0 0 0; opacity: .55; }
  .premium-hero::before {
    background: linear-gradient(180deg,#eef5f0 0%,#eef5f0 52%,rgba(238,245,240,.76) 72%,rgba(238,245,240,.12) 100%);
  }
  .premium-hero .subhero-inner { min-height: 720px; align-content: start; }
  .premium-stats-inner { grid-template-columns: 1fr 1fr; }
  .about-photo-grid { grid-template-columns: 1fr; }
  .about-photo { min-height: 330px; }
  .about-hero::after, .contact-hero::after { inset: 52% 0 0 0; opacity: .55; }
  .about-hero::before, .contact-hero::before {
    background: linear-gradient(180deg,#eef5f0 0%,#eef5f0 54%,rgba(238,245,240,.72) 78%,rgba(238,245,240,.08) 100%);
  }
}
@media (max-width: 640px) {
  .premium-visual { min-height: 430px; padding: 48px 20px; }
  .premium-visual-card { padding: 24px; }
  .premium-visual-card h2 { font-size: 28px; }
  .premium-stats { padding: 28px 20px; }
  .premium-stats-inner { grid-template-columns: 1fr; }
  .about-photo-grid { padding: 56px 20px; }
}


/* V3 CONFIANCE PHOTO FIX */
.premium-hero::after {
  background-size: cover;
  background-repeat: no-repeat;
}
.hero-assurance::after { background-position: 64% center; }
.hero-credit::after { background-position: 58% center; }
.hero-regroupement::after { background-position: 68% center; }

.visual-assurance { background-position: center 45%; }
.visual-credit { background-position: center 55%; }
.visual-regroupement { background-position: center 52%; }

@media (max-width: 900px) {
  .premium-hero::after {
    background-size: cover;
    background-position: center 32%;
  }
  .hero-assurance::after { background-position: center 28%; }
  .hero-credit::after { background-position: center 30%; }
  .hero-regroupement::after { background-position: center 30%; }
}


/* ─── MOBILE PREMIUM — SPRINT 2 ASSURANCE ─────────────── */
.mobile-menu-toggle,
.mobile-contact-bar { display: none; }

@media (max-width: 900px) {
  body { padding-bottom: 72px; }

  .navbar {
    height: 64px;
    padding: 0 16px;
    gap: 10px;
  }
  .navbar-logo img {
    width: 132px !important;
    height: 48px !important;
  }
  .navbar-cta { display: none !important; }

  .mobile-menu-toggle {
    display: flex;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    z-index: 1002;
  }
  .mobile-menu-toggle span {
    width: 20px;
    height: 2px;
    border-radius: 999px;
    background: var(--green-dark);
    transition: transform .2s ease, opacity .2s ease;
  }
  .mobile-menu-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .mobile-menu-toggle.open span:nth-child(2) { opacity: 0; }
  .mobile-menu-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .navbar-nav {
    position: fixed;
    top: 64px;
    left: 12px;
    right: 12px;
    display: none;
    max-height: calc(100vh - 84px);
    overflow-y: auto;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(13,27,42,.18);
    z-index: 1001;
  }
  .navbar-nav.open { display: block; }
  .navbar-nav a {
    width: 100%;
    padding: 13px 14px;
    margin: 2px 0;
    border-radius: 9px;
    font-size: 14px;
  }
  .navbar-nav a.active {
    border-bottom: 0;
    background: #eef5f0;
  }

  .premium-hero {
    min-height: auto !important;
    padding-bottom: 0;
  }
  .premium-hero::after {
    inset: 0 0 auto 0 !important;
    height: 250px;
    opacity: .72;
    background-position: center 28% !important;
  }
  .premium-hero::before {
    background: linear-gradient(180deg, rgba(238,245,240,.12) 0%, rgba(238,245,240,.58) 30%, #eef5f0 55%, #eef5f0 100%) !important;
  }
  .premium-hero .subhero-inner {
    min-height: auto !important;
    display: block !important;
    padding: 220px 20px 34px !important;
  }
  .premium-hero h1 {
    font-size: clamp(34px, 10vw, 43px) !important;
    line-height: 1.06 !important;
    margin-bottom: 16px !important;
  }
  .premium-hero p {
    font-size: 15px !important;
    line-height: 1.68 !important;
  }
  .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 11px !important;
    margin-top: 22px !important;
  }
  .hero-actions .btn-primary,
  .hero-actions .btn-outline {
    width: 100%;
    min-height: 52px;
    justify-content: center;
    text-align: center;
    padding: 14px 18px;
  }
  .subhero-card {
    margin-top: 22px;
    width: 100% !important;
    padding: 22px !important;
  }
  .subhero-card h3 { font-size: 18px !important; }
  .check-list { gap: 10px !important; }
  .check-list > div {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  .premium-stats { padding: 24px 20px !important; }
  .premium-stats-inner {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .premium-stat {
    padding: 17px 0 17px 16px !important;
    border-left: 2px solid var(--premium-gold);
    border-bottom: 1px solid rgba(255,255,255,.12);
  }
  .premium-stat:last-child { border-bottom: 0; }

  .content-section,
  .split-section,
  .faq {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .content-section { padding-top: 58px !important; padding-bottom: 58px !important; }
  .split-section { padding-top: 58px !important; padding-bottom: 58px !important; }
  .faq { padding-top: 58px !important; padding-bottom: 58px !important; }

  .content-inner,
  .split-inner,
  .faq-inner {
    width: 100% !important;
  }
  .section-title {
    font-size: 30px !important;
    line-height: 1.18 !important;
  }
  .section-tag { text-align: left !important; }

  .content-grid,
  .split-inner {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .info-card,
  .documents-box {
    padding: 24px !important;
  }
  .info-card h3,
  .documents-box h3 { font-size: 18px !important; }
  .info-card p,
  .documents-box li,
  .split-inner p {
    font-size: 14px !important;
    line-height: 1.7 !important;
  }

  .premium-visual {
    min-height: 430px !important;
    padding: 44px 20px !important;
    background-position: center 42% !important;
  }
  .premium-visual-card {
    width: 100%;
    padding: 24px !important;
  }
  .premium-visual-card h2 {
    font-size: 28px !important;
    line-height: 1.18 !important;
  }

  details {
    padding: 0 !important;
    margin-bottom: 12px !important;
    border-radius: 12px !important;
  }
  details summary {
    padding: 17px 18px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }
  details p {
    padding: 0 18px 18px !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
  }

  .page-cta {
    padding: 58px 20px 84px !important;
  }
  .page-cta h2 { font-size: 30px !important; }
  .page-cta p {
    font-size: 14px !important;
    line-height: 1.7 !important;
  }
  .page-cta-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 11px !important;
  }
  .page-cta-actions a {
    width: 100%;
    min-height: 52px;
    justify-content: center;
    text-align: center;
  }

  .support-modal {
    align-items: flex-end;
    padding: 12px;
  }
  .support-modal-card {
    max-width: none;
    max-height: 88vh;
    overflow-y: auto;
    padding: 26px 20px 20px;
    border-radius: 18px 18px 12px 12px;
  }
  .support-modal-card h2 {
    padding-right: 24px;
    font-size: 23px;
  }
  .support-choice { padding: 15px; }

  .mobile-contact-bar {
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: 10px;
    z-index: 990;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 8px;
    border: 1px solid rgba(27,67,50,.12);
    border-radius: 14px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 14px 38px rgba(13,27,42,.20);
    backdrop-filter: blur(12px);
  }
  .mobile-contact-bar a {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
  }
  .mobile-contact-bar .mobile-call {
    background: var(--green-dark);
    color: #fff;
  }
  .mobile-contact-bar .mobile-study {
    border: 1px solid var(--green-dark);
    background: #fff;
    color: var(--green-dark);
  }

  .footer { padding: 24px 20px 94px !important; }
}

@media (max-width: 390px) {
  .navbar-logo img { width: 118px !important; }
  .premium-hero::after { height: 225px; }
  .premium-hero .subhero-inner { padding-top: 200px !important; }
  .premium-hero h1 { font-size: 32px !important; }
  .mobile-contact-bar a { font-size: 11px; }
}


/* LOGO CMOST — CORRECTION FINALE */
.navbar-logo {
  min-width: 150px;
  min-height: 48px;
  display: flex !important;
  align-items: center;
}
.navbar-logo img {
  display: block !important;
  width: 172px !important;
  height: 58px !important;
  max-width: none !important;
  object-fit: contain !important;
}
.navbar-logo-fallback {
  display: none;
  color: var(--green-dark);
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 2px;
  line-height: 1;
}
.navbar-logo-fallback small {
  display: block;
  margin-top: 4px;
  font-size: 8px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
}
@media (max-width: 900px) {
  .navbar-logo {
    min-width: 118px;
    min-height: 44px;
  }
  .navbar-logo img {
    width: 132px !important;
    height: 48px !important;
  }
}
@media (max-width: 390px) {
  .navbar-logo img {
    width: 118px !important;
    height: 44px !important;
  }
}


/* LOGO CMOST — INTÉGRÉ DIRECTEMENT DANS LE HTML */
.navbar-logo {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-width: 150px !important;
  min-height: 48px !important;
  overflow: visible !important;
}
.navbar-logo img {
  display: block !important;
  width: 172px !important;
  height: 58px !important;
  max-width: none !important;
  object-fit: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
}
@media (max-width: 900px) {
  .navbar-logo {
    min-width: 118px !important;
    min-height: 44px !important;
  }
  .navbar-logo img {
    width: 132px !important;
    height: 48px !important;
  }
}
@media (max-width: 390px) {
  .navbar-logo img {
    width: 118px !important;
    height: 44px !important;
  }
}


.legal-footer .legal-links{margin-top:10px;display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}.legal-footer .legal-links a{color:inherit;text-decoration:underline;text-underline-offset:3px}.legal-footer .legal-links a:hover{opacity:.75}
.form-privacy-note{font-size:12px;line-height:1.55;color:var(--text-muted,#66736d);margin:12px 0 4px}.form-privacy-note a{color:var(--green-dark,#0f4c3a);text-decoration:underline}
