    html { scroll-behavior: smooth; }
    body {
      font-family: 'Inter', system-ui, sans-serif;
      background:#FAFAF7;
      color:#1C1C1E;
      font-size: 17px;
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    .font-serif { font-feature-settings: "ss01"; }

    .h1 { font-family:'Fraunces',serif; font-weight:300; font-size:56px; line-height:1.05; letter-spacing:-0.02em; }
    .h2 { font-family:'Fraunces',serif; font-weight:400; font-size:40px; line-height:1.12; letter-spacing:-0.01em; }
    .h3 { font-family:'Inter',sans-serif; font-weight:600; font-size:24px; line-height:1.3; letter-spacing:-0.005em; }
    .micro { font-family:'Inter',sans-serif; font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:0.15em; color:#B08D57; }

    @media (max-width: 767px) {
      .h1 { font-size: 40px; }
      .h2 { font-size: 30px; }
      .h3 { font-size: 20px; }
      body { font-size: 16px; }
    }

    .section-y { padding-top: 120px; padding-bottom: 120px; }
    @media (max-width: 767px) { .section-y { padding-top: 64px; padding-bottom: 64px; } }

    .copper-rule { width:40px; height:1px; background:#B08D57; display:block; }

    /* Reveal on scroll */
    .reveal { opacity: 0; transform: translateY(20px); transition: opacity 600ms ease-out, transform 600ms ease-out; }
    .reveal.is-in { opacity: 1; transform: translateY(0); }

    /* Button */
    .btn {
      display:inline-flex; align-items:center; gap:10px;
      padding: 14px 22px;
      border-radius: 6px;
      font-weight: 500;
      font-size: 15px;
      letter-spacing: 0.01em;
      transition: transform 200ms ease-out, box-shadow 200ms ease-out, background 200ms ease-out, border-color 200ms ease-out, color 200ms ease-out;
      will-change: transform;
    }
    .btn-primary { background:#0A2540; color:#FAFAF7; }
    .btn-primary:hover { transform: translateY(-1px); box-shadow: 0 10px 24px -12px rgba(10,37,64,0.45); background:#0c2b4d; }
    .btn-copper { background:#B08D57; color:#FAFAF7; }
    .btn-copper:hover { transform: translateY(-1px); box-shadow: 0 10px 24px -12px rgba(176,141,87,0.5); background:#bb975f; }
    .btn-ghost-light { border:1px solid rgba(250,250,247,0.5); color:#FAFAF7; background:transparent; }
    .btn-ghost-light:hover { border-color:#FAFAF7; transform: translateY(-1px); }

    /* Card */
    .card {
      background:#fff;
      border: 1px solid #E5E2DC;
      border-radius: 8px;
      transition: border-color 250ms ease-out, box-shadow 250ms ease-out, transform 250ms ease-out;
    }
    .card-hover:hover {
      border-color:#0A2540;
      box-shadow: 0 20px 40px -24px rgba(10,37,64,0.25);
    }

    /* Input */
    .field {
      width:100%;
      background:#FAFAF7;
      border:1px solid #E5E2DC;
      border-radius:6px;
      padding: 12px 14px;
      font-size: 15px;
      color:#1C1C1E;
      transition: border-color 200ms ease-out, background 200ms ease-out;
    }
    .field:focus { outline:none; border-color:#0A2540; background:#fff; }
    .field-label { font-size:11px; text-transform:uppercase; letter-spacing:0.12em; color:#555; font-weight:500; }

    /* Placeholder image */
    .placeholder-img {
      background: repeating-linear-gradient(135deg, #F2F0EC 0px, #F2F0EC 14px, #ece9e2 14px, #ece9e2 15px);
      position: relative;
      overflow:hidden;
    }
    .placeholder-img::after {
      content: attr(data-label);
      position:absolute; inset:auto 0 0 0;
      padding: 10px 14px;
      font-family:'JetBrains Mono', monospace;
      font-size: 10px;
      letter-spacing: 0.08em;
      color:#8a8578;
      text-transform:uppercase;
    }

    /* Sticky header blur */
    .header-blur {
      backdrop-filter: saturate(160%) blur(14px);
      -webkit-backdrop-filter: saturate(160%) blur(14px);
      background: rgba(250,250,247,0.78);
      border-bottom: 1px solid transparent;
    }
    .header-blur.scrolled { border-bottom-color: #E5E2DC; }

    /* FAQ */
    details > summary { list-style:none; cursor:pointer; }
    details > summary::-webkit-details-marker { display:none; }
    details[open] .faq-plus::before { transform: rotate(90deg); opacity:0; }
    .faq-plus { position:relative; width:14px; height:14px; }
    .faq-plus::before, .faq-plus::after {
      content:""; position:absolute; background:#1C1C1E;
      transition: transform 220ms ease-out, opacity 220ms ease-out;
    }
    .faq-plus::before { left:6px; top:0; width:2px; height:14px; }
    .faq-plus::after  { left:0; top:6px; width:14px; height:2px; }

    /* Hero ghost bus */
    .hero-bg {
      background:
        radial-gradient(1200px 600px at 85% 10%, rgba(10,37,64,0.06), transparent 60%),
        linear-gradient(180deg, #FAFAF7 0%, #F2F0EC 100%);
    }

    /* Marquee / scroller for mobile fleet */
    .scroll-x { scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
    .scroll-x > * { scroll-snap-align: start; }

    /* Focus */
    :focus-visible { outline: 2px solid #0A2540; outline-offset: 3px; border-radius: 4px; }

    /* Underline link */
    .u-link { position:relative; padding-bottom: 2px; }
    .u-link::after {
      content:""; position:absolute; left:0; bottom:0; height:1px; width:100%;
      background: currentColor; transform: scaleX(0); transform-origin: left;
      transition: transform 250ms ease-out;
    }
    .u-link:hover::after { transform: scaleX(1); }

    /* Mobile bottom bar spacing */
    @media (max-width: 767px) { body { padding-bottom: 64px; } }

    /* Reduce chroma of logos row */
    .logo-chip {
      height: 42px;
      border: 1px solid #E5E2DC;
      color:#8a8578;
      font-family:'Fraunces', serif;
      font-weight: 400;
      font-size: 15px;
      letter-spacing: 0.05em;
      background:#FAFAF7;
      transition: color 200ms, border-color 200ms;
    }
    .logo-chip:hover { color:#1C1C1E; border-color:#c9c4ba; }

    /* Fleet image tones */
    .img-tone-a { background: linear-gradient(135deg, #EFECE6 0%, #E2DED4 100%); }
    .img-tone-b { background: linear-gradient(135deg, #E9E6DF 0%, #D8D2C5 100%); }
    .img-tone-c { background: linear-gradient(135deg, #E4E0D6 0%, #CFC8B7 100%); }

    .img-dest {
      background: linear-gradient(180deg, rgba(10,37,64,0.0) 40%, rgba(10,37,64,0.6) 100%),
                  linear-gradient(135deg, #d9d5c9 0%, #b8b3a1 100%);
    }

    /* Destination hover reveal */
    .dest-card .dest-btn {
      opacity: 0; transform: translateY(6px);
      transition: opacity 220ms ease-out, transform 220ms ease-out;
    }
    .dest-card:hover .dest-btn, .dest-card:focus-within .dest-btn {
      opacity: 1; transform: translateY(0);
    }
    .dest-card { transition: transform 250ms ease-out, box-shadow 250ms ease-out; }
    .dest-card:hover { transform: translateY(-3px); box-shadow: 0 20px 40px -24px rgba(10,37,64,0.3); }

    /* Ghost bus illustration */
    .ghost-bus {
      position:absolute; right:-6%; bottom:-4%;
      width: 62%; max-width: 760px;
      opacity: 0.15;
      pointer-events:none;
    }
    @media (max-width: 767px) { .ghost-bus { display:none; } }
  </style>
  <style>
    .concierge-fab{
      position:fixed;bottom:28px;right:28px;z-index:80;
      display:inline-flex;align-items:center;gap:10px;
      padding:14px 20px;border-radius:999px;
      background:#0A2540;color:#FAFAF7;
      font-family:'Inter',sans-serif;font-size:14px;font-weight:500;
      box-shadow:0 18px 40px -16px rgba(10,37,64,.45);
      cursor:pointer;border:1px solid rgba(176,141,87,.3);
      transition:transform .2s, box-shadow .2s;
    }
    .concierge-fab:hover{transform:translateY(-2px);box-shadow:0 22px 50px -16px rgba(10,37,64,.6)}
    .concierge-fab .dot{width:7px;height:7px;border-radius:999px;background:#B08D57;box-shadow:0 0 0 0 rgba(176,141,87,.6);animation:cpulse 1.8s infinite}
    @keyframes cpulse{0%{box-shadow:0 0 0 0 rgba(176,141,87,.6)}70%{box-shadow:0 0 0 10px rgba(176,141,87,0)}100%{box-shadow:0 0 0 0 rgba(176,141,87,0)}}

    .concierge-panel{
      position:fixed;bottom:28px;right:28px;z-index:90;
      width:380px;max-width:calc(100vw - 32px);height:560px;max-height:calc(100vh - 60px);
      background:#FAFAF7;border:1px solid #E5E2DC;border-radius:14px;
      box-shadow:0 30px 70px -20px rgba(10,37,64,.35);
      display:none;flex-direction:column;overflow:hidden;
      font-family:'Inter',sans-serif;
    }
    .concierge-panel.open{display:flex;animation:cpop .3s ease-out}
    @keyframes cpop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
    @media(max-width:520px){
      .concierge-panel{bottom:0;right:0;left:0;width:100%;height:92vh;border-radius:14px 14px 0 0}
    }

    .cp-header{padding:18px 20px;border-bottom:1px solid #E5E2DC;background:#0A2540;color:#FAFAF7;display:flex;align-items:center;justify-content:space-between;gap:12px}
    .cp-header .t{font-family:'Fraunces',serif;font-weight:300;font-size:19px;letter-spacing:-.01em}
    .cp-header .s{font-family:'JetBrains Mono',monospace;font-size:10px;color:#B08D57;letter-spacing:.12em;text-transform:uppercase;margin-top:3px}
    .cp-close{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#FAFAF7;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);cursor:pointer;transition:background .15s}
    .cp-close:hover{background:rgba(255,255,255,.15)}

    .cp-body{flex:1;overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:12px;background:#FAFAF7}

    .msg{max-width:86%;padding:12px 14px;border-radius:14px;font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word}
    .msg-bot{align-self:flex-start;background:#fff;border:1px solid #E5E2DC;color:#1C1C1E;border-top-left-radius:4px}
    .msg-user{align-self:flex-end;background:#0A2540;color:#FAFAF7;border-top-right-radius:4px}
    .msg-bot .lead{font-family:'Fraunces',serif;font-weight:300;font-size:15px;color:#0A2540}
    .typing{align-self:flex-start;display:flex;gap:4px;padding:12px 14px;background:#fff;border:1px solid #E5E2DC;border-radius:14px;border-top-left-radius:4px}
    .typing span{width:6px;height:6px;border-radius:999px;background:#B08D57;opacity:.4;animation:bounce 1.2s infinite}
    .typing span:nth-child(2){animation-delay:.15s}
    .typing span:nth-child(3){animation-delay:.3s}
    @keyframes bounce{0%,80%,100%{opacity:.2;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}

    .quick-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
    .quick-chip{padding:6px 12px;border:1px solid #E5E2DC;background:#fff;border-radius:999px;font-size:12px;color:#1C1C1E;cursor:pointer;transition:all .15s}
    .quick-chip:hover{border-color:#0A2540;background:#F2F0EC}

    .quote-card{background:#fff;border:1px solid #B08D57;border-radius:10px;padding:16px;margin-top:4px;align-self:flex-start;max-width:86%;box-shadow:0 12px 30px -18px rgba(10,37,64,.3)}
    .quote-card .qc-label{font-family:'JetBrains Mono',monospace;font-size:10px;color:#B08D57;letter-spacing:.12em;text-transform:uppercase}
    .quote-card .qc-route{font-family:'Fraunces',serif;font-weight:400;font-size:16px;margin-top:6px;line-height:1.3}
    .quote-card .qc-price{font-family:'Fraunces',serif;font-weight:300;font-size:32px;line-height:1;margin-top:12px;color:#0A2540}
    .quote-card .qc-meta{font-size:12px;color:#555;margin-top:4px;font-family:'JetBrains Mono',monospace}
    .quote-card .qc-details{font-size:13px;color:#1C1C1E;margin-top:12px;padding-top:12px;border-top:1px solid #E5E2DC;line-height:1.6}
    .quote-card .qc-cta{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:10px 16px;background:#0A2540;color:#FAFAF7;border-radius:6px;font-size:13px;font-weight:500;text-decoration:none;transition:background .2s}
    .quote-card .qc-cta:hover{background:#0c2b4d}

    .cp-form{display:flex;gap:8px;padding:14px 16px;border-top:1px solid #E5E2DC;background:#fff}
    .cp-input{flex:1;border:1px solid #E5E2DC;border-radius:8px;padding:10px 12px;font-size:14px;color:#1C1C1E;background:#FAFAF7;font-family:'Inter',sans-serif}
    .cp-input:focus{outline:none;border-color:#0A2540}
    .cp-send{width:40px;height:40px;border-radius:8px;background:#0A2540;color:#FAFAF7;display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:background .15s}
    .cp-send:hover{background:#0c2b4d}
    .cp-send:disabled{opacity:.4;cursor:not-allowed}

    .cp-foot{font-size:10px;font-family:'JetBrains Mono',monospace;color:#8a8578;text-align:center;padding:6px 10px 10px;letter-spacing:.05em;background:#fff;border-top:1px solid #E5E2DC;text-transform:uppercase}

/* ===== FIX layout décalé (2026-05-21) — centrage container 1280px ===== */
.smb-landing,
.smb-landing > section,
.smb-landing .hero-bg {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
/* Inner content stays at 1280 max but centered */
.smb-landing > section > div,
.smb-landing .hero-bg > div,
.smb-landing .max-w-container {
    max-width: 1280px;
    margin-left: auto !important;
    margin-right: auto !important;
}
/* Ensure GP wrappers do not constrain main */
.site-content, .content-area, #primary {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/* ===== /FIX layout décalé ===== */
