/* THAT Rental | Premium finish layer
   Presentation-only enhancements. No layout, data flow or booking logic changes. */
:root{--premium-ease:cubic-bezier(.22,1,.36,1);--premium-shadow:0 16px 44px rgba(9,39,77,.13),0 3px 10px rgba(9,39,77,.035);--premium-ring:0 0 0 4px rgba(21,91,150,.13)}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.site-header{background:rgba(255,255,255,.94);box-shadow:0 6px 30px rgba(8,42,80,.045);border-bottom:1px solid rgba(197,214,229,.65);backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px);transition:box-shadow .3s ease,background-color .3s ease}
.site-header.is-scrolled{box-shadow:0 12px 36px rgba(8,42,80,.10);background:rgba(255,255,255,.975)}
.site-header .main-nav a{position:relative;transition:color .22s ease,border-color .22s ease}
.site-header .main-nav a:after{content:"";position:absolute;left:0;right:0;bottom:19px;height:2px;border-radius:3px;background:#f58220;transform:scaleX(0);transform-origin:center;transition:transform .28s var(--premium-ease)}
.site-header .main-nav a:hover:after,.site-header .main-nav a.active:after{transform:scaleX(1)}
.site-header .brand img{transition:transform .38s var(--premium-ease)}.site-header .brand:hover img{transform:scale(1.025)}
:where(.button,.header-cta,button[type="submit"],.that-mobile-price-bar button){position:relative;transition:transform .25s var(--premium-ease),box-shadow .25s ease,background-color .22s ease,border-color .22s ease,filter .22s ease;touch-action:manipulation}
:where(.button,.header-cta,button[type="submit"]):not(:disabled):not([aria-disabled="true"]):hover{transform:translateY(-2px);filter:brightness(1.065);box-shadow:0 12px 26px rgba(10,65,116,.21)}
.header-cta:not(:disabled):hover{box-shadow:0 12px 26px rgba(245,130,32,.24)}
:where(.button,.header-cta,button[type="submit"]):not(:disabled):active{transform:translateY(0) scale(.985);filter:brightness(.98)}
:where(button,input,select,textarea,a,[role="button"]):focus-visible{outline:3px solid #ec8737;outline-offset:3px}
:where(.field input,.field select,.field textarea,input:not([type="checkbox"]):not([type="radio"]),select,textarea){transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease}
:where(.field input,.field select,.field textarea):focus{outline:none;box-shadow:var(--premium-ring);border-color:#2675ae}
:where(.field input,.field select,.field textarea):not(:focus):hover{border-color:#adc6da}
:where(.hero h1,.page-hero h1,.section-heading h2){font-weight:800;letter-spacing:-.048em;text-wrap:balance}
:where(.section-heading h2,.page-hero h1){line-height:1.075}
:where(.eyebrow,.summary-kicker,.section-label){letter-spacing:.13em}
:where(.card,.summary-panel,.hero-card,.trust-card,.checkout-form-panel){transition:box-shadow .34s var(--premium-ease),border-color .3s ease,transform .34s var(--premium-ease)}
:where(.card,.summary-panel,.checkout-form-panel){border-color:#dce6ef}
.card:hover{transform:translateY(-4px);box-shadow:var(--premium-shadow);border-color:#c4d8e8}
:where(.hero-card,.trust-card,.checkout-form-panel){box-shadow:var(--premium-shadow)}
:where(.extra-card,.payment-choice,.check-option,.branch-suggestion,.that-enhanced-card){transition:box-shadow .25s ease,background-color .22s ease,border-color .22s ease,transform .25s var(--premium-ease)}
:where(.extra-card,.payment-choice,.check-option):hover{border-color:#91b5d3;background-color:#fbfdff;box-shadow:0 5px 18px rgba(9,52,97,.055)}
:where(.extra-card,.payment-choice,.check-option):has(input:focus-visible){outline:3px solid #ec8737;outline-offset:2px}
.branch-suggestions{border-color:#d3e0ec;box-shadow:0 20px 55px rgba(10,48,85,.17);border-radius:16px;padding:7px}
.branch-suggestion:hover,.branch-suggestion:focus-visible{background:#eff6fd;transform:translateX(2px)}
:where(.modal-panel,.that-vehicle-dialog,.branch-edit-dialog,.portal-booking-dialog){border-radius:22px;box-shadow:0 36px 100px rgba(4,25,49,.28),0 8px 28px rgba(4,25,49,.09)}
.modal:not([hidden]) .modal-panel{animation:premium-modal-in .32s var(--premium-ease) both}
.modal:not([hidden]) .modal-backdrop{animation:premium-backdrop-in .3s ease both}
:where(.that-vehicle-dialog,.branch-edit-dialog,.portal-booking-dialog)[open]{animation:premium-modal-in .32s var(--premium-ease) both}
:where(.that-vehicle-dialog,.branch-edit-dialog,.portal-booking-dialog)::backdrop{background:rgba(5,23,45,.68);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
:where(.modal-close,.that-dialog-close){transition:background-color .22s ease,transform .25s var(--premium-ease),box-shadow .22s ease}
:where(.modal-close,.that-dialog-close):hover{background:#eaf3fb;transform:rotate(8deg);box-shadow:0 4px 12px rgba(7,45,89,.12)}
:where(.modal-panel,.that-dialog-body) h2{letter-spacing:-.035em;line-height:1.12}
:where(.pill,.status){font-weight:700;letter-spacing:.01em}
:where(.data-table tbody tr){transition:background-color .2s ease}
.data-table tbody tr:hover{background:#f6faff}
.site-footer a{transition:color .22s ease,opacity .22s ease}.site-footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
@keyframes premium-modal-in{from{opacity:0;transform:translateY(16px) scale(.978)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes premium-backdrop-in{from{opacity:0}to{opacity:1}}
@media(max-width:900px){.site-header .main-nav{box-shadow:0 20px 56px rgba(6,43,83,.16);border-radius:18px}.site-header .main-nav.open{animation:premium-modal-in .25s var(--premium-ease)}.site-header .main-nav a:after{display:none}.site-header .main-nav a{border-radius:10px;transition:background-color .2s ease}.site-header .main-nav a:hover{background:#f2f7fc}}
@media(hover:none){.card:hover,:where(.button,.header-cta,button[type="submit"]):not(:disabled):hover{transform:none}.branch-suggestion:hover{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}:where(*, *::before,*::after){animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* THAT Rental | Tailored, squared-off refinement (31 Oct update)
   Override existing visual treatments; do not modify checkout behaviour. */
:root{--premium-shadow:0 12px 28px rgba(9,39,77,.09),0 2px 5px rgba(9,39,77,.035);--premium-ring:0 0 0 3px rgba(21,91,150,.12)}
/* Retain the website's original single active-page border, not two decorative lines. */
.site-header .main-nav a::after{content:none!important;display:none!important}
.site-header .main-nav a{border-bottom-style:solid;border-bottom-width:3px;transition:color .2s ease,border-color .2s ease}
/* A restrained corner system, rather than pills and oversoft cards. */
:where(.button,.header-cta,button[type="submit"],button[type="button"],input[type="submit"],.that-mobile-price-bar button){border-radius:6px}
:where(.hero-card,.trust-card,.card,.vehicle-card,.summary-panel,.checkout-form-panel,.modal-panel,.that-vehicle-dialog,.branch-edit-dialog,.portal-booking-dialog,.that-alternatives,.that-result-tools,.that-filters-disclosure,.that-branch-details,.that-optional-disclosure,.that-range-panel,.branch-suggestions,.that-cookie-banner,.notice,.empty){border-radius:8px}
:where(.field input,.field select,.field textarea,input:not([type="radio"]):not([type="checkbox"]),select,textarea,.that-range-toggle,.that-calendar-day,.that-booking-steps>*,.that-card-badges span,.pill,.status,.that-mobile-promo,.footer-card){border-radius:5px}
:where(.extra-card,.payment-choice,.check-option,.that-enhanced-card,.that-upgrade-strip){border-radius:7px}
:where(.that-dialog-close,.modal-close){border-radius:7px}
:where(.that-hero-arrow){border-radius:6px}
:where(.that-hero-dots button){border-radius:2px}
.site-header .header-cta{border-radius:7px;box-shadow:0 5px 14px rgba(245,130,32,.15)}
:where(.button,.header-cta,button[type="submit"]):not(:disabled):hover{transform:translateY(-1px);filter:brightness(1.025);box-shadow:0 7px 18px rgba(10,65,116,.16)}
:where(.button,.header-cta,button[type="submit"]):not(:disabled):active{transform:translateY(0)}
/* Vehicle selection: refined framing, stronger clarity of selected state. */
.vehicle-card{border:1px solid #dae4ed;box-shadow:0 2px 9px rgba(13,49,84,.035);transition:border-color .23s ease,box-shadow .27s ease,transform .27s var(--premium-ease),background-color .23s ease}
.vehicle-card:hover{transform:translateY(-2px);border-color:#a9c1d6;box-shadow:0 12px 25px rgba(11,50,83,.1)}
.vehicle-card .vehicle-art,.vehicle-card .vehicle-group-image{border-radius:5px}
.vehicle-card .price{letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.vehicle-card .button{margin-top:auto}
.vehicle-card:has(input[type="radio"]:checked),.vehicle-card:has(input[type="checkbox"]:checked),.vehicle-card[aria-selected="true"],.vehicle-card.is-selected,.vehicle-card.selected{border-color:#164d80;box-shadow:0 0 0 2px rgba(19,59,119,.12),0 9px 25px rgba(11,50,83,.075);background:#fcfdff}
.vehicle-card:has(input:focus-visible){outline:3px solid #ec8737;outline-offset:3px}
.that-card-badges span{font-weight:650;letter-spacing:.005em}
/* Checkout and optional choices: visual feedback uses existing native checked state. */
:where(.payment-choice,.extra-card){border:1px solid #d9e4ed;transition:border-color .2s ease,background-color .2s ease,box-shadow .22s ease}
:where(.payment-choice,.extra-card):hover{transform:none;border-color:#a0bdd5;box-shadow:0 4px 12px rgba(13,49,84,.065)}
:where(.payment-choice,.extra-card):has(input:checked){border-color:#164d80!important;background:#f4f8fc;box-shadow:inset 3px 0 0 #164d80,0 3px 10px rgba(13,49,84,.055)}
:where(.payment-choice,.extra-card):has(input:focus-visible){outline:3px solid #ec8737;outline-offset:3px}
.checkout-summary{border-color:#cfdde9;box-shadow:0 7px 22px rgba(13,49,84,.06)}
.checkout-summary .summary-row{transition:background-color .2s ease}
.checkout-summary .price,.checkout-summary [data-booking-total],.checkout-summary [data-summary-total]{font-variant-numeric:tabular-nums}
:where(.notice.success,.discount-code-message.success){border-left:3px solid #16835c;border-radius:5px}
:where(.notice.error,#payment-message){border-left:3px solid #bd4c32;border-radius:5px}
:where(.that-booking-steps>*){transition:background-color .2s ease,color .2s ease}
:where(.that-booking-steps>.is-active){box-shadow:inset 0 -3px 0 #f58220}
:where(.that-mobile-price-bar){border-radius:0 0 6px 6px}
:where(.modal-panel,.that-vehicle-dialog,.branch-edit-dialog,.portal-booking-dialog){box-shadow:0 24px 65px rgba(4,25,49,.23),0 5px 14px rgba(4,25,49,.075)}
@media(max-width:900px){.site-header .main-nav{border-radius:7px}.site-header .main-nav a{border-radius:4px;border-bottom:0}.site-header .main-nav a.active{background:#f0f5f9;color:#0b4f8a;box-shadow:inset 3px 0 0 #f58220}}
@media(hover:none){.vehicle-card:hover{transform:none}}


/* THAT Rental | Calendar range ribbon refinement (31 Oct update) */
.that-range-days{gap:0;background:#fff;border-radius:6px;overflow:hidden}
.that-range-weekdays{gap:6px}
.that-range-days>span{display:block;min-height:44px}
.that-calendar-day{position:relative;width:100%;min-height:44px;border:0;background:#eff4f8;color:#153b65;border-radius:5px;box-shadow:none;transition:background-color .16s ease,color .16s ease,border-radius .16s ease}
.that-calendar-day:hover:not(:disabled),.that-calendar-day:focus-visible:not(:disabled){background:#e3edf7;outline:none}
.that-calendar-day.is-between{background:#dbe8f7;color:#173e67;border-radius:0}
.that-calendar-day.is-range-active.has-range-left{border-top-left-radius:0;border-bottom-left-radius:0}
.that-calendar-day.is-range-active.has-range-right{border-top-right-radius:0;border-bottom-right-radius:0}
.that-calendar-day.is-start.has-range-right{border-top-right-radius:0!important;border-bottom-right-radius:0!important}
.that-calendar-day.is-end.has-range-left,.that-calendar-day.is-preview-end.has-range-left{border-top-left-radius:0!important;border-bottom-left-radius:0!important}
.that-calendar-day.is-start,.that-calendar-day.is-end,.that-calendar-day.is-preview-end,.that-calendar-day.is-endpoint{background:#133b77;color:#fff;font-weight:700}
.that-calendar-day.is-start.has-range-right,.that-calendar-day.is-end.has-range-left,.that-calendar-day.is-preview-end.has-range-left{z-index:1}
.that-range-panel{padding:16px 16px 14px}

/* Keep the previewed return date dark blue even while hovered or keyboard-focused.
   More specific than the ordinary calendar hover rule. */
.that-range-days .that-calendar-day.is-preview-end:hover:not(:disabled),
.that-range-days .that-calendar-day.is-preview-end:focus-visible:not(:disabled),
.that-range-days .that-calendar-day.is-preview-end,
.that-range-days .that-calendar-day.is-end:hover:not(:disabled),
.that-range-days .that-calendar-day.is-start:hover:not(:disabled) {
  background-color: #133b77;
  color: #fff;
}


/* Two individual calendars in one responsive date picker. */
.that-two-month-panel{width:min(720px,calc(100vw - 32px));max-width:none;box-sizing:border-box;left:0;right:auto;z-index:150;padding:18px;border-radius:8px}
.that-two-month-panel .that-range-toolbar{margin-bottom:14px;gap:10px}
.that-two-month-panel .that-range-toolbar strong{font-size:15px;color:#133b77}
.that-two-month-panel .that-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.that-two-month-panel .that-month{min-width:0;overflow:hidden}
.that-two-month-panel .that-month-title{display:block;text-align:center;margin:1px 0 12px;color:#143b67;font-weight:750;font-size:15px}
.that-two-month-panel .that-range-weekdays{gap:0;margin-bottom:5px}
.that-two-month-panel .that-range-days{gap:0}
.that-two-month-panel .that-calendar-day{min-height:41px}
@media(min-width:701px){
 .that-two-month-panel{left:50%;transform:translateX(-50%)}
}
@media(max-width:700px){
 .that-two-month-panel{position:fixed;top:max(12px,env(safe-area-inset-top));left:12px;right:12px;bottom:auto;width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;padding:14px 12px 16px;box-shadow:0 15px 55px rgba(8,36,70,.26)}
 .that-two-month-panel .that-months{grid-template-columns:minmax(0,1fr);gap:22px}
 .that-two-month-panel .that-month-title{margin-bottom:9px}
 .that-two-month-panel .that-calendar-day{min-height:42px}
 .that-two-month-panel .that-range-toolbar{position:sticky;top:-14px;z-index:2;padding:9px 0;background:#fff}
 .that-two-month-panel [data-close-calendar]{position:sticky;bottom:0;box-shadow:0 -4px 12px rgba(255,255,255,.85)}
}

/* Mobile: keep both month headings below the sticky site header.
   The header is 82px high; leave a breathing gap and contain scrolling in the popup. */
@media(max-width:700px){
 .that-two-month-panel{
   top:calc(90px + env(safe-area-inset-top, 0px));
   max-height:calc(100vh - 104px - env(safe-area-inset-top, 0px));
   max-height:calc(100dvh - 104px - env(safe-area-inset-top, 0px));
   overflow-y:auto;
   overscroll-behavior-y:contain;
   -webkit-overflow-scrolling:touch;
 }
}

/* Homepage calendar: lift the open date picker above the overlapping trust/info strip.
   Keep the hero's normal clipping and layering whenever the calendar is closed. */
.that-carousel-hero:has(.that-two-month-panel:not([hidden])){
  overflow:visible;
  z-index:5;
}
.that-carousel-hero:has(.that-two-month-panel:not([hidden])) .hero-inner{z-index:6}
.that-carousel-hero:has(.that-two-month-panel:not([hidden])) .hero-card{z-index:7}
/* The site header must remain above the calendar (especially on mobile). */
.site-header{z-index:20}

/* Homepage calendar: lift the form, NOT the entire hero artwork. The trust strip
   must remain above the hero image whether the picker is open or shut. */
.that-carousel-hero:has(.that-two-month-panel:not([hidden])){
  isolation:auto;
  z-index:auto;
  overflow:visible;
}
.that-carousel-hero:has(.that-two-month-panel:not([hidden])) .hero-inner{z-index:auto}
.that-carousel-hero:has(.that-two-month-panel:not([hidden])) .hero-card{z-index:10}
.trust-row{z-index:2}

/* Booking results: quiet, premium catalogue styling within the current structure. */
[data-vehicle-results]{gap:22px;align-items:stretch}
[data-vehicle-results] .vehicle-card.that-enhanced-card{
  position:relative;min-width:0;overflow:hidden;padding:0;
  border:1px solid #dce4ec;border-radius:8px;background:#fff;
  box-shadow:0 3px 15px rgba(9,32,58,.045);
  transition:transform .25s var(--premium-ease),box-shadow .25s ease,border-color .25s ease;
}
[data-vehicle-results] .vehicle-card.that-enhanced-card:hover{
  transform:translateY(-3px);border-color:#afc5d7;
  box-shadow:0 16px 38px rgba(9,32,58,.12);
}
[data-vehicle-results] .vehicle-card .vehicle-group-image,
[data-vehicle-results] .vehicle-card .vehicle-art{
  order:0;width:100%;height:205px;max-height:none;object-fit:contain;
  margin:0;padding:20px 18px 10px;border-radius:0;
  background:linear-gradient(160deg,#edf2f6 0%,#f7f9fb 58%,#e7edf2 100%);
  transition:transform .3s var(--premium-ease);
}
[data-vehicle-results] .vehicle-card:hover .vehicle-group-image{transform:scale(1.022)}
[data-vehicle-results] .vehicle-card .that-card-badges{
  order:1;margin:0;padding:15px 19px 2px;gap:6px;
}
[data-vehicle-results] .vehicle-card .that-card-badges span{
  display:inline-flex;align-items:center;border-radius:3px;
  padding:5px 8px;font-size:11px;letter-spacing:.02em;
}
[data-vehicle-results] .vehicle-card h3{
  order:2;padding:0 19px;margin:12px 0 2px;
  font-size:clamp(20px,2vw,25px);font-weight:800;letter-spacing:-.035em;
  line-height:1.15;color:#102842;
}
[data-vehicle-results] .vehicle-card h3+.muted{
  order:3;padding:0 19px;font-size:13px;color:#708296;min-height:19px;
}
[data-vehicle-results] .vehicle-card .vehicle-meta{
  order:4;margin:15px 19px 12px;padding:10px 0;
  border-top:1px solid #e9eef3;border-bottom:1px solid #e9eef3;
  gap:14px;font-size:13px;color:#344f69;
}
[data-vehicle-results] .vehicle-card .that-vehicle-details-button{
  order:5;align-self:flex-start;margin:0 19px 13px;padding:2px 0;
  background:transparent;border:0;color:#134977;text-underline-offset:4px;
  font-size:13px;cursor:pointer;
}
[data-vehicle-results] .vehicle-card .price{
  order:6;margin:auto 19px 0;padding:12px 0 6px;
  border-top:1px solid #e8edf2;color:#102842;
  font-size:clamp(24px,2.4vw,29px);line-height:1.18;font-weight:850;
  letter-spacing:-.045em;font-variant-numeric:tabular-nums;
}
[data-vehicle-results] .vehicle-card .price small{display:block;margin-top:5px;font-size:12px;letter-spacing:0;color:#61758a;font-weight:550}
[data-vehicle-results] .vehicle-card>div:has(>a.button){order:7;margin:12px 19px 19px!important}
[data-vehicle-results] .vehicle-card a.button{
  display:flex;width:100%;min-height:46px;border-radius:5px;background:#143b77;
  box-shadow:none;font-size:14px;letter-spacing:.005em;
}
[data-vehicle-results] .vehicle-card a.button:hover{background:#0e3167}
[data-vehicle-results] .vehicle-card .unavailable-button{order:7;margin:12px 19px 19px;background:#e8edf2;color:#617085;box-shadow:none;pointer-events:none}
#booking-results-heading{margin-bottom:23px}
#booking-results-heading h2{letter-spacing:-.048em}
@media(max-width:700px){
  [data-vehicle-results]{gap:16px}
  [data-vehicle-results] .vehicle-card .vehicle-group-image,
  [data-vehicle-results] .vehicle-card .vehicle-art{height:190px;padding:16px 12px 8px}
  [data-vehicle-results] .vehicle-card h3{font-size:23px}
  [data-vehicle-results] .vehicle-card .price{font-size:27px}
}
@media(hover:none){[data-vehicle-results] .vehicle-card.that-enhanced-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){[data-vehicle-results] .vehicle-card .vehicle-group-image{transition:none}}


/* 30 Oct: correct unavailable-action alignment and homepage date-picker layering. */
[data-vehicle-results] .vehicle-card.that-enhanced-card > .unavailable-button {
  display:flex;
  box-sizing:border-box;
  flex:0 0 auto;
  order:7;
  width:auto;
  align-self:stretch;
  justify-content:center;
  align-items:center;
  min-height:46px;
  padding:11px 14px;
  margin:12px 19px 19px;
  border:1px solid #d9e3ed;
  border-radius:5px;
  background:#e8edf2;
  color:#52667e;
  font-size:14px;
  font-weight:700;
  text-align:center;
  box-shadow:none;
  cursor:not-allowed;
  transform:none;
}
/* Don't strip the hero photo's negative background layer out of its stacking context.
   The open booking card can rise above the trust bar independently. */
.that-carousel-hero:has(.that-two-month-panel:not([hidden])) {
  isolation:auto;
  z-index:auto;
  overflow:visible;
}
.that-carousel-hero:has(.that-two-month-panel:not([hidden])) .that-hero-backgrounds {
  z-index:0;
}
.that-carousel-hero:has(.that-two-month-panel:not([hidden])) .hero-inner {
  position:relative;
  z-index:auto;
}
.that-carousel-hero:has(.that-two-month-panel:not([hidden])) .hero-card {
  position:relative;
  z-index:10;
}
.that-carousel-hero:has(.that-two-month-panel:not([hidden])) .that-hero-copy {
  position:relative;
  z-index:1;
}
/* Smaller two-month popup; retain compact, scrollable, single-column mobile view. */
.that-two-month-panel {
  width:min(630px,calc(100vw - 30px));
  padding:14px;
}
.that-two-month-panel .that-months {gap:16px}
.that-two-month-panel .that-calendar-day {min-height:36px}
.that-two-month-panel .that-month-title {margin-bottom:8px;font-size:14px}
.that-two-month-panel .that-range-toolbar {margin-bottom:9px}
@media(max-width:700px) {
  .that-two-month-panel {
    width:calc(100vw - 24px);
    padding:11px;
  }
  .that-two-month-panel .that-months {gap:14px}
  .that-two-month-panel .that-calendar-day {min-height:40px}
  .that-two-month-panel .that-range-toolbar {top:-11px}
}

/* Dedicated fleet catalogue finish: scoped to /fleet only. */
.fleet-premium-section{padding-top:48px}
.fleet-premium-grid{align-items:stretch;gap:24px}
.fleet-premium-card{padding:0!important;display:flex;flex-direction:column;overflow:hidden;border:1px solid #dce5ed;border-radius:8px!important;background:#fff;box-shadow:0 4px 18px rgba(12,42,71,.045);transition:border-color .24s ease,transform .28s ease,box-shadow .28s ease}
.fleet-premium-card:hover{border-color:#afc6d9;transform:translateY(-3px);box-shadow:0 18px 34px rgba(12,42,71,.11)}
.fleet-premium-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:224px;padding:20px 18px;background:linear-gradient(155deg,#f7f9fb 0%,#eaf0f5 80%,#e1eaf1 100%);border-bottom:1px solid #e5ebf0;overflow:hidden}
.fleet-premium-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 84%,rgba(36,75,105,.1),transparent 60%);pointer-events:none}
.fleet-premium-visual .vehicle-group-image{position:relative;display:block;width:100%;height:200px;max-height:none;object-fit:contain;margin:0!important;padding:0!important;background:transparent!important;border-radius:0!important;filter:drop-shadow(0 12px 11px rgba(24,47,68,.12));transition:transform .38s cubic-bezier(.2,.8,.2,1)}
.fleet-premium-card:hover .vehicle-group-image{transform:scale(1.035)}
.fleet-premium-visual .vehicle-art{margin:0;width:100%;height:200px;background:transparent}
.fleet-premium-body{padding:24px;display:flex;flex:1;flex-direction:column;align-items:stretch}
.fleet-premium-body>.eyebrow{font-size:11px;letter-spacing:.12em;color:#b35d19;font-weight:800;margin-bottom:11px}
.fleet-premium-body h3{font-size:clamp(22px,2vw,27px);line-height:1.17;letter-spacing:-.035em;margin:0 0 7px;color:#102943;font-weight:800}
.fleet-premium-body>.muted{font-size:14px;line-height:1.5;color:#63798d;min-height:40px}
.fleet-premium-body .vehicle-meta{margin:17px 0 12px;padding:13px 0;display:flex;gap:8px 15px;align-items:center;border-top:1px solid #e7edf2;border-bottom:1px solid #e7edf2;font-size:13px;color:#314d67}
.fleet-premium-body .features{gap:7px;margin:4px 0 12px}
.fleet-premium-body .pill{border-radius:4px;background:#eff4f8;color:#36536e;padding:7px 9px;font-size:12px;font-weight:650}
.fleet-premium-body .feature-more{align-self:flex-start;margin-bottom:12px}
.fleet-premium-footer{margin-top:auto;padding-top:19px;border-top:1px solid #e8edf2;display:flex;flex-direction:column;gap:16px}
.fleet-premium-footer .price{font-size:29px;letter-spacing:-.04em;line-height:1.1;color:#0b2947;font-weight:850}
.fleet-premium-footer .fleet-price-label{display:block;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:#688094;font-weight:700;margin-bottom:5px}
.fleet-premium-footer .price small{font-size:14px;font-weight:550;letter-spacing:0;color:#647b90}
.fleet-premium-footer .button{display:flex;justify-content:space-between;align-items:center;width:100%;border-radius:5px;padding:14px 17px;margin:0;background:#133b77;box-shadow:none;font-weight:750}
.fleet-premium-footer .button:hover{background:#0b2e60;box-shadow:0 6px 16px rgba(12,49,93,.16)}
.fleet-premium-footer .button span{font-size:20px;line-height:1}
@media(max-width:700px){.fleet-premium-grid{gap:17px}.fleet-premium-section{padding-top:30px}.fleet-premium-visual{min-height:205px}.fleet-premium-visual .vehicle-group-image{height:183px}.fleet-premium-body{padding:20px}.fleet-premium-body>.muted{min-height:0}.fleet-premium-footer{gap:14px}}
@media(prefers-reduced-motion:reduce){.fleet-premium-card,.fleet-premium-card .vehicle-group-image{transition:none!important}.fleet-premium-card:hover,.fleet-premium-card:hover .vehicle-group-image{transform:none!important}}

/* THAT Rental | Premium Manage Booking and Rewards pages — scoped styling. */
.account-premium-hero{position:relative;overflow:hidden;background:linear-gradient(112deg,#edf4f9 0%,#f8fafc 74%);border-bottom:1px solid #dce6ee}
.account-premium-hero:before{content:"";position:absolute;right:-100px;top:-170px;width:440px;height:440px;border:1px solid rgba(19,59,119,.11);border-radius:50%;pointer-events:none}
.account-premium-hero .page-hero-inner{position:relative;max-width:1060px}
.account-premium-hero .eyebrow{color:#a65217;font-size:12px;letter-spacing:.15em}
.account-premium-hero h1{font-size:clamp(38px,5.4vw,64px);letter-spacing:-.055em;max-width:850px;margin-bottom:19px}
.account-premium-hero p{max-width:640px;line-height:1.65}
.account-premium-section{padding-top:48px}
.account-premium-section .login-shell{max-width:1060px}
.account-premium-section .account-access-card{max-width:540px;margin:0 auto;padding:32px;gap:18px;border:1px solid #d5e2ed;background:#fff;box-shadow:0 14px 40px rgba(16,51,87,.075)}
.account-access-intro{grid-column:1/-1;margin-bottom:4px}
.account-access-intro .eyebrow{font-size:11px;color:#b56225}
.account-access-intro h2{font-size:27px;color:#102a47;letter-spacing:-.035em;line-height:1.2;margin:9px 0}
.account-access-intro p{font-size:14px;color:#64788d;margin:0;line-height:1.6}
.account-premium-section .field label{color:#23425f;letter-spacing:.005em}
.account-premium-section .field input,.account-premium-section .field textarea,.account-premium-section .field select{min-height:48px;border-radius:5px;background:#fcfdff;border-color:#d3e0eb}
.account-premium-section .field textarea{min-height:110px}
.account-premium-section .field .button{width:100%;min-height:49px;box-shadow:none;border-radius:5px;background:#133b77}
.account-premium-section .field .button:hover{background:#0d305f}
.account-premium-section .muted{color:#63788f}
.account-premium-section .booking-summary{grid-template-columns:minmax(0,1.55fr) minmax(265px,.8fr);align-items:start;gap:22px}
.account-premium-section .summary-panel,.account-premium-section .account-support-card,.account-premium-section .account-case-card,.account-premium-section .rewards-available-card,.account-premium-section .rewards-history-card{padding:28px;border:1px solid #dce6ef;border-radius:7px;box-shadow:0 5px 22px rgba(13,47,78,.045);background:#fff}
.account-premium-section .summary-panel h2,.account-premium-section .card h2{letter-spacing:-.035em;color:#122b46}
.account-premium-section .summary-panel h3,.account-premium-section .card h3{color:#16314d;letter-spacing:-.025em}
.account-premium-section .summary-row{padding:13px 0;color:#3a526a}
.account-premium-section .summary-row strong{color:#152f49}
.account-premium-section .account-price-panel{background:linear-gradient(180deg,#f8fbfe,#fff 40%);border-top:3px solid #133b77}
.account-premium-section .account-price-panel .summary-row:last-child{padding-top:19px;font-size:17px}
.account-premium-section .status{border-radius:4px;padding:7px 10px}
.account-premium-section .data-table{font-variant-numeric:tabular-nums}
.account-premium-section .data-table th{background:#f3f7fa;font-size:12px;text-transform:uppercase;letter-spacing:.045em;color:#56718a}
.account-premium-section .data-table td{color:#344f69}
.account-premium-section .notice{border-radius:5px}
.account-rewards .rewards-balance-card{position:relative;overflow:hidden;border:1px solid #173657;border-radius:7px!important;background:linear-gradient(120deg,#0c2642,#153d68 75%,#23547c)!important;box-shadow:0 13px 34px rgba(14,43,78,.13)}
.account-rewards .rewards-balance-card:after{content:"";position:absolute;right:-70px;bottom:-150px;width:350px;height:350px;border:1px solid rgba(255,255,255,.12);border-radius:50%;pointer-events:none}
.account-rewards .rewards-balance-card .eyebrow{color:#f5a35d}
.account-rewards .rewards-balance-card h2{color:#fff;font-size:clamp(26px,4vw,38px)!important}
.account-rewards .rewards-available-card h3,.account-rewards .rewards-history-card h3{font-size:24px;margin:0 0 13px}
.account-rewards .rewards-available-card .button{border-radius:5px;box-shadow:none;white-space:nowrap;font-size:13px;padding:11px 16px;background:#133b77}
.account-rewards .rewards-available-card .button:hover{background:#0c2d60}
.account-rewards .rewards-available-card .table-wrap,.account-rewards .rewards-history-card .table-wrap{border:1px solid #e6edf2;border-radius:5px;margin:18px 0;overflow:auto}
.account-rewards .rewards-available-card td,.account-rewards .rewards-history-card td{line-height:1.55}
@media(max-width:760px){
 .account-premium-hero{padding:48px 20px 38px}
 .account-premium-section{padding:26px 16px 60px}
 .account-premium-section .account-access-card{padding:22px 18px}
 .account-premium-section .booking-summary{grid-template-columns:1fr}
 .account-premium-section .summary-panel,.account-premium-section .account-support-card,.account-premium-section .account-case-card,.account-premium-section .rewards-available-card,.account-premium-section .rewards-history-card{padding:20px}
 .account-rewards .rewards-balance-card{padding:27px 23px!important}
 .account-rewards .rewards-balance-card div[style*="font-size:72px"]{font-size:58px!important}
 .account-rewards .rewards-available-card .button{white-space:normal}
}
@media(prefers-reduced-motion:reduce){.account-premium-section .card{transition:none!important}}


/* Premium Business Portal sign-in — confined to the login page. */
.business-login-hero .page-hero-inner{max-width:1060px}
.business-login-section{padding-top:46px;padding-bottom:94px}
.business-login-card{max-width:520px;margin:0 auto;padding:36px;border:1px solid #d7e3ee;border-radius:7px;background:#fff;box-shadow:0 15px 40px rgba(13,47,80,.08)}
.business-login-intro{margin-bottom:27px;padding-bottom:22px;border-bottom:1px solid #e5edf3}
.business-login-intro .eyebrow{font-size:11px;color:#aa5b1e;letter-spacing:.13em}
.business-login-intro h2{font-size:30px;letter-spacing:-.04em;color:#122c49;margin:10px 0 7px;line-height:1.15}
.business-login-intro p{font-size:14px;line-height:1.6;color:#62778c;margin:0}
.business-login-card .form-grid{gap:19px}
.business-login-card .field{gap:8px}
.business-login-card .field label{font-size:13px;color:#29425b;font-weight:750}
.business-login-card .field input{min-height:51px;border-radius:5px;background:#fcfdff;border:1px solid #cedde9;padding:13px 15px}
.business-login-card .field input:focus{background:#fff;border-color:#23649b;box-shadow:0 0 0 3px rgba(24,88,145,.12)}
.business-login-card .button{width:100%;min-height:51px;border-radius:5px;background:#133b77;box-shadow:none;display:flex;align-items:center;justify-content:center;gap:12px;font-size:15px}
.business-login-card .button:hover{background:#0d305f}
.business-login-card .button span{font-size:19px;line-height:1;transition:transform .2s ease}
.business-login-card .button:hover span{transform:translateX(3px)}
.business-login-card .notice.error{font-size:14px;padding:13px 15px;margin:0 0 19px}
@media(max-width:700px){.business-login-section{padding:28px 16px 70px}.business-login-card{padding:25px 20px}.business-login-intro{margin-bottom:22px}.business-login-intro h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.business-login-card .button span{transition:none}}


/* THAT Rental | Premium Locations — scoped to Locations page only */
.premium-locations-hero{background:linear-gradient(115deg,#edf4f9 0%,#fafcfd 78%);border-bottom:1px solid #dce6ee}
.premium-locations-hero .page-hero-inner{max-width:1160px}
.premium-locations-hero .eyebrow{color:#a95722;letter-spacing:.15em}
.premium-locations-hero h1{max-width:890px;letter-spacing:-.052em}
.premium-locations-hero p{line-height:1.65;max-width:730px}
.premium-locations-section{padding-top:55px;padding-bottom:85px}
.premium-location-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.premium-location-card{display:flex;flex-direction:column;min-width:0;padding:28px;border:1px solid #dce5ed;border-radius:7px;background:#fff;box-shadow:0 5px 20px rgba(10,45,78,.045);transform:none;transition:border-color .23s ease,box-shadow .23s ease,transform .23s ease}
.premium-location-card:hover{border-color:#abc2d6;box-shadow:0 13px 30px rgba(14,47,78,.095);transform:translateY(-2px)}
.premium-location-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:19px;margin-bottom:18px;border-bottom:1px solid #e6edf2}
.premium-location-kicker{font-size:10px;font-weight:800;letter-spacing:.15em;color:#a65b26}
.premium-location-code{display:inline-flex;align-items:center;justify-content:center;min-width:45px;padding:6px 10px;border:1px solid #d6e4ee;background:#f6f9fb;border-radius:4px;color:#315778;font-size:11px;font-weight:750;letter-spacing:.075em}
.premium-location-card h3{font-size:clamp(22px,2vw,27px);line-height:1.18;letter-spacing:-.036em;margin:0 0 12px;color:#102c49}
.premium-location-card h3 a{text-decoration:none;transition:color .18s ease}
.premium-location-card h3 a:hover{color:#1764a4}
.premium-location-address{color:#637a8f;line-height:1.65;font-size:14px;min-height:48px;margin:0 0 18px;overflow-wrap:anywhere}
.premium-location-contact{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:0 0 11px;font-size:13px;min-width:0}
.premium-location-contact span{min-width:75px;color:#74889a;font-size:12px}
.premium-location-contact a{min-width:0;overflow-wrap:anywhere;font-weight:700;text-decoration:none;color:#1c4268}
.premium-location-contact a:hover{text-decoration:underline;text-underline-offset:3px}
.premium-location-hours{margin-top:16px;border-top:1px solid #e7edf2;padding-top:17px}
.premium-location-hours summary,.premium-location-closures summary{cursor:pointer;color:#163653;font-size:13px;letter-spacing:.015em;list-style-position:inside;transition:color .15s ease}
.premium-location-hours summary:hover,.premium-location-closures summary:hover{color:#1764a4}
.premium-location-card .summary-row{font-size:12px;padding:8px 0;line-height:1.35;color:#536b80}
.premium-location-card .summary-row span:last-child{text-align:right;font-weight:650;color:#254664}
.premium-location-links{margin-top:auto;padding-top:21px;display:grid;grid-template-columns:1fr 1fr;gap:10px 9px;align-items:stretch}
.premium-location-links .button{min-width:0;min-height:44px;display:flex;align-items:center;justify-content:center;padding:11px 10px;border-radius:5px;box-shadow:none;font-size:13px;font-weight:750;white-space:normal;text-align:center}
.premium-location-links .button.secondary{background:#f2f6f9;border:1px solid #cbdbe8;color:#1a466e}
.premium-location-links .button.secondary:hover{background:#e8f0f6}
.premium-location-links .button:not(.secondary){background:#133b77}
.premium-location-links .text-link{font-size:12px;color:#28557a;letter-spacing:0;font-weight:700;line-height:1.5;text-align:center;align-self:center;padding:6px 2px}
.premium-location-links .text-link:hover{color:#0e3565}
@media(max-width:1050px){.premium-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:670px){.premium-locations-hero{padding:46px 19px 39px}.premium-locations-section{padding:26px 16px 65px}.premium-location-grid{grid-template-columns:1fr;gap:15px}.premium-location-card{padding:22px 19px}.premium-location-address{min-height:0}.premium-location-card h3{font-size:24px}.premium-location-links{grid-template-columns:1fr 1fr}.premium-location-links .button{min-height:46px}}
@media(max-width:360px){.premium-location-links{grid-template-columns:1fr}.premium-location-links .text-link{text-align:left}}
@media(prefers-reduced-motion:reduce){.premium-location-card{transition:none}.premium-location-card:hover{transform:none}}


/* THAT Rental individual branch pages — premium finish, page-scoped */
.branch-premium-breadcrumbs{font-size:13px;letter-spacing:.01em;color:#667e94}
.branch-premium-breadcrumbs a{transition:color .2s ease}
.branch-premium-breadcrumbs a:hover{color:#133b77}
.branch-premium-hero{position:relative;overflow:hidden;border-bottom:1px solid #dce6ef;background:linear-gradient(118deg,#edf4fa 0%,#f9fbfd 65%,#e8f1f9 100%)}
.branch-premium-hero:before{content:"";position:absolute;top:-190px;right:-100px;width:550px;height:550px;border:1px solid rgba(19,59,119,.11);border-radius:50%;pointer-events:none}
.branch-premium-hero:after{content:"";position:absolute;top:-100px;right:-8px;width:320px;height:320px;border:1px solid rgba(19,59,119,.08);border-radius:50%;pointer-events:none}
.branch-premium-hero .page-hero-inner{position:relative;z-index:1}
.branch-premium-hero .eyebrow,.branch-premium-intro .eyebrow,.branch-premium-guides .eyebrow,.branch-premium-final .eyebrow{letter-spacing:.14em;color:#ac5920;font-size:12px}
.branch-premium-hero h1{max-width:870px;font-size:clamp(40px,5.4vw,68px);line-height:1.04;letter-spacing:-.055em;margin:13px 0 21px}
.branch-premium-hero p{max-width:730px;line-height:1.65;color:#536d84}
.branch-premium-hero-actions,.branch-premium-intro-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}
.branch-premium-hero-actions .button,.branch-premium-intro-actions .button{min-height:49px;padding:13px 22px;border-radius:5px;box-shadow:none}
.branch-premium-hero-actions .button.ghost{border:1px solid #b9cfe0;color:#133b77;background:#fff}
.branch-premium-overview{padding-top:55px}
.branch-premium-overview>.two-col{grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);align-items:stretch;gap:24px}
.branch-premium-overview .card,.branch-premium-guides .card,.branch-premium-benefits .card{border:1px solid #d7e3ed;border-radius:7px;box-shadow:0 6px 22px rgba(12,49,88,.045);background:#fff}
.branch-premium-intro,.branch-premium-details{padding:32px}
.branch-premium-intro h2{font-size:clamp(27px,3vw,37px);line-height:1.16;letter-spacing:-.045em;color:#173451;margin:15px 0 23px}
.branch-premium-intro p{color:#4f667b;font-size:15px;line-height:1.75;max-width:660px}
.branch-premium-intro-actions{margin-top:29px}
.branch-premium-intro-actions .button.secondary{background:#f2f6fa;border:1px solid #c9dbe9;color:#133b77}
.branch-premium-details{border-top:3px solid #133b77!important;background:linear-gradient(180deg,#f8fbfe 0%,#fff 45%)!important}
.branch-premium-details h2{font-size:26px;letter-spacing:-.035em;color:#173451;margin:0 0 24px}
.branch-premium-details>p{padding-bottom:14px;border-bottom:1px solid #e2eaf1;margin:0 0 16px;font-size:14px;line-height:1.8;color:#4c657b}
.branch-premium-details>p strong{display:inline-block;color:#183d63;margin-bottom:4px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.branch-premium-details>p a{text-decoration:underline;text-decoration-color:#c0d0de;text-underline-offset:3px}
.branch-premium-details>p a:hover{color:#0b4f8a;text-decoration-color:#0b4f8a}
.branch-premium-hours-title{font-size:18px;color:#173451;letter-spacing:-.02em;margin:27px 0 10px}
.branch-premium-hours .summary-row{padding:11px 0;gap:16px;font-size:13px;color:#496379}
.branch-premium-hours .summary-row span:last-child{text-align:right;font-weight:650;color:#173451}
.branch-premium-guides .section-heading h2,.branch-premium-benefits .section-heading h2{letter-spacing:-.04em}
.branch-premium-guides .card,.branch-premium-benefits .card{padding:27px;transition:border-color .24s ease,box-shadow .24s ease,transform .24s ease}
.branch-premium-guides .card:hover,.branch-premium-benefits .card:hover{transform:translateY(-2px);border-color:#aec8dc;box-shadow:0 12px 28px rgba(12,49,88,.09)}
.branch-premium-guides .card h3,.branch-premium-benefits .card h3{font-size:21px;letter-spacing:-.035em;color:#183a5b}
.branch-premium-guides .card p,.branch-premium-benefits .card p{line-height:1.7;font-size:14px}
.branch-premium-guides .text-link{display:inline-block;margin-top:10px;text-decoration:none;color:#133b77;font-weight:750}
.branch-premium-final .branch-premium-cta{padding:35px 39px;border-radius:7px;background:linear-gradient(120deg,#0d2d52,#174979);border:1px solid #1d4b75;box-shadow:0 16px 33px rgba(15,48,85,.13)}
.branch-premium-cta .eyebrow{color:#ffb17a}
.branch-premium-cta h2{font-size:clamp(26px,3vw,36px);line-height:1.18;letter-spacing:-.04em;color:#fff;margin:10px 0}
.branch-premium-cta p.muted{color:#d0e0ec;line-height:1.7}
.branch-premium-cta .button{background:#fff;color:#123b6b;box-shadow:none;border-radius:5px;min-height:49px}
.branch-premium-cta .button:hover{background:#eff5fa}
@media(max-width:850px){.branch-premium-overview>.two-col{grid-template-columns:1fr}.branch-premium-intro,.branch-premium-details{padding:26px}.branch-premium-hero:before{right:-280px}}
@media(max-width:620px){.branch-premium-hero{padding:46px 18px}.branch-premium-hero h1{font-size:clamp(36px,9vw,49px)}.branch-premium-hero-actions,.branch-premium-intro-actions{display:grid;grid-template-columns:1fr}.branch-premium-hero-actions .button,.branch-premium-intro-actions .button{width:100%}.branch-premium-overview{padding-top:26px}.branch-premium-overview .card{padding:21px}.branch-premium-guides .card,.branch-premium-benefits .card{padding:22px}.branch-premium-final .branch-premium-cta{padding:26px 22px}.branch-premium-cta .two-col{grid-template-columns:1fr;gap:15px}.branch-premium-cta .two-col>div:last-child{text-align:left!important}.branch-premium-cta .button{width:100%}}
@media(prefers-reduced-motion:reduce){.branch-premium-guides .card,.branch-premium-benefits .card{transition:none}}


/* THAT Rental | Final public-site polish: homepage, hiring guides and informational pages.
   Component-level styling only; preserve hero imagery, modal layering and booking controls. */
.premium-home-hero .hero-inner{gap:clamp(22px,3vw,52px)}
.premium-home-hero .that-hero-slides h1{font-weight:820;letter-spacing:-.052em;line-height:1.035;text-wrap:balance}
.premium-home-hero .that-hero-slides p{font-size:clamp(16px,1.55vw,19px);line-height:1.62;max-width:580px}
.premium-home-hero .that-hero-slides .eyebrow{font-size:12px;letter-spacing:.14em;font-weight:800}
.premium-home-hero .hero-card{border:1px solid rgba(210,227,239,.8);border-radius:8px;box-shadow:0 22px 60px rgba(2,27,54,.22),0 4px 12px rgba(2,27,54,.07)}
.premium-home-hero .hero-card h2{letter-spacing:-.035em;font-weight:800}
.premium-home-hero .hero-card .field>label{font-weight:730;color:#24425d}
.premium-home-hero .hero-card .field :is(input,select){border-radius:5px}
.premium-home-hero .that-hero-controls{gap:14px}
.premium-home-hero .that-hero-arrow{border-radius:5px;border-color:rgba(255,255,255,.45);background:rgba(8,37,65,.32);transition:background .2s ease,border-color .2s ease}
.premium-home-hero .that-hero-arrow:hover{background:rgba(8,37,65,.64);border-color:#fff}
.premium-home-hero .that-hero-dots button{border-radius:2px}
/* Each homepage section retains its original layout and content. */
:is(.premium-home-hubs,.premium-home-guides,.premium-home-fleet,.premium-home-locations,.premium-home-business,.premium-home-rewards) .section-heading{margin-bottom:30px}
:is(.premium-home-hubs,.premium-home-guides,.premium-home-fleet,.premium-home-locations,.premium-home-business,.premium-home-rewards) .section-heading h2{font-weight:800;letter-spacing:-.046em;line-height:1.12}
:is(.premium-home-hubs,.premium-home-guides,.premium-home-fleet,.premium-home-locations,.premium-home-business,.premium-home-rewards) .section-heading p{line-height:1.65;color:#5f7389}
:is(.premium-home-hubs,.premium-home-guides,.premium-home-fleet,.premium-home-locations,.premium-home-business,.premium-home-rewards) :is(.card,.seo-branch-card,.seo-copy-card){border-radius:7px;border-color:#d5e2eb;box-shadow:0 3px 14px rgba(11,50,83,.045);transition:border-color .23s ease,box-shadow .24s ease,transform .24s ease}
:is(.premium-home-hubs,.premium-home-guides,.premium-home-fleet,.premium-home-locations,.premium-home-business,.premium-home-rewards) :is(.card,.seo-branch-card,.seo-copy-card):hover{border-color:#aac4d7;box-shadow:0 13px 29px rgba(11,50,83,.09);transform:translateY(-2px)}
.premium-home-fleet .vehicle-card{display:flex;flex-direction:column;align-items:stretch}
.premium-home-fleet .vehicle-group-image{background:linear-gradient(160deg,#f3f7fa,#eaf1f6);border-radius:5px;object-fit:contain;object-position:center}
.premium-home-fleet .vehicle-card h3{font-size:clamp(20px,2vw,25px);letter-spacing:-.028em}
.premium-home-fleet .vehicle-card .price{font-variant-numeric:tabular-nums}
.premium-home-fleet .vehicle-card .button{margin-top:auto;border-radius:5px}
.premium-home-rewards .two-col{align-items:center}
.premium-home-rewards h2{letter-spacing:-.05em!important;line-height:1.09!important}
.premium-home-business .card,.premium-home-rewards .card{border-radius:7px}
/* The remaining public-facing landing and information pages share one restrained finish. */
.premium-inner-hero{background:linear-gradient(112deg,#edf4f9 0%,#f7fafc 71%,#fbf7f2 100%);border-bottom:1px solid #e2eaf0}
.premium-inner-hero .page-hero-inner{position:relative}
.premium-inner-hero h1{font-weight:810;letter-spacing:-.053em;line-height:1.04;text-wrap:balance}
.premium-inner-hero p{line-height:1.7;color:#5d7387}
.premium-inner-hero .eyebrow{letter-spacing:.14em;color:#a65e24}
.premium-business-hero h1{letter-spacing:-.05em;line-height:1.055;text-wrap:balance}
.corporate-panel,.corporate-band,.corporate-home-card,.corporate-form-shell,.franchise-icon,.seo-hire-hero .seo-branch-card{border-radius:7px}
:is(.corporate-panel,.corporate-band,.seo-hire-hero .seo-branch-card){box-shadow:0 9px 26px rgba(10,45,78,.065)}
.franchise-hero .button,.corporate-actions .button,.seo-hero-actions .button{border-radius:5px}
.section .card:not(.vehicle-card):not(.account-access-card){border-color:#d9e5ed}
.section .data-table th{font-weight:750}
.section .data-table tbody tr:hover{background:#f5f9fc}
@media(max-width:760px){
 .premium-home-hero .hero-card{border-radius:7px}
 .premium-home-hero .hero-inner{gap:18px}
 :is(.premium-home-hubs,.premium-home-guides,.premium-home-fleet,.premium-home-locations,.premium-home-business,.premium-home-rewards) .section-heading{margin-bottom:22px}
 .premium-home-fleet .vehicle-card .vehicle-group-image{min-height:165px;max-height:215px}
 .premium-inner-hero h1{font-size:clamp(34px,9vw,46px)}
 .premium-home-rewards h2{font-size:clamp(30px,8vw,43px)!important}
}
@media(prefers-reduced-motion:reduce){
 :is(.premium-home-hubs,.premium-home-guides,.premium-home-fleet,.premium-home-locations,.premium-home-business,.premium-home-rewards) .card{transition:none!important}
}

/* Readable text on light surfaces: Franchise and Corporate pages. */
.franchise-hero.premium-inner-hero h1 { color:#102b49; }
.corporate-hero .corporate-panel > p.muted { color:#58718a; }

/* Optional photograph for the Business Rental hero. The original blue gradient stays
   in place unless an image file exists. The overlay protects text readability. */
.corporate-hero.has-background-image{background-position:center center;background-repeat:no-repeat;background-size:cover;background-color:#073963}
.corporate-hero.has-background-image .corporate-hero-inner{position:relative;z-index:1}
@media(max-width:700px){.corporate-hero.has-background-image{background-position:40% center}}
