@media (max-width: 767px) {
  .hero h1 {
    font-size: 27px;
    line-height: 1.35;
    text-align: center;
  }

  .hero-copy {
    font-size: 11px;
    line-height: 1.85;
    text-align: center;
  }

  .section {
    padding-top: 46px;
    padding-bottom: 46px;
  }

  .section-heading {
    gap: 8px;
    margin-bottom: 22px;
    text-align: center;
  }

  .section-heading .eyebrow,
  .visual-band .eyebrow,
  .sightseeing .eyebrow,
  .contact-copy .eyebrow {
    min-height: 18px;
    margin-bottom: 8px;
    text-align: center;
  }

  #service .section-heading h2 {
    font-size: 21px;
  }

  .intro-grid {
    gap: 22px;
  }

  .intro-copy {
    font-size: 13px;
    line-height: 1.9;
    text-align: center;
  }

  .intro-copy p {
    margin-top: 12px;
  }

  .service-list {
    gap: 10px;
    text-align: center;
  }

  .service-list article {
    justify-items: center;
    padding: 22px 18px;
    text-align: center;
  }

  .service-list p {
    font-size: 13px;
    line-height: 1.9;
  }

  .visual-band,
  .sightseeing {
    gap: 20px;
    padding-top: 32px;
    padding-bottom: 38px;
    text-align: center;
  }

  .visual-band > div,
  .sightseeing > div {
    max-width: none;
    text-align: center;
  }

  .visual-band h2 {
    font-size: 22px;
    line-height: 1.35;
    text-align: center;
  }

  .visual-band p {
    font-size: 13px;
    line-height: 1.85;
    text-align: center;
  }

  .pricing {
    padding-top: 46px;
  }

  #plan .section-heading h2 {
    font-size: 16px;
    line-height: 1.5;
  }

  .pricing-layout {
    gap: 22px;
    text-align: center;
  }

  .pricing-visual {
    margin-bottom: 16px;
  }

  .pricing-note {
    text-align: center;
  }

  .pricing-note h3 {
    font-size: 13px;
    line-height: 1.6;
    text-align: center;
  }

  .pricing-note p {
    font-size: 12px;
    line-height: 1.9;
    text-align: center;
  }

  .pricing-note p:nth-of-type(2) {
    font-size: 11px;
  }

  .price-examples p {
    font-size: 15px;
  }

  .fleet {
    padding-top: 46px;
  }

  #fleet .section-heading h2 {
    font-size: 19px;
    line-height: 1.45;
  }

  .fleet-grid {
    gap: 12px;
    text-align: center;
  }

  .fleet-grid article {
    padding: 22px 18px;
    text-align: center;
  }

  .fleet-grid p {
    font-size: 13px;
    line-height: 1.9;
  }

  .sightseeing h2 {
    font-size: 19px;
    line-height: 1.45;
    text-align: center;
  }

  .sightseeing p {
    font-size: 13px;
    line-height: 1.9;
    text-align: center;
  }

  .contact-section {
    gap: 24px;
  }

  .contact-copy {
    text-align: center;
  }

  .contact-copy h2 {
    font-size: 18px;
    line-height: 1.5;
    text-align: center;
  }

  .contact-copy p {
    font-size: 13px;
    line-height: 1.9;
    text-align: center;
  }

  .contact-tel {
    border-top: 3px solid var(--teal);
    border-left: 0;
    padding: 18px;
    text-align: center;
  }

  .contact-tel a {
    font-size: 28px;
  }

  .reassurance .section-heading h2,
  #company .section-heading h2 {
    font-size: 19px;
    line-height: 1.45;
  }

  .faq-grid {
    gap: 12px;
  }

  .faq-grid details {
    padding: 18px;
    text-align: center;
  }

  .faq-grid summary {
    font-size: 13px;
  }

  .faq-grid p {
    font-size: 13px;
    line-height: 1.9;
    text-align: center;
  }

  .company-list div {
    gap: 5px;
    padding: 16px 0;
  }

  .company-list dt,
  .company-list dd {
    font-size: 13px;
    line-height: 1.8;
  }

  .site-footer {
    gap: 14px;
    padding-top: 38px;
    text-align: center;
  }

  .site-footer strong {
    font-size: 19px;
  }

  .site-footer p,
  .site-footer small {
    font-size: 13px;
  }

  .site-footer nav {
    justify-content: center;
    gap: 12px;
    text-align: center;
  }
}
