/* Header branding and primary actions. */
body.et_header_style_centered header .et_menu_container {
  width: 100%; max-width: 100%; padding: 0 !important;
}
body.et_header_style_centered header .logo_container {
  display: block !important; position: static !important;
  height: 80px !important; margin: 0 !important; background: #fff;
  opacity: 1 !important; visibility: visible !important;
}
body.et_header_style_centered header .logo_container img {
  opacity: 1 !important; visibility: visible !important;
  width: 220px !important; height: auto !important;
  max-height: none !important; max-width: 70vw !important;
}
body.et_header_style_centered header .et_menu_container > div:not(.logo_container) {
  width: 100%; background: #0c71c3; padding: 0 18px !important;
}
body.et_header_style_centered header .nav > li {
  padding-right: 16px; vertical-align: middle;
}
body.et_header_style_centered header .nav > li > a {
  padding-top: 18px !important; padding-bottom: 18px !important;
  font-size: 13px !important; line-height: 1.25;
}
body.et_header_style_centered header .nav > .lps-book-service > a,
body.et_header_style_centered header .et_mobile_menu .lps-book-service > a {
  background: #e02b20; color: #fff !important;
  border: 2px solid #e02b20; border-radius: 4px;
  padding: 10px 13px !important; margin: 5px 0;
}
body.et_header_style_centered header .nav > .lps-call-service > a {
  color: #fff !important; white-space: nowrap;
  border: 1px solid rgba(255,255,255,.75); border-radius: 4px;
  padding: 11px 12px !important; margin: 5px 0;
}
body.et_header_style_centered header .lps-book-service > a:hover {
  background: #bd2017; border-color: #bd2017; opacity: 1;
}
body.et_header_style_centered header .lps-book-service > a:focus-visible,
body.et_header_style_centered header .lps-call-service > a:focus-visible {
  outline: 3px solid #f9d35a; outline-offset: 3px;
}

/* Compact existing banner, with both booking and phone actions. */
.home .lps-home-hero .et_pb_container { height: auto !important; min-height: 0 !important; }
.home .lps-home-hero .et_pb_slide_description { padding: 64px 5% !important; animation: none !important; opacity: 1 !important; }
.home .lps-home-hero .et_pb_slide_title { font-size: clamp(28px, 3vw, 42px) !important; line-height: 1.15; }
.home .lps-home-hero .et_pb_slide_content { font-size: 18px !important; line-height: 1.5; }
.home .lps-hero-call { margin-top: 10px; }
.home .lps-hero-call a { color: #fff !important; text-decoration: underline; text-underline-offset: 4px; }
.home .lps-home-hero .et_pb_button,
.home .lps-home-booking .et_pb_promo_button {
  background: #e02b20 !important; border: 2px solid #e02b20 !important;
  border-radius: 4px !important; color: #fff !important;
  padding: 11px 20px !important; font-size: 18px !important; font-weight: 700;
}

/* Four equal category controls and complete linked service cards. */
.home .lps-home-services .et_pb_tabs_controls {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%; background: #0c71c3;
}
.home .lps-home-services .et_pb_tabs_controls::after { display: none; }
.home .lps-home-services .et_pb_tabs_controls li {
  float: none; display: flex; width: auto !important;
  height: auto !important; min-height: 56px;
  border-right: 1px solid rgba(255,255,255,.35);
}
.home .lps-home-services .et_pb_tabs_controls li a {
  display: flex; align-items: center; justify-content: center;
  width: 100%; padding: 15px 10px; text-align: center;
  font-size: 18px !important; line-height: 1.3; white-space: normal;
}
.home .lps-home-services .et_pb_tab { padding: 28px 18px 16px; }
.home .lps-services-heading { text-align: center; font-size: 28px; line-height: 1.3; margin-bottom: 22px; }
.home .lps-service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.home .lps-service-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home .lps-home-services .lps-service-card {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 16px; min-height: 200px; padding: 22px 14px; background: #fff;
  border: 1px solid #dce4eb; border-radius: 8px; color: #011c4e;
  text-decoration: none; text-align: center; transition: border-color .15s ease, background-color .15s ease;
}
.home .lps-home-services .lps-service-card img {
  width: 112px; height: 112px; margin: 0 !important;
  object-fit: contain; display: block;
}
.home .lps-home-services .lps-service-card span {
  font-family: Arial, sans-serif; font-size: 16px; font-weight: 700; line-height: 1.4;
}
.home .lps-home-services .lps-service-card:hover { background: #f3f8fc; border-color: #0c71c3; }
.home .lps-home-services .lps-service-card:focus-visible { outline: 3px solid #0c71c3; outline-offset: 3px; }
.home .lps-services-caption { padding-top: 24px; text-align: center; font-size: 22px; }
.home .lps-booking-steps .et_pb_blurb_description { font-size: 16px; line-height: 1.5; }

@media (min-width: 981px) and (max-width: 1200px) {
  body.et_header_style_centered header .nav > li { padding-right: 9px; }
  body.et_header_style_centered header .nav > li > a { font-size: 11px !important; }
}
@media (max-width: 980px) {
  body.et_header_style_centered header .et_menu_container { width: 100%; }
  body.et_header_style_centered header .logo_container { height: 64px !important; }
  body.et_header_style_centered header .mobile_menu_bar::before { color: #fff; }
  body.et_header_style_centered header .mobile_nav .select_page { color: #fff; }
  body.et_header_style_centered header .et_mobile_menu { background: #fff; }
  .home .lps-service-grid, .home .lps-service-grid-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home .lps-home-hero .et_pb_slide_description { padding: 42px 3% !important; }
}
@media (max-width: 600px) {
  .home .lps-home-services .et_pb_tabs_controls { grid-template-columns: 1fr; }
  .home .lps-home-services .et_pb_tabs_controls li { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.35); min-height: 48px; }
  .home .lps-home-services .et_pb_tabs_controls li a { padding: 12px; }
  .home .lps-home-services .et_pb_tab { padding: 24px 8px 12px; }
  .home .lps-services-heading { font-size: 24px; }
  .home .lps-home-hero .et_pb_slide_content { font-size: 16px !important; }
}
@media (max-width: 480px) {
  .home .lps-service-grid, .home .lps-service-grid-three { grid-template-columns: 1fr; }
  .home .lps-home-services .lps-service-card { min-height: 180px; }
}
@media (prefers-reduced-motion: reduce) {
  .home .lps-home-services .lps-service-card { transition: none; }
}
