/* ECR Medium typography, served locally using the original Quicksand 500 face. */
@font-face {
  font-family: Quicksand;
  src: url('/assets/Quicksand-Medium.ttf') format('truetype');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
/* ECR 1.16.3: shared public website and booking typography.
   Local colour tokens follow painted surfaces. Google map artwork/attribution
   and the separately generated invoice PDFs keep their own presentation. */
body.ecr-readable {
  --ecr-type-body: .6875rem;
  --ecr-type-note: .6875rem;
  --ecr-type-label: .6875rem;
  --ecr-type-eyebrow: .6875rem;
  --ecr-type-h1: .8125rem;
  --ecr-type-h2: .8125rem;
  --ecr-type-h3: .8125rem;
  --ecr-type-text: #595959;
  --ecr-type-heading: #333333;
}

/* Scope the website rules so staff management tables keep their own layout. */
body.ecr-readable :is([id="top"], .policy-main, .site-header, .site-footer, .site-preview-ribbon, .ecr-auth-shell, .ecr-auth-page),
body.ecr-booking-readable {
  color: var(--ecr-type-text);
  font-family: Quicksand, Arial, sans-serif;
  font-size: var(--ecr-type-body);
  line-height: 1.4;
}

body.ecr-readable :where([id="top"], .policy-main, .site-header, .site-footer, .site-preview-ribbon, .ecr-auth-shell, .ecr-auth-page, #ecr-floating-tools-root)
  :is(h1,h2,h3,h4,p,a,button,input,select,textarea,label,legend,li,dt,dd,th,td,caption,small,strong,b,summary,span,div,section,article,header,footer,aside,ol,ul,nav,fieldset,form,figure,figcaption,details):not(:where(#google-map, #google-map *, .route-estimator-map, .route-estimator-map *, .gm-style, .gm-style *)),
body.ecr-booking-readable :is(h1,h2,h3,h4,p,a,button,input,select,textarea,label,legend,li,dt,dd,th,td,caption,small,strong,b,summary,span,div,section,article,header,footer,aside,ol,ul,nav,fieldset,form,figure,figcaption,details):not(:where(#google-map, #google-map *, .route-estimator-map, .route-estimator-map *, .gm-style, .gm-style *)) {
  color: var(--ecr-type-text) !important;
}

body.ecr-readable :where([id="top"], .policy-main, .site-header, .site-footer, .ecr-auth-shell, .ecr-auth-page)
  :is(p,li,input,select,textarea,button,a,summary,dd):not(:where(#google-map, #google-map *, .route-estimator-map, .route-estimator-map *, .gm-style, .gm-style *)),
body.ecr-booking-readable :is(p,li,input,select,textarea,button,a,summary,dd):not(:where(#google-map, #google-map *, .route-estimator-map, .route-estimator-map *, .gm-style, .gm-style *)) {
  font-size: var(--ecr-type-body) !important;
  line-height: 1.4;
}

body.ecr-readable :where([id="top"], .policy-main, .ecr-auth-shell, .ecr-auth-page) h1,
body.ecr-booking-readable h1 {
  font-size: var(--ecr-type-h1) !important;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: -.025em;
  overflow-wrap: break-word;
}
body.ecr-readable :where([id="top"], .policy-main, .ecr-auth-shell, .ecr-auth-page) h2,
body.ecr-booking-readable h2 {
  font-size: var(--ecr-type-h2) !important;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: -.015em;
  overflow-wrap: break-word;
}
body.ecr-readable :where([id="top"], .policy-main, .ecr-auth-shell, .ecr-auth-page) h3,
body.ecr-booking-readable h3 {
  font-size: var(--ecr-type-h3) !important;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0;
}
body.ecr-readable :where([id="top"], .policy-main, .ecr-auth-shell, .ecr-auth-page) h4,
body.ecr-booking-readable h4 { font-size: var(--ecr-type-body) !important; line-height: 1.4; }

body.ecr-readable :where([id="top"], .policy-main, .site-header, .site-footer, .ecr-auth-shell, .ecr-auth-page) :is(small,label,dt,caption),
body.ecr-booking-readable :is(small,label,dt,caption) { font-size: var(--ecr-type-note) !important; line-height: 1.4; }
body.ecr-readable :is(.eyebrow, .mobile-nav-group > span),
body.ecr-booking-readable .eyebrow { font-size: var(--ecr-type-eyebrow) !important; line-height: 1.4; letter-spacing: .12em; }

/* White text on the existing blue/dark surfaces. */
body.ecr-readable :where(.site-header,.site-footer,.contact-cta,.policy-contact-cta,.hourly-estimate,
 .route-estimator-total,.site-button,.route-estimator-calculate,.route-estimator-continue,
 .ecr-auth-submit,.ecr-chat-header,.ecr-chat-send,.topbar,.button,.fare-total,.calendar-header,
 .calendar-days button.selected,.slot.selected,.step-item.active .num,.success-tick,.invoice-bar,.toast,
 .routing-options button.selected) {
  --ecr-type-text: #FFFFFF;
  --ecr-type-heading: #FFFFFF;
  color: #FFFFFF !important;
}
body.ecr-readable .journey-step:hover .journey-number,
body.ecr-readable .ecr-partner-control:hover,
body.ecr-readable .policy-rate-table thead th {
  --ecr-type-text: #FFFFFF;
  --ecr-type-heading: #FFFFFF;
  color: #FFFFFF !important;
}
/* Light panels and light buttons use the light-surface text colour. */
body.ecr-readable :where(.mega-menu-panel,.mega-menu-feature,.site-button-light,.site-button-outline,
 .button.secondary,.button:disabled,.ecr-chat-panel,.ecr-chat-notice,.ecr-chat-bubble,.ecr-chat-prompts,
 .ecr-chat-form,input,select,textarea) {
  --ecr-type-text: #595959;
  --ecr-type-heading: #333333;
  color: #595959 !important;
}

/* Public site details share the 14px normal-weight setting. */
body.ecr-readable :is(.hero-notes,.hero-art-caption,.service-ribbon,.site-preview-ribbon,
 .fleet-specs,.hourly-rate-details,.hourly-rate-amount span,.hourly-estimate span,.hourly-estimate small,
 .vehicle-gallery-item figcaption,.area-label,.contact-links,.footer-column,.footer-bottom,
 .policy-breadcrumb,.policy-contact-card,.policy-rate-table,.policy-owner-checklist,
 .route-estimator-badge,.route-estimator-field,.route-estimator-address > label,
 .route-estimator-small,.route-estimator-metrics span,.route-estimator-amounts,.route-estimator-amounts small,
 .route-estimator-total small,.ecr-auth-description,.ecr-auth-recovery,.ecr-auth-secure-note) {
  color: var(--ecr-type-text) !important;
  font-size: var(--ecr-type-note) !important;
  line-height: 1.4;
}
body.ecr-readable :is(.fleet-copy,.service-card,.area-copy,.journey-step,.pricing-card,.hourly-calculator-heading,
 .vehicle-gallery-heading,.about-block,.faq-block,.contact-cta,.policy-draft-notice,.policy-contact-cta) p {
  font-size: var(--ecr-type-body) !important;
  line-height: 1.4;
}
body.ecr-readable :is(.mega-menu-feature h2,.ecr-auth-card h1) { font-size: var(--ecr-type-h2) !important; }
body.ecr-readable :is(.mega-menu-group h3,.footer-column h3,.route-estimator-summary-head h4) {
  font-size: var(--ecr-type-body) !important;
  line-height: 1.4;
}
body.ecr-readable .mega-menu-group :is(strong,span) { font-size: var(--ecr-type-note) !important; line-height: 1.4; }
body.ecr-readable :is(.mega-menu-feature p,.mega-menu-feature .site-button,.footer-column a,.footer-column span,
 .policy-rate-table th,.policy-rate-table td,.policy-rate-table caption,.ecr-auth-back,.ecr-auth-setup-link) {
  font-size: var(--ecr-type-note) !important;
}
body.ecr-readable :is(.hero-art-caption,.area-label) { letter-spacing: .06em; }
body.ecr-readable :is(.site-brand-wordmark small,.brand small) {
  font-size: var(--ecr-type-body) !important;
  line-height: 1.4;
  letter-spacing: .08em;
}
body.ecr-readable :is(.site-button,.route-estimator-calculate,.route-estimator-continue) {
  min-height: 48px;
  height: auto;
  padding-top: 12px;
  padding-bottom: 12px;
  text-align: center;
}
body.ecr-readable :is(.text-link,.route-estimator-text-link,.policy-document a) {
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.ecr-readable :is(.hero-copy,.site-brand,.site-actions,.route-estimator-heading > div,.route-estimator-total > div) { min-width: 0; }
body.ecr-readable :is(.hero-notes,.service-ribbon,.contact-links,.route-estimator-summary-head,.route-estimator-heading) { flex-wrap: wrap; }
body.ecr-readable .route-estimator-summary-head { gap: 8px; }
body.ecr-readable .route-estimator .places-dropdown { top: 100%; }
body.ecr-readable .route-estimator input::placeholder { color: #595959; opacity: 1; font-size: var(--ecr-type-body) !important; }
body.ecr-readable .policy-contact-card :is(a,strong) { overflow-wrap: anywhere; }
body.ecr-readable .policy-document { font-size: var(--ecr-type-body) !important; line-height: 1.4; }

/* Booking, review and payment screens share the same readable scale. */
body.ecr-booking-readable :is(.step-label,.step-item small,.sidebar-bottom,.sidebar-bottom .small,.timezone,
 .tag,.private-badge,.account,.account small,.panel-head .eyebrow,.field > span,.field-error,.field-hint,
 .panel-actions > span,.workspace-note,.fare-header p,.fare-route,.route-line,.route-line strong,
 .fare-metrics span,.fare-row small,.fare-row.muted,.fare-total small,.fare-foot,.fare-empty,
 .service-note,.page-footer,.switch-copy p,.calendar-week,.legend,.stop-address-text,.map-caption,
 .leg-row,.leg-row p,.leg-row small,.route-status,.review-body small,.invoice-bottom,
 .session-recovery span,.toll-breakdown,.toll-point-row small,.payment-footnote) {
  color: var(--ecr-type-text) !important;
  font-size: var(--ecr-type-note) !important;
  line-height: 1.4;
}
body.ecr-booking-readable :is(.soft-note,.alert,.selection-strip,.review-head,.review-body,.review-itinerary,
 .check-row,.action-log,.payment-test-note,.routing-control p,.notice-copy,.preview-email,.toll-pending p) {
  font-size: var(--ecr-type-body) !important;
  line-height: 1.4;
}
body.ecr-booking-readable :is(.fare-header h2,.review-head h3,.dialog-header h2,.section-heading h3) {
  font-size: var(--ecr-type-h3) !important;
  line-height: 1.4;
}
body.ecr-booking-readable :is(.fare-total strong,.fare-metrics strong) { font-size: var(--ecr-type-body) !important; line-height: 1.4; }
body.ecr-booking-readable .fare-metrics strong { font-size: var(--ecr-type-body) !important; }
body.ecr-booking-readable .fare-header > div { flex-wrap: wrap; gap: 8px; }
body.ecr-booking-readable :is(.panel-head > div,.page-heading > div,.review-body > div) { min-width: 0; }
body.ecr-booking-readable .panel-head { align-items: flex-start; }
body.ecr-booking-readable .step-box { margin-top: 3px; }
body.ecr-booking-readable .field > span { top: -.65em; max-width: calc(100% - 20px); }
body.ecr-booking-readable :is(.field input,.field select,.field textarea,.client-search input) {
  font-size: var(--ecr-type-body) !important;
  color: #595959;
}
body.ecr-booking-readable input::placeholder,
body.ecr-booking-readable textarea::placeholder { color: #595959; opacity: 1; font-size: var(--ecr-type-body) !important; }
body.ecr-booking-readable :is(.button,.button.small,.action-card .button) {
  min-height: 48px;
  height: auto;
  max-width: 100%;
  padding-top: 12px;
  padding-bottom: 12px;
  white-space: normal;
  text-align: center;
}
body.ecr-booking-readable :is(.panel-actions,.payment-actions,.dialog-actions,.slot-heading,.fare-total) { flex-wrap: wrap; }
body.ecr-booking-readable .panel-actions .button { margin-left: auto; }
body.ecr-booking-readable .fare-row { gap: 12px; align-items: flex-start; font-size: var(--ecr-type-body) !important; }
body.ecr-booking-readable .fare-row > :first-child { min-width: 0; }
body.ecr-booking-readable .fare-row > :last-child { flex-shrink: 0; white-space: nowrap; }
body.ecr-booking-readable .calendar-days button { font-size: var(--ecr-type-body) !important; }
body.ecr-booking-readable .slot { font-size: var(--ecr-type-body) !important; min-height: 40px; }
body.ecr-booking-readable :is(.step-item:disabled,.calendar-days button:disabled) { opacity: 1; }
body.ecr-booking-readable .calendar-days button:disabled { background: #f4f7fa; }
body.ecr-booking-readable .tag { white-space: normal; overflow-wrap: anywhere; }
body.ecr-booking-readable .places-dropdown { top: 100%; }
body.ecr-booking-readable .toll-breakdown td { overflow-wrap: break-word; }
body.ecr-booking-readable .step-item .num { font-size: var(--ecr-type-body) !important; }

/* Chat belongs to the public reading experience; its panel may grow internally. */
body.ecr-readable #ecr-floating-tools-root { color: #595959; }
body.ecr-readable :is(.ecr-chat-notice,.ecr-chat-heading span,.ecr-chat-prompts button) { font-size: var(--ecr-type-body) !important; line-height: 1.4; }
body.ecr-readable :is(.ecr-chat-heading strong,.ecr-chat-bubble,.ecr-chat-input) { font-size: var(--ecr-type-body) !important; line-height: 1.4; }
body.ecr-readable .ecr-chat-input::placeholder { color: #595959; opacity: 1; }

@media (max-width: 1120px) {
  body.ecr-readable .desktop-nav { display: none; }
  body.ecr-readable .mobile-nav { display: block; }
}
@media (max-width: 980px) {
  body.ecr-booking-readable .form-grid { grid-template-columns: 1fr; }
}
@media (max-width: 830px) {
  body.ecr-readable .hero-inner { min-height: 0; padding-bottom: 290px; }
}
@media (max-width: 620px) {
  body.ecr-readable .site-header-inner { flex-wrap: wrap; padding-top: 10px; padding-bottom: 10px; }
  body.ecr-readable .site-brand-wordmark small { max-width: 150px; white-space: normal; }
  body.ecr-readable .site-actions { margin-left: auto; }
  body.ecr-readable .site-header .site-button { font-size: var(--ecr-type-body) !important; padding-left: 8px; padding-right: 8px; }
  body.ecr-readable .mobile-nav summary { font-size: var(--ecr-type-body) !important; padding: 8px 4px; }
  body.ecr-readable .hero-inner { padding-bottom: 250px; }
  body.ecr-readable .route-estimator-total { flex-wrap: wrap; }
}
@media (max-width: 700px) {
  body.ecr-booking-readable :is(.fare-route,.route-line) { display: block; width: auto; }
  body.ecr-booking-readable .route-line { margin-bottom: 16px; }
  body.ecr-booking-readable .route-line:last-child { margin-bottom: 0; }
  body.ecr-booking-readable .brand small { white-space: normal; max-width: 170px; }
  body.ecr-booking-readable .header-meta { flex-shrink: 1; }
  body.ecr-booking-readable .private-badge { font-size: var(--ecr-type-body) !important; }
}
@media print {
  body.ecr-readable { --ecr-type-text: #595959;
  --ecr-type-heading: #333333; }
}

/* Longer navigation and supporting text must remain reachable after resizing. */
body.ecr-readable .mega-menu-panel { max-height: calc(100dvh - 140px); overflow-y: auto; overscroll-behavior: contain; }
body.ecr-booking-readable :is(.sim-banner,.sim-banner strong,.sim-banner>div>span:last-child,.staff-mode-note,
 .slot-heading,.slot-heading strong,.calendar-header,.calendar-header strong,.sidebar-bottom>strong,
 .service-note strong,.fare-total>div>span) { font-size: var(--ecr-type-body) !important; line-height: 1.4; }
body.ecr-booking-readable .step-item.completed .num { --ecr-type-text: #595959;
  --ecr-type-heading: #333333; color: #595959 !important; }
body.ecr-booking-readable .fare-total small { opacity: 1; }

body.ecr-booking-readable .calendar-days { grid-template-columns: repeat(7,minmax(0,1fr)); padding: 7px 4px; gap: 1px; }
body.ecr-booking-readable .calendar-days button { min-width: 0; padding: 0; }
body.ecr-booking-readable .calendar-week { grid-template-columns: repeat(7,minmax(0,1fr)); padding: 7px 4px; gap: 1px; font-size: var(--ecr-type-body) !important; }
body.ecr-booking-readable .slot-grid { grid-template-columns: repeat(auto-fit,minmax(4.5rem,1fr)); }
body.ecr-booking-readable .review-body>div { overflow-wrap: anywhere; }
@media (max-width:700px) {
  body.ecr-booking-readable .topbar { height: auto; min-height: 80px; }
  body.ecr-booking-readable .topbar-inner { height: auto; min-height: 80px; padding-top: 8px; padding-bottom: 8px; }
}
body.ecr-booking-readable .calendar .calendar-week { font-size: var(--ecr-type-body) !important; }
@media (max-width:700px) {
  body.ecr-booking-readable .header-meta { margin-left: 0; }
  body.ecr-booking-readable .brand small { max-width: 150px; }
}
body.ecr-readable :is(.route-estimator-map-placeholder>span,.route-estimator-summary-head>span,.route-estimator-total>div>span) { font-size: var(--ecr-type-body) !important; line-height: 1.4; }
body.ecr-readable .journey-number { font-size: var(--ecr-type-body) !important; }
@media (max-width:620px) {
  body.ecr-readable .mobile-nav nav { max-height: calc(100dvh - 230px); }
}
/* Allow browser text enlargement to add rows instead of clipping content. */
body.ecr-readable .site-header-inner { flex-wrap: wrap; }
body.ecr-readable .site-actions { flex-shrink: 0; }
body.ecr-readable .desktop-nav { flex-wrap: wrap; }
body.ecr-readable :is(.fleet-copy,.footer-brand,.footer-column) { min-width: 0; overflow-wrap: anywhere; }
body.ecr-readable .footer-inner { grid-template-columns: minmax(0,1.2fr) minmax(0,.7fr) minmax(0,.85fr) minmax(0,1fr); }
body.ecr-readable .vehicle-gallery-item figcaption { overflow-wrap: anywhere; }
@media (max-width:1000px) {
  body.ecr-readable .footer-inner { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width:620px) {
  body.ecr-readable .footer-inner { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
body.ecr-readable .site-footer .site-brand { flex-wrap: wrap; max-width: 100%; }
body.ecr-readable .site-footer .site-brand-wordmark { min-width: 0; max-width: 100%; }
body.ecr-readable .site-footer .site-brand-wordmark small { white-space: normal; overflow-wrap: anywhere; }
body.ecr-readable .mega-menu-panel { max-height: min(70dvh,calc(100dvh - 180px)); }
body.ecr-readable .ecr-auth-logo span { min-width: 0; font-size: var(--ecr-type-body) !important; overflow-wrap: anywhere; }
body.ecr-readable .ecr-auth-page .ecr-admin-eyebrow { font-size: var(--ecr-type-body) !important; line-height: 1.4; }
body.ecr-readable .ecr-auth-submit { min-height: 48px; height: auto; padding: 12px; }
@media (max-width:400px) {
  body.ecr-booking-readable .toll-review { padding: 12px 8px; }
}

/* Approved 1.16.3 settings: medium text throughout, including semantic strong
   and b elements; headings differ by size, rather than bold weight. */
body.ecr-readable { font-weight: 500; }
body.ecr-readable :where([id="top"],.policy-main,.site-header,.site-footer,.site-preview-ribbon,.ecr-auth-shell,.ecr-auth-page,#ecr-floating-tools-root),
body.ecr-booking-readable {
  font-family: Quicksand,Arial,sans-serif;
  font-size: var(--ecr-type-body);
  font-weight: 500;
  font-synthesis: none;
  font-variation-settings: "wght" 500;
}
body.ecr-readable.ecr-readable :where([id="top"],.policy-main,.site-header,.site-footer,.site-preview-ribbon,.ecr-auth-shell,.ecr-auth-page,#ecr-floating-tools-root)
 :is(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,label,legend,li,dt,dd,th,td,caption,small,strong,b,em,summary,span,div,section,article,header,footer,aside,ol,ul,nav,fieldset,form,figure,figcaption,details):not(:where(#google-map,#google-map *,.route-estimator-map,.route-estimator-map *,.gm-style,.gm-style *)),
body.ecr-booking-readable.ecr-booking-readable
 :is(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,label,legend,li,dt,dd,th,td,caption,small,strong,b,em,summary,span,div,section,article,header,footer,aside,ol,ul,nav,fieldset,form,figure,figcaption,details):not(:where(#google-map,#google-map *,.route-estimator-map,.route-estimator-map *,.gm-style,.gm-style *)) {
  font-family: Quicksand,Arial,sans-serif !important;
  font-size: var(--ecr-type-body) !important;
  font-weight: 500 !important;
  font-synthesis: none;
  font-variation-settings: "wght" 500;
  color: var(--ecr-type-text) !important;
}
body.ecr-readable.ecr-readable :where([id="top"],.policy-main,.site-header,.site-footer,.ecr-auth-shell,.ecr-auth-page,#ecr-floating-tools-root) :is(h1,h2,h3,h4,h5,h6),
body.ecr-booking-readable.ecr-booking-readable :is(h1,h2,h3,h4,h5,h6),
body.ecr-readable.ecr-readable :is(.review-head>strong,.route-estimator-fields>legend,.ecr-chat-heading>strong) {
  font-size: .8125rem !important;
  font-weight: 500 !important;
  color: var(--ecr-type-heading) !important;
  line-height: 1.3 !important;
  letter-spacing: normal;
}
body.ecr-readable.ecr-readable :where([id="top"],.policy-main,.site-header,.site-footer,.ecr-auth-shell,.ecr-auth-page,#ecr-floating-tools-root) :is(h1,h2,h3,h4,h5,h6) :is(span,a,strong,b,em,small),
body.ecr-booking-readable.ecr-booking-readable :is(h1,h2,h3,h4,h5,h6) :is(span,a,strong,b,em,small) { font-size: inherit !important; color: inherit !important; line-height: inherit !important; }
body.ecr-booking-readable .calendar-days button:disabled { --ecr-type-text: #595959;
  --ecr-type-heading: #333333; color: #595959 !important; }

/* Compact spacing, with full-size input/button targets. */
body.ecr-readable :where([id="top"],.policy-main,.ecr-auth-shell) { line-height: 1.4; }
body.ecr-readable.ecr-readable :where([id="top"],.policy-main,.ecr-auth-shell,#ecr-floating-tools-root)
 :is(p,li,div,span,small,label,a,button,input,select,textarea,legend,dt,dd,th,td,strong,b,summary):not(:where(#google-map,#google-map *,.route-estimator-map,.route-estimator-map *,.gm-style,.gm-style *)),
body.ecr-booking-readable.ecr-booking-readable
 :is(p,li,div,span,small,label,a,button,input,select,textarea,legend,dt,dd,th,td,strong,b,summary):not(:where(#google-map,#google-map *,.route-estimator-map,.route-estimator-map *,.gm-style,.gm-style *)) { line-height: 1.4 !important; }
body.ecr-readable.ecr-readable :where([id="top"],.policy-main,.ecr-auth-shell,#ecr-floating-tools-root) :is(h1,h2,h3,h4,h5,h6),
body.ecr-booking-readable.ecr-booking-readable :is(h1,h2,h3,h4,h5,h6) {
  font-size: .8125rem !important; font-weight: 500 !important; line-height: 1.3 !important;
  color: var(--ecr-type-heading) !important;
}
body.ecr-readable :where(.ecr-auth-header) { --ecr-type-text: #FFFFFF; --ecr-type-heading: #FFFFFF; color: #FFFFFF; }
body.ecr-readable :where(.ecr-auth-password-toggle) { --ecr-type-text: #595959; --ecr-type-heading: #333333; }
body.ecr-readable .ecr-auth-fields>legend { color: var(--ecr-type-heading) !important; font-size: .8125rem !important; line-height: 1.3 !important; }
body.ecr-readable .hero-copy>p:not(.eyebrow) { margin: 14px 0 18px; }
body.ecr-readable .hero-notes { margin-top: 20px; }
body.ecr-readable .section-heading { margin-bottom: 24px; }
body.ecr-readable .section-heading>p:last-child { margin-top: 8px; }
body.ecr-readable .content-section { padding-top: 52px; padding-bottom: 52px; }
body.ecr-booking-readable .form-grid { gap: 18px; }
body.ecr-booking-readable .panel-head { padding-top: 20px; padding-bottom: 18px; }
body.ecr-booking-readable .panel-head p:last-child { margin-top: 4px; }
body.ecr-booking-readable .panel-body { padding-top: 22px; padding-bottom: 22px; }
body.ecr-booking-readable .review-card+.review-card { margin-top: 16px; }
body.ecr-booking-readable .soft-note { padding-top: 12px; padding-bottom: 12px; }
body.ecr-readable input::placeholder,body.ecr-readable textarea::placeholder { color: #595959; opacity: 1; }
