
    :root {
      --bg: #080a09;
      --surface: #121512;
      --surface-2: #191d19;
      --text: #f5f5f2;
      --muted: #abb2aa;
      --line: rgba(255,255,255,.1);
      --green: #5aab42;
      --green-deep: #2f7d32;
      --orange: #ec5e1b;
      --orange-deep: #c94c0c;
      --shadow: 0 24px 70px rgba(0,0,0,.35);
      --radius: 24px;
      --max: 1180px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--text);
      background:
        radial-gradient(circle at 85% 5%, rgba(90,171,66,.13), transparent 28%),
        radial-gradient(circle at 12% 22%, rgba(236,94,27,.11), transparent 24%),
        var(--bg);
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      line-height: 1.6;
      overflow-x: hidden;
    }

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

    .demo-bar {
      position: relative;
      z-index: 50;
      padding: 9px 18px;
      text-align: center;
      font-size: 13px;
      letter-spacing: .04em;
      color: #dfe4de;
      background: #111411;
      border-bottom: 1px solid var(--line);
    }
    .demo-bar strong { color: var(--orange); }

    .wrap { width: min(calc(100% - 36px), var(--max)); margin-inline: auto; }

    header {
      position: sticky;
      top: 0;
      z-index: 40;
      backdrop-filter: blur(16px);
      background: rgba(8,10,9,.78);
      border-bottom: 1px solid rgba(255,255,255,.07);
    }
    .nav {
      min-height: 78px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }
    .brand { display: flex; align-items: center; gap: 12px; }
    .brand-mark {
      width: 44px; height: 44px; border-radius: 14px;
      display: grid; place-items: center;
      background: linear-gradient(135deg, var(--green), #1d5d2c 58%, var(--orange));
      box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 10px 30px rgba(90,171,66,.2);
    }
    .brand-mark svg { width: 27px; height: 27px; }
    .brand-copy { line-height: 1; }
    .brand-copy strong { display:block; font-size: 20px; letter-spacing: .05em; }
    .brand-copy span { display:block; margin-top: 6px; color: var(--muted); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }
    .brand-copy em { color: var(--orange); font-style: italic; font-weight: 800; }

    nav ul { display: flex; align-items:center; gap: 26px; margin:0; padding:0; list-style:none; }
    nav a { color:#d6dbd5; font-size:14px; font-weight:650; }
    nav a:hover { color:white; }

    .btn {
      min-height: 48px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      border: 1px solid transparent;
      border-radius: 999px;
      padding: 0 22px;
      font-weight: 800;
      cursor: pointer;
      transition: transform .2s ease, filter .2s ease, background .2s ease;
    }
    .btn:hover { transform: translateY(-2px); filter: brightness(1.08); }
    .btn-primary { background: var(--orange); color: #100c09; box-shadow: 0 16px 40px rgba(236,94,27,.23); }
    .btn-secondary { background: rgba(255,255,255,.055); border-color: rgba(255,255,255,.13); color: white; }
    .btn-ghost { background: transparent; border-color: rgba(255,255,255,.15); color:#e9ede8; }

    .hero { padding: 76px 0 42px; position: relative; }
    .hero-grid { display:grid; grid-template-columns: 1.02fr .98fr; gap: 58px; align-items:center; }
    .eyebrow {
      width: fit-content;
      display:flex; align-items:center; gap:9px;
      padding:8px 12px;
      border:1px solid rgba(90,171,66,.28);
      border-radius:999px;
      background:rgba(90,171,66,.075);
      color:#bfeab1;
      font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.12em;
    }
    .eyebrow::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 5px rgba(90,171,66,.12); }
    h1 { margin:24px 0 22px; max-width: 760px; font-size:clamp(46px,6.4vw,82px); line-height:.98; letter-spacing:-.055em; }
    h1 .accent { color:var(--orange); }
    h1 .green { color:var(--green); }
    .hero-copy > p { max-width:650px; margin:0 0 30px; color:#c1c7c0; font-size:18px; }
    .hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
    .hero-note { display:flex; gap:22px; flex-wrap:wrap; margin-top:28px; color:#aeb5ad; font-size:13px; }
    .hero-note span { display:flex; align-items:center; gap:8px; }
    .hero-note i { width:8px; height:8px; border-radius:50%; background:var(--green); }

    .hero-media { position:relative; min-height:590px; }
    .photo-shell {
      position:absolute; inset:18px 0 18px 50px;
      overflow:hidden;
      border-radius:36px 36px 160px 36px;
      box-shadow:var(--shadow);
      border:1px solid rgba(255,255,255,.12);
      background:#202420;
    }
    .photo-shell img { width:100%; height:100%; object-fit:cover; filter:saturate(.84) contrast(1.06) brightness(.74); }
    .photo-shell.placeholder-shell {
      display:grid;
      place-items:center;
      background:
        radial-gradient(circle at 72% 22%, rgba(90,171,66,.22), transparent 31%),
        radial-gradient(circle at 20% 78%, rgba(236,94,27,.2), transparent 34%),
        linear-gradient(145deg, #1c211d, #0e110f 68%);
    }
    .photo-shell.placeholder-shell::after {
      background:
        linear-gradient(180deg, rgba(8,10,9,.04), rgba(8,10,9,.58)),
        linear-gradient(90deg, rgba(8,10,9,.2), transparent 55%);
    }
    .photo-placeholder {
      position:relative;
      z-index:2;
      width:min(78%, 390px);
      padding:34px 30px;
      text-align:center;
      border-radius:26px;
      border:1px dashed rgba(255,255,255,.28);
      background:rgba(8,10,9,.42);
      backdrop-filter:blur(10px);
      box-shadow:0 22px 55px rgba(0,0,0,.25);
    }
    .photo-placeholder svg {
      width:76px;
      height:76px;
      margin:0 auto 18px;
      color:var(--green);
      filter:drop-shadow(0 10px 25px rgba(90,171,66,.2));
    }
    .photo-placeholder strong {
      display:block;
      font-size:23px;
      line-height:1.18;
    }
    .photo-placeholder span {
      display:block;
      margin-top:10px;
      color:#b9c0b8;
      font-size:14px;
    }
    .photo-shell::after {
      content:""; position:absolute; inset:0;
      background: linear-gradient(180deg, transparent 20%, rgba(8,10,9,.1) 50%, rgba(8,10,9,.84) 100%),
                  linear-gradient(90deg, rgba(8,10,9,.34), transparent 50%);
    }
    .orbit { position:absolute; inset: -8px 30px 0 0; border-radius:50%; border:1px solid rgba(90,171,66,.25); transform:rotate(-14deg); pointer-events:none; }
    .orbit::after { content:""; position:absolute; inset:18px -16px; border-radius:50%; border:1px solid rgba(236,94,27,.23); }
    .floating-card {
      position:absolute; z-index:3;
      backdrop-filter:blur(12px);
      background:rgba(15,18,15,.84);
      border:1px solid rgba(255,255,255,.12);
      border-radius:20px;
      box-shadow:0 18px 45px rgba(0,0,0,.3);
    }
    .availability { left:0; top:72px; padding:18px 20px; width:188px; }
    .availability strong { display:block; font-size:25px; color:var(--green); line-height:1; }
    .availability span { display:block; margin-top:8px; font-size:12px; color:#c4cbc3; }
    .phone-card { right:0; bottom:0; padding:18px 22px; }
    .phone-card small { display:block; color:#adb4ac; text-transform:uppercase; letter-spacing:.1em; font-weight:800; font-size:10px; }
    .phone-card strong { display:block; margin-top:5px; font-size:24px; letter-spacing:.02em; }
    .photo-caption { position:absolute; left:86px; bottom:50px; z-index:2; }
    .photo-caption strong { display:block; font-size:28px; }
    .photo-caption span { color:#b7beb6; font-size:14px; }

    .trust-strip { padding:22px 0 84px; }
    .trust-card {
      display:grid; grid-template-columns:repeat(4,1fr);
      border:1px solid var(--line); border-radius:24px; overflow:hidden;
      background:rgba(255,255,255,.025);
    }
    .trust-item { padding:24px 26px; border-right:1px solid var(--line); }
    .trust-item:last-child { border-right:0; }
    .trust-item strong { display:block; font-size:16px; }
    .trust-item span { display:block; color:var(--muted); font-size:13px; margin-top:4px; }

    section { padding:92px 0; }
    .section-head { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:38px; }
    .section-head .kicker { color:var(--orange); font-size:12px; text-transform:uppercase; letter-spacing:.17em; font-weight:900; }
    h2 { margin:9px 0 0; max-width:760px; font-size:clamp(34px,4.5vw,57px); line-height:1.03; letter-spacing:-.04em; }
    .section-head p { max-width:420px; margin:0; color:var(--muted); }

    .services-grid {
      display:grid;
      grid-template-columns:repeat(12,1fr);
      gap:18px;
    }
    .service-card {
      position:relative;
      overflow:hidden;
      min-height:330px;
      padding:30px;
      border-radius:var(--radius);
      background:linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
      border:1px solid var(--line);
      transition:transform .22s ease, border-color .22s ease, background .22s ease;
      display:flex;
      flex-direction:column;
    }
    .service-card:hover {
      transform:translateY(-5px);
      border-color:rgba(236,94,27,.35);
      background:linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
    }
    .service-card.primary { grid-column:span 6; }
    .service-card.secondary { grid-column:span 3; }
    .service-card.wide { grid-column:span 6; min-height:270px; }
    .service-card.medical-card {
      background:
        radial-gradient(circle at 88% 16%, rgba(90,171,66,.2), transparent 30%),
        linear-gradient(145deg, rgba(23,48,29,.92), rgba(12,22,14,.92));
      border-color:rgba(90,171,66,.26);
    }
    .service-card.medical-card:hover { border-color:rgba(90,171,66,.55); }
    .service-top {
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:20px;
    }
    .service-icon {
      width:58px;
      height:58px;
      flex:0 0 58px;
      display:grid;
      place-items:center;
      border-radius:18px;
      background:rgba(236,94,27,.12);
      color:var(--orange);
      border:1px solid rgba(236,94,27,.14);
    }
    .service-icon svg { width:29px; height:29px; }
    .medical-card .service-icon {
      background:rgba(90,171,66,.14);
      color:#91db79;
      border-color:rgba(90,171,66,.18);
    }
    .service-tag {
      display:inline-flex;
      align-items:center;
      min-height:30px;
      padding:0 11px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.11);
      background:rgba(255,255,255,.04);
      color:#c8cec7;
      font-size:10px;
      font-weight:900;
      letter-spacing:.11em;
      text-transform:uppercase;
      white-space:nowrap;
    }
    .medical-card .service-tag {
      color:#bfeab1;
      border-color:rgba(90,171,66,.25);
      background:rgba(90,171,66,.08);
    }
    .service-card h3 {
      margin:28px 0 10px;
      max-width:430px;
      font-size:clamp(22px,2.4vw,30px);
      line-height:1.08;
      letter-spacing:-.025em;
    }
    .service-card.secondary h3 { font-size:23px; }
    .service-card p {
      margin:0;
      max-width:570px;
      color:var(--muted);
      font-size:15px;
    }
    .service-details {
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin:24px 0 0;
      padding:0;
      list-style:none;
    }
    .service-details li {
      padding:7px 10px;
      border-radius:999px;
      background:rgba(255,255,255,.045);
      border:1px solid rgba(255,255,255,.07);
      color:#d2d7d1;
      font-size:12px;
    }
    .service-link {
      display:inline-flex;
      align-items:center;
      gap:9px;
      width:fit-content;
      margin-top:auto;
      padding-top:27px;
      color:#edf0ec;
      font-size:13px;
      font-weight:850;
    }
    .service-link span {
      width:31px;
      height:31px;
      display:grid;
      place-items:center;
      border-radius:50%;
      background:rgba(255,255,255,.07);
      transition:transform .2s ease, background .2s ease;
    }
    .service-card:hover .service-link span {
      transform:translateX(3px);
      background:rgba(236,94,27,.18);
    }
    .medical-card:hover .service-link span { background:rgba(90,171,66,.18); }
    .services-note {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:28px;
      margin-top:18px;
      padding:22px 24px;
      border-radius:20px;
      background:rgba(255,255,255,.03);
      border:1px solid var(--line);
    }
    .services-note-copy {
      display:flex;
      align-items:center;
      gap:15px;
    }
    .services-note-icon {
      width:43px;
      height:43px;
      flex:0 0 43px;
      display:grid;
      place-items:center;
      border-radius:14px;
      color:var(--orange);
      background:rgba(236,94,27,.11);
    }
    .services-note-icon svg { width:22px; height:22px; }
    .services-note strong { display:block; font-size:15px; }
    .services-note small { display:block; margin-top:3px; color:var(--muted); font-size:12px; }
    .services-note > span {
      color:#c8cec7;
      font-size:12px;
      font-weight:750;
      text-align:right;
    }

    .medical {
      padding:0;
      background:linear-gradient(130deg, #17301d, #0d170f 62%);
      border-block:1px solid rgba(90,171,66,.23);
    }
    .medical-grid { min-height:620px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:70px; }
    .medical-art { position:relative; min-height:480px; }
    .medical-ring { position:absolute; width:410px; height:410px; left:25px; top:35px; border-radius:50%; border:1px solid rgba(90,171,66,.3); box-shadow:inset 0 0 80px rgba(90,171,66,.08); }
    .medical-ring::before, .medical-ring::after { content:""; position:absolute; inset:35px; border-radius:50%; border:1px dashed rgba(236,94,27,.25); }
    .medical-ring::after { inset:85px; border-style:solid; border-color:rgba(255,255,255,.1); }
    .medical-symbol { position:absolute; inset:0; display:grid; place-items:center; font-size:125px; color:var(--green); text-shadow:0 0 50px rgba(90,171,66,.3); }
    .medical-badge { position:absolute; left:230px; bottom:55px; width:230px; padding:20px; border-radius:20px; background:#111a12; border:1px solid rgba(255,255,255,.12); box-shadow:var(--shadow); }
    .medical-badge strong { display:block; font-size:18px; }
    .medical-badge span { display:block; margin-top:7px; color:var(--muted); font-size:13px; }
    .medical-copy .kicker { color:#a8e393; font-size:12px; text-transform:uppercase; letter-spacing:.18em; font-weight:900; }
    .medical-copy h2 { margin-top:12px; }
    .medical-copy p { color:#bdc9bd; font-size:17px; }
    .check-list { display:grid; gap:12px; margin:28px 0 34px; padding:0; list-style:none; }
    .check-list li { display:flex; gap:12px; color:#e6eee5; }
    .check-list li::before { content:"✓"; flex:0 0 24px; width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:var(--green); color:#081007; font-weight:1000; font-size:13px; }

    .vehicle-grid { display:grid; grid-template-columns:1.06fr .94fr; gap:38px; align-items:stretch; }
    .vehicle-photo { min-height:560px; overflow:hidden; border-radius:32px; border:1px solid var(--line); }
    .vehicle-photo img { width:100%; height:100%; object-fit:cover; filter:brightness(.76) saturate(.85); transition:transform .6s ease; }
    .vehicle-photo:hover img { transform:scale(1.025); }
    .vehicle-card { padding:42px; border-radius:32px; background:var(--surface); border:1px solid var(--line); display:flex; flex-direction:column; justify-content:center; }
    .vehicle-card .kicker { color:var(--orange); font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:900; }
    .vehicle-card h2 { font-size:47px; }
    .vehicle-card p { color:var(--muted); }
    .features { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:24px; }
    .feature { padding:16px; border-radius:16px; border:1px solid var(--line); background:rgba(255,255,255,.025); }
    .feature strong { display:block; font-size:14px; }
    .feature span { color:var(--muted); font-size:12px; }

    .zones { background:linear-gradient(180deg, rgba(255,255,255,.02), transparent); }
    .zone-layout { display:grid; grid-template-columns:.86fr 1.14fr; gap:46px; align-items:center; }
    .zone-map {
      position:relative; min-height:500px; border-radius:34px; overflow:hidden;
      background:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
        #101310;
      background-size:34px 34px;
      border:1px solid var(--line);
    }
    .road { position:absolute; width:120%; height:80px; left:-10%; top:200px; border-top:2px solid rgba(236,94,27,.44); border-radius:50%; transform:rotate(-10deg); }
    .road.two { top:110px; border-color:rgba(90,171,66,.35); transform:rotate(24deg); }
    .pin { position:absolute; transform:translate(-50%,-50%); text-align:center; }
    .pin b { display:grid; place-items:center; width:44px; height:44px; margin:auto; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:#282e28; border:1px solid rgba(255,255,255,.16); box-shadow:0 14px 30px rgba(0,0,0,.3); }
    .pin b::after { content:""; width:11px; height:11px; border-radius:50%; background:white; }
    .pin span { display:block; margin-top:13px; font-size:12px; color:#cdd2cc; font-weight:800; }
    .pin.main b { width:58px; height:58px; background:var(--orange); }
    .pin.main span { color:white; font-size:15px; }
    .p1 { left:48%; top:50%; } .p2 { left:70%; top:32%; } .p3 { left:28%; top:28%; } .p4 { left:26%; top:73%; }
    .zone-copy .kicker { color:var(--green); text-transform:uppercase; letter-spacing:.16em; font-size:12px; font-weight:900; }
    .zone-copy p { color:var(--muted); font-size:17px; }
    .notice { margin:26px 0; padding:20px 22px; border-left:4px solid var(--orange); border-radius:0 16px 16px 0; background:rgba(236,94,27,.075); color:#e8ddd6; }
    .zone-tags { display:flex; flex-wrap:wrap; gap:9px; }
    .zone-tags span { padding:9px 13px; border-radius:999px; background:rgba(255,255,255,.045); border:1px solid var(--line); color:#d0d5cf; font-size:13px; }

    .reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
    .review { padding:28px; min-height:290px; border-radius:24px; background:var(--surface); border:1px solid var(--line); }
    .stars { color:#ffb234; letter-spacing:.14em; }
    .review blockquote { margin:20px 0 28px; font-size:17px; line-height:1.65; color:#e4e8e3; }
    .review footer { display:flex; align-items:center; gap:12px; }
    .avatar { width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:linear-gradient(145deg, var(--green), var(--orange)); color:#0a0d09; font-weight:1000; }
    .review footer strong { display:block; font-size:14px; }
    .review footer span { display:block; color:var(--muted); font-size:12px; }

    .cta-section { padding-top:40px; }
    .cta-card {
      position:relative; overflow:hidden;
      padding:66px;
      border-radius:34px;
      background:linear-gradient(125deg, #ef641e, #c54910 58%, #6d2b0d);
      color:#140a05;
      box-shadow:0 30px 70px rgba(236,94,27,.19);
    }
    .cta-card::after { content:""; position:absolute; width:420px; height:420px; border:70px solid rgba(255,255,255,.1); border-radius:50%; right:-130px; top:-170px; }
    .cta-card h2 { max-width:800px; margin:0; font-size:clamp(40px,5vw,65px); }
    .cta-card p { max-width:620px; color:rgba(20,10,5,.76); font-weight:600; }
    .cta-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
    .cta-actions .btn-primary { background:#080a09; color:white; box-shadow:none; }
    .cta-actions .btn-secondary { background:rgba(255,255,255,.18); border-color:rgba(20,10,5,.18); color:#140a05; }

    .identity-note { display:grid; grid-template-columns:.58fr 1.42fr; gap:28px; margin-top:28px; align-items:center; }
    .identity-note img { width:100%; max-height:280px; object-fit:contain; border-radius:24px; background:#000; border:1px solid var(--line); }
    .identity-note .copy { padding:28px; border-radius:24px; border:1px solid var(--line); background:rgba(255,255,255,.025); }
    .identity-note h3 { margin:0 0 10px; font-size:25px; }
    .identity-note p { margin:0; color:var(--muted); }

    footer.site-footer { padding:60px 0 105px; }
    .footer-grid { display:grid; grid-template-columns:1.25fr .75fr .75fr; gap:34px; padding-bottom:35px; border-bottom:1px solid var(--line); }
    .footer-grid h4 { margin:0 0 14px; font-size:14px; }
    .footer-grid p, .footer-grid a { color:var(--muted); font-size:14px; }
    .footer-grid a { display:block; margin:8px 0; }
    .copyright { display:flex; justify-content:space-between; gap:20px; padding-top:24px; color:#747b74; font-size:12px; }

    .toast {
      position:fixed; z-index:80; left:50%; bottom:28px; transform:translate(-50%, 130px);
      padding:13px 18px; border-radius:999px; color:#edf2ec; background:#202520; border:1px solid var(--line); box-shadow:var(--shadow);
      transition:transform .25s ease;
    }
    .toast.show { transform:translate(-50%, 0); }

    .mobile-actions { display:none; }

    @media (max-width: 980px) {
      nav ul { display:none; }
      .hero-grid, .medical-grid, .vehicle-grid, .zone-layout { grid-template-columns:1fr; }
      .hero { padding-top:54px; }
      .hero-media { min-height:520px; }
      .photo-shell { left:35px; }
      .trust-card { grid-template-columns:repeat(2,1fr); }
      .trust-item:nth-child(2) { border-right:0; }
      .trust-item:nth-child(-n+2) { border-bottom:1px solid var(--line); }
      .services-grid { grid-template-columns:repeat(2,1fr); }
      .service-card.primary, .service-card.secondary, .service-card.wide { grid-column:span 1; }
      .reviews-grid { grid-template-columns:repeat(2,1fr); }
      .medical-grid { padding:70px 0; }
      .medical-art { order:2; }
      .identity-note { grid-template-columns:1fr; }
      .identity-note img { max-height:420px; }
    }

    @media (max-width: 680px) {
      .wrap { width:min(calc(100% - 24px), var(--max)); }
      header .btn { display:none; }
      .nav { min-height:66px; }
      .brand-mark { width:39px; height:39px; }
      .brand-copy strong { font-size:17px; }
      .hero { padding-top:42px; }
      h1 { font-size:49px; }
      .hero-copy > p { font-size:16px; }
      .hero-actions .btn { width:100%; }
      .hero-media { min-height:440px; margin-top:4px; }
      .photo-shell { inset:20px 0 18px 16px; border-radius:28px 28px 100px 28px; }
      .availability { left:0; top:40px; width:164px; padding:14px 16px; }
      .phone-card { right:0; bottom:0; padding:14px 17px; }
      .phone-card strong { font-size:18px; }
      .photo-caption { left:42px; bottom:50px; }
      .photo-caption strong { font-size:22px; }
      .trust-strip { padding-bottom:58px; }
      .trust-card { grid-template-columns:1fr; }
      .trust-item { border-right:0; border-bottom:1px solid var(--line); }
      .trust-item:last-child { border-bottom:0; }
      section { padding:68px 0; }
      .section-head { display:block; }
      .section-head p { margin-top:18px; }
      .services-grid, .reviews-grid { grid-template-columns:1fr; }
      .service-card.primary, .service-card.secondary, .service-card.wide { grid-column:1; }
      .services-note { align-items:flex-start; flex-direction:column; }
      .services-note > span { text-align:left; }
      .service-card { min-height:240px; }
      .medical-art { min-height:375px; transform:scale(.86); transform-origin:center; }
      .medical-ring { left:50%; transform:translateX(-50%); }
      .medical-badge { left:50%; transform:translateX(-10%); }
      .vehicle-photo { min-height:360px; }
      .vehicle-card { padding:28px; }
      .vehicle-card h2 { font-size:39px; }
      .features { grid-template-columns:1fr; }
      .zone-map { min-height:390px; }
      .cta-card { padding:42px 25px; }
      .cta-actions .btn { width:100%; }
      .footer-grid { grid-template-columns:1fr; }
      .copyright { display:block; }
      .mobile-actions {
        position:fixed; z-index:60; bottom:0; left:0; right:0;
        display:grid; grid-template-columns:1fr 1fr; gap:8px;
        padding:10px 12px calc(10px + env(safe-area-inset-bottom));
        background:rgba(8,10,9,.94); backdrop-filter:blur(18px); border-top:1px solid var(--line);
      }
      .mobile-actions .btn { min-height:50px; padding:0 10px; font-size:14px; }
      footer.site-footer { padding-bottom:150px; }
    }
  

    /* V4 — Routage des cartes et section taxi conventionné */
    .services-routing-note {
      margin-top:22px;
      padding:18px 20px;
      border:1px solid rgba(255,255,255,.1);
      border-radius:20px;
      background:rgba(255,255,255,.035);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
    }
    .services-routing-note div { display:grid; gap:4px; }
    .services-routing-note strong { font-size:15px; }
    .services-routing-note span { color:var(--muted); font-size:13px; line-height:1.55; }
    .services-routing-note a { color:var(--green); font-weight:800; font-size:13px; white-space:nowrap; }

    .medical-v4 {
      position:relative;
      overflow:hidden;
      background:
        radial-gradient(circle at 12% 20%, rgba(90,171,66,.16), transparent 34%),
        radial-gradient(circle at 90% 76%, rgba(236,94,27,.09), transparent 28%),
        #0b0e0c;
    }
    .medical-v4::before {
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background-image:linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
      background-size:46px 46px;
      mask-image:linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
    }
    .medical-v4-shell {
      position:relative;
      display:grid;
      grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr);
      gap:38px;
      align-items:stretch;
      padding:44px;
      border:1px solid rgba(255,255,255,.11);
      border-radius:34px;
      background:linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
      box-shadow:0 34px 90px rgba(0,0,0,.34);
      backdrop-filter:blur(14px);
    }
    .medical-v4-copy { padding:16px 8px 14px 4px; align-self:center; }
    .medical-v4-label {
      display:inline-flex;
      align-items:center;
      gap:9px;
      margin-bottom:19px;
      color:#dff5d8;
      font-size:12px;
      font-weight:900;
      letter-spacing:.12em;
      text-transform:uppercase;
    }
    .medical-v4-label span { width:9px; height:9px; border-radius:50%; background:var(--green); box-shadow:0 0 0 7px rgba(90,171,66,.12); }
    .medical-v4-copy h2 { max-width:720px; margin:0 0 18px; font-size:clamp(36px,4.3vw,63px); line-height:1.02; letter-spacing:-.055em; }
    .medical-v4-lead { max-width:690px; margin:0; color:var(--muted); font-size:17px; line-height:1.75; }
    .medical-v4-tags { display:flex; flex-wrap:wrap; gap:9px; margin:27px 0; }
    .medical-v4-tags span { padding:9px 12px; border:1px solid rgba(90,171,66,.26); border-radius:999px; background:rgba(90,171,66,.08); color:#dff5d8; font-size:12px; font-weight:800; }
    .medical-v4-reassurance { display:flex; gap:15px; align-items:center; margin-top:24px; padding:17px; border-radius:19px; background:rgba(0,0,0,.22); border:1px solid rgba(255,255,255,.08); }
    .medical-v4-icon { width:45px; height:45px; flex:0 0 45px; display:grid; place-items:center; border-radius:15px; background:rgba(90,171,66,.14); color:var(--green); }
    .medical-v4-icon svg { width:25px; }
    .medical-v4-reassurance div:last-child { display:grid; gap:3px; }
    .medical-v4-reassurance strong { font-size:14px; }
    .medical-v4-reassurance span { color:var(--muted); font-size:13px; line-height:1.5; }
    .medical-v4-actions { display:flex; align-items:center; gap:20px; margin-top:27px; flex-wrap:wrap; }
    .medical-v4-text-link { color:var(--text); font-size:13px; font-weight:800; }
    .medical-v4-text-link span { color:var(--green); margin-left:5px; }

    .medical-v4-process {
      position:relative;
      padding:28px;
      border-radius:27px;
      background:linear-gradient(180deg, #f4f6f1, #e8ede5);
      color:#101410;
      box-shadow:0 25px 70px rgba(0,0,0,.28);
    }
    .medical-v4-process::after {
      content:"";
      position:absolute;
      top:20px;
      right:20px;
      width:86px;
      height:86px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(90,171,66,.16), transparent 70%);
    }
    .medical-v4-process-head { position:relative; z-index:1; display:flex; align-items:end; justify-content:space-between; gap:20px; padding:4px 4px 19px; border-bottom:1px solid rgba(16,20,16,.12); }
    .medical-v4-process-head span { color:#5e675e; font-size:11px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
    .medical-v4-process-head strong { font-size:20px; letter-spacing:-.03em; }
    .medical-step { position:relative; z-index:1; display:grid; grid-template-columns:48px 1fr; gap:14px; padding:21px 4px; border-bottom:1px solid rgba(16,20,16,.1); }
    .medical-step.featured { margin:8px -10px; padding:20px 14px; border:0; border-radius:20px; background:#111611; color:#fff; box-shadow:0 16px 32px rgba(20,30,20,.16); }
    .medical-step-number { width:40px; height:40px; display:grid; place-items:center; border-radius:13px; background:rgba(90,171,66,.13); color:#327b2a; font-size:12px; font-weight:950; }
    .medical-step.featured .medical-step-number { background:var(--orange); color:#fff; }
    .medical-step h3 { margin:1px 0 7px; font-size:16px; letter-spacing:-.02em; }
    .medical-step p { margin:0; color:#697169; font-size:13px; line-height:1.58; }
    .medical-step.featured p { color:#b9c0b9; }
    .medical-v4-disclaimer { display:grid; grid-template-columns:22px 1fr; gap:10px; margin-top:20px; padding:14px; border-radius:16px; background:rgba(16,20,16,.055); color:#616961; }
    .medical-v4-disclaimer svg { width:19px; margin-top:1px; }
    .medical-v4-disclaimer p { margin:0; font-size:11px; line-height:1.55; }

    @media (max-width: 980px) {
      .medical-v4-shell { grid-template-columns:1fr; padding:30px; }
      .medical-v4-copy { padding:2px; }
    }
    @media (max-width: 720px) {
      .services-routing-note { align-items:flex-start; flex-direction:column; }
      .medical-v4-shell { padding:21px; border-radius:26px; gap:24px; }
      .medical-v4-copy h2 { font-size:39px; }
      .medical-v4-lead { font-size:15px; }
      .medical-v4-process { padding:20px; border-radius:22px; }
      .medical-v4-process-head { align-items:flex-start; flex-direction:column; gap:5px; }
      .medical-v4-actions { align-items:stretch; flex-direction:column; }
      .medical-v4-actions .btn { width:100%; }
      .medical-v4-text-link { text-align:center; }
    }

    /* V5 — Section véhicule */
    .vehicle-v5 {
      position: relative;
      padding: 106px 0;
      overflow: hidden;
    }
    .vehicle-v5::before {
      content: "";
      position: absolute;
      width: 520px;
      height: 520px;
      right: -220px;
      top: 80px;
      border-radius: 50%;
      background: rgba(236,94,27,.08);
      filter: blur(80px);
      pointer-events: none;
    }
    .vehicle-v5-head {
      display: grid;
      grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
      gap: 70px;
      align-items: end;
      margin-bottom: 42px;
    }
    .vehicle-v5-kicker {
      color: var(--orange);
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .17em;
      text-transform: uppercase;
    }
    .vehicle-v5-head h2 {
      margin: 10px 0 0;
      max-width: 790px;
    }
    .vehicle-v5-head > p {
      margin: 0 0 7px;
      color: var(--muted);
      font-size: 16px;
    }
    .vehicle-v5-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
      gap: 20px;
      align-items: stretch;
    }
    .vehicle-v5-media {
      position: relative;
      min-height: 650px;
      overflow: hidden;
      border-radius: 34px;
      border: 1px solid rgba(255,255,255,.13);
      background: #191d19;
      box-shadow: var(--shadow);
    }
    .vehicle-v5-media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      filter: brightness(.8) saturate(.86) contrast(1.04);
      transition: transform .7s ease;
    }
    .vehicle-v5-media:hover img {
      transform: scale(1.025);
    }
    .vehicle-v5-media-shade {
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(8,10,9,.12), transparent 38%, rgba(8,10,9,.76)),
        linear-gradient(90deg, rgba(8,10,9,.44), transparent 52%);
      pointer-events: none;
    }
    .vehicle-v5-model {
      position: absolute;
      top: 24px;
      left: 24px;
      padding: 16px 18px;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 18px;
      background: rgba(10,13,10,.68);
      backdrop-filter: blur(12px);
    }
    .vehicle-v5-model span {
      display: block;
      color: #aeb6ad;
      font-size: 10px;
      font-weight: 850;
      letter-spacing: .14em;
      text-transform: uppercase;
    }
    .vehicle-v5-model strong {
      display: block;
      margin-top: 4px;
      font-size: 17px;
    }
    .vehicle-v5-capacity {
      position: absolute;
      left: 24px;
      right: 24px;
      bottom: 24px;
      display: flex;
      align-items: center;
      gap: 22px;
      width: fit-content;
      padding: 17px 21px;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 20px;
      background: rgba(10,13,10,.78);
      backdrop-filter: blur(14px);
      box-shadow: 0 16px 45px rgba(0,0,0,.28);
    }
    .vehicle-v5-capacity > div {
      min-width: 88px;
    }
    .vehicle-v5-capacity strong {
      display: block;
      color: white;
      font-size: 21px;
      line-height: 1;
    }
    .vehicle-v5-capacity span {
      display: block;
      margin-top: 6px;
      color: #b9c1b8;
      font-size: 12px;
    }
    .vehicle-v5-capacity i {
      width: 1px;
      height: 34px;
      background: rgba(255,255,255,.15);
    }
    .vehicle-v5-panel {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 42px;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 34px;
      background:
        radial-gradient(circle at 95% 0%, rgba(90,171,66,.11), transparent 36%),
        linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
    }
    .vehicle-v5-label {
      width: fit-content;
      padding: 7px 11px;
      border-radius: 999px;
      color: #c6efb9;
      background: rgba(90,171,66,.1);
      border: 1px solid rgba(90,171,66,.22);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    .vehicle-v5-panel h3 {
      margin: 18px 0 16px;
      font-size: clamp(32px, 3.3vw, 46px);
      line-height: 1.02;
      letter-spacing: -.04em;
    }
    .vehicle-v5-panel > p {
      margin: 0;
      color: var(--muted);
      font-size: 15px;
    }
    .vehicle-v5-features {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin: 29px 0 22px;
    }
    .vehicle-v5-features article {
      min-height: 108px;
      display: flex;
      align-items: center;
      gap: 14px;
      padding: 17px;
      border-radius: 19px;
      border: 1px solid rgba(255,255,255,.085);
      background: rgba(8,10,9,.32);
    }
    .vehicle-v5-feature-icon {
      flex: 0 0 auto;
      width: 43px;
      height: 43px;
      display: grid;
      place-items: center;
      border-radius: 14px;
      color: var(--green);
      background: rgba(90,171,66,.1);
      border: 1px solid rgba(90,171,66,.2);
    }
    .vehicle-v5-feature-icon svg {
      width: 25px;
      height: 25px;
    }
    .vehicle-v5-features strong {
      display: block;
      font-size: 14px;
      line-height: 1.2;
    }
    .vehicle-v5-features span:not(.vehicle-v5-feature-icon) {
      display: block;
      margin-top: 5px;
      color: #9fa79e;
      font-size: 11px;
      line-height: 1.35;
    }
    .vehicle-v5-accessibility {
      display: flex;
      gap: 12px;
      margin-bottom: 23px;
      padding: 15px 16px;
      border-left: 3px solid var(--orange);
      border-radius: 0 15px 15px 0;
      background: rgba(236,94,27,.065);
    }
    .vehicle-v5-accessibility svg {
      flex: 0 0 auto;
      width: 21px;
      height: 21px;
      margin-top: 2px;
      color: var(--orange);
    }
    .vehicle-v5-accessibility p {
      margin: 0;
      color: #c5cbc4;
      font-size: 12px;
      line-height: 1.5;
    }
    .vehicle-v5-panel .btn {
      align-self: flex-start;
    }

    @media (max-width: 980px) {
      .vehicle-v5-head {
        grid-template-columns: 1fr;
        gap: 18px;
      }
      .vehicle-v5-layout {
        grid-template-columns: 1fr;
      }
      .vehicle-v5-media {
        min-height: 520px;
      }
    }

    @media (max-width: 640px) {
      .vehicle-v5 {
        padding: 82px 0;
      }
      .vehicle-v5-head {
        margin-bottom: 28px;
      }
      .vehicle-v5-head h2 {
        font-size: 38px;
      }
      .vehicle-v5-media {
        min-height: 430px;
        border-radius: 26px;
      }
      .vehicle-v5-model {
        top: 16px;
        left: 16px;
      }
      .vehicle-v5-capacity {
        left: 16px;
        right: 16px;
        bottom: 16px;
        width: auto;
        justify-content: center;
      }
      .vehicle-v5-panel {
        padding: 27px 21px;
        border-radius: 26px;
      }
      .vehicle-v5-panel h3 {
        font-size: 35px;
      }
      .vehicle-v5-features {
        grid-template-columns: 1fr;
      }
      .vehicle-v5-features article {
        min-height: 88px;
      }
    }

    /* Ajustement V6 — conserver l’ensemble du véhicule visible */
    .vehicle-v5-media {
      background:
        radial-gradient(circle at 80% 50%, rgba(90,171,66,.11), transparent 38%),
        #171a18;
    }
    .vehicle-v5-media img {
      object-fit: contain;
      object-position: center;
      transform: scale(.97);
    }
    .vehicle-v5-media:hover img {
      transform: scale(.985);
    }

    /* V6 — Zones desservies */
    .zones-v6 {
      position: relative;
      padding: 110px 0;
      background:
        linear-gradient(180deg, rgba(255,255,255,.015), transparent 18%),
        #0b0d0c;
      overflow: hidden;
    }
    .zones-v6::before {
      content: "";
      position: absolute;
      width: 500px;
      height: 500px;
      left: -250px;
      bottom: -150px;
      border-radius: 50%;
      background: rgba(90,171,66,.07);
      filter: blur(90px);
      pointer-events: none;
    }
    .zones-v6-head {
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
      gap: 70px;
      align-items: end;
      margin-bottom: 44px;
    }
    .zones-v6-kicker {
      color: var(--green);
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .17em;
      text-transform: uppercase;
    }
    .zones-v6-head h2 {
      margin: 10px 0 0;
      max-width: 820px;
    }
    .zones-v6-head > p {
      margin: 0 0 7px;
      color: var(--muted);
      font-size: 16px;
    }
    .zones-v6-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.07fr) minmax(410px, .93fr);
      gap: 20px;
      align-items: stretch;
    }
    .zones-v6-map {
      position: relative;
      min-height: 680px;
      overflow: hidden;
      border-radius: 34px;
      border: 1px solid rgba(255,255,255,.11);
      background:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        radial-gradient(circle at 55% 45%, rgba(90,171,66,.11), transparent 34%),
        #141715;
      background-size: 36px 36px, 36px 36px, auto, auto;
      box-shadow: var(--shadow);
    }
    .zones-v6-glow {
      position: absolute;
      width: 380px;
      height: 380px;
      left: 50%;
      top: 49%;
      transform: translate(-50%, -50%);
      border-radius: 50%;
      background: rgba(90,171,66,.08);
      filter: blur(48px);
    }
    .zones-v6-roads {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
    }
    .zones-v6-roads path {
      fill: none;
      stroke: rgba(255,255,255,.11);
      stroke-width: 5;
      stroke-linecap: round;
    }
    .zones-v6-roads path:nth-child(2),
    .zones-v6-roads path:nth-child(4) {
      stroke: rgba(236,94,27,.13);
      stroke-width: 3;
      stroke-dasharray: 8 13;
    }
    .zones-v6-orbit {
      position: absolute;
      left: 51%;
      top: 49%;
      transform: translate(-50%, -50%);
      border: 1px solid rgba(90,171,66,.15);
      border-radius: 50%;
    }
    .zones-v6-orbit.orbit-one {
      width: 300px;
      height: 300px;
    }
    .zones-v6-orbit.orbit-two {
      width: 510px;
      height: 510px;
      border-style: dashed;
      border-color: rgba(255,255,255,.09);
    }
    .zones-v6-pin {
      position: absolute;
      display: flex;
      align-items: center;
      gap: 10px;
      z-index: 3;
    }
    .zones-v6-pin b {
      position: relative;
      flex: 0 0 auto;
      width: 15px;
      height: 15px;
      border: 4px solid #1d211d;
      border-radius: 50%;
      background: var(--orange);
      box-shadow: 0 0 0 1px rgba(255,255,255,.15), 0 0 18px rgba(236,94,27,.35);
    }
    .zones-v6-pin > div {
      padding: 9px 12px;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 14px;
      background: rgba(8,10,9,.82);
      backdrop-filter: blur(10px);
      box-shadow: 0 12px 26px rgba(0,0,0,.23);
    }
    .zones-v6-pin strong,
    .zones-v6-pin small {
      display: block;
    }
    .zones-v6-pin strong {
      color: white;
      font-size: 13px;
    }
    .zones-v6-pin small {
      margin-top: 2px;
      color: #9ba49a;
      font-size: 9px;
      text-transform: uppercase;
      letter-spacing: .08em;
    }
    .zones-v6-pin-main {
      left: 47%;
      top: 45%;
    }
    .zones-v6-pin-main b {
      width: 21px;
      height: 21px;
      border-color: #1c251c;
      background: var(--green);
      box-shadow: 0 0 0 1px rgba(255,255,255,.16), 0 0 28px rgba(90,171,66,.55);
    }
    .zones-v6-pulse {
      position: absolute;
      left: -12px;
      width: 45px;
      height: 45px;
      border: 1px solid rgba(90,171,66,.5);
      border-radius: 50%;
      animation: zonesPulse 2.4s ease-out infinite;
    }
    @keyframes zonesPulse {
      0% { transform: scale(.55); opacity: .9; }
      100% { transform: scale(1.55); opacity: 0; }
    }
    .zones-v6-pin-royan {
      left: 14%;
      top: 67%;
    }
    .zones-v6-pin-tremblade {
      left: 8%;
      right: auto;
      top: 18%;
    }
    .zones-v6-pin-chaillevette {
      left: 23%;
      right: auto;
      top: 34%;
    }
    .zones-v6-map-caption {
      position: absolute;
      left: 24px;
      right: 24px;
      bottom: 24px;
      padding: 18px 20px;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 20px;
      background: rgba(8,10,9,.79);
      backdrop-filter: blur(12px);
    }
    .zones-v6-map-caption span,
    .zones-v6-map-caption strong {
      display: block;
    }
    .zones-v6-map-caption span {
      color: var(--orange);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .13em;
      text-transform: uppercase;
    }
    .zones-v6-map-caption strong {
      margin-top: 6px;
      font-size: 16px;
    }
    .zones-v6-content {
      display: flex;
      flex-direction: column;
      padding: 32px;
      border-radius: 34px;
      border: 1px solid rgba(255,255,255,.1);
      background:
        radial-gradient(circle at 100% 0%, rgba(236,94,27,.08), transparent 34%),
        linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
    }
    .zones-v6-main-card {
      padding: 26px;
      border: 1px solid rgba(90,171,66,.22);
      border-radius: 24px;
      background:
        linear-gradient(135deg, rgba(90,171,66,.11), rgba(90,171,66,.035)),
        rgba(8,10,9,.3);
    }
    .zones-v6-card-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
    }
    .zones-v6-city-icon {
      width: 49px;
      height: 49px;
      display: grid;
      place-items: center;
      border-radius: 15px;
      color: var(--green);
      border: 1px solid rgba(90,171,66,.25);
      background: rgba(90,171,66,.1);
    }
    .zones-v6-city-icon svg {
      width: 27px;
      height: 27px;
    }
    .zones-v6-status {
      padding: 7px 10px;
      border-radius: 999px;
      color: #bdeeb0;
      border: 1px solid rgba(90,171,66,.22);
      background: rgba(90,171,66,.08);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .zones-v6-main-card h3 {
      margin: 24px 0 11px;
      font-size: 31px;
      line-height: 1;
    }
    .zones-v6-main-card p {
      margin: 0;
      color: var(--muted);
      font-size: 14px;
    }
    .zones-v6-main-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 19px;
    }
    .zones-v6-main-meta span {
      padding: 7px 9px;
      border-radius: 10px;
      color: #d5dbd4;
      background: rgba(255,255,255,.045);
      border: 1px solid rgba(255,255,255,.075);
      font-size: 10px;
    }
    .zones-v6-local-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 10px;
      margin: 13px 0;
    }
    .zones-v6-local-card {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 17px 18px;
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 18px;
      background: rgba(8,10,9,.27);
      cursor: pointer;
      transition: transform .2s ease, border-color .2s ease, background .2s ease;
    }
    .zones-v6-local-card:hover,
    .zones-v6-local-card:focus {
      transform: translateX(4px);
      border-color: rgba(236,94,27,.28);
      background: rgba(236,94,27,.045);
      outline: none;
    }
    .zones-v6-local-card strong,
    .zones-v6-local-card span {
      display: block;
    }
    .zones-v6-local-card strong {
      font-size: 15px;
    }
    .zones-v6-local-card span {
      margin-top: 3px;
      color: #9ca49b;
      font-size: 11px;
    }
    .zones-v6-local-card small {
      flex: 0 0 auto;
      color: var(--orange);
      font-size: 9px;
      font-weight: 900;
      letter-spacing: .09em;
      text-transform: uppercase;
    }
    .zones-v6-notice {
      display: flex;
      gap: 12px;
      padding: 15px 16px;
      border-left: 3px solid var(--orange);
      border-radius: 0 15px 15px 0;
      background: rgba(236,94,27,.06);
    }
    .zones-v6-notice-icon {
      flex: 0 0 auto;
      width: 21px;
      height: 21px;
      color: var(--orange);
    }
    .zones-v6-notice-icon svg {
      width: 100%;
      height: 100%;
    }
    .zones-v6-notice p {
      margin: 0;
      color: #c4cac3;
      font-size: 12px;
      line-height: 1.5;
    }
    .zones-v6-more {
      margin: 21px 0 23px;
    }
    .zones-v6-more > span {
      display: block;
      margin-bottom: 10px;
      color: #8f978e;
      font-size: 10px;
      font-weight: 850;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .zones-v6-more > div {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
    }
    .zones-v6-more b {
      padding: 7px 9px;
      border-radius: 999px;
      color: #b7beb6;
      background: rgba(255,255,255,.04);
      border: 1px solid rgba(255,255,255,.07);
      font-size: 10px;
      font-weight: 650;
    }
    .zones-v6-content .btn {
      align-self: flex-start;
      margin-top: auto;
    }

    @media (max-width: 980px) {
      .zones-v6-head {
        grid-template-columns: 1fr;
        gap: 18px;
      }
      .zones-v6-layout {
        grid-template-columns: 1fr;
      }
      .zones-v6-map {
        min-height: 610px;
      }
    }

    @media (max-width: 640px) {
      .zones-v6 {
        padding: 82px 0;
      }
      .zones-v6-head {
        margin-bottom: 28px;
      }
      .zones-v6-head h2 {
        font-size: 38px;
      }
      .zones-v6-map {
        min-height: 520px;
        border-radius: 26px;
      }
      .zones-v6-orbit.orbit-two {
        width: 390px;
        height: 390px;
      }
      .zones-v6-orbit.orbit-one {
        width: 235px;
        height: 235px;
      }
      .zones-v6-pin > div {
        padding: 7px 9px;
      }
      .zones-v6-pin strong {
        font-size: 11px;
      }
      .zones-v6-pin small {
        font-size: 7px;
      }
      .zones-v6-pin-main {
        left: 37%;
      }
      .zones-v6-pin-royan {
        left: 7%;
        top: 69%;
      }
      .zones-v6-pin-tremblade {
        left: 3%;
        right: auto;
        top: 16%;
      }
      .zones-v6-pin-chaillevette {
        left: 15%;
        right: auto;
        top: 34%;
      }
      .zones-v6-map-caption {
        left: 16px;
        right: 16px;
        bottom: 16px;
      }
      .zones-v6-content {
        padding: 20px;
        border-radius: 26px;
      }
      .zones-v6-main-card {
        padding: 21px;
      }
      .zones-v6-card-top {
        align-items: flex-start;
      }
      .zones-v6-status {
        max-width: 130px;
        text-align: center;
      }
    }

    /* V7 — Avis statiques, structure prête pour une future source API */
    .reviews-v7 {
      position: relative;
      padding: 112px 0;
      overflow: hidden;
      background:
        radial-gradient(circle at 83% 18%, rgba(236,94,27,.075), transparent 31%),
        linear-gradient(180deg, #0d100e, #090b0a);
    }
    .reviews-v7::before {
      content: "";
      position: absolute;
      width: 430px;
      height: 430px;
      left: -210px;
      top: 120px;
      border-radius: 50%;
      background: rgba(90,171,66,.07);
      filter: blur(85px);
      pointer-events: none;
    }
    .reviews-v7-head {
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
      gap: 70px;
      align-items: end;
      margin-bottom: 45px;
    }
    .reviews-v7-kicker {
      color: var(--orange);
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .17em;
      text-transform: uppercase;
    }
    .reviews-v7-head h2 {
      max-width: 830px;
      margin: 10px 0 0;
    }
    .reviews-v7-head > p {
      margin: 0 0 7px;
      color: var(--muted);
      font-size: 16px;
    }
    .reviews-v7-layout {
      display: grid;
      grid-template-columns: minmax(310px, .76fr) minmax(0, 1.24fr);
      gap: 20px;
      align-items: stretch;
    }
    .reviews-v7-summary {
      display: flex;
      flex-direction: column;
      min-height: 560px;
      padding: 34px;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 32px;
      background:
        radial-gradient(circle at 90% 0%, rgba(90,171,66,.12), transparent 34%),
        linear-gradient(145deg, rgba(255,255,255,.052), rgba(255,255,255,.018));
      box-shadow: var(--shadow);
    }
    .reviews-v7-summary-top {
      display: flex;
      align-items: center;
      gap: 13px;
    }
    .reviews-v7-google-mark {
      width: 48px;
      height: 48px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(255,255,255,.11);
      border-radius: 15px;
      color: white;
      background: rgba(255,255,255,.055);
      font-size: 22px;
      font-weight: 900;
    }
    .reviews-v7-summary-top span:not(.reviews-v7-google-mark),
    .reviews-v7-summary-top strong {
      display: block;
    }
    .reviews-v7-summary-top div > span {
      color: #929a91;
      font-size: 10px;
      font-weight: 850;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    .reviews-v7-summary-top strong {
      margin-top: 4px;
      font-size: 15px;
    }
    .reviews-v7-stars {
      margin: 62px 0 19px;
      color: #f4a53b;
      font-size: clamp(34px, 4.1vw, 52px);
      letter-spacing: .09em;
      line-height: 1;
      text-shadow: 0 6px 22px rgba(244,165,59,.16);
    }
    .reviews-v7-summary > p {
      margin: 0;
      color: var(--muted);
      font-size: 14px;
    }
    .reviews-v7-traits {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 26px 0 29px;
    }
    .reviews-v7-traits span {
      padding: 8px 10px;
      border: 1px solid rgba(90,171,66,.18);
      border-radius: 999px;
      color: #c0dfb8;
      background: rgba(90,171,66,.065);
      font-size: 10px;
      font-weight: 750;
    }
    .reviews-v7-summary .btn {
      align-self: flex-start;
      margin-top: auto;
    }
    .reviews-v7-cards {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1fr 1fr;
      gap: 14px;
    }
    .reviews-v7-card {
      display: flex;
      flex-direction: column;
      min-height: 260px;
      padding: 27px;
      border: 1px solid rgba(255,255,255,.09);
      border-radius: 27px;
      background:
        linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.017)),
        #111411;
      transition: transform .23s ease, border-color .23s ease, background .23s ease;
    }
    .reviews-v7-card:hover {
      transform: translateY(-4px);
      border-color: rgba(236,94,27,.22);
      background:
        linear-gradient(145deg, rgba(236,94,27,.065), rgba(255,255,255,.02)),
        #111411;
    }
    .reviews-v7-card-featured {
      grid-row: 1 / span 2;
      min-height: 534px;
      padding: 34px;
      border-color: rgba(90,171,66,.2);
      background:
        radial-gradient(circle at 100% 0%, rgba(90,171,66,.11), transparent 36%),
        linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.018)),
        #111411;
    }
    .reviews-v7-card-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
    }
    .reviews-v7-stars-small {
      color: #f4a53b;
      font-size: 13px;
      letter-spacing: .12em;
    }
    .reviews-v7-card-top > span {
      padding: 6px 9px;
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 999px;
      color: #aeb5ad;
      background: rgba(255,255,255,.035);
      font-size: 9px;
      font-weight: 850;
      letter-spacing: .09em;
      text-transform: uppercase;
    }
    .reviews-v7-card blockquote {
      margin: 36px 0 30px;
      color: #eef1ed;
      font-size: 18px;
      font-weight: 600;
      line-height: 1.58;
      letter-spacing: -.015em;
    }
    .reviews-v7-card-featured blockquote {
      margin-top: 70px;
      font-size: clamp(25px, 2.8vw, 34px);
      line-height: 1.35;
      letter-spacing: -.03em;
    }
    .reviews-v7-card footer {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-top: auto;
    }
    .reviews-v7-avatar {
      flex: 0 0 auto;
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(236,94,27,.22);
      border-radius: 14px;
      color: #ffd4c1;
      background: rgba(236,94,27,.09);
      font-size: 14px;
      font-weight: 900;
    }
    .reviews-v7-card footer strong,
    .reviews-v7-card footer small {
      display: block;
    }
    .reviews-v7-card footer strong {
      font-size: 13px;
    }
    .reviews-v7-card footer small {
      margin-top: 3px;
      color: #919991;
      font-size: 10px;
    }
    .reviews-v7-card footer svg {
      width: 34px;
      height: 26px;
      margin-left: auto;
      color: rgba(90,171,66,.24);
    }

    @media (max-width: 980px) {
      .reviews-v7-head {
        grid-template-columns: 1fr;
        gap: 18px;
      }
      .reviews-v7-layout {
        grid-template-columns: 1fr;
      }
      .reviews-v7-summary {
        min-height: auto;
      }
      .reviews-v7-stars {
        margin-top: 36px;
      }
      .reviews-v7-summary .btn {
        margin-top: 8px;
      }
    }

    @media (max-width: 700px) {
      .reviews-v7 {
        padding: 84px 0;
      }
      .reviews-v7-head {
        margin-bottom: 28px;
      }
      .reviews-v7-head h2 {
        font-size: 38px;
      }
      .reviews-v7-summary {
        padding: 25px 21px;
        border-radius: 26px;
      }
      .reviews-v7-cards {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
      }
      .reviews-v7-card-featured {
        grid-row: auto;
        min-height: 390px;
      }
      .reviews-v7-card-featured blockquote {
        margin-top: 48px;
        font-size: 27px;
      }
      .reviews-v7-card {
        min-height: 250px;
        padding: 24px 21px;
        border-radius: 24px;
      }
    }

    /* V8 — Contact, pied de page et barre mobile */
    html, body {
      width: 100%;
      max-width: 100%;
      overflow-x: clip;
    }

    .contact-v8 {
      position: relative;
      padding: 112px 0;
      overflow: hidden;
      background:
        radial-gradient(circle at 10% 100%, rgba(90,171,66,.1), transparent 31%),
        radial-gradient(circle at 100% 0%, rgba(236,94,27,.12), transparent 34%),
        #0b0d0c;
    }
    .contact-v8-shell {
      display: grid;
      grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 38px;
      overflow: hidden;
      background: #111411;
      box-shadow: 0 35px 100px rgba(0,0,0,.42);
    }
    .contact-v8-copy {
      position: relative;
      padding: 64px;
      background:
        radial-gradient(circle at 0% 100%, rgba(236,94,27,.13), transparent 39%),
        linear-gradient(145deg, rgba(255,255,255,.052), rgba(255,255,255,.012));
    }
    .contact-v8-kicker {
      color: var(--orange);
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .17em;
      text-transform: uppercase;
    }
    .contact-v8-copy h2 {
      max-width: 700px;
      margin: 13px 0 20px;
      font-size: clamp(43px, 5vw, 68px);
      line-height: .98;
      letter-spacing: -.055em;
    }
    .contact-v8-copy > p {
      max-width: 650px;
      margin: 0;
      color: var(--muted);
      font-size: 16px;
    }
    .contact-v8-actions {
      display: grid;
      grid-template-columns: 1.08fr .92fr;
      gap: 12px;
      margin-top: 36px;
    }
    .contact-v8-actions .btn {
      width: 100%;
      min-width: 0;
      min-height: 78px;
      justify-content: flex-start;
      border-radius: 20px;
      padding: 0 20px;
      text-align: left;
    }
    .contact-v8-actions svg {
      flex: 0 0 auto;
      width: 27px;
      height: 27px;
    }
    .contact-v8-actions small,
    .contact-v8-actions strong {
      display: block;
    }
    .contact-v8-actions small {
      margin-bottom: 2px;
      opacity: .7;
      font-size: 10px;
      font-weight: 750;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .contact-v8-actions strong {
      font-size: 16px;
    }
    .contact-v8-call {
      color: #120b07;
      background: var(--orange);
      box-shadow: 0 18px 45px rgba(236,94,27,.2);
    }
    .contact-v8-sms {
      color: white;
      border-color: rgba(255,255,255,.13);
      background: rgba(255,255,255,.055);
    }
    .contact-v8-hours {
      display: flex;
      flex-wrap: wrap;
      gap: 16px 32px;
      margin-top: 30px;
      padding-top: 26px;
      border-top: 1px solid rgba(255,255,255,.09);
    }
    .contact-v8-hours > div {
      display: flex;
      align-items: flex-start;
      gap: 10px;
    }
    .contact-v8-dot {
      flex: 0 0 auto;
      width: 9px;
      height: 9px;
      margin-top: 6px;
      border-radius: 50%;
      background: var(--green);
      box-shadow: 0 0 0 6px rgba(90,171,66,.1);
    }
    .contact-v8-dot.orange {
      background: var(--orange);
      box-shadow: 0 0 0 6px rgba(236,94,27,.1);
    }
    .contact-v8-hours p,
    .contact-v8-hours strong,
    .contact-v8-hours small {
      display: block;
      margin: 0;
    }
    .contact-v8-hours strong {
      font-size: 12px;
    }
    .contact-v8-hours small {
      margin-top: 2px;
      color: #989f97;
      font-size: 10px;
    }
    .contact-v8-guide {
      padding: 50px 42px;
      color: #182018;
      background:
        radial-gradient(circle at 100% 0%, rgba(255,255,255,.32), transparent 36%),
        linear-gradient(145deg, #8aca72, #5aab42 58%, #448e37);
    }
    .contact-v8-guide-label {
      font-size: 10px;
      font-weight: 950;
      letter-spacing: .13em;
      text-transform: uppercase;
      opacity: .75;
    }
    .contact-v8-guide h3 {
      margin: 13px 0 29px;
      color: #112010;
      font-size: 32px;
      line-height: 1.08;
      letter-spacing: -.035em;
    }
    .contact-v8-guide ol {
      display: grid;
      gap: 10px;
      margin: 0;
      padding: 0;
      list-style: none;
    }
    .contact-v8-guide li {
      display: grid;
      grid-template-columns: 42px 1fr;
      gap: 13px;
      align-items: start;
      padding: 16px;
      border: 1px solid rgba(16,38,14,.13);
      border-radius: 17px;
      background: rgba(255,255,255,.17);
    }
    .contact-v8-guide li > span {
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      border-radius: 13px;
      color: white;
      background: rgba(18,45,16,.84);
      font-size: 11px;
      font-weight: 900;
    }
    .contact-v8-guide li strong,
    .contact-v8-guide li small {
      display: block;
    }
    .contact-v8-guide li strong {
      font-size: 13px;
    }
    .contact-v8-guide li small {
      margin-top: 4px;
      color: rgba(20,40,18,.72);
      font-size: 10px;
      line-height: 1.4;
    }
    .contact-v8-note {
      margin-top: 18px;
      padding: 15px 16px;
      border-left: 3px solid rgba(20,41,18,.75);
      border-radius: 0 14px 14px 0;
      color: rgba(18,37,16,.83);
      background: rgba(255,255,255,.14);
      font-size: 11px;
      font-weight: 650;
      line-height: 1.5;
    }

    footer.site-footer.footer-v8 {
      padding: 72px 0 110px;
      background: #070908;
      border-top: 1px solid rgba(255,255,255,.07);
    }
    .footer-v8-top {
      display: grid;
      grid-template-columns: minmax(260px, 1.35fr) .68fr .86fr minmax(260px, .95fr);
      gap: 42px;
      padding-bottom: 46px;
      border-bottom: 1px solid rgba(255,255,255,.09);
    }
    .footer-v8-brand > p {
      max-width: 390px;
      margin: 19px 0 21px;
      color: var(--muted);
      font-size: 13px;
    }
    .footer-v8-facebook {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      padding: 0;
      border: 0;
      color: #bac2b9;
      background: none;
      cursor: pointer;
      font: inherit;
      font-size: 12px;
      font-weight: 750;
    }
    .footer-v8-facebook svg {
      width: 19px;
      height: 19px;
      color: #d7ded6;
    }
    .footer-v8-col h4 {
      margin: 5px 0 18px;
      color: white;
      font-size: 12px;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .footer-v8-col a {
      display: block;
      width: fit-content;
      margin: 10px 0;
      color: #90988f;
      font-size: 12px;
      transition: color .2s ease, transform .2s ease;
    }
    .footer-v8-col a:hover {
      color: white;
      transform: translateX(3px);
    }
    .footer-v8-contact {
      padding: 23px;
      border: 1px solid rgba(255,255,255,.09);
      border-radius: 23px;
      background:
        radial-gradient(circle at 100% 0%, rgba(236,94,27,.09), transparent 42%),
        rgba(255,255,255,.025);
    }
    .footer-v8-contact > span {
      display: block;
      color: var(--orange);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    .footer-v8-contact > strong {
      display: block;
      margin-top: 8px;
      font-size: 22px;
      letter-spacing: -.02em;
    }
    .footer-v8-contact > p {
      margin: 11px 0 17px;
      color: #999f98;
      font-size: 11px;
    }
    .footer-v8-contact > div {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
    }
    .footer-v8-contact .btn {
      min-width: 0;
      min-height: 42px;
      width: 100%;
      padding: 0 12px;
      font-size: 11px;
    }
    .footer-v8-bottom {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      padding-top: 25px;
      color: #697068;
      font-size: 11px;
    }
    .footer-v8-bottom nav {
      display: flex;
      flex-wrap: wrap;
      gap: 17px;
    }
    .footer-v8-bottom a {
      color: #7e857d;
    }

    .mobile-actions {
      display: none;
    }

    @media (max-width: 1050px) {
      .contact-v8-shell {
        grid-template-columns: 1fr;
      }
      .footer-v8-top {
        grid-template-columns: 1.3fr .7fr .9fr;
      }
      .footer-v8-contact {
        grid-column: 1 / -1;
      }
    }

    @media (max-width: 700px) {
      .contact-v8 {
        padding: 82px 0;
      }
      .contact-v8-shell {
        width: 100%;
        border-radius: 27px;
      }
      .contact-v8-copy {
        min-width: 0;
        padding: 38px 22px 34px;
      }
      .contact-v8-copy h2 {
        font-size: 42px;
      }
      .contact-v8-actions {
        grid-template-columns: 1fr;
      }
      .contact-v8-actions .btn {
        min-width: 0;
        width: 100%;
      }
      .contact-v8-hours {
        display: grid;
        grid-template-columns: 1fr;
      }
      .contact-v8-guide {
        padding: 34px 21px;
      }
      .contact-v8-guide h3 {
        font-size: 29px;
      }
      footer.site-footer.footer-v8 {
        padding-bottom: calc(112px + env(safe-area-inset-bottom));
      }
      .footer-v8-top {
        grid-template-columns: 1fr;
        gap: 30px;
      }
      .footer-v8-brand > p {
        max-width: none;
      }
      .footer-v8-contact {
        grid-column: auto;
      }
      .footer-v8-bottom {
        display: block;
      }
      .footer-v8-bottom nav {
        margin-top: 13px;
      }

      .mobile-actions {
        position: fixed;
        z-index: 70;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        max-width: 100vw;
        min-width: 0;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 8px;
        padding: 9px max(10px, env(safe-area-inset-left))
                 calc(9px + env(safe-area-inset-bottom))
                 max(10px, env(safe-area-inset-right));
        overflow: hidden;
        background: rgba(7,9,8,.96);
        border-top: 1px solid rgba(255,255,255,.1);
        backdrop-filter: blur(18px);
        box-shadow: 0 -16px 38px rgba(0,0,0,.28);
      }
      .mobile-action {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        min-height: 50px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        margin: 0;
        padding: 0 10px;
        overflow: hidden;
        border: 1px solid rgba(255,255,255,.12);
        border-radius: 15px;
        white-space: nowrap;
        cursor: pointer;
        font: inherit;
        font-size: 13px;
        font-weight: 900;
      }
      .mobile-action svg {
        flex: 0 0 auto;
        width: 20px;
        height: 20px;
      }
      .mobile-action span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
      }
      .mobile-action-sms {
        color: white;
        background: rgba(255,255,255,.055);
      }
      .mobile-action-call {
        color: #140b07;
        border-color: transparent;
        background: var(--orange);
      }
      .toast {
        bottom: calc(78px + env(safe-area-inset-bottom));
        max-width: calc(100vw - 24px);
        text-align: center;
        white-space: normal;
      }
    }

    /* V9 — Navigation mobile et réseaux sociaux */
    .mobile-menu-toggle,
    .mobile-menu-layer {
      display: none;
    }

    .footer-v9-socials {
      margin-top: 21px;
    }
    .footer-v9-socials > span {
      display: block;
      margin-bottom: 10px;
      color: #727a71;
      font-size: 9px;
      font-weight: 900;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    .footer-v9-socials > div {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .footer-v9-social {
      min-height: 40px;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 0 13px;
      border: 1px solid rgba(255,255,255,.09);
      border-radius: 13px;
      color: #c4cbc3;
      background: rgba(255,255,255,.035);
      cursor: pointer;
      font: inherit;
      font-size: 11px;
      font-weight: 780;
      transition: transform .2s ease, border-color .2s ease, color .2s ease;
    }
    .footer-v9-social:hover {
      transform: translateY(-2px);
      border-color: rgba(236,94,27,.24);
      color: white;
    }
    .footer-v9-social svg {
      width: 18px;
      height: 18px;
    }

    @media (max-width: 980px) {
      header .nav > .btn-primary {
        display: none;
      }
      .mobile-menu-toggle {
        width: 46px;
        height: 46px;
        display: grid;
        place-content: center;
        gap: 5px;
        margin-left: auto;
        padding: 0;
        border: 1px solid rgba(255,255,255,.12);
        border-radius: 15px;
        color: white;
        background: rgba(255,255,255,.045);
        cursor: pointer;
      }
      .mobile-menu-toggle span {
        display: block;
        width: 19px;
        height: 2px;
        border-radius: 999px;
        background: currentColor;
        transition: transform .2s ease, opacity .2s ease;
      }
      .mobile-menu-layer {
        position: fixed;
        z-index: 120;
        inset: 0;
        display: block;
        visibility: hidden;
        pointer-events: none;
      }
      .mobile-menu-backdrop {
        position: absolute;
        inset: 0;
        width: 100%;
        border: 0;
        opacity: 0;
        background: rgba(0,0,0,.66);
        backdrop-filter: blur(7px);
        transition: opacity .28s ease;
      }
      .mobile-menu-panel {
        position: absolute;
        top: 0;
        right: 0;
        width: min(430px, calc(100% - 26px));
        height: 100%;
        max-height: 100dvh;
        display: flex;
        flex-direction: column;
        padding: 24px;
        overflow-y: auto;
        border-left: 1px solid rgba(255,255,255,.11);
        background:
          radial-gradient(circle at 100% 0%, rgba(236,94,27,.1), transparent 30%),
          radial-gradient(circle at 0% 100%, rgba(90,171,66,.08), transparent 33%),
          #0b0e0c;
        box-shadow: -30px 0 90px rgba(0,0,0,.45);
        transform: translateX(105%);
        transition: transform .3s cubic-bezier(.22,.75,.24,1);
      }
      body.mobile-menu-open {
        overflow: hidden;
      }
      body.mobile-menu-open .mobile-menu-layer {
        visibility: visible;
        pointer-events: auto;
      }
      body.mobile-menu-open .mobile-menu-backdrop {
        opacity: 1;
      }
      body.mobile-menu-open .mobile-menu-panel {
        transform: translateX(0);
      }
      body.mobile-menu-open .mobile-menu-toggle span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
      }
      body.mobile-menu-open .mobile-menu-toggle span:nth-child(2) {
        opacity: 0;
      }
      body.mobile-menu-open .mobile-menu-toggle span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
      }
      .mobile-menu-panel-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        padding-bottom: 19px;
        border-bottom: 1px solid rgba(255,255,255,.08);
      }
      .mobile-menu-panel-head > span {
        color: #8c958b;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: .15em;
        text-transform: uppercase;
      }
      .mobile-menu-close {
        width: 42px;
        height: 42px;
        display: grid;
        place-items: center;
        border: 1px solid rgba(255,255,255,.1);
        border-radius: 14px;
        color: white;
        background: rgba(255,255,255,.045);
        cursor: pointer;
      }
      .mobile-menu-close svg {
        width: 21px;
        height: 21px;
      }
      .mobile-menu-panel nav {
        display: grid;
        margin-top: 20px;
      }
      .mobile-menu-panel nav a {
        display: grid;
        grid-template-columns: 31px 1fr;
        gap: 12px;
        align-items: center;
        padding: 16px 4px;
        border-bottom: 1px solid rgba(255,255,255,.065);
        color: #edf1ec;
        font-size: 17px;
        font-weight: 760;
      }
      .mobile-menu-panel nav a span {
        color: var(--orange);
        font-size: 9px;
        font-weight: 900;
        letter-spacing: .08em;
      }
      .mobile-menu-contact {
        margin-top: 26px;
        padding: 22px;
        border: 1px solid rgba(255,255,255,.09);
        border-radius: 22px;
        background:
          radial-gradient(circle at 100% 0%, rgba(90,171,66,.1), transparent 42%),
          rgba(255,255,255,.03);
      }
      .mobile-menu-contact > span {
        color: var(--green);
        font-size: 9px;
        font-weight: 900;
        letter-spacing: .12em;
        text-transform: uppercase;
      }
      .mobile-menu-contact > strong {
        display: block;
        margin-top: 7px;
        color: white;
        font-size: 24px;
      }
      .mobile-menu-contact > p {
        margin: 8px 0 16px;
        color: #969e95;
        font-size: 11px;
      }
      .mobile-menu-contact > div {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
      }
      .mobile-menu-contact button {
        min-width: 0;
        min-height: 45px;
        padding: 0 10px;
        border-radius: 14px;
        cursor: pointer;
        font: inherit;
        font-size: 11px;
        font-weight: 900;
      }
      .mobile-menu-call {
        border: 0;
        color: #160c08;
        background: var(--orange);
      }
      .mobile-menu-sms {
        border: 1px solid rgba(255,255,255,.12);
        color: white;
        background: rgba(255,255,255,.045);
      }
      .mobile-menu-socials {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        margin-top: auto;
        padding-top: 25px;
      }
      .mobile-menu-socials button {
        min-height: 45px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        border: 1px solid rgba(255,255,255,.08);
        border-radius: 14px;
        color: #bac2b9;
        background: rgba(255,255,255,.03);
        cursor: pointer;
        font: inherit;
        font-size: 11px;
        font-weight: 760;
      }
      .mobile-menu-socials svg {
        width: 18px;
        height: 18px;
      }
    }

    @media (max-width: 420px) {
      .mobile-menu-panel {
        width: 100%;
      }
      .mobile-menu-contact > div,
      .mobile-menu-socials {
        grid-template-columns: 1fr;
      }
    }

    /* V10 — Passe globale */
    :root {
      --header-height: 78px;
      --focus-ring: 0 0 0 3px rgba(236,94,27,.32);
    }

    html {
      scroll-padding-top: calc(var(--header-height) + 18px);
    }

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

    main,
    section,
    .wrap,
    .hero-grid,
    .vehicle-v5-layout,
    .zones-v6-layout,
    .reviews-v7-layout,
    .contact-v8-shell {
      min-width: 0;
    }

    h1, h2, h3, p, blockquote {
      overflow-wrap: anywhere;
    }

    section[id] {
      scroll-margin-top: calc(var(--header-height) + 18px);
    }

    .skip-link {
      position: fixed;
      z-index: 300;
      top: 10px;
      left: 10px;
      padding: 11px 15px;
      border-radius: 12px;
      color: #130b07;
      background: var(--orange);
      font-weight: 900;
      transform: translateY(-150%);
      transition: transform .2s ease;
    }
    .skip-link:focus {
      transform: translateY(0);
    }

    :where(a, button, [tabindex]):focus-visible {
      outline: none;
      box-shadow: var(--focus-ring);
    }

    header {
      transition: min-height .25s ease, background .25s ease, box-shadow .25s ease;
    }
    header.is-scrolled {
      background: rgba(8,10,9,.93);
      box-shadow: 0 16px 44px rgba(0,0,0,.2);
    }
    header.is-scrolled .nav {
      min-height: 68px;
    }

    .brand-mark {
      overflow: hidden;
      padding: 3px;
      background: rgba(255,255,255,.035);
      border: 1px solid rgba(255,255,255,.1);
    }
    .brand-mark img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
    .brand-copy strong {
      letter-spacing: .015em;
    }

    header nav a {
      position: relative;
      padding: 28px 0;
    }
    header nav a::after {
      content: "";
      position: absolute;
      left: 0;
      right: 100%;
      bottom: 20px;
      height: 2px;
      border-radius: 999px;
      background: var(--orange);
      transition: right .22s ease;
    }
    header nav a:hover::after,
    header nav a.is-active::after {
      right: 0;
    }
    header nav a.is-active {
      color: white;
    }

    .btn {
      transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease,
        color .2s ease,
        box-shadow .2s ease;
    }
    .btn:hover {
      transform: translateY(-2px);
    }
    .btn-primary:hover {
      box-shadow: 0 17px 40px rgba(236,94,27,.22);
    }

    .hero-brand-watermark {
      position: absolute;
      z-index: 0;
      right: -58px;
      bottom: -78px;
      width: 310px;
      height: 310px;
      object-fit: contain;
      opacity: .055;
      pointer-events: none;
      transform: rotate(-7deg);
    }
    .hero-visual > *:not(.hero-brand-watermark) {
      position: relative;
      z-index: 1;
    }

    .services-v10-assist {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 26px;
      margin-top: 20px;
      padding: 23px 25px;
      border: 1px solid rgba(255,255,255,.09);
      border-radius: 22px;
      background:
        linear-gradient(110deg, rgba(90,171,66,.075), transparent 38%),
        rgba(255,255,255,.025);
    }
    .services-v10-assist span,
    .services-v10-assist strong {
      display: block;
    }
    .services-v10-assist span {
      color: var(--green);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .11em;
      text-transform: uppercase;
    }
    .services-v10-assist strong {
      margin-top: 4px;
      font-size: 14px;
    }
    .services-v10-assist .btn {
      flex: 0 0 auto;
    }

    .footer-v10-logo-link {
      display: inline-block;
      width: min(214px, 100%);
    }
    .footer-v10-logo {
      width: 100%;
      height: auto;
      filter: drop-shadow(0 14px 28px rgba(0,0,0,.24));
    }
    .mobile-menu-panel-head > span {
      display: flex;
      align-items: center;
      gap: 9px;
    }
    .mobile-menu-brand-mark {
      width: 32px;
      height: 32px;
      object-fit: contain;
    }
    .mobile-menu-panel-head > span strong {
      color: white;
      font-size: 13px;
      letter-spacing: .02em;
      text-transform: none;
    }

    body.js .reveal {
      opacity: 0;
      transform: translateY(24px);
      transition:
        opacity .65s ease var(--reveal-delay, 0ms),
        transform .65s cubic-bezier(.2,.75,.25,1) var(--reveal-delay, 0ms);
    }
    body.js .reveal.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    @media (max-width: 980px) {
      header nav a {
        padding: 0;
      }
      .services-v10-assist {
        align-items: flex-start;
      }
    }

    @media (max-width: 700px) {
      :root {
        --header-height: 70px;
      }
      .demo-bar {
        padding-inline: 12px;
        font-size: 11px;
      }
      .wrap {
        width: min(calc(100% - 24px), var(--max));
      }
      .nav {
        min-height: 70px;
      }
      .brand {
        gap: 9px;
      }
      .brand-mark {
        width: 41px;
        height: 41px;
        border-radius: 13px;
      }
      .brand-copy strong {
        font-size: 17px;
      }
      .brand-copy span {
        margin-top: 4px;
        font-size: 9px;
      }
      .hero-brand-watermark {
        right: -74px;
        bottom: -92px;
        width: 260px;
        height: 260px;
      }
      .services-v10-assist {
        display: grid;
        gap: 16px;
        padding: 20px;
      }
      .services-v10-assist .btn {
        width: 100%;
      }
      .footer-v10-logo-link {
        width: 190px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      html {
        scroll-behavior: auto;
      }
      *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
      }
      body.js .reveal {
        opacity: 1;
        transform: none;
      }
    }

    /* Correctif V10 — le message de démonstration reste totalement masqué avant un clic */
    .toast {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transform: translate(-50%, calc(100% + 150px));
      transition:
        transform .25s ease,
        opacity .2s ease,
        visibility 0s linear .25s;
    }
    .toast.show {
      opacity: 1;
      visibility: visible;
      transform: translate(-50%, 0);
      transition:
        transform .25s ease,
        opacity .2s ease,
        visibility 0s;
    }
    @media (max-width: 700px) {
      .toast {
        border-radius: 18px;
      }
    }

    /* V11 — logo d’en-tête et favicon plus visibles */
    header .brand-mark {
      padding: 0;
      width: 46px;
      height: 46px;
      border-radius: 14px;
      background: rgba(255,255,255,.02);
      border-color: rgba(255,255,255,.07);
      box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
    }
    header .brand-mark img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      transform: scale(1.04);
    }
    .mobile-menu-brand-mark {
      width: 34px;
      height: 34px;
      object-fit: contain;
    }
    @media (max-width: 700px) {
      header .brand-mark {
        width: 42px;
        height: 42px;
        border-radius: 13px;
      }
    }


/* ================================================================
   Production alpha — shared multipage styles
   ================================================================ */
:root { --page-top: 88px; }
body { background: #080a09; }
.demo-bar, .toast { display: none !important; }

.page-hero {
  position: relative;
  padding: 150px 0 92px;
  overflow: hidden;
  background:
    radial-gradient(circle at 85% 20%, rgba(236,94,27,.11), transparent 30%),
    radial-gradient(circle at 10% 90%, rgba(90,171,66,.09), transparent 32%),
    #0b0e0c;
}
.page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.75), transparent);
}
.page-hero .wrap { position: relative; z-index: 1; }
.breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:28px; color:#8f978e; font-size:11px; }
.breadcrumb a { color:#c0c7bf; }
.breadcrumb span { color:#646b64; }
.page-hero-kicker { color:var(--orange); font-size:11px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.page-hero h1 { max-width:900px; margin:13px 0 22px; font-size:clamp(48px,7vw,88px); line-height:.96; letter-spacing:-.058em; }
.page-hero p { max-width:760px; margin:0; color:var(--muted); font-size:18px; }
.page-hero-actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:31px; }

.content-section { padding:96px 0; }
.content-section.alt { background:#0c0f0d; }
.content-head { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); gap:60px; align-items:end; margin-bottom:36px; }
.content-head h2 { max-width:800px; margin:10px 0 0; }
.content-head > p { margin:0 0 6px; color:var(--muted); }
.content-kicker { color:var(--green); font-size:11px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }

.editorial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.editorial-card {
  min-width:0;
  padding:29px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:26px;
  background:
    radial-gradient(circle at 100% 0%,rgba(90,171,66,.07),transparent 35%),
    linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.016));
}
.editorial-card.orange {
  background:
    radial-gradient(circle at 100% 0%,rgba(236,94,27,.09),transparent 36%),
    linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.016));
}
.editorial-card h3 { margin:18px 0 11px; font-size:28px; line-height:1.05; }
.editorial-card p { margin:0; color:var(--muted); font-size:14px; }
.editorial-card ul { display:grid; gap:9px; margin:21px 0 0; padding:0; list-style:none; }
.editorial-card li { position:relative; padding-left:18px; color:#c5cbc4; font-size:12px; }
.editorial-card li::before { content:""; position:absolute; left:0; top:.58em; width:7px; height:7px; border-radius:50%; background:var(--green); }
.editorial-card.orange li::before { background:var(--orange); }

.icon-tile { width:50px; height:50px; display:grid; place-items:center; border:1px solid rgba(90,171,66,.22); border-radius:16px; color:var(--green); background:rgba(90,171,66,.09); }
.icon-tile.orange { color:var(--orange); border-color:rgba(236,94,27,.22); background:rgba(236,94,27,.08); }
.icon-tile svg { width:27px; height:27px; }

.info-band { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:18px; }
.info-band article { padding:22px; border:1px solid rgba(255,255,255,.08); border-radius:20px; background:rgba(255,255,255,.025); }
.info-band strong, .info-band span { display:block; }
.info-band strong { font-size:14px; }
.info-band span { margin-top:5px; color:#959d94; font-size:11px; }

.page-cta { padding:78px 0 100px; }
.page-cta-shell {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:20px;
  padding:48px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:32px;
  background:
    radial-gradient(circle at 100% 0%,rgba(236,94,27,.12),transparent 35%),
    radial-gradient(circle at 0% 100%,rgba(90,171,66,.1),transparent 36%),
    #111411;
}
.page-cta h2 { margin:0; }
.page-cta p { max-width:680px; margin:15px 0 0; color:var(--muted); }
.page-cta-actions { display:grid; gap:10px; align-content:center; }

.faq-list { display:grid; gap:10px; }
.faq-list details { border:1px solid rgba(255,255,255,.08); border-radius:18px; background:rgba(255,255,255,.025); }
.faq-list summary { padding:20px 22px; cursor:pointer; color:white; font-weight:800; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list details p { margin:0; padding:0 22px 21px; color:var(--muted); font-size:13px; }

.local-truth { padding:19px 21px; border-left:4px solid var(--orange); border-radius:0 18px 18px 0; background:rgba(236,94,27,.06); color:#c9cec8; font-size:13px; }

.legal-copy { max-width:900px; }
.legal-copy h2 { margin-top:48px; font-size:31px; }
.legal-copy h3 { margin-top:28px; font-size:21px; }
.legal-copy p, .legal-copy li { color:var(--muted); }
.legal-copy a { color:#f1a173; text-decoration:underline; text-underline-offset:3px; }
.pending-note { padding:18px 20px; border:1px solid rgba(236,94,27,.18); border-radius:16px; background:rgba(236,94,27,.05); color:#d0d4cf; }

.error-page { min-height:72vh; display:grid; place-items:center; padding:140px 0 90px; }
.error-card { max-width:760px; text-align:center; }
.error-code { display:block; color:var(--orange); font-size:clamp(90px,18vw,190px); font-weight:950; line-height:.8; letter-spacing:-.08em; }
.error-card h1 { margin:28px 0 13px; }
.error-card p { color:var(--muted); }

.mobile-menu-contact a,
.mobile-menu-socials a {
  text-decoration:none;
}

@media (max-width:900px) {
  .content-head, .page-cta-shell { grid-template-columns:1fr; }
  .editorial-grid { grid-template-columns:1fr; }
  .info-band { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .page-hero { padding:118px 0 70px; }
  .page-hero h1 { font-size:48px; }
  .page-hero p { font-size:16px; }
  .content-section { padding:76px 0; }
  .content-head { gap:18px; margin-bottom:27px; }
  .content-head h2 { font-size:38px; }
  .editorial-card { padding:23px 20px; }
  .page-cta-shell { padding:29px 21px; border-radius:26px; }
}


/* ================================================================
   Alpha 0.2 — CTA des pages internes aligné sur le design de l’accueil
   ================================================================ */
.btn > svg {
  width: 21px;
  height: 21px;
  flex: 0 0 auto;
}

.page-cta {
  padding: 86px 0 104px;
  background:
    radial-gradient(circle at 7% 100%, rgba(90,171,66,.07), transparent 28%),
    #080a09;
}

.page-cta-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(330px, .72fr);
  gap: 42px;
  align-items: center;
  padding: 54px 58px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 34px;
  background:
    radial-gradient(circle at 100% 0%, rgba(236,94,27,.11), transparent 35%),
    radial-gradient(circle at 0% 100%, rgba(90,171,66,.09), transparent 37%),
    linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.014)),
    #111411;
  box-shadow: 0 32px 90px rgba(0,0,0,.36);
}

.page-cta-shell::after {
  content: "";
  position: absolute;
  width: 240px;
  height: 240px;
  right: -92px;
  bottom: -112px;
  border: 1px solid rgba(236,94,27,.13);
  border-radius: 50%;
  pointer-events: none;
}

.page-cta-copy {
  min-width: 0;
}

.page-cta-kicker {
  display: block;
  margin-bottom: 12px;
  color: var(--orange);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.page-cta h2 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(38px, 4.5vw, 59px);
  line-height: 1;
  letter-spacing: -.048em;
}

.page-cta p {
  max-width: 680px;
  margin: 17px 0 0;
  color: var(--muted);
  font-size: 15px;
}

.page-cta-actions {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 11px;
  align-content: center;
}

.page-cta-actions .btn {
  width: 100%;
  min-width: 0;
  min-height: 68px;
  justify-content: flex-start;
  gap: 14px;
  padding: 0 21px;
  border-radius: 20px;
  white-space: normal;
  text-align: left;
  line-height: 1.25;
}

.page-cta-actions .btn-primary {
  box-shadow: 0 18px 45px rgba(236,94,27,.18);
}

.page-cta-actions .btn-secondary {
  background: rgba(255,255,255,.045);
}

.page-cta-actions .btn > svg {
  width: 24px;
  height: 24px;
}

@media (max-width: 900px) {
  .page-cta-shell {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .page-cta-actions {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 700px) {
  .page-cta {
    padding: 72px 0 88px;
  }

  .page-cta-shell {
    gap: 23px;
    padding: 31px 22px;
    border-radius: 27px;
  }

  .page-cta h2 {
    font-size: 39px;
  }

  .page-cta-actions {
    grid-template-columns: 1fr;
  }

  .page-cta-actions .btn {
    min-height: 60px;
  }
}


/* ================================================================
   Alpha 0.3 — ADS n°1 et communes proches
   ================================================================ */
.communes-block {
  margin-top: 24px;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0%, rgba(90,171,66,.07), transparent 34%),
    rgba(255,255,255,.024);
}

.communes-block-title {
  display: block;
  margin-bottom: 13px;
  color: #aeb6ad;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.communes-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.communes-list span {
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 999px;
  color: #c3cac2;
  background: rgba(255,255,255,.035);
  font-size: 10px;
  font-weight: 700;
}

.communes-block-note {
  margin: 15px 0 0;
  color: #8f978e;
  font-size: 11px;
  line-height: 1.5;
}

@media (max-width: 700px) {
  .communes-block {
    padding: 20px;
    border-radius: 19px;
  }

  .communes-list {
    gap: 7px;
  }

  .communes-list span {
    font-size: 9px;
  }
}


/* ================================================================
   Alpha 0.4 — page Services détaillée
   ================================================================ */
.services-page-hero {
  padding-bottom: 62px;
}

.services-trust-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 34px;
}

.services-trust-strip span {
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 999px;
  color: #9fa69e;
  background: rgba(255,255,255,.032);
  font-size: 10px;
}

.services-trust-strip strong {
  color: white;
}

.services-index-section {
  padding: 58px 0 90px;
  background: #0b0e0c;
}

.services-index-head {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr);
  gap: 54px;
  align-items: end;
  margin-bottom: 28px;
}

.services-index-head h2 {
  margin: 9px 0 0;
}

.services-index-head > p {
  margin: 0 0 5px;
  color: var(--muted);
}

.services-index-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 10px;
}

.services-index-card {
  position: relative;
  min-width: 0;
  min-height: 185px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 19px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 22px;
  color: white;
  background:
    linear-gradient(145deg,rgba(255,255,255,.042),rgba(255,255,255,.014)),
    #111411;
  transition: transform .22s ease,border-color .22s ease,background .22s ease;
}

.services-index-card:hover {
  transform: translateY(-4px);
  border-color: rgba(236,94,27,.24);
  background:
    radial-gradient(circle at 100% 0%,rgba(236,94,27,.075),transparent 38%),
    #111411;
}

.services-index-card-medical {
  border-color: rgba(90,171,66,.22);
  background:
    radial-gradient(circle at 100% 0%,rgba(90,171,66,.11),transparent 40%),
    #111411;
}

.services-index-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  margin-bottom: 23px;
  border: 1px solid rgba(90,171,66,.2);
  border-radius: 15px;
  color: var(--green);
  background: rgba(90,171,66,.075);
}

.services-index-icon.orange {
  color: var(--orange);
  border-color: rgba(236,94,27,.2);
  background: rgba(236,94,27,.07);
}

.services-index-icon svg {
  width: 25px;
  height: 25px;
}

.services-index-card > span:nth-child(2) {
  margin-top: auto;
}

.services-index-card strong,
.services-index-card small {
  display: block;
}

.services-index-card strong {
  font-size: 14px;
  line-height: 1.2;
}

.services-index-card small {
  margin-top: 6px;
  color: #90988f;
  font-size: 10px;
  line-height: 1.45;
}

.services-index-card b {
  position: absolute;
  top: 16px;
  right: 16px;
  padding: 5px 7px;
  border-radius: 999px;
  color: #c3e9b8;
  background: rgba(90,171,66,.08);
  border: 1px solid rgba(90,171,66,.16);
  font-size: 8px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.service-detail-section {
  padding: 105px 0;
}

.service-detail-section.alt {
  background: #0c0f0d;
}

.service-detail-layout {
  display: grid;
  grid-template-columns: minmax(310px,.72fr) minmax(0,1.28fr);
  gap: 48px;
  align-items: center;
}

.service-detail-layout.reverse {
  grid-template-columns: minmax(0,1.16fr) minmax(320px,.84fr);
}

.service-detail-layout.reverse .service-detail-intro {
  order: 2;
}

.service-detail-intro h2 {
  margin: 10px 0 18px;
  font-size: clamp(40px,4.7vw,62px);
  line-height: 1;
  letter-spacing: -.05em;
}

.service-detail-intro > p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 24px;
  color: #f3a274;
  font-size: 12px;
  font-weight: 850;
}

.text-link span {
  transition: transform .2s ease;
}

.text-link:hover span {
  transform: translateX(4px);
}

.service-detail-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
}

.service-detail-card {
  min-width: 0;
  min-height: 390px;
  padding: 30px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 28px;
  background:
    radial-gradient(circle at 100% 0%,rgba(90,171,66,.08),transparent 37%),
    linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.016));
}

.service-detail-card.orange {
  background:
    radial-gradient(circle at 100% 0%,rgba(236,94,27,.09),transparent 37%),
    linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.016));
}

.service-detail-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(90,171,66,.21);
  border-radius: 17px;
  color: var(--green);
  background: rgba(90,171,66,.075);
}

.service-detail-card.orange .service-detail-icon {
  color: var(--orange);
  border-color: rgba(236,94,27,.21);
  background: rgba(236,94,27,.075);
}

.service-detail-icon svg {
  width: 28px;
  height: 28px;
}

.service-detail-card h3 {
  margin: 31px 0 12px;
  font-size: 29px;
  line-height: 1.05;
}

.service-detail-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.service-detail-card ul {
  display: grid;
  gap: 10px;
  margin: 25px 0 0;
  padding: 0;
  list-style: none;
}

.service-detail-card li {
  position: relative;
  padding-left: 17px;
  color: #c4cac3;
  font-size: 11px;
}

.service-detail-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--green);
}

.service-detail-card.orange li::before {
  background: var(--orange);
}

.service-facts {
  display: grid;
  gap: 10px;
  margin-top: 28px;
}

.service-facts span {
  padding: 13px 15px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 15px;
  color: #9ca49b;
  background: rgba(255,255,255,.025);
  font-size: 11px;
}

.service-facts strong {
  display: block;
  margin-bottom: 3px;
  color: white;
  font-size: 12px;
}

.distance-panel {
  display: grid;
  gap: 12px;
}

.distance-panel article {
  display: grid;
  grid-template-columns: 51px 1fr;
  gap: 17px;
  align-items: start;
  padding: 23px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 21px;
  background:
    linear-gradient(110deg,rgba(236,94,27,.055),transparent 39%),
    rgba(255,255,255,.024);
}

.distance-panel article > span {
  width: 51px;
  height: 51px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #160c08;
  background: var(--orange);
  font-size: 11px;
  font-weight: 950;
}

.distance-panel strong {
  display: block;
  font-size: 17px;
}

.distance-panel p {
  margin: 6px 0 0;
  color: #959d94;
  font-size: 12px;
}

.service-split-section {
  padding: 105px 0;
  background: #090b0a;
}

.service-split-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.service-split-card {
  position: relative;
  min-height: 500px;
  padding: 39px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 31px;
}

.service-split-card::after {
  content: "";
  position: absolute;
  width: 290px;
  height: 290px;
  right: -125px;
  bottom: -135px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 50%;
}

.service-split-card.professional {
  background:
    radial-gradient(circle at 100% 0%,rgba(90,171,66,.12),transparent 38%),
    linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.016)),
    #111411;
}

.service-split-card.event {
  background:
    radial-gradient(circle at 100% 0%,rgba(236,94,27,.12),transparent 38%),
    linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.016)),
    #111411;
}

.service-split-icon {
  width: 57px;
  height: 57px;
  display: grid;
  place-items: center;
  margin-bottom: 65px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  color: white;
  background: rgba(255,255,255,.045);
}

.service-split-icon svg {
  width: 30px;
  height: 30px;
}

.service-split-card h2 {
  max-width: 530px;
  margin: 11px 0 17px;
  font-size: clamp(38px,4vw,54px);
  line-height: 1;
  letter-spacing: -.048em;
}

.service-split-card > p {
  max-width: 590px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.service-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 31px;
}

.service-tag-list span {
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 999px;
  color: #bdc4bc;
  background: rgba(255,255,255,.035);
  font-size: 10px;
  font-weight: 700;
}

.practical-section {
  padding: 105px 0;
  background: #0c0f0d;
}

.practical-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 11px;
}

.practical-grid article {
  min-width: 0;
  min-height: 260px;
  padding: 23px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 22px;
  background: rgba(255,255,255,.024);
}

.practical-icon {
  width: 47px;
  height: 47px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(90,171,66,.18);
  border-radius: 15px;
  color: var(--green);
  background: rgba(90,171,66,.065);
}

.practical-icon svg {
  width: 25px;
  height: 25px;
}

.practical-grid h3 {
  margin: 34px 0 10px;
  font-size: 21px;
  line-height: 1.08;
}

.practical-grid p {
  margin: 0;
  color: #939b92;
  font-size: 11px;
  line-height: 1.55;
}

.service-zone-section {
  padding: 100px 0;
}

.service-zone-shell {
  display: grid;
  grid-template-columns: minmax(300px,.78fr) minmax(0,1.22fr);
  gap: 45px;
  align-items: center;
  padding: 43px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 31px;
  background:
    radial-gradient(circle at 0% 100%,rgba(90,171,66,.09),transparent 38%),
    radial-gradient(circle at 100% 0%,rgba(236,94,27,.08),transparent 35%),
    #111411;
}

.service-zone-copy h2 {
  margin: 10px 0 17px;
  font-size: clamp(38px,4.2vw,55px);
  line-height: 1;
  letter-spacing: -.048em;
}

.service-zone-copy p {
  margin: 0 0 25px;
  color: var(--muted);
  font-size: 13px;
}

.service-zone-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.service-zone-list span {
  padding: 9px 11px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 999px;
  color: #c2c9c1;
  background: rgba(255,255,255,.035);
  font-size: 10px;
  font-weight: 700;
}

.service-faq-section {
  padding: 105px 0;
  background: #0c0f0d;
}

@media (max-width: 1120px) {
  .services-index-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }

  .practical-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 900px) {
  .services-index-head,
  .service-detail-layout,
  .service-detail-layout.reverse,
  .service-zone-shell {
    grid-template-columns: 1fr;
  }

  .service-detail-layout.reverse .service-detail-intro {
    order: initial;
  }

  .service-split-grid {
    grid-template-columns: 1fr;
  }

  .service-split-card {
    min-height: 430px;
  }
}

@media (max-width: 700px) {
  .services-index-section,
  .service-detail-section,
  .service-split-section,
  .practical-section,
  .service-zone-section,
  .service-faq-section {
    padding: 76px 0;
  }

  .services-index-head {
    grid-template-columns: 1fr;
    gap: 17px;
  }

  .services-index-grid,
  .service-detail-cards,
  .practical-grid {
    grid-template-columns: 1fr;
  }

  .services-index-card {
    min-height: 150px;
  }

  .service-detail-layout {
    gap: 30px;
  }

  .service-detail-intro h2 {
    font-size: 40px;
  }

  .service-detail-card {
    min-height: auto;
    padding: 25px 21px;
  }

  .service-split-card {
    min-height: auto;
    padding: 29px 22px 34px;
    border-radius: 26px;
  }

  .service-split-icon {
    margin-bottom: 46px;
  }

  .service-split-card h2 {
    font-size: 39px;
  }

  .practical-grid article {
    min-height: 215px;
  }

  .service-zone-shell {
    gap: 28px;
    padding: 29px 22px;
    border-radius: 26px;
  }

  .services-trust-strip {
    display: grid;
  }
}


/* ================================================================
   Alpha 0.5 — page Taxi conventionné détaillée
   ================================================================ */
.medical-page-hero {
  padding-bottom: 62px;
}

.medical-trust-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 34px;
}

.medical-trust-strip span {
  padding: 9px 12px;
  border: 1px solid rgba(90,171,66,.17);
  border-radius: 999px;
  color: #a9b3a7;
  background: rgba(90,171,66,.045);
  font-size: 10px;
}

.medical-trust-strip strong {
  color: #cef0c5;
}

.medical-intro-section {
  padding: 105px 0;
  background: #0b0e0c;
}

.medical-intro-layout {
  display: grid;
  grid-template-columns: minmax(300px,.73fr) minmax(0,1.27fr);
  gap: 46px;
  align-items: center;
}

.medical-intro-copy h2 {
  margin: 10px 0 18px;
  font-size: clamp(40px,4.8vw,63px);
  line-height: 1;
  letter-spacing: -.052em;
}

.medical-intro-copy > p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
}

.medical-values {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 27px;
}

.medical-values span {
  padding: 8px 10px;
  border: 1px solid rgba(90,171,66,.16);
  border-radius: 999px;
  color: #bddab5;
  background: rgba(90,171,66,.055);
  font-size: 10px;
  font-weight: 750;
}

.medical-cases-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.medical-case-card {
  min-width: 0;
  min-height: 265px;
  padding: 25px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%,rgba(90,171,66,.08),transparent 38%),
    rgba(255,255,255,.025);
}

.medical-case-card.orange {
  background:
    radial-gradient(circle at 100% 0%,rgba(236,94,27,.08),transparent 38%),
    rgba(255,255,255,.025);
}

.medical-case-icon {
  width: 47px;
  height: 47px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(90,171,66,.2);
  border-radius: 15px;
  color: var(--green);
  background: rgba(90,171,66,.075);
}

.medical-case-card.orange .medical-case-icon {
  color: var(--orange);
  border-color: rgba(236,94,27,.2);
  background: rgba(236,94,27,.07);
}

.medical-case-icon svg {
  width: 26px;
  height: 26px;
}

.medical-case-card h3 {
  margin: 30px 0 10px;
  font-size: 23px;
  line-height: 1.06;
}

.medical-case-card p {
  margin: 0;
  color: #969e95;
  font-size: 11px;
  line-height: 1.55;
}

.medical-steps-section {
  padding: 105px 0;
}

.medical-steps {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 13px;
}

.medical-steps article {
  position: relative;
  min-width: 0;
  min-height: 365px;
  padding: 28px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 27px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.014)),
    #111411;
}

.medical-step-number {
  position: absolute;
  top: 22px;
  right: 23px;
  color: rgba(255,255,255,.11);
  font-size: 35px;
  font-weight: 950;
  letter-spacing: -.04em;
}

.medical-step-icon {
  width: 53px;
  height: 53px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(90,171,66,.2);
  border-radius: 17px;
  color: var(--green);
  background: rgba(90,171,66,.075);
}

.medical-step-icon svg {
  width: 28px;
  height: 28px;
}

.medical-steps h3 {
  margin: 72px 0 12px;
  font-size: 27px;
  line-height: 1.05;
}

.medical-steps p {
  margin: 0;
  color: #969e95;
  font-size: 12px;
  line-height: 1.6;
}

.medical-documents-section {
  padding: 105px 0;
  background: #0c0f0d;
}

.medical-documents-shell {
  display: grid;
  grid-template-columns: minmax(300px,.84fr) minmax(0,1.16fr);
  gap: 42px;
  align-items: center;
  padding: 44px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 31px;
  background:
    radial-gradient(circle at 0% 100%,rgba(90,171,66,.09),transparent 38%),
    radial-gradient(circle at 100% 0%,rgba(236,94,27,.07),transparent 34%),
    #111411;
}

.medical-documents-copy h2 {
  margin: 10px 0 18px;
  font-size: clamp(39px,4.4vw,57px);
  line-height: 1;
  letter-spacing: -.05em;
}

.medical-documents-copy > p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.medical-warning {
  margin-top: 25px;
  padding: 16px 17px;
  border-left: 3px solid var(--orange);
  border-radius: 0 15px 15px 0;
  color: #c7cdc6;
  background: rgba(236,94,27,.055);
  font-size: 11px;
  line-height: 1.55;
}

.medical-documents-list {
  display: grid;
  gap: 11px;
}

.medical-documents-list article {
  display: grid;
  grid-template-columns: 49px 1fr;
  gap: 15px;
  align-items: start;
  padding: 20px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 19px;
  background: rgba(255,255,255,.026);
}

.medical-documents-list article > span {
  width: 49px;
  height: 49px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: var(--green);
  background: rgba(90,171,66,.075);
  border: 1px solid rgba(90,171,66,.18);
}

.medical-documents-list svg {
  width: 26px;
  height: 26px;
}

.medical-documents-list strong {
  display: block;
  font-size: 14px;
}

.medical-documents-list p {
  margin: 6px 0 0;
  color: #929a91;
  font-size: 11px;
  line-height: 1.5;
}

.medical-payment-section {
  padding: 105px 0;
}

.medical-payment-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.medical-payment-card {
  min-height: 460px;
  padding: 38px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 31px;
}

.medical-payment-card.green {
  background:
    radial-gradient(circle at 100% 0%,rgba(90,171,66,.14),transparent 40%),
    linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.014)),
    #111411;
}

.medical-payment-card.orange {
  background:
    radial-gradient(circle at 100% 0%,rgba(236,94,27,.14),transparent 40%),
    linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.014)),
    #111411;
}

.medical-payment-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin-bottom: 70px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  color: white;
  background: rgba(255,255,255,.045);
}

.medical-payment-icon svg {
  width: 31px;
  height: 31px;
}

.medical-payment-card h2 {
  margin: 11px 0 17px;
  font-size: clamp(38px,4vw,53px);
  line-height: 1;
  letter-spacing: -.048em;
}

.medical-payment-card p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.medical-comfort-section {
  padding: 105px 0;
  background: #0c0f0d;
}

.medical-comfort-layout {
  display: grid;
  grid-template-columns: minmax(310px,.74fr) minmax(0,1.26fr);
  gap: 46px;
  align-items: center;
}

.medical-comfort-copy h2 {
  margin: 10px 0 18px;
  font-size: clamp(39px,4.6vw,59px);
  line-height: 1;
  letter-spacing: -.05em;
}

.medical-comfort-copy p {
  margin: 0 0 25px;
  color: var(--muted);
  font-size: 14px;
}

.medical-comfort-cards {
  display: grid;
  gap: 11px;
}

.medical-comfort-cards article {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 17px;
  align-items: start;
  padding: 23px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 21px;
  background: rgba(255,255,255,.025);
}

.medical-comfort-cards article > span {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(90,171,66,.18);
  border-radius: 17px;
  color: var(--green);
  background: rgba(90,171,66,.065);
}

.medical-comfort-cards svg {
  width: 28px;
  height: 28px;
}

.medical-comfort-cards strong {
  display: block;
  font-size: 16px;
}

.medical-comfort-cards p {
  margin: 6px 0 0;
  color: #929a91;
  font-size: 11px;
  line-height: 1.5;
}

.medical-zone-section {
  padding: 100px 0;
}

.medical-zone-shell {
  display: grid;
  grid-template-columns: minmax(310px,.77fr) minmax(0,1.23fr);
  gap: 42px;
  align-items: center;
  padding: 43px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 31px;
  background:
    radial-gradient(circle at 0% 100%,rgba(90,171,66,.09),transparent 38%),
    radial-gradient(circle at 100% 0%,rgba(236,94,27,.08),transparent 35%),
    #111411;
}

.medical-zone-copy h2 {
  margin: 10px 0 17px;
  font-size: clamp(38px,4.2vw,54px);
  line-height: 1;
  letter-spacing: -.048em;
}

.medical-zone-copy p {
  margin: 0 0 25px;
  color: var(--muted);
  font-size: 13px;
}

.medical-zone-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.medical-zone-list span {
  padding: 9px 11px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 999px;
  color: #c2c9c1;
  background: rgba(255,255,255,.035);
  font-size: 10px;
  font-weight: 700;
}

.medical-faq-section {
  padding: 105px 0;
  background: #0c0f0d;
}

@media (max-width: 900px) {
  .medical-intro-layout,
  .medical-documents-shell,
  .medical-comfort-layout,
  .medical-zone-shell {
    grid-template-columns: 1fr;
  }

  .medical-steps,
  .medical-payment-grid {
    grid-template-columns: 1fr;
  }

  .medical-payment-card {
    min-height: 400px;
  }
}

@media (max-width: 700px) {
  .medical-intro-section,
  .medical-steps-section,
  .medical-documents-section,
  .medical-payment-section,
  .medical-comfort-section,
  .medical-zone-section,
  .medical-faq-section {
    padding: 76px 0;
  }

  .medical-intro-copy h2,
  .medical-documents-copy h2,
  .medical-comfort-copy h2,
  .medical-zone-copy h2 {
    font-size: 40px;
  }

  .medical-cases-grid {
    grid-template-columns: 1fr;
  }

  .medical-case-card {
    min-height: 225px;
  }

  .medical-steps article {
    min-height: 320px;
    padding: 25px 21px;
  }

  .medical-documents-shell,
  .medical-zone-shell {
    gap: 28px;
    padding: 29px 22px;
    border-radius: 26px;
  }

  .medical-payment-card {
    min-height: auto;
    padding: 29px 22px 35px;
    border-radius: 26px;
  }

  .medical-payment-icon {
    margin-bottom: 53px;
  }

  .medical-payment-card h2 {
    font-size: 39px;
  }

  .medical-comfort-layout {
    gap: 30px;
  }

  .medical-trust-strip {
    display: grid;
  }
}


/* ================================================================
   Alpha 0.6 — page Réservation & contact
   ================================================================ */
.reservation-page-hero {
  padding-bottom: 62px;
}

.reservation-trust-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 34px;
}

.reservation-trust-strip span {
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 999px;
  color: #9fa69e;
  background: rgba(255,255,255,.032);
  font-size: 10px;
}

.reservation-trust-strip strong {
  color: white;
}

.reservation-contact-section {
  padding: 105px 0;
  background: #0b0e0c;
}

.reservation-contact-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
}

.reservation-contact-card {
  min-width: 0;
  min-height: 440px;
  display: flex;
  flex-direction: column;
  padding: 30px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 28px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.016)),
    #111411;
}

.reservation-contact-card.phone {
  background:
    radial-gradient(circle at 100% 0%,rgba(236,94,27,.12),transparent 38%),
    linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.016)),
    #111411;
}

.reservation-contact-card.sms {
  background:
    radial-gradient(circle at 100% 0%,rgba(90,171,66,.11),transparent 38%),
    linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.016)),
    #111411;
}

.reservation-contact-icon {
  width: 55px;
  height: 55px;
  display: grid;
  place-items: center;
  margin-bottom: 64px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  color: white;
  background: rgba(255,255,255,.045);
}

.reservation-contact-icon svg {
  width: 29px;
  height: 29px;
}

.reservation-contact-card h3 {
  margin: 10px 0 14px;
  font-size: 35px;
  line-height: 1;
  letter-spacing: -.04em;
}

.reservation-contact-card p {
  margin: 0 0 28px;
  color: var(--muted);
  font-size: 13px;
}

.reservation-contact-card .btn,
.reservation-mail-link {
  margin-top: auto;
}

.reservation-contact-card small {
  display: block;
  margin-top: 14px;
  color: #7f877f;
  font-size: 9px;
  line-height: 1.45;
}

.reservation-mail-link {
  display: inline-flex;
  align-items: center;
  min-height: 53px;
  padding: 0 16px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 16px;
  color: white;
  background: rgba(255,255,255,.045);
  font-size: 12px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.reservation-info-section {
  padding: 105px 0;
}

.reservation-info-layout {
  display: grid;
  grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr);
  gap: 46px;
  align-items: center;
}

.reservation-info-copy h2 {
  margin: 10px 0 18px;
  font-size: clamp(40px,4.8vw,62px);
  line-height: 1;
  letter-spacing: -.052em;
}

.reservation-info-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
}

.reservation-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 11px;
}

.reservation-info-grid article {
  display: grid;
  grid-template-columns: 49px 1fr;
  gap: 15px;
  align-items: start;
  min-width: 0;
  padding: 20px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 19px;
  background: rgba(255,255,255,.026);
}

.reservation-info-grid article > span {
  width: 49px;
  height: 49px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(90,171,66,.18);
  border-radius: 15px;
  color: var(--green);
  background: rgba(90,171,66,.065);
}

.reservation-info-grid svg {
  width: 26px;
  height: 26px;
}

.reservation-info-grid strong {
  display: block;
  font-size: 14px;
}

.reservation-info-grid p {
  margin: 6px 0 0;
  color: #929a91;
  font-size: 10px;
  line-height: 1.5;
}

.reservation-process-section {
  padding: 105px 0;
  background: #0c0f0d;
}

.reservation-process {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 13px;
}

.reservation-process article {
  position: relative;
  min-width: 0;
  min-height: 345px;
  padding: 28px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 27px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.014)),
    #111411;
}

.reservation-process-number {
  position: absolute;
  top: 22px;
  right: 23px;
  color: rgba(255,255,255,.11);
  font-size: 35px;
  font-weight: 950;
  letter-spacing: -.04em;
}

.reservation-process-icon {
  width: 53px;
  height: 53px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(236,94,27,.2);
  border-radius: 17px;
  color: var(--orange);
  background: rgba(236,94,27,.07);
}

.reservation-process-icon svg {
  width: 28px;
  height: 28px;
}

.reservation-process h3 {
  margin: 70px 0 12px;
  font-size: 27px;
  line-height: 1.05;
}

.reservation-process p {
  margin: 0;
  color: #969e95;
  font-size: 12px;
  line-height: 1.6;
}

.reservation-hours-section {
  padding: 105px 0;
}

.reservation-hours-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.reservation-hours-card {
  min-height: 440px;
  padding: 38px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 31px;
}

.reservation-hours-card.green {
  background:
    radial-gradient(circle at 100% 0%,rgba(90,171,66,.14),transparent 40%),
    linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.014)),
    #111411;
}

.reservation-hours-card.orange {
  background:
    radial-gradient(circle at 100% 0%,rgba(236,94,27,.14),transparent 40%),
    linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.014)),
    #111411;
}

.reservation-hours-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin-bottom: 70px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  color: white;
  background: rgba(255,255,255,.045);
}

.reservation-hours-icon svg {
  width: 31px;
  height: 31px;
}

.reservation-hours-card h2 {
  margin: 11px 0 17px;
  font-size: clamp(38px,4vw,53px);
  line-height: 1;
  letter-spacing: -.048em;
}

.reservation-hours-card p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.reservation-conditions-section {
  padding: 105px 0;
  background: #0c0f0d;
}

.reservation-conditions-shell {
  display: grid;
  grid-template-columns: minmax(300px,.82fr) minmax(0,1.18fr);
  gap: 42px;
  align-items: center;
  padding: 44px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 31px;
  background:
    radial-gradient(circle at 0% 100%,rgba(90,171,66,.08),transparent 37%),
    radial-gradient(circle at 100% 0%,rgba(236,94,27,.075),transparent 35%),
    #111411;
}

.reservation-conditions-copy h2 {
  margin: 10px 0 18px;
  font-size: clamp(39px,4.4vw,57px);
  line-height: 1;
  letter-spacing: -.05em;
}

.reservation-conditions-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.reservation-conditions-list {
  display: grid;
  gap: 11px;
}

.reservation-conditions-list article {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 15px;
  align-items: start;
  padding: 21px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 19px;
  background: rgba(255,255,255,.026);
}

.reservation-conditions-list article.warning {
  border-color: rgba(236,94,27,.17);
  background: rgba(236,94,27,.045);
}

.reservation-conditions-list article > span {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(90,171,66,.18);
  border-radius: 15px;
  color: var(--green);
  background: rgba(90,171,66,.065);
}

.reservation-conditions-list article.warning > span {
  color: var(--orange);
  border-color: rgba(236,94,27,.2);
  background: rgba(236,94,27,.07);
}

.reservation-conditions-list svg {
  width: 27px;
  height: 27px;
}

.reservation-conditions-list strong {
  display: block;
  font-size: 14px;
}

.reservation-conditions-list p {
  margin: 6px 0 0;
  color: #929a91;
  font-size: 11px;
  line-height: 1.5;
}

.reservation-payment-section {
  padding: 105px 0;
}

.reservation-payment-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 11px;
}

.reservation-payment-grid article {
  min-width: 0;
  min-height: 150px;
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 14px;
  align-items: center;
  padding: 21px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  background: rgba(255,255,255,.025);
}

.reservation-payment-grid article > span {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(90,171,66,.18);
  border-radius: 14px;
  color: var(--green);
  background: rgba(90,171,66,.065);
}

.reservation-payment-grid svg {
  width: 25px;
  height: 25px;
}

.reservation-payment-grid strong {
  font-size: 13px;
  line-height: 1.25;
}

.reservation-faq-section {
  padding: 105px 0;
  background: #0c0f0d;
}

@media (max-width: 900px) {
  .reservation-contact-grid,
  .reservation-process,
  .reservation-hours-grid,
  .reservation-payment-grid {
    grid-template-columns: 1fr;
  }

  .reservation-info-layout,
  .reservation-conditions-shell {
    grid-template-columns: 1fr;
  }

  .reservation-contact-card {
    min-height: 390px;
  }
}

@media (max-width: 700px) {
  .reservation-contact-section,
  .reservation-info-section,
  .reservation-process-section,
  .reservation-hours-section,
  .reservation-conditions-section,
  .reservation-payment-section,
  .reservation-faq-section {
    padding: 76px 0;
  }

  .reservation-contact-card {
    min-height: auto;
    padding: 27px 22px 31px;
    border-radius: 25px;
  }

  .reservation-contact-icon {
    margin-bottom: 48px;
  }

  .reservation-info-layout {
    gap: 30px;
  }

  .reservation-info-copy h2,
  .reservation-conditions-copy h2 {
    font-size: 40px;
  }

  .reservation-info-grid {
    grid-template-columns: 1fr;
  }

  .reservation-process article {
    min-height: 315px;
    padding: 25px 21px;
  }

  .reservation-hours-card {
    min-height: auto;
    padding: 29px 22px 35px;
    border-radius: 26px;
  }

  .reservation-hours-icon {
    margin-bottom: 53px;
  }

  .reservation-hours-card h2 {
    font-size: 39px;
  }

  .reservation-conditions-shell {
    gap: 28px;
    padding: 29px 22px;
    border-radius: 26px;
  }

  .reservation-trust-strip {
    display: grid;
  }
}

/* Alpha 0.7 — page locale Taxi Royan */
.local-page-hero{padding-bottom:62px}.local-trust-strip{display:flex;flex-wrap:wrap;gap:9px;margin-top:34px}.local-trust-strip span{padding:9px 12px;border:1px solid rgba(255,255,255,.09);border-radius:999px;color:#a4aba3;background:rgba(255,255,255,.032);font-size:10px}.local-trust-strip strong{color:#fff}.local-warning-section{padding:58px 0;background:#0b0e0c}.local-warning-shell{display:grid;grid-template-columns:72px 1fr;gap:24px;align-items:start;padding:30px;border:1px solid rgba(236,94,27,.2);border-radius:26px;background:radial-gradient(circle at 100% 0%,rgba(236,94,27,.09),transparent 35%),rgba(236,94,27,.04)}.local-warning-icon{width:72px;height:72px;display:grid;place-items:center;border:1px solid rgba(236,94,27,.22);border-radius:21px;color:var(--orange);background:rgba(236,94,27,.075)}.local-warning-icon svg{width:38px;height:38px}.local-warning-shell h2{margin:9px 0 12px;font-size:clamp(34px,4vw,51px);line-height:1;letter-spacing:-.048em}.local-warning-shell p{margin:0;color:#c4cac3;font-size:13px}.local-services-section{padding:105px 0}.local-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.local-services-grid article{min-width:0;min-height:270px;padding:25px;border:1px solid rgba(255,255,255,.085);border-radius:24px;background:radial-gradient(circle at 100% 0%,rgba(90,171,66,.075),transparent 37%),rgba(255,255,255,.025)}.local-services-grid article.orange{background:radial-gradient(circle at 100% 0%,rgba(236,94,27,.08),transparent 37%),rgba(255,255,255,.025)}.local-service-icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(90,171,66,.18);border-radius:15px;color:var(--green);background:rgba(90,171,66,.065)}.local-services-grid article.orange .local-service-icon{color:var(--orange);border-color:rgba(236,94,27,.19);background:rgba(236,94,27,.065)}.local-service-icon svg{width:26px;height:26px}.local-services-grid h3{margin:33px 0 10px;font-size:23px;line-height:1.05}.local-services-grid p{margin:0;color:#969e95;font-size:11px;line-height:1.55}.local-booking-section{padding:105px 0;background:#0c0f0d}.local-booking-layout{display:grid;grid-template-columns:minmax(300px,.76fr) minmax(0,1.24fr);gap:46px;align-items:center}.local-booking-copy h2{margin:10px 0 18px;font-size:clamp(40px,4.8vw,61px);line-height:1;letter-spacing:-.052em}.local-booking-copy>p{margin:0;color:var(--muted);font-size:14px}.local-booking-facts{display:grid;gap:10px;margin-top:27px}.local-booking-facts span{padding:13px 15px;border:1px solid rgba(255,255,255,.075);border-radius:15px;color:#969e95;background:rgba(255,255,255,.025);font-size:11px}.local-booking-facts strong{display:block;margin-bottom:3px;color:#fff;font-size:12px}.local-booking-steps{display:grid;gap:12px}.local-booking-steps article{display:grid;grid-template-columns:52px 1fr;gap:17px;align-items:start;padding:23px;border:1px solid rgba(255,255,255,.085);border-radius:21px;background:linear-gradient(110deg,rgba(236,94,27,.055),transparent 39%),rgba(255,255,255,.024)}.local-booking-steps article>span{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;color:#170d09;background:var(--orange);font-size:11px;font-weight:950}.local-booking-steps strong{display:block;font-size:17px}.local-booking-steps p{margin:6px 0 0;color:#959d94;font-size:12px}.local-nearby-section{padding:100px 0}.local-nearby-shell{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:42px;align-items:center;padding:43px;border:1px solid rgba(255,255,255,.1);border-radius:31px;background:radial-gradient(circle at 0% 100%,rgba(90,171,66,.09),transparent 38%),radial-gradient(circle at 100% 0%,rgba(236,94,27,.08),transparent 35%),#111411}.local-nearby-copy h2{margin:10px 0 17px;font-size:clamp(38px,4.2vw,54px);line-height:1;letter-spacing:-.048em}.local-nearby-copy p{margin:0;color:var(--muted);font-size:13px}.local-nearby-list{display:flex;flex-wrap:wrap;gap:8px}.local-nearby-list span{padding:9px 11px;border:1px solid rgba(255,255,255,.075);border-radius:999px;color:#c2c9c1;background:rgba(255,255,255,.035);font-size:10px;font-weight:700}.local-scenarios-section{padding:105px 0;background:#0c0f0d}.local-scenarios-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.local-scenarios-grid article{display:grid;grid-template-columns:54px 1fr;gap:17px;align-items:start;padding:24px;border:1px solid rgba(255,255,255,.085);border-radius:21px;background:rgba(255,255,255,.025)}.local-scenarios-grid article>span{width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(90,171,66,.18);border-radius:17px;color:var(--green);background:rgba(90,171,66,.065)}.local-scenarios-grid svg{width:28px;height:28px}.local-scenarios-grid strong{display:block;font-size:16px}.local-scenarios-grid p{margin:6px 0 0;color:#929a91;font-size:11px;line-height:1.5}.local-faq-section{padding:105px 0}.local-page-cta .page-cta-shell{border-color:rgba(236,94,27,.16)}
@media(max-width:900px){.local-services-grid{grid-template-columns:1fr 1fr}.local-booking-layout,.local-nearby-shell{grid-template-columns:1fr}}
@media(max-width:700px){.local-warning-section,.local-services-section,.local-booking-section,.local-nearby-section,.local-scenarios-section,.local-faq-section{padding:76px 0}.local-warning-shell{grid-template-columns:1fr;padding:24px 21px;border-radius:23px}.local-warning-shell h2,.local-booking-copy h2,.local-nearby-copy h2{font-size:40px}.local-services-grid,.local-scenarios-grid{grid-template-columns:1fr}.local-services-grid article{min-height:235px}.local-booking-layout{gap:30px}.local-nearby-shell{gap:28px;padding:29px 22px;border-radius:26px}.local-trust-strip{display:grid}}


/* ================================================================
   Alpha 0.8 — page locale Taxi La Tremblade
   ================================================================ */
.tremblade-page-hero {
  background:
    radial-gradient(circle at 86% 18%, rgba(90,171,66,.11), transparent 31%),
    radial-gradient(circle at 10% 91%, rgba(236,94,27,.08), transparent 31%),
    #0b0e0c;
}

.tremblade-page-hero .page-hero-kicker {
  color: var(--green);
}


/* Alpha 0.9 — siège social Chaillevette / ADS n°1 Saujon */
.zones-seat-note{margin-top:16px;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;color:#aeb6ad;background:rgba(255,255,255,.03);font-size:10px;font-weight:800}
.chaillevette-page-hero{background:radial-gradient(circle at 86% 18%,rgba(236,94,27,.1),transparent 31%),radial-gradient(circle at 10% 91%,rgba(90,171,66,.09),transparent 31%),#0b0e0c}
.chaillevette-warning-shell{border-color:rgba(236,94,27,.23)}
.chaillevette-identity-section{padding:105px 0;background:#0c0f0d}
.chaillevette-identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.chaillevette-identity-card{min-height:430px;padding:36px;border:1px solid rgba(90,171,66,.16);border-radius:30px;background:radial-gradient(circle at 100% 0%,rgba(90,171,66,.13),transparent 40%),linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.014)),#111411}
.chaillevette-identity-card.orange{border-color:rgba(236,94,27,.17);background:radial-gradient(circle at 100% 0%,rgba(236,94,27,.14),transparent 40%),linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.014)),#111411}
.chaillevette-identity-card>span{width:58px;height:58px;display:grid;place-items:center;margin-bottom:68px;border:1px solid rgba(255,255,255,.1);border-radius:18px;color:white;background:rgba(255,255,255,.045)}
.chaillevette-identity-card svg{width:31px;height:31px}
.chaillevette-identity-card h2{margin:11px 0 17px;font-size:clamp(38px,4vw,53px);line-height:1;letter-spacing:-.048em}
.chaillevette-identity-card p{margin:0;color:var(--muted);font-size:14px}
@media(max-width:900px){.chaillevette-identity-grid{grid-template-columns:1fr}}
@media(max-width:700px){.chaillevette-identity-section{padding:76px 0}.chaillevette-identity-card{min-height:auto;padding:29px 22px 35px;border-radius:26px}.chaillevette-identity-card>span{margin-bottom:52px}.chaillevette-identity-card h2{font-size:39px}}


/* ================================================================
   Alpha 0.10 — pages légales, confidentialité et 404
   ================================================================ */
.legal-page-hero,.privacy-page-hero{padding-bottom:68px}
.legal-status-banner{max-width:850px;margin-top:30px;padding:15px 17px;border:1px solid rgba(236,94,27,.18);border-radius:16px;color:#bbc2ba;background:rgba(236,94,27,.05);font-size:11px;line-height:1.55}
.legal-status-banner strong{color:#f1a174}
.legal-section{padding:100px 0;background:#0b0e0c}
.legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.legal-card{min-width:0;padding:31px;border:1px solid rgba(255,255,255,.085);border-radius:27px;background:linear-gradient(145deg,rgba(255,255,255,.043),rgba(255,255,255,.014)),#111411}
.legal-card-primary{background:radial-gradient(circle at 100% 0%,rgba(90,171,66,.11),transparent 39%),#111411}
.legal-card-wide{grid-column:1/-1}
.legal-icon{width:55px;height:55px;display:grid;place-items:center;margin-bottom:45px;border:1px solid rgba(90,171,66,.19);border-radius:18px;color:var(--green);background:rgba(90,171,66,.07)}
.legal-icon.orange{color:var(--orange);border-color:rgba(236,94,27,.2);background:rgba(236,94,27,.07)}
.legal-icon svg{width:29px;height:29px}
.legal-card h2{margin:10px 0 22px;font-size:clamp(34px,3.5vw,48px);line-height:1;letter-spacing:-.045em}
.legal-card p{color:var(--muted);font-size:13px}
.legal-data-list{display:grid;gap:0;margin:0}
.legal-data-list>div{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(0,1.3fr);gap:18px;padding:13px 0;border-top:1px solid rgba(255,255,255,.07)}
.legal-data-list dt{color:#8f978e;font-size:10px;font-weight:750}
.legal-data-list dd{margin:0;color:#d9ddd8;font-size:11px;font-weight:650;overflow-wrap:anywhere}
.legal-pending{padding:5px 7px;border:1px solid rgba(236,94,27,.2);border-radius:999px;color:#f2a379;background:rgba(236,94,27,.06);font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.legal-explainer{margin:22px 0 0;padding:14px 15px;border-left:3px solid var(--orange);border-radius:0 14px 14px 0;background:rgba(236,94,27,.05)}
.legal-contact-actions{display:flex;flex-wrap:wrap;gap:10px}
.privacy-summary-strip{display:flex;flex-wrap:wrap;gap:9px;margin-top:32px}.privacy-summary-strip span{padding:9px 12px;border:1px solid rgba(90,171,66,.16);border-radius:999px;color:#c1d8ba;background:rgba(90,171,66,.05);font-size:10px}
.privacy-overview-section{padding:100px 0;background:#0b0e0c}.privacy-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.privacy-overview-card{min-height:390px;padding:35px;border:1px solid rgba(90,171,66,.15);border-radius:30px;background:radial-gradient(circle at 100% 0%,rgba(90,171,66,.12),transparent 40%),#111411}.privacy-overview-card.orange{border-color:rgba(236,94,27,.16);background:radial-gradient(circle at 100% 0%,rgba(236,94,27,.13),transparent 40%),#111411}.privacy-overview-card>span{width:58px;height:58px;display:grid;place-items:center;margin-bottom:65px;border:1px solid rgba(255,255,255,.1);border-radius:18px;color:white;background:rgba(255,255,255,.045)}.privacy-overview-card svg{width:31px;height:31px}.privacy-overview-card h2{margin:10px 0 16px;font-size:clamp(38px,4vw,53px);line-height:1;letter-spacing:-.048em}.privacy-overview-card p{color:var(--muted);font-size:14px}.privacy-overview-card a,.privacy-contact-box a{color:#f2a278}
.privacy-section,.privacy-purpose-section,.privacy-retention-section,.privacy-cookie-section,.privacy-rights-section{padding:105px 0}.privacy-section.alt,.privacy-retention-section,.privacy-rights-section{background:#0c0f0d}
.privacy-data-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.privacy-data-grid article{min-height:260px;padding:23px;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:rgba(255,255,255,.024)}.privacy-data-grid article>span{width:47px;height:47px;display:grid;place-items:center;border:1px solid rgba(90,171,66,.18);border-radius:15px;color:var(--green);background:rgba(90,171,66,.065)}.privacy-data-grid svg{width:25px;height:25px}.privacy-data-grid h3{margin:34px 0 10px;font-size:21px;line-height:1.08}.privacy-data-grid p{margin:0;color:#939b92;font-size:11px;line-height:1.55}
.privacy-purpose-layout{display:grid;grid-template-columns:minmax(300px,.76fr) minmax(0,1.24fr);gap:46px;align-items:center}.privacy-purpose-copy h2,.privacy-retention-shell h2,.privacy-cookie-layout h2{margin:10px 0 18px;font-size:clamp(40px,4.8vw,61px);line-height:1;letter-spacing:-.052em}.privacy-purpose-copy p,.privacy-retention-shell>div>p,.privacy-cookie-layout p{color:var(--muted);font-size:14px}.privacy-purpose-list{display:grid;gap:11px}.privacy-purpose-list article{padding:21px;border:1px solid rgba(255,255,255,.08);border-radius:19px;background:rgba(255,255,255,.025)}.privacy-purpose-list strong{display:block;font-size:16px}.privacy-purpose-list p{margin:6px 0 0;color:#929a91;font-size:11px}
.privacy-retention-shell{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:42px;align-items:center;padding:43px;border:1px solid rgba(255,255,255,.1);border-radius:31px;background:radial-gradient(circle at 0 100%,rgba(90,171,66,.08),transparent 38%),radial-gradient(circle at 100% 0%,rgba(236,94,27,.07),transparent 35%),#111411}.privacy-retention-table{display:grid}.privacy-retention-table>div{padding:15px 0;border-top:1px solid rgba(255,255,255,.075)}.privacy-retention-table strong,.privacy-retention-table span{display:block}.privacy-retention-table strong{font-size:13px}.privacy-retention-table span{margin-top:5px;color:#929a91;font-size:10px;line-height:1.5}
.privacy-cookie-layout{display:grid;grid-template-columns:82px 1fr;gap:27px;align-items:start}.privacy-cookie-icon{width:82px;height:82px;display:grid;place-items:center;border:1px solid rgba(236,94,27,.2);border-radius:23px;color:var(--orange);background:rgba(236,94,27,.07)}.privacy-cookie-icon svg{width:43px;height:43px}
.privacy-rights-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.privacy-rights-grid article{min-height:190px;padding:22px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(255,255,255,.025)}.privacy-rights-grid strong{font-size:14px}.privacy-rights-grid p{color:#929a91;font-size:10px;line-height:1.5}.privacy-contact-box{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:start;margin-top:15px;padding:22px;border:1px solid rgba(90,171,66,.16);border-radius:20px;background:rgba(90,171,66,.045)}.privacy-contact-box>span{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;color:var(--green);background:rgba(90,171,66,.08)}.privacy-contact-box svg{width:27px;height:27px}.privacy-contact-box p{margin:5px 0 0;color:#a2aaa1;font-size:11px}
.error-page-v10{min-height:74vh;display:grid;place-items:center;padding:130px 0 110px;background:radial-gradient(circle at 50% 35%,rgba(236,94,27,.1),transparent 28%),#090b0a}.error-v10-wrap{text-align:center}.error-v10-code{font-size:clamp(110px,20vw,240px);font-weight:950;line-height:.78;letter-spacing:-.09em;color:rgba(255,255,255,.055)}.error-v10-wrap h1{max-width:900px;margin:22px auto 18px;font-size:clamp(44px,6vw,78px);line-height:.95;letter-spacing:-.055em}.error-v10-wrap>p{max-width:640px;margin:0 auto;color:var(--muted);font-size:14px}.error-v10-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:31px}.error-v10-note{margin-top:24px;color:#7f877f;font-size:10px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:900px){.legal-grid,.privacy-overview-grid,.privacy-purpose-layout,.privacy-retention-shell{grid-template-columns:1fr}.privacy-data-grid,.privacy-rights-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.legal-section,.privacy-overview-section,.privacy-section,.privacy-purpose-section,.privacy-retention-section,.privacy-cookie-section,.privacy-rights-section{padding:76px 0}.legal-grid,.privacy-overview-grid,.privacy-data-grid,.privacy-rights-grid{grid-template-columns:1fr}.legal-card{padding:25px 21px}.legal-card-wide{grid-column:auto}.legal-data-list>div{grid-template-columns:1fr;gap:5px}.privacy-overview-card{min-height:auto;padding:29px 22px 35px}.privacy-overview-card>span{margin-bottom:50px}.privacy-retention-shell{padding:29px 22px;border-radius:26px}.privacy-cookie-layout{grid-template-columns:1fr}.privacy-purpose-copy h2,.privacy-retention-shell h2,.privacy-cookie-layout h2{font-size:40px}.privacy-summary-strip{display:grid}.error-page-v10{padding:110px 0 95px}}

/* Alpha 0.11 — pages légales consolidées */
.legal-page-hero{padding-bottom:62px}.legal-content-section{padding:100px 0;background:#0c0f0d}.legal-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.legal-card{min-width:0;padding:30px;border:1px solid rgba(255,255,255,.085);border-radius:25px;background:radial-gradient(circle at 100% 0%,rgba(90,171,66,.065),transparent 36%),rgba(255,255,255,.024)}.legal-card:nth-child(even){background:radial-gradient(circle at 100% 0%,rgba(236,94,27,.065),transparent 36%),rgba(255,255,255,.024)}.legal-card-wide{grid-column:1/-1}.legal-card h2{margin:10px 0 20px;font-size:clamp(29px,3vw,42px);line-height:1;letter-spacing:-.04em}.legal-card p{margin:0 0 12px;color:#a8afa7;font-size:12px;line-height:1.65}.legal-card p:last-child{margin-bottom:0}.legal-card strong,.legal-card a{color:#fff}@media(max-width:760px){.legal-content-section{padding:76px 0}.legal-content-grid{grid-template-columns:1fr}.legal-card-wide{grid-column:auto}.legal-card{padding:24px 21px;border-radius:22px}}


/* Alpha 0.12 — cartes de paiement compactes */
.reservation-payment-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.reservation-payment-grid .reservation-payment-card {
  min-width: 0;
  min-height: 104px;
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 18px 19px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 19px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.032), rgba(255,255,255,.012)),
    #0f1210;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.reservation-payment-grid .reservation-payment-card:hover {
  transform: translateY(-2px);
  border-color: rgba(90,171,66,.22);
  background:
    radial-gradient(circle at 100% 0%, rgba(90,171,66,.07), transparent 40%),
    #101311;
}

.reservation-payment-grid .reservation-payment-card.cpam {
  border-color: rgba(90,171,66,.18);
  background:
    radial-gradient(circle at 100% 0%, rgba(90,171,66,.09), transparent 44%),
    #101311;
}

.reservation-payment-grid .reservation-payment-icon {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(90,171,66,.18);
  border-radius: 14px;
  color: var(--green);
  background: rgba(90,171,66,.065);
}

.reservation-payment-grid .reservation-payment-card:nth-child(2n) .reservation-payment-icon {
  color: var(--orange);
  border-color: rgba(236,94,27,.18);
  background: rgba(236,94,27,.06);
}

.reservation-payment-grid .reservation-payment-icon svg {
  width: 25px;
  height: 25px;
}

.reservation-payment-grid .reservation-payment-card strong {
  min-width: 0;
  color: #f4f5f2;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.25;
}

.reservation-payment-note {
  margin: 15px 0 0;
  padding: 13px 15px;
  border-left: 3px solid var(--green);
  border-radius: 0 14px 14px 0;
  color: #969e95;
  background: rgba(90,171,66,.045);
  font-size: 11px;
  line-height: 1.5;
}

.reservation-payment-note strong {
  color: #c7e7be;
}

@media (max-width: 900px) {
  .reservation-payment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .reservation-payment-grid {
    grid-template-columns: 1fr;
  }

  .reservation-payment-grid .reservation-payment-card {
    min-height: 88px;
    padding: 15px 16px;
  }
}


/* ================================================================
   Alpha 0.13 — finition technique
   ================================================================ */
html { overflow-x: clip; }
img { max-width: 100%; height: auto; }
:where(a, button) { -webkit-tap-highlight-color: transparent; }
.mobile-menu-panel nav a,
.mobile-menu-contact a,
.mobile-fixed-actions a { min-height: 44px; }
@media (max-width: 430px) {
  .page-hero h1 { overflow-wrap: anywhere; }
  .page-hero-actions .btn { width: 100%; justify-content: center; }
}


/* Alpha 0.15 — intégration des photos d’habitacle et coffre */
.vehicle-v5-gallery{
    margin-top:32px;
    padding:28px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:28px;
    background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));
    box-shadow:0 24px 70px rgba(0,0,0,.18);
}
.vehicle-v5-gallery-intro{
    display:grid;
    gap:10px;
    margin-bottom:22px;
    max-width:840px;
}
.vehicle-v5-gallery-kicker{
    display:inline-flex;
    width:max-content;
    padding:8px 12px;
    border-radius:999px;
    border:1px solid rgba(124,191,70,.24);
    background:rgba(124,191,70,.08);
    color:var(--brand-green);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.vehicle-v5-gallery-intro h3{
    margin:0;
    font-size:clamp(1.45rem,1.2rem + 1vw,2rem);
    line-height:1.12;
}
.vehicle-v5-gallery-intro p{
    margin:0;
    color:var(--text-soft);
}
.vehicle-v5-gallery-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.vehicle-v5-gallery-card{
    margin:0;
    overflow:hidden;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.02);
}
.vehicle-v5-gallery-card img{
    display:block;
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
}
.vehicle-v5-gallery-card figcaption{
    display:grid;
    gap:4px;
    padding:16px 18px 18px;
}
.vehicle-v5-gallery-card strong{
    font-size:1rem;
}
.vehicle-v5-gallery-card span{
    color:var(--text-soft);
    font-size:.95rem;
}
@media (max-width: 760px){
    .vehicle-v5-gallery{
        padding:20px;
        border-radius:22px;
    }
    .vehicle-v5-gallery-grid{
        grid-template-columns:1fr;
    }
}


/* ================================================================
   Alpha 0.15.1 — correctif de collision CSS section médicale accueil
   ================================================================ */
.medical-v4 .medical-step {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  padding: 21px 4px;
  border-bottom: 1px solid rgba(16,20,16,.1);
  overflow: visible;
  min-height: 0;
  border-radius: 0;
  background: transparent;
}

.medical-v4 .medical-step > div {
  min-width: 0;
}

.medical-v4 .medical-step.featured {
  margin: 8px -10px;
  padding: 20px 14px;
  border: 0;
  border-radius: 20px;
  background: #111611;
  color: #fff;
  box-shadow: 0 16px 32px rgba(20,30,20,.16);
}

.medical-v4 .medical-step-number {
  position: static;
  inset: auto;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: rgba(90,171,66,.13);
  color: #327b2a;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: normal;
}

.medical-v4 .medical-step.featured .medical-step-number {
  background: var(--orange);
  color: #fff;
}

.medical-v4 .medical-step h3 {
  margin: 1px 0 7px;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.medical-v4 .medical-step p {
  margin: 0;
  color: #697169;
  font-size: 13px;
  line-height: 1.58;
  overflow-wrap: normal;
  word-break: normal;
}

.medical-v4 .medical-step.featured p {
  color: #b9c0b9;
}


/* Alpha 0.16 RC2 — confinement du menu mobile fermé */
@media (max-width: 980px) {
  .mobile-menu-layer { overflow: hidden; }
}


/* Production 1.0.1 — correction du chevauchement de la légende et du numéro sur mobile */
@media (max-width: 680px) {
  .hero-media {
    min-height: 468px;
  }

  .photo-caption {
    left: 42px;
    right: 18px;
    bottom: 116px;
    max-width: calc(100% - 60px);
  }

  .photo-caption span {
    display: block;
    max-width: 230px;
    line-height: 1.45;
  }

  .phone-card {
    right: 0;
    bottom: 0;
  }
}

@media (max-width: 380px) {
  .hero-media {
    min-height: 476px;
  }

  .photo-caption {
    left: 26px;
    right: 14px;
    bottom: 112px;
    max-width: calc(100% - 40px);
  }

  .photo-caption span {
    max-width: 210px;
    font-size: 13px;
  }

  .phone-card {
    padding: 13px 15px;
  }
}


/* Production 1.0.2 — lisibilité du bloc Documents & prise en charge */
.medical-documents-copy h2 {
  max-width: 15ch;
  font-size: clamp(36px, 3.6vw, 49px);
  line-height: 1.04;
  letter-spacing: -.045em;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

@media (max-width: 700px) {
  .medical-documents-copy h2 {
    max-width: 100%;
    font-size: clamp(32px, 9.2vw, 40px);
    line-height: 1.05;
  }
}

@media (max-width: 380px) {
  .medical-documents-copy h2 {
    font-size: 31px;
    letter-spacing: -.035em;
  }
}


/* Production 1.0.3 — lisibilité et finition de la page Confidentialité */
.privacy-summary-strip span {
  font-size: 12px;
  line-height: 1.35;
}

.privacy-data-grid article {
  min-height: 230px;
}

.privacy-data-grid p {
  font-size: 13px;
  line-height: 1.62;
}

.privacy-purpose-list p {
  font-size: 13px;
  line-height: 1.58;
}

.privacy-retention-table strong {
  font-size: 15px;
  line-height: 1.35;
}

.privacy-retention-table span {
  font-size: 13px;
  line-height: 1.58;
}

.privacy-rights-grid article {
  min-height: 155px;
}

.privacy-rights-grid strong {
  display: block;
  font-size: 16px;
  line-height: 1.3;
}

.privacy-rights-grid p {
  margin: 10px 0 0;
  font-size: 13px;
  line-height: 1.6;
}

.privacy-contact-box strong {
  font-size: 16px;
}

.privacy-contact-box p {
  font-size: 13px;
  line-height: 1.6;
}

@media (max-width: 700px) {
  .privacy-page-hero h1,
  .privacy-overview-card h2,
  .privacy-purpose-copy h2,
  .privacy-retention-shell h2,
  .privacy-cookie-layout h2,
  .privacy-rights-section .content-head h2 {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }

  .privacy-summary-strip {
    gap: 8px;
  }

  .privacy-summary-strip span {
    padding: 11px 13px;
    font-size: 13px;
  }

  .privacy-overview-card {
    padding: 27px 22px 30px;
  }

  .privacy-overview-card > span {
    margin-bottom: 34px;
  }

  .privacy-overview-card h2 {
    font-size: 36px;
    line-height: 1.04;
  }

  .privacy-overview-card p,
  .privacy-purpose-copy p,
  .privacy-retention-shell > div > p,
  .privacy-cookie-layout p,
  .privacy-rights-section .content-head > p {
    font-size: 15px;
    line-height: 1.65;
  }

  .privacy-data-grid article {
    min-height: 0;
    padding: 22px;
  }

  .privacy-data-grid article > span {
    width: 44px;
    height: 44px;
  }

  .privacy-data-grid h3 {
    margin: 24px 0 9px;
    font-size: 20px;
  }

  .privacy-data-grid p {
    font-size: 14px;
    line-height: 1.62;
  }

  .privacy-purpose-list article {
    padding: 20px;
  }

  .privacy-purpose-list strong {
    font-size: 17px;
  }

  .privacy-purpose-list p {
    font-size: 14px;
    line-height: 1.6;
  }

  .privacy-retention-table > div {
    padding: 18px 0;
  }

  .privacy-retention-table strong {
    font-size: 16px;
  }

  .privacy-retention-table span {
    margin-top: 7px;
    font-size: 14px;
    line-height: 1.62;
  }

  .privacy-cookie-layout h2,
  .privacy-rights-section .content-head h2 {
    font-size: 36px;
    line-height: 1.05;
  }

  .privacy-rights-grid {
    gap: 12px;
  }

  .privacy-rights-grid article {
    min-height: 0;
    padding: 22px;
  }

  .privacy-rights-grid strong {
    font-size: 17px;
  }

  .privacy-rights-grid p {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.62;
  }

  .privacy-contact-box {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 14px;
    padding: 20px;
  }

  .privacy-contact-box > span {
    width: 44px;
    height: 44px;
  }

  .privacy-contact-box strong {
    font-size: 17px;
  }

  .privacy-contact-box p {
    font-size: 14px;
    line-height: 1.62;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 380px) {
  .privacy-overview-card h2,
  .privacy-cookie-layout h2,
  .privacy-rights-section .content-head h2 {
    font-size: 33px;
  }

  .privacy-contact-box {
    grid-template-columns: 1fr;
  }
}


/* Production 1.0.4 — netteté des numéros sur fond orange */
.phone-number {
  display: inline-block;
  white-space: nowrap;
  font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-variant-numeric: tabular-nums lining-nums;
  font-feature-settings: "tnum" 1, "lnum" 1, "kern" 1;
  letter-spacing: .045em;
  line-height: 1;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

header .nav > .btn-primary .phone-number {
  font-size: 16px;
}

.phone-card .phone-number {
  margin-top: 1px;
  font-size: 23px;
  letter-spacing: .05em;
}

.contact-v8-call .phone-number {
  font-size: 18px;
  letter-spacing: .05em;
}

.contact-v8-call small {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .095em;
}

.reservation-contact-card.phone .phone-number,
.page-cta-actions .phone-number {
  font-size: 18px;
}

@media (max-width: 700px) {
  .phone-card .phone-number {
    font-size: 18px;
    letter-spacing: .04em;
  }

  .contact-v8-call .phone-number,
  .reservation-contact-card.phone .phone-number,
  .page-cta-actions .phone-number {
    font-size: 17px;
    letter-spacing: .04em;
  }
}

@media (max-width: 380px) {
  .phone-card .phone-number,
  .contact-v8-call .phone-number,
  .reservation-contact-card.phone .phone-number,
  .page-cta-actions .phone-number {
    font-size: 16px;
    letter-spacing: .035em;
  }
}


/* Production 1.0.5 — cibles d’ancre et en-tête fixe */
main [id] {
  scroll-margin-top: calc(var(--header-height) + 20px);
}


/* Production 1.0.6 — intégration des photos de Kevin avec son véhicule */
.photo-shell picture {
  display: block;
  width: 100%;
  height: 100%;
}

.home-chauffeur-photo img {
  object-position: 48% 50%;
  filter: saturate(.9) contrast(1.05) brightness(.78);
}

.chauffeur-vehicle-media img {
  object-position: center 51%;
  filter: brightness(.8) saturate(.9) contrast(1.04);
}

/* Page Services */
.chauffeur-showcase-section {
  padding: 34px 0 48px;
  background: #0b0e0c;
}

.chauffeur-showcase-card {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 32px;
  background:
    radial-gradient(circle at 100% 0%, rgba(90,171,66,.09), transparent 36%),
    #111411;
  box-shadow: 0 26px 75px rgba(0,0,0,.22);
}

.chauffeur-showcase-media {
  position: relative;
  min-height: 470px;
  margin: 0;
  overflow: hidden;
  background: #171b18;
}

.chauffeur-showcase-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(8,10,9,.04), rgba(8,10,9,.48)),
    linear-gradient(90deg, transparent 55%, rgba(8,10,9,.16));
  pointer-events: none;
}

.chauffeur-showcase-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 48% 50%;
  filter: saturate(.9) contrast(1.04) brightness(.86);
}

.chauffeur-showcase-badge {
  position: absolute;
  z-index: 2;
  left: 22px;
  bottom: 22px;
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  color: #fff;
  background: rgba(10,13,10,.72);
  backdrop-filter: blur(12px);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.chauffeur-showcase-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 46px;
}

.chauffeur-showcase-copy h2 {
  margin: 11px 0 18px;
  font-size: clamp(38px, 4vw, 57px);
  line-height: 1;
  letter-spacing: -.052em;
}

.chauffeur-showcase-copy > p {
  margin: 0;
  color: #b4bbb3;
  font-size: 15px;
  line-height: 1.65;
}

.chauffeur-showcase-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 25px 0 27px;
}

.chauffeur-showcase-facts span {
  padding: 8px 10px;
  border: 1px solid rgba(90,171,66,.17);
  border-radius: 999px;
  color: #c3dfbc;
  background: rgba(90,171,66,.055);
  font-size: 10px;
  font-weight: 750;
}

/* Page Taxi conventionné */
.medical-human-card {
  display: grid;
  grid-template-columns: 132px minmax(0,1fr);
  gap: 18px;
  align-items: center;
  margin-top: 28px;
  padding: 14px;
  border: 1px solid rgba(90,171,66,.18);
  border-radius: 23px;
  background:
    radial-gradient(circle at 100% 0%, rgba(90,171,66,.085), transparent 42%),
    rgba(255,255,255,.026);
}

.medical-human-media {
  width: 132px;
  height: 148px;
  overflow: hidden;
  border-radius: 17px;
  background: #191d19;
}

.medical-human-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 54% 48%;
  filter: saturate(.9) contrast(1.04) brightness(.84);
}

.medical-human-copy {
  min-width: 0;
}

.medical-human-copy > span {
  display: block;
  margin-bottom: 7px;
  color: var(--green);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.medical-human-copy strong {
  display: block;
  font-size: 18px;
  line-height: 1.18;
}

.medical-human-copy p {
  margin: 8px 0 0;
  color: #aeb6ad;
  font-size: 12px;
  line-height: 1.58;
}

@media (max-width: 920px) {
  .chauffeur-showcase-card {
    grid-template-columns: 1fr;
  }

  .chauffeur-showcase-media {
    min-height: 430px;
  }
}

@media (max-width: 700px) {
  .home-chauffeur-photo img {
    object-position: 50% 48%;
  }

  .chauffeur-vehicle-media img {
    object-position: center 50%;
  }

  .chauffeur-showcase-section {
    padding: 18px 0 34px;
  }

  .chauffeur-showcase-card {
    border-radius: 25px;
  }

  .chauffeur-showcase-media {
    min-height: 335px;
  }

  .chauffeur-showcase-media img {
    object-position: 50% 48%;
  }

  .chauffeur-showcase-copy {
    padding: 28px 22px 30px;
  }

  .chauffeur-showcase-copy h2 {
    font-size: 37px;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }

  .chauffeur-showcase-copy > p {
    font-size: 14px;
  }

  .chauffeur-showcase-facts span {
    font-size: 11px;
  }

  .medical-human-card {
    grid-template-columns: 108px minmax(0,1fr);
    gap: 14px;
    padding: 12px;
  }

  .medical-human-media {
    width: 108px;
    height: 132px;
  }

  .medical-human-copy strong {
    font-size: 17px;
  }

  .medical-human-copy p {
    font-size: 13px;
  }
}

@media (max-width: 430px) {
  .medical-human-card {
    grid-template-columns: 1fr;
    padding: 14px;
  }

  .medical-human-media {
    width: 100%;
    height: 220px;
  }

  .medical-human-media img {
    object-position: 50% 49%;
  }
}


/* Production 1.0.8 — visibilité complète de la mention ADS dans le hero */
.photo-caption {
  display: grid;
  gap: 3px;
}

.photo-caption-seat,
.photo-caption-ads {
  display: block;
  line-height: 1.35;
}

.photo-caption-ads {
  color: #c9e8c0;
  font-weight: 750;
}

@media (min-width: 681px) {
  .photo-caption {
    right: 220px;
    bottom: 34px;
    max-width: 260px;
  }

  .photo-caption-seat,
  .photo-caption-ads {
    white-space: nowrap;
  }
}

@media (max-width: 680px) {
  .photo-caption {
    gap: 2px;
  }

  .photo-caption-seat,
  .photo-caption-ads {
    max-width: 230px;
  }

  .photo-caption-ads {
    margin-top: 1px;
  }
}

@media (max-width: 380px) {
  .photo-caption-seat,
  .photo-caption-ads {
    max-width: 210px;
    font-size: 13px;
  }
}
