/* V1.21.51 — full hero image without cropping; compact layout retained. */
.ui-polish { font-size:16px; }
.ui-polish :is(summary,button,a.btn,a.cta,a.button) { min-height:48px; }
.ui-polish summary { cursor:pointer; padding:12px 0; line-height:1.4; color:var(--navy,#0e2958); font-weight:700; }
.ui-polish details { border-color:#dfe4ea; }
.ui-polish details > summary { margin:0; }
.ui-polish :is(input,select,textarea) { min-width:0; }
.ui-polish :is(section,div,article) { overflow-wrap:break-word; }
.compact-brand { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; position:relative; z-index:30; }
.compact-brand > a { font-weight:900; font-size:17px; color:#0e2958; text-decoration:none; }
.compact-menu { margin:0; padding:0; border:0; }
.compact-menu summary { padding:12px 16px; border:1px solid #cbd5e1; border-radius:12px; background:#fff; }
.compact-menu .mini-nav { position:absolute; right:0; top:100%; width:min(440px,100%); padding:12px; margin:6px 0 0; background:#fff; box-shadow:0 10px 28px #0e295822; border:1px solid #dfe4ea; border-radius:16px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.compact-menu .mini-nav a:last-child { grid-column:1/-1; }
.ui-public .hero { padding:18px 0; }
.ui-public .hero-media { max-height:none; }
.ui-public .hero-media img { display:block; width:100%; height:auto; object-fit:contain; object-position:center; }
.ui-public .hero-copy { padding:12px 0 0; }
.ui-public .hero-copy > p { margin:0; font-size:16px; line-height:1.45; }
.ui-public .hero-actions { margin-top:12px; }
.ui-public .hero-actions a { padding:12px 16px; font-size:15px; }
.ui-public .public-quote-section { padding:16px 0 24px; }
.ui-public .public-quote-shell { padding:20px; border-radius:18px; box-shadow:0 5px 18px #0e29580a; }
.ui-public .public-quote-head { margin-bottom:12px; gap:10px; }
.ui-public .public-quote-head h2 { font-size:26px; line-height:1.2; }
.ui-public .public-quote-head p { font-size:15px; }
.ui-public .public-quote-free { font-size:11px; padding:6px 9px; }
.ui-public .public-quote-flex-note { margin:0 0 12px; padding:0 12px; font-size:13px; background:#faf8ef; border-color:#e3dac0; }
.ui-public .public-quote-flex-note summary { color:#665013; font-size:13px; }
.ui-public .public-quote-flex-note p { margin:0 0 12px; }
.ui-public .public-quote-grid { gap:12px; }
.ui-public .public-quote-field label { font-size:13px; text-transform:none; letter-spacing:0; }
.ui-public .public-quote-field :is(input,select) { min-height:48px; padding:11px; font-size:16px; }
.ui-public .compact-extras { grid-column:1/-1; padding:0; margin:0; }
.ui-public .compact-extras .public-quote-field { padding-bottom:12px; }
.ui-public .compact-contact { margin:16px 0; padding-top:16px; border-top:1px solid #dfe4ea; }
.ui-public .public-route-status { margin-top:10px; padding:9px 11px; }
.ui-public :is(.cards,.express-grid) { gap:12px; }
.ui-public #tours .card { display:grid; grid-template-columns:96px minmax(0,1fr); align-items:start; border-radius:14px; padding:14px; gap:14px; box-shadow:0 3px 12px #0e295808; }
.ui-public #tours .card.more-ride:not(.visible) { display:none; }
.ui-public #tours .card > img { width:96px; height:96px; object-fit:cover; border-radius:10px; }
.ui-public #tours .card-body { padding:0; min-width:0; }
.ui-public #tours .card h3 { margin:3px 0 6px; font-size:19px; line-height:1.3; }
.ui-public #tours .kicker { font-size:11px; letter-spacing:.02em; text-transform:none; }
.ui-public #tours .tour-price { font-size:17px; margin:0 0 4px; }
.ui-public #tours .meta { font-size:13px; margin-bottom:4px; }
.ui-public .compact-tour-details { margin:6px 0; padding:0; }
.ui-public .compact-tour-details summary { font-size:14px; }
.ui-public .compact-tour-details p { font-size:14px; line-height:1.5; }
.ui-public #tours .actions { margin-top:6px; }
.ui-public #tours .button { padding:10px 12px; font-size:14px; }
.ui-public .express-media { max-height:160px; overflow:hidden; }
.ui-public .express-media img { height:160px; object-fit:cover; }
.ui-public .express-media img:first-child { object-fit:contain; background:#fff; }
.ui-public .express-body { padding:16px; }
.ui-public .express-body h3 { font-size:19px; }
.ui-public section { padding:24px 0; }
.ui-public .lead { font-size:15px; margin-bottom:16px; }
.ui-public .ride-log-body { padding:16px; }
.ui-public .ride-log-body h3 { font-size:21px; }
.ui-driver .top { padding:16px; margin-bottom:12px; }
.ui-driver .top h1 { font-size:25px; }
.ui-driver .top p { font-size:14px; }
.ui-driver .compact-overview { margin:0 0 12px; padding:16px; }
.compact-overview-head { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.ui-driver .compact-overview h2 { font-size:20px; margin:0; }
.compact-overview-head span { font-size:12px; color:#667085; }
.compact-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:14px 0 0; }
.compact-metrics > div { padding:8px 10px; border-left:1px solid #dfe4ea; }
.compact-metrics > div:first-child { border-left:0; padding-left:0; }
.compact-metrics dt { font-size:12px; color:#536277; }
.compact-metrics dd { margin:2px 0 0; color:#0e2958; font-size:25px; font-weight:800; }
.compact-overview-note { font-size:12px; color:#536277; margin:10px 0 0; }
.ui-driver .new { padding:14px; font-size:20px; box-shadow:none; }
.ui-driver #latest { margin:12px 0; padding:14px; }
.ui-driver #latest h2 { font-size:16px; margin-bottom:6px; }
.ui-driver #latest .id { font-size:21px; }
.ui-driver #latest .row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.ui-driver #latest .row > * { grid-column:auto; padding:10px 6px; font-size:13px; }
.compact-driver-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:12px 0; }
.ui-driver .compact-driver-actions button { margin:0; padding:13px 10px; font-size:15px; border-width:1px; border-radius:12px; }
.ui-driver .compact-driver-actions small { font-size:12px; font-weight:400; margin-top:4px; }
.ui-driver .compact-more-tools { padding:0 14px 10px; margin:12px 0; border:1px solid #dfe4ea; border-radius:12px; background:#fff; }
.ui-driver .compact-more-tools:not([open]) { padding-bottom:0; }
.ui-driver .compact-more-tools > :is(button,a) { font-size:15px; padding:12px; margin-top:8px; }
.ui-driver .card h2 { font-size:21px; }
.ui-driver .live-stats { gap:8px; }
.ui-driver .live-stat { padding:10px; }
.ui-driver .live-stat strong { font-size:23px; }
.ui-driver .compact-request { font-size:14px; margin-top:12px; padding-top:12px; border-top:1px solid #dfe4ea; }
.compact-request strong { display:block; color:#0e2958; }
.compact-request p { margin:4px 0 8px; }
.ui-driver .compact-latest-meta { margin:6px 0 0; font-size:14px; color:#536277; }
@media (max-width:760px) {
  .ui-public .wrap { padding-left:14px; padding-right:14px; }
  .ui-public .hero { padding:10px 0 14px; }
  .compact-brand { margin-bottom:8px; }
  .compact-brand > a { font-size:16px; }
  .ui-public .hero-media { border-radius:14px; }
  .ui-public .hero-copy > p { font-size:15px; }
  .ui-public .hero-actions { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:10px; }
  .ui-public .hero-actions a { padding:10px 8px; font-size:14px; }
  .ui-public .public-quote-shell { padding:14px; }
  .ui-public .public-quote-head { display:block; }
  .ui-public .public-quote-head h2 { font-size:23px; }
  .ui-public .public-quote-free { display:inline-block; margin-top:8px; }
  .ui-public .public-quote-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .ui-public .place-search-wrap,.ui-public .compact-contact > .public-quote-field { grid-column:1/-1; }
  .ui-public .public-quote-field:has(#publicQuoteWhen) { grid-column:auto; }
  .ui-public .place-search-input-row { flex-wrap:wrap; }
  .ui-public .place-search-control { min-width:0; flex:1 1 160px; }
  .ui-public .place-location-button { font-size:12px; padding:10px; }
  .ui-public #tours .card { grid-template-columns:72px minmax(0,1fr); padding:12px; gap:12px; }
  .ui-public #tours .card > img { width:72px; height:82px; }
  .ui-public #tours .card h3 { font-size:17px; }
  .ui-public .public-quote-option-top { grid-template-columns:auto minmax(0,1fr); }
  .ui-public .public-quote-price { grid-column:2; text-align:left; white-space:normal; font-size:19px; }
  .ui-public .public-quote-option h3 { font-size:18px; }
}
@media (max-width:420px) {
  .compact-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 0; }
  .compact-metrics > div:nth-child(odd) { border-left:0; padding-left:0; }
  .compact-overview-head { align-items:start; flex-wrap:wrap; }
  .ui-driver #latest .row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ui-driver #latest .row > :first-child { grid-column:1/-1; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
.ui-polish [hidden] { display:none!important; }
