/* Journey folio: sharp edition. Opt-in only; the approved home hero takes square corners only. */
/* Muted text contrast: 5.1:1 on white and 4.8:1 on the light surface. */
body.design-sharp {
  --muted: #746d65;
}
body.design-sharp .site-header {
  border-bottom: 2px solid var(--ink);
}
body.design-sharp .desktop-nav {
  font-weight: 650;
  gap: 24px;
  margin-inline: 16px auto;
}
body.design-sharp .desktop-nav a:hover,
body.design-sharp .desktop-nav a[aria-current] {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 7px;
}
body.design-sharp .site-header .button {
  border-radius: 0;
  font-weight: 700;
}
body.design-sharp .mobile-menu > summary {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 5px;
}
body.design-sharp .mobile-menu[open] > nav {
  border-top: 1px solid var(--ink);
  padding-block: 16px;
}
@media (max-width: 900px) {
  body.design-sharp .site-header { z-index: 5; }
  body.design-sharp .mobile-menu[open] { flex-basis: auto; order: 0; }
  body.design-sharp .mobile-menu > summary::-webkit-details-marker { display: none; }
  body.design-sharp .mobile-menu[open] > nav {
    position: absolute;
    inset-inline: 0;
    top: calc(100% + 2px);
    z-index: 5;
    background: var(--paper);
    border-bottom: 2px solid var(--ink);
  }
}
body.design-sharp .mobile-menu[open] > nav a {
  padding-inline: 12px;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
}
body.design-sharp main > .breadcrumbs,
body.design-sharp main > .page-hero:not(.home-live-hero),
body.design-sharp main > :is(.band, .source-body, .airport-content, .location-layout, .toc, .legal-layout, .home-destination-links, .ghent-service-links) {
  inline-size: min(1248px, calc(100% - 64px));
  max-inline-size: none;
  margin-inline: auto;
  padding-inline: 0;
}
body.design-sharp main > .breadcrumbs {
  font-size: 12px;
  padding-top: 12px;
}
body.design-sharp main > .page-hero:not(.home-live-hero) {
  padding-block: 36px 40px;
  border-bottom: 2px solid var(--ink);
}
body.design-sharp .page-hero:not(.home-live-hero) h1,
body.design-sharp main > .source-body h1,
body.design-sharp .error-page h1 {
  font-size: clamp(36px, 4.2vw, 60px);
  line-height: 1.1;
  letter-spacing: -.025em;
  font-weight: 750;
  margin-bottom: 20px;
}
body.design-sharp main > :not(.home-live-hero) :is(h2, h3) {
  font-weight: 700;
  letter-spacing: -.02em;
}
body.design-sharp main > :not(.home-live-hero) .eyebrow,
body.design-sharp .section-number {
  font-weight: 700;
  letter-spacing: .1em;
}
body.design-sharp .band {
  border-top: 2px solid var(--ink);
  padding-block: 44px;
  column-gap: 48px;
}
body.design-sharp .section-number {
  margin-bottom: 16px;
  color: var(--accent);
}
body.design-sharp .section-title h2 {
  font-size: 28px;
  line-height: 1.2;
}
body.design-sharp main > :not(.home-live-hero) :is(.button, .btn, .tba-btn, .plan-cta, .hero-btn, .hero-tab),
body.design-sharp main > :not(.home-live-hero) :is(input, select, textarea, .mail-form button),
body.design-sharp main > :not(.home-live-hero) :is(.photo, .airport-hub-card, .widget-section, .review-card, .platform-badge, .help-box, .support-card, .note, .hero-form, .booking-widget, .tba-widget-wrapper, .hero-aside),
body.design-sharp main > .widget-section {
  border-radius: 0;
}
body.design-sharp main > :not(.home-live-hero) :is(.button, .btn, .tba-btn, .plan-cta, .hero-btn, .mail-form button) {
  font-weight: 700;
  min-block-size: 48px;
}
body.design-sharp main > :not(.home-live-hero) .text-link {
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
}
body.design-sharp .card {
  border-top: 2px solid var(--ink);
}
body.design-sharp .card h3 {
  margin-bottom: 12px;
}
body.design-sharp .widget-section,
body.design-sharp .source-body :is(.hero-form, .booking-widget, .tba-widget-wrapper) {
  border-color: var(--ink);
  border-top-width: 3px;
  background: var(--paper);
}
body.design-sharp .widget-help {
  border-top: 1px solid var(--line);
  padding-top: 12px;
}
body.design-sharp .faq-wrap > h2 {
  padding-bottom: 20px;
  border-bottom: 2px solid var(--ink);
  margin-bottom: 0;
}
body.design-sharp .faq-group {
  margin-top: 28px;
}
body.design-sharp .faq-group > h3 {
  font-size: 13px;
  font-weight: 700;
  padding-bottom: 12px;
}
body.design-sharp .faq-item summary {
  padding-block: 18px;
  font-weight: 650;
}
body.design-sharp .faq-item[open] {
  border-bottom-color: var(--ink);
}
body.design-sharp .money-facts article {
  border-top: 1px solid var(--ink);
  padding-top: 16px;
}
body.design-sharp .money-facts h3 {
  font-size: 22px;
}
body.design-sharp .airport-hub-directory .seo-grid {
  gap: 0;
  border: 1px solid var(--ink);
}
body.design-sharp .airport-hub-card {
  padding: 28px;
  border: 0;
  background: var(--paper);
}
body.design-sharp .airport-hub-card + .airport-hub-card {
  border-inline-start: 1px solid var(--ink);
}
body.design-sharp .airport-hub-card h3 {
  font-size: 28px;
}
body.design-sharp .airport-hub-card .eyebrow {
  margin-bottom: 12px;
}
body.design-sharp .location {
  padding-block: 40px;
  gap: 40px;
  border-bottom-color: var(--ink);
}
body.design-sharp .location h2 {
  font-size: 30px;
}
body.design-sharp .location .meeting-instructions {
  margin: 0;
  padding-inline-start: 1.25em;
  list-style: disc outside;
}
body.design-sharp .location .meeting-instructions > li {
  margin: 0 0 20px;
  padding: 0;
  font: inherit;
}
body.design-sharp .toc {
  padding-block: 12px;
  border-bottom-color: var(--ink);
}
body.design-sharp .toc a {
  font-weight: 650;
  text-decoration-thickness: 2px;
}
body.design-sharp .legal-toc {
  border-top: 2px solid var(--ink);
  align-self: start;
}
body.design-sharp .legal-toc a {
  font-size: 14px;
  padding-block: 8px;
  font-weight: 550;
}
body.design-sharp .reading h2 {
  border-top-color: var(--ink);
  font-size: 26px;
  margin-top: 36px;
}
body.design-sharp .reading {
  font-size: 16px;
}
body.design-sharp .reading p {
  line-height: 1.75;
}
body.design-sharp .site-footer {
  background: var(--ink);
  color: var(--paper);
  border-top: 0;
  padding-block: 44px 24px;
  margin-top: 24px;
}
body.design-sharp .site-footer .logo-plate {
  border-radius: 0;
  border: 0;
}
body.design-sharp .site-footer a {
  color: var(--paper);
}
body.design-sharp .site-footer a:hover {
  color: var(--paper);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}
body.design-sharp .site-footer a:focus-visible {
  outline-color: var(--paper);
}
body.design-sharp .footer-label {
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
body.design-sharp .footer-bottom {
  border-top-color: var(--muted);
  margin-top: 32px;
}
body.design-sharp .footer-bottom p {
  font-size: 12px;
}
@media (max-width: 900px) {
  body.design-sharp .band { padding-block: 36px; }
  body.design-sharp .section-title { gap: 12px; }
  body.design-sharp .section-number { margin-block: 6px 0; }
}
@media (max-width: 600px) {
  body.design-sharp main > .breadcrumbs,
  body.design-sharp main > .page-hero:not(.home-live-hero),
  body.design-sharp main > :is(.band, .source-body, .airport-content, .location-layout, .toc, .legal-layout, .home-destination-links, .ghent-service-links) {
    inline-size: calc(100% - 40px);
  }
  body.design-sharp main > .page-hero:not(.home-live-hero) { padding-block: 28px 32px; }
  body.design-sharp .page-hero:not(.home-live-hero) h1,
  body.design-sharp main > .source-body h1 { font-size: 36px; }
  body.design-sharp .band { padding-block: 32px; }
  body.design-sharp .section-title h2 { font-size: 26px; }
  body.design-sharp .airport-hub-card { padding: 22px; }
  body.design-sharp .airport-hub-card + .airport-hub-card { border-inline-start: 0; border-top: 1px solid var(--ink); }
  body.design-sharp .airport-hub-card h3 { font-size: 25px; }
  body.design-sharp .location { padding-block: 32px; gap: 20px; }
  body.design-sharp .location h2 { font-size: 27px; }
  body.design-sharp .site-footer { padding-block: 36px 20px; }
}
@media print {
  body.design-sharp .site-footer { display: none; }
}

/* Sharp editorial refinement for Home and Contact.
   Load after site.css and the Round 2 page styles.
   All rules require the opt-in body.design-sharp class.
   The home hero takes square corners only, by the owner's ruling of 20 October.
   Other rules in this section leave the header, footer and Antwerp pilot unchanged. */

body.design-sharp.page-home .home-live-hero .photo,
body.design-sharp.page-home .home-live-hero .button {
  border-radius: 0;
}
body.design-sharp .skip-link {
  border-radius: 0;
}

/* Home: an aligned comparison sheet with a clear company-response column. */
body.design-sharp.page-home .home-commitments,
body.design-sharp.page-home .home-directions {
  padding-block: 36px;
  border-top: 2px solid var(--ink);
}
body.design-sharp.page-home .home-section-heading {
  max-inline-size: none;
  margin-bottom: 24px;
}
body.design-sharp.page-home .home-commitments .home-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  align-items: end;
  gap: 40px;
}
body.design-sharp.page-home .home-section-heading h2 {
  font-size: clamp(28px, 2.7vw, 38px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.025em;
}
body.design-sharp.page-home .home-section-heading p {
  max-inline-size: 50ch;
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
}
body.design-sharp.page-home .commitments-table {
  font-size: 15px;
  line-height: 1.55;
}
body.design-sharp.page-home .commitments-table th,
body.design-sharp.page-home .commitments-table td {
  padding: 16px 20px;
}
body.design-sharp.page-home .commitments-table thead th {
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  background: var(--paper);
  color: var(--ink);
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: .025em;
  font-weight: 700;
}
body.design-sharp.page-home .commitments-table thead th:last-child {
  border-inline-start-color: var(--ink);
  background: var(--ink);
  color: var(--paper);
}
body.design-sharp.page-home .commitments-table tbody td {
  background: var(--surface);
  font-weight: 550;
}
body.design-sharp.page-home .commitments-table tbody tr:last-child th,
body.design-sharp.page-home .commitments-table tbody tr:last-child td {
  border-bottom-color: var(--ink);
}
body.design-sharp.page-home .home-section-link {
  margin-top: 12px;
}
body.design-sharp.page-home .home-direction-columns {
  gap: 40px;
}
body.design-sharp.page-home .home-direction h3 {
  border-top: 2px solid var(--ink);
  padding-top: 16px;
  margin-bottom: 16px;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.12;
}
body.design-sharp.page-home .home-direction h3 span {
  margin-top: 6px;
  font-size: 14px;
}
body.design-sharp.page-home .direction-concerns > div {
  padding-block: 16px;
}
body.design-sharp.page-home .direction-concerns dt {
  line-height: 1.45;
}
body.design-sharp.page-home .direction-concerns dd {
  margin-top: 7px;
  line-height: 1.6;
}

/* Contact: align with the existing site container and join the four doors. */
body.design-sharp .contact-form-wrapper input,
body.design-sharp .contact-form-wrapper select,
body.design-sharp .contact-form-wrapper textarea {
  font-size: 16px;
}
body.design-sharp.page-contact .communicator {
  inline-size: min(1248px, calc(100% - 64px));
  max-inline-size: none;
  margin-inline: auto;
  padding: 0 0 56px;
}
body.design-sharp.page-contact .contact-intro {
  padding: 32px 0;
  max-inline-size: 880px;
}
body.design-sharp.page-contact .contact-intro .eyebrow {
  margin-bottom: 14px;
}
body.design-sharp.page-contact .contact-intro h1 {
  margin-bottom: 16px;
  font-size: clamp(42px, 4.5vw, 64px);
  font-weight: 700;
  line-height: 1.04;
  letter-spacing: -.035em;
}
body.design-sharp.page-contact .contact-intro > p:last-child {
  font-size: 18px;
  line-height: 1.55;
}
body.design-sharp.page-contact .contact-doors {
  gap: 0;
  margin-bottom: 40px;
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid var(--ink);
}
body.design-sharp.page-contact .contact-door {
  padding: 24px 28px 28px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: var(--paper);
}
body.design-sharp.page-contact .contact-door:nth-child(odd) {
  border-inline-end: 1px solid var(--line);
}
body.design-sharp.page-contact .contact-door:nth-child(-n + 2) {
  border-bottom: 1px solid var(--line);
}
body.design-sharp.page-contact .contact-door-number {
  margin-bottom: 16px;
  font-size: 12px;
  line-height: 1.3;
  font-variant-numeric: tabular-nums;
}
body.design-sharp.page-contact .contact-door h2 {
  margin-bottom: 14px;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.025em;
}
body.design-sharp.page-contact .contact-door > p:not(.contact-door-number) {
  margin-bottom: 14px;
  font-size: 15px;
  line-height: 1.6;
}
body.design-sharp.page-contact .contact-door-actions {
  gap: 8px 20px;
  padding-top: 10px;
}
body.design-sharp.page-contact .contact-door-urgent {
  background: var(--ink);
  color: var(--paper);
}
body.design-sharp.page-contact .contact-door-urgent .contact-door-number,
body.design-sharp.page-contact .contact-door-urgent h2 {
  color: var(--paper);
}
body.design-sharp.page-contact .contact-door-urgent .button {
  background: var(--paper);
  border-color: var(--paper);
  color: var(--ink);
}
body.design-sharp.page-contact .contact-door-urgent .button:focus-visible {
  outline-color: var(--paper);
}
body.design-sharp.page-contact .contact-door-urgent .button:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--paper);
}
body.design-sharp.page-contact .contact-section {
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 40px;
  padding-block: 36px;
  border-top-color: var(--ink);
}
body.design-sharp.page-contact .contact-section-title h2 {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.025em;
}
body.design-sharp.page-contact .contact-channel-grid {
  gap: 24px;
}
body.design-sharp.page-contact .contact-channel-value {
  display: inline-flex;
  align-items: center;
  max-inline-size: 100%;
  font-size: 18px;
  line-height: 1.5;
}
body.design-sharp.page-contact .contact-person {
  margin-top: 24px;
  padding-top: 24px;
  border-top-color: var(--ink);
}
body.design-sharp.page-contact .contact-company-details {
  gap: 16px 28px;
}
body.design-sharp.page-contact .contact-company-details > div {
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
body.design-sharp.page-contact .contact-booking {
  border: 0;
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  border-radius: 0;
  padding: 28px 0;
  margin: 20px 0 36px;
  box-shadow: none;
}
body.design-sharp.page-contact .contact-booking > h2 {
  font-weight: 700;
  line-height: 1.12;
}

@media (max-width: 1000px) {
  body.design-sharp.page-contact .contact-section {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
}
@media (max-width: 760px) {
  body.design-sharp.page-home .home-commitments .home-section-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  body.design-sharp.page-home .home-direction-columns {
    gap: 32px;
  }
}
@media (max-width: 600px) {
  body.design-sharp.page-home .home-commitments,
  body.design-sharp.page-home .home-directions {
    padding-block: 28px;
  }
  body.design-sharp.page-home .commitments-table {
    font-size: 14px;
  }
  body.design-sharp.page-home .commitments-table th,
  body.design-sharp.page-home .commitments-table td {
    padding: 13px 10px;
  }
  body.design-sharp.page-home .commitments-table thead th {
    font-size: 12px;
    letter-spacing: 0;
  }
  body.design-sharp.page-home .home-direction h3 {
    font-size: 26px;
  }
  body.design-sharp.page-contact .communicator {
    inline-size: calc(100% - 40px);
    padding-bottom: 36px;
  }
  body.design-sharp.page-contact .contact-intro {
    padding-block: 28px;
  }
  body.design-sharp.page-contact .contact-intro > p:last-child {
    font-size: 17px;
  }
  body.design-sharp.page-contact .contact-doors {
    margin-bottom: 28px;
  }
  body.design-sharp.page-contact .contact-door {
    padding: 22px 20px;
  }
  body.design-sharp.page-contact .contact-door:nth-child(odd) {
    border-inline-end: 0;
  }
  body.design-sharp.page-contact .contact-door:not(:last-child) {
    border-bottom: 1px solid var(--line);
  }
  body.design-sharp.page-contact .contact-door h2 {
    font-size: 26px;
  }
  body.design-sharp.page-contact .contact-section {
    padding-block: 28px;
    gap: 20px;
  }
  body.design-sharp.page-contact .contact-section-title h2 {
    font-size: 27px;
  }
  body.design-sharp.page-contact .contact-booking {
    padding-block: 24px;
    margin: 16px 0 28px;
  }
}

/*
 * Sharp service-page treatment, reviewed against proposal head 3854f0f5.
 * Load after site.css and the round2 page styles.
 * Every selector requires body.design-sharp. No hero, header, footer,
 * booking container, custom element, form-control or pilot rules are added.
 *
 * Design recommendations implemented here:
 * 1. Vehicle options become square comparison cards with firm top rules.
 * 2. Capacity text remains visible and wraps; no icons replace its meaning.
 * 3. Long-distance assistance becomes one compact row before four options.
 * 4. Route tables retain real table semantics and all columns on phones.
 * 5. How-to steps receive bold numbers, crisp image edges and clear captions.
 * 6. Images keep intrinsic proportions and are never enlarged beyond source size.
 *
 * Remaining verification: rendered checks at 1440, 1280, 1024, 900, 820,
 * 700, 601, 390 and 360 px. This file has only been statically reviewed.
 */

/* Brussels city vehicle comparison. */
body.design-sharp.page-taxi-brussels-city .source-body .vehicle-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}

body.design-sharp.page-taxi-brussels-city .source-body .vehicle-card {
  display: flex;
  flex-direction: column;
  min-inline-size: 0;
  padding: 20px;
  border: 1px solid var(--line);
  border-block-start: 3px solid var(--ink);
  border-radius: 0;
  background: var(--paper);
}

body.design-sharp.page-taxi-brussels-city .source-body .vehicle-img {
  min-inline-size: 0;
}

body.design-sharp.page-taxi-brussels-city .source-body .vehicle-img .photo {
  inline-size: auto;
  max-inline-size: 100%;
  block-size: auto;
  margin: 0 auto 20px;
  border-radius: 0;
  object-fit: contain;
}

body.design-sharp.page-taxi-brussels-city .source-body .vehicle-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-inline-size: 0;
}

body.design-sharp.page-taxi-brussels-city .source-body .vehicle-body h3 {
  margin: 0 0 6px;
  font-size: 23px;
  line-height: 1.2;
  font-weight: 750;
  letter-spacing: -.02em;
}

body.design-sharp.page-taxi-brussels-city .source-body .vehicle-body > .quote-link {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  min-block-size: 44px;
  margin-block-end: 8px;
  font-size: 14px;
  font-weight: 700;
  text-decoration-thickness: 2px;
}

body.design-sharp.page-taxi-brussels-city .source-body .vehicle-note {
  margin-block-end: 16px;
  font-size: 14px;
  line-height: 1.5;
}

body.design-sharp.page-taxi-brussels-city .source-body .vehicle-features {
  margin-block-start: auto;
  padding-block-start: 16px;
  border-block-start: 1px solid var(--line);
  gap: 8px;
}

body.design-sharp.page-taxi-brussels-city .source-body .feature-badge {
  max-inline-size: 100%;
  padding: 6px 8px;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--surface);
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

body.design-sharp.page-taxi-brussels-city .source-body #brussels-districts .dest-cards {
  gap: 24px;
}

body.design-sharp.page-taxi-brussels-city .source-body #brussels-districts .dest-card {
  min-inline-size: 0;
  padding-block: 20px 8px;
  border-block-start: 2px solid var(--ink);
}

body.design-sharp.page-taxi-brussels-city .source-body #brussels-districts .dest-card h3 {
  margin-block-end: 12px;
  font-size: 22px;
  font-weight: 750;
  letter-spacing: -.02em;
}

body.design-sharp.page-taxi-brussels-city .source-body #brussels-districts .dest-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-block-end: 12px;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 600;
}

body.design-sharp.page-taxi-brussels-city .source-body #brussels-districts .mini-desc {
  font-size: 15px;
  line-height: 1.6;
}

/* Long-distance options, below the unchanged booking hero. */
body.design-sharp.page-long-distance-taxi .source-body .plans-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 16px;
  margin-block: 24px;
}

body.design-sharp.page-long-distance-taxi .source-body .plans-help {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 24px;
  align-items: center;
  padding: 20px;
  border: 1px solid var(--line);
  border-inline-start: 3px solid var(--accent);
  background: var(--surface);
}

body.design-sharp.page-long-distance-taxi .source-body .plans-help h3 {
  grid-column: 1;
  margin: 0;
  font-size: 20px;
  font-weight: 750;
  letter-spacing: -.02em;
}

body.design-sharp.page-long-distance-taxi .source-body .plans-help p {
  grid-column: 1;
  margin: 0;
  font-size: 14px;
}

body.design-sharp.page-long-distance-taxi .source-body .plans-help > .btn {
  grid-column: 2;
  grid-row: 1 / 3;
  border-radius: 0;
}

body.design-sharp.page-long-distance-taxi .source-body .plan-card {
  display: flex;
  flex-direction: column;
  min-inline-size: 0;
  padding: 20px;
  border: 1px solid var(--line);
  border-block-start: 3px solid var(--ink);
  border-radius: 0;
}

body.design-sharp.page-long-distance-taxi .source-body .plan-card.featured {
  border-block-start-color: var(--accent);
}

body.design-sharp.page-long-distance-taxi .source-body .plan-name {
  font-size: 23px;
  font-weight: 750;
  line-height: 1.2;
  letter-spacing: -.02em;
}

body.design-sharp.page-long-distance-taxi .source-body .plan-desc {
  margin-block-start: 12px;
  font-size: 14px;
  line-height: 1.55;
}

body.design-sharp.page-long-distance-taxi .source-body .plan-badge {
  margin-block-end: 12px;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.design-sharp.page-long-distance-taxi .source-body .plan-features {
  margin-block: 20px;
  padding-inline-start: 18px;
  font-size: 14px;
  line-height: 1.55;
}

body.design-sharp.page-long-distance-taxi .source-body .plan-features li {
  margin-block: 8px;
  padding-inline-start: 0;
}

body.design-sharp.page-long-distance-taxi .source-body .plan-card > .btn {
  justify-content: center;
  inline-size: 100%;
  margin-block-start: auto;
  border-radius: 0;
}

body.design-sharp.page-long-distance-taxi .source-body .destination-card {
  display: flex;
  flex-direction: column;
  min-inline-size: 0;
  padding-block: 20px 8px;
  border-block-start: 2px solid var(--ink);
}

body.design-sharp.page-long-distance-taxi .source-body .destination-card h3 {
  margin-block-end: 12px;
  font-size: 22px;
  font-weight: 750;
  letter-spacing: -.02em;
}

body.design-sharp.page-long-distance-taxi .source-body .destination-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-block-end: 12px;
  font-size: 13px;
  font-weight: 600;
}

body.design-sharp.page-long-distance-taxi .source-body .destination-card p {
  font-size: 15px;
  line-height: 1.6;
}

body.design-sharp.page-long-distance-taxi .source-body .destination-card > .quote-link {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  min-block-size: 44px;
  margin-block-start: auto;
  font-size: 14px;
  font-weight: 700;
  text-decoration-thickness: 2px;
}

/* Keep the route tables semantic and readable without page-wide overflow. */
body.design-sharp.page-taxi-brussels-city .source-body .city-route-table,
body.design-sharp.page-long-distance-taxi .source-body .routes-table {
  table-layout: fixed;
  inline-size: 100%;
  border-block-start: 2px solid var(--ink);
  font-variant-numeric: tabular-nums;
}

body.design-sharp.page-taxi-brussels-city .source-body .city-route-table th,
body.design-sharp.page-long-distance-taxi .source-body .routes-table th {
  padding-block: 14px;
  background: var(--surface);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.4;
  letter-spacing: .04em;
}

body.design-sharp.page-taxi-brussels-city .source-body .city-route-table th:first-child,
body.design-sharp.page-long-distance-taxi .source-body .routes-table th:first-child {
  inline-size: 37%;
}

body.design-sharp.page-taxi-brussels-city .source-body .city-route-table th:nth-child(2),
body.design-sharp.page-long-distance-taxi .source-body .routes-table th:nth-child(2) {
  inline-size: 17%;
}

body.design-sharp.page-taxi-brussels-city .source-body .city-route-table th:nth-child(3),
body.design-sharp.page-long-distance-taxi .source-body .routes-table th:nth-child(3) {
  inline-size: 22%;
}

body.design-sharp.page-taxi-brussels-city .source-body .city-route-table th:nth-child(4),
body.design-sharp.page-long-distance-taxi .source-body .routes-table th:nth-child(4) {
  inline-size: 24%;
}

body.design-sharp.page-taxi-brussels-city .source-body .city-route-table td,
body.design-sharp.page-long-distance-taxi .source-body .routes-table td {
  padding-block: 16px;
  font-size: 14px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

/* The guide keeps each supplied screenshot intact and at natural size or smaller. */
body.design-sharp.page-how-to-book-a-taxi .how-step {
  padding-block: 32px;
  border-block-start: 2px solid var(--ink);
}

body.design-sharp.page-how-to-book-a-taxi .how-step-number {
  margin-block-end: 12px;
  font-size: 40px;
  font-weight: 750;
  line-height: 1;
  letter-spacing: -.03em;
  font-variant-numeric: tabular-nums;
}

body.design-sharp.page-how-to-book-a-taxi .how-step h3 {
  font-size: 27px;
  font-weight: 750;
  line-height: 1.15;
  letter-spacing: -.02em;
}

body.design-sharp.page-how-to-book-a-taxi .how-shot img {
  inline-size: auto;
  max-inline-size: 100%;
  block-size: auto;
  border: 1px solid var(--line);
  border-radius: 0;
  object-fit: contain;
}

body.design-sharp.page-how-to-book-a-taxi .how-shot figcaption {
  padding-inline-start: 16px;
  border-inline-start: 2px solid var(--accent);
  font-size: 15px;
  line-height: 1.65;
}

body.design-sharp.page-how-to-book-a-taxi .how-image-links a {
  font-size: 13px;
  font-weight: 650;
  text-decoration-thickness: 2px;
}

body.design-sharp.page-how-to-book-a-taxi .how-next-steps {
  gap: 16px;
}

body.design-sharp.page-how-to-book-a-taxi .how-next-steps li {
  min-inline-size: 0;
  padding: 20px;
  border-block-start: 2px solid var(--ink);
  background: var(--surface);
}

body.design-sharp.page-how-to-book-a-taxi .how-next-steps strong {
  font-size: 18px;
  font-weight: 750;
  line-height: 1.3;
}

body.design-sharp.page-how-to-book-a-taxi .how-help {
  border-block-start: 2px solid var(--ink);
}

@media (max-width: 1100px) {
  body.design-sharp.page-long-distance-taxi .source-body .plans-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  body.design-sharp.page-taxi-brussels-city .source-body .vehicle-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.design-sharp.page-how-to-book-a-taxi .how-step-number {
    margin-block-end: 0;
    font-size: 32px;
  }

  body.design-sharp.page-how-to-book-a-taxi .how-step h3 {
    font-size: 25px;
  }
}

@media (max-width: 600px) {
  body.design-sharp.page-taxi-brussels-city .source-body .vehicle-cards,
  body.design-sharp.page-long-distance-taxi .source-body .plans-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.design-sharp.page-taxi-brussels-city .source-body .vehicle-card,
  body.design-sharp.page-long-distance-taxi .source-body .plan-card {
    padding: 18px;
  }

  body.design-sharp.page-long-distance-taxi .source-body .plans-help {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 18px;
  }

  body.design-sharp.page-long-distance-taxi .source-body .plans-help > .btn {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
  }

  body.design-sharp.page-taxi-brussels-city .source-body .city-route-table th,
  body.design-sharp.page-long-distance-taxi .source-body .routes-table th {
    padding-inline: 4px;
    font-size: 11px;
    letter-spacing: 0;
  }

  body.design-sharp.page-taxi-brussels-city .source-body .city-route-table td,
  body.design-sharp.page-long-distance-taxi .source-body .routes-table td {
    padding-inline: 4px;
    font-size: 12px;
  }

  body.design-sharp.page-how-to-book-a-taxi .how-step {
    padding-block: 24px;
  }

  body.design-sharp.page-how-to-book-a-taxi .how-step h3 {
    font-size: 24px;
  }

  body.design-sharp.page-how-to-book-a-taxi .how-shot picture img {
    max-inline-size: min(100%, 390px);
  }

  body.design-sharp.page-how-to-book-a-taxi .how-next-steps li {
    padding: 18px;
  }
}

/* Hourly service uses the existing hero and band components. */
body.design-sharp .service-page-hero {
  grid-template-columns: minmax(0, 1fr);
}
body.design-sharp .service-page-hero .hero-copy {
  max-inline-size: 880px;
  min-inline-size: 0;
}
body.design-sharp.page-chauffeur-service .section-title,
body.design-sharp.page-chauffeur-service .section-content {
  min-inline-size: 0;
  overflow-wrap: anywhere;
}

/* Hourly request extends the existing mail-form component. */
body.design-sharp .hourly-request-form .form-grid,
body.design-sharp .hourly-request-form .hourly-company-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  min-inline-size: 0;
}
body.design-sharp .hourly-request-form .form-group {
  min-inline-size: 0;
}
body.design-sharp .hourly-request-form .form-group-wide {
  grid-column: 1 / -1;
}
body.design-sharp .hourly-request-form .hourly-company-fields {
  margin: 0;
  padding: 20px;
  border: 1px solid var(--line);
}
body.design-sharp .hourly-request-form .hourly-company-fields[hidden] {
  display: none;
}
body.design-sharp .hourly-request-form :is(input:not([type="checkbox"]):not([type="hidden"]), select, textarea) {
  box-sizing: border-box;
  inline-size: 100%;
  min-inline-size: 0;
  max-inline-size: 100%;
}
body.design-sharp .hourly-request-form textarea {
  resize: vertical;
}
body.design-sharp .hourly-request-form .hourly-invoice-label {
  display: flex;
  align-items: baseline;
  gap: 10px;
}
body.design-sharp .hourly-request-form input[type="checkbox"] {
  flex: 0 0 auto;
  inline-size: auto;
}
body.design-sharp .hourly-request-form .form-hint {
  margin-block: 6px 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--muted);
}
body.design-sharp .hourly-request-form .form-submit {
  margin-block: 24px 12px;
}
body.design-sharp .hourly-request-form button {
  max-inline-size: 100%;
  white-space: normal;
}
@media (max-width: 600px) {
  body.design-sharp .hourly-request-form .form-grid,
  body.design-sharp .hourly-request-form .hourly-company-fields {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Glance round 2. The source head and every original content block remain intact.
   This layer is local to the Glance site. The specimen keeps its mode switch. */
body.design-sharp.glance-site {
  --muted: #746d65;
  --radius: 0;
  background: var(--surface);
}
body.design-sharp.glance-site .site-header {
  padding-block: 24px;
  border-bottom: 1px solid var(--ink);
}
body.design-sharp.glance-site .desktop-nav { font-weight: 550; }
body.design-sharp.glance-site .button { font-weight: 650; }
body.design-sharp.glance-site .glance-decision {
  inline-size: min(1248px, calc(100% - 64px));
  margin-inline: auto;
  padding-block: 52px 40px;
  border-bottom: 1px solid var(--ink);
}
body.design-sharp.glance-site .glance-lead {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 76px);
  align-items: start;
}
body.design-sharp.glance-site .glance-eyebrow {
  color: var(--accent);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 0 0 20px;
}
body.design-sharp.glance-site .glance-intro > h1 {
  margin: 0 0 24px;
  max-inline-size: 16ch;
  font-size: clamp(42px, 4.8vw, 68px);
  font-weight: 650;
  letter-spacing: -.045em;
  line-height: 1.04;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
body.design-sharp.glance-site .glance-intro > h1 + p {
  max-inline-size: 39ch;
  font-size: 19px;
  line-height: 1.5;
  margin-bottom: 20px;
}
body.design-sharp.glance-site .glance-note {
  max-inline-size: 44ch;
  font-size: 14px;
  line-height: 1.6;
  color: var(--muted);
}
body.design-sharp.glance-site .glance-choices {
  display: grid;
  gap: 12px;
}
body.design-sharp.glance-site .glance-choice {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px;
  align-items: center;
  gap: 20px;
  padding: 22px 24px;
  min-block-size: 100px;
  border: 1px solid var(--ink);
  background: var(--paper);
  text-decoration: none;
}
body.design-sharp.glance-site .glance-choice:hover {
  border-color: var(--accent);
  color: var(--accent);
}
body.design-sharp.glance-site .glance-choice strong {
  display: block;
  font-size: 23px;
  line-height: 1.25;
  letter-spacing: -.025em;
}
body.design-sharp.glance-site .glance-choice-note {
  display: block;
  margin-top: 7px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--muted);
}
body.design-sharp.glance-site .glance-arrow {
  color: var(--accent);
  font-size: 27px;
  line-height: 1;
}
body.design-sharp.glance-site .glance-assurances {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  margin-top: 36px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}
body.design-sharp.glance-site .glance-assurances p { margin: 0; font-size: 14px; }
body.design-sharp.glance-site .glance-assurances strong,
body.design-sharp.glance-site .glance-assurances span { display: block; }
body.design-sharp.glance-site .glance-assurances span { color: var(--muted); margin-top: 6px; }
/* The complete original page is the reading layer, not a disclosure. */
body.design-sharp.glance-site main > .page-hero:not(.home-live-hero) {
  padding-block: 40px;
  border-bottom: 1px solid var(--line);
}
body.design-sharp.glance-site main > :is(.page-hero, .source-body) h1 {
  font-size: clamp(32px, 3.3vw, 44px);
  font-weight: 650;
  letter-spacing: -.025em;
  line-height: 1.12;
}
body.design-sharp.glance-site main > :not(.glance-decision) :is(h2, h3) {
  font-weight: 620;
  letter-spacing: -.025em;
}
body.design-sharp.glance-site .band {
  border-top: 1px solid var(--ink);
  padding-block: 44px;
}
body.design-sharp.glance-site :is(.card, .location) { border-color: var(--line); }
body.design-sharp.glance-site :is(.card, .vehicle-card, .plan-card, .contact-door) {
  box-shadow: none;
}
body.design-sharp.glance-site .site-footer {
  background: var(--surface);
  color: var(--ink);
  border-top: 1px solid var(--ink);
}
body.design-sharp.glance-site .site-footer a:hover { color: var(--accent); }
body.design-sharp.glance-site .site-footer a { color: var(--ink); }
body.design-sharp.glance-site .site-footer a:focus-visible { outline-color: var(--accent); }
body.design-sharp.glance-site .footer-bottom { border-color: var(--line); }
body.design-sharp.glance-site .photo { max-inline-size: 100%; }
@media (max-width: 900px) {
  body.design-sharp.glance-site .glance-lead { gap: 32px; }
}
@media (max-width: 650px) {
  body.design-sharp.glance-site .site-header { padding-block: 16px; }
  body.design-sharp.glance-site .glance-decision {
    inline-size: calc(100% - 40px);
    padding-block: 28px 32px;
  }
  body.design-sharp.glance-site .glance-lead { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.design-sharp.glance-site .glance-eyebrow { margin-bottom: 14px; }
  body.design-sharp.glance-site .glance-intro > h1 { font-size: 42px; margin-bottom: 16px; }
  body.design-sharp.glance-site .glance-intro > h1 + p { font-size: 17px; margin-bottom: 12px; }
  body.design-sharp.glance-site .glance-note { font-size: 13px; }
  body.design-sharp.glance-site .glance-choice { min-block-size: 84px; padding: 16px 18px; gap: 12px; }
  body.design-sharp.glance-site .glance-choice strong { font-size: 21px; }
  body.design-sharp.glance-site .glance-choice-note { font-size: 13px; margin-top: 4px; }
  body.design-sharp.glance-site .glance-assurances { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 28px; padding-top: 20px; }
}

body.design-sharp.glance-site.page-contact .glance-choices {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.design-sharp.glance-site.page-contact .glance-choice {
  min-block-size: 144px;
  padding: 18px;
  gap: 12px;
}
@media (max-width: 650px) {
  body.design-sharp.glance-site.page-contact .glance-choice {
    grid-template-columns: minmax(0, 1fr);
    min-block-size: 120px;
    padding: 14px;
    gap: 8px;
  }
  body.design-sharp.glance-site.page-contact .glance-choice strong { font-size: 19px; }
  body.design-sharp.glance-site.page-contact .glance-arrow { justify-self: end; font-size: 22px; }
}

/* Round 3, Item 1: the source H1 and first paragraph own the decision heading. */
body.design-sharp.glance-site .glance-intro > h1 + p {
  color: var(--ink);
  font-weight: 400;
  letter-spacing: normal;
  text-transform: none;
}
body.design-sharp.glance-site main > .breadcrumbs + .glance-decision {
  padding-block-start: 24px;
}
body.design-sharp.glance-site .page-hero:has(> .hero-copy:empty) {
  padding-block: 0;
  border: 0;
}

/* Round 3, Item 2: the guarantee sits directly above the booking choices. */
body.design-sharp.glance-site .glance-actions { min-inline-size: 0; }
body.design-sharp.glance-site .glance-guarantee {
  margin: 0 0 18px;
  max-inline-size: 48ch;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 600;
}
body.design-sharp.glance-site.page-home .glance-lead {
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
}
body.design-sharp.glance-site.page-home .glance-intro > h1 { max-inline-size: none; }
body.design-sharp.glance-site.page-home .glance-choices {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 650px) {
  body.design-sharp.glance-site.page-home .glance-choices { grid-template-columns: minmax(0, 1fr); }
}

/* Round 3, Item 4: one editable event, followed by the retained Home cards. */
body.design-sharp.glance-site.page-home .home-live-hero {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas: "event event" "safety benefits";
  gap: 32px;
  align-items: start;
}
body.design-sharp.glance-site .event-feature {
  grid-area: event;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 32px;
  align-items: center;
}
body.design-sharp.glance-site .event-feature .hero-photograph { grid-area: auto; margin: 0; }
body.design-sharp.glance-site .event-feature .photo { display: block; inline-size: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
body.design-sharp.glance-site .event-panel { min-inline-size: 0; }
body.design-sharp.glance-site .event-panel[hidden] { display: none; }
body.design-sharp.glance-site .event-feature:has(.event-panel[hidden]) { grid-template-columns: minmax(0, 1fr); }
body.design-sharp.glance-site .event-sample { color: var(--accent); font-size: 13px; }
body.design-sharp.glance-site .event-panel h2 { font-size: 32px; margin-block: 12px; }
body.design-sharp.glance-site .event-date { font-weight: 650; }
body.design-sharp.glance-site .home-live-hero .hero-safety { grid-area: safety; }
body.design-sharp.glance-site .home-live-hero .hero-safety > .photo { inline-size: 100%; block-size: auto; aspect-ratio: 2 / 1; object-fit: contain; }
body.design-sharp.glance-site .hero-safety .sr-only {
  position: static; inline-size: auto; block-size: auto; width: auto; height: auto;
  margin: 20px 0 0; clip: auto; clip-path: none; overflow: visible; white-space: normal;
}
body.design-sharp.glance-site .hero-safety h2 { font-size: 26px; margin-block: 0 12px; }
body.design-sharp.glance-site .home-live-hero .hero-benefits { grid-area: benefits; align-self: start; padding-block: 24px; }
@media (max-width: 650px) {
  body.design-sharp.glance-site.page-home .home-live-hero {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "event" "safety" "benefits";
  }
  body.design-sharp.glance-site .event-feature { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
body.design-sharp.glance-site .event-feature .hero-photograph { block-size: auto; }
body.design-sharp.glance-site .event-feature .hero-photograph .photo { position: static; block-size: auto; }

/* Round 3, Item 5: blend the supplied white-backed logo into light surfaces. */
body.design-sharp.glance-site .site-header .brand-logo,
body.design-sharp.glance-site .site-footer .brand-logo {
  mix-blend-mode: multiply;
}
body.design-sharp.glance-site .site-footer .logo-plate {
  background: transparent;
}

/* Round 3, Item 6: a dismissible notice below the page, inside the safe area. */
body.design-sharp.glance-site.glance-notice-visible {
  padding-block-end: calc(64px + env(safe-area-inset-bottom, 0px));
}
body.design-sharp.glance-site .glance-notice {
  position: fixed;
  inset-inline: 0;
  inset-block-end: env(safe-area-inset-bottom, 0px);
  z-index: 40;
  box-sizing: border-box;
  block-size: 64px;
  max-block-size: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px max(20px, calc((100vw - 1248px) / 2));
  background: var(--paper);
  border-block-start: 1px solid var(--ink);
  color: var(--ink);
}
body.design-sharp.glance-site .glance-notice[hidden] { display: none; }
body.design-sharp.glance-site .glance-notice p { margin: 0; font-size: 14px; line-height: 1.35; }
body.design-sharp.glance-site .glance-notice button {
  flex: 0 0 44px;
  inline-size: 44px;
  block-size: 44px;
  padding: 0;
  border: 1px solid var(--ink);
  border-radius: 0;
  background: var(--paper);
  color: var(--ink);
  font: inherit;
  font-size: 24px;
  cursor: pointer;
}
body.design-sharp.glance-site .glance-notice button:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  body.design-sharp.glance-site .glance-notice,
  body.design-sharp.glance-site .glance-notice * { animation: none; transition: none; }
}

/* Round 3, Item 7: neutral names until the owner supplies a heading and logos. */
body.design-sharp.glance-site .glance-client-strip {
  inline-size: min(1248px, calc(100% - 64px));
  margin: 32px auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
body.design-sharp.glance-site .glance-client-strip > div {
  display: grid;
  place-items: center;
  min-block-size: 96px;
  padding: 20px;
  border: 1px solid var(--line);
  color: var(--muted);
  text-align: center;
  font-size: 18px;
  overflow-wrap: anywhere;
}
@media (max-width: 650px) {
  body.design-sharp.glance-site .glance-client-strip {
    inline-size: calc(100% - 40px);
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
}

/* Round 3 proof: keep the event photo inside its grid track at intermediate widths. */
body.design-sharp.glance-site .event-feature .hero-photograph {
  inline-size: 100%;
  max-inline-size: 100%;
  min-inline-size: 0;
  align-self: center;
  aspect-ratio: auto;
}

/* Owner's link ruling, 22 October: one action holds both retained intents. */
body.design-sharp.glance-site .glance-choice-copy {
  display: grid;
  gap: 16px;
}
body.design-sharp.glance-site.page-contact .glance-choice:first-child {
  grid-column: 1 / -1;
}
body.design-sharp.glance-site.page-contact .glance-choice-copy {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Round 5, Item 2: the approved fluid grid and shared header. */
body.design-sharp.glance-site {
  --glance-gutter: clamp(20px, 3.5vw, 72px);
  --ink: #1c1a17;
  --accent: #c0281a;
  --surface: #faf8f5;
  --line: #ebe6df;
  --success: #1f7a4d;
  --paper: #ffffff;
}
body.design-sharp.glance-site .site-header,
body.design-sharp.glance-site main > :is(.breadcrumbs, .page-hero, .glance-decision, .band, .source-body, .airport-content, .location-layout, .toc, .legal-layout, .home-destination-links, .ghent-service-links, .communicator, .home-commitments, .home-directions, .how-guide, .how-help, .error-page),
body.design-sharp.glance-site .glance-client-strip {
  inline-size: calc(100% - 2 * var(--glance-gutter));
  max-inline-size: none;
  margin-inline: auto;
  padding-inline: 0;
}
body.design-sharp.glance-site main > :is(.reading, .faq-wrap, .widget-section) {
  inline-size: calc(100% - 2 * var(--glance-gutter));
  max-inline-size: none;
  margin-inline: auto;
}
body.design-sharp.glance-site .site-footer {
  padding-inline: var(--glance-gutter);
}
body.design-sharp.glance-site main :is(.reading, .section-content, .airport-content, .source-body, .hero-copy) > p {
  max-inline-size: 70ch;
}
body.design-sharp.glance-site :is(a, button, summary, input, select, textarea):focus-visible,
body.design-sharp.glance-site .site-footer a:focus-visible,
body.design-sharp.glance-site .contact-door-urgent .button:focus-visible,
body.design-sharp.glance-site .glance-notice button:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 2px;
}
body.design-sharp.glance-site .site-header {
  position: relative;
  z-index: 5;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 32px;
  padding-block: 24px;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}
body.design-sharp.glance-site .site-header .wordmark {
  order: 0;
  flex-shrink: 0;
}
body.design-sharp.glance-site .site-header .brand-logo {
  inline-size: 198px;
  block-size: auto;
}
body.design-sharp.glance-site .desktop-nav {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 28px;
  margin: 0 0 0 40px;
  font-size: 16px;
  font-weight: 550;
}
body.design-sharp.glance-site .desktop-nav > a {
  padding-block: 10px;
}
body.design-sharp.glance-site .services-menu {
  position: relative;
}
body.design-sharp.glance-site .services-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 10px 0;
  min-block-size: 44px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-weight: 550;
  white-space: nowrap;
}
body.design-sharp.glance-site .services-toggle:hover,
body.design-sharp.glance-site .services-toggle.has-current,
body.design-sharp.glance-site .services-toggle[aria-expanded="true"] {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 7px;
}
body.design-sharp.glance-site .services-toggle[aria-expanded="true"] > svg {
  transform: rotate(180deg);
}
body.design-sharp.glance-site .services-panel {
  position: absolute;
  z-index: 6;
  inset-block-start: calc(100% + 14px);
  inset-inline-start: -20px;
  inline-size: 300px;
  padding: 8px 0;
  border: 1px solid var(--line);
  background: var(--paper);
}
body.design-sharp.glance-site .services-panel > a {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  min-block-size: 48px;
  padding: 0 20px;
  white-space: normal;
}
body.design-sharp.glance-site .services-panel > a + a {
  border-top: 1px solid var(--line);
}
body.design-sharp.glance-site .services-panel > a > svg {
  flex-shrink: 0;
  color: var(--accent);
}
body.design-sharp.glance-site .header-actions {
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
  margin-inline-start: auto;
  flex-shrink: 0;
}
body.design-sharp.glance-site .header-phone {
  display: flex;
  font-size: 16px;
}
body.design-sharp.glance-site .phone-info-toggle {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 44px;
  inline-size: 44px;
  block-size: 44px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
}
body.design-sharp.glance-site .phone-info-toggle[aria-expanded="true"] .info-circle {
  fill: var(--ink);
}
body.design-sharp.glance-site .phone-info-toggle[aria-expanded="true"] .info-stem {
  stroke: var(--paper);
}
body.design-sharp.glance-site .phone-info-toggle[aria-expanded="true"] .info-dot {
  fill: var(--paper);
}
body.design-sharp.glance-site .header-phone-note {
  position: absolute;
  z-index: 6;
  inset-block-start: calc(100% + 14px);
  inset-inline-end: 0;
  inline-size: 300px;
  margin: 0;
  padding: 16px 20px;
  border: 1px solid var(--line);
  background: var(--paper);
  font-size: 14px;
  line-height: 1.5;
}
body.design-sharp.glance-site .header-phone-note a,
body.design-sharp.glance-site .mobile-phone-note a {
  display: inline-flex;
  align-items: center;
  min-block-size: 44px;
}
body.design-sharp.glance-site .mobile-menu {
  display: none;
}
@media (max-width: 1023px) {
  body.design-sharp.glance-site .site-header {
    justify-content: space-between;
    gap: 12px;
    padding-block: 16px;
  }
  body.design-sharp.glance-site .site-header .brand-logo {
    inline-size: 165px;
  }
  body.design-sharp.glance-site .desktop-nav,
  body.design-sharp.glance-site .header-actions {
    display: none;
  }
  body.design-sharp.glance-site .mobile-menu {
    display: block;
    order: 1;
    flex: 0 0 auto;
  }
  body.design-sharp.glance-site .mobile-menu > summary {
    min-block-size: 44px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    list-style: none;
    font-size: 15px;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 4px;
  }
  body.design-sharp.glance-site .mobile-menu > summary::-webkit-details-marker {
    display: none;
  }
  body.design-sharp.glance-site .mobile-menu > nav {
    position: absolute;
    z-index: 6;
    inset-inline: 0;
    inset-block-start: 100%;
    display: flex;
    flex-direction: column;
    gap: 0;
    max-block-size: calc(100dvh - 109px);
    overflow-y: auto;
    padding: 4px 0 20px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: var(--surface);
  }
  body.design-sharp.glance-site .mobile-menu > nav > a {
    min-block-size: 48px;
    padding: 0;
    border-bottom: 1px solid var(--line);
    font-size: 17px;
    text-decoration: none;
  }
  body.design-sharp.glance-site .mobile-menu > nav > a[aria-current] {
    text-decoration: underline;
    text-decoration-thickness: 2px;
  }
  body.design-sharp.glance-site .mobile-services-label {
    margin: 14px 0 2px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted);
  }
  body.design-sharp.glance-site .mobile-menu .mobile-nav-divider,
  body.design-sharp.glance-site .mobile-menu .mobile-phone {
    margin-top: 12px;
  }
  body.design-sharp.glance-site .mobile-menu > nav > .mobile-phone {
    border-bottom: 0;
    font-weight: 600;
  }
  body.design-sharp.glance-site .mobile-phone-note {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--muted);
  }
  body.design-sharp.glance-site .mobile-menu[open] > nav .mobile-phone-note a {
    border: 0;
    padding: 0;
    text-decoration: underline;
    font-size: inherit;
  }
}
@media print {
  body.design-sharp.glance-site .site-header { display: none; }
}

/* Round 5, Item 3: Home's approved introduction, safety and guarantee. */
body.design-sharp.glance-site.page-home .glance-decision {
  padding-block: 52px 40px;
  border-bottom-color: var(--line);
}
body.design-sharp.glance-site.page-home .glance-lead {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 32px 76px;
}
body.design-sharp.glance-site.page-home .glance-intro {
  flex: 1.3 1 480px;
  min-inline-size: 0;
}
body.design-sharp.glance-site.page-home .glance-actions {
  flex: 1 1 460px;
}
body.design-sharp.glance-site.page-home .glance-intro > .glance-eyebrow {
  line-height: 1.6;
}
body.design-sharp.glance-site.page-home .glance-intro > h1 {
  max-inline-size: 14ch;
  font-size: clamp(42px, 4.8vw, 68px);
  margin: 0 0 24px;
  text-wrap: wrap;
  overflow-wrap: normal;
}
body.design-sharp.glance-site.page-home .glance-intro > .live-subtitle {
  max-inline-size: none;
  margin: 0;
  font-size: 22px;
  line-height: 1.4;
  font-style: italic;
  font-weight: 700;
  color: var(--ink);
}
body.design-sharp.glance-site.page-home .glance-choices {
  grid-template-columns: minmax(0, 1fr);
}
body.design-sharp.glance-site.page-home .glance-choice {
  grid-template-columns: minmax(0, 1fr) 26px;
  border-color: var(--line);
}
body.design-sharp.glance-site.page-home .glance-arrow > svg {
  display: block;
  inline-size: 26px;
  block-size: 26px;
}
body.design-sharp.glance-site.page-home .glance-choice-note {
  margin-top: 6px;
}
body.design-sharp.glance-site.page-home .glance-choice-booking {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--paper);
}
body.design-sharp.glance-site.page-home .glance-choice-booking strong {
  white-space: nowrap;
}
body.design-sharp.glance-site.page-home .glance-choice-booking :is(.glance-choice-note, .glance-arrow) {
  color: var(--paper);
}
body.design-sharp.glance-site.page-home .glance-choice-booking:hover {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--paper);
}
body.design-sharp.glance-site.page-home .glance-decision .hero-safety {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  grid-template-areas: "copy image";
  align-items: center;
  gap: 24px 32px;
  padding-top: 48px;
}
body.design-sharp.glance-site.page-home .hero-safety-copy {
  grid-area: copy;
}
body.design-sharp.glance-site.page-home .hero-safety h2 {
  margin: 0 0 12px;
  font-size: 30px;
  font-weight: 620;
  letter-spacing: -.025em;
  line-height: 1.15;
  text-wrap: wrap;
}
body.design-sharp.glance-site.page-home .hero-safety p {
  max-inline-size: 70ch;
  margin: 0;
  font-size: 16px;
  line-height: 1.65;
}
body.design-sharp.glance-site.page-home .hero-safety > .photo {
  grid-area: image;
  inline-size: 300px;
  max-inline-size: 100%;
  block-size: auto;
  aspect-ratio: 624 / 512;
  object-fit: contain;
  border-radius: 0;
}
body.design-sharp.glance-site.page-home .home-guarantee {
  margin-top: 40px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}
body.design-sharp.glance-site.page-home .home-guarantee p {
  margin: 0;
  font-size: 22px;
  line-height: 1.9;
}
body.design-sharp.glance-site.page-home .home-guarantee mark {
  padding: 4px 8px;
  background: var(--accent);
  color: var(--paper);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
body.design-sharp.glance-site.page-home .home-guarantee mark:first-child {
  font-weight: 650;
}
/* The remaining old hero temporarily contains the event only until Item 4. */
body.design-sharp.glance-site.page-home .home-live-hero {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "event";
}
@media (max-width: 650px) {
  body.design-sharp.glance-site.page-home .glance-decision {
    padding-block: 28px 32px;
  }
  body.design-sharp.glance-site.page-home .glance-lead {
    gap: 24px;
  }
  body.design-sharp.glance-site.page-home .glance-intro > h1 {
    font-size: 42px;
    margin-bottom: 16px;
  }
  body.design-sharp.glance-site.page-home .glance-intro > .live-subtitle {
    font-size: 18px;
  }
  body.design-sharp.glance-site.page-home .glance-choice {
    grid-template-columns: minmax(0, 1fr) 22px;
  }
  body.design-sharp.glance-site.page-home .glance-arrow > svg {
    inline-size: 22px;
    block-size: 22px;
  }
  body.design-sharp.glance-site.page-home .glance-choice-note {
    margin-top: 4px;
  }
  body.design-sharp.glance-site.page-home .glance-decision .hero-safety {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "image" "copy";
    gap: 20px;
    padding-top: 36px;
  }
  body.design-sharp.glance-site.page-home .hero-safety > .photo {
    inline-size: 280px;
    justify-self: center;
  }
  body.design-sharp.glance-site.page-home .hero-safety h2 {
    font-size: 26px;
  }
  body.design-sharp.glance-site.page-home .home-guarantee {
    margin-top: 28px;
    padding-top: 20px;
  }
  body.design-sharp.glance-site.page-home .home-guarantee p {
    font-size: 18px;
    line-height: 1.95;
  }
  body.design-sharp.glance-site.page-home .home-guarantee mark {
    padding: 3px 7px;
  }
}

/* Round 5, Item 4: Home below the first screen, in the approved order.
   As in the mockup, 1px ink rules mark the structure; hairlines inside components stay in the line colour. */
body.design-sharp.glance-site .site-header {
  border-bottom-color: var(--ink);
}
body.design-sharp.glance-site.page-home .glance-decision {
  border-bottom: 1px solid var(--ink);
}
body.design-sharp.glance-site.page-home main > .home-events {
  inline-size: calc(100% - 2 * var(--glance-gutter));
  margin-inline: auto;
}
body.design-sharp.glance-site.page-home main > :is(.home-events, .band, .home-commitments, .home-directions) {
  padding-block: 48px;
  border-top: 0;
  border-bottom: 1px solid var(--ink);
}
body.design-sharp.glance-site.page-home main > .band {
  display: grid;
  grid-template-columns: minmax(0, 280px) minmax(0, 1fr);
  gap: 24px 48px;
  align-items: start;
}
body.design-sharp.glance-site.page-home main > .band > :is(.section-title, .section-content) {
  min-inline-size: 0;
}
body.design-sharp.glance-site.page-home main > .band .section-title {
  padding-top: 0;
}
body.design-sharp.glance-site.page-home main > :is(.band, .home-events) :is(.section-title, .event-intro) h2 {
  margin: 0;
  font-size: 30px;
  font-weight: 620;
  letter-spacing: -.025em;
  line-height: 1.15;
}

/* Coming up: everything between the EVENT markers, hidden as one band when there is no event. */
body.design-sharp.glance-site.page-home main > .home-events {
  display: grid;
  grid-template-columns: minmax(0, 280px) minmax(0, 1fr) minmax(0, 380px);
  grid-template-areas: "intro main figure";
  gap: 24px 48px;
  align-items: start;
}
body.design-sharp.glance-site.page-home .home-events .event-intro {
  grid-area: intro;
  min-inline-size: 0;
}
body.design-sharp.glance-site.page-home .home-events .event-main {
  grid-area: main;
  min-inline-size: 0;
}
body.design-sharp.glance-site.page-home .home-events .hero-photograph {
  grid-area: figure;
  position: static;
  align-self: start;
  min-inline-size: 0;
  block-size: auto;
  aspect-ratio: auto;
  margin: 0;
}
body.design-sharp.glance-site.page-home .home-events .hero-photograph .photo {
  position: static;
  display: block;
  inline-size: 100%;
  block-size: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 0;
}
body.design-sharp.glance-site.page-home .home-events .glance-eyebrow {
  margin: 0 0 14px;
  line-height: 1.6;
}
body.design-sharp.glance-site.page-home main > .home-events .event-intro h2 {
  margin-bottom: 12px;
}
body.design-sharp.glance-site.page-home .home-events .event-lede {
  margin: 0 0 4px;
  font-size: 16px;
}
body.design-sharp.glance-site.page-home .home-events .event-period {
  margin: 0;
  font-size: 14px;
  color: var(--muted);
}
body.design-sharp.glance-site.page-home .home-events .event-sample {
  margin: 24px 0 0;
  font-size: 13px;
  font-style: italic;
  color: var(--muted);
}
body.design-sharp.glance-site.page-home .home-events .event-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line);
}
body.design-sharp.glance-site.page-home .home-events .event-list > li {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 0;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}
body.design-sharp.glance-site.page-home .home-events time {
  flex: 0 0 52px;
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
}
body.design-sharp.glance-site.page-home .home-events .event-day {
  font-size: 28px;
  font-weight: 650;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}
body.design-sharp.glance-site.page-home .home-events .event-month {
  margin-top: 5px;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}
body.design-sharp.glance-site.page-home .home-events .event-what {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-inline-size: 0;
}
body.design-sharp.glance-site.page-home .home-events .event-what strong {
  font-size: 17px;
  font-weight: 620;
  line-height: 1.3;
}
body.design-sharp.glance-site.page-home .home-events .event-what span {
  font-size: 14px;
  color: var(--muted);
}
body.design-sharp.glance-site.page-home .home-events .event-main .text-link {
  margin-top: 16px;
}

/* The booking tool: round in its own controls, framed by one square white panel of the site. */
body.design-sharp.glance-site .widget-section,
body.design-sharp.glance-site .source-body .booking-widget {
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--paper);
}
body.design-sharp.glance-site.page-home .home-booking .widget-section {
  inline-size: auto;
  max-inline-size: none;
  margin: 0;
  padding: 32px;
}
body.design-sharp.glance-site .widget-preview,
body.design-sharp.glance-site .widget-preview img {
  display: block;
}
body.design-sharp.glance-site .widget-preview img {
  inline-size: 100%;
  max-inline-size: 666px;
  block-size: auto;
  margin-inline: auto;
}

/* Services: each card is one link, through its own text link stretched over the card. */
body.design-sharp.glance-site.page-home .home-services .card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
}
body.design-sharp.glance-site.page-home .home-services .card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding-top: 18px;
  border-top: 2px solid var(--ink);
}
body.design-sharp.glance-site.page-home .home-services .card .photo {
  margin: 0;
  inline-size: 100%;
  block-size: auto;
  aspect-ratio: 7 / 3;
  object-fit: cover;
}
body.design-sharp.glance-site.page-home .home-services .card h3 {
  margin: 0;
  font-size: 22px;
  font-weight: 620;
  letter-spacing: -.02em;
  line-height: 1.2;
}
body.design-sharp.glance-site.page-home .home-services .card p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
}
body.design-sharp.glance-site.page-home .home-services .card a {
  display: inline;
  min-block-size: 0;
  color: inherit;
  text-decoration: none;
}
body.design-sharp.glance-site.page-home .home-services .card a::after {
  content: "";
  position: absolute;
  inset: 0;
}
body.design-sharp.glance-site.page-home .home-services .card::after {
  content: "";
  align-self: flex-end;
  margin-top: auto;
  inline-size: 24px;
  block-size: 24px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c0281a' stroke-width='1.8' stroke-linecap='square'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E") center / 24px 24px no-repeat;
}
body.design-sharp.glance-site.page-home .home-services .card:hover h3 {
  color: var(--accent);
}
@supports selector(:has(*)) {
  body.design-sharp.glance-site.page-home .home-services .card:has(a:focus-visible) {
    outline: 2px solid var(--ink);
    outline-offset: 2px;
  }
  body.design-sharp.glance-site.page-home .home-services .card a:focus-visible {
    outline: 0;
  }
}

/* Cost. */
body.design-sharp.glance-site.page-home .home-prices .section-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}
body.design-sharp.glance-site.page-home .home-prices .section-content > p {
  margin: 0;
  font-size: 16px;
}

/* Commitments and directions keep their real table and lists, at the mockup's scale. */
body.design-sharp.glance-site.page-home .home-section-heading {
  margin-bottom: 28px;
}
body.design-sharp.glance-site.page-home .home-section-heading h2 {
  font-size: clamp(32px, 3.1vw, 44px);
  font-weight: 620;
  letter-spacing: -.03em;
  line-height: 1.08;
}
body.design-sharp.glance-site.page-home .home-commitments .home-section-heading h2 {
  max-inline-size: 14ch;
}
body.design-sharp.glance-site.page-home .commitments-table thead th:first-child {
  inline-size: 44%;
}
body.design-sharp.glance-site.page-home .commitments-table tbody td {
  border-inline-start: 1px solid var(--line);
}

/* Destinations and their three links close the section under one ink rule. */
body.design-sharp.glance-site.page-home main > .home-destinations {
  padding-bottom: 0;
  border-bottom: 0;
}
body.design-sharp.glance-site.page-home .home-destinations .section-content > p {
  margin: 0 0 32px;
  max-inline-size: 62ch;
  font-size: 16px;
  line-height: 1.65;
}
body.design-sharp.glance-site.page-home .home-destinations .card-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
  gap: 40px 24px;
  margin: 0;
}
body.design-sharp.glance-site.page-home .home-destinations .card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 0;
  border-top: 0;
}
body.design-sharp.glance-site.page-home .home-destinations .card .photo {
  margin: 0;
  inline-size: 100%;
  block-size: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
body.design-sharp.glance-site.page-home .home-destinations .card h3 {
  margin: 8px 0 0;
  font-size: 20px;
  font-weight: 620;
  letter-spacing: -.015em;
  line-height: 1.25;
}
body.design-sharp.glance-site.page-home .home-destinations .card p {
  margin: 0;
  font-size: 15px;
}
body.design-sharp.glance-site.page-home .home-destinations .card .text-link {
  align-self: flex-start;
  margin: 0;
}
body.design-sharp.glance-site.page-home main > .home-destination-links {
  margin-block: 40px 0;
  padding-block: 20px 48px;
  gap: 0 28px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--ink);
}
body.design-sharp.glance-site.page-home .home-destination-links a {
  display: inline-flex;
  align-items: center;
  min-block-size: 44px;
  font-size: 15px;
}

@media (max-width: 1180px) {
  body.design-sharp.glance-site.page-home main > .band {
    grid-template-columns: minmax(0, 1fr);
  }
  body.design-sharp.glance-site.page-home main > .home-events {
    grid-template-columns: minmax(0, 1fr) minmax(0, 340px);
    grid-template-areas: "intro intro" "main figure";
  }
}
@media (max-width: 760px) {
  body.design-sharp.glance-site.page-home main > .home-events {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "intro" "figure" "main";
    row-gap: 20px;
  }
  body.design-sharp.glance-site.page-home .home-events .event-sample {
    margin-top: 12px;
  }
  body.design-sharp.glance-site.page-home .home-services .card-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
}
@media (max-width: 600px) {
  body.design-sharp.glance-site.page-home main > :is(.home-events, .band, .home-commitments, .home-directions) {
    padding-block: 40px;
  }
  body.design-sharp.glance-site.page-home main > .home-destinations {
    padding-bottom: 0;
  }
  body.design-sharp.glance-site.page-home main > :is(.band, .home-events) :is(.section-title, .event-intro) h2 {
    font-size: 26px;
  }
  body.design-sharp.glance-site.page-home .home-section-heading h2 {
    font-size: 32px;
  }
  body.design-sharp.glance-site.page-home .home-events .event-list > li {
    gap: 16px;
    padding-block: 12px;
  }
  body.design-sharp.glance-site.page-home .home-events time {
    flex-basis: 44px;
  }
  body.design-sharp.glance-site.page-home .home-events .event-day {
    font-size: 26px;
  }
  body.design-sharp.glance-site.page-home .home-booking .widget-section {
    padding: 20px;
  }
  body.design-sharp.glance-site .widget-preview img {
    max-inline-size: 390px;
  }
  body.design-sharp.glance-site.page-home main > .home-destination-links {
    flex-direction: column;
    padding-block: 12px 40px;
  }
}

/* Round 5, checkpoint corrections after the owner's review in Safari, 22 October. */
/* Safety: the paragraph runs across its column in two lines, as in the approved mockup. */
body.design-sharp.glance-site.page-home .hero-safety p {
  max-inline-size: none;
  text-wrap: pretty;
}

/* The footer in the mockup's compact form, on the shared grid. Its markup is unchanged. */
body.design-sharp.glance-site .site-footer {
  margin-top: 0;
  padding: 0 var(--glance-gutter) 40px;
  border-top: 0;
}
body.design-sharp.glance-site .footer-top {
  grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
  gap: 32px 48px;
  padding-top: 48px;
  border-top: 1px solid var(--ink);
}
body.design-sharp.glance-site .footer-top > :is(.footer-brand, nav) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-inline-size: 0;
}
body.design-sharp.glance-site .footer-top nav:last-child {
  grid-column: auto;
}
body.design-sharp.glance-site .site-footer .footer-name.logo-plate {
  display: block;
  inline-size: auto;
  min-block-size: 0;
  margin: 0 0 8px;
  padding: 0;
  line-height: 0;
}
/* The logo file carries wide white margins above and below its wordmark: trim them to the mockup's 20 px line. */
body.design-sharp.glance-site .site-footer .brand-logo {
  inline-size: 165px;
  block-size: 20px;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
}
body.design-sharp.glance-site .footer-top :is(.footer-brand, nav) > a {
  display: inline-flex;
  align-items: center;
  min-block-size: 44px;
  font-size: 14px;
  line-height: 1.4;
  text-decoration: none;
}
body.design-sharp.glance-site .footer-brand > p {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--muted);
}
body.design-sharp.glance-site .footer-label {
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.6;
  text-transform: uppercase;
  color: var(--ink);
}
body.design-sharp.glance-site .footer-bottom {
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
body.design-sharp.glance-site .footer-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 0 24px;
  margin: 0;
}
body.design-sharp.glance-site .footer-legal a {
  display: inline-flex;
  align-items: center;
  min-block-size: 44px;
  font-size: 13px;
}
body.design-sharp.glance-site .footer-bottom p {
  margin: 12px 0 0;
  max-inline-size: 90ch;
  font-size: 12px;
  line-height: 1.6;
  color: var(--muted);
}
body.design-sharp.glance-site .glance-client-strip {
  margin-block: 40px;
}
/* With a mouse the rows close up to the mockup's rhythm; touch screens keep 44 px targets. */
@media (hover: hover) and (pointer: fine) {
  body.design-sharp.glance-site .footer-top :is(.footer-brand, nav) > a,
  body.design-sharp.glance-site .footer-legal a {
    min-block-size: 32px;
  }
}
@media (max-width: 1023px) {
  body.design-sharp.glance-site .footer-top {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body.design-sharp.glance-site .footer-brand {
    grid-column: 1 / -1;
  }
}
@media (max-width: 600px) {
  body.design-sharp.glance-site .footer-top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 20px;
    padding-top: 36px;
  }
  body.design-sharp.glance-site .footer-bottom {
    margin-top: 32px;
    padding-top: 18px;
  }
  body.design-sharp.glance-site .footer-legal {
    gap: 0 20px;
  }
  body.design-sharp.glance-site .glance-client-strip {
    margin-block: 32px;
  }
}

/* The first screen, up to the red statement, fits a laptop window: below a 900 px tall window the
   spacing and the drawing tighten with its height; from 900 px up they stay as in the mockup. */
@media (min-width: 1024px) {
  body.design-sharp.glance-site.page-home .glance-decision {
    padding-top: clamp(28px, 10.7vh - 44px, 52px);
  }
  body.design-sharp.glance-site.page-home .glance-decision .hero-safety {
    grid-template-columns: minmax(0, 1fr) auto;
    padding-top: clamp(24px, 10.7vh - 48px, 48px);
  }
  body.design-sharp.glance-site.page-home .hero-safety > .photo {
    inline-size: clamp(200px, 40vh - 60px, 300px);
  }
  body.design-sharp.glance-site.page-home .home-guarantee {
    margin-top: clamp(24px, 10.7vh - 56px, 40px);
    padding-top: clamp(18px, 6.7vh - 32px, 28px);
  }
}
/* 23 October: the service line took 32 px, and in the five languages whose title or lede wraps to a
   second line (fr, it, es, pt, el) the statement ended 15 px below a 650 px window. Under 700 px of
   height the floors drop by 8 px each, 28 px in all; from 700 px up nothing changes. */
@media (min-width: 1024px) and (max-height: 700px) {
  body.design-sharp.glance-site.page-home .glance-decision { padding-top: 20px; }
  body.design-sharp.glance-site.page-home .glance-decision .hero-safety { padding-top: 16px; }
  body.design-sharp.glance-site.page-home .home-guarantee { margin-top: 16px; padding-top: 14px; }
}

/* Round 5, the owner's correction of 22 October, 18:22: the type was oversized.
   One scale for all 16 pages, 16 px body, ratio 1.25 (16, 20, 25, 31, 39, 48): display 48, page titles 36,
   section headings 26 to 32, card titles 19, buttons 15 on a 44 px target. Nothing else changes. */
body.design-sharp.glance-site .glance-intro > h1,
body.design-sharp.glance-site.page-home .glance-intro > h1 {
  max-inline-size: 22ch;
  font-size: clamp(34px, 3.4vw, 48px);
  letter-spacing: -.035em;
  line-height: 1.06;
  margin-bottom: 20px;
}
body.design-sharp.glance-site main > :is(.page-hero, .source-body) h1,
body.design-sharp .error-page h1 {
  font-size: clamp(30px, 2.6vw, 36px);
}
body.design-sharp.glance-site .glance-intro > h1 + p,
body.design-sharp.glance-site.page-home .glance-intro > .live-subtitle {
  font-size: 18px;
  line-height: 1.5;
}
body.design-sharp.glance-site .glance-choice {
  padding: 18px 20px;
  min-block-size: 84px;
  gap: 16px;
}
body.design-sharp.glance-site .glance-choice strong {
  font-size: 19px;
  letter-spacing: -.02em;
}
body.design-sharp.glance-site .glance-choice-note,
body.design-sharp.glance-site.page-home .glance-choice-note {
  margin-top: 4px;
  font-size: 14px;
}
body.design-sharp.glance-site .glance-arrow { font-size: 22px; }
body.design-sharp.glance-site.page-home .glance-choice { grid-template-columns: minmax(0, 1fr) 22px; }
body.design-sharp.glance-site.page-home .glance-arrow > svg { inline-size: 22px; block-size: 22px; }
body.design-sharp.glance-site.page-home .hero-safety h2,
body.design-sharp.glance-site .hero-safety h2 { font-size: 24px; }
body.design-sharp.glance-site.page-home .hero-safety p { font-size: 16px; }
body.design-sharp.glance-site.page-home .home-guarantee p { font-size: 18px; line-height: 1.9; }
body.design-sharp.glance-site.page-home .home-guarantee mark { padding: 3px 7px; }
body.design-sharp.glance-site.page-home main > :is(.band, .home-events) :is(.section-title, .event-intro) h2,
body.design-sharp .section-title h2,
body.design-sharp.glance-site .widget-section > h2,
body.design-sharp .airport-hub-card h3 { font-size: 26px; }
body.design-sharp.glance-site.page-home .home-section-heading h2 { font-size: clamp(28px, 2.3vw, 32px); }
body.design-sharp.glance-site.page-home .home-events .event-day { font-size: 24px; }
body.design-sharp.glance-site.page-home .home-events .event-what strong { font-size: 16px; }
body.design-sharp.glance-site.page-home .home-services .card h3,
body.design-sharp.glance-site.page-home .home-destinations .card h3,
body.design-sharp.glance-site main > :not(.glance-decision) h3 { font-size: 20px; }
body.design-sharp.glance-site main > :not(.glance-decision) h2:not(.section-title h2):not(.home-section-heading h2) { font-size: clamp(24px, 2.1vw, 28px); }
body.design-sharp.glance-site .reading h2 { font-size: 26px; }
body.design-sharp.glance-site .reading h3 { font-size: 20px; }
body.design-sharp.glance-site .faq-wrap > h2 { font-size: 30px; }
body.design-sharp.glance-site .location h2 { font-size: 28px; }
body.design-sharp.glance-site .journey-card h2,
body.design-sharp.glance-site .transfer-cta__title { font-size: 26px; }
body.design-sharp.glance-site .stat strong { font-size: 36px; }
body.design-sharp.glance-site main .button,
body.design-sharp.glance-site main :is(.btn, .tba-btn, .plan-cta, .hero-btn, .transfer-cta__btn, .mail-form button) {
  min-block-size: 44px;
  padding: 10px 18px;
  font-size: 15px;
  line-height: 1.4;
}
body.design-sharp.glance-site main .button span[aria-hidden] { font-size: 18px; }
body.design-sharp.glance-site main .text-link { font-size: 15px; }
@media (max-width: 650px) {
  body.design-sharp.glance-site .glance-intro > h1,
  body.design-sharp.glance-site.page-home .glance-intro > h1 { font-size: 34px; }
  body.design-sharp.glance-site .glance-intro > h1 + p,
  body.design-sharp.glance-site.page-home .glance-intro > .live-subtitle { font-size: 17px; }
  body.design-sharp.glance-site .glance-choice strong { font-size: 18px; }
  body.design-sharp.glance-site.page-home .home-guarantee p { font-size: 17px; }
  body.design-sharp.glance-site.page-home main > :is(.band, .home-events) :is(.section-title, .event-intro) h2,
  body.design-sharp .section-title h2 { font-size: 24px; }
  body.design-sharp.glance-site.page-home .home-section-heading h2 { font-size: 28px; }
  body.design-sharp.glance-site.page-home .hero-safety h2 { font-size: 22px; }
}

/* Round 5, the owner's review of Contact, 22 October 18:42. */
/* The red booking card is the same on every page; on Contact it comes first. */
body.design-sharp.glance-site .glance-choice-booking {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--paper);
}
body.design-sharp.glance-site .glance-choice-booking :is(.glance-choice-note, .glance-arrow) { color: var(--paper); }
body.design-sharp.glance-site .glance-choice-booking:hover {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--paper);
}
body.design-sharp.glance-site.page-contact .glance-choice-booking { order: -1; }
/* The four doors: one calm grid, no black block, the phone as an ink button like every secondary action. */
body.design-sharp.glance-site.page-contact .contact-doors {
  border-top: 1px solid var(--ink);
}
body.design-sharp.glance-site.page-contact .contact-door h2 {
  margin-bottom: 10px;
  font-size: 22px;
  font-weight: 620;
}
body.design-sharp.glance-site.page-contact .contact-door > p:not(.contact-door-number) { font-size: 15px; }
body.design-sharp.glance-site.page-contact .contact-door-urgent {
  background: var(--paper);
  color: var(--ink);
}
body.design-sharp.glance-site.page-contact .contact-door-urgent h2 { color: var(--ink); }
body.design-sharp.glance-site.page-contact .contact-door-urgent .button {
  background: var(--paper);
  border-color: var(--ink);
  color: var(--ink);
}
body.design-sharp.glance-site.page-contact .contact-door-urgent .button:hover {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}
body.design-sharp.glance-site.page-contact .contact-door-urgent .button:focus-visible { outline-color: var(--ink); }
/* The phone note under the number. */
body.design-sharp.glance-site.page-contact .contact-phone-note {
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
}
body.design-sharp.glance-site.page-contact .contact-phone-note a { display: inline; min-block-size: 0; }
/* The widget on Contact: heading at the left like Home, the form in its square white panel. */
body.design-sharp.glance-site.page-contact .contact-booking {
  display: grid;
  grid-template-columns: minmax(0, 280px) minmax(0, 1fr);
  gap: 24px 48px;
  align-items: start;
  max-inline-size: none;
  margin: 0;
  padding: 48px 0;
  border: 0;
  border-bottom: 1px solid var(--ink);
  background: transparent;
}
body.design-sharp.glance-site.page-contact .contact-booking > h2 {
  margin: 0;
  font-size: 26px;
  font-weight: 620;
  letter-spacing: -.025em;
  line-height: 1.15;
}
body.design-sharp.glance-site.page-contact .contact-booking > .widget-space {
  padding: 32px;
  border: 1px solid var(--line);
  background: var(--paper);
}
@media (max-width: 1180px) {
  body.design-sharp.glance-site.page-contact .contact-booking { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  body.design-sharp.glance-site.page-contact .contact-booking { padding: 40px 0; }
  body.design-sharp.glance-site.page-contact .contact-booking > .widget-space { padding: 20px; }
  body.design-sharp.glance-site.page-contact .contact-door h2 { font-size: 20px; }
}
/* Three cards on Contact: stacked like Home, the red one first. */
body.design-sharp.glance-site.page-contact .glance-choices { grid-template-columns: minmax(0, 1fr); }
body.design-sharp.glance-site.page-contact .glance-choice {
  min-block-size: 84px;
  padding: 18px 20px;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) 22px;
}
body.design-sharp.glance-site.page-contact .glance-arrow { justify-self: end; font-size: 22px; }
/* Contact keeps its title and line only; the four doors below are the actions. */
body.design-sharp.glance-site.page-contact .glance-lead { grid-template-columns: minmax(0, 1fr); }
body.design-sharp.glance-site.page-contact .glance-decision { padding-block: 40px 36px; }
body.design-sharp.glance-site.page-contact .contact-intro > p { max-inline-size: 60ch; }

/* Round 5, languages: EN, NL and FR beside the phone number, and in the phone Menu. */
body.design-sharp.glance-site .lang-switch {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-inline-start: 12px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
}
body.design-sharp.glance-site .lang-switch > :is(a, span) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 32px;
  min-block-size: 44px;
  padding: 0 4px;
  color: var(--muted);
  text-decoration: none;
}
body.design-sharp.glance-site .lang-switch > a:hover { color: var(--accent); }
body.design-sharp.glance-site .lang-switch > [aria-current] {
  color: var(--ink);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
}
@media (max-width: 1023px) {
  body.design-sharp.glance-site .lang-switch {
    display: none;
  }
  body.design-sharp.glance-site .mobile-menu[open] > nav > .lang-switch,
  body.design-sharp.glance-site .mobile-menu > nav > .lang-switch {
    display: flex;
    gap: 8px;
    margin: 12px 0 0;
    padding-top: 12px;
    border-top: 1px solid var(--line);
  }
}

/* Round 5, icons (the owner's word, 22 October 20:25). Font Awesome Free 6.7.2 solid glyphs, CC BY 4.0,
   https://fontawesome.com/license/free, inlined as masks so they take the text colour. Used sparingly, as
   Uber and Blacklane do: a pin before a place, a clock before a travel time, a phone and an envelope before
   contact details, a check before each commitment, one small glyph per service. */

body.design-sharp.glance-site { --fa-location-dot: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z'/%3E%3C/svg%3E"); }
body.design-sharp.glance-site { --fa-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z'/%3E%3C/svg%3E"); }
body.design-sharp.glance-site { --fa-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E"); }
body.design-sharp.glance-site { --fa-envelope: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48L48 64zM0 176L0 384c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-208L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z'/%3E%3C/svg%3E"); }
body.design-sharp.glance-site { --fa-plane: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M482.3 192c34.2 0 93.7 29 93.7 64c0 36-59.5 64-93.7 64l-116.6 0L265.2 495.9c-5.7 10-16.3 16.1-27.8 16.1l-56.2 0c-10.6 0-18.3-10.2-15.4-20.4l49-171.6L112 320 68.8 377.6c-3 4-7.8 6.4-12.8 6.4l-42 0c-7.8 0-14-6.3-14-14c0-1.3 .2-2.6 .5-3.9L32 256 .5 145.9c-.4-1.3-.5-2.6-.5-3.9c0-7.8 6.3-14 14-14l42 0c5 0 9.8 2.4 12.8 6.4L112 192l102.9 0-49-171.6C162.9 10.2 170.6 0 181.2 0l56.2 0c11.5 0 22.1 6.2 27.8 16.1L365.7 192l116.6 0z'/%3E%3C/svg%3E"); }
body.design-sharp.glance-site { --fa-route: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M512 96c0 50.2-59.1 125.1-84.6 155c-3.8 4.4-9.4 6.1-14.5 5L320 256c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c53 0 96 43 96 96s-43 96-96 96l-276.4 0c8.7-9.9 19.3-22.6 30-36.8c6.3-8.4 12.8-17.6 19-27.2L416 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0c-53 0-96-43-96-96s43-96 96-96l39.8 0c-21-31.5-39.8-67.7-39.8-96c0-53 43-96 96-96s96 43 96 96zM117.1 489.1c-3.8 4.3-7.2 8.1-10.1 11.3l-1.8 2-.2-.2c-6 4.6-14.6 4-20-1.8C59.8 473 0 402.5 0 352c0-53 43-96 96-96s96 43 96 96c0 30-21.1 67-43.5 97.9c-10.7 14.7-21.7 28-30.8 38.5l-.6 .7zM128 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM416 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z'/%3E%3C/svg%3E"); }
body.design-sharp.glance-site { --fa-user-tie: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M96 128a128 128 0 1 0 256 0A128 128 0 1 0 96 128zm94.5 200.2l18.6 31L175.8 483.1l-36-146.9c-2-8.1-9.8-13.4-17.9-11.3C51.9 342.4 0 405.8 0 481.3c0 17 13.8 30.7 30.7 30.7l131.7 0c0 0 0 0 .1 0l5.5 0 112 0 5.5 0c0 0 0 0 .1 0l131.7 0c17 0 30.7-13.8 30.7-30.7c0-75.5-51.9-138.9-121.9-156.4c-8.1-2-15.9 3.3-17.9 11.3l-36 146.9L238.9 359.2l18.6-31c6.4-10.7-1.3-24.2-13.7-24.2L224 304l-19.7 0c-12.4 0-20.1 13.6-13.7 24.2z'/%3E%3C/svg%3E"); }
body.design-sharp.glance-site { --fa-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E"); }
body.design-sharp.glance-site { --fa-calendar-day: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm80 64c-8.8 0-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16l96 0c8.8 0 16-7.2 16-16l0-96c0-8.8-7.2-16-16-16l-96 0z'/%3E%3C/svg%3E"); }

/* Where they go. Places: a pin. */
body.design-sharp.glance-site.page-home .home-destinations .card h3,
body.design-sharp.glance-site.page-driver-meeting-points .location > div > h2 { --ico: var(--fa-location-dot); }
/* Times: a clock. */
body.design-sharp.glance-site.page-home .home-destinations .card p { --ico: var(--fa-clock); }
/* Contact details: a phone, an envelope. */
body.design-sharp.glance-site .site-header .header-phone,
body.design-sharp.glance-site .mobile-menu .mobile-phone,
body.design-sharp.glance-site .site-footer .footer-brand a[href^="tel:"],
body.design-sharp.glance-site .widget-help a[href^="tel:"],
body.design-sharp.glance-site.page-contact .contact-channel-value[href^="tel:"],
body.design-sharp.glance-site.page-contact .contact-door a[href^="tel:"],
body.design-sharp.glance-site .glance-choice[href^="tel:"] strong { --ico: var(--fa-phone); }
body.design-sharp.glance-site .site-footer .footer-brand a[href^="mailto:"],
body.design-sharp.glance-site .widget-help a[href^="mailto:"],
body.design-sharp.glance-site.page-contact .contact-channel-value[href^="mailto:"],
body.design-sharp.glance-site.page-contact .contact-door a[href^="mailto:"],
body.design-sharp.glance-site .glance-choice[href^="mailto:"] strong { --ico: var(--fa-envelope); }
/* Commitments: a check before what we do. */
body.design-sharp.glance-site.page-home .commitments-table tbody td { --ico: var(--fa-check); }
/* Services: one glyph each. */
body.design-sharp.glance-site.page-home .home-services .card:nth-child(1) h3 { --ico: var(--fa-plane); }
body.design-sharp.glance-site.page-home .home-services .card:nth-child(2) h3 { --ico: var(--fa-route); }
body.design-sharp.glance-site.page-home .home-services .card:nth-child(3) h3 { --ico: var(--fa-user-tie); }
/* Events: a calendar before the heading. */
body.design-sharp.glance-site.page-home .home-events .event-intro h2 { --ico: var(--fa-calendar-day); }

body.design-sharp.glance-site.page-home .home-destinations .card h3::before,
body.design-sharp.glance-site.page-home .home-destinations .card p::before,
body.design-sharp.glance-site.page-driver-meeting-points .location > div > h2::before,
body.design-sharp.glance-site .site-header .header-phone::before,
body.design-sharp.glance-site .mobile-menu .mobile-phone::before,
body.design-sharp.glance-site .site-footer .footer-brand a[href^="tel:"]::before,
body.design-sharp.glance-site .site-footer .footer-brand a[href^="mailto:"]::before,
body.design-sharp.glance-site .widget-help a[href^="tel:"]::before,
body.design-sharp.glance-site .widget-help a[href^="mailto:"]::before,
body.design-sharp.glance-site.page-contact .contact-channel-value::before,
body.design-sharp.glance-site.page-contact .contact-door a[href^="tel:"]::before,
body.design-sharp.glance-site.page-contact .contact-door a[href^="mailto:"]::before,
body.design-sharp.glance-site .glance-choice[href^="tel:"] strong::before,
body.design-sharp.glance-site .glance-choice[href^="mailto:"] strong::before,
body.design-sharp.glance-site.page-home .commitments-table tbody td::before,
body.design-sharp.glance-site.page-home .home-services .card h3::before,
body.design-sharp.glance-site.page-home .home-events .event-intro h2::before {
  content: "";
  display: inline-block;
  inline-size: .9em;
  block-size: .9em;
  margin-inline-end: .45em;
  vertical-align: -.08em;
  background-color: currentColor;
  -webkit-mask: var(--ico) center / contain no-repeat;
  mask: var(--ico) center / contain no-repeat;
}
/* Muted glyphs where the text is secondary; red where the glyph marks a commitment kept. */
body.design-sharp.glance-site.page-home .home-destinations .card p::before,
body.design-sharp.glance-site .site-footer .footer-brand a::before,
body.design-sharp.glance-site.page-contact .contact-door a::before { background-color: var(--muted); }
body.design-sharp.glance-site.page-home .commitments-table tbody td::before { background-color: var(--success); inline-size: .8em; block-size: .8em; margin-inline-end: .55em; }
body.design-sharp.glance-site.page-home .home-services .card h3::before,
body.design-sharp.glance-site.page-home .home-events .event-intro h2::before,
body.design-sharp.glance-site.page-driver-meeting-points .location > div > h2::before,
body.design-sharp.glance-site.page-home .home-destinations .card h3::before { background-color: var(--accent); }
/* The header phone keeps a quiet glyph. */
body.design-sharp.glance-site .site-header .header-phone::before { inline-size: .8em; block-size: .8em; background-color: var(--muted); }

body.design-sharp.glance-site.page-contact .contact-door .button[href^="tel:"] { justify-content: flex-start; gap: 12px; }
body.design-sharp.glance-site.page-contact .contact-door .button[href^="tel:"]::before { margin-inline-end: 0; background-color: currentColor; }
body.design-sharp.glance-site.page-contact .contact-door .button[href^="tel:"] span[aria-hidden] { margin-inline-start: auto; }

/* Round 6, Item 2a: self-hosted Sora for headings and decision-card titles.
   Static 600 and 700 files, SIL Open Font License in fonts/OFL.txt.
   The supplied Sora files have no Greek glyphs, so Greek headings use the
   existing system stack as a whole instead of mixing typefaces within a title. */
@font-face {
  font-family: "Sora";
  src: url("fonts/sora-600.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Sora";
  src: url("fonts/sora-700.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
body.design-sharp.glance-site {
  --glance-heading-font: "Sora", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body.design-sharp.glance-site:lang(el) {
  --glance-heading-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body.design-sharp.glance-site :is(h1, h2, h3),
body.design-sharp.glance-site .glance-choice strong {
  font-family: var(--glance-heading-font);
}

/* Round 6: nine-language controls, owner-approved complete brief. Preserve the original three-code layout slot. */
@media (min-width: 1024px) {
  body.design-sharp.glance-site .site-header > .lang-switch {
    inline-size: 100px;
    flex: 0 1 100px;
    min-inline-size: 0;
    align-self: stretch;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 0;
  }
  body.design-sharp.glance-site .site-header > .lang-switch > :is(a, span) {
    flex: 0 0 24px;
    min-inline-size: 24px;
    min-block-size: 24px;
    white-space: nowrap;
    transform: translateY(24px);
  }
}
@media (max-width: 1023px) {
  body.design-sharp.glance-site .mobile-menu > nav > .lang-switch {
    flex-wrap: wrap;
  }
}

/* The owner, 23 October 06:08: a service line above the header with the Brussels local time. */
body.design-sharp.glance-site .site-strip {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  block-size: 32px;
  padding-inline: var(--glance-gutter);
  background: var(--ink);
  color: #b9b1a8;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
}
body.design-sharp.glance-site .site-strip p { margin: 0; }
body.design-sharp.glance-site .site-strip time {
  margin-inline-start: 10px;
  color: var(--paper);
  font-variant-numeric: tabular-nums;
  letter-spacing: .08em;
}
@media (max-width: 600px) {
  body.design-sharp.glance-site .site-strip-note { display: none; }
  body.design-sharp.glance-site .site-strip { justify-content: flex-end; }
}
/* The owner, 23 October 07:09: the title comes back, quietly. One line at section size above the
   panel, no breadcrumb, no lede, no rule; the form follows 12 px below. */
/* The owner, 23 October 07:48: the title sits on the breadcrumb's row, right-aligned and small. */
body.design-sharp.glance-site.page-book-taxi-brussels-airport main > .breadcrumbs + .glance-decision {
  margin-top: -52px;
  padding: 0;
  border: 0;
  pointer-events: none;
}
body.design-sharp.glance-site.page-book-taxi-brussels-airport .glance-lead { grid-template-columns: minmax(0, 1fr); }
body.design-sharp.glance-site.page-book-taxi-brussels-airport .glance-intro > h1 {
  font-size: 18px;
  line-height: 44px;
  margin: 0;
  max-inline-size: none;
  text-align: end;
  letter-spacing: -.01em;
}
body.design-sharp.glance-site.page-book-taxi-brussels-airport main > .widget-section { margin-block: 12px 48px; padding: 16px; }
@media (max-width: 600px) {
  body.design-sharp.glance-site.page-book-taxi-brussels-airport main > .breadcrumbs + .glance-decision { margin-top: 0; padding-top: 4px; }
  body.design-sharp.glance-site.page-book-taxi-brussels-airport .glance-intro > h1 { font-size: 17px; line-height: 1.3; text-align: start; }
}

/* The owner, 23 October 06:59: the booking page's header is a checkout header: logo, phone, languages. */
body.design-sharp.glance-site.page-book-taxi-brussels-airport .site-header {
  flex-wrap: wrap;
  row-gap: 0;
  padding-block: 10px;
}
body.design-sharp.glance-site.page-book-taxi-brussels-airport .site-header > .wordmark { margin-inline-end: auto; }
body.design-sharp.glance-site.page-book-taxi-brussels-airport .site-header > .header-actions { display: flex; gap: 16px; }
body.design-sharp.glance-site.page-book-taxi-brussels-airport .header-phone { display: flex; }
body.design-sharp.glance-site.page-book-taxi-brussels-airport .site-header > .lang-switch {
  display: flex;
  flex: 0 0 auto;
  inline-size: auto;
  align-self: center;
  align-items: center;
  justify-content: flex-end;
  gap: 2px;
  margin-inline-start: 16px;
}
body.design-sharp.glance-site.page-book-taxi-brussels-airport .site-header > .lang-switch > :is(a, span) {
  flex: 0 0 auto;
  min-inline-size: 28px;
  min-block-size: 44px;
  transform: none;
}
@media (max-width: 1023px) {
  body.design-sharp.glance-site.page-book-taxi-brussels-airport .site-header > .lang-switch {
    flex: 1 0 100%;
    flex-wrap: wrap;
    margin: 0;
  }
}
@media (max-width: 600px) {
  body.design-sharp.glance-site.page-book-taxi-brussels-airport .site-header { padding-block: 8px 0; gap: 8px; }
  body.design-sharp.glance-site.page-book-taxi-brussels-airport .site-header .brand-logo { inline-size: 128px; }
  body.design-sharp.glance-site.page-book-taxi-brussels-airport .header-phone { font-size: 15px; }
  body.design-sharp.glance-site.page-book-taxi-brussels-airport .site-header > .header-actions { gap: 4px; }
  body.design-sharp.glance-site.page-book-taxi-brussels-airport .site-header > .lang-switch > :is(a, span) { min-inline-size: 30px; padding: 0 2px; }
}

/* The owner, 23 October 12:27 and 12:46: the Complianz banner's texts, layout and behaviour, in the site's own
   design (square corners, ink, paper, accent, surface, line; the owner: the site is square, only the widget is
   round). Geometry from banner-1-optin.css of the WordPress site and its proof-of-consent record: bottom right 10 px, min 375 px wide, white, no border, radius 12,
   padding 15/20, 10 px grid gap, centred 15 px title (hidden under 426 px), 12 px text #2b2b2b, 45 px
   buttons at 15 px weight 500 sharing the row (stacked under 768 px, banner full width at the bottom),
   accept #dc0033, deny #f5f5f5/#e0e0e0/#8a8a8a, settings #f9f9f9/#f2f2f2/#8a8a8a, radius 6, categories as
   disclosure rows on rgba(239,239,239,.5), 28 by 15 px sliders #F56E28 off and #1e73be on, Always active in green. */
body.design-sharp.glance-site.consent-open .glance-notice { display: none; }
/* The owner, 23 October 13:17: the banner stays bottom right; while it is open the HubSpot chat launcher sits
   above it (site.js measures the banner into --consent-height) and comes back down after the choice. */
body.design-sharp.glance-site.consent-open #hubspot-messages-iframe-container { transform: translateY(calc(-1 * var(--consent-height, 0px) - 10px)); transition: transform .2s; }
@media (max-width: 768px) { body.design-sharp.glance-site.consent-open #hubspot-messages-iframe-container { display: none; } }
body.design-sharp.glance-site .cmplz-cookiebanner {
  position: fixed;
  inset-inline-end: 10px;
  inset-block-end: calc(10px + env(safe-area-inset-bottom, 0px));
  z-index: 99999;
  box-sizing: border-box;
  min-inline-size: 375px;
  inline-size: max-content;
  max-inline-size: calc(100vw - 20px);
  max-block-size: calc(100vh - 20px);
  display: grid;
  gap: 10px;
  padding: 15px 20px;
  background: var(--paper);
  color: var(--ink);
  border: 1px solid var(--ink);
  border-radius: 0;
  font-size: 12px;
  line-height: 18px;
}
body.design-sharp.glance-site .cmplz-cookiebanner p { margin: 0; }
body.design-sharp.glance-site .cmplz-header { display: grid; grid-template-columns: 100px 1fr 100px; align-items: center; }
body.design-sharp.glance-site .cmplz-title { grid-column-start: 2; justify-self: center; font-size: 15px; font-weight: 650; font-family: var(--glance-heading-font); }
body.design-sharp.glance-site .cmplz-body { inline-size: calc(375px - 42px); max-inline-size: 100%; max-block-size: 55vh; overflow-y: auto; overflow-x: hidden; }
body.design-sharp.glance-site .cmplz-message { margin-bottom: 5px; overflow-wrap: break-word; }
body.design-sharp.glance-site .cmplz-categories { display: block; margin-top: 10px; }
body.design-sharp.glance-site .cmplz-category { background: var(--surface); border: 1px solid var(--line); }
body.design-sharp.glance-site .cmplz-category:not(:last-child) { margin-bottom: 10px; }
body.design-sharp.glance-site .cmplz-category-header { display: grid; grid-template-columns: 1fr auto 15px; align-items: center; gap: 10px; padding: 10px; cursor: pointer; list-style: none; }
body.design-sharp.glance-site .cmplz-category-header::-webkit-details-marker { display: none; }
body.design-sharp.glance-site .cmplz-category-title { font-size: 14px; font-weight: 500; margin: 0; }
body.design-sharp.glance-site .cmplz-always-active { font-size: 12px; font-weight: 600; color: var(--success); }
body.design-sharp.glance-site .cmplz-icon.cmplz-open { grid-column-start: 3; inline-size: 18px; block-size: 18px; transition: transform .5s ease; }
body.design-sharp.glance-site .cmplz-category[open] .cmplz-icon.cmplz-open { transform: rotate(180deg); }
body.design-sharp.glance-site .cmplz-description { padding: 10px; font-size: 12px; margin: 0; max-inline-size: 100%; }
body.design-sharp.glance-site .cmplz-banner-checkbox { position: relative; display: flex; align-items: center; margin: 0; }
body.design-sharp.glance-site .cmplz-consent-checkbox { position: absolute; opacity: 0; inline-size: 40px; block-size: 20px; margin: 0; inset-block-start: -2px; inset-inline-start: 0; z-index: 1; cursor: pointer; }
body.design-sharp.glance-site .cmplz-sr { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); }
body.design-sharp.glance-site .cmplz-label { position: relative; display: block; inline-size: 28px; block-size: 15px; margin: 0; }
body.design-sharp.glance-site .cmplz-label::before { content: ""; position: absolute; inset: 0; box-sizing: border-box; border: 1px solid var(--muted); border-radius: 0; background: var(--paper); transition: background-color .3s, border-color .3s; }
body.design-sharp.glance-site .cmplz-label::after { content: ""; position: absolute; inset-block-start: 2px; inset-inline-start: 2px; inline-size: 11px; block-size: 11px; border-radius: 0; background: var(--line); transition: left .3s, background-color .3s; }
body.design-sharp.glance-site .cmplz-consent-checkbox:checked + .cmplz-label::before { background: var(--ink); border-color: var(--ink); }
body.design-sharp.glance-site .cmplz-consent-checkbox:checked + .cmplz-label::after { inset-inline-start: 15px; background: var(--paper); }
body.design-sharp.glance-site .cmplz-consent-checkbox:focus-visible + .cmplz-label::before { outline: 2px solid var(--ink); outline-offset: 2px; }
body.design-sharp.glance-site .cmplz-buttons { display: flex; gap: 10px; }
body.design-sharp.glance-site .cmplz-btn {
  flex: 1 1 0;
  min-inline-size: max-content;
  block-size: 45px;
  padding: 10px;
  border-radius: 0;
  font-size: 15px;
  font-weight: 650;
  font-family: inherit;
  line-height: 20px;
  white-space: nowrap;
  text-align: center;
  cursor: pointer;
}
body.design-sharp.glance-site .cmplz-accept { background: var(--accent); border: 1px solid var(--accent); color: var(--paper); }
body.design-sharp.glance-site .cmplz-deny { background: var(--paper); border: 1px solid var(--ink); color: var(--ink); }
body.design-sharp.glance-site .cmplz-view-preferences, body.design-sharp.glance-site .cmplz-save-preferences { background: var(--surface); border: 1px solid var(--line); color: var(--ink); }
body.design-sharp.glance-site .cmplz-btn:hover { background: var(--ink); border-color: var(--ink); color: var(--paper); }
@media (max-width: 768px) {
  body.design-sharp.glance-site .cmplz-cookiebanner { inset-inline: 0; inset-block-end: 0; inline-size: 100%; min-inline-size: 0; border-inline: 0; border-bottom: 0; }
  body.design-sharp.glance-site .cmplz-body { inline-size: auto; }
  body.design-sharp.glance-site .cmplz-buttons { flex-direction: column; }
}
@media (max-width: 425px) {
  body.design-sharp.glance-site .cmplz-header .cmplz-title { display: none; }
  body.design-sharp.glance-site .cmplz-category-header { grid-template-columns: 1fr; }
}
