/* Full-width photography with responsive content and readable controls. */
body, button, input, select, textarea { font-family: Arial, Helvetica, sans-serif; }
#top.hero, .rental-hero {
  display: block;
  min-height: 0;
  height: auto;
  margin: 0;
  padding: 86px 0 0;
  overflow: hidden;
  color: #fff;
  background: #0c0d0c;
}
#top .hero-image, .rental-hero .rental-hero-image {
  position: static;
  z-index: auto;
  display: block;
  width: 100%;
  height: auto;
  max-height: 72svh;
  object-fit: contain;
  object-position: center;
  transform: none;
  transition: none;
  will-change: auto;
  border-radius: 0;
}
#top .hero-shade, #top .hero-aurora, #top .hero-frame,
.rental-hero::before { display: none; }
#top .hero-tiktok { display: inline-grid; left: 28px; bottom: 24px; z-index: 2; }
#top .hero-scroll { display: grid; right: 28px; bottom: 24px; z-index: 2; }
#top h1::after { display: none; }
.appointment-band-copy h2 :is(span,em) { white-space: normal; overflow-wrap: anywhere; }
body:not(.rental-marketplace-active) .site-header .brand-mark { color: #27231d; }
.rental-hero-copy {
  position: absolute; left: clamp(20px, 4vw, 64px); bottom: 24px;
  min-width: 0; max-width: min(460px, calc(100% - 40px));
  padding: 18px 22px; border-radius: 10px;
  background: rgba(12,13,12,.82); text-shadow: none;
}
.rental-hero-copy h1 {
  margin: 8px 0 16px; max-width: 580px;
  font: 700 clamp(24px, 2.8vw, 40px)/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: -.025em; overflow-wrap: anywhere; white-space: normal; text-shadow: none;
}
body:not(.rental-marketplace-active) .site-header { color: #27231d; background: #f4f0e8; }
body:not(.rental-marketplace-active) .site-header :is(.brand,.main-nav a,.main-nav button,.text-button,.header-icon,.menu-toggle,.mobile-header-control,.header-account-name) { color: #27231d; }
body:not(.rental-marketplace-active) .menu-toggle span { background: #27231d; }
body:not(.rental-marketplace-active) .site-header .mobile-header-control { background: #e8dfd1; border-color: #c1ad8d; }
.rental-hero-copy > p:not(.eyebrow) { color: #e2ddd3; font-size: 15px; }
.rental-hero-copy .eyebrow { color: #dfbc7d; letter-spacing: .09em; }
.rental-hero-copy .button { margin-top: 16px; min-height: 44px; }
#collection.collection { padding-top: 28px; }
#collection .section-heading { gap: 16px; margin-bottom: 16px; }
#collectionTitle { font-size: clamp(26px, 3vw, 42px); line-height: 1.2; }
#collectionEyebrow { display: none; }
.rental-search-section { padding: 16px max(16px, calc((100vw - 1400px) / 2)); }
.rental-quick-search { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 14px; padding: 20px; }
.rental-quick-search > label:last-of-type, .rental-quick-search > .button { grid-column: auto; }
.rental-more-filters { grid-column: 1 / -1; min-width: 0; }
.rental-more-filters summary { display: list-item; min-height: 44px; padding: 12px 0; cursor: pointer; font-weight: 700; }
.rental-more-filter-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding-top: 8px; }
.rental-search-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rental-catalog { padding-top: 30px; padding-bottom: 40px; }
.rental-catalog-heading h2 { font-size: clamp(26px, 3vw, 40px); line-height: 1.2; }
.rental-quick-search-heading { flex-wrap: wrap; gap: 8px; padding-bottom: 10px; }
.rental-quick-search-heading span { letter-spacing: .06em; }
:where(main, .modal-panel) :is(h1,h2,h3,h4,p,label,button,a,summary,strong,small,span) { overflow-wrap: anywhere; word-break: normal; }
:where(main, .modal-panel) :is(form,fieldset,label,section,article,div,details) { min-width: 0; }
:where(main, .modal-panel) :is(input,select,textarea) { max-width: 100%; min-width: 0; }
#listingGrid .listing-card h3, #listingGrid.view-grid .listing-card h3,
.rental-card-operator strong, .rental-card-operator small, .listing-card-title {
  display: block; height: auto; max-height: none; overflow: visible;
  white-space: normal; text-overflow: clip; -webkit-line-clamp: unset; line-height: 1.3;
}
#listingGrid .listing-card-media img, .rental-card-media img,
.rental-card:hover .rental-card-media img, .appointment-band-visual img,
.rental-fleet-thumb img, .draft-preview-hero > img { object-fit: contain; transform: none; }
.appointment-band-visual { min-height: 0; height: auto; aspect-ratio: auto; }
.appointment-band-visual img { display: block; width: 100%; height: auto; }
.modal-panel :is(h1,h2,h3) { line-height: 1.2; }
.legal-page { overflow-wrap: anywhere; }
.help-categories { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0; }
.help-categories a { padding: 12px 16px; border: 1px solid #bba989; border-radius: 8px; text-decoration: none; }
.help-group { scroll-margin-top: 100px; }
.help-group details { border-bottom: 1px solid #d9d1c4; padding: 8px 0; }
.help-group summary { cursor: pointer; padding: 14px 0; font-weight: 700; line-height: 1.5; }
.help-group details p { margin: 0 0 16px; line-height: 1.7; }
@media (max-width: 980px) {
  #top.hero, .rental-hero { padding: 80px 0 0; }
  .rental-quick-search { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rental-quick-search > .button { grid-column: 1 / -1; }
  .rental-more-filter-fields { grid-template-columns: minmax(0, 1fr); }
  .section { padding-block: 36px; }
  .appointment-band-copy h2, .rental-operator-cta h2 { font-size: clamp(26px, 4vw, 38px); line-height: 1.25; }
  .rental-operator-cta { padding: 36px 20px; gap: 20px; }
  .rental-detail-copy h2 { font-size: clamp(26px, 4vw, 38px); line-height: 1.25; }
  .modal-panel :is(input,select,textarea) { font-size: 16px; }
}
@media (max-width: 600px) {
  #top.hero, .rental-hero { padding-top: calc(74px + env(safe-area-inset-top)); }
  #top .hero-tiktok { position: relative; left: auto; bottom: auto; margin: 12px 16px; }
  #top .hero-scroll { bottom: 18px; right: 16px; width: 40px; height: 40px; }
  .rental-hero-copy { position: static; max-width: none; padding: 16px; border-radius: 0; }
  .rental-hero-copy h1 { font-size: clamp(22px, 6vw, 28px); margin: 5px 0 10px; line-height: 1.25; }
  .rental-hero-copy .eyebrow { font-size: 10px; letter-spacing: .05em; }
  .rental-hero-copy > p:not(.eyebrow) { font-size: 12px; line-height: 1.5; }
  #collection.collection { padding: 20px 14px 36px; }
  #collectionTitle { font-size: 26px; }
  .rental-search-section { padding: 12px; }
  .rental-quick-search { padding: 14px; gap: 12px; }
  .rental-quick-search > label, .rental-quick-search > label:last-of-type { grid-column: 1 / -1; }
  .rental-catalog { padding: 24px 14px 36px; }
  .rental-catalog-heading { gap: 14px; margin-bottom: 20px; }
  .rental-card-heading { flex-wrap: wrap; }
  .rental-card-price { text-align: left; }
  .rental-card h3 { font-size: 22px; line-height: 1.3; }
  .rental-card-price small { max-width: 100%; }
  .rental-detail-copy { padding: 24px 16px 40px; }
  .legal-page { padding: 28px 16px; }
  .legal-page h1 { font-size: clamp(28px, 8vw, 40px); line-height: 1.2; }
  .help-categories a { flex: 1 1 130px; }
  .cookie-consent { max-height: 45svh; overflow-y: auto; padding: 16px; }
  .cookie-consent-copy h2 { font-size: 22px; line-height: 1.25; }
  .cookie-consent-copy p { font-size: 13px; line-height: 1.45; }
  .cookie-consent-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1100px), (pointer: coarse) {
  #filterPanel :is(input,select), .collection-results select { font-size: 16px; }
}

/* Keep restored full-width photos and anchor targets below the two-row header. */
@media (min-width: 901px) and (max-width: 1599px) {
  #top.hero, .rental-hero { padding-top: 118px; }
  main [id], .help-group { scroll-margin-top: 134px; }
}
