.paris-line img {
  mix-blend-mode: normal;
}

.paris-line {
  height: 315px;
  margin: 0 0 -28px;
}

.paris-line img {
  object-fit: cover;
  object-position: 50% bottom;
}

@media (min-width: 801px) {
  .hero-copy {
    position: relative;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-bottom: 84px;
  }

  .hero-copy > .eyebrow,
  .hero-copy > h1,
  .hero-copy > .lead {
    position: relative;
    z-index: 2;
  }

  .hero-copy > .eyebrow {
    transform: translateY(-18px);
  }

  .hero-copy > h1 {
    transform: translateY(-38px);
  }

  .hero-copy > .lead {
    display: flex;
    align-items: center;
    gap: 70px;
    transform: translateY(-6px);
  }

  .hero-copy > .lead span {
    white-space: nowrap;
  }

  .paris-line--tower {
    position: absolute;
    z-index: 1;
    left: 0;
    right: -32px;
    bottom: -54px;
    /* Scale the illustration with the responsive headline.
       This keeps the spire at the bottom of the P even when a desktop browser is zoomed. */
    height: clamp(370px, 33.6vw, 430px);
    margin: 0;
  }

  .paris-line--tower img {
    object-position: 44% bottom;
    transform: translateX(52px);
  }
}

/* Keep wide desktop screens on the same balanced composition as the approved iPad layout. */
@media (min-width: 1350px) {
  main {
    max-width: 1280px;
    padding-left: 64px;
    padding-right: 64px;
  }

  .hero {
    min-height: 570px;
  }

  .hero h1 {
    font-size: 76px;
  }

  /* On a wide desktop the capped headline sits slightly higher than on iPad. */
  .paris-line--tower {
    bottom: -76px;
    height: 398px;
  }
}

/* Quote flow: service first, then a deliberately small two-vehicle choice. */
.service-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px;border:0;margin:0;padding:0}.service-choice legend,.vehicle-picker>p{grid-column:1/-1;margin:0 0 2px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#304976}.service-option,.vehicle-option{display:flex!important;align-items:flex-start!important;gap:9px!important;cursor:pointer!important;text-transform:none!important;letter-spacing:normal!important;font-size:13px!important;line-height:1.3}.service-option{border:1px solid rgba(17,46,100,.11);border-radius:10px;padding:12px!important;background:#fbfcff}.service-option:has(input:checked),.vehicle-option.selected{border-color:#e9b000;background:#fff8df}.service-option input,.vehicle-option input{accent-color:#e5a900;margin:2px 0 0;width:15px;height:15px;padding:0!important;box-shadow:none!important}.service-option span,.vehicle-option span{display:grid;gap:3px}.service-option small,.vehicle-option small{color:var(--muted);font-size:11px;text-transform:none;letter-spacing:normal}.quote-card select{font:16px Arial;padding:18px;border:0;border-radius:10px;color:var(--navy);background:#f6f8fd;box-shadow:inset 0 0 0 1px rgba(17,46,100,.11)}.hourly-only{display:none!important}.quote-card.is-hourly .hourly-only{display:grid!important}.quote-card.is-hourly .transfer-only{display:none!important}.vehicle-picker{display:grid;gap:9px;border-top:1px solid var(--line);padding-top:18px}.vehicle-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.vehicle-option{border:1px solid rgba(17,46,100,.11);border-radius:10px;padding:12px!important;background:#fff}.vehicle-option strong{font-size:14px}.quote-card .quote-result{padding-top:4px}@media(max-width:800px){.service-choice,.vehicle-options{grid-template-columns:1fr}}

/* CSS fallback keeps the selector working even before JavaScript updates state. */
.vehicle-option:has(input:checked){border-color:#e9b000;background:#fff8df}.quote-card:has(input[name="service"][value="hourly"]:checked) .hourly-only{display:grid!important}.quote-card:has(input[name="service"][value="hourly"]:checked) .transfer-only{display:none!important}
.date-time-fields{display:grid;grid-template-columns:1.2fr .8fr;gap:8px}.date-time-fields input,.date-time-fields select{min-width:0}

.booking-form .terms-consent{display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid rgba(17,46,100,.11);border-radius:11px;background:#fbfcff;text-transform:none;letter-spacing:0;font-size:13px;line-height:1.45;cursor:pointer}.booking-form .terms-consent input{width:18px;height:18px;margin:1px 0 0;padding:0;accent-color:#d99c00;box-shadow:none;flex:0 0 auto}.booking-form .terms-consent span{display:grid;gap:4px}.booking-form .terms-consent small{color:var(--muted);font-size:12px;font-weight:400}

/* ParisFare route-and-wing identity mark. */
.brand{gap:0!important;font-size:0!important}.brand .brand-logo{display:block;width:232px;height:auto;max-height:62px}@media(max-width:800px){.brand .brand-logo{width:184px;max-height:50px}}

/* Booking details page. */
.booking-main{max-width:1180px;min-height:100vh;margin:auto;padding:0 5vw}.booking-page{background:radial-gradient(circle at 8% 12%,#fff1c4 0,transparent 27%),linear-gradient(145deg,#fffdf8 0%,#fff7e8 100%)}.back-link{font-weight:700;color:var(--navy)}.booking-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;padding:72px 0 100px;align-items:start}.booking-intro h1{font-size:clamp(48px,6vw,76px);line-height:.98;letter-spacing:-.06em;margin:0;color:var(--navy)}.booking-intro>p:not(.eyebrow){font-size:19px;line-height:1.5;color:var(--muted);max-width:370px}.booking-summary{display:grid;gap:9px;max-width:400px;margin-top:40px;padding:27px;border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 15px 42px rgba(106,73,5,.11)}.booking-summary .summary-label{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#bd7c00}.booking-summary strong{font-size:44px;letter-spacing:-.05em}.booking-summary div{font-weight:700;line-height:1.4}.booking-summary small{color:var(--muted)}.booking-form{display:grid;gap:24px;padding:38px;border-radius:22px;background:rgba(255,255,255,.9);box-shadow:0 21px 58px rgba(106,73,5,.15)}.booking-form fieldset{border:0;margin:0;padding:0;display:grid;gap:16px}.booking-form legend{margin-bottom:17px;font-size:17px;font-weight:800;color:var(--navy)}.booking-form label{display:grid;gap:8px;font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.06em;color:#304976}.booking-form label span{font-size:11px;letter-spacing:0;text-transform:none;color:var(--muted)}.booking-form input,.booking-form select,.booking-form textarea{width:100%;font:16px Arial;padding:16px;border:0;border-radius:10px;color:var(--navy);background:#f6f8fd;box-shadow:inset 0 0 0 1px rgba(17,46,100,.11)}.booking-form textarea{resize:vertical;line-height:1.4}.booking-form input[readonly]{color:#64738a}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-note{margin:0;text-align:center;color:var(--muted);font-size:13px}@media(max-width:800px){.booking-main{padding:0 24px}.booking-layout{grid-template-columns:1fr;gap:30px;padding:38px 0 70px}.booking-summary{margin-top:25px}.booking-form{padding:24px}.form-grid{grid-template-columns:1fr}}

.info-page{min-height:100vh}.legal-content{max-width:820px;margin:70px auto 110px;padding:0 28px;color:var(--ink)}.legal-content h1{font-size:clamp(2.6rem,5vw,4.6rem);line-height:1.03;margin:10px 0 28px}.legal-content h2{font-size:1.35rem;margin:40px 0 10px}.legal-content p{max-width:720px;line-height:1.75;color:#36517a}.legal-lead{font-size:1.2rem!important;color:var(--ink)!important}.legal-meta{font-size:.85rem;border-top:1px solid #e9dfc6;padding-top:22px;margin-top:48px}.contact-card,.service-cards section{background:#fff;border-radius:16px;padding:24px;margin:16px 0;box-shadow:0 10px 32px rgba(41,57,86,.07)}.contact-card strong,.contact-card a{display:block;font-size:1.1rem}.contact-card small{display:block;margin-top:8px;color:#667797}.inline-cta{display:inline-block;background:#ffc400;color:#092d68!important;font-weight:800;padding:14px 22px;border-radius:10px;text-decoration:none;margin-top:20px}.steps-list{padding:0;list-style:none}.steps-list li{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid #e8dfca}.steps-list b{color:#c48000;font-size:1.3rem}.steps-list strong,.steps-list span{display:block}.steps-list span{color:#506689;margin-top:5px}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-cards section{margin:0}.service-cards h2{margin:0 0 8px}.service-cards p{margin:0}.review-card h2{margin-top:0}.review-details{border-top:1px solid #e7e8ee;border-bottom:1px solid #e7e8ee;padding:8px 0;margin:22px 0}.review-details div{display:flex;justify-content:space-between;padding:10px 0}.review-details dd{font-weight:800;margin:0}.admin-login{display:flex;gap:12px;align-items:end;max-width:540px}.admin-login label{flex:1}.admin-login input{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px;border:1px solid #d7ddea;border-radius:8px}.admin-toolbar{display:flex;justify-content:space-between;margin:30px 0 12px}.booking-list article{display:grid;grid-template-columns:1.2fr 1.2fr 1.3fr 2fr 1fr;gap:10px;padding:16px;border-top:1px solid #e6ddc8;font-size:.9rem}.booking-list span{color:#516589}.booking-list .status{text-transform:capitalize;font-weight:700;color:#173a78}.booking-list article strong{color:#102e67}@media(max-width:720px){.service-cards{grid-template-columns:1fr}.admin-login{display:block}.admin-login button{margin-top:14px}.booking-list article{grid-template-columns:1fr}.legal-content{margin-top:38px}.review-layout{grid-template-columns:1fr}}
