
    :root {
      --navy: #0d1b3d;
      --navy-2: #13285a;
      --royal: #2447a8;
      --royal-soft: #5b7ee5;
      --mint: #5b7ee5;
      --gold: #d7b87a;
      --text: #1b2432;
      --muted: #667085;
      --bg: #f5f7fb;
      --white: #ffffff;
      --line: rgba(17, 24, 39, 0.08);
      --shadow: 0 18px 45px rgba(13, 27, 61, 0.10);
      --radius-xl: 28px;
      --radius-lg: 20px;
      --radius-md: 16px;
      --container: 1200px;
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    #equipe,
    #cabinet,
    #services,
    #avis,
    #taux,
    #simulateur,
    #faq,
    #contact {
      scroll-margin-top: 104px;
    }
    body {
      font-family: 'Inter', system-ui, sans-serif;
      color: var(--text);
      background:
        radial-gradient(circle at top left, rgba(91, 126, 229, 0.18), transparent 30%),
        radial-gradient(circle at top right, rgba(91, 126, 229, 0.12), transparent 28%),
        linear-gradient(180deg, #eef3fb 0%, #f8fafc 45%, #eef2f8 100%);
      line-height: 1.65;
      overflow-x: hidden;
    }

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

    .container {
      width: min(calc(100% - 32px), var(--container));
      margin: 0 auto;
    }

    .section {
      padding: 92px 0;
      position: relative;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-size: 0.85rem;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--royal);
      font-weight: 700;
      margin-bottom: 16px;
    }

    .eyebrow::before {
      content: "";
      width: 36px;
      height: 1px;
      background: linear-gradient(90deg, var(--royal), transparent);
    }

    h1, h2, h3, .brand-title {
      font-family: 'Playfair Display', serif;
      line-height: 1.1;
      letter-spacing: -0.02em;
    }

    h1 {
      font-size: clamp(2.8rem, 6vw, 5.2rem);
      color: #fff;
    }

    h2 {
      font-size: clamp(2rem, 4vw, 3.25rem);
      color: var(--navy);
      margin-bottom: 16px;
    }

    p.lead {
      font-size: 1.08rem;
      color: rgba(255,255,255,0.88);
      max-width: 760px;
    }

    .muted { color: var(--muted); }

    nav {
      position: sticky;
      top: 0;
      z-index: 100;
      backdrop-filter: blur(14px);
      background: rgba(10, 22, 51, 0.78);
      border-bottom: 1px solid rgba(255, 255, 255, 0.10);
    }

    .nav-wrap {
      min-height: 78px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 14px;
      color: #fff;
      font-weight: 700;
      min-width: 0;
    }

    .brand img {
      width: 44px;
      height: 44px;
      object-fit: contain;
      border-radius: 12px;
      background: rgba(255,255,255,0.08);
      padding: 6px;
    }

    .brand small {
      display: block;
      color: rgba(255,255,255,0.7);
      font-weight: 500;
      font-size: 0.8rem;
      margin-top: 2px;
    }

    .nav-links {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      justify-content: flex-end;
    }

    .nav-links a {
      color: rgba(255,255,255,0.9);
      padding: 10px 14px;
      border-radius: 999px;
      font-size: 0.96rem;
      transition: 0.25s ease;
    }

    .nav-links a:hover {
      background: rgba(255,255,255,0.10);
      color: #fff;
    }

    .nav-toggle {
      display: none;
      width: 48px;
      height: 48px;
      border: 1px solid rgba(255,255,255,0.16);
      border-radius: 14px;
      background: rgba(255,255,255,0.08);
      color: #fff;
      cursor: pointer;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      gap: 5px;
      transition: background 0.25s ease, transform 0.25s ease;
    }

    .nav-toggle span {
      width: 18px;
      height: 2px;
      border-radius: 999px;
      background: currentColor;
      display: block;
      transition: transform 0.25s ease, opacity 0.25s ease;
    }

    .nav-toggle:hover,
    .nav-toggle:focus-visible {
      background: rgba(255,255,255,0.14);
      outline: none;
    }

    .nav-toggle[aria-expanded="true"] span:nth-child(1) {
      transform: translateY(7px) rotate(45deg);
    }

    .nav-toggle[aria-expanded="true"] span:nth-child(2) {
      opacity: 0;
    }

    .nav-toggle[aria-expanded="true"] span:nth-child(3) {
      transform: translateY(-7px) rotate(-45deg);
    }

    .hero {
      position: relative;
      min-height: 88vh;
      display: flex;
      align-items: center;
      isolation: isolate;
      overflow: hidden;
      background:
        linear-gradient(110deg, rgba(9,19,45,0.94) 0%, rgba(22,42,94,0.88) 48%, rgba(36,71,168,0.78) 100%),
        url('https://images.unsplash.com/photo-1505691938895-1758d7feb511?auto=format&fit=crop&w=1800&q=80') center/cover;
    }

    .hero::before,
    .hero::after {
      content: "";
      position: absolute;
      border-radius: 999px;
      filter: blur(12px);
      opacity: 0.35;
      z-index: -1;
      animation: float 10s ease-in-out infinite;
    }

    .hero::before {
      width: 320px;
      height: 320px;
      background: radial-gradient(circle, rgba(91,126,229,0.32), transparent 62%);
      top: 8%;
      right: 5%;
    }

    .hero::after {
      width: 280px;
      height: 280px;
      background: radial-gradient(circle, rgba(215,184,122,0.28), transparent 62%);
      bottom: 4%;
      left: -2%;
      animation-delay: 2s;
    }

    @keyframes float {
      0%, 100% { transform: translateY(0px); }
      50% { transform: translateY(-16px); }
    }

    .hero-grid {
      display: grid;
      grid-template-columns: 1.15fr 0.85fr;
      gap: 42px;
      align-items: center;
      padding: 72px 0;
    }

    .hero-copy p { margin-top: 22px; }

    .hero-actions {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
      margin-top: 32px;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 15px 22px;
      border-radius: 999px;
      font-weight: 700;
      transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
      cursor: pointer;
    }

    .btn-primary {
      background: linear-gradient(135deg, var(--royal-soft), var(--royal));
      color: #fff;
      box-shadow: 0 12px 30px rgba(36, 71, 168, 0.28);
    }

    .btn-secondary {
      background: rgba(255,255,255,0.08);
      color: #fff;
      border: 1px solid rgba(255,255,255,0.16);
      backdrop-filter: none;
    }

    .btn:hover { transform: translateY(-2px); }

    .hero-panel {
      background: rgba(255,255,255,0.10);
      border: 1px solid rgba(255,255,255,0.12);
      backdrop-filter: blur(14px);
      border-radius: var(--radius-xl);
      padding: 28px;
      color: #fff;
      box-shadow: 0 24px 60px rgba(0,0,0,0.16);
    }

    .stats {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 14px;
      margin-top: 24px;
    }

    .stat-card {
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: 18px;
      padding: 18px;
    }

    .stat-card strong {
      display: block;
      font-size: 1.5rem;
      margin-bottom: 4px;
    }

    .quick-points {
      margin-top: 18px;
      display: grid;
      gap: 10px;
    }

    .quick-points div {
      display: flex;
      gap: 10px;
      align-items: flex-start;
      color: rgba(255,255,255,0.9);
    }

    .intro-cards,
    .service-grid,
    .team-grid,
    .rates-grid,
    .news-grid,
    .logos,
    .story-grid,
    .video-grid {
      display: grid;
      gap: 24px;
    }

    .intro-cards,
    .service-grid,
    .rates-grid,
    .news-grid {
      grid-template-columns: repeat(3, minmax(0,1fr));
    }

    .team-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
    .story-grid, .video-grid { grid-template-columns: 1fr 1fr; align-items: center; }
    .logos { grid-template-columns: repeat(6, minmax(0,1fr)); align-items: center; }

    .card {
      background: rgba(255,255,255,0.78);
      border: 1px solid rgba(255,255,255,0.8);
      backdrop-filter: none;
      border-radius: var(--radius-lg);
      padding: 28px;
      box-shadow: var(--shadow);
    }

    .card h3 {
      font-size: 1.28rem;
      color: var(--navy);
      margin-bottom: 10px;
    }

    .icon-badge {
      width: 52px;
      height: 52px;
      display: grid;
      place-items: center;
      font-size: 1.25rem;
      border-radius: 16px;
      background: linear-gradient(135deg, rgba(36,71,168,0.12), rgba(91,126,229,0.18));
      margin-bottom: 16px;
    }

    .section-shell {
      background: linear-gradient(180deg, rgba(255,255,255,0.88), rgba(255,255,255,0.74));
      border: 1px solid rgba(255,255,255,0.85);
      border-radius: 34px;
      padding: 42px;
      box-shadow: 0 18px 55px rgba(17, 24, 39, 0.08);
    }

    .brand-story {
      background:
        linear-gradient(135deg, rgba(10,21,48,0.97), rgba(27,55,122,0.9)),
        url('https://images.unsplash.com/photo-1554224155-6726b3ff858f?auto=format&fit=crop&w=1600&q=80') center/cover;
      color: #fff;
      overflow: hidden;
    }

    .brand-story h2,
    .brand-story .muted {
      color: #fff;
    }

    .brand-story .muted {
      opacity: 0.82;
    }

    .story-text p + p { margin-top: 16px; }

    .highlight-box {
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 24px;
      padding: 24px;
    }

    .highlight-box ul {
      list-style: none;
      display: grid;
      gap: 14px;
      margin-top: 18px;
    }

    .highlight-box li {
      display: flex;
      gap: 12px;
      align-items: flex-start;
      color: rgba(255,255,255,0.92);
    }

    .testimonial-wrap {
      position: relative;
      overflow: hidden;
      border-radius: 28px;
      padding: 0;
      background: linear-gradient(180deg, rgba(255,255,255,0.88), rgba(255,255,255,0.75));
      border: 1px solid rgba(255,255,255,0.9);
      box-shadow: var(--shadow);
    }

    .carousel-track {
      display: flex;
      transition: transform 0.45s ease;
    }

    .testimonial-slide {
      min-width: 100%;
      padding: 28px 34px;
      display: grid;
      grid-template-columns: 84px 1fr;
      gap: 20px;
      align-items: center;
    }

    .avatar {
      width: 72px;
      height: 72px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      font-size: 1.3rem;
      font-weight: 800;
      background: linear-gradient(135deg, var(--royal), var(--royal-soft));
      color: #fff;
      box-shadow: 0 12px 22px rgba(36,71,168,0.16);
    }

    .quote {
      font-size: clamp(0.9rem, 1.05vw, 1rem);
      line-height: 1.52;
      color: var(--navy);
      margin-bottom: 14px;
      max-width: 650px;
      font-weight: 400;
    }

    .stars {
      color: var(--gold);
      letter-spacing: 2px;
      margin-bottom: 8px;
      font-size: 0.9rem;
    }

    .carousel-controls {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
      padding: 0 42px 34px;
    }

    .dots {
      display: flex;
      gap: 10px;
      align-items: center;
    }

    .dot {
      width: 11px;
      height: 11px;
      border-radius: 50%;
      background: rgba(36,71,168,0.2);
      cursor: pointer;
      transition: transform 0.2s ease, background 0.2s ease;
    }

    .dot.active {
      background: var(--royal);
      transform: scale(1.15);
    }

    .arrow-group {
      display: flex;
      gap: 10px;
    }

    .arrow-btn {
      width: 46px;
      height: 46px;
      border-radius: 50%;
      border: none;
      background: #fff;
      box-shadow: 0 10px 22px rgba(10, 22, 51, 0.10);
      font-size: 1.1rem;
      cursor: pointer;
    }

    .video-card {
      position: relative;
      min-height: 100%;
      background: linear-gradient(145deg, #0d1b3d, #193777);
      color: #fff;
      border-radius: 28px;
      padding: 28px;
      box-shadow: 0 22px 48px rgba(13, 27, 61, 0.22);
      overflow: hidden;
    }

    .video-frame {
      position: relative;
      border-radius: 22px;
      overflow: hidden;
      aspect-ratio: 16 / 9;
      margin-top: 20px;
      box-shadow: 0 16px 40px rgba(0,0,0,0.25);
    }

    .video-frame iframe,
    .video-frame video {
      width: 100%;
      height: 100%;
      border: 0;
      display: block;
    }

    .video-note {
      margin-top: 14px;
      color: rgba(255,255,255,0.78);
      font-size: 0.95rem;
    }

    
.team-card img {
  width: 100%;
  aspect-ratio: 4 / 4.8;
  object-fit: cover;
  border-radius: 18px;
  margin-bottom: 18px;
  background: transparent;
}


    .team-role {
      color: var(--royal);
      font-weight: 700;
      margin-bottom: 8px;
    }

    .rate-card {
      background: linear-gradient(180deg, #fff, #f7f9fd);
      position: relative;
      overflow: hidden;
    }

    .rate-card::after {
      content: "";
      position: absolute;
      inset: auto -15% -45% auto;
      width: 140px;
      height: 140px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(91,126,229,0.20), transparent 65%);
    }

    .rate {
      font-size: 2.1rem;
      color: var(--navy);
      font-weight: 800;
      margin-top: 12px;
    }

    .simulator-box {
      background:
        radial-gradient(circle at top right, rgba(91, 126, 229, 0.24), transparent 24%),
        linear-gradient(135deg, #0d1b3d 0%, #13285a 52%, #1b3572 100%);
      color: white;
      padding: 40px;
      border-radius: 30px;
      margin-top: 50px;
      box-shadow: 0 22px 48px rgba(13, 27, 61, 0.18);
      position: relative;
      overflow: hidden;
    }

    .simulator-box::after {
      content: "";
      position: absolute;
      inset: auto -80px -80px auto;
      width: 220px;
      height: 220px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(219, 231, 255, 0.16), transparent 66%);
      pointer-events: none;
    }

    .simulator-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 20px;
      align-items: end;
    }

    .premium-simulator-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 20px;
      align-items: stretch;
    }

    .simulator-box .field {
      background: rgba(255,255,255,0.06);
      border: 1px solid rgba(255,255,255,0.10);
      border-radius: 22px;
      padding: 18px;
      backdrop-filter: none;
    }

    .field label {
      display: block;
      font-size: 0.92rem;
      color: var(--muted);
      margin-bottom: 8px;
      font-weight: 600;
    }

    .field input {
      width: 100%;
      padding: 15px 16px;
      border-radius: 14px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,0.95);
      font: inherit;
      outline: none;
    }

    .field input:focus {
      border-color: rgba(36,71,168,0.4);
      box-shadow: 0 0 0 4px rgba(36,71,168,0.08);
    }

    .simulator-box .field label {
      color: rgba(255,255,255,0.90);
      font-weight: 600;
    }

    .simulator-box .field input[type="number"] {
      border: none;
      margin-top: 8px;
      background: rgba(255,255,255,0.96);
      color: var(--navy);
      font-weight: 700;
      padding-right: 56px;
    }

    .simulator-box .field input[type="range"] {
      appearance: none;
      -webkit-appearance: none;
      border: none;
      background: transparent;
      padding: 0;
      margin-top: 16px;
      height: 24px;
      box-shadow: none;
    }

    .simulator-box .field input[type="range"]::-webkit-slider-runnable-track {
      height: 8px;
      border-radius: 999px;
      background: linear-gradient(90deg, #dbe7ff var(--range-progress, 0%), rgba(255,255,255,0.18) var(--range-progress, 0%));
    }

    .simulator-box .field input[type="range"]::-webkit-slider-thumb {
      -webkit-appearance: none;
      appearance: none;
      width: 22px;
      height: 22px;
      border-radius: 50%;
      background: #ffffff;
      border: 3px solid #5b7ee5;
      box-shadow: 0 8px 20px rgba(0,0,0,0.18);
      margin-top: -7px;
      cursor: pointer;
    }

    .simulator-box .field input[type="range"]::-moz-range-track {
      height: 8px;
      border-radius: 999px;
      background: rgba(255,255,255,0.18);
    }

    .simulator-box .field input[type="range"]::-moz-range-progress {
      height: 8px;
      border-radius: 999px;
      background: #dbe7ff;
    }

    .simulator-box .field input[type="range"]::-moz-range-thumb {
      width: 22px;
      height: 22px;
      border-radius: 50%;
      background: #ffffff;
      border: 3px solid #5b7ee5;
      box-shadow: 0 8px 20px rgba(0,0,0,0.18);
      cursor: pointer;
    }

    .slider-meta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 10px;
    }

    .slider-value {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 34px;
      padding: 6px 12px;
      border-radius: 999px;
      background: rgba(255,255,255,0.14);
      border: 1px solid rgba(255,255,255,0.12);
      color: #fff;
      font-weight: 700;
      font-size: 0.95rem;
      white-space: nowrap;
    }

    .slider-scale {
      display: flex;
      justify-content: space-between;
      gap: 16px;
      margin-top: 8px;
      color: rgba(255,255,255,0.62);
      font-size: 0.8rem;
    }

    .simulator-box .btn-primary.simulator-btn {
      min-height: 100%;
      background: linear-gradient(135deg, #dbe7ff, #b9cfff);
      color: #0d1b3d;
      box-shadow: 0 12px 30px rgba(219, 231, 255, 0.20);
      align-self: stretch;
      font-size: 1rem;
    }

    .simulator-box .btn-primary.simulator-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 16px 34px rgba(219, 231, 255, 0.26);
    }

    .btn-secondary {
      color: #ffffff;
    }

    .simulator-results {
      display: grid;
      grid-template-columns: 1.2fr 0.8fr 0.8fr;
      gap: 16px;
      margin-top: 25px;
    }

    .result-card {
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.10);
      border-radius: 22px;
      padding: 20px;
      backdrop-filter: none;
    }

    .result-label {
      display: block;
      font-size: 0.82rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.62);
      margin-bottom: 10px;
      font-weight: 700;
    }

    .result-main {
      font-size: clamp(1.45rem, 2.6vw, 2rem);
      font-weight: 800;
      color: #ffffff;
      line-height: 1.2;
    }

    .result-sub {
      margin-top: 8px;
      color: rgba(255,255,255,0.72);
      font-size: 0.95rem;
    }


    .simulator-box {
      transform: translateZ(0);
    }

    .simulator-box .field,
    .simulator-box .result-card {
      transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease, background 0.28s ease;
    }

    .simulator-box .field:hover,
    .simulator-box .field:focus-within,
    .simulator-box .result-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 18px 38px rgba(7, 15, 35, 0.18);
      border-color: rgba(255,255,255,0.18);
      background: rgba(255,255,255,0.10);
    }

    .slider-value {
      position: relative;
      overflow: hidden;
    }

    .slider-value::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.18) 40%, transparent 75%);
      transform: translateX(-140%);
      animation: pillShine 4.2s ease-in-out infinite;
      pointer-events: none;
    }

    @keyframes pillShine {
      0%, 75%, 100% { transform: translateX(-140%); }
      30% { transform: translateX(140%); }
    }

    .simulator-box .field input[type="range"]::-webkit-slider-thumb {
      transition: transform 0.18s ease, box-shadow 0.18s ease;
    }

    .simulator-box .field input[type="range"]:active::-webkit-slider-thumb {
      transform: scale(1.08);
      box-shadow: 0 12px 24px rgba(0,0,0,0.22);
    }

    .simulator-box .field input[type="range"]::-moz-range-thumb {
      transition: transform 0.18s ease, box-shadow 0.18s ease;
    }

    .result-card.result-featured {
      background: linear-gradient(135deg, rgba(255,255,255,0.12), rgba(219,231,255,0.10));
      position: relative;
      overflow: hidden;
    }

    .result-card.result-featured::after {
      content: "";
      position: absolute;
      inset: auto -40px -40px auto;
      width: 140px;
      height: 140px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(255,255,255,0.14), transparent 68%);
      pointer-events: none;
    }

    .result-main.animated-value,
    #resultat.animated-value {
      display: inline-block;
      will-change: transform, opacity;
    }

    .value-pop {
      animation: valuePop 0.45s cubic-bezier(.2,.8,.2,1);
    }

    @keyframes valuePop {
      0% { opacity: 0.55; transform: translateY(8px) scale(0.985); }
      60% { opacity: 1; transform: translateY(-2px) scale(1.01); }
      100% { opacity: 1; transform: translateY(0) scale(1); }
    }

    .result-sub small {
      display: block;
      margin-top: 4px;
      color: rgba(255,255,255,0.58);
      font-size: 0.84rem;
    }

    #resultat {
      margin-top: 0;
      font-size: 1.2rem;
      font-weight: 700;
      color: #dbe7ff;
      min-height: 1.6em;
    }

    .logos img {
      width: 100%;
      height: 78px;
      object-fit: contain;
      background: rgba(255,255,255,0.9);
      border-radius: 16px;
      padding: 14px;
      border: 1px solid rgba(17,24,39,0.06);
      box-shadow: 0 10px 25px rgba(17,24,39,0.05);
    }

    .contact-card {
      background:
        linear-gradient(135deg, rgba(13,27,61,0.97), rgba(30,64,175,0.90)),
        url('https://images.unsplash.com/photo-1520607162513-77705c0f0d4a?auto=format&fit=crop&w=1400&q=80') center/cover;
      color: #fff;
      border-radius: 34px;
      padding: 42px;
      box-shadow: 0 26px 70px rgba(13,27,61,0.22);
    }

    .contact-grid {
      display: grid;
      grid-template-columns: 0.95fr 1.05fr;
      gap: 28px;
      align-items: start;
    }

    .contact-meta {
      display: grid;
      gap: 14px;
      margin-top: 20px;
    }

    .contact-item {
      padding: 14px 16px;
      border-radius: 16px;
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.10);
    }

    form {
      background: rgba(255,255,255,0.09);
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 24px;
      padding: 24px;
      backdrop-filter: none;
    }

    form input,
    form textarea {
      width: 100%;
      padding: 15px 16px;
      border-radius: 14px;
      border: 1px solid rgba(255,255,255,0.16);
      background: rgba(255,255,255,0.96);
      font: inherit;
      margin-bottom: 14px;
      resize: vertical;
    }

    form textarea { min-height: 130px; }

    .checkbox {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      color: rgba(255,255,255,0.84);
      font-size: 0.92rem;
      margin-bottom: 16px;
    }

    footer {
      padding: 34px 0 42px;
      color: var(--muted);
      font-size: 0.92rem;
    }

    .footer-shell {
      border-top: 1px solid rgba(17,24,39,0.08);
      padding-top: 22px;
    }

    .reveal {
      opacity: 0;
      transform: translateY(18px) scale(0.985);
      transition: opacity 0.75s ease, transform 0.75s cubic-bezier(.22,1,.36,1), filter 0.75s ease;
      filter: saturate(0.96);
    }

    .reveal.visible {
      opacity: 1;
      transform: translateY(0) scale(1);
      filter: saturate(1);
    }


    .nav-links .nav-cta {
      background: linear-gradient(135deg, var(--royal-soft), var(--royal));
      color: #fff;
      box-shadow: 0 10px 24px rgba(36,71,168,0.24);
      font-weight: 700;
    }

    .nav-links .nav-cta:hover {
      background: linear-gradient(135deg, #6c8cf0, var(--royal));
      color: #fff;
    }

    .btn-primary,
    .nav-links .nav-cta,
    .lead-gate-submit,
    .simulator-lead-btn {
      box-shadow: 0 14px 34px rgba(36, 71, 168, 0.30);
    }

    .btn-primary:hover,
    .nav-links .nav-cta:hover,
    .lead-gate-submit:hover,
    .simulator-lead-btn:hover {
      transform: translateY(-3px) scale(1.01);
      box-shadow: 0 18px 40px rgba(36, 71, 168, 0.38);
    }

    .btn-primary:active,
    .btn-secondary:active,
    .nav-links a:active,
    .left-menu-link:active {
      transform: translateY(0) scale(0.985);
    }

    .left-menu-link {
      position: relative;
      overflow: hidden;
    }

    .left-menu-link::before,
    .btn-primary::before,
    .btn-secondary::before {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: inherit;
      background: radial-gradient(circle at top left, rgba(91,126,229,0.22), transparent 45%);
      opacity: 0;
      transition: opacity 0.35s ease;
      pointer-events: none;
    }

    .left-menu-link:hover::before,
    .left-menu-link.is-active::before,
    .btn-primary:hover::before,
    .btn-secondary:hover::before {
      opacity: 1;
    }

    #taux {
      position: relative;
      overflow: hidden;
      background: linear-gradient(180deg, rgba(13,27,61,0.98), rgba(18,37,78,0.94));
      border: 1px solid rgba(91,126,229,0.22);
      box-shadow: 0 24px 60px rgba(13, 27, 61, 0.18);
    }

    #taux::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at top right, rgba(91,126,229,0.18), transparent 24%),
        radial-gradient(circle at bottom left, rgba(91,126,229,0.12), transparent 22%);
      pointer-events: none;
    }

    #taux > * {
      position: relative;
      z-index: 1;
    }

    #taux h2,
    #taux h3,
    #taux .eyebrow,
    #taux .rate {
      color: #fff;
    }

    #taux .muted {
      color: rgba(225, 233, 249, 0.82);
    }

    #taux .eyebrow::before {
      background: linear-gradient(90deg, rgba(140,168,255,0.95), transparent);
    }

    #taux .rate-card {
      background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.06));
      border: 1px solid rgba(140, 168, 255, 0.18);
      box-shadow: 0 18px 40px rgba(7, 15, 35, 0.18);
      backdrop-filter: blur(10px);
    }

    #taux .rate-card:hover {
      transform: translateY(-6px);
      border-color: rgba(140, 168, 255, 0.34);
      box-shadow: 0 22px 46px rgba(7, 15, 35, 0.24);
    }

    #taux .rate {
      text-shadow: 0 0 22px rgba(91,126,229,0.18);
    }

    .hero-proof {
      margin-top: 24px;
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
    }

    .proof-chip {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 12px 16px;
      border-radius: 999px;
      color: rgba(255,255,255,0.94);
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.12);
      backdrop-filter: none;
      font-size: 0.96rem;
      font-weight: 600;
    }

    .proof-chip span {
      color: #fff;
      font-weight: 800;
    }

    .needs-grid,
    .reassurance-grid,
    .process-grid {
      display: grid;
      gap: 24px;
    }

    .needs-grid {
      grid-template-columns: repeat(4, minmax(0,1fr));
      margin-top: 28px;
    }

    .need-card {
      position: relative;
      overflow: hidden;
      background: linear-gradient(180deg, rgba(255,255,255,0.94), rgba(247,249,253,0.94));
    }

    .need-card::after {
      content: "";
      position: absolute;
      inset: auto -30px -40px auto;
      width: 120px;
      height: 120px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(91,126,229,0.16), transparent 66%);
    }

    .need-card p {
      position: relative;
      z-index: 1;
    }

    .reassurance-band {
      padding-top: 0;
    }

    .reassurance-shell {
      background: linear-gradient(135deg, rgba(13,27,61,0.96), rgba(28,58,126,0.92));
      color: #fff;
      border-radius: 34px;
      padding: 34px;
      box-shadow: 0 18px 55px rgba(13,27,61,0.18);
    }

    .reassurance-shell h2,
    .reassurance-shell .muted {
      color: #fff;
    }

    .reassurance-grid {
      grid-template-columns: repeat(4, minmax(0,1fr));
      margin-top: 26px;
    }

    .reassurance-card {
      padding: 22px;
      border-radius: 22px;
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.12);
    }

    .reassurance-card strong {
      display: block;
      margin-bottom: 8px;
      color: #fff;
      font-size: 1.02rem;
    }

    .process-shell {
      background: linear-gradient(180deg, rgba(255,255,255,0.92), rgba(255,255,255,0.82));
    }

    .process-grid {
      grid-template-columns: repeat(3, minmax(0,1fr));
      margin-top: 28px;
    }

    .process-step {
      position: relative;
      padding: 28px;
      border-radius: 24px;
      background: #fff;
      border: 1px solid rgba(17,24,39,0.06);
      box-shadow: 0 14px 35px rgba(13,27,61,0.08);
    }

    .process-step-number {
      width: 42px;
      height: 42px;
      display: inline-grid;
      place-items: center;
      border-radius: 50%;
      margin-bottom: 16px;
      background: linear-gradient(135deg, rgba(36,71,168,0.14), rgba(91,126,229,0.24));
      color: var(--navy);
      font-weight: 800;
    }

    .contact-steps {
      display: grid;
      gap: 12px;
      margin-top: 22px;
    }

    .contact-step {
      padding: 14px 16px;
      border-radius: 16px;
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.10);
    }

    .contact-step strong {
      display: block;
      color: #fff;
      margin-bottom: 4px;
    }

    
    .seo-band {
      padding-top: 0;
    }

    .seo-grid,
    .faq-grid {
      display: grid;
      gap: 24px;
    }

    .seo-grid {
      grid-template-columns: repeat(3, minmax(0,1fr));
      margin-top: 28px;
    }

    .seo-card {
      background: linear-gradient(180deg, rgba(255,255,255,0.94), rgba(247,249,253,0.94));
    }

    .faq-grid {
      grid-template-columns: repeat(2, minmax(0,1fr));
      margin-top: 28px;
    }

    .faq-item {
      background: rgba(255,255,255,0.86);
      border: 1px solid rgba(255,255,255,0.8);
      border-radius: 22px;
      padding: 24px;
      box-shadow: 0 14px 35px rgba(13,27,61,0.08);
    }

    .faq-item h3 {
      font-size: 1.15rem;
      color: var(--navy);
      margin-bottom: 10px;
    }

    @media (max-width: 1100px) {
      .hero-grid { grid-template-columns: 1.1fr 0.9fr; gap: 28px; }
      .story-grid,
      .video-grid,
      .contact-grid { grid-template-columns: 1fr; }
      .team-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
      .intro-cards,
      .service-grid,
      .rates-grid,
      .news-grid,
      .logos,
      .needs-grid,
      .reassurance-grid,
      .process-grid,
      .seo-grid,
      .faq-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
      .simulator { grid-template-columns: repeat(2, minmax(0,1fr)); }
      .premium-simulator-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
      .simulator-results { grid-template-columns: 1fr; }
    }

    @media (max-width: 760px) {

  .hero-grid {
    grid-template-columns: 1fr;
  }

  .hero-panel {
    margin-top: 24px;
  }

  .quote {
    font-size: 0.98rem;
    line-height: 1.6;
    max-width: 100%;
  }

      .section { padding: 72px 0; }
      .section-shell, .contact-card, .simulator-box { padding: 26px; }
      .nav-wrap {
        min-height: auto;
        padding: 14px 0;
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
      }
      .brand {
        justify-content: flex-start;
      }
      .nav-toggle {
        display: inline-flex;
        justify-self: end;
      }
      .nav-links {
        display: none;
        grid-column: 1 / -1;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        margin-top: 14px;
        padding-top: 14px;
        border-top: 1px solid rgba(255,255,255,0.10);
      }
      .nav-links.open {
        display: flex;
      }
      .nav-links a {
        width: 100%;
        text-align: center;
      }
      .intro-cards,
      .service-grid,
      .team-grid,
      .rates-grid,
      .news-grid,
      .logos,
      .simulator-grid,
      .seo-grid,
      .faq-grid { grid-template-columns: 1fr; }
      .premium-simulator-grid { grid-template-columns: 1fr; }
      .testimonial-slide { grid-template-columns: 1fr; padding: 30px 24px; }
      .carousel-controls { padding: 0 24px 24px; }
      .hero-panel { padding: 22px; }
      h1 { font-size: clamp(2.4rem, 11vw, 4rem); }
    }
  
    h2 { margin-bottom: 22px; }
    .section { padding: 100px 0; }
    .section-shell { padding: 48px; }


    /* --- Finitions premium V5 --- */
    :root {
      --shadow-soft: 0 18px 40px rgba(13, 27, 61, 0.08);
      --shadow-strong: 0 24px 60px rgba(13, 27, 61, 0.14);
    }

    body {
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }

    .section {
      padding: 108px 0;
    }

    .section-shell {
      padding: 52px;
      border-radius: 36px;
    }

    h1 {
      letter-spacing: -0.03em;
    }

    h2 {
      margin-bottom: 20px;
      letter-spacing: -0.025em;
    }

    .muted {
      line-height: 1.78;
    }

    .card,
    .process-step,
    .reassurance-card,
    .testimonial-wrap,
    .hero-panel,
    .video-card,
    form {
      transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease, background 0.35s ease;
    }

    .card:hover,
    .process-step:hover,
    .reassurance-card:hover {
      transform: translateY(-5px);
      box-shadow: var(--shadow-strong);
    }

    .hero-panel:hover,
    .testimonial-wrap:hover,
    .video-card:hover,
    form:hover {
      box-shadow: var(--shadow-strong);
    }

    .btn {
      position: relative;
      overflow: hidden;
    }

    .btn::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.22) 42%, transparent 78%);
      transform: translateX(-130%);
      transition: transform 0.7s ease;
      pointer-events: none;
    }

    .btn:hover::after {
      transform: translateX(130%);
    }

    .nav-links a {
      position: relative;
    }

    .nav-links a:not(.nav-cta)::after {
      content: "";
      position: absolute;
      left: 14px;
      right: 14px;
      bottom: 6px;
      height: 1px;
      background: rgba(255,255,255,0.55);
      transform: scaleX(0);
      transform-origin: center;
      transition: transform 0.28s ease;
    }

    .nav-links a:not(.nav-cta):hover::after {
      transform: scaleX(1);
    }

    .proof-chip,
    .contact-item,
    .contact-step {
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
    }

    .proof-chip:hover,
    .contact-item:hover,
    .contact-step:hover {
      background: rgba(255,255,255,0.11);
      transform: translateY(-2px);
      transition: transform 0.28s ease, background 0.28s ease;
    }

    .team-card img,
    .logos img {
      transition: transform 0.4s ease, box-shadow 0.35s ease, filter 0.35s ease;
    }

    .team-card:hover img,
    .logos img:hover {
      transform: scale(1.02);
      box-shadow: var(--shadow-soft);
      filter: saturate(1.02);
    }

    .testimonial-slide {
      padding-top: 48px;
      padding-bottom: 48px;
    }

    .quote {
      line-height: 1.7;
    }

    .simulator-box {
      box-shadow: 0 26px 58px rgba(13, 27, 61, 0.20);
    }

    .result-card {
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
    }

    footer {
      padding-top: 40px;
      padding-bottom: 52px;
    }

    @media (max-width: 760px) {
      .section {
        padding: 82px 0;
      }
      .section-shell,
      .contact-card,
      .simulator-box {
        padding: 28px;
        border-radius: 28px;
      }
      .proof-chip {
        width: 100%;
        justify-content: center;
      }
      .hero-actions .btn {
        width: 100%;
      }
    }


/* SIGNATURE BAND START */

.site-signature-band {
  position: relative;
  z-index: 20;
  width: 100%;
  background: linear-gradient(
    180deg,
    rgba(9,19,45,0.92) 0%,
    rgba(13,27,61,0.85) 60%,
    rgba(13,27,61,0.0) 100%
  );
  border-bottom: none;
  box-shadow: none;
}

.site-signature-band::before {
  content: "";
  display: block;
  width: 60px;
  height: 1px;
  margin: 0 auto 10px auto;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,0.4),
    transparent
  );
}

.site-signature-band .container {
  padding: 16px 16px 10px 16px;
}

.site-signature-band p {
  margin: 0;
  text-align: center;
  color: rgba(255,255,255,0.88);
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.5;
  font-size: clamp(0.95rem, 1.05vw, 1.05rem);
  text-shadow: 0 2px 12px rgba(0,0,0,0.25);
}


.hero{
  min-height: calc(88vh - 24px);
}

.hero-copy h1{
  margin-bottom: 20px;
  line-height: 1.04;
  letter-spacing: -0.03em;
}

.hero-title-lockup{
  display:flex;
  flex-direction:column;
  gap:0.16em;
  max-width:15ch;
}

.hero-brand-lockup{
  display:inline-flex;
  align-items:center;
  gap:0.24em;
  flex-wrap:nowrap;
  width:fit-content;
  max-width:100%;
}

.hero-brand-logo{
  width:clamp(58px, 6.2vw, 94px);
  height:auto;
  flex:0 0 auto;
  display:block;
}

.hero-brand-wordmark,
.hero-title-sub{
  display:block;
}

.hero-title-sub{
  max-width:11ch;
}

.hero-copy .lead{
  margin-top: 12px;
  line-height: 1.72;
  font-size: clamp(1.02rem, 1.08vw, 1.08rem);
}

@media (max-width: 760px){
  .site-signature-band .container{
    padding: 14px 12px 8px 12px;
  }

  .site-signature-band p{
    font-size: 0.9rem;
    line-height: 1.45;
  }

  .site-signature-band .container{
    padding: 14px 12px;
  }

  .site-signature-band p{
    font-size: 0.94rem;
    line-height: 1.45;
  }

  .hero-copy h1{
    margin-bottom: 14px;
    line-height: 1.08;
  }

  .hero-title-lockup{
    gap: 0.18em;
    max-width: 10.4ch;
  }

  .hero-brand-lockup{
    gap: 0.18em;
    align-items: center;
  }

  .hero-brand-logo{
    width: clamp(42px, 12vw, 62px);
  }

  .hero-title-sub{
    max-width: 9.2ch;
  }

  .hero-copy .lead{
    font-size: 0.98rem;
    line-height: 1.66;
  }
}
/* SIGNATURE BAND END */


.testimonial-slide h3{
  font-size: 0.95rem;
  margin-top: 2px;
  margin-bottom: 4px;
}
.testimonial-slide .muted{
  font-size: 0.88rem;
  line-height: 1.45;
}

@media (max-width: 760px) {
  .quote {
    font-size: 0.88rem;
    line-height: 1.5;
    max-width: 100%;
  }

  .testimonial-slide {
    grid-template-columns: 1fr;
    padding: 24px 22px;
    gap: 16px;
  }

  .avatar {
    width: 64px;
    height: 64px;
    font-size: 1.15rem;
  }
}



/* FINAL MOBILE + FAQ ACCORDION + CTA SHIMMER */
html, body {
  max-width: 100%;
  overflow-x: clip;
}

body.menu-open {
  overflow: hidden;
}

.btn-shimmer {
  isolation: isolate;
}

.btn-shimmer::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -35%;
  width: 32%;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,0.18) 35%, rgba(255,255,255,0.55) 50%, rgba(255,255,255,0.18) 65%, transparent 100%);
  transform: skewX(-20deg);
  animation: ctaShimmer 4.8s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}

.btn-shimmer > span,
.btn-shimmer {
  position: relative;
  z-index: 2;
}

@keyframes ctaShimmer {
  0%, 72%, 100% { transform: translateX(0) skewX(-20deg); opacity: 0; }
  8% { opacity: 1; }
  22% { transform: translateX(420%) skewX(-20deg); opacity: 0; }
}

.mobile-menu-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(7, 13, 28, 0.42);
  backdrop-filter: blur(4px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.32s ease;
  z-index: 95;
}

.mobile-menu-backdrop.open {
  opacity: 1;
  pointer-events: auto;
}

.faq-item {
  padding: 0;
  overflow: hidden;
}

.faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 24px;
  border: none;
  background: transparent;
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: inherit;
}

.faq-question h3 {
  margin: 0;
  font-size: 1.08rem;
}

.faq-icon {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--royal);
  background: rgba(36,71,168,0.08);
  transition: transform 0.28s ease, background 0.28s ease;
  font-size: 1.1rem;
  font-weight: 700;
}

.faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.34s ease;
}

.faq-answer-inner {
  overflow: hidden;
}

.faq-answer .muted,
.faq-answer p {
  padding: 0 24px 24px;
}

.faq-item.active .faq-answer {
  grid-template-rows: 1fr;
}

.faq-item.active .faq-icon {
  transform: rotate(45deg);
  background: rgba(36,71,168,0.14);
}

@media (max-width: 760px) {
  nav {
    overflow: visible;
  }

  .nav-wrap {
    position: relative;
  }

  .brand {
    min-width: 0;
    max-width: calc(100vw - 96px);
  }

  .brand span {
    min-width: 0;
  }

  .brand small,
  .brand {
    word-break: break-word;
  }

  .hero,
  .section,
  .section-shell,
  .contact-card,
  .simulator-box,
  .hero-panel,
  .card,
  .testimonial-wrap,
  .video-card {
    max-width: 100%;
  }

  .hero {
    min-height: auto;
  }

  .hero-grid {
    gap: 24px;
    padding: 44px 0 56px;
  }

  .hero-copy,
  .hero-panel {
    min-width: 0;
  }

  .hero-proof {
    gap: 10px;
  }

  .proof-chip {
    width: 100%;
    justify-content: flex-start;
  }

  .stats {
    grid-template-columns: 1fr;
  }

  .nav-links {
    display: flex;
    position: fixed;
    top: 0;
    right: 0;
    height: 100dvh;
    width: min(86vw, 360px);
    margin-top: 0;
    padding: 92px 18px 24px;
    border-top: 0;
    border-left: 1px solid rgba(255,255,255,0.08);
    background: linear-gradient(180deg, rgba(10,22,51,0.98), rgba(15,31,71,0.97));
    box-shadow: -24px 0 60px rgba(0,0,0,0.24);
    transform: translateX(104%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: transform 0.34s ease, opacity 0.28s ease, visibility 0.28s ease;
    z-index: 110;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .nav-links.open {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .nav-links a {
    text-align: left;
    padding: 14px 16px;
    border-radius: 16px;
  }

  .nav-links .nav-cta {
    margin-top: 6px;
    text-align: center;
  }

  .faq-question {
    padding: 20px 18px;
    align-items: flex-start;
  }

  .faq-question h3 {
    font-size: 1rem;
    line-height: 1.4;
  }

  .faq-answer .muted,
  .faq-answer p {
    padding: 0 18px 20px;
  }

  .site-signature-band p {
    text-wrap: balance;
  }
}


/* FAISABILITE PREMIUM */
.simulator-faisabilite {
  background:
    radial-gradient(circle at 14% 16%, rgba(255,255,255,0.70), transparent 22%),
    radial-gradient(circle at 84% 18%, rgba(171, 209, 255, 0.26), transparent 24%),
    radial-gradient(circle at 78% 82%, rgba(112, 165, 255, 0.16), transparent 26%),
    linear-gradient(180deg, rgba(255,250,242,0.82) 0%, rgba(245,249,255,0.76) 55%, rgba(234,243,255,0.68) 100%);
  border: 1px solid rgba(171, 205, 255, 0.34);
  box-shadow: 0 32px 70px rgba(11, 25, 61, 0.14), inset 0 1px 0 rgba(255,255,255,0.72);
}

.simulator-faisabilite::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 29px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.48), rgba(255,255,255,0.14)),
    radial-gradient(circle at top left, rgba(255,255,255,0.52), transparent 34%);
  backdrop-filter: blur(20px) saturate(138%);
  pointer-events: none;
}

.simulator-faisabilite::after {
  background: radial-gradient(circle, rgba(214, 232, 255, 0.10), transparent 66%);
}

.simulator-faisabilite > * {
  position: relative;
  z-index: 1;
}

.simulator-head {
  display: block;
  margin-bottom: 24px;
}

.simulator-intro {
  color: rgba(28, 52, 108, 0.86);
  max-width: 760px;
  line-height: 1.68;
}

.faisability-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.simulator-faisabilite .field {
  background: linear-gradient(180deg, rgba(255,255,255,0.44), rgba(233,242,255,0.24));
  border: 1px solid rgba(182, 210, 255, 0.34);
  padding: 20px;
  border-radius: 22px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.52), 0 14px 28px rgba(57, 96, 173, 0.07);
}

.simulator-faisabilite .field label {
  color: rgba(17, 42, 96, 0.92);
}

.simulator-faisabilite .field input {
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(241,247,255,0.92));
  color: var(--navy);
  font-weight: 700;
  border: 1px solid rgba(170, 202, 255, 0.44);
  margin-top: 8px;
  box-shadow: 0 8px 20px rgba(57, 96, 173, 0.05);
}

.field-help {
  margin-top: 10px;
  color: rgba(48, 76, 138, 0.74);
  font-size: 0.87rem;
  line-height: 1.5;
}

.faisability-results {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 22px;
}

.faisability-results .result-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.38), rgba(230,240,255,0.20));
  border: 1px solid rgba(182, 210, 255, 0.28);
  min-height: 100%;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.42), 0 14px 28px rgba(57, 96, 173, 0.07);
}

.faisability-results .result-label,
.faisability-results .result-main,
.faisability-results .result-sub {
  color: var(--navy);
}

.faisability-results .result-sub {
  color: rgba(43, 68, 124, 0.78);
}

.result-opinion {
  background: linear-gradient(145deg, rgba(255,255,255,0.44), rgba(236,244,255,0.28));
  border: 1px solid rgba(184, 208, 248, 0.30);
  backdrop-filter: blur(20px) saturate(135%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.56), 0 16px 30px rgba(57, 96, 173, 0.08);
}

.result-opinion.is-good {
  background: linear-gradient(145deg, rgba(242,255,248,0.64), rgba(222,245,233,0.34));
  border-color: rgba(120, 207, 156, 0.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.52), 0 16px 28px rgba(26, 109, 59, 0.06);
}

.result-opinion.is-medium {
  background: linear-gradient(145deg, rgba(255,250,241,0.66), rgba(255,235,201,0.32));
  border-color: rgba(232, 177, 90, 0.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.52), 0 16px 28px rgba(153, 90, 0, 0.06);
}

.result-opinion.is-hard {
  background: linear-gradient(145deg, rgba(255,246,246,0.66), rgba(255,222,222,0.30));
  border-color: rgba(224, 123, 123, 0.26);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.52), 0 16px 28px rgba(128, 28, 28, 0.06);
}

.simulator-cta-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: center;
  margin-top: 24px;
}

.simulator-lead-btn {
  min-width: 290px;
}

.simulator-note {
  color: rgba(32, 56, 108, 0.78);
  line-height: 1.6;
}

.lead-modal {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 140;
}

.lead-modal.open {
  display: block;
}

.lead-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(6, 12, 28, 0.58);
  backdrop-filter: blur(6px);
}

.lead-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(92vw, 760px);
  margin: 5vh auto;
}

.lead-modal-shell {
  position: relative;
  padding: 34px;
  border-radius: 30px;
  background:
    radial-gradient(circle at top left, rgba(91,126,229,0.14), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(247,250,255,0.92));
  border: 1px solid rgba(255,255,255,0.88);
  box-shadow: 0 34px 80px rgba(9, 18, 42, 0.26);
}

.lead-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 42px;
  height: 42px;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  font-size: 1.5rem;
  color: var(--navy);
  background: rgba(36,71,168,0.08);
}

.lead-form {
  background: transparent;
  border: none;
  padding: 0;
  box-shadow: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.lead-form textarea,
.lead-form .lead-checkbox,
.lead-form .lead-submit-btn {
  grid-column: 1 / -1;
}

.lead-form textarea {
  min-height: 120px;
}

.lead-checkbox {
  color: var(--muted);
  margin: 2px 0 0;
}

.lead-submit-btn {
  justify-self: start;
}

.lead-gate-shell {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 24px;
  align-items: stretch;
  margin-top: 42px;
}

.lead-gate-copy,
.lead-gate-card {
  border-radius: 30px;
  padding: 32px;
}

.lead-gate-copy {
  background: linear-gradient(135deg, rgba(13,27,61,0.96), rgba(31,67,148,0.92));
  color: #fff;
  box-shadow: 0 24px 60px rgba(13,27,61,0.18);
}

.lead-gate-title {
  color: #fff;
  font-size: clamp(1.8rem, 3vw, 2.7rem);
}

.lead-gate-text {
  margin-top: 14px;
  color: rgba(255,255,255,0.84);
}

.lead-gate-points {
  display: grid;
  gap: 12px;
  margin-top: 22px;
  color: rgba(255,255,255,0.92);
  font-weight: 600;
}

.lead-gate-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.94), rgba(247,251,255,0.9));
  border: 1px solid rgba(193,216,255,0.42);
  box-shadow: 0 20px 48px rgba(36,71,168,0.10);
}

.lead-gate-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  background: transparent;
  border: none;
  padding: 0;
  box-shadow: none;
}

.lead-gate-form input,
.lead-gate-form textarea {
  margin-bottom: 0;
  border: 1px solid rgba(170, 202, 255, 0.44);
}

.lead-consent,
.lead-gate-legal,
.lead-gate-success,
.lead-gate-submit {
  grid-column: 1 / -1;
}

.lead-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--text);
  font-size: 0.94rem;
  line-height: 1.55;
}

.lead-consent input {
  width: auto;
  margin-top: 3px;
}

.lead-gate-submit {
  width: 100%;
}

.lead-gate-legal {
  margin-top: -2px;
  color: var(--muted);
  font-size: 0.9rem;
}

.lead-gate-success {
  min-height: 1.4em;
  color: var(--royal);
  font-weight: 700;
}

.honeypot {
  position: absolute !important;
  left: -9999px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.simulator-locked {
  display: none;
}

.simulator-locked.is-visible {
  display: block;
  animation: fadeUnlock 0.55s ease;
}

@keyframes fadeUnlock {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1100px) {
  .lead-gate-shell {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .lead-gate-copy,
  .lead-gate-card {
    padding: 24px;
    border-radius: 24px;
  }

  .lead-gate-form {
    grid-template-columns: 1fr;
  }
}


.lead-form input:focus,
.lead-form textarea:focus,
.simulator-faisabilite .field input:focus {
  border-color: rgba(87, 137, 236, 0.42);
  box-shadow: 0 0 0 4px rgba(91, 126, 229, 0.10);
}

@media (max-width: 760px) {
  .simulator-head {
    margin-bottom: 20px;
  }

  .simulator-title {
    line-height: 1.12;
  }

  .simulator-intro {
    font-size: 0.98rem;
    line-height: 1.6;
  }

  .simulator-faisabilite .field {
    padding: 16px;
    border-radius: 18px;
  }

  .field-help {
    font-size: 0.84rem;
    line-height: 1.45;
  }

  .faisability-results .result-card {
    padding: 18px;
  }

  .simulator-lead-btn,
  .lead-submit-btn {
    width: 100%;
    justify-self: stretch;
  }

  .simulator-note {
    font-size: 0.94rem;
    line-height: 1.55;
  }

  .lead-modal-dialog {
    width: min(94vw, 760px);
    margin: 2.5vh auto;
  }

  .lead-modal-shell {
    padding: 24px 18px;
    border-radius: 24px;
  }

  .lead-form {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

@media (max-width: 1100px) {
  .simulator-head,
  .faisability-results,
  .simulator-cta-row {
    grid-template-columns: 1fr;
  }

  .simulator-badge {
    justify-self: start;
  }

  .simulator-lead-btn {
    min-width: 0;
    width: 100%;
  }
}

@media (max-width: 760px) {
  .faisability-grid,
  .lead-form {
    grid-template-columns: 1fr;
  }

  .lead-modal-dialog {
    width: min(94vw, 760px);
    margin: 2vh auto;
  }

  .lead-modal-shell {
    padding: 24px 18px;
    border-radius: 24px;
  }

  .simulator-head {
    gap: 18px;
  }
}

body.modal-open { overflow: hidden; }



/* LUXE BLUE REFINEMENT */
:root{
  --lux-blue-1:#f8fbff;
  --lux-blue-2:#edf4ff;
  --lux-blue-3:#dbe9ff;
  --lux-blue-4:#b7d2ff;
  --lux-navy:#12316e;
  --lux-shadow:0 26px 70px rgba(26,60,134,0.16);
  --lux-shadow-soft:0 18px 44px rgba(36,71,168,0.10);
}

body{
  background:
    radial-gradient(circle at 12% 10%, rgba(154,191,255,0.24), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(91,126,229,0.16), transparent 24%),
    linear-gradient(180deg, #f6f9ff 0%, #f9fbff 32%, #f2f7ff 100%);
}

.section-shell,
.card,
.testimonial-wrap,
.process-step,
.seo-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.94), rgba(247,251,255,0.88));
  border-color: rgba(193,216,255,0.42);
  box-shadow: var(--lux-shadow-soft);
}

.section-shell:hover,
.card:hover,
.process-step:hover{
  box-shadow: 0 24px 58px rgba(36,71,168,0.14);
}

.hero-panel,
.video-card,
.contact-card,
.reassurance-shell{
  position: relative;
  overflow: hidden;
}

.hero-panel::before,
.video-card::before,
.contact-card::before,
.reassurance-shell::before{
  content:"";
  position:absolute;
  inset:-20% auto auto -10%;
  width:220px;
  height:220px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,0.18), transparent 65%);
  pointer-events:none;
}

.proof-chip,
.contact-item,
.contact-step,
.reassurance-card{
  background: rgba(255,255,255,0.10);
  border-color: rgba(214,230,255,0.20);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12);
}

.nav-links .nav-cta,
.btn-primary,
.simulator-lead-btn,
.lead-submit-btn{
  box-shadow: 0 16px 38px rgba(36,71,168,0.20);
}

.simulator-box.simulator-faisabilite{
  position: relative;
  background:
    radial-gradient(circle at 12% 14%, rgba(196,223,255,0.82), transparent 24%),
    radial-gradient(circle at 86% 18%, rgba(143,188,255,0.42), transparent 22%),
    radial-gradient(circle at 78% 88%, rgba(91,126,229,0.12), transparent 26%),
    linear-gradient(145deg, rgba(255,255,255,0.84) 0%, rgba(247,251,255,0.78) 46%, rgba(236,245,255,0.72) 100%);
  border: 1px solid rgba(173,204,255,0.42);
  box-shadow:
    0 26px 80px rgba(28,66,145,0.16),
    inset 0 1px 0 rgba(255,255,255,0.72),
    inset 0 -18px 38px rgba(180,211,255,0.10);
  backdrop-filter: none;
}

.simulator-box.simulator-faisabilite::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:30px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.28), transparent 36%, rgba(123,164,255,0.06) 100%);
  pointer-events:none;
}

.simulator-box.simulator-faisabilite::after{
  background: radial-gradient(circle, rgba(112,163,255,0.16), transparent 68%);
}

.simulator-head{
  position: relative;
  z-index: 2;
  margin-bottom: 8px;
}

.simulator-eyebrow{
  color: #5c7fe0 !important;
  margin-bottom: 12px;
}

.simulator-title{
  color: var(--lux-navy) !important;
  margin-bottom: 12px;
}

.simulator-intro{
  color: rgba(18,49,110,0.82) !important;
  max-width: 920px;
}

.faisability-grid,
.faisability-results,
.simulator-cta-row{
  position: relative;
  z-index: 2;
}

.simulator-box .field{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.58), rgba(240,247,255,0.50));
  border: 1px solid rgba(157,192,255,0.34);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.52),
    0 10px 24px rgba(66,109,191,0.08);
}

.simulator-box .field:hover,
.simulator-box .field:focus-within{
  border-color: rgba(91,126,229,0.40);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.62),
    0 18px 34px rgba(66,109,191,0.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.68), rgba(238,246,255,0.60));
}

.simulator-box .field label,
.field-help{
  color: rgba(18,49,110,0.78) !important;
}

.simulator-box .field input[type="number"],
.simulator-box .field input[type="text"],
.simulator-box .field input[type="email"],
.simulator-box .field input[type="tel"]{
  background: rgba(255,255,255,0.82);
  color: var(--lux-navy);
  border: 1px solid rgba(180,206,255,0.46);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.58);
}

.simulator-box .field input::placeholder{
  color: rgba(18,49,110,0.40);
}

.faisability-results .result-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.44), rgba(229,240,255,0.28));
  border: 1px solid rgba(168,199,255,0.34);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.54),
    0 16px 30px rgba(33,74,151,0.08);
}

.faisability-results .result-card .result-label{
  color: rgba(18,49,110,0.60);
}

.faisability-results .result-card .result-main{
  color: var(--lux-navy);
  text-shadow: 0 2px 14px rgba(168,204,255,0.22);
}

.faisability-results .result-card .result-sub{
  color: rgba(18,49,110,0.62);
}

.result-opinion{
  border-width: 1px;
  color: #fff;
}

.result-opinion .result-label,
.result-opinion .result-main,
.result-opinion .result-sub{
  color: #fff !important;
  text-shadow: 0 2px 16px rgba(0,0,0,0.12);
}

.result-opinion:not(.is-good):not(.is-medium):not(.is-hard){
  background:
    linear-gradient(135deg, #426fd1 0%, #5e8ef0 52%, #7db4ff 100%);
  border-color: rgba(125,180,255,0.42);
  box-shadow: 0 18px 42px rgba(52,96,187,0.20);
}

.result-opinion.is-good{
  background:
    linear-gradient(135deg, #18a957 0%, #3ac66f 42%, #83e59f 100%);
  border-color: rgba(136,241,177,0.58);
  box-shadow: 0 18px 42px rgba(24,169,87,0.24);
}

.result-opinion.is-medium{
  background:
    linear-gradient(135deg, #ea8a10 0%, #f2a52d 46%, #ffd27a 100%);
  border-color: rgba(255,221,154,0.62);
  box-shadow: 0 18px 42px rgba(234,138,16,0.22);
}

.result-opinion.is-hard{
  background:
    linear-gradient(135deg, #d94c4c 0%, #ea6d6d 48%, #ff9a9a 100%);
  border-color: rgba(255,176,176,0.60);
  box-shadow: 0 18px 42px rgba(217,76,76,0.24);
}

.simulator-lead-btn{
  background: linear-gradient(135deg, #2958c2 0%, #4f82ee 50%, #7caeff 100%) !important;
  color:#fff !important;
  border: 1px solid rgba(123,168,255,0.34);
}

.simulator-lead-btn:hover{
  box-shadow: 0 20px 44px rgba(36,71,168,0.24);
}

.simulator-note{
  color: rgba(18,49,110,0.72) !important;
}

.lead-modal-dialog{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.94), rgba(244,249,255,0.92));
  border: 1px solid rgba(177,207,255,0.42);
  box-shadow: var(--lux-shadow);
}

.lead-form input,
.lead-form textarea{
  background: rgba(255,255,255,0.86);
  border: 1px solid rgba(182,208,255,0.46);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.52);
}

@media (max-width:760px){
  .simulator-box.simulator-faisabilite{
    background:
      radial-gradient(circle at 15% 12%, rgba(196,223,255,0.74), transparent 26%),
      radial-gradient(circle at 90% 16%, rgba(143,188,255,0.34), transparent 24%),
      linear-gradient(145deg, rgba(255,255,255,0.88) 0%, rgba(244,249,255,0.82) 100%);
  }
}



/* LUXE LIGHT REFINEMENT */
.hero-panel,
.section-shell,
.card,
.contact-card,
.video-card,
.testimonial-wrap,
.process-step,
.reassurance-card {
  position: relative;
}

.hero-panel::before,
.section-shell::before,
.card::before,
.contact-card::before,
.video-card::before,
.testimonial-wrap::before,
.process-step::before,
.reassurance-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(120deg, rgba(255,255,255,0.16), rgba(255,255,255,0.04) 30%, transparent 58%);
  pointer-events: none;
  opacity: 0.9;
}

.btn, .nav-links a, .proof-chip, .contact-item, .contact-step {
  box-shadow: 0 10px 28px rgba(36,71,168,0.08);
}


/* 2026 HEADER + LEFT DRAWER FIX */
.topbar {
  position: sticky;
  top: 0;
  z-index: 140;
  background: linear-gradient(180deg, rgba(22,37,78,0.92), rgba(29,47,94,0.88));
  border-bottom: 1px solid rgba(255,255,255,0.08);
  backdrop-filter: blur(18px) saturate(135%);
}
.nav-shell {
  position: relative;
  min-height: 92px;
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 18px;
}
.menu-trigger {
  width: 52px;
  height: 52px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
  cursor: pointer;
}
.menu-trigger span {
  width: 20px; height: 2px; border-radius: 999px; background: #fff; display:block;
}
.brand-center {
  justify-self: center;
  text-align: center;
  gap: 12px;
}
.brand-center span { line-height: 1.05; }
.brand-center small { font-size: 0.78rem; }
.desktop-links { justify-self: center; }
.top-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 24px;
  border-radius: 999px;
  background: linear-gradient(135deg, #6287ff, #315ad3);
  color: #fff;
  font-weight: 800;
  box-shadow: 0 16px 34px rgba(49,90,211,0.34);
}
.site-signature-band {
  background: linear-gradient(180deg, rgba(12,24,56,0.86), rgba(18,32,71,0.66));
  border-top: 1px solid rgba(255,255,255,0.05);
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.site-signature-band::before { display:none; }
.site-signature-band .container { padding: 14px 16px; }
.site-signature-band p {
  text-align: center;
  font-weight: 600;
  color: rgba(255,255,255,0.92);
  letter-spacing: 0.01em;
  text-shadow: none;
}
.drawer-backdrop {
  position: fixed; inset: 0; z-index: 145;
  background: rgba(6,12,28,0.34);
  opacity: 0; pointer-events: none;
  transition: opacity .28s ease;
}
.drawer-backdrop.open { opacity: 1; pointer-events: auto; }
.side-drawer {
  position: fixed;
  top: 0; left: 0; bottom: 0;
  width: min(340px, 88vw);
  z-index: 150;
  transform: translateX(-104%);
  transition: transform .42s cubic-bezier(.22,.9,.25,1);
  background: linear-gradient(180deg, rgba(11,25,61,0.96), rgba(16,35,82,0.94));
  border-right: 1px solid rgba(255,255,255,0.08);
  box-shadow: 28px 0 70px rgba(0,0,0,0.28);
  backdrop-filter: blur(18px) saturate(135%);
}
.side-drawer.open { transform: translateX(0); }
.side-drawer-inner { padding: 22px 20px 24px; height: 100%; display:flex; flex-direction:column; }
.drawer-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.drawer-brand { color:#fff; }
.drawer-brand img { width:46px; height:46px; }
.drawer-close {
  width: 42px; height: 42px; border-radius: 14px; border:1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.08); color:#fff; font-size: 1.6rem; line-height:1; cursor:pointer;
}
.drawer-label {
  margin: 22px 0 14px; color: rgba(255,255,255,0.58); font-size:.85rem; text-transform:uppercase; letter-spacing:.16em;
}
.drawer-nav { display:grid; gap: 10px; }
.drawer-nav a {
  display:block; padding: 14px 16px; border-radius: 18px; color: rgba(255,255,255,0.94);
  background: rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.05); transition: .24s ease;
}
.drawer-nav a:hover, .drawer-nav a.is-active {
  background: linear-gradient(180deg, rgba(103,137,255,0.24), rgba(79,112,221,0.18));
  border-color: rgba(125,159,255,0.30);
  transform: translateX(3px);
}
.drawer-cta {
  margin-top: auto; display:inline-flex; align-items:center; justify-content:center; min-height:54px;
  border-radius:999px; background:linear-gradient(135deg,#6a8eff,#355de0); color:#fff; font-weight:800;
  box-shadow: 0 16px 36px rgba(53,93,224,0.35);
}
.hero-copy h1 {
  font-size: clamp(3.25rem, 7vw, 6rem);
  max-width: 11ch;
  line-height: 0.96;
  text-wrap: balance;
}
.hero-copy .lead {
  max-width: 760px;
  color: rgba(255,255,255,0.9);
  font-size: clamp(1.02rem,1.15vw,1.14rem);
}
.hero-grid { gap: 56px; }
.hero-panel {
  background: linear-gradient(180deg, rgba(255,255,255,0.14), rgba(255,255,255,0.08));
  border: 1px solid rgba(255,255,255,0.16);
}
@media (max-width: 1080px) {
  .nav-shell { grid-template-columns: auto 1fr auto; }
  .desktop-links { display:none; }
}
@media (max-width: 760px) {
  .nav-shell {
    min-height: 82px;
    grid-template-columns: auto 1fr auto;
    gap: 12px;
  }
  .brand-center {
    justify-self: center;
    max-width: calc(100vw - 156px);
  }
  .brand-center img { width:42px; height:42px; }
  .brand-center span { font-size: .92rem; }
  .brand-center small { font-size: .72rem; }
  .top-cta {
    min-height: 46px; padding: 0 16px; font-size: .92rem;
  }
  .site-signature-band .container { padding: 12px 14px; }
  .site-signature-band p { font-size: .92rem; line-height: 1.35; }
  .hero-copy h1 { font-size: clamp(2.6rem, 12vw, 4rem); max-width: none; }
}



/* FINAL TOPBAR REMOVAL + LOCKED BIRD LOGO */
.topbar, .side-drawer, .drawer-backdrop {
  display: none !important;
}

body {
  padding-top: 0 !important;
}

.floating-rdv {
  position: fixed;
  top: 22px;
  right: 24px;
  z-index: 220;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 0 28px;
  border-radius: 999px;
  color: #fff;
  font-weight: 800;
  letter-spacing: -0.01em;
  background: linear-gradient(135deg, rgba(112,148,255,0.96), rgba(53,94,221,0.96));
  box-shadow: 0 20px 45px rgba(26, 54, 140, 0.28), inset 0 1px 0 rgba(255,255,255,0.22);
  border: 1px solid rgba(255,255,255,0.16);
  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease;
}

.floating-rdv:hover {
  transform: translateY(-2px);
  box-shadow: 0 26px 52px rgba(26, 54, 140, 0.34), inset 0 1px 0 rgba(255,255,255,0.26);
  filter: brightness(1.03);
}

.floating-rdv::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(120deg, transparent 12%, rgba(255,255,255,0.32) 34%, transparent 58%);
  transform: translateX(-135%);
  animation: floatingShimmer 5.6s ease-in-out infinite;
  pointer-events: none;
}

@keyframes floatingShimmer {
  0%, 70%, 100% { transform: translateX(-135%); opacity: 0; }
  14% { opacity: 1; }
  26% { transform: translateX(150%); opacity: 0; }
}

.hero {
  margin-top: 0 !important;
}

.hero-bird-lock {
  position: absolute;
  left: min(6vw, 70px);
  top: 50%;
  transform: translateY(-42%);
  width: min(34vw, 430px);
  opacity: 0.12;
  filter: drop-shadow(0 18px 40px rgba(4, 15, 48, 0.30));
  pointer-events: none;
  z-index: 0;
}

.hero-bird-lock img {
  width: 100%;
  height: auto;
  display: block;
}

.hero-grid, .hero-copy, .hero-panel {
  position: relative;
  z-index: 1;
}

.hero-copy {
  padding-left: clamp(18px, 8vw, 180px);
}

@media (max-width: 1100px) {
  .hero-bird-lock {
    width: min(46vw, 320px);
    left: -10px;
    top: 18%;
    transform: none;
    opacity: 0.1;
  }

  .hero-copy {
    padding-left: 0;
  }
}

@media (max-width: 760px) {
  .floating-rdv {
    top: auto;
    right: 16px;
    bottom: 18px;
    left: 16px;
    min-height: 54px;
    padding: 0 20px;
    justify-content: center;
  }

  .hero-bird-lock {
    width: 74vw;
    left: 50%;
    top: 10%;
    transform: translateX(-50%);
    opacity: 0.08;
  }
}


/* FINAL CLEANUP: NO LEFT MENU */
#sideMenuToggle,
#sideDrawer,
#drawerBackdrop,
.menu-toggle,
.nav-toggle,
.mobile-menu-backdrop,
.side-drawer,
.drawer-backdrop,
.topbar-left,
.topbar .menu-trigger,
.topbar .menu-toggle,
.topbar .left-toggle {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.menu-open {
  overflow: auto !important;
}

.topbar {
  justify-content: center !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.hero {
  padding-top: 88px !important;
}

.floating-rdv {
  z-index: 250 !important;
}

.site-signature-band {
  position: relative !important;
  z-index: 120 !important;
}



/* LEFT MENU LUXE */
.menu-toggle-left {
  position: fixed;
  top: 22px;
  left: 22px;
  width: 58px;
  height: 58px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.05));
  color: #fff;
  backdrop-filter: blur(14px) saturate(130%);
  box-shadow: 0 18px 40px rgba(8,18,42,0.24), inset 0 1px 0 rgba(255,255,255,0.12);
  z-index: 160;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform .35s ease, background .35s ease, box-shadow .35s ease;
}
.menu-toggle-left:hover { transform: translateY(-2px) scale(1.02); background: linear-gradient(180deg, rgba(255,255,255,0.14), rgba(255,255,255,0.07)); }
.menu-toggle-left .bars,
.menu-toggle-left .bars::before,
.menu-toggle-left .bars::after {
  content: "";
  display: block;
  width: 24px;
  height: 2px;
  border-radius: 999px;
  background: #fff;
  transition: transform .35s ease, opacity .25s ease, background .25s ease;
}
.menu-toggle-left .bars::before { transform: translateY(-8px); }
.menu-toggle-left .bars::after { transform: translateY(6px); }
body.menu-open .menu-toggle-left .bars { background: transparent; }
body.menu-open .menu-toggle-left .bars::before { transform: translateY(0) rotate(45deg); }
body.menu-open .menu-toggle-left .bars::after { transform: translateY(-2px) rotate(-45deg); }
.left-menu-overlay {
  position: fixed; inset: 0;
  background: rgba(6, 14, 34, 0.22);
  backdrop-filter: blur(3px);
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .35s ease, visibility .35s ease;
  z-index: 145;
}
body.menu-open .left-menu-overlay { opacity: 1; visibility: visible; pointer-events: auto; }
.left-menu {
  position: fixed; top: 0; left: 0; width: min(320px, calc(100vw - 28px)); height: 100dvh;
  padding: 110px 18px 20px;
  background: linear-gradient(180deg, rgba(8,18,42,0.95), rgba(13,27,61,0.90) 42%, rgba(22,42,94,0.88));
  border-right: 1px solid rgba(255,255,255,0.08);
  backdrop-filter: blur(20px) saturate(130%);
  box-shadow: 24px 0 60px rgba(5,12,28,0.28);
  transform: translateX(calc(-100% - 24px));
  transition: transform .55s cubic-bezier(.22,.88,.18,1);
  z-index: 150; overflow-y: auto;
}
body.menu-open .left-menu { transform: translateX(0); }
.left-menu::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 12% 10%, rgba(145,185,255,0.16), transparent 28%), radial-gradient(circle at 88% 82%, rgba(91,126,229,0.12), transparent 28%); pointer-events:none; }
.left-menu-inner { position: relative; z-index: 1; }
.left-menu-brand { display:grid; grid-template-columns:58px 1fr; gap:14px; align-items:center; margin-bottom:26px; padding:14px; border-radius:22px; background:linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04)); border:1px solid rgba(255,255,255,0.10); box-shadow:inset 0 1px 0 rgba(255,255,255,0.10); }
.left-menu-brand img { width:58px; height:58px; object-fit:contain; filter: drop-shadow(0 10px 24px rgba(0,0,0,0.18)); }
.left-menu-brand strong { display:block; color:#fff; font-size:1.12rem; line-height:1.1; }
.left-menu-brand span { display:block; color:rgba(255,255,255,0.76); font-size:.92rem; line-height:1.35; margin-top:4px; }
.left-menu-signature { color: rgba(255,255,255,0.78); font-size:.98rem; line-height:1.6; margin:0 2px 22px; }
.left-menu-nav { display:grid; gap:10px; }
.left-menu-link { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:15px 16px; border-radius:18px; color:rgba(255,255,255,0.88); background:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03)); border:1px solid rgba(255,255,255,0.06); transition: transform .3s ease, background .3s ease, border-color .3s ease, color .3s ease; }
.left-menu-link:hover, .left-menu-link.is-active { transform: translateX(4px); background: linear-gradient(135deg, rgba(91,126,229,0.32), rgba(60,90,180,0.20)); border-color: rgba(173,200,255,0.18); color:#fff; }
.left-menu-link span:last-child { opacity:.45; transition: transform .3s ease, opacity .3s ease; }
.left-menu-link:hover span:last-child, .left-menu-link.is-active span:last-child { opacity:.95; transform: translateX(3px); }
.left-menu-cta { margin-top:18px; display:flex; justify-content:center; align-items:center; min-height:56px; border-radius:999px; font-weight:800; color:#fff; background:linear-gradient(135deg, #6e8fff, #355fdc); box-shadow: 0 18px 40px rgba(53,95,220,0.30), inset 0 1px 0 rgba(255,255,255,0.18); }
.left-menu-cta:hover { transform: translateY(-2px); }
.hero { scroll-margin-top: 32px; }
.hero-copy .eyebrow, .hero-copy h1, .hero-copy .lead, .hero-proof .proof-chip, .hero-actions .btn, .hero-panel { opacity: 0; transform: translateY(24px); will-change: transform, opacity; }
.hero-copy .eyebrow { animation: heroFade .8s ease forwards .05s; }
.hero-copy h1 { animation: heroFade .9s ease forwards .18s; }
.hero-copy .lead { animation: heroFade .9s ease forwards .34s; }
.hero-proof .proof-chip:nth-child(1) { animation: heroFade .7s ease forwards .48s; }
.hero-proof .proof-chip:nth-child(2) { animation: heroFade .7s ease forwards .58s; }
.hero-proof .proof-chip:nth-child(3) { animation: heroFade .7s ease forwards .68s; }
.hero-actions .btn:nth-child(1) { animation: heroFade .8s ease forwards .82s; }
.hero-actions .btn:nth-child(2) { animation: heroFade .8s ease forwards .92s; }
.hero-panel { animation: heroPanelIn 1.05s cubic-bezier(.22,.88,.18,1) forwards .35s; }
@keyframes heroFade { to { opacity:1; transform: translateY(0); } }
@keyframes heroPanelIn { 0% { opacity:0; transform: translateY(34px) scale(.98); } 100% { opacity:1; transform: translateY(0) scale(1); } }
.reveal { opacity: 0; transform: translateY(42px) scale(.995); transition: opacity .8s ease, transform .8s cubic-bezier(.22,.88,.18,1); }
.reveal.visible { opacity: 1; transform: translateY(0) scale(1); }
body.menu-open { overflow: hidden; }
@media (max-width: 900px) {
  .menu-toggle-left { top: 16px; left: 16px; width: 52px; height: 52px; }
  .left-menu { width: min(300px, calc(100vw - 20px)); padding-top: 94px; }
}



/* HERO REHAUSSE + SCROLL LUXE */
.hero {
  padding-top: 64px !important;
  padding-bottom: 92px !important;
  background-size: 108% auto !important;
  background-position: center center !important;
  animation: heroBreath 18s ease-in-out infinite;
  will-change: background-size, background-position, transform;
}

.hero-grid {
  align-items: flex-start !important;
  padding-top: 26px !important;
}

.hero-copy {
  margin-top: -26px;
}

.hero-copy h1 {
  margin-top: 0;
}

@keyframes heroBreath {
  0%, 100% {
    background-size: 108% auto;
    background-position: 50% 50%;
  }
  50% {
    background-size: 113% auto;
    background-position: 52% 46%;
  }
}

@media (max-width: 1100px) {
  .hero {
    padding-top: 52px !important;
    padding-bottom: 78px !important;
    background-size: cover !important;
  }

  .hero-grid {
    padding-top: 16px !important;
  }

  .hero-copy {
    margin-top: -10px;
  }
}

@media (max-width: 760px) {
  .hero {
    padding-top: 34px !important;
    padding-bottom: 58px !important;
    animation-duration: 22s;
    background-size: cover !important;
  }

  .hero-grid {
    padding-top: 8px !important;
  }

  .hero-copy {
    margin-top: 0;
  }
}



/* SCROLL PAR SECTION */
html { scroll-behavior: smooth; }
body.scroll-sections { scroll-snap-type: y proximity; }
header.hero, main > section.section, footer {
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
@media (min-width: 1024px) {
  body.scroll-sections { scroll-snap-type: y mandatory; }
  header.hero { min-height: 100svh; }
  main > section.section { min-height: min(100svh, auto); }
}
@media (max-width: 1023px) {
  body.scroll-sections { scroll-snap-type: y proximity; }
}


/* HERO PANEL + STAT CARDS FIX */
.hero-bird-lock{display:none !important;}
.hero-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(420px,0.92fr);
  gap:56px;
  align-items:center;
}
.hero-copy,
.hero-panel{
  min-width:0;
}
.hero-panel{
  max-width:560px;
  margin-left:auto;
  padding:30px 28px;
}
.hero-panel h2{
  line-height:1.08;
}
.stats{
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
  margin-top:22px;
}
.stat-card{
  min-height:172px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
  padding:24px 22px;
  overflow:hidden;
}
.stat-card strong{
  font-size:clamp(1.08rem, 1.35vw, 1.42rem);
  line-height:1.12;
  margin-bottom:10px;
  letter-spacing:-0.02em;
  white-space:normal;
  word-break:normal;
  overflow-wrap:anywhere;
}
.stat-card span{
  font-size:0.98rem;
  line-height:1.42;
  color:rgba(255,255,255,0.9);
}
.quick-points{
  margin-top:20px;
  gap:12px;
}
.quick-points div{
  align-items:flex-start;
}
@media (max-width: 1180px){
  .hero-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .hero-panel{
    max-width:100%;
    margin-left:0;
  }
}
@media (max-width: 760px){
  .stats{
    grid-template-columns:1fr;
  }
  .stat-card{
    min-height:auto;
    padding:20px 18px;
  }
  .hero-panel{
    padding:24px 20px;
  }
}


/* ALIGNEMENT OPTIQUE APPLE */
.hero .container.hero-grid{
  width:min(calc(100% - 72px), 1320px);
  grid-template-columns:minmax(0,1.02fr) minmax(380px,0.82fr);
  gap:82px;
  align-items:start;
  padding-top:52px;
}
.hero-copy{
  max-width:780px;
  padding-top:14px;
}
.hero-copy .eyebrow,
.hero-copy .lead,
.hero-copy .hero-proof,
.hero-copy .hero-actions{
  max-width:720px;
}
.hero-copy h1{
  max-width:10.8ch;
  letter-spacing:-0.04em;
  line-height:0.94;
  text-wrap:balance;
}
.hero-panel{
  max-width:520px;
  margin-left:auto;
  margin-right:28px;
  padding:34px 30px;
  transform:translateY(18px);
}
.hero-panel h2{
  font-size:1.78rem !important;
  line-height:1.06;
  max-width:11.5ch;
  text-wrap:balance;
}
.hero-panel p,
.hero-panel .quick-points,
.hero-panel .stats{
  max-width:100%;
}
.stats{
  gap:18px;
}
.stat-card{
  min-height:168px;
  padding:24px 24px 22px;
}
@media (max-width: 1360px){
  .hero .container.hero-grid{
    width:min(calc(100% - 56px), 1240px);
    gap:64px;
    grid-template-columns:minmax(0,1fr) minmax(360px,0.86fr);
  }
  .hero-panel{margin-right:12px;}
}
@media (max-width: 1180px){
  .hero .container.hero-grid{
    width:min(calc(100% - 40px), 1120px);
    grid-template-columns:1fr;
    gap:32px;
    padding-top:18px;
  }
  .hero-copy,
  .hero-copy .eyebrow,
  .hero-copy .lead,
  .hero-copy .hero-proof,
  .hero-copy .hero-actions,
  .hero-copy h1{
    max-width:100%;
  }
  .hero-panel{
    max-width:100%;
    margin-right:0;
    transform:none;
  }
}
@media (max-width: 760px){
  .hero .container.hero-grid{
    width:min(calc(100% - 28px), 100%);
    padding-top:8px;
  }
  .hero-copy{padding-top:0;}
  .hero-copy h1{
    max-width:100%;
    line-height:0.98;
  }
  .hero-panel{
    padding:24px 20px;
  }
}


.site-signature-band {
  background: linear-gradient(
    180deg,
    rgba(9,19,45,0.75) 0%,
    rgba(13,27,61,0.55) 60%,
    rgba(13,27,61,0.0) 100%
  );
}

.site-signature-band p {
  color: rgba(255,255,255,0.95);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-shadow: 0 4px 18px rgba(0,0,0,0.45);
  display: inline-block;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(13,27,61,0.35);
  backdrop-filter: blur(6px);
}


/* ULTRA LUXE DISCRET V2 */

body {
  background: #f8fafc;
}

.section-shell {
  background: rgba(255,255,255,0.75);
  backdrop-filter: blur(12px);
}

.card {
  background: rgba(255,255,255,0.85);
  border: 1px solid rgba(0,0,0,0.04);
}

h1, h2 {
  letter-spacing: -0.03em;
}

.muted {
  color: rgba(0,0,0,0.6);
}

.btn-primary {
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

.btn-secondary {
  background: rgba(255,255,255,0.15);
  backdrop-filter: blur(6px);
}


/* ULTIME V3 — HIERARCHIE DU REGARD / EYE TRACKING */

:root{
  --reading-width: 62ch;
}

.container{
  width: min(calc(100% - 40px), 1180px);
}

.hero-copy{
  max-width: 760px;
}

.hero-copy h1{
  max-width: 11.5ch;
  text-wrap: balance;
  margin-bottom: 18px;
}

.hero-copy .lead{
  max-width: var(--reading-width);
  color: rgba(255,255,255,0.90);
}

.hero-actions{
  margin-top: 28px;
}

.hero-proof{
  margin-top: 18px;
}

.proof-chip{
  padding: 11px 15px;
  font-size: 0.93rem;
}

.section h2,
.section-shell h2{
  max-width: 16ch;
  text-wrap: balance;
}

.section-shell > p.muted,
.card p,
.process-step p,
.reassurance-card p,
.need-card p,
.faq-answer p,
.faq-answer .muted{
  max-width: var(--reading-width);
}

.card h3,
.process-step h3,
.faq-question h3{
  letter-spacing: -0.015em;
}

.card,
.process-step,
.reassurance-card,
.faq-item,
.result-card{
  border-color: rgba(13,27,61,0.05);
}

.card,
.process-step,
.reassurance-card{
  box-shadow: 0 12px 30px rgba(13,27,61,0.06);
}

.card:hover,
.process-step:hover,
.reassurance-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(13,27,61,0.09);
}

.section{
  padding: 114px 0;
}

.section-shell{
  padding: 56px;
}

.intro-cards,
.service-grid,
.news-grid,
.rates-grid{
  gap: 26px;
}

.contact-card,
.simulator-box,
.brand-story,
.reassurance-shell{
  box-shadow: 0 24px 60px rgba(13,27,61,0.12);
}

.btn{
  min-height: 52px;
  padding-inline: 22px;
}

.btn-primary{
  box-shadow: 0 12px 26px rgba(13,27,61,0.10);
}

.nav-links a{
  font-size: 0.94rem;
}

nav{
  background: rgba(10,22,51,0.72);
}

.site-signature-band .container{
  display: flex;
  justify-content: center;
}

.site-signature-band p{
  text-align: center;
  white-space: normal;
}

.quote{
  max-width: 58ch;
}

.contact-grid > div:first-child p,
.story-text p{
  max-width: 60ch;
}

.logos img{
  padding: 16px;
  height: 82px;
}

@media (max-width: 760px){
  .container{
    width: min(calc(100% - 24px), 100%);
  }

  .section{
    padding: 88px 0;
  }

  .section-shell,
  .contact-card,
  .simulator-box{
    padding: 24px;
  }

  .hero-copy h1{
    max-width: 12ch;
  }

  .hero-copy .lead,
  .card p,
  .process-step p,
  .reassurance-card p,
  .need-card p{
    max-width: 100%;
  }

  .proof-chip{
    justify-content: center;
  }

  .section h2,
  .section-shell h2{
    max-width: 100%;
  }
}


/* MICRO ANIMATION LUXE */
.hero::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent 40%, rgba(255,255,255,0.08) 50%, transparent 60%);
  opacity:0.15;
  animation:luxSweep 8s ease-in-out infinite;
  pointer-events:none;
}

@keyframes luxSweep {
  0%,100% {transform:translateX(-20%);}
  50% {transform:translateX(20%);}
}


/* ===== FINAL 9-10/10 OPTIMIZATION — NO CONTENT CHANGE ===== */

:root{
  --container: 1160px;
  --reading-width: 60ch;
  --shadow-soft-2: 0 14px 36px rgba(13,27,61,0.05);
  --shadow-premium: 0 22px 60px rgba(13,27,61,0.10);
  --shadow-premium-hover: 0 26px 72px rgba(13,27,61,0.14);
}

html{
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body{
  background:
    radial-gradient(circle at top left, rgba(91,126,229,0.08), transparent 28%),
    linear-gradient(180deg, #f6f8fc 0%, #fbfcfe 46%, #f6f8fc 100%);
  color: #182233;
}

.container{
  width: min(calc(100% - 40px), var(--container));
}

.section{
  padding: 116px 0;
}

.section-shell{
  padding: 58px;
  border-radius: 36px;
  background: linear-gradient(180deg, rgba(255,255,255,0.86), rgba(255,255,255,0.78));
  border: 1px solid rgba(255,255,255,0.92);
  box-shadow: var(--shadow-soft-2);
}

.card{
  padding: 32px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,0.90), rgba(255,255,255,0.82));
  border: 1px solid rgba(13,27,61,0.045);
  box-shadow: 0 10px 28px rgba(13,27,61,0.05);
}

.card:hover,
.process-step:hover,
.reassurance-card:hover,
.faq-item:hover{
  transform: translateY(-3px);
  box-shadow: 0 18px 48px rgba(13,27,61,0.09);
}

h1, h2, h3, .brand-title{
  letter-spacing: -0.028em;
}

h1{
  max-width: 11.2ch;
  text-wrap: balance;
  text-shadow: 0 10px 32px rgba(0,0,0,0.18);
}

h2{
  max-width: 16ch;
  text-wrap: balance;
  margin-bottom: 18px;
}

.hero-copy{
  max-width: 760px;
}

.hero-copy .lead{
  max-width: var(--reading-width);
  color: rgba(255,255,255,0.92);
  font-size: clamp(1.03rem, 1.06vw, 1.09rem);
  line-height: 1.78;
  text-shadow: 0 5px 24px rgba(0,0,0,0.16);
}

.hero{
  min-height: 92vh;
}

.hero-grid{
  gap: 52px;
  padding: 80px 0 72px;
}

.hero-panel{
  padding: 30px;
  border-radius: 30px;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 26px 70px rgba(0,0,0,0.16);
}

.stats{
  gap: 16px;
}

.stat-card{
  border-radius: 20px;
  padding: 20px;
}

.hero-actions{
  margin-top: 30px;
  gap: 14px;
}

.btn{
  min-height: 54px;
  padding: 15px 24px;
  font-weight: 700;
  border-radius: 999px;
}

.btn-primary{
  box-shadow: 0 14px 34px rgba(36,71,168,0.18);
}

.btn-secondary{
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.18);
}

.hero-proof{
  margin-top: 18px;
  gap: 12px;
}

.proof-chip{
  padding: 12px 16px;
  font-size: 0.94rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.09);
  border: 1px solid rgba(255,255,255,0.13);
}

.site-signature-band .container{
  display: flex;
  justify-content: center;
}

.site-signature-band p{
  max-width: 72ch;
  text-align: center;
}

.nav-wrap{
  min-height: 80px;
}

.nav-links{
  gap: 8px;
}

.nav-links a{
  font-size: 0.94rem;
  padding: 10px 14px;
}

.nav-links .nav-cta{
  box-shadow: 0 10px 24px rgba(36,71,168,0.18);
}

p, .muted, .card p, .process-step p, .reassurance-card p, .need-card p, .faq-answer p{
  max-width: var(--reading-width);
}

.muted{
  color: #5f6f86;
  line-height: 1.8;
}

.intro-cards,
.service-grid,
.rates-grid,
.news-grid,
.team-grid,
.needs-grid,
.reassurance-grid,
.process-grid,
.seo-grid,
.faq-grid{
  gap: 26px;
}

.icon-badge{
  margin-bottom: 18px;
}

.brand-story,
.contact-card,
.simulator-box,
.reassurance-shell{
  box-shadow: var(--shadow-premium);
}

.brand-story .story-text p,
.contact-grid > div:first-child p{
  max-width: 60ch;
}


.team-card img {
  width: 100%;
  aspect-ratio: 4 / 4.8;
  object-fit: cover;
  border-radius: 18px;
  margin-bottom: 18px;
  background: transparent;
}


.team-role{
  margin-bottom: 10px;
}

.testimonial-wrap{
  border-radius: 30px;
  box-shadow: var(--shadow-soft-2);
}

.testimonial-slide{
  padding: 40px 38px;
}

.quote{
  max-width: 58ch;
  font-size: 0.98rem;
  line-height: 1.72;
}

.carousel-controls{
  padding: 0 34px 30px;
}

.video-card{
  padding: 30px;
  border-radius: 30px;
}

.video-frame{
  border-radius: 24px;
}

.rate-card{
  border-radius: 22px;
}

.rate{
  margin-top: 10px;
}

.simulator-box{
  padding: 42px;
  border-radius: 34px;
}

.simulator-head{
  margin-bottom: 26px;
}

.field{
  border-radius: 22px;
}

.field input{
  border-radius: 14px;
}

.result-card{
  border-radius: 22px;
}

.logos img{
  height: 82px;
  padding: 16px;
  border-radius: 18px;
}

.reassurance-shell{
  padding: 38px;
  border-radius: 34px;
}

.reassurance-card{
  border-radius: 22px;
}

.process-step{
  border-radius: 24px;
  min-height: 230px;
  box-shadow: 0 12px 30px rgba(13,27,61,0.05);
}

.process-step-number{
  margin-bottom: 18px;
}

.faq-item{
  border-radius: 22px;
  box-shadow: 0 12px 30px rgba(13,27,61,0.05);
}

.faq-question{
  padding: 22px 22px;
}

.faq-answer .muted,
.faq-answer p{
  padding: 0 22px 22px;
}

.contact-card{
  padding: 44px;
  border-radius: 36px;
}

.contact-item,
.contact-step{
  border-radius: 18px;
}

form{
  border-radius: 26px;
  padding: 26px;
}

form input,
form textarea{
  border-radius: 14px;
}

footer{
  padding: 44px 0 56px;
}

.reveal{
  transition: opacity 0.8s ease, transform 0.8s ease;
}

@media (min-width: 761px){
  .section:nth-of-type(even) .section-shell{
    background: linear-gradient(180deg, rgba(255,255,255,0.88), rgba(250,251,254,0.82));
  }
}

@media (max-width: 1100px){
  .hero-grid{
    gap: 34px;
  }
  h2{
    max-width: 100%;
  }
}

@media (max-width: 760px){
  .container{
    width: min(calc(100% - 24px), 100%);
  }

  .section{
    padding: 86px 0;
  }

  .section-shell,
  .contact-card,
  .simulator-box{
    padding: 24px;
    border-radius: 28px;
  }

  .card{
    padding: 24px;
  }

  h1{
    max-width: 12ch;
  }

  .hero{
    min-height: auto;
  }

  .hero-grid{
    gap: 24px;
    padding: 42px 0 56px;
  }

  .hero-panel{
    padding: 22px;
    border-radius: 24px;
  }

  .proof-chip{
    width: 100%;
    justify-content: center;
  }

  .testimonial-slide{
    padding: 24px 22px;
  }

  .quote,
  .muted,
  .card p,
  .process-step p,
  .reassurance-card p,
  .faq-answer p{
    max-width: 100%;
  }

  .logos img{
    height: 74px;
  }

  .process-step{
    min-height: auto;
  }
}


.hero-divider-line{
  width: 88px;
  height: 1px;
  margin-top: 22px;
  background: linear-gradient(90deg, rgba(255,255,255,0.62), rgba(255,255,255,0.06));
}

.pre-avis-stats {
  display: flex;
  gap: 24px;
  margin: 40px 0 20px;
  flex-wrap: wrap;
  justify-content: center;
}

.pre-avis-stats div {
  background: linear-gradient(135deg, rgba(36,71,168,0.08), rgba(91,126,229,0.12));
  border: 1px solid rgba(36,71,168,0.12);
  padding: 14px 20px;
  border-radius: 999px;
  font-size: 0.95rem;
  color: #0d1b3d;
  font-weight: 500;
}

.pre-avis-stats strong {
  font-weight: 800;
  margin-right: 6px;
  color: #2447a8;
}


/* ===== FINAL TOTAL + MOBILE OPTIMIZATION ===== */

.hero-microtrust{
  margin-top: 12px;
  color: rgba(255,255,255,0.80);
  font-size: 0.92rem;
  line-height: 1.5;
  letter-spacing: 0.01em;
  max-width: 42ch;
}

.final-cta-band{
  padding-top: 34px;
  padding-bottom: 34px;
}

.final-cta-card{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 28px 30px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,0.92), rgba(255,255,255,0.84));
  border: 1px solid rgba(13,27,61,0.06);
  box-shadow: 0 14px 40px rgba(13,27,61,0.06);
}

.final-cta-text{
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.4rem, 2.4vw, 2rem);
  line-height: 1.2;
  letter-spacing: -0.025em;
  color: #0d1b3d;
  max-width: 20ch;
}

.contact-item a, .contact-step a, .meta a{
  color: inherit;
  text-decoration: none;
}

.meta a{
  display: inline-flex;
  align-items: center;
  min-height: 24px;
}

.hero-proof{
  margin-top: 18px;
}

.pre-avis-stats{
  scroll-margin-top: 90px;
}

.section, .section-tight, #contact{
  scroll-margin-top: 86px;
}

.hero-copy .eyebrow{
  margin-bottom: 12px;
}

.hero-copy h1{
  margin-bottom: 10px;
}

.hero-copy .lead{
  margin-top: 12px;
}

@media (max-width: 980px){
  .final-cta-card{
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 760px){
  html, body{
    overflow-x: clip;
  }

  body{
    -webkit-tap-highlight-color: transparent;
  }

  .container{
    width: min(calc(100% - 20px), 100%);
  }

  nav{
    backdrop-filter: blur(12px);
  }

  .nav-wrap{
    min-height: 70px;
    gap: 12px;
  }

  .brand{
    gap: 10px;
  }

  .brand img{
    width: 38px;
    height: 38px;
    border-radius: 10px;
  }

  .brand small{
    font-size: 0.74rem;
    line-height: 1.25;
  }

  .hero{
    min-height: auto;
    background-position: center center;
  }

  .hero::before{
    width: 260px;
    height: 260px;
    top: -2%;
    right: -10%;
  }

  .hero::after{
    width: 220px;
    height: 220px;
    left: -10%;
    bottom: -6%;
  }

  .hero-grid{
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 36px 0 46px;
  }

  .hero-grid::after{
    width: 78%;
    inset: -6% -28% auto auto;
    opacity: 0.26;
  }

  .hero-copy{
    max-width: 100%;
  }

  .hero-copy .eyebrow{
    font-size: 0.78rem;
    letter-spacing: 0.12em;
    gap: 8px;
  }

  .hero-copy .eyebrow::before{
    width: 24px;
  }

  h1{
    font-size: clamp(2.2rem, 11vw, 3.4rem);
    max-width: 9.8ch;
    line-height: 1.04;
  }

  .hero-copy .lead{
    font-size: 0.98rem;
    line-height: 1.65;
    max-width: 100%;
  }

  .hero-actions{
    gap: 10px;
    margin-top: 24px;
  }

  .hero-actions .btn,
  .nav-actions .btn,
  .final-cta-card .btn{
    width: 100%;
  }

  .btn{
    min-height: 52px;
    padding: 14px 18px;
    font-size: 0.96rem;
  }

  .hero-microtrust{
    font-size: 0.86rem;
    line-height: 1.45;
    max-width: 100%;
  }

  .hero-proof{
    gap: 10px;
    margin-top: 16px;
  }

  .proof-chip{
    width: 100%;
    justify-content: center;
    text-align: center;
    padding: 11px 14px;
    font-size: 0.89rem;
    line-height: 1.35;
  }

  .hero-card{
    padding: 20px;
    border-radius: 22px;
  }

  .hero-card h3{
    font-size: 1.12rem;
    margin-bottom: 14px;
  }

  .hero-list{
    gap: 12px;
  }

  .hero-list div{
    font-size: 0.94rem;
    line-height: 1.5;
  }

  .hero-mini{
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 18px;
  }

  .hero-mini .mini{
    padding: 16px;
    border-radius: 16px;
  }

  .shell, .band, .section-shell, .contact-card, .simulator-box{
    padding: 22px;
    border-radius: 24px;
  }

  .card, .step, .process-step, .reassurance-card, .faq-item{
    padding: 22px;
    border-radius: 20px;
  }

  .grid-3, .steps, .intro-cards, .service-grid, .rates-grid, .news-grid, .team-grid, .needs-grid, .reassurance-grid, .process-grid, .seo-grid, .faq-grid, .logos, .simulator-grid, .premium-simulator-grid{
    grid-template-columns: 1fr !important;
    gap: 18px;
  }

  h2{
    font-size: clamp(1.75rem, 8vw, 2.4rem);
    line-height: 1.08;
    max-width: 100%;
    margin-bottom: 12px;
  }

  h3{
    font-size: 1.08rem;
    line-height: 1.22;
  }

  p, .muted, .card p, .process-step p, .reassurance-card p, .need-card p, .faq-answer p, .faq-answer .muted, .quote{
    max-width: 100%;
    font-size: 0.95rem;
    line-height: 1.6;
  }

  .pre-avis-stats{
    gap: 12px;
    margin: 28px 0 16px;
  }

  .pre-avis-stats div{
    width: 100%;
    text-align: center;
    padding: 13px 16px;
    font-size: 0.92rem;
  }

  .testimonial-slide{
    padding: 22px 18px;
    gap: 14px;
  }

  .carousel-controls{
    padding: 0 18px 18px;
  }

  .quote{
    font-size: 0.9rem;
    line-height: 1.55;
  }

  .avatar{
    width: 60px;
    height: 60px;
    font-size: 1.05rem;
  }

  .video-card{
    padding: 22px;
    border-radius: 24px;
  }

  .video-frame{
    border-radius: 18px;
  }

  .simulator-box{
    padding: 22px;
    margin-top: 32px;
  }

  .simulator-head{
    margin-bottom: 18px;
  }

  .simulator-intro{
    font-size: 0.95rem;
    line-height: 1.55;
  }

  .field label{
    font-size: 0.88rem;
  }

  .field input,
  form input,
  form textarea{
    font-size: 16px;
  }

  .slider-value{
    font-size: 0.9rem;
  }

  .slider-scale{
    font-size: 0.76rem;
  }

  .simulator-results{
    grid-template-columns: 1fr !important;
    gap: 12px;
    margin-top: 18px;
  }

  .result-card{
    padding: 16px;
    border-radius: 18px;
  }

  .result-main{
    font-size: 1.4rem;
  }

  .logos img{
    height: 70px;
    padding: 14px;
    border-radius: 14px;
  }

  .team-card img{
    aspect-ratio: 4 / 4.2;
    margin-bottom: 14px;
  }

  .faq-question{
    padding: 18px 16px;
    gap: 12px;
  }

  .faq-question h3{
    font-size: 0.98rem;
    line-height: 1.35;
  }

  .faq-answer .muted,
  .faq-answer p{
    padding: 0 16px 18px;
  }

  .faq-icon{
    width: 30px;
    height: 30px;
    font-size: 1rem;
  }

  .contact-grid, .form-wrap, .split, .story-grid, .video-grid{
    grid-template-columns: 1fr !important;
    gap: 18px;
  }

  .meta, .contact-meta, .contact-steps{
    gap: 10px;
    margin-top: 18px;
  }

  .meta div, .contact-item, .contact-step{
    padding: 13px 14px;
    border-radius: 14px;
    font-size: 0.93rem;
  }

  form{
    padding: 20px;
    border-radius: 22px;
  }

  .checkbox{
    font-size: 0.88rem;
    line-height: 1.45;
  }

  .final-cta-band{
    padding-top: 22px;
    padding-bottom: 22px;
  }

  .final-cta-card{
    padding: 22px 18px;
    border-radius: 22px;
    align-items: stretch;
    gap: 14px;
  }

  .final-cta-text{
    font-size: 1.45rem;
    max-width: 100%;
  }

  footer{
    padding: 28px 0 40px;
    font-size: 0.88rem;
  }
}



/* MOBILE CLEANUP 2026 */
.team-showcase-card {
  isolation: isolate;
}

.team-showcase-image {
  display:block;
}

@media (max-width: 900px) {
  .menu-toggle-left {
    top: max(14px, env(safe-area-inset-top));
    left: 14px;
    width: 50px;
    height: 50px;
    border-radius: 16px;
    box-shadow: 0 14px 34px rgba(8,18,42,0.26), inset 0 1px 0 rgba(255,255,255,0.12);
  }

  .left-menu-overlay {
    background: rgba(6, 14, 34, 0.38);
    backdrop-filter: none;
  }

  .left-menu {
    width: min(88vw, 340px);
    padding: 86px 14px 18px;
    border-top-right-radius: 24px;
    border-bottom-right-radius: 24px;
    box-shadow: 20px 0 50px rgba(5,12,28,0.30);
  }

  .left-menu-brand {
    grid-template-columns: 50px 1fr;
    gap: 12px;
    padding: 12px;
    border-radius: 18px;
    margin-bottom: 18px;
  }

  .left-menu-brand img {
    width: 50px;
    height: 50px;
  }

  .left-menu-brand strong {
    font-size: 1rem;
  }

  .left-menu-brand span,
  .left-menu-signature {
    font-size: 0.9rem;
    line-height: 1.45;
  }

  .left-menu-signature {
    margin: 0 2px 18px;
  }

  .left-menu-nav {
    gap: 8px;
  }

  .left-menu-link {
    min-height: 52px;
    padding: 14px;
    border-radius: 16px;
    font-size: 0.98rem;
  }

  .left-menu-cta {
    min-height: 52px;
    margin-top: 14px;
  }

  .container {
    width: min(calc(100% - 24px), var(--container));
  }

  .section {
    padding: 70px 0;
  }

  .section-shell,
  .contact-card,
  .simulator-box {
    padding: 22px;
    border-radius: 24px;
  }

  .hero {
    min-height: auto !important;
    padding-top: 94px !important;
    padding-bottom: 56px !important;
    background-size: cover !important;
    background-position: center center !important;
    animation: none !important;
  }

  .hero-grid {
    gap: 20px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .hero-copy h1 {
    font-size: clamp(2rem, 10vw, 3rem);
    line-height: 1.06;
    max-width: 11ch;
  }

  .hero-copy .lead {
    font-size: 0.96rem;
    line-height: 1.58;
  }

  .hero-panel {
    padding: 18px;
    border-radius: 22px;
  }

  #equipe .section-shell {
    padding: 18px;
  }

  .team-showcase-card {
    border-radius: 22px !important;
    box-shadow: 0 18px 42px rgba(13,27,61,0.16) !important;
  }

  .team-showcase-image {
    height: 260px !important;
    object-position: center 24% !important;
  }

  .team-showcase-overlay {
    background: linear-gradient(180deg, rgba(255,255,255,0.00) 0%, rgba(8,15,33,0.10) 52%, rgba(8,15,33,0.54) 100%) !important;
  }

  .team-name-badges {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 8px !important;
  }

  .team-name-pill {
    width: 100%;
    min-height: 44px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    font-size: 0.84rem !important;
    line-height: 1.2 !important;
    box-shadow: 0 10px 22px rgba(7,15,35,0.20) !important;
  }
}

@media (max-width: 560px) {
  .menu-toggle-left {
    top: max(12px, env(safe-area-inset-top));
    left: 12px;
    width: 48px;
    height: 48px;
  }

  .left-menu {
    width: min(90vw, 320px);
    padding-top: 80px;
  }

  .left-menu-link {
    padding: 13px 14px;
    font-size: 0.95rem;
  }

  .hero-actions {
    gap: 10px;
  }

  .proof-chip {
    justify-content: center;
    font-size: 0.9rem;
  }

  .team-showcase-image {
    height: 220px !important;
    object-position: center 20% !important;
  }

  .team-name-badges {
    grid-template-columns: 1fr;
  }

  .team-name-pill {
    font-size: 0.82rem !important;
    min-height: 42px !important;
  }
}



/* ULTRA PREMIUM MOBILE OVERRIDES */
:root{
  --premium-glass: linear-gradient(180deg, rgba(255,255,255,0.88), rgba(255,255,255,0.68));
  --premium-border: rgba(255,255,255,0.18);
  --premium-shadow-mobile: 0 22px 50px rgba(7,15,35,0.22);
}

.team-showcase-card{
  background: #0f1f46;
}

.team-showcase-image{
  display:block;
}

.team-name-pill{
  transition: transform .28s ease, box-shadow .28s ease, background .28s ease;
}

.team-name-pill:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(7,15,35,0.24) !important;
}

@media (max-width: 760px){
  nav{
    background: rgba(8,18,44,0.84);
    backdrop-filter: blur(18px) saturate(140%);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }

  .nav-wrap{
    grid-template-columns: minmax(0,1fr) auto;
    gap: 14px;
    padding: 12px 0;
  }

  .brand img{
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }

  .brand .brand-title,
  .brand span:first-child{
    font-size: 0.98rem;
    line-height: 1.1;
  }

  .brand small{
    font-size: 0.72rem;
    opacity: .82;
  }

  .nav-toggle{
    width: 46px;
    height: 46px;
    border-radius: 15px;
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.14);
    box-shadow: 0 8px 20px rgba(0,0,0,0.14);
  }

  .mobile-menu-backdrop{
    background: rgba(4,10,24,0.58);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .nav-links{
    width: min(88vw, 360px);
    padding: 92px 16px 24px;
    background:
      radial-gradient(circle at top right, rgba(108,140,240,0.22), transparent 28%),
      linear-gradient(180deg, rgba(8,18,44,0.98), rgba(12,27,63,0.98));
    box-shadow: -30px 0 80px rgba(0,0,0,0.34);
    border-left: 1px solid rgba(255,255,255,0.10);
  }

  .nav-links a{
    padding: 15px 16px;
    border-radius: 18px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    font-size: 0.97rem;
    font-weight: 600;
    letter-spacing: .01em;
  }

  .nav-links a:not(.nav-cta):active,
  .nav-links a:not(.nav-cta):hover{
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.12);
  }

  .nav-links .nav-cta{
    margin-top: 10px;
    min-height: 54px;
    border-radius: 18px;
    box-shadow: 0 16px 36px rgba(36,71,168,0.28);
  }

  .site-signature-band .container{
    padding-top: 12px;
    padding-bottom: 8px;
  }

  .site-signature-band p{
    font-size: .9rem;
    max-width: 30ch;
    opacity: .96;
  }

  .hero{
    background-position: center center;
  }

  .hero-grid{
    padding: 30px 0 46px;
    gap: 18px;
  }

  h1{
    font-size: clamp(2.15rem, 10.8vw, 3.15rem);
    max-width: 10.5ch;
  }

  .hero-copy .lead{
    font-size: .97rem;
    line-height: 1.62;
    color: rgba(255,255,255,.90);
  }

  .hero-panel,
  .section-shell,
  .contact-card,
  .simulator-box,
  .card,
  .video-card,
  .testimonial-wrap{
    border-radius: 24px;
  }

  #equipe .section-shell{
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .team-showcase-wrap{
    margin-top: 24px !important;
  }

  .team-showcase-card{
    border-radius: 26px !important;
    box-shadow: var(--premium-shadow-mobile) !important;
    border: 1px solid rgba(255,255,255,0.12);
  }

  .team-showcase-image{
    height: 500px !important;
    object-position: center 24% !important;
    transform: scale(1.02);
  }

  .team-showcase-overlay{
    background: linear-gradient(180deg, rgba(8,15,33,0.02) 0%, rgba(8,15,33,0.10) 42%, rgba(8,15,33,0.62) 100%) !important;
  }

  .team-name-badges{
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px !important;
    justify-content: stretch !important;
  }

  .team-name-pill{
    width: 100%;
    min-height: 52px !important;
    padding: 12px 12px !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(244,248,255,0.92)) !important;
    border: 1px solid rgba(255,255,255,0.72) !important;
    box-shadow: 0 14px 28px rgba(7,15,35,0.18) !important;
    font-size: 0.92rem !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-wrap: balance;
  }

  .team-grid{
    gap: 16px !important;
  }

  .team-card img{
    aspect-ratio: 4 / 4.45 !important;
    border-radius: 16px;
  }

  .testimonial-slide{
    padding: 24px 20px;
  }
}

@media (max-width: 520px){
  .container{
    width: min(calc(100% - 22px), var(--container));
  }

  .nav-links{
    width: min(90vw, 340px);
    padding: 88px 14px 20px;
  }

  .hero-grid{
    padding-top: 26px;
  }

  .proof-chip{
    justify-content: center;
    text-align: center;
    font-size: 0.86rem;
  }

  .team-showcase-image{
    height: 460px !important;
    object-position: center 22% !important;
  }

  .team-name-badges{
    grid-template-columns: 1fr;
  }

  .team-name-pill{
    min-height: 50px !important;
    font-size: 0.91rem !important;
  }
}



/* MJR 2026 enhancements */
:root {
  --surface-2: rgba(255,255,255,0.92);
  --success: #1f8f5f;
}

body[data-theme="dark"] {
  --text: #eef3ff;
  --muted: #b8c4da;
  --bg: #081224;
  --white: #0f1d38;
  --line: rgba(255,255,255,0.10);
  background:
    radial-gradient(circle at top left, rgba(91, 126, 229, 0.16), transparent 28%),
    radial-gradient(circle at top right, rgba(91, 126, 229, 0.10), transparent 22%),
    linear-gradient(180deg, #07111f 0%, #0a1830 42%, #091326 100%);
}

body[data-theme="dark"] .section-shell,
body[data-theme="dark"] .card,
body[data-theme="dark"] .process-step,
body[data-theme="dark"] .faq-item,
body[data-theme="dark"] .lead-gate-card,
body[data-theme="dark"] .final-cta-card,
body[data-theme="dark"] footer,
body[data-theme="dark"] .testimonial-wrap {
  background: linear-gradient(180deg, rgba(14,29,57,0.96), rgba(10,21,42,0.92));
  border-color: rgba(255,255,255,0.08);
  color: var(--text);
}

body[data-theme="dark"] .muted,
body[data-theme="dark"] p,
body[data-theme="dark"] .faq-answer p,
body[data-theme="dark"] .result-sub,
body[data-theme="dark"] .field-help,
body[data-theme="dark"] .lead-gate-legal { color: var(--muted); }
body[data-theme="dark"] h2,
body[data-theme="dark"] h3,
body[data-theme="dark"] .result-main,
body[data-theme="dark"] .result-label { color: #fff; }
body[data-theme="dark"] .seo-card,
body[data-theme="dark"] .need-card,
body[data-theme="dark"] .rate-card { background: linear-gradient(180deg, rgba(15,31,61,0.98), rgba(10,20,40,0.95)); }
body[data-theme="dark"] #taux {
  background: linear-gradient(180deg, rgba(8,18,38,0.98), rgba(12,26,52,0.96));
  border-color: rgba(108, 140, 240, 0.24);
}
body[data-theme="dark"] #taux h2,
body[data-theme="dark"] #taux h3,
body[data-theme="dark"] #taux .rate { color: #f7faff; }
body[data-theme="dark"] #taux .muted { color: rgba(207, 220, 244, 0.86); }
body[data-theme="dark"] #taux .rate-card {
  background: linear-gradient(180deg, rgba(18,37,74,0.95), rgba(10,20,40,0.94));
  border-color: rgba(120, 156, 255, 0.22);
}
body[data-theme="dark"] .field input,
body[data-theme="dark"] form input,
body[data-theme="dark"] form textarea { background: rgba(255,255,255,0.96); color: #0d1b3d; }

.theme-toggle {
  position: fixed;
  right: 18px;
  bottom: 92px;
  z-index: 130;
  width: 54px;
  height: 54px;
  border: 1px solid rgba(255,255,255,0.22);
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(13,27,61,0.96), rgba(36,71,168,0.92));
  color: #fff;
  box-shadow: 0 16px 34px rgba(8,18,38,0.22);
  cursor: pointer;
  font-size: 1.05rem;
}

.calc-toast {
  position: fixed;
  left: 50%;
  bottom: 26px;
  transform: translateX(-50%) translateY(18px);
  opacity: 0;
  pointer-events: none;
  z-index: 140;
  padding: 12px 16px;
  border-radius: 999px;
  background: rgba(13,27,61,0.94);
  color: #fff;
  box-shadow: 0 18px 38px rgba(8,18,38,0.18);
  transition: opacity .24s ease, transform .24s ease;
  font-weight: 700;
  font-size: .92rem;
}
.calc-toast.visible { opacity: 1; transform: translateX(-50%) translateY(0); }

.service-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.service-cta-row .service-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 15px;
  border-radius: 999px;
  background: rgba(36,71,168,0.08);
  border: 1px solid rgba(36,71,168,0.14);
  color: var(--royal);
  font-weight: 700;
  font-size: .95rem;
}
.service-cta-row .service-cta:hover {
  background: rgba(36,71,168,0.14);
}

.local-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 16px;
  margin-top: 22px;
}
.local-pill {
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(36,71,168,0.06);
  border: 1px solid rgba(36,71,168,0.10);
  color: var(--navy);
  font-weight: 700;
}

.lead-magnet-card {
  background:
    linear-gradient(135deg, rgba(13,27,61,0.98), rgba(27,55,122,0.92)),
    radial-gradient(circle at top right, rgba(255,255,255,0.10), transparent 28%);
  color: #fff;
  border-radius: 34px;
  padding: 34px;
  box-shadow: 0 24px 60px rgba(13,27,61,0.18);
}
.lead-magnet-grid {
  display: grid;
  grid-template-columns: 1fr 0.95fr;
  gap: 22px;
  align-items: center;
}
.lead-magnet-card h2, .lead-magnet-card p, .lead-magnet-card h3 { color: #fff; }
.lead-magnet-list { display:grid; gap:10px; margin-top:18px; color: rgba(255,255,255,0.88); }
.lead-magnet-form {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 24px;
  padding: 22px;
}
.lead-magnet-form input { margin-bottom: 12px; }

.mobile-sticky-cta {
  display: none;
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 135;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  background: rgba(7,14,28,0.92);
  backdrop-filter: blur(14px);
  border-top: 1px solid rgba(255,255,255,0.08);
}
.mobile-sticky-cta-inner {
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.mobile-sticky-cta a {
  min-height: 48px;
  border-radius: 16px;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  padding: 10px 8px;
  color:#fff; font-weight:700; font-size:.9rem;
  background: rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.10);
}
.mobile-sticky-cta a.primary {
  background: linear-gradient(135deg, var(--royal-soft), var(--royal));
}

@media (max-width: 1100px) {
  .local-grid, .lead-magnet-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .theme-toggle { bottom: 88px; right: 14px; width: 50px; height: 50px; }
  .mobile-sticky-cta { display: block; }
  .local-grid, .lead-magnet-grid { grid-template-columns: 1fr; }
  body { padding-bottom: 86px; }
}


/* MOBILE TEAM REFINEMENT V2 */
@media (max-width: 760px){
  .team-showcase-wrap{
    margin-top: 22px !important;
  }

  .team-showcase-card{
    border-radius: 24px !important;
    overflow: hidden !important;
    box-shadow: 0 20px 42px rgba(8,18,44,0.22) !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
  }

  .team-showcase-image{
    height: 340px !important;
    object-position: center 18% !important;
    transform: scale(1.01) !important;
  }

  .team-showcase-overlay{
    background: linear-gradient(180deg,
      rgba(8,15,33,0.00) 0%,
      rgba(8,15,33,0.04) 40%,
      rgba(8,15,33,0.28) 72%,
      rgba(8,15,33,0.58) 100%) !important;
  }

  .team-name-badges{
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 8px !important;
    justify-content: stretch !important;
  }

  .team-name-pill{
    min-height: 40px !important;
    padding: 9px 10px !important;
    border-radius: 13px !important;
    background: linear-gradient(180deg, rgba(12,27,63,0.70), rgba(12,27,63,0.54)) !important;
    border: 1px solid rgba(255,255,255,0.16) !important;
    box-shadow: 0 10px 22px rgba(7,15,35,0.18) !important;
    color: #ffffff !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: 0.01em !important;
    text-wrap: balance !important;
    backdrop-filter: blur(10px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(130%) !important;
  }
}

@media (max-width: 560px){
  .team-showcase-image{
    height: 300px !important;
    object-position: center 16% !important;
  }

  .team-name-badges{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 7px !important;
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
  }

  .team-name-pill{
    min-height: 38px !important;
    padding: 8px 9px !important;
    font-size: 0.74rem !important;
    border-radius: 12px !important;
  }
}

@media (max-width: 390px){
  .team-showcase-image{
    height: 280px !important;
  }

  .team-name-pill{
    font-size: 0.7rem !important;
  }
}


/* V3 mobile team luxe */
@media (max-width: 760px) {
  .team-showcase-card {
    padding: 16px !important;
    border-radius: 28px !important;
  }

  .team-showcase-image {
    height: 320px !important;
    border-radius: 24px !important;
    background-position: center 22% !important;
    overflow: hidden !important;
  }

  .team-name-badges {
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    bottom: 16px !important;
    display: block !important;
    z-index: 3 !important;
    padding: 14px 18px !important;
    border-radius: 20px !important;
    background: linear-gradient(180deg, rgba(8,18,46,0.80), rgba(14,29,72,0.92)) !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    backdrop-filter: blur(12px) saturate(125%) !important;
    box-shadow: 0 18px 40px rgba(2, 8, 24, 0.28) !important;
  }

  .team-name-badges::before {
    content: "L’équipe MJR Conseils" !important;
    display: block !important;
    margin-bottom: 10px !important;
    color: rgba(255,255,255,0.72) !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
  }

  .team-name-pill {
    display: none !important;
  }

  .team-name-badges::after {
    content: "Jean‑Raphaël Modot  •  Bertrand Valette  •  Xavier Lanier  •  Jérôme Riche" !important;
    display: block !important;
    color: #ffffff !important;
    font-size: 0.96rem !important;
    line-height: 1.5 !important;
    font-weight: 700 !important;
    text-align: left !important;
    text-wrap: balance !important;
  }
}


/* V4 mobile team ultra clean */
@media (max-width: 760px) {
  .team-showcase-image {
    height: 300px !important;
    background-position: center 18% !important;
  }

  .team-name-badges {
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
    padding: 12px 16px !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(8,18,46,0.72), rgba(14,29,72,0.84)) !important;
    box-shadow: 0 14px 28px rgba(2, 8, 24, 0.22) !important;
  }

  .team-name-badges::before {
    margin-bottom: 8px !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.14em !important;
  }

  .team-name-badges::after {
    content: "Jean‑Raphaël Modot\A Bertrand Valette\A Xavier Lanier\A Jérôme Riche" !important;
    white-space: pre-line !important;
    font-size: 0.88rem !important;
    line-height: 1.38 !important;
    font-weight: 650 !important;
  }
}


/* --- SEO / conversion additions --- */
.trust-band{
  padding-top: 0;
  padding-bottom: 0;
}
.trust-band-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:18px;
  margin-top:-14px;
}
.trust-band-card{
  padding:20px 22px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(245,248,255,.86));
  border:1px solid rgba(255,255,255,.88);
  box-shadow:0 18px 44px rgba(13,27,61,.08);
}
.trust-band-card strong{
  display:block;
  color:var(--navy);
  margin-bottom:8px;
  font-size:1rem;
}
.trust-band-card span{
  color:var(--muted);
  line-height:1.65;
}
.premium-profiles-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.premium-profile-card{
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(247,249,253,.94));
  border:1px solid rgba(255,255,255,.84);
  border-radius:24px;
  padding:26px;
  box-shadow:0 18px 44px rgba(13,27,61,.08);
}
.premium-profile-card h3{
  margin:0 0 10px;
  color:var(--navy);
}
.premium-profile-card p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}
@media (max-width: 900px){
  .trust-band-grid,
  .premium-profiles-grid{
    grid-template-columns:1fr;
  }
}



/* --- Corrections luxe mobile + lisibilité --- */
:root {
  --royal-deep: #173a91;
  --ink-soft: #7f8aa5;
}

#equipe .section-shell,
#cabinet.section-shell,
#services .section-shell,
#taux .section-shell,
#contact .contact-card {
  position: relative;
  overflow: hidden;
}

#equipe .section-shell::before,
#cabinet.section-shell::before,
#services .section-shell::before,
#taux .section-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .18;
  background-image:
    linear-gradient(90deg, rgba(215,184,122,0.12) 0, rgba(215,184,122,0.02) 1px, transparent 1px, transparent 24px),
    linear-gradient(180deg, rgba(36,71,168,0.12) 0, rgba(36,71,168,0.02) 1px, transparent 1px, transparent 24px),
    radial-gradient(circle at 18% 18%, rgba(215,184,122,0.20), transparent 20%),
    radial-gradient(circle at 82% 24%, rgba(91,126,229,0.18), transparent 18%);
  mix-blend-mode: soft-light;
}

#cabinet .section-shell::after,
#services .section-shell::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(115deg, rgba(8,18,42,0.20), rgba(8,18,42,0.06)),
    radial-gradient(circle at 88% 16%, rgba(215,184,122,0.14), transparent 16%),
    radial-gradient(circle at 14% 82%, rgba(36,71,168,0.16), transparent 18%);
  opacity: .9;
}

.section-shell > *,
.contact-card > * { position: relative; z-index: 1; }

.team-showcase-card {
  border: 1px solid rgba(150, 184, 255, 0.16);
  background:
    linear-gradient(180deg, rgba(8,17,40,0.22), rgba(8,17,40,0.08)),
    radial-gradient(circle at 12% 16%, rgba(215,184,122,0.16), transparent 20%),
    radial-gradient(circle at 86% 20%, rgba(91,126,229,0.18), transparent 22%),
    #091737;
}

.team-showcase-image {
  width: 100%;
  object-fit: cover;
  object-position: center 24%;
}

.team-showcase-overlay {
  background: linear-gradient(180deg, rgba(5,11,25,0.04) 0%, rgba(5,11,25,0.12) 42%, rgba(5,11,25,0.48) 100%) !important;
}

.team-name-badges {
  backdrop-filter: blur(10px);
}

.team-name-pill {
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(245,249,255,0.90)) !important;
  border: 1px solid rgba(255,255,255,0.88) !important;
}

.trust-band-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(245,248,255,0.92)),
    linear-gradient(135deg, rgba(36,71,168,0.05), rgba(215,184,122,0.04));
  border: 1px solid rgba(180, 201, 240, 0.42);
  box-shadow: 0 22px 54px rgba(13,27,61,.10), inset 0 1px 0 rgba(255,255,255,.82);
}

.trust-band-card strong {
  color: #13285a;
  font-size: 1.05rem;
}

.trust-band-card span {
  color: #74809b;
  font-weight: 500;
}

#taux .section-shell {
  background:
    linear-gradient(145deg, rgba(8,18,42,0.97), rgba(18,38,84,0.94) 48%, rgba(23,58,145,0.90) 100%),
    radial-gradient(circle at 84% 18%, rgba(215,184,122,0.14), transparent 16%),
    radial-gradient(circle at 14% 88%, rgba(91,126,229,0.18), transparent 18%);
  border-color: rgba(131, 162, 234, 0.20);
  box-shadow: 0 28px 72px rgba(7,15,35,0.28);
}

#taux h2,
#taux .eyebrow,
#taux p.muted {
  color: #f5f8ff !important;
}

#taux p.muted { opacity: .88; }

#taux .rate-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.12), rgba(225,235,255,0.08));
  border: 1px solid rgba(184, 207, 255, 0.18);
  box-shadow: 0 18px 42px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.06);
}

#taux .rate-card h3,
#taux .rate-card .rate,
#taux .rate-card .muted {
  color: #ffffff !important;
}

#taux .rate-card .rate {
  text-shadow: 0 8px 24px rgba(145,178,255,0.24);
}

#taux .rate-card .muted {
  opacity: .82;
}

.btn,
.service-cta,
.left-menu-cta,
.mobile-sticky-cta a.primary {
  transition: transform .28s ease, box-shadow .28s ease, filter .28s ease, background .32s ease;
}

.btn:hover,
.service-cta:hover,
.left-menu-cta:hover,
.mobile-sticky-cta a.primary:hover {
  transform: translateY(-3px) scale(1.01);
  filter: saturate(1.04);
}

.card,
.section-shell,
.team-showcase-card,
.trust-band-card,
.rate-card {
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.card:hover,
.team-showcase-card:hover,
.trust-band-card:hover,
.rate-card:hover {
  transform: translateY(-4px);
}

@media (max-width: 760px) {
  .team-showcase-card {
    border-radius: 24px !important;
  }

  .team-showcase-image {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 4.35;
    object-fit: contain !important;
    object-position: center center !important;
    background:
      radial-gradient(circle at 50% 18%, rgba(255,255,255,0.18), transparent 30%),
      linear-gradient(180deg, rgba(7,15,35,0.86), rgba(12,28,69,0.96));
    padding: 16px 0 6px;
  }

  .team-showcase-overlay {
    background: linear-gradient(180deg, rgba(5,11,25,0.00) 0%, rgba(5,11,25,0.06) 48%, rgba(5,11,25,0.26) 100%) !important;
  }

  .team-name-badges {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    padding: 18px;
    gap: 10px !important;
    justify-content: stretch !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    background: linear-gradient(180deg, rgba(9,22,54,0.90), rgba(8,17,40,0.96));
    border-top: 1px solid rgba(166, 196, 255, 0.12);
  }

  .team-name-pill {
    width: 100%;
    min-height: 0 !important;
    padding: 12px 14px !important;
    font-size: 0.98rem !important;
    border-radius: 14px !important;
  }

  .trust-band-card {
    padding: 22px 20px;
  }

  .trust-band-card strong {
    font-size: 1.02rem;
  }

  .trust-band-card span {
    color: #8a95ad !important;
    font-size: 0.96rem;
    line-height: 1.58;
  }

  #cabinet .section-shell,
  #services .section-shell,
  #taux .section-shell {
    background-blend-mode: normal;
  }
}



/* === DYNAMISME VISUEL BRILLANT V2 === */
:root{
  --scroll-progress: 0%;
  --lux-shine: rgba(120,150,255,0.18);
  --lux-gold-soft: rgba(215,184,122,0.16);
}

body::before{
  content:"";
  position:fixed;
  inset:-10% -10% auto -10%;
  height:52vh;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at 18% 24%, rgba(91,126,229,0.16), transparent 22%),
    radial-gradient(circle at 82% 18%, rgba(215,184,122,0.10), transparent 18%),
    radial-gradient(circle at 50% 0%, rgba(255,255,255,0.22), transparent 24%);
  filter: none;
  animation: pageGlowMove 18s ease-in-out infinite;
}

@keyframes pageGlowMove{
  0%,100%{ transform: translate3d(0,0,0) scale(1); opacity:.92; }
  50%{ transform: translate3d(0,14px,0) scale(1.03); opacity:1; }
}

body::after{
  content:"";
  position:fixed;
  top:0; left:0;
  width:100%;
  height:4px;
  z-index:9999;
  pointer-events:none;
  background: linear-gradient(90deg, #d7b87a 0%, #7ea1ff 48%, #355fdc 100%);
  box-shadow: 0 0 18px rgba(91,126,229,0.45);
  transform-origin:left center;
  transform: scaleX(calc(var(--scroll-progress-num, 0) / 100));
}

.section,
.hero,
footer,
nav,
.site-signature-band{
  position:relative;
  z-index:1;
}

.section::before{
  content:"";
  position:absolute;
  inset:8% 3% auto 3%;
  height:40%;
  border-radius:36px;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% 30%, rgba(91,126,229,0.10), transparent 22%),
    radial-gradient(circle at 80% 20%, rgba(215,184,122,0.08), transparent 18%);
  filter: none;
  opacity:.75;
}

.section-shell,
.card,
.hero-panel,
.process-step,
.reassurance-card,
.team-card,
.rate-card,
.faq-item,
.video-card,
.contact-card,
.simulator-box,
.trust-band-card{
  position:relative;
  overflow:hidden;
}

.section-shell::after,
.card::after,
.hero-panel::after,
.process-step::after,
.reassurance-card::after,
.team-card::after,
.rate-card::after,
.faq-item::after,
.video-card::after,
.contact-card::after,
.simulator-box::after,
.trust-band-card::after{
  content:"";
  position:absolute;
  inset:-20% auto auto -30%;
  width:48%;
  height:160%;
  transform: rotate(16deg) translateX(-160%);
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.06) 45%, rgba(255,255,255,0.22) 50%, rgba(255,255,255,0.06) 55%, transparent 100%);
  pointer-events:none;
  opacity:.65;
}

.section-shell:hover::after,
.card:hover::after,
.hero-panel:hover::after,
.process-step:hover::after,
.reassurance-card:hover::after,
.team-card:hover::after,
.rate-card:hover::after,
.faq-item:hover::after,
.video-card:hover::after,
.contact-card:hover::after,
.simulator-box:hover::after,
.trust-band-card:hover::after{
  animation: cardSweep 1.15s ease;
}

@keyframes cardSweep{
  0%{ transform: rotate(16deg) translateX(-160%); }
  100%{ transform: rotate(16deg) translateX(420%); }
}

h2,
.section-shell h2{
  position:relative;
}

h2::after,
.section-shell h2::after{
  content:"";
  display:block;
  width:72px;
  height:3px;
  margin-top:14px;
  border-radius:999px;
  background: linear-gradient(90deg, var(--royal), rgba(91,126,229,0.24));
  box-shadow: 0 0 18px rgba(91,126,229,0.22);
}

.btn,
.left-menu-link,
.nav-links a,
.proof-chip,
.contact-item,
.contact-step,
.dot,
.arrow-btn,
#themeToggle{
  transition:
    transform .32s cubic-bezier(.22,.88,.18,1),
    box-shadow .32s ease,
    background .32s ease,
    border-color .32s ease,
    filter .32s ease,
    opacity .32s ease !important;
}

.btn:hover,
.left-menu-link:hover,
.nav-links a:hover,
.proof-chip:hover,
.contact-item:hover,
.contact-step:hover,
.arrow-btn:hover,
#themeToggle:hover{
  transform: translateY(-4px) scale(1.01);
  filter: saturate(1.04);
}

.btn-primary,
.left-menu-cta,
.nav-links .nav-cta{
  box-shadow:
    0 18px 40px rgba(53,95,220,0.28),
    0 0 0 1px rgba(255,255,255,0.08) inset,
    0 0 26px rgba(91,126,229,0.18);
  animation: ctaPulseGlow 4.8s ease-in-out infinite;
}

@keyframes ctaPulseGlow{
  0%,100%{ box-shadow: 0 18px 40px rgba(53,95,220,0.24), 0 0 0 1px rgba(255,255,255,0.08) inset, 0 0 18px rgba(91,126,229,0.12); }
  50%{ box-shadow: 0 22px 48px rgba(53,95,220,0.32), 0 0 0 1px rgba(255,255,255,0.12) inset, 0 0 32px rgba(91,126,229,0.24); }
}

.hero-panel,
.section-shell,
.video-card,
.contact-card,
.simulator-box{
  box-shadow:
    0 24px 60px rgba(13,27,61,0.12),
    0 0 0 1px rgba(255,255,255,0.08) inset;
}

.card:hover,
.process-step:hover,
.reassurance-card:hover,
.team-card:hover,
.rate-card:hover,
.faq-item:hover{
  transform: translateY(-8px) scale(1.01);
  box-shadow: 0 28px 70px rgba(13,27,61,0.14);
}

.team-card img,
.hero img,
.video-frame,
.contact-card,
.brand-story,
.hero-panel,
.section-shell{
  will-change: transform;
}

.reveal{
  transition:
    opacity .9s ease,
    transform .9s cubic-bezier(.22,.88,.18,1),
    filter .9s ease !important;
  filter: blur(2px);
}

.reveal.visible{
  filter: blur(0);
}

.reveal-lux{
  opacity:0;
  transform: translateY(28px) scale(.985);
}

.reveal-lux.in-view{
  opacity:1;
  transform: translateY(0) scale(1);
}

.hero::before,
.hero::after{
  animation-duration: 13s;
}

.hero::after{
  opacity:.22 !important;
}

.hero .hero-panel{
  backdrop-filter: blur(18px) saturate(130%);
}

#themeToggle,
.theme-toggle{
  box-shadow: 0 10px 28px rgba(53,95,220,0.20), inset 0 1px 0 rgba(255,255,255,0.18);
}

.is-active-spotlight{
  box-shadow: 0 0 0 1px rgba(91,126,229,0.14), 0 18px 40px rgba(36,71,168,0.12) !important;
}

.parallax-soft{
  transform: translate3d(0, calc(var(--parallax-offset, 0px) * 1), 0);
}

.lux-divider{
  position:relative;
}
.lux-divider::before{
  content:"";
  position:absolute;
  top:-18px;
  left:0;
  width:120px;
  height:1px;
  background: linear-gradient(90deg, rgba(215,184,122,0.8), rgba(91,126,229,0));
}

@media (prefers-reduced-motion: reduce){
  body::before,
  body::after,
  .btn-primary,
  .left-menu-cta,
  .nav-links .nav-cta,
  .section-shell::after,
  .card::after,
  .hero-panel::after,
  .process-step::after,
  .reassurance-card::after,
  .team-card::after,
  .rate-card::after,
  .faq-item::after,
  .video-card::after,
  .contact-card::after,
  .simulator-box::after,
  .trust-band-card::after{
    animation:none !important;
    transition:none !important;
  }
}

@media (max-width: 760px){
  body::after{ height:3px; }
  .card:hover,
  .process-step:hover,
  .reassurance-card:hover,
  .team-card:hover,
  .rate-card:hover,
  .faq-item:hover,
  .btn:hover,
  .left-menu-link:hover,
  .nav-links a:hover,
  .proof-chip:hover,
  .contact-item:hover,
  .contact-step:hover,
  .arrow-btn:hover,
  #themeToggle:hover{
    transform: translateY(-2px) scale(1.005);
  }
  .section::before{
    inset:10% 4% auto 4%;
    height:30%;
    opacity:.58;
  }
}



/* CINEMATIC LUXE V3 */
:root {
  --parallax-shift: 0px;
  --ambient-shift: 0px;
}
body::before {
  content:"";
  position: fixed;
  inset: 0;
  pointer-events:none;
  z-index: 0;
  background:
    radial-gradient(circle at 18% 14%, rgba(118,151,255,0.10), transparent 18%),
    radial-gradient(circle at 86% 10%, rgba(215,184,122,0.08), transparent 18%),
    radial-gradient(circle at 82% 72%, rgba(91,126,229,0.10), transparent 16%);
  transform: translateY(calc(var(--ambient-shift) * -0.35));
  will-change: transform;
}
.hero, #cabinet, #services, #taux, #contact { position: relative; overflow: hidden; }
.hero .container, #cabinet .section-shell, #services .section-shell, #taux .section-shell, #contact .contact-card { position: relative; isolation: isolate; }
.hero .container::before,
#cabinet .section-shell::before,
#services .section-shell::before,
#taux .section-shell::before,
#contact .contact-card::before {
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  z-index:0;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201200%20800%27%3E%0A%3Crect%20width%3D%271200%27%20height%3D%27800%27%20fill%3D%27none%27/%3E%0A%3Cg%20stroke%3D%27%23d7b87a%27%20stroke-opacity%3D%27.14%27%20fill%3D%27none%27%3E%0A%3Cpath%20d%3D%27M70%20760V330c0-145%20112-255%20255-255s255%20110%20255%20255v430%27%20stroke-width%3D%271.2%27/%3E%0A%3Cpath%20d%3D%27M160%20760V350c0-96%2072-170%20165-170s165%2074%20165%20170v410%27%20stroke-width%3D%271%27/%3E%0A%3Cpath%20d%3D%27M710%20760V270c0-128%2098-224%20224-224s224%2096%20224%20224v490%27%20stroke-width%3D%271.2%27/%3E%0A%3Cpath%20d%3D%27M790%20760V296c0-82%2063-145%20145-145s145%2063%20145%20145v464%27%20stroke-width%3D%271%27/%3E%0A%3C/g%3E%0A%3Cg%20stroke%3D%27%238aa5ff%27%20stroke-opacity%3D%27.09%27%3E%0A%3Cpath%20d%3D%27M0%20160H1200M0%20320H1200M0%20480H1200M0%20640H1200%27%20stroke-width%3D%271%27/%3E%0A%3Cpath%20d%3D%27M180%200V800M420%200V800M660%200V800M900%200V800%27%20stroke-width%3D%271%27/%3E%0A%3C/g%3E%0A%3C/svg%3E");
  background-size: cover;
  background-position: center;
  opacity:.42;
  mix-blend-mode: screen;
  transform: translateY(calc(var(--parallax-shift) * -0.14));
  will-change: transform;
}
.hero .container::after,
#cabinet .section-shell::after,
#services .section-shell::after,
#taux .section-shell::after,
#contact .contact-card::after {
  content:"";
  position:absolute;
  inset:-10%;
  border-radius:inherit;
  pointer-events:none;
  z-index:0;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201200%20800%27%3E%0A%3Crect%20width%3D%271200%27%20height%3D%27800%27%20fill%3D%27none%27/%3E%0A%3Cg%20stroke%3D%27%23ffffff%27%20stroke-opacity%3D%27.10%27%20fill%3D%27none%27%3E%0A%3Cpath%20d%3D%27M120%20655c90-70%20180-105%20270-105s180%2035%20270%20105%20180%20105%20270%20105%20180-35%20270-105%27%20stroke-width%3D%271.2%27/%3E%0A%3Cpath%20d%3D%27M120%20575c90-70%20180-105%20270-105s180%2035%20270%20105%20180%20105%20270%20105%20180-35%20270-105%27%20stroke-width%3D%271%27/%3E%0A%3Cpath%20d%3D%27M120%20495c90-70%20180-105%20270-105s180%2035%20270%20105%20180%20105%20270%20105%20180-35%20270-105%27%20stroke-width%3D%27.9%27/%3E%0A%3C/g%3E%0A%3Cg%20fill%3D%27%23d7b87a%27%20fill-opacity%3D%27.08%27%3E%0A%3Ccircle%20cx%3D%27170%27%20cy%3D%27180%27%20r%3D%274%27/%3E%3Ccircle%20cx%3D%27380%27%20cy%3D%27120%27%20r%3D%273%27/%3E%3Ccircle%20cx%3D%27690%27%20cy%3D%27170%27%20r%3D%274%27/%3E%3Ccircle%20cx%3D%27970%27%20cy%3D%27130%27%20r%3D%273.5%27/%3E%3Ccircle%20cx%3D%271070%27%20cy%3D%27240%27%20r%3D%273%27/%3E%0A%3C/g%3E%0A%3C/svg%3E");
  background-size: 110% 110%;
  background-position: center;
  opacity:.28;
  filter: none;
  animation: artisanDrift 24s linear infinite;
}
.hero .container > *, #cabinet .section-shell > *, #services .section-shell > *, #taux .section-shell > *, #contact .contact-card > * { position:relative; z-index:1; }

@keyframes artisanDrift {
  0% { transform: translate3d(0,0,0) scale(1); }
  50% { transform: translate3d(0,-12px,0) scale(1.02); }
  100% { transform: translate3d(0,0,0) scale(1); }
}

.card, .process-step, .reassurance-card, .team-card, .rate-card, .faq-item, .hero-panel, .contact-item, .contact-step, .result-card {
  position: relative;
  overflow: hidden;
  backface-visibility: hidden;
}
.card::before, .process-step::before, .reassurance-card::before, .team-card::before, .rate-card::before, .faq-item::before, .hero-panel::before, .contact-item::before, .contact-step::before, .result-card::before {
  content:"";
  position:absolute;
  inset:-1px;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,255,255,0.16), transparent 34%, rgba(91,126,229,0.12) 68%, transparent 100%);
  opacity:.85;
  pointer-events:none;
}
.card::after, .process-step::after, .reassurance-card::after, .team-card::after, .rate-card::after, .faq-item::after, .hero-panel::after, .contact-item::after, .contact-step::after, .result-card::after {
  content:"";
  position:absolute;
  top:-20%; bottom:-20%; left:-35%; width:34%;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,0.06) 34%, rgba(255,255,255,0.26) 50%, rgba(255,255,255,0.06) 66%, transparent 100%);
  transform: translateX(-160%) skewX(-18deg);
  transition: transform .95s cubic-bezier(.19,1,.22,1);
  pointer-events:none;
}
.card:hover::after, .process-step:hover::after, .reassurance-card:hover::after, .team-card:hover::after, .rate-card:hover::after, .faq-item:hover::after, .hero-panel:hover::after, .contact-item:hover::after, .contact-step:hover::after, .result-card:hover::after {
  transform: translateX(460%) skewX(-18deg);
}

.hero {
  background-position: center calc(50% + (var(--parallax-shift) * 0.18));
}
.hero h1 {
  text-shadow: 0 8px 28px rgba(6,15,38,0.34), 0 0 26px rgba(255,255,255,0.06);
}
.eyebrow, .team-role, .result-label, .slider-value {
  letter-spacing: .18em;
}
.btn-primary, .left-menu-cta {
  box-shadow: 0 22px 48px rgba(53,95,220,0.34), inset 0 1px 0 rgba(255,255,255,0.26), 0 0 24px rgba(110,143,255,0.18);
}
.btn-primary:hover, .left-menu-cta:hover {
  box-shadow: 0 28px 58px rgba(53,95,220,0.40), inset 0 1px 0 rgba(255,255,255,0.34), 0 0 32px rgba(110,143,255,0.24);
}
.hero-actions .btn, .nav-links .nav-cta, .left-menu-cta {
  animation: subtlePulse 4.8s ease-in-out infinite;
}
@keyframes subtlePulse {
  0%,100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-1px) scale(1.012); }
}
.reveal {
  opacity:0;
  transform: translate3d(0,36px,0) scale(.985);
  filter: none;
  transition: opacity .95s cubic-bezier(.22,1,.36,1), transform .95s cubic-bezier(.22,1,.36,1), filter .95s cubic-bezier(.22,1,.36,1);
  transition-delay: var(--reveal-delay, 0ms);
}
.reveal.visible {
  opacity:1;
  transform: translate3d(0,0,0) scale(1);
  filter: blur(0);
}
.section-title-glow h2, .section-title-glow .eyebrow {
  text-shadow: 0 0 18px rgba(91,126,229,0.10);
}
.testimonial-wrap, .video-card, .simulator-box, .contact-card, .section-shell {
  box-shadow: 0 30px 80px rgba(12, 24, 55, 0.14), inset 0 1px 0 rgba(255,255,255,0.28);
}
#cabinet .muted, #services .muted, #taux .muted {
  color: rgba(27,36,50,0.82);
}
#cabinet h2::after, #services h2::after, #taux h2::after, #contact h2::after {
  content:"";
  display:block;
  width:82px;
  height:2px;
  margin-top:16px;
  border-radius:999px;
  background: linear-gradient(90deg, var(--royal), rgba(215,184,122,0.85), transparent);
}
#cabinet .section-shell, #services .section-shell, #taux .section-shell {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.92), rgba(247,249,254,0.84)),
    linear-gradient(120deg, rgba(91,126,229,0.06), transparent 38%),
    linear-gradient(300deg, rgba(215,184,122,0.06), transparent 35%);
}
#contact .contact-card {
  background:
    linear-gradient(135deg, rgba(13,27,61,0.96), rgba(24,48,108,0.92)),
    linear-gradient(300deg, rgba(215,184,122,0.10), transparent 24%);
}
#simulateur .simulator-faisabilite {
  box-shadow: 0 36px 88px rgba(11,25,61,0.16), inset 0 1px 0 rgba(255,255,255,0.66);
}
@media (prefers-reduced-motion: reduce) {
  .hero-actions .btn, .nav-links .nav-cta, .left-menu-cta, .hero .container::after, #cabinet .section-shell::after, #services .section-shell::after, #taux .section-shell::after, #contact .contact-card::after { animation:none !important; }
}
@media (max-width: 760px) {
  body::before { opacity:.92; }
  .hero .container::before, #cabinet .section-shell::before, #services .section-shell::before, #taux .section-shell::before, #contact .contact-card::before { opacity:.32; }
  .hero .container::after, #cabinet .section-shell::after, #services .section-shell::after, #taux .section-shell::after, #contact .contact-card::after { opacity:.18; }
  .reveal { transform: translate3d(0,18px,0) scale(.995); filter: none; }
}



/* ULTRA LUXE MOTION PASS */
:root {
  --scroll-progress: 0%;
}

body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: var(--scroll-progress);
  height: 3px;
  z-index: 9999;
  background: linear-gradient(90deg, rgba(215,184,122,0.95), rgba(91,126,229,1), rgba(255,255,255,0.9));
  box-shadow: 0 0 18px rgba(91,126,229,0.45), 0 0 12px rgba(215,184,122,0.35);
}

.section-shell,
.hero-panel,
.card,
.contact-card,
.simulator-box,
.testimonial-wrap,
.video-card,
.process-step,
.reassurance-card,
.rate-card,
.faq-item,
.team-card {
  position: relative;
  isolation: isolate;
}

.section-shell::before,
.hero-panel::before,
.card::before,
.contact-card::before,
.simulator-box::before,
.testimonial-wrap::before,
.video-card::before,
.process-step::before,
.reassurance-card::before,
.rate-card::before,
.faq-item::before,
.team-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(125deg, rgba(255,255,255,0.18), transparent 28%, transparent 72%, rgba(91,126,229,0.08));
  opacity: .8;
  pointer-events: none;
  z-index: -1;
}

.section-shell::after,
.hero-panel::after,
.card::after,
.contact-card::after,
.simulator-box::after,
.testimonial-wrap::after,
.video-card::after,
.process-step::after,
.reassurance-card::after,
.rate-card::after,
.faq-item::after,
.team-card::after {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, rgba(255,255,255,0.35), rgba(255,255,255,0.04) 36%, rgba(91,126,229,0.18) 65%, rgba(215,184,122,0.18));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: .75;
  pointer-events: none;
}

.hero::before,
.hero::after {
  filter: none;
}

.hero .container,
#cabinet .section-shell,
#services .section-shell,
#taux .section-shell,
#contact .contact-card {
  transform: translateY(calc(var(--parallax-shift, 0px) * -0.22));
  transition: transform 0.2s linear;
}

.hero {
  background-attachment: scroll;
}

.hero::marker { content: none; }

.hero::selection { background: rgba(91,126,229,0.3); }

.hero .hero-actions .btn,
.nav-links .nav-cta,
.simulator-lead-btn,
.lead-submit-btn,
.contact-card .btn,
form .btn {
  box-shadow: 0 18px 36px rgba(36,71,168,0.22), inset 0 1px 0 rgba(255,255,255,0.28);
}

.hero .hero-actions .btn:hover,
.nav-links .nav-cta:hover,
.simulator-lead-btn:hover,
.lead-submit-btn:hover,
.contact-card .btn:hover,
form .btn:hover {
  transform: translateY(-4px) scale(1.015);
  box-shadow: 0 22px 44px rgba(36,71,168,0.28), 0 0 22px rgba(91,126,229,0.16);
}

.btn,
.arrow-btn,
.dot,
.nav-links a,
.team-card,
.card,
.rate-card,
.process-step,
.reassurance-card,
.faq-item,
.contact-item,
.contact-step,
.proof-chip {
  transition: transform .38s cubic-bezier(.22,1,.36,1), box-shadow .38s cubic-bezier(.22,1,.36,1), background .3s ease, border-color .3s ease, filter .3s ease;
}

.card:hover,
.rate-card:hover,
.team-card:hover,
.faq-item:hover,
.contact-item:hover,
.contact-step:hover,
.proof-chip:hover,
.process-step:hover,
.reassurance-card:hover {
  transform: translateY(-8px) scale(1.01);
  box-shadow: 0 24px 60px rgba(13,27,61,0.16);
}

.team-card img,
.hero-panel img,
.video-frame,
.contact-card,
.section-shell {
  will-change: transform;
}

.team-card:hover img {
  transform: scale(1.04) translateY(-2px);
}

.hero-panel,
.section-shell,
.contact-card,
.simulator-box {
  backdrop-filter: blur(14px) saturate(1.08);
}

.reveal.visible {
  animation: luxeReveal .95s cubic-bezier(.2,.8,.2,1) both;
}

@keyframes luxeReveal {
  0% { opacity: 0; transform: translate3d(0,28px,0) scale(.99); filter: none; }
  60% { opacity: 1; transform: translate3d(0,-4px,0) scale(1.003); filter: blur(0); }
  100% { opacity: 1; transform: translate3d(0,0,0) scale(1); filter: blur(0); }
}

.float-luxe {
  animation: floatLuxe 8s ease-in-out infinite;
}

@keyframes floatLuxe {
  0%,100% { transform: translateY(0px); }
  50% { transform: translateY(-8px); }
}

.section-title-glow h2,
.simulator-title,
.hero-copy h1 {
  text-shadow: 0 8px 40px rgba(91,126,229,0.10), 0 2px 12px rgba(0,0,0,0.08);
}

#cabinet .muted,
#services .muted,
#taux .muted,
#contact .muted,
.faq-item p,
.faq-answer p,
.card p {
  color: rgba(20,32,64,0.76);
}

#cabinet,
#services,
#taux,
#contact,
#equipe,
#avis {
  position: relative;
  overflow: clip;
}

#cabinet::before,
#services::before,
#taux::before,
#contact::before,
#equipe::before,
#avis::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 18%, rgba(215,184,122,0.08), transparent 22%),
    radial-gradient(circle at 86% 20%, rgba(91,126,229,0.10), transparent 26%),
    radial-gradient(circle at 50% 100%, rgba(255,255,255,0.18), transparent 24%);
  opacity: .9;
}

body {
  background-image:
    radial-gradient(circle at top left, rgba(91, 126, 229, 0.18), transparent 30%),
    radial-gradient(circle at top right, rgba(91, 126, 229, 0.12), transparent 28%),
    linear-gradient(180deg, #eef3fb 0%, #f8fafc 45%, #eef2f8 100%),
    linear-gradient(90deg, rgba(255,255,255,0.02) 0, rgba(255,255,255,0.02) 1px, transparent 1px, transparent 100%);
  background-size: auto, auto, auto, 5px 5px;
}

@media (prefers-reduced-motion: reduce) {
  body::before,
  .reveal.visible,
  .float-luxe,
  .btn::after,
  .btn-shimmer::before {
    animation: none !important;
    transition: none !important;
  }
}

@media (max-width: 760px) {
  body::before { height: 2px; }

  .card:hover,
  .rate-card:hover,
  .team-card:hover,
  .faq-item:hover,
  .contact-item:hover,
  .contact-step:hover,
  .proof-chip:hover,
  .process-step:hover,
  .reassurance-card:hover {
    transform: translateY(-4px) scale(1.005);
  }

  .hero .container,
  #cabinet .section-shell,
  #services .section-shell,
  #taux .section-shell,
  #contact .contact-card {
    transform: none;
  }
}


/* --- Signature sans flou + SEO visuel --- */
body::before{
  content:"";
  position:fixed; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(circle at 20% 10%, rgba(91,126,229,.12), transparent 26%),
    radial-gradient(circle at 80% 18%, rgba(215,184,122,.08), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
}
.section, .hero, footer, nav { position:relative; z-index:1; }
.section-shell, .card, .team-showcase-card, .luxury-craft-panel, .luxury-rates-panel, .result-card, .trust-item, .process-step, .faq-item {
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.reveal, .reveal-lux, .reveal-up, .reveal.visible, .reveal-lux.in-view {
  filter:none !important;
}
.section-shell, .card, .faq-item, .process-step {
  box-shadow: 0 20px 48px rgba(13,27,61,.12), inset 0 1px 0 rgba(255,255,255,.55);
}
.luxury-craft-panel, .luxury-rates-panel {
  position:relative; overflow:hidden;
  background:
    linear-gradient(135deg, rgba(7,18,45,.96), rgba(20,46,110,.92) 46%, rgba(14,34,84,.94) 100%),
    url('https://images.unsplash.com/photo-1511818966892-d7d671e672a2?auto=format&fit=crop&w=1800&q=80&fm=webp') center/cover;
}
.luxury-craft-panel::before, .luxury-rates-panel::before {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.03) 0, rgba(255,255,255,0) 18%, rgba(255,255,255,.03) 36%, rgba(255,255,255,0) 54%, rgba(255,255,255,.03) 72%, rgba(255,255,255,0) 100%),
    radial-gradient(circle at 14% 18%, rgba(215,184,122,.12), transparent 18%),
    radial-gradient(circle at 82% 82%, rgba(91,126,229,.18), transparent 20%);
  mix-blend-mode:screen;
}
#cabinet h2, #cabinet .muted, #taux h2, #taux .muted, #taux .rate, #taux .rate-card h3, #taux .rate-card p { color:#fff !important; }
#cabinet .eyebrow, #taux .eyebrow { color:#dbe7ff !important; }
#cabinet .eyebrow::before, #taux .eyebrow::before { background:linear-gradient(90deg, #dbe7ff, transparent) !important; }
#cabinet .muted, #taux .muted, .trust-item p, .card p, .faq-item p { opacity:1 !important; color:rgba(255,255,255,.88); }
.trust-item, .rate-card {
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(245,248,255,.92)) !important;
  color:#112a60 !important;
}
.trust-item h3, .rate-card h3, .rate-card .rate, .rate-card p { color:#112a60 !important; }
.btn, .nav-cta, .simulator-lead-btn {
  transform:translateZ(0);
  will-change:transform, box-shadow;
}
.btn:hover, .nav-cta:hover, .simulator-lead-btn:hover {
  transform:translateY(-4px) scale(1.01);
  box-shadow:0 18px 38px rgba(36,71,168,.28);
}
.btn::before, .nav-cta::before {
  content:""; position:absolute; inset:-1px; border-radius:inherit; pointer-events:none;
  background:linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.35) 45%, rgba(255,255,255,0) 70%);
  transform:translateX(-140%); animation:signatureSweep 5.2s ease-in-out infinite;
}
@keyframes signatureSweep { 0%,70%,100%{transform:translateX(-140%);} 24%{transform:translateX(140%);} }
.team-showcase-card { box-shadow:0 26px 68px rgba(4,10,28,.28) !important; }
.team-showcase-image { object-fit:contain !important; object-position:center center !important; background:linear-gradient(180deg, rgba(9,18,42,.86), rgba(9,18,42,.72)); }
.left-menu-link, .nav-links a { transition:transform .28s ease, background .28s ease, color .28s ease; }
.left-menu-link:hover, .nav-links a:hover { transform:translateX(4px); }
@media (max-width: 760px){
  .section-shell, .card, .team-showcase-card, .trust-item, .process-step, .faq-item, .rate-card {
    filter:none !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
  }
  .reveal, .reveal.visible, .reveal-lux, .reveal-lux.in-view, .reveal-up {
    opacity:1; transform:none !important; filter:none !important; transition:opacity .5s ease, transform .5s ease;
  }
  .team-showcase-image {
    height:auto !important; max-height:none !important; aspect-ratio:4 / 4.8;
    object-fit:contain !important; object-position:center top !important;
  }
  #cabinet .muted, #taux .muted { color:rgba(255,255,255,.92) !important; }
  .trust-item p, .card p:not(.lead), .faq-item p { color:#53627f !important; }
  .luxury-craft-panel, .luxury-rates-panel {
    background-position:center top;
    background-size:cover;
  }
}


/* LISIBILITÉ MODE CLAIR + SEO PROPRE */
body.light-mode .card,
body.light-mode .trust-item,
body.light-mode .rate-card,
body.light-mode .faq-item,
body.light-mode .process-step,
body.light-mode .result-card,
body.light-mode .section-shell {
  color:#14284f !important;
}

body.light-mode .card h3,
body.light-mode .trust-item h3,
body.light-mode .rate-card h3,
body.light-mode .faq-item h3,
body.light-mode .process-step h3,
body.light-mode .result-card h3,
body.light-mode .rate-card .rate,
body.light-mode .eyebrow {
  color:#102652 !important;
}

body.light-mode .card p,
body.light-mode .trust-item p,
body.light-mode .rate-card p,
body.light-mode .faq-item p,
body.light-mode .process-step p,
body.light-mode .result-card p,
body.light-mode .muted,
body.light-mode .result-sub,
body.light-mode .result-label {
  color:#475a7d !important;
  opacity:1 !important;
}

body.light-mode #taux .rate-card,
body.light-mode #services .card,
body.light-mode #cabinet .trust-item,
body.light-mode .faq-item,
body.light-mode .process-step {
  background:linear-gradient(180deg, rgba(255,255,255,.985), rgba(244,248,255,.97)) !important;
  border:1px solid rgba(20,40,79,.10) !important;
  box-shadow:0 16px 34px rgba(13,27,61,.09) !important;
}

body.light-mode #taux .rate-card .rate {
  color:#173774 !important;
  text-shadow:none !important;
}

body.light-mode #taux .section-shell,
body.light-mode #services .section-shell {
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(248,250,255,.78)) !important;
}

body.light-mode #services::before,
body.light-mode #taux::before,
body.light-mode #cabinet::before {
  opacity:.16 !important;
}

body.light-mode .luxury-craft-panel::before,
body.light-mode .luxury-rates-panel::before {
  opacity:.22 !important;
  mix-blend-mode:normal !important;
}

@media (max-width:760px){
  body.light-mode .card p,
  body.light-mode .trust-item p,
  body.light-mode .rate-card p,
  body.light-mode .faq-item p,
  body.light-mode .process-step p,
  body.light-mode .muted {
    color:#53627f !important;
  }
}



/* SURCORRECTION LISIBILITÉ MODE CLAIR */
body.light-mode {
  --text: #13284f;
  --muted: #425575;
}

body.light-mode .section-shell,
body.light-mode .card,
body.light-mode .trust-item,
body.light-mode .rate-card,
body.light-mode .faq-item,
body.light-mode .process-step,
body.light-mode .result-card,
body.light-mode .final-cta-card,
body.light-mode .lead-gate-card {
  color:#13284f !important;
}

body.light-mode h2,
body.light-mode h3,
body.light-mode .card h3,
body.light-mode .trust-item h3,
body.light-mode .rate-card h3,
body.light-mode .faq-item h3,
body.light-mode .process-step h3,
body.light-mode .result-card h3,
body.light-mode .rate-card .rate,
body.light-mode .result-main,
body.light-mode .faq-question h3 {
  color:#0d2348 !important;
}

body.light-mode p,
body.light-mode li,
body.light-mode .muted,
body.light-mode .result-sub,
body.light-mode .result-label,
body.light-mode .field-help,
body.light-mode .faq-answer p,
body.light-mode .trust-item p,
body.light-mode .card p,
body.light-mode .rate-card p,
body.light-mode .process-step p,
body.light-mode .faq-item p,
body.light-mode .lead-gate-legal,
body.light-mode .simulator-note {
  color:#4a5d7b !important;
  opacity:1 !important;
  text-shadow:none !important;
}

body.light-mode #cabinet .muted,
body.light-mode #services .muted,
body.light-mode #taux .muted,
body.light-mode #faq .muted,
body.light-mode #contact .muted,
body.light-mode #cabinet p,
body.light-mode #services p,
body.light-mode #taux p,
body.light-mode #faq p,
body.light-mode #contact p {
  color:#465977 !important;
}

body.light-mode .eyebrow {
  color:#c6a55a !important;
}

body.light-mode .eyebrow::before {
  background: linear-gradient(90deg, #2447a8, transparent) !important;
}

body.light-mode #taux .rate-card,
body.light-mode #services .card,
body.light-mode #cabinet .trust-item,
body.light-mode .faq-item,
body.light-mode .process-step,
body.light-mode .result-card {
  background:linear-gradient(180deg, rgba(255,255,255,0.995), rgba(247,249,253,0.985)) !important;
  border:1px solid rgba(13,35,72,0.10) !important;
  box-shadow:0 16px 34px rgba(13,27,61,0.08) !important;
}

body.light-mode #taux .rate,
body.light-mode #taux .result-main,
body.light-mode #services .card h3,
body.light-mode #cabinet .trust-item h3 {
  color:#143165 !important;
}

body.light-mode .luxury-craft-panel::before,
body.light-mode .luxury-rates-panel::before,
body.light-mode #services::before,
body.light-mode #taux::before,
body.light-mode #cabinet::before {
  opacity:.08 !important;
}

@media (max-width:760px){
  body.light-mode p,
  body.light-mode li,
  body.light-mode .muted,
  body.light-mode .result-sub,
  body.light-mode .result-label,
  body.light-mode .faq-answer p,
  body.light-mode .trust-item p,
  body.light-mode .card p,
  body.light-mode .rate-card p,
  body.light-mode .process-step p,
  body.light-mode .faq-item p {
    color:#425575 !important;
  }
  body.light-mode .rate-card .rate,
  body.light-mode .result-main {
    color:#102b59 !important;
  }
}



/* === V5 readability + stats cleanup fixes === */
.pre-avis-stats{display:none !important;}
#avis .proof-chip{
  background: linear-gradient(180deg, rgba(12,29,68,.08), rgba(12,29,68,.04)) !important;
  border: 1px solid rgba(12,29,68,.10) !important;
  color: var(--final-light-navy, #102552) !important;
  font-weight: 800 !important;
}
body[data-theme="dark"] #avis .proof-chip{
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06)) !important;
  border-color: rgba(255,255,255,.16) !important;
  color:#ffffff !important;
}
#avis .testimonial-slide,
#avis .testimonial-slide *,
body:not([data-theme="dark"]) #avis .testimonial-slide,
body:not([data-theme="dark"]) #avis .testimonial-slide *{
  opacity:1 !important;
}
body:not([data-theme="dark"]) #avis .testimonial-wrap{
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,244,238,.96)) !important;
  border-color: rgba(12,29,68,.10) !important;
}
body:not([data-theme="dark"]) #avis .quote,
body:not([data-theme="dark"]) #avis .testimonial-slide strong,
body:not([data-theme="dark"]) #avis .testimonial-slide p,
body:not([data-theme="dark"]) #avis .testimonial-slide .muted{
  color: var(--final-light-navy, #102552) !important;
}
body:not([data-theme="dark"]) #avis .testimonial-slide .muted{
  color: var(--final-light-soft, #52607d) !important;
}
body:not([data-theme="dark"]) #avis .avatar{
  background: linear-gradient(135deg, #4c6fff, #2447a8) !important;
  color:#ffffff !important;
}
body:not([data-theme="dark"]) #cabinet .eyebrow,
body:not([data-theme="dark"]) .brand-story .eyebrow,
body:not([data-theme="dark"]) .section-shell .eyebrow.mjr-title-blue,
body:not([data-theme="dark"]) .mjr-title-blue{
  color: #355fcb !important;
}
body:not([data-theme="dark"]) #cabinet .eyebrow::before,
body:not([data-theme="dark"]) .mjr-title-blue::before{
  background: linear-gradient(90deg, #355fcb, rgba(215,184,122,.9)) !important;
}



/* === FINAL HERO PANEL FIX === */
.hero-panel {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
  display: block !important;
  animation: none !important;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 42px;
  align-items: center;
}

@media (max-width: 1100px) {
  .hero-grid {
    grid-template-columns: 1.1fr 0.9fr !important;
    gap: 28px;
  }
}

@media (max-width: 760px) {
  .hero-grid {
    grid-template-columns: 1fr !important;
  }

  .hero-panel {
    margin-top: 24px;
  }
}




/* Final contrast + performance + premium transitions */
:root{
  --card-title:#102348;
  --card-text:#2d3b57;
  --card-muted:#4e5f7f;
  --card-bg:linear-gradient(180deg,#fffdf9 0%,#f7f4ee 100%);
  --card-border:rgba(16,35,72,.12);
}
html{scroll-behavior:smooth;}
body.scroll-sections{scroll-snap-type:none !important;}
.section,.hero,section[id]{scroll-snap-align:none !important;scroll-snap-stop:normal !important;}
.card,.rate-card,.service-card,.need-card,.faq-item,.process-step,.seo-card,.result-card,.intro-card,.news-card,.team-card,.reassurance-card,.luxury-rate-card,.luxury-craft-panel .card,.luxury-rates-panel .card,.rates-grid > *, .service-grid > *, .intro-cards > *, .needs-grid > *{
  background:var(--card-bg) !important;
  border:1px solid var(--card-border) !important;
  box-shadow:0 16px 34px rgba(16,35,72,.10) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.card h3,.rate-card h3,.service-grid h3,.rates-grid h3,.need-card h3,.faq-item h3,.process-step h3,.seo-card h3,.intro-cards h3,.team-card h3,.reassurance-card strong,.luxury-rate-card h3,.luxury-craft-panel h3,.rates-grid strong,.rates-grid .rate, .rates-grid .result-main{
  color:var(--card-title) !important;
  text-shadow:none !important;
}
.card p,.rate-card p,.service-grid p,.rates-grid p,.need-card p,.faq-item p,.process-step p,.seo-card p,.intro-cards p,.team-card p,.muted,.rates-grid .result-sub,.luxury-craft-panel p,.luxury-rate-card p{
  color:var(--card-text) !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.rates-grid .rate, .rates-grid .result-main{
  color:#183a7a !important;
  font-weight:800 !important;
}
.rates-grid .result-label,.result-label{color:#50617e !important;}
.rates-grid > div, .rates-grid .card, .rate-card{position:relative; overflow:hidden;}
.rates-grid > div::before, .service-grid > *::before, .intro-cards > *::before, .need-card::before{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,.18) 42%,rgba(36,71,168,.04) 100%);
}
.rates-grid > * > *, .service-grid > * > *, .intro-cards > * > *, .need-card > *{position:relative; z-index:1;}
.section-shell,.contact-card,.simulator-box,.hero-panel{backdrop-filter:none !important; -webkit-backdrop-filter:none !important;}
.reveal,.reveal-lux,.reveal-up{
  opacity:1 !important;
  transform:none !important;
  filter:none !important;
  transition:transform .55s cubic-bezier(.22,.8,.2,1), opacity .55s ease, box-shadow .35s ease, border-color .35s ease !important;
  will-change:transform, opacity;
}
.js-reveal-ready .reveal, .js-reveal-ready .reveal-lux, .js-reveal-ready .reveal-up{
  opacity:0; transform:translate3d(0,28px,0);
}
.js-reveal-ready .reveal.visible, .js-reveal-ready .reveal-lux.visible, .js-reveal-ready .reveal-up.visible{
  opacity:1; transform:translate3d(0,0,0);
}
.section{position:relative;}
.section::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:90px; pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,0) 0%, rgba(122,154,234,.07) 55%, rgba(255,255,255,0) 100%);
  opacity:.9;
}
.btn,.nav-links a,.left-menu-link,.drawer-nav a,.rate-card,.card,.service-grid > *, .intro-cards > *, .need-card{transition:transform .28s ease, box-shadow .28s ease, background .28s ease, color .28s ease !important;}
.btn:hover,.nav-links a:hover,.left-menu-link:hover,.drawer-nav a:hover{transform:translateY(-2px);}
.card:hover,.rate-card:hover,.service-grid > *:hover,.intro-cards > *:hover,.need-card:hover{transform:translateY(-4px); box-shadow:0 22px 42px rgba(16,35,72,.14) !important;}
.story-connector,.lux-line,.diagonal-line,.light-streak,.floating-orb{display:none !important;}
@media (max-width:760px){
  .card,.rate-card,.service-grid > *, .intro-cards > *, .need-card,.faq-item,.process-step,.seo-card,.team-card,.reassurance-card,.rates-grid > *{
    padding:22px !important;
  }
  .rates-grid h3,.service-grid h3,.intro-cards h3,.need-card h3{font-size:clamp(1.18rem,5.2vw,1.55rem) !important;}
  .rates-grid p,.service-grid p,.intro-cards p,.need-card p{font-size:1rem !important; line-height:1.62 !important;}
}
@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important; scroll-behavior:auto !important;}
}


/* === FINAL HERO PANEL FIX === */
.hero-panel {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
  display: block !important;
  animation: none !important;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 42px;
  align-items: center;
}

@media (max-width: 1100px) {
  .hero-grid {
    grid-template-columns: 1.1fr 0.9fr !important;
    gap: 28px;
  }
}

@media (max-width: 760px) {
  .hero-grid {
    grid-template-columns: 1fr !important;
  }

  .hero-panel {
    margin-top: 24px;
  }
}




:root{
  --theme-navy:#08162f;
  --theme-navy-2:#0d2351;
  --theme-royal:#2d4fe0;
  --theme-royal-soft:#5e7cff;
  --theme-cream:#f3efea;
  --theme-cream-2:#f8f5f1;
  --theme-ink:#14213f;
  --theme-ink-soft:#45536f;
  --theme-gold:#d7b87a;
  --theme-line:rgba(20,33,63,.10);
  --theme-shadow:0 22px 56px rgba(10,24,53,.12);
}
body{
  background:
    radial-gradient(circle at 12% 0%, rgba(94,124,255,.08), transparent 26%),
    linear-gradient(180deg, #f8f5f1 0%, #f3efea 55%, #f7f3ee 100%) !important;
  color:var(--theme-ink);
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, transparent 0, transparent 4%, rgba(45,79,224,.04) 4.2%, transparent 5.2%, transparent 94.8%, rgba(45,79,224,.04) 95.8%, transparent 100%),
    radial-gradient(circle at 100% 24%, rgba(215,184,122,.08), transparent 18%);
  z-index:0;
}
.container,.section,.hero,.site-signature-band,nav,footer{position:relative;z-index:1;}
nav{
  background:linear-gradient(180deg, rgba(8,22,47,.90), rgba(8,22,47,.74)) !important;
  border-bottom:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(12px);
}
.hero{
  min-height:90vh;
  background:
    linear-gradient(90deg, rgba(6,16,37,.98) 0%, rgba(8,22,47,.92) 34%, rgba(13,35,81,.64) 58%, rgba(13,35,81,.26) 100%),
    linear-gradient(180deg, rgba(4,12,28,.20), rgba(4,12,28,.08)),
    url('https://images.unsplash.com/photo-1511818966892-d7d671e672a2?auto=format&fit=crop&w=1800&q=80') center/cover !important;
}
.hero::before{display:none !important;}
.hero::after{
  content:"";
  position:absolute;
  inset:auto auto 10% 30%;
  width:min(42vw,420px);
  height:1.5px;
  background:linear-gradient(90deg, rgba(215,184,122,0), rgba(215,184,122,.95), rgba(215,184,122,0));
  transform:rotate(-12deg);
  opacity:.75;
  filter:none !important;
  animation:none !important;
}
.hero .container{max-width:1320px;}
.hero-grid{gap:34px; align-items:end;}
.hero-copy{max-width:620px;}
.hero-copy .eyebrow,
.hero-copy .lead,
.hero-copy p,
.hero-copy .muted{color:rgba(255,255,255,.88) !important;}
.hero-copy h1{
  max-width:10ch;
  font-size:clamp(3rem, 5.2vw, 5.4rem);
  line-height:1.03;
  letter-spacing:-.04em;
  text-wrap:balance;
}
.hero-copy h1 .gold,
.hero-copy h1 em,
.hero-copy h1 strong:last-child{color:var(--theme-gold);}
.hero-copy .hero-title-lockup{max-width:none;}
.hero-brand-logo,
.brand img{
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.hero-brand-logo{width:clamp(92px,10vw,138px);}
.hero-actions{gap:14px;margin-top:30px;}
.hero-actions .btn,
.left-menu-cta,
.final-cta-band .btn,
.contact-card .btn,
form .btn{
  min-height:62px;
  padding:16px 28px;
  border-radius:999px;
  font-size:1.05rem;
}
.btn-primary,.nav-links .nav-cta,.left-menu-cta{
  background:linear-gradient(135deg, #4162ff 0%, #2745bf 100%) !important;
  box-shadow:0 16px 34px rgba(39,69,191,.28), inset 0 1px 0 rgba(255,255,255,.24) !important;
}
.btn-secondary{
  background:transparent !important;
  border:1.5px solid rgba(255,255,255,.36) !important;
  color:#fff !important;
}
.hero-panel,
.hero .stats,
.hero .quick-points{display:none !important;}
.trust-band,
.hero .trust-band,
.hero + .section .trust-band{
  margin-top:-48px;
}
.trust-band .container,
.trust-band .section-shell,
.trust-band-inner,
.hero-metrics,
.stat-band{
  background:linear-gradient(180deg, rgba(10,24,53,.96), rgba(12,31,69,.92)) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:28px !important;
  box-shadow:0 20px 45px rgba(8,18,40,.18) !important;
}
#equipe,
#cabinet,
#services,
#avis,
#taux,
#simulateur,
#faq,
#contact,
.seo-band,
.final-cta-band,
.brand-story,
section.section{
  background:transparent !important;
}
.section{
  padding:104px 0;
}
.section-shell,
.card,
.rate-card,
.process-step,
.faq-item,
.team-card,
.testimonial-wrap,
.seo-card,
.need-card,
.result-card,
.contact-item,
.contact-step{
  background:linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,255,255,.68)) !important;
  border:1px solid rgba(20,33,63,.08) !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
}
.section-shell{
  background:transparent !important;
  border:none !important;
  padding:0 !important;
  box-shadow:none !important;
}
#equipe .section-shell,
#cabinet .section-shell,
#services .section-shell,
#avis .section-shell,
#taux .section-shell,
#simulateur .section-shell,
#faq .section-shell,
#contact .section-shell{
  position:relative;
}
#equipe .section-shell::before,
#cabinet .section-shell::before,
#services .section-shell::before,
#avis .section-shell::before,
#taux .section-shell::before,
#simulateur .section-shell::before,
#faq .section-shell::before,
#contact .section-shell::before{
  content:"";
  position:absolute;
  right:-4vw;
  top:2%;
  width:min(34vw,380px);
  aspect-ratio:1/1.7;
  border:1.2px solid rgba(215,184,122,.52);
  border-radius:60% 40% 62% 38% / 58% 44% 56% 42%;
  opacity:.72;
  pointer-events:none;
}
#cabinet .section-shell::before,#taux .section-shell::before,#contact .section-shell::before{top:auto;bottom:4%;}
#services .service-grid,
#taux .rates-grid,
#faq .faq-grid,
#avis .testimonial-wrap,
#simulateur .simulator-faisabilite,
#contact .contact-card,
#cabinet .luxury-craft-panel,
#equipe .team-showcase-wrap,
#equipe .team-showcase-card{
  position:relative;
  z-index:1;
}
.eyebrow{
  color:var(--theme-royal) !important;
  letter-spacing:.18em;
}
.eyebrow::before{background:linear-gradient(90deg, var(--theme-royal), rgba(94,124,255,.16)) !important;}
h2,h3,.card h3,.faq-item h3,.process-step h3,.team-card h3,.rate-card h3{
  color:var(--theme-ink) !important;
}
p,.muted,.faq-answer p,.faq-answer .muted,.result-sub,.field-help,.team-card p,.card p{
  color:var(--theme-ink-soft) !important;
}
#equipe h2,
#equipe h3,
#equipe .lead{max-width:12ch;}
#equipe h2 strong,
#equipe h2 span,
#equipe .accent,
.accent-royal{color:var(--theme-royal) !important;}
.team-showcase-card,
.team-showcase-wrap{
  border-radius:28px !important;
  overflow:hidden;
}
.team-showcase-card{
  background:#dfe4ec !important;
  border:none !important;
  box-shadow:var(--theme-shadow) !important;
}
.team-showcase-image{
  object-fit:cover !important;
  object-position:center 18% !important;
  height:460px !important;
}
.team-showcase-overlay{
  background:linear-gradient(180deg, rgba(8,18,40,0) 0%, rgba(8,18,40,.08) 48%, rgba(8,18,40,.54) 100%) !important;
}
.team-name-badges > *,
.team-name-badge,
.team-showcase-badge{
  background:linear-gradient(180deg, rgba(10,24,53,.94), rgba(12,31,69,.92)) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  color:#fff !important;
}
.service-grid,.rates-grid,.faq-grid,.seo-grid,.needs-grid,.process-grid,.reassurance-grid{gap:28px;}
.card,
.rate-card,
.process-step,
.faq-item,
.team-card,
.seo-card,
.need-card{
  border-radius:30px !important;
  padding:34px !important;
}
.icon-badge{
  width:72px;
  height:72px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(90,112,165,.10), rgba(90,112,165,.08)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42);
}
.brand-story,
.reassurance-shell,
.contact-card,
.final-cta-band,
.simulator-box,
#taux{
  background:linear-gradient(180deg, rgba(8,22,47,.98), rgba(12,31,69,.94)) !important;
  border-radius:32px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 26px 56px rgba(8,18,40,.20) !important;
}
.brand-story h2,.brand-story p,.brand-story .muted,
.reassurance-shell h2,.reassurance-shell p,.reassurance-shell .muted,
.contact-card h2,.contact-card p,.contact-card .muted,
#taux h2,#taux h3,#taux .rate,#taux p,#taux .muted,
.final-cta-band h2,.final-cta-band p,.final-cta-band .muted,
.simulator-box h2,.simulator-box p,.simulator-box .muted{color:#fff !important;}
#taux .rate-card,
.reassurance-card,
.contact-item,
.contact-step,
.result-card,
.simulator-box .field{
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.05)) !important;
  border:1px solid rgba(255,255,255,.10) !important;
}
#taux .rate-card::after,.rate-card::after{display:none !important;}
#taux .rate{font-size:clamp(2.8rem,5vw,4rem);}
#taux .muted,#taux .result-sub,.reassurance-shell .muted,.contact-card .muted{color:rgba(231,238,255,.76) !important;}
#simulateur .simulator-faisabilite{
  background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(251,249,246,.72)) !important;
  border:1px solid rgba(20,33,63,.08) !important;
  border-radius:34px !important;
  box-shadow:var(--theme-shadow) !important;
}
#simulateur .simulator-faisabilite::before,
#simulateur .simulator-faisabilite::after{display:none !important;}
#simulateur .field,
#simulateur .faisability-results .result-card,
.lead-gate-card{
  background:rgba(255,255,255,.78) !important;
  border:1px solid rgba(20,33,63,.08) !important;
}
.faq-item{overflow:hidden;padding:0 !important;}
.faq-question{padding:26px 28px !important;}
.faq-answer .muted,.faq-answer p{padding:0 28px 28px !important;}
.footer-shell{border-top:1px solid rgba(20,33,63,.08);}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease, transform .9s cubic-bezier(.22,1,.36,1) !important;filter:none !important;}
.reveal.visible{opacity:1;transform:translateY(0);animation:none !important;}
.section + .section::before,
.brand-story + .section::before,
.trust-band + .section::before{
  content:"";
  display:block;
  width:min(92vw,1240px);
  height:72px;
  margin:0 auto;
  transform:translateY(-34px);
  background:linear-gradient(180deg, rgba(8,22,47,.16), rgba(243,239,234,0));
  filter:blur(18px);
  pointer-events:none;
}
.theme-toggle{
  background:linear-gradient(135deg, rgba(10,24,53,.96), rgba(39,69,191,.92)) !important;
}
@media (max-width: 760px){
  .hero{min-height:auto;background-position:68% center !important;}
  .hero-grid{padding:32px 0 40px;gap:18px;}
  .hero-copy h1{font-size:clamp(2.6rem, 11vw, 4rem);max-width:9.5ch;}
  .hero-copy .lead{font-size:1rem;line-height:1.6;max-width:26ch;}
  .hero-brand-logo{width:82px;}
  .trust-band{margin-top:-28px;}
  .section{padding:86px 0;}
  #equipe .section-shell::before,
  #cabinet .section-shell::before,
  #services .section-shell::before,
  #avis .section-shell::before,
  #taux .section-shell::before,
  #simulateur .section-shell::before,
  #faq .section-shell::before,
  #contact .section-shell::before{right:-28vw; width:62vw; opacity:.5;}
  .card,.rate-card,.process-step,.faq-item,.team-card,.seo-card,.need-card{padding:24px !important;border-radius:26px !important;}
  .icon-badge{width:64px;height:64px;border-radius:20px;}
  .team-showcase-image{height:400px !important;object-position:center 22% !important;}
  .faq-question{padding:22px 20px !important;}
  .faq-answer .muted,.faq-answer p{padding:0 20px 22px !important;}
}


/* === FINAL HERO PANEL FIX === */
.hero-panel {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
  display: block !important;
  animation: none !important;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 42px;
  align-items: center;
}

@media (max-width: 1100px) {
  .hero-grid {
    grid-template-columns: 1.1fr 0.9fr !important;
    gap: 28px;
  }
}

@media (max-width: 760px) {
  .hero-grid {
    grid-template-columns: 1fr !important;
  }

  .hero-panel {
    margin-top: 24px;
  }
}




/* ===== Final readability pass ===== */
:root{
  --readable-light-bg:#f7f4ee;
  --readable-light-card:#fffdfa;
  --readable-light-navy:#10244d;
  --readable-light-text:#253754;
  --readable-light-soft:#4d607f;
  --readable-light-gold:#c8aa6a;
}

body:not([data-theme="dark"]){
  background: linear-gradient(180deg, #faf7f1 0%, #f5f1ea 48%, #f8f4ee 100%) !important;
  color: var(--readable-light-text) !important;
}

body:not([data-theme="dark"]) .section:not(.hero):not(.brand-story),
body:not([data-theme="dark"]) #equipe,
body:not([data-theme="dark"]) #cabinet,
body:not([data-theme="dark"]) #services,
body:not([data-theme="dark"]) #avis,
body:not([data-theme="dark"]) #taux,
body:not([data-theme="dark"]) #simulateur,
body:not([data-theme="dark"]) #faq,
body:not([data-theme="dark"]) #contact{
  background: linear-gradient(180deg, rgba(255,255,255,.35), rgba(247,241,232,.78)) !important;
}

body:not([data-theme="dark"]) .section-shell,
body:not([data-theme="dark"]) .card,
body:not([data-theme="dark"]) .process-step,
body:not([data-theme="dark"]) .faq-item,
body:not([data-theme="dark"]) .testimonial-wrap,
body:not([data-theme="dark"]) .rate-card,
body:not([data-theme="dark"]) .trust-item,
body:not([data-theme="dark"]) .result-card,
body:not([data-theme="dark"]) .lead-gate-card,
body:not([data-theme="dark"]) .final-cta-card,
body:not([data-theme="dark"]) .team-showcase-card,
body:not([data-theme="dark"]) .team-showcase-wrap,
body:not([data-theme="dark"]) .contact-card,
body:not([data-theme="dark"]) .contact-item,
body:not([data-theme="dark"]) .contact-step{
  background: linear-gradient(180deg, rgba(255,253,250,.97), rgba(247,243,236,.94)) !important;
  border-color: rgba(16,36,77,.10) !important;
  box-shadow: 0 16px 42px rgba(16,36,77,.08) !important;
  color: var(--readable-light-text) !important;
}

body:not([data-theme="dark"]) h2,
body:not([data-theme="dark"]) h3,
body:not([data-theme="dark"]) .quote,
body:not([data-theme="dark"]) .rate,
body:not([data-theme="dark"]) .result-main,
body:not([data-theme="dark"]) .faq-question h3,
body:not([data-theme="dark"]) .team-role,
body:not([data-theme="dark"]) .team-showcase-meta h3,
body:not([data-theme="dark"]) .team-showcase-overlay h3,
body:not([data-theme="dark"]) .process-step-number,
body:not([data-theme="dark"]) #equipe h2,
body:not([data-theme="dark"]) #taux h2{
  color: var(--readable-light-navy) !important;
  text-shadow: none !important;
}

body:not([data-theme="dark"]) p,
body:not([data-theme="dark"]) li,
body:not([data-theme="dark"]) .muted,
body:not([data-theme="dark"]) .card p,
body:not([data-theme="dark"]) .process-step p,
body:not([data-theme="dark"]) .faq-answer p,
body:not([data-theme="dark"]) .result-sub,
body:not([data-theme="dark"]) .result-label,
body:not([data-theme="dark"]) .field-help,
body:not([data-theme="dark"]) .team-showcase-meta,
body:not([data-theme="dark"]) .team-showcase-overlay,
body:not([data-theme="dark"]) .team-showcase-overlay p,
body:not([data-theme="dark"]) .contact-item,
body:not([data-theme="dark"]) .contact-item *,
body:not([data-theme="dark"]) .contact-card p,
body:not([data-theme="dark"]) .contact-card .muted,
body:not([data-theme="dark"]) #cabinet p,
body:not([data-theme="dark"]) #services p,
body:not([data-theme="dark"]) #avis p,
body:not([data-theme="dark"]) #taux p,
body:not([data-theme="dark"]) #simulateur p,
body:not([data-theme="dark"]) #faq p,
body:not([data-theme="dark"]) #contact p,
body:not([data-theme="dark"]) #equipe p{
  color: var(--readable-light-soft) !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

body:not([data-theme="dark"]) .eyebrow,
body:not([data-theme="dark"]) .gold,
body:not([data-theme="dark"]) .accent-gold,
body:not([data-theme="dark"]) .section-highlight,
body:not([data-theme="dark"]) .team-showcase-badge,
body:not([data-theme="dark"]) #equipe .eyebrow,
body:not([data-theme="dark"]) #taux .eyebrow{
  color: var(--readable-light-gold) !important;
}
body:not([data-theme="dark"]) .eyebrow::before,
body:not([data-theme="dark"]) #equipe .eyebrow::before,
body:not([data-theme="dark"]) #taux .eyebrow::before{
  background: linear-gradient(90deg, #3c5fc0, rgba(200,170,106,.9)) !important;
}

/* light mode rates */
body:not([data-theme="dark"]) #taux .section-shell{
  background: linear-gradient(180deg, rgba(255,253,250,.98), rgba(246,241,233,.95)) !important;
  border-color: rgba(16,36,77,.10) !important;
}
body:not([data-theme="dark"]) #taux .rate-card{
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,245,239,.97)) !important;
  border-color: rgba(16,36,77,.09) !important;
}
body:not([data-theme="dark"]) #taux .rate-card h3,
body:not([data-theme="dark"]) #taux .rate-card .rate{
  color: var(--readable-light-navy) !important;
}
body:not([data-theme="dark"]) #taux .rate-card p,
body:not([data-theme="dark"]) #taux .rate-card .muted,
body:not([data-theme="dark"]) #taux .muted{
  color: var(--readable-light-soft) !important;
}

/* light mode sections that were washed out */
body:not([data-theme="dark"]) #cabinet .section-shell,
body:not([data-theme="dark"]) #services .section-shell,
body:not([data-theme="dark"]) #faq .section-shell,
body:not([data-theme="dark"]) #simulateur .section-shell{
  background: linear-gradient(180deg, rgba(255,253,250,.98), rgba(247,242,234,.95)) !important;
}

/* hero readability */
.hero .proof-chip{
  color:#ffffff !important;
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.18) !important;
}
.hero .proof-chip span{ color:#ffffff !important; }
.hero .btn-secondary{
  background: rgba(7,16,38,.26) !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.26) !important;
}
.hero .btn-secondary span,
.hero .hero-microtrust,
.hero .site-signature-band p{
  color:rgba(255,255,255,.92) !important;
}
.site-signature-band p{
  text-shadow:none !important;
}
.site-signature-band{
  background: linear-gradient(180deg, rgba(16,28,58,.88) 0%, rgba(16,28,58,.62) 72%, rgba(16,28,58,0) 100%) !important;
}

/* mobile menu button more visible in both modes */
.menu-toggle-left,
.nav-toggle{
  background: rgba(255,255,255,.18) !important;
  border-color: rgba(255,255,255,.28) !important;
  box-shadow: 0 10px 26px rgba(8,18,38,.16) !important;
}
body:not([data-theme="dark"]) .menu-toggle-left,
body:not([data-theme="dark"]) .nav-toggle{
  background: rgba(255,255,255,.78) !important;
  border-color: rgba(16,36,77,.10) !important;
}
body:not([data-theme="dark"]) .menu-toggle-left span,
body:not([data-theme="dark"]) .nav-toggle span{
  background: #445a82 !important;
}

/* team photo mobile */
.team-showcase-card{ overflow:hidden !important; }
.team-showcase-image,
.team-showcase-card > img,
.team-showcase-wrap img{
  object-fit: cover !important;
  object-position: center 18% !important;
}
@media (max-width:760px){
  .team-showcase-image,
  .team-showcase-card > img,
  .team-showcase-wrap img{
    height: 360px !important;
    object-position: center 16% !important;
  }
  .team-showcase-overlay{
    padding: 18px !important;
  }
  .team-name-pill{
    font-size: .96rem !important;
    min-height: 48px !important;
  }
}

/* contact image section text on dark bg */
#contact .contact-card p,
#contact .contact-card .muted,
#contact .contact-step,
#contact .contact-item{
  text-shadow:none !important;
}
body[data-theme="dark"] #contact .contact-card p,
body[data-theme="dark"] #contact .contact-card .muted{
  color: rgba(245,248,255,.9) !important;
}

/* remove pale overlays in light mode */
body:not([data-theme="dark"]) .section-shell::before,
body:not([data-theme="dark"]) .section-shell::after,
body:not([data-theme="dark"]) .card::before,
body:not([data-theme="dark"]) .card::after,
body:not([data-theme="dark"]) .contact-card::before{
  opacity: .08 !important;
}
body:not([data-theme="dark"]) .contact-card::after{
  background: linear-gradient(180deg, rgba(248,244,237,.96), rgba(246,241,234,.92)) !important;
}

/* specific visibility for CTA row on hero */
.hero .hero-actions{ gap:16px !important; }
.hero .btn{ box-shadow: 0 16px 34px rgba(7,18,38,.24) !important; }

/* prevent hidden button text in dark image sections */
body:not([data-theme="dark"]) #simulateur .btn,
body:not([data-theme="dark"]) #contact .btn,
body:not([data-theme="dark"]) #cabinet .btn,
body:not([data-theme="dark"]) #services .btn{
  color: inherit;
}


/* === FINAL HERO PANEL FIX === */
.hero-panel {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
  display: block !important;
  animation: none !important;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 42px;
  align-items: center;
}

@media (max-width: 1100px) {
  .hero-grid {
    grid-template-columns: 1.1fr 0.9fr !important;
    gap: 28px;
  }
}

@media (max-width: 760px) {
  .hero-grid {
    grid-template-columns: 1fr !important;
  }

  .hero-panel {
    margin-top: 24px;
  }
}




/* --- Readability + Mobile + Theme optimization --- */
:root{
  --mjr-light-bg:#f8f6f2;
  --mjr-light-bg-2:#ffffff;
  --mjr-light-card:#fffdf9;
  --mjr-navy:#0c1d44;
  --mjr-navy-soft:#1e315f;
  --mjr-gold:#d7b87a;
  --mjr-text:#24324f;
  --mjr-text-soft:#52607d;
  --mjr-dark-bg:#07162f;
  --mjr-dark-bg-2:#0b2147;
  --mjr-dark-card:#0d2248;
  --mjr-dark-line:rgba(255,255,255,.10);
}

body{
  background: linear-gradient(180deg,var(--mjr-light-bg) 0%, #f4f1ec 45%, #fbfaf8 100%) !important;
  color: var(--mjr-text);
}

/* Light mode: white/cream + gold titles + navy copy */
body:not([data-theme="dark"]) .section:not(.hero):not(.brand-story):not(.reassurance-band),
body:not([data-theme="dark"]) .section-shell,
body:not([data-theme="dark"]) .team-showcase-card,
body:not([data-theme="dark"]) .card,
body:not([data-theme="dark"]) .process-step,
body:not([data-theme="dark"]) .faq-item,
body:not([data-theme="dark"]) .testimonial-wrap,
body:not([data-theme="dark"]) .lead-gate-card,
body:not([data-theme="dark"]) .rate-card,
body:not([data-theme="dark"]) .trust-item,
body:not([data-theme="dark"]) .result-card,
body:not([data-theme="dark"]) .contact-item{
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,244,238,.94)) !important;
  color: var(--mjr-text) !important;
  border-color: rgba(12,29,68,.10) !important;
  box-shadow: 0 18px 44px rgba(12,29,68,.08) !important;
}

body:not([data-theme="dark"]) #cabinet,
body:not([data-theme="dark"]) #services,
body:not([data-theme="dark"]) #avis,
body:not([data-theme="dark"]) #taux,
body:not([data-theme="dark"]) #simulateur,
body:not([data-theme="dark"]) #faq,
body:not([data-theme="dark"]) #contact,
body:not([data-theme="dark"]) #equipe{
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(247,243,237,.45)) !important;
}

body:not([data-theme="dark"]) h2,
body:not([data-theme="dark"]) .card h3,
body:not([data-theme="dark"]) .process-step h3,
body:not([data-theme="dark"]) .faq-item h3,
body:not([data-theme="dark"]) .team-showcase-meta h3,
body:not([data-theme="dark"]) #equipe h2,
body:not([data-theme="dark"]) .rate,
body:not([data-theme="dark"]) .result-main,
body:not([data-theme="dark"]) .quote,
body:not([data-theme="dark"]) .team-role{
  color: var(--mjr-navy) !important;
}

body:not([data-theme="dark"]) .eyebrow,
body:not([data-theme="dark"]) .accent-gold,
body:not([data-theme="dark"]) .gold,
body:not([data-theme="dark"]) .section-highlight{
  color: var(--mjr-gold) !important;
}

body:not([data-theme="dark"]) p,
body:not([data-theme="dark"]) .muted,
body:not([data-theme="dark"]) .result-sub,
body:not([data-theme="dark"]) .result-label,
body:not([data-theme="dark"]) .field-help,
body:not([data-theme="dark"]) .faq-answer p,
body:not([data-theme="dark"]) .team-showcase-meta,
body:not([data-theme="dark"]) .contact-item,
body:not([data-theme="dark"]) .process-step p,
body:not([data-theme="dark"]) .card p{
  color: var(--mjr-text-soft) !important;
}

body:not([data-theme="dark"]) .icon-badge,
body:not([data-theme="dark"]) .service-icon,
body:not([data-theme="dark"]) .trust-icon{
  background: linear-gradient(180deg, rgba(12,29,68,.06), rgba(215,184,122,.10)) !important;
}

body:not([data-theme="dark"]) .btn-primary,
body:not([data-theme="dark"]) .nav-links .nav-cta,
body:not([data-theme="dark"]) .sticky-cta,
body:not([data-theme="dark"]) .simulator-lead-btn,
body:not([data-theme="dark"]) .lead-gate-submit{
  background: linear-gradient(135deg, #4c6fff, #2447a8) !important;
  color: #fff !important;
}

body:not([data-theme="dark"]) .btn-secondary{
  background: transparent !important;
  color: var(--mjr-navy) !important;
  border-color: rgba(12,29,68,.18) !important;
}

/* Restore hero as dark signature */
.hero, .hero *, nav, nav *{
  color-scheme: dark;
}

/* Dark mode optimized */
body[data-theme="dark"]{
  background: linear-gradient(180deg, var(--mjr-dark-bg) 0%, #081a38 42%, var(--mjr-dark-bg-2) 100%) !important;
  color: rgba(255,255,255,.92) !important;
}

body[data-theme="dark"] .section:not(.hero),
body[data-theme="dark"] .section-shell,
body[data-theme="dark"] .team-showcase-card,
body[data-theme="dark"] .card,
body[data-theme="dark"] .process-step,
body[data-theme="dark"] .faq-item,
body[data-theme="dark"] .testimonial-wrap,
body[data-theme="dark"] .lead-gate-card,
body[data-theme="dark"] .rate-card,
body[data-theme="dark"] .trust-item,
body[data-theme="dark"] .result-card,
body[data-theme="dark"] footer{
  background: linear-gradient(180deg, rgba(10,27,59,.95), rgba(7,20,42,.96)) !important;
  color: rgba(255,255,255,.92) !important;
  border-color: var(--mjr-dark-line) !important;
  box-shadow: 0 22px 54px rgba(0,0,0,.26) !important;
}

body[data-theme="dark"] h2,
body[data-theme="dark"] .card h3,
body[data-theme="dark"] .process-step h3,
body[data-theme="dark"] .faq-item h3,
body[data-theme="dark"] #equipe h2,
body[data-theme="dark"] .rate,
body[data-theme="dark"] .result-main,
body[data-theme="dark"] .quote,
body[data-theme="dark"] .team-role{
  color: #ffffff !important;
}

body[data-theme="dark"] .eyebrow,
body[data-theme="dark"] .accent-gold,
body[data-theme="dark"] .gold{
  color: var(--mjr-gold) !important;
}

body[data-theme="dark"] p,
body[data-theme="dark"] .muted,
body[data-theme="dark"] .result-sub,
body[data-theme="dark"] .result-label,
body[data-theme="dark"] .field-help,
body[data-theme="dark"] .faq-answer p,
body[data-theme="dark"] .card p,
body[data-theme="dark"] .process-step p{
  color: rgba(232,238,248,.82) !important;
}

body[data-theme="dark"] .btn-secondary{
  background: rgba(255,255,255,.04) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.18) !important;
}

body[data-theme="dark"] .theme-toggle{
  background: linear-gradient(180deg, rgba(32,62,122,.95), rgba(22,46,98,.98)) !important;
}

/* Mobile optimization */
.team-showcase-card > img,
.team-showcase-wrap img{
  width: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center 28% !important;
}

@media (max-width: 760px){
  .team-showcase-card > img,
  .team-showcase-wrap img{
    min-height: 260px !important;
    max-height: 360px !important;
    aspect-ratio: 4 / 3 !important;
    object-position: center 22% !important;
  }

  #equipe .section-shell,
  #cabinet .section-shell,
  #services .section-shell,
  #taux .section-shell,
  #faq .section-shell,
  #simulateur .section-shell,
  #contact .contact-card{
    padding: 24px !important;
    border-radius: 24px !important;
  }

  #equipe h2,
  #services h2,
  #cabinet h2,
  #taux h2,
  #faq h2,
  #contact h2{
    font-size: clamp(2rem, 9vw, 2.65rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.03em !important;
  }

  .muted, p, .faq-answer p, .card p, .process-step p{
    font-size: .98rem !important;
    line-height: 1.62 !important;
  }

  .theme-toggle{
    bottom: 92px !important;
    right: 14px !important;
  }
}

/* smoother section transition without lag */
.reveal{
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .55s ease, transform .55s cubic-bezier(.22,1,.36,1);
  filter: none !important;
  will-change: opacity, transform;
}
.reveal.visible{
  opacity: 1;
  transform: translateY(0);
}

.story-connector,.lux-line,.diagonal-line,.light-streak,.floating-orb{
  opacity: .28 !important;
}


/* === FINAL HERO PANEL FIX === */
.hero-panel {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
  display: block !important;
  animation: none !important;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 42px;
  align-items: center;
}

@media (max-width: 1100px) {
  .hero-grid {
    grid-template-columns: 1.1fr 0.9fr !important;
    gap: 28px;
  }
}

@media (max-width: 760px) {
  .hero-grid {
    grid-template-columns: 1fr !important;
  }

  .hero-panel {
    margin-top: 24px;
  }
}




/* --- Final hotfix: readability + mobile photo + light/dark consistency --- */
:root{
  --final-light-bg:#f7f4ee;
  --final-light-card:#fffdfa;
  --final-light-navy:#11254d;
  --final-light-text:#22314f;
  --final-light-soft:#51607b;
  --final-light-gold:#caa968;
  --final-dark-bg:#081a38;
  --final-dark-card:#0b2148;
  --final-dark-soft:#dbe5f6;
}

body:not([data-theme="dark"]) {
  background: linear-gradient(180deg, var(--final-light-bg) 0%, #f3efe8 46%, #faf8f4 100%) !important;
}

/* Light mode cards and all text inside */
body:not([data-theme="dark"]) .section-shell,
body:not([data-theme="dark"]) .card,
body:not([data-theme="dark"]) .process-step,
body:not([data-theme="dark"]) .faq-item,
body:not([data-theme="dark"]) .testimonial-wrap,
body:not([data-theme="dark"]) .rate-card,
body:not([data-theme="dark"]) .team-showcase-card,
body:not([data-theme="dark"]) .team-showcase-wrap,
body:not([data-theme="dark"]) .trust-item,
body:not([data-theme="dark"]) .result-card,
body:not([data-theme="dark"]) .lead-gate-card,
body:not([data-theme="dark"]) .final-cta-card,
body:not([data-theme="dark"]) .contact-card{
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,243,236,.92)) !important;
  color: var(--final-light-text) !important;
  border-color: rgba(17,37,77,.10) !important;
}

body:not([data-theme="dark"]) #cabinet,
body:not([data-theme="dark"]) #services,
body:not([data-theme="dark"]) #avis,
body:not([data-theme="dark"]) #taux,
body:not([data-theme="dark"]) #simulateur,
body:not([data-theme="dark"]) #faq,
body:not([data-theme="dark"]) #contact,
body:not([data-theme="dark"]) #equipe{
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(245,240,232,.38)) !important;
}

body:not([data-theme="dark"]) .section-shell h2,
body:not([data-theme="dark"]) .card h3,
body:not([data-theme="dark"]) .process-step h3,
body:not([data-theme="dark"]) .faq-item h3,
body:not([data-theme="dark"]) .team-showcase-meta h3,
body:not([data-theme="dark"]) .team-showcase-overlay h3,
body:not([data-theme="dark"]) .rate-card h3,
body:not([data-theme="dark"]) .rate,
body:not([data-theme="dark"]) .result-main,
body:not([data-theme="dark"]) .quote,
body:not([data-theme="dark"]) .contact-card h2,
body:not([data-theme="dark"]) .contact-card h3,
body:not([data-theme="dark"]) #equipe h2,
body:not([data-theme="dark"]) .team-role,
body:not([data-theme="dark"]) .faq-question h3,
body:not([data-theme="dark"]) .process-step-number{
  color: var(--final-light-navy) !important;
}

body:not([data-theme="dark"]) .eyebrow,
body:not([data-theme="dark"]) .gold,
body:not([data-theme="dark"]) .accent-gold,
body:not([data-theme="dark"]) .section-highlight,
body:not([data-theme="dark"]) .team-showcase-badge,
body:not([data-theme="dark"]) #equipe .eyebrow{
  color: var(--final-light-gold) !important;
}

body:not([data-theme="dark"]) p,
body:not([data-theme="dark"]) li,
body:not([data-theme="dark"]) .muted,
body:not([data-theme="dark"]) .result-sub,
body:not([data-theme="dark"]) .result-label,
body:not([data-theme="dark"]) .field-help,
body:not([data-theme="dark"]) .faq-answer p,
body:not([data-theme="dark"]) .card p,
body:not([data-theme="dark"]) .process-step p,
body:not([data-theme="dark"]) .rate-card p,
body:not([data-theme="dark"]) .rate-card .muted,
body:not([data-theme="dark"]) .team-showcase-meta,
body:not([data-theme="dark"]) .team-showcase-overlay,
body:not([data-theme="dark"]) .team-showcase-overlay p,
body:not([data-theme="dark"]) .contact-item,
body:not([data-theme="dark"]) .contact-item *,
body:not([data-theme="dark"]) .contact-card p,
body:not([data-theme="dark"]) .contact-card .muted,
body:not([data-theme="dark"]) #cabinet p,
body:not([data-theme="dark"]) #services p,
body:not([data-theme="dark"]) #avis p,
body:not([data-theme="dark"]) #taux p,
body:not([data-theme="dark"]) #simulateur p,
body:not([data-theme="dark"]) #faq p,
body:not([data-theme="dark"]) #contact p,
body:not([data-theme="dark"]) #equipe p{
  color: var(--final-light-soft) !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

/* Specific hotfix for rates and value-added sections */
body:not([data-theme="dark"]) #taux .rate-card,
body:not([data-theme="dark"]) #cabinet .section-shell,
body:not([data-theme="dark"]) #services .section-shell,
body:not([data-theme="dark"]) #faq .section-shell,
body:not([data-theme="dark"]) #simulateur .section-shell{
  backdrop-filter: none !important;
}

body:not([data-theme="dark"]) #taux .rate-card .rate,
body:not([data-theme="dark"]) #taux .rate-card h3,
body:not([data-theme="dark"]) #taux .rate-card p,
body:not([data-theme="dark"]) #taux .rate-card .muted,
body:not([data-theme="dark"]) .value-list li,
body:not([data-theme="dark"]) .highlight-box li{
  color: var(--final-light-navy) !important;
}
body:not([data-theme="dark"]) #taux .rate-card p,
body:not([data-theme="dark"]) .value-list li,
body:not([data-theme="dark"]) .highlight-box li{
  color: var(--final-light-soft) !important;
}

/* Contact section in light mode stays readable even on image background */
body:not([data-theme="dark"]) .contact-card{
  position: relative;
  overflow: hidden;
}
body:not([data-theme="dark"]) .contact-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(248,244,237,.92), rgba(246,241,234,.88));
  z-index:0;
}
body:not([data-theme="dark"]) .contact-card > *{position:relative; z-index:1;}
body:not([data-theme="dark"]) form,
body:not([data-theme="dark"]) .contact-item,
body:not([data-theme="dark"]) .contact-step{
  background: rgba(255,255,255,.78) !important;
  border-color: rgba(17,37,77,.10) !important;
}

/* Dark mode */
body[data-theme="dark"]{
  background: linear-gradient(180deg, var(--final-dark-bg) 0%, #091c3d 42%, #0d2857 100%) !important;
}
body[data-theme="dark"] .section-shell,
body[data-theme="dark"] .card,
body[data-theme="dark"] .process-step,
body[data-theme="dark"] .faq-item,
body[data-theme="dark"] .testimonial-wrap,
body[data-theme="dark"] .rate-card,
body[data-theme="dark"] .team-showcase-card,
body[data-theme="dark"] .team-showcase-wrap,
body[data-theme="dark"] .trust-item,
body[data-theme="dark"] .result-card,
body[data-theme="dark"] .lead-gate-card,
body[data-theme="dark"] .final-cta-card,
body[data-theme="dark"] footer,
body[data-theme="dark"] .contact-card{
  background: linear-gradient(180deg, rgba(10,28,60,.96), rgba(8,20,42,.96)) !important;
  color:#fff !important;
  border-color: rgba(255,255,255,.10) !important;
}
body[data-theme="dark"] p,
body[data-theme="dark"] li,
body[data-theme="dark"] .muted,
body[data-theme="dark"] .result-sub,
body[data-theme="dark"] .result-label,
body[data-theme="dark"] .field-help,
body[data-theme="dark"] .faq-answer p,
body[data-theme="dark"] .card p,
body[data-theme="dark"] .process-step p,
body[data-theme="dark"] .rate-card p,
body[data-theme="dark"] .contact-card p,
body[data-theme="dark"] .contact-item,
body[data-theme="dark"] .contact-item *{
  color: rgba(229,237,250,.88) !important;
  opacity:1 !important;
}
body[data-theme="dark"] h2,
body[data-theme="dark"] h3,
body[data-theme="dark"] .rate,
body[data-theme="dark"] .result-main,
body[data-theme="dark"] .quote,
body[data-theme="dark"] .faq-question h3,
body[data-theme="dark"] .contact-card h2,
body[data-theme="dark"] .contact-card h3{
  color:#fff !important;
}
body[data-theme="dark"] .contact-card::after{display:none !important;}

/* Team photo mobile: show all faces better */
.team-showcase-card{overflow:hidden !important;}
.team-showcase-image{
  width:100% !important;
  background:#0d1b3d !important;
}
@media (max-width: 760px){
  .team-showcase-image,
  .team-showcase-card > img,
  .team-showcase-wrap img{
    height:auto !important;
    max-height:none !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
    background:linear-gradient(180deg, #16264c, #0d1b3d) !important;
  }
  .team-showcase-overlay{
    background: linear-gradient(180deg, rgba(8,15,33,0) 0%, rgba(8,15,33,.02) 62%, rgba(8,15,33,.24) 100%) !important;
  }
  .team-showcase-card,
  .team-showcase-wrap{
    border-radius:28px !important;
  }
}

/* Reduce washed-out decorative layers */
.story-connector,.lux-line,.diagonal-line,.light-streak,.floating-orb{
  opacity:.12 !important;
}
body:not([data-theme="dark"]) .story-connector,
body:not([data-theme="dark"]) .lux-line,
body:not([data-theme="dark"]) .diagonal-line,
body:not([data-theme="dark"]) .light-streak,
body:not([data-theme="dark"]) .floating-orb{
  opacity:.08 !important;
}

/* Menu toggle and theme toggle visibility */
.menu-toggle-left{
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(243,239,233,.78)) !important;
  border-color: rgba(17,37,77,.10) !important;
}
body[data-theme="dark"] .menu-toggle-left{
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.06)) !important;
  border-color: rgba(255,255,255,.14) !important;
}
.theme-toggle{
  box-shadow: 0 14px 32px rgba(12,29,68,.20) !important;
}


/* V4 emphasis fixes */
.site-signature-band{
  position:relative !important;
  z-index:8;
}
.site-signature-band .container{
  max-width:min(calc(100% - 24px), 980px);
}
.site-signature-band p{
  display:block;
  margin:0 auto;
  max-width:980px;
  padding:18px 22px;
  border-radius:32px;
  font-size:clamp(1rem,1.8vw,1.22rem) !important;
  line-height:1.45 !important;
  font-weight:700 !important;
  letter-spacing:.01em;
  text-align:center;
}
body:not([data-theme="dark"]) .site-signature-band{
  background:linear-gradient(180deg, rgba(250,247,242,.96) 0%, rgba(250,247,242,.82) 70%, rgba(250,247,242,0) 100%) !important;
}
body:not([data-theme="dark"]) .site-signature-band p{
  color:#17305f !important;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,240,231,.96)) !important;
  border:1px solid rgba(22,48,95,.08);
  box-shadow:0 18px 40px rgba(16,36,77,.10);
}
body[data-theme="dark"] .site-signature-band{
  background:linear-gradient(180deg, rgba(10,22,51,.96) 0%, rgba(10,22,51,.70) 72%, rgba(10,22,51,0) 100%) !important;
}
body[data-theme="dark"] .site-signature-band p{
  color:#ffffff !important;
  background:linear-gradient(180deg, rgba(32,53,101,.56), rgba(20,33,68,.48)) !important;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 40px rgba(0,0,0,.18);
}

.hero .btn-secondary{
  font-weight:800 !important;
  letter-spacing:.01em;
  min-height:64px;
}
body:not([data-theme="dark"]) .hero .btn-secondary{
  color:#17305f !important;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,240,231,.96)) !important;
  border:1px solid rgba(23,48,95,.14) !important;
  box-shadow:0 16px 34px rgba(16,36,77,.10) !important;
}
body[data-theme="dark"] .hero .btn-secondary{
  color:#ffffff !important;
  background:linear-gradient(180deg, rgba(23,39,82,.55), rgba(12,22,48,.48)) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.22) !important;
}
.hero .btn-secondary span{color:inherit !important;}

.lead-gate-copy .eyebrow{
  color:var(--gold) !important;
  font-weight:800 !important;
}
.lead-gate-title{
  font-size:clamp(2rem,4.2vw,3.35rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.03em;
  margin-bottom:18px !important;
}
body:not([data-theme="dark"]) .lead-gate-copy{
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(246,240,231,.96)) !important;
  color:#17305f !important;
  border:1px solid rgba(16,36,77,.08);
  box-shadow:0 22px 44px rgba(16,36,77,.10);
}
body:not([data-theme="dark"]) .lead-gate-title{
  color:#17305f !important;
}
body:not([data-theme="dark"]) .lead-gate-text,
body:not([data-theme="dark"]) .lead-gate-points,
body:not([data-theme="dark"]) .lead-gate-points div{
  color:#455575 !important;
}
body[data-theme="dark"] .lead-gate-copy{
  background:linear-gradient(180deg, rgba(21,35,74,.92), rgba(14,24,52,.92)) !important;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 26px 52px rgba(0,0,0,.22);
}
body[data-theme="dark"] .lead-gate-title{
  color:#ffffff !important;
  text-shadow:0 10px 28px rgba(0,0,0,.18);
}
body[data-theme="dark"] .lead-gate-text,
body[data-theme="dark"] .lead-gate-points,
body[data-theme="dark"] .lead-gate-points div{
  color:rgba(240,245,255,.88) !important;
}

@media (max-width:760px){
  .site-signature-band .container{max-width:calc(100% - 12px);}
  .site-signature-band p{
    padding:16px 18px;
    border-radius:26px;
    font-size:1.02rem !important;
    line-height:1.4 !important;
  }
  .hero .btn-secondary{
    min-height:60px;
    font-size:1.02rem;
  }
  .lead-gate-title{
    font-size:clamp(1.7rem,9vw,2.4rem) !important;
    line-height:1.05 !important;
  }
}


/* === FINAL HERO PANEL FIX === */
.hero-panel {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
  display: block !important;
  animation: none !important;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 42px;
  align-items: center;
}

@media (max-width: 1100px) {
  .hero-grid {
    grid-template-columns: 1.1fr 0.9fr !important;
    gap: 28px;
  }
}

@media (max-width: 760px) {
  .hero-grid {
    grid-template-columns: 1fr !important;
  }

  .hero-panel {
    margin-top: 24px;
  }
}



/* === PATCH MJR - Photo équipe + simulateur faisabilité lisible === */
.team-showcase-image{width:100%;height:auto;display:block;object-fit:cover;object-position:center 18%;border-radius:28px;}
@media(max-width:760px){.team-showcase-image{height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center center!important;background:#0d1b3d;}}

.result-card.result-opinion,
.faisability-results .result-card.result-opinion{
  position:relative!important;
  overflow:hidden!important;
  color:#0d1b3d!important;
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(238,245,255,.82))!important;
  border:1px solid rgba(145,178,235,.38)!important;
  box-shadow:0 18px 38px rgba(16,36,77,.10), inset 0 1px 0 rgba(255,255,255,.72)!important;
}
.result-card.result-opinion::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:8px;
  background:linear-gradient(180deg,#8aa5ff,#d7b87a);
}
.result-card.result-opinion .result-label{color:rgba(13,27,61,.72)!important;}
.result-card.result-opinion .result-main{color:#0d1b3d!important;font-weight:900!important;}
.result-card.result-opinion .result-sub{color:rgba(22,48,95,.82)!important;}

.result-card.result-opinion.is-good{
  background:linear-gradient(145deg,#f1fff7,#dff7ea)!important;
  border-color:rgba(52,168,93,.44)!important;
}
.result-card.result-opinion.is-good::before{background:linear-gradient(180deg,#21a366,#8be1ad)!important;}
.result-card.result-opinion.is-good .result-main{color:#137548!important;}
.result-card.result-opinion.is-good .result-sub{color:#245b40!important;}

.result-card.result-opinion.is-medium{
  background:linear-gradient(145deg,#fffaf0,#ffe8bd)!important;
  border-color:rgba(232,151,28,.44)!important;
}
.result-card.result-opinion.is-medium::before{background:linear-gradient(180deg,#f59e0b,#ffd36b)!important;}
.result-card.result-opinion.is-medium .result-main{color:#9a5f00!important;}
.result-card.result-opinion.is-medium .result-sub{color:#75501a!important;}

.result-card.result-opinion.is-hard{
  background:linear-gradient(145deg,#fff2f2,#ffdede)!important;
  border-color:rgba(220,38,38,.40)!important;
}
.result-card.result-opinion.is-hard::before{background:linear-gradient(180deg,#dc2626,#ff8a8a)!important;}
.result-card.result-opinion.is-hard .result-main{color:#a61b1b!important;}
.result-card.result-opinion.is-hard .result-sub{color:#733030!important;}

body[data-theme="dark"] .result-card.result-opinion,
body[data-theme="dark"] .faisability-results .result-card.result-opinion{
  color:#0d1b3d!important;
}
body[data-theme="dark"] .result-card.result-opinion .result-label,
body[data-theme="dark"] .result-card.result-opinion .result-main,
body[data-theme="dark"] .result-card.result-opinion .result-sub{
  opacity:1!important;
}
