/* TTT-specific content and accessibility adjustments. Reference layout is retained. */
.nav-logo img { object-fit: contain; width: 185px; }
.ps-card strong { color: #155063; font-size: 16px; text-align: center; padding: 15px; }
.hero-heading { opacity: 1 !important; }
#heroSlider .hero-body { z-index: 4; }
.hero-svc-row { flex-wrap: wrap; }
.footer-widget .footer-add p { line-height: 1.9; }
.footer-widget img[alt="TTT logo"] { object-fit: contain; max-width: 220px; }
.modal { z-index: 11000; }
.modal-backdrop { z-index: 10990; }
.modal-content { color: #193c49; }
#contactModal .modal-dialog, #enquiryModal .modal-dialog { margin-top: 35px; margin-bottom: 35px; }
#contactModal .modal-body, #enquiryModal .modal-body { max-height: 78vh; overflow-y: auto; }
#nav .nav-links .dropdown-menu { z-index: 120; }
:focus-visible { outline: 3px solid #22afc5; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
@media (max-width: 767px) {
  .nav-logo img { width: 135px; }
  .hero-svc-row { gap: 10px; }
  .hero-svc-link { font-size: 16px; }
  .footer .col-6 { width: 50%; }
  .modal-dialog { margin: 12px !important; }
}
/* Match the reference hero's condensed display typography. */
.hero-heading { font-family: 'Anton', Impact, sans-serif !important; font-weight: 400; }

/* Match the previous About Us image dimensions without stretching. */
#about .about-img img { height: auto; aspect-ratio: 1100 / 1460; object-fit: cover; object-position: center; display: block; }

/* Group travel services under one accessible navigation dropdown. */
.services-menu-toggle {
  border: 0;
  background: none;
  padding: 0;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
#nav .services-menu-toggle { color: var(--nav-text, #fff); }
#nav.scrolled .services-menu-toggle { color: #333; }
#nav .services-menu-toggle:hover { color: #c9a84c; }
.mobile-services { width: 100%; }
.mobile-services summary { cursor: pointer; padding: 12px 0; font-size: 20px; color: inherit; }
.mobile-services-items { padding: 4px 0 12px 18px; border-left: 1px solid #c9a84c77; }
.mobile-services-items a { display: block; padding: 10px 0 !important; font-size: 16px !important; }
