@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700&display=swap");

:root {
  --steel-900: #10181f;
  --steel-800: #17232d;
  --steel-700: #22313d;
  --steel-500: #3d5264;
  --steel-100: #e7edf2;
  --signal: #69b7ff;
  --signal-dark: #3f97f0;
  --text: #17212b;
  --muted: #4a5b69;
  --surface: #f3f6f9;
  --radius: 12px;
  --shadow-soft: 0 10px 24px rgba(16, 24, 31, 0.12);
}

html {
  overflow-y: scroll;
  scroll-behavior: auto !important;
}

body {
  color: var(--text);
  background: linear-gradient(180deg, #f7fafc 0%, #eef3f7 100%);
}

/* Global stability: keep header static and avoid layout jump from legacy Divi fixed-nav rules */
#page-container {
  padding-top: 0 !important;
}

#top-header,
#main-header,
.et_fixed_nav #top-header,
.et_fixed_nav #main-header,
#main-header.et-fixed-header {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
}

#top-header {
  background: linear-gradient(180deg, #080a0d 0%, #141820 100%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

#top-header .container {
  min-height: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#et-info {
  float: none !important;
  width: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px;
  text-align: center;
  color: #eff5fa;
  font-weight: 600;
}

#et-info a,
#et-info-phone,
#et-info-email {
  color: #eff5fa !important;
}

#et-info-phone:before,
#et-info-email:before {
  color: #9fd1ff !important;
}

#et-info-phone:before {
  content: "\260E" !important;
  font-family: Arial, sans-serif !important;
  font-size: 14px !important;
  margin-right: 6px;
}

#et-info-email:before {
  content: "\2709" !important;
  font-family: Arial, sans-serif !important;
  font-size: 14px !important;
  margin-right: 6px;
}

#et-secondary-menu {
  display: none;
}

#main-header {
  background: linear-gradient(100deg, #1a2731 0%, #1f303d 56%, #2a3c49 100%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  box-shadow: 0 10px 28px rgba(16, 24, 31, 0.26);
}

#main-header .et_menu_container {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

#main-header .logo_container {
  flex: 0 0 auto;
  padding: 2px 0;
  margin-left: -14px;
}

#logo {
  width: auto !important;
  height: auto !important;
  max-height: 106px !important;
  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.4));
}

.et-fixed-header #logo,
#main-header.et-fixed-header #logo,
body.et_hide_fixed_logo .et-fixed-header #logo {
  display: inline-block !important;
  opacity: 1 !important;
  visibility: visible !important;
  max-height: 106px !important;
}

#et-top-navigation {
  float: none !important;
  height: auto;
  padding-top: 0 !important;
  flex: 1 1 auto;
  min-width: 0;
}

#top-menu-nav {
  display: flex;
  justify-content: flex-end;
}

#top-menu {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
}

#top-menu li {
  padding-right: 0 !important;
  white-space: nowrap;
}

#top-menu a {
  color: #f6fbff !important;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  word-break: keep-all;
  line-height: 1.25 !important;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 10px !important;
  border: 0 !important;
  border-radius: 6px;
  transition: none !important;
  transform: none !important;
}

#top-menu li.current-menu-item > a,
#top-menu li > a:hover {
  background: rgba(255, 255, 255, 0.14) !important;
  border: 0 !important;
  transform: none !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  color: #fff !important;
}

.mobile_menu_bar:before {
  color: #9fd1ff !important;
}

.et_mobile_menu {
  border-top: 3px solid var(--signal) !important;
  background: linear-gradient(180deg, #1b2a36 0%, #263846 100%) !important;
}

.et_mobile_menu a {
  color: #f5f8fc !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

#main-content .container,
.et_pb_row {
  max-width: 1100px;
}

.et_pb_section {
  padding-top: 54px;
  padding-bottom: 54px;
}

.et_pb_section.et_pb_with_background {
  background: var(--surface) !important;
}

h1,
h2,
h3,
h4 {
  color: #111a22;
  letter-spacing: -0.2px;
}

h1 {
  line-height: 1.15;
  font-weight: 800;
}

p,
li {
  color: var(--text);
}

.et_pb_text_inner p {
  line-height: 1.72;
}

.et_pb_button,
.et_pb_promo_button,
.et_pb_newsletter_button,
input[type="submit"] {
  background: linear-gradient(180deg, var(--signal) 0%, var(--signal-dark) 100%) !important;
  border-color: #2e7fd1 !important;
  color: #fff !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em;
}

.et_pb_button:hover,
.et_pb_promo_button:hover,
.et_pb_newsletter_button:hover,
input[type="submit"]:hover {
  filter: brightness(0.95);
}

.et_pb_blurb,
.et_pb_text {
  border-radius: var(--radius);
}

.et_pb_image img,
.et_pb_gallery_image,
.et_pb_lightbox_image {
  border-radius: 10px;
  box-shadow: var(--shadow-soft);
}

.et_pb_gallery_image,
.et_pb_lightbox_image {
  overflow: hidden;
  display: block;
}

.et_pb_gallery_image img,
.et_pb_lightbox_image img {
  width: 100%;
  height: auto;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.et_pb_gallery_image:hover img,
.et_pb_lightbox_image:hover img {
  transform: scale(1.04);
}

.home .et_pb_slider .et_pb_slide {
  position: relative;
  overflow: hidden;
  min-height: 258px;
  background-size: cover !important;
  background-position: center center !important;
}

.home .et_pb_fullwidth_section .et_pb_fullwidth_slider_0 {
  width: 100% !important;
  margin: 0 !important;
}

.home .et_pb_slider .et_pb_slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(11, 27, 46, 0.42) 0%,
    rgba(11, 27, 46, 0.3) 35%,
    rgba(7, 20, 36, 0.56) 100%
  );
  pointer-events: none;
  z-index: 1;
}

.home .et_pb_slider .et_pb_container {
  position: relative;
  z-index: 2;
}

#top-header,
#main-header,
#top-menu,
#top-menu li,
#top-menu a,
#top-menu a:hover,
#top-menu li.current-menu-item > a,
#logo {
  transition: none !important;
  animation: none !important;
  transform: none !important;
}

.et-pb-arrow-prev:before,
.et-pb-arrow-next:before {
  font-family: Arial, sans-serif !important;
  font-weight: 700;
}

.et-pb-arrow-prev:before {
  content: "\2039" !important;
}

.et-pb-arrow-next:before {
  content: "\203A" !important;
}

.et-pb-arrow-prev,
.et-pb-arrow-next {
  font-size: 72px !important;
}

body.page-id-158 .et-l--post .et_builder_inner_content {
  background: #fff;
  border: 1px solid #d3dde6;
  border-radius: 14px;
  box-shadow: var(--shadow-soft);
  padding: 26px;
}

body.page-id-158 .et_builder_inner_content > h2 {
  text-align: center;
  margin-bottom: 22px;
}

body.page-id-158 .et_post_gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

body.page-id-158 .et_post_gallery .et_gallery_item {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}

body.page-id-158 .et_post_gallery .et_gallery_item img {
  width: 100% !important;
  height: 240px !important;
  object-fit: cover;
  border-radius: 10px;
}

#main-footer {
  background: linear-gradient(180deg, #121b23 0%, #0e161d 100%) !important;
}

#footer-info,
#main-footer .title,
#main-footer p,
#main-footer span,
#main-footer a {
  color: #e2eaf2 !important;
}

@media (min-width: 981px) {
  .et_header_style_left #et-top-navigation,
  .et_header_style_split #et-top-navigation,
  .et_header_style_left .et-fixed-header #et-top-navigation,
  .et_header_style_split .et-fixed-header #et-top-navigation {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .et_header_style_left #et-top-navigation nav > ul > li > a,
  .et_header_style_split #et-top-navigation nav > ul > li > a,
  .et_header_style_left .et-fixed-header #et-top-navigation nav > ul > li > a,
  .et_header_style_split .et-fixed-header #et-top-navigation nav > ul > li > a {
    padding-bottom: 0 !important;
  }

  #main-header.et-fixed-header .logo_container,
  .et-fixed-header .logo_container {
    height: auto !important;
    opacity: 1 !important;
    display: block !important;
  }

  #main-header.et-fixed-header #logo,
  .et-fixed-header #logo,
  body.et_hide_fixed_logo #main-header.et-fixed-header #logo {
    max-height: 92px !important;
    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  #footer-widgets {
    display: grid;
    grid-template-columns: minmax(300px, 1fr) minmax(360px, 1.2fr);
    gap: 28px;
  }

  #footer-widgets .footer-widget {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
  }
}

@media (max-width: 1360px) {
  #top-menu {
    flex-wrap: wrap;
    justify-content: flex-end;
    row-gap: 8px;
  }
}

@media (max-width: 1220px) {
  #main-header .et_menu_container {
    min-height: 64px;
    gap: 14px;
  }

  #logo {
    max-height: 90px !important;
  }

  #top-menu a {
    font-size: 13px;
    padding: 7px 8px !important;
  }
}

@media (max-width: 980px) {
  .et_pb_section {
    padding-top: 38px;
    padding-bottom: 38px;
  }

  #main-header .et_menu_container {
    min-height: 60px;
  }

  #logo {
    max-height: 78px !important;
  }

  #et-top-navigation {
    display: none;
  }

  #et_mobile_nav_menu {
    display: block !important;
  }

  body.page-id-158 .et_post_gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home .et_pb_slider .et_pb_slide {
    min-height: 204px;
  }

  .home .et_pb_fullwidth_section .et_pb_fullwidth_slider_0 {
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  #top-header .container {
    padding-top: 4px;
    padding-bottom: 4px;
  }

  #et-info {
    gap: 6px;
    font-size: 13px;
  }

  #main-header .logo_container {
    max-width: calc(100% - 56px);
  }

  #logo {
    max-height: 58px !important;
  }

  .home .et_pb_slider .et_pb_slide {
    min-height: 150px;
  }

  .home .et_pb_fullwidth_section .et_pb_fullwidth_slider_0 {
    width: 100% !important;
  }

  .home .et_pb_fullwidth_slider_0 .et_pb_slide_description,
  .home .et_pb_slider_fullwidth_off.et_pb_fullwidth_slider_0 .et_pb_slide_description {
    padding-top: 92px !important;
  }

  body.page-id-158 .et-l--post .et_builder_inner_content {
    padding: 16px;
  }

  body.page-id-158 .et_post_gallery {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  body.page-id-158 .et_post_gallery .et_gallery_item img {
    height: 210px !important;
  }
}

/* Header stability hotfix: prevent menu jump on load/active state */
@media (min-width: 981px) {
  #main-header .et_menu_container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
  }

  #main-header .logo_container {
    float: none !important;
    position: relative !important;
    width: auto !important;
    height: auto !important;
    z-index: 3;
  }

  #et-top-navigation {
    float: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin-left: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    transform: none !important;
  }

  #top-menu-nav {
    float: none !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
  }

  #top-menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #top-menu > li {
    float: none !important;
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  #top-menu > li > a,
  #top-menu > li.current-menu-item > a,
  #top-menu > li.current_page_item > a,
  #top-menu > li > a:hover {
    line-height: 1.2 !important;
    min-height: 38px !important;
    padding: 8px 10px !important;
    margin: 0 !important;
    transform: none !important;
    top: auto !important;
    bottom: auto !important;
  }

  #main-header,
  #main-header .et_menu_container,
  #et-top-navigation,
  #top-menu,
  #top-menu > li,
  #top-menu > li > a {
    transition: none !important;
    animation: none !important;
  }
}

/* Critical Divi conflict fixes: keep menu clickable and stable on load */
@media (min-width: 981px) {
  #main-header .container.et_menu_container {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    column-gap: 26px !important;
  }

  .et_header_style_left .logo_container {
    position: relative !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    pointer-events: auto !important;
  }

  .et_header_style_left #main-header .container.et_menu_container {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
  }

  .et_header_style_left #et-top-navigation {
    float: none !important;
    margin-left: 0 !important;
    width: 100% !important;
  }

  #top-menu,
  #top-menu-nav,
  #et-top-navigation {
    opacity: 1 !important;
    visibility: visible !important;
  }

  .et_pb_menu_hidden #top-menu,
  .et_pb_menu_visible #top-menu,
  .et_pb_menu_hidden #et_search_icon:before,
  .et_pb_menu_visible #et_search_icon:before,
  .et_pb_menu_hidden .mobile_menu_bar,
  .et_pb_menu_visible .mobile_menu_bar {
    opacity: 1 !important;
    animation: none !important;
    -webkit-animation: none !important;
  }

  #top-menu-nav {
    justify-content: flex-start !important;
  }

  #top-menu {
    justify-content: flex-start !important;
    margin-left: 0 !important;
  }

  #main-header .container.et_menu_container {
    z-index: 100 !important;
  }

  /* Global header tuning (all pages) */
  #main-header .logo_container {
    position: absolute !important;
    left: 8px !important;
    top: 50% !important;
    transform: translateX(-50%) translateY(-50%) !important;
    margin: 0 !important;
  }

  #logo {
    max-height: 85px !important;
  }

  #main-header .et_menu_container {
    position: relative !important;
    min-height: 70px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 170px !important;
  }

  #main-header {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

@media (min-width: 981px) and (max-width: 1220px) {
  #main-header .et_menu_container {
    min-height: 66px !important;
    padding-left: 150px !important;
  }

  #logo {
    max-height: 78px !important;
  }
}

/* Recovery: normalize proportions and keep logo/menu aligned on all pages */
#top-header .container {
  min-height: 34px !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

@media (min-width: 981px) {
  #main-header,
  #main-header.et-fixed-header {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  #main-header .container.et_menu_container,
  #main-header .et_menu_container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 82px !important;
    padding: 0 0 0 24px !important;
    position: relative !important;
    column-gap: 20px !important;
  }

  #main-header .logo_container,
  .et_header_style_left .logo_container {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin: 0 18px 0 0 !important;
    float: none !important;
    width: auto !important;
    height: auto !important;
    flex: 0 0 auto !important;
  }

  #logo {
    max-height: 74px !important;
    width: auto !important;
    height: auto !important;
  }

  #et-top-navigation {
    margin-left: auto !important;
    flex: 1 1 auto !important;
  }

  #top-menu-nav,
  #top-menu {
    justify-content: flex-start !important;
  }
}

@media (max-width: 980px) {
  #main-header .et_menu_container {
    min-height: 56px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  #main-header .logo_container {
    margin-left: 0 !important;
  }

  #logo {
    max-height: 62px !important;
  }

  #et_mobile_nav_menu {
    display: block !important;
    margin-left: auto !important;
  }

  .mobile_nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  .mobile_menu_bar {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    cursor: pointer !important;
  }

  .mobile_menu_bar:before {
    content: "\2630" !important;
    font-family: Arial, sans-serif !important;
    font-size: 30px !important;
    line-height: 1 !important;
    color: #9fd1ff !important;
    position: static !important;
  }

  /* Mobile sidebar menu (right drawer) */
  .et_mobile_menu {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    width: min(84vw, 340px) !important;
    height: 100vh !important;
    max-height: 100vh !important;
    overflow-y: auto !important;
    padding: 74px 16px 20px !important;
    border-top: 0 !important;
    background: linear-gradient(180deg, #1a2732 0%, #223443 100%) !important;
    box-shadow: -18px 0 40px rgba(0, 0, 0, 0.38) !important;
    transform: translateX(110%) !important;
    transition: transform 0.28s ease !important;
    z-index: 10020 !important;
  }

  .mobile_nav.opened .et_mobile_menu {
    transform: translateX(0) !important;
  }

  .mobile_nav.closed .et_mobile_menu {
    transform: translateX(110%) !important;
  }

  .et_mobile_menu li a {
    color: #f4f9ff !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    padding: 12px 6px !important;
    text-transform: uppercase;
    letter-spacing: 0.03em;
  }
}

/* Final topbar stabilization (all pages) */
html,
body {
  overflow-x: hidden;
}

#top-header .container {
  min-height: 34px !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

@media (min-width: 981px) {
  #main-header .container.et_menu_container,
  #main-header .et_menu_container,
  .et_header_style_left #main-header .container.et_menu_container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 68px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 10px !important;
    padding-right: 0 !important;
    column-gap: 16px !important;
  }

  #main-header .logo_container,
  .et_header_style_left .logo_container,
  #main-header.et-fixed-header .logo_container,
  .et-fixed-header .logo_container {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin: 0 26px 0 -34px !important;
    width: auto !important;
    height: auto !important;
    float: none !important;
    z-index: 3 !important;
  }

  #logo,
  #main-header.et-fixed-header #logo,
  .et-fixed-header #logo {
    max-height: 70px !important;
    width: auto !important;
    height: auto !important;
    transform: none !important;
  }

  #et-top-navigation {
    margin-left: auto !important;
    padding-left: 8px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    transform: none !important;
  }

  #top-menu,
  #top-menu > li,
  #top-menu > li > a,
  #top-menu > li > a:hover,
  #top-menu > li.current-menu-item > a,
  #top-menu > li.current_page_item > a {
    transform: none !important;
    animation: none !important;
    transition: none !important;
    top: auto !important;
    bottom: auto !important;
    margin-top: 0 !important;
  }
}

/* Keep topbar following page scroll */
#top-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 10030 !important;
}

#main-header {
  position: sticky !important;
  top: 34px !important;
  z-index: 10020 !important;
}

@media (max-width: 980px) {
  #top-header {
    display: none !important;
  }

  #main-header {
    top: 0 !important;
  }
}

/* Logo-only adjustment (no topbar size changes) */
@media (min-width: 981px) {
  #main-header .logo_container,
  .et_header_style_left .logo_container,
  #main-header.et-fixed-header .logo_container,
  .et-fixed-header .logo_container {
    margin: 0 24px 0 -46px !important;
  }

  #logo,
  #main-header.et-fixed-header #logo,
  .et-fixed-header #logo {
    max-height: 76px !important;
  }
}

@media (max-width: 980px) {
  #main-header .logo_container {
    margin-left: -8px !important;
  }

  #logo {
    max-height: 66px !important;
  }
}

/* Topbar typography upgrade */
#top-header,
#main-header,
#top-header #et-info,
#top-header #et-info a,
#top-menu a,
#top-menu li > a,
.et_mobile_menu li a,
.mobile_nav .select_page {
  font-family: "Montserrat", "Segoe UI", Tahoma, Arial, sans-serif !important;
}

#top-header #et-info {
  font-weight: 600 !important;
  letter-spacing: 0.01em;
}

#top-menu a,
#top-menu li > a {
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
}

/* =========================================================
   Refinement Pass v2 (incremental, no structural redesign)
   ========================================================= */

:root {
  --ref-bg: #f4f7fa;
  --ref-surface: #ffffff;
  --ref-border: #d8e2eb;
  --ref-title: #0f1e2d;
  --ref-text: #2b3e50;
  --ref-muted: #5e7283;
  --ref-accent: #67b5ff;
  --ref-accent-strong: #3f97f0;
  --ref-shadow-sm: 0 6px 16px rgba(9, 26, 43, 0.08);
  --ref-shadow-md: 0 12px 30px rgba(9, 26, 43, 0.14);
  --ref-radius: 12px;
}

body {
  background: linear-gradient(180deg, #f7fafd 0%, var(--ref-bg) 100%) !important;
  color: var(--ref-text) !important;
  line-height: 1.72 !important;
}

h1,
h2,
h3,
h4 {
  font-family: "Montserrat", "Segoe UI", Tahoma, Arial, sans-serif !important;
  color: var(--ref-title) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
}

h1 {
  font-size: clamp(2rem, 2.6vw, 2.85rem) !important;
  font-weight: 700 !important;
}

h2 {
  font-size: clamp(1.6rem, 2.1vw, 2.2rem) !important;
  font-weight: 700 !important;
}

p {
  color: var(--ref-text) !important;
}

.et_pb_text_inner p + p {
  margin-top: 0.75rem;
}

#main-content .container,
.et_pb_row {
  max-width: 1140px !important;
}

.et_pb_section {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}

.et_pb_row + .et_pb_row {
  margin-top: 12px !important;
}

/* Header polish */
#top-header {
  background: linear-gradient(180deg, #0a0f14 0%, #121923 100%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

#top-header .container {
  min-height: 36px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}

#et-info {
  gap: 16px !important;
  font-size: 14px !important;
  color: #e8f1f8 !important;
}

#main-header {
  background: linear-gradient(100deg, #162430 0%, #1f3241 58%, #2a3e4d 100%) !important;
  box-shadow: 0 10px 24px rgba(10, 24, 38, 0.2) !important;
}

#top-menu {
  gap: 8px !important;
}

#top-menu li > a {
  min-height: 36px !important;
  padding: 8px 11px !important;
  font-size: 13px !important;
  border-radius: 7px !important;
}

#top-menu li > a:hover,
#top-menu li.current-menu-item > a {
  background: rgba(255, 255, 255, 0.16) !important;
}

/* Primary conversion CTA in nav */
#top-menu #menu-item-58 > a {
  background: linear-gradient(180deg, var(--ref-accent) 0%, var(--ref-accent-strong) 100%) !important;
  color: #082039 !important;
  font-weight: 800 !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  box-shadow: 0 6px 16px rgba(28, 122, 219, 0.26) !important;
}

#top-menu #menu-item-58 > a:hover,
#top-menu #menu-item-58.current-menu-item > a {
  filter: brightness(1.05);
  transform: translateY(-1px) !important;
}

/* Hero refinement */
.home .et_pb_fullwidth_section .et_pb_fullwidth_slider_0 {
  border-radius: 0 !important;
}

.home .et_pb_section_0.et_pb_fullwidth_section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
}

.home #main-content .container,
.home #main-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.home .home-info-strip {
  width: 100%;
  margin: 0;
  padding: 14px 20px;
  background: linear-gradient(90deg, #eef4fa 0%, #e5edf5 52%, #eef4fa 100%);
  border-top: 1px solid #d8e2ec;
  border-bottom: 1px solid #d8e2ec;
  color: #1a2a39;
  text-align: center;
  font-family: "Montserrat", "Segoe UI", Tahoma, Arial, sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.home .home-info-strip strong {
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.home .home-info-strip span {
  font-size: 0.93rem;
  font-weight: 600;
  color: #2f455a;
}

.home .et_pb_slider .et_pb_slide {
  min-height: 510px !important;
  background-size: cover !important;
  background-position: center center !important;
}

.home .et_pb_slider .et_pb_slide::before {
  background: linear-gradient(
    180deg,
    rgba(8, 22, 38, 0.34) 0%,
    rgba(8, 22, 38, 0.26) 42%,
    rgba(8, 22, 38, 0.46) 100%
  ) !important;
}

.home .et_pb_fullwidth_slider_0 .et_pb_slide_description {
  max-width: 980px !important;
  margin: 0 auto !important;
  padding-top: 136px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.home .et_pb_fullwidth_slider_0 .et_pb_text_overlay_wrapper {
  background: linear-gradient(90deg, rgba(2, 11, 20, 0.44) 0%, rgba(2, 11, 20, 0.22) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 12px !important;
  padding: 26px 28px !important;
}

.home .et_pb_fullwidth_slider_0 .et_pb_slide_title {
  font-size: clamp(1.8rem, 3.1vw, 3rem) !important;
  font-weight: 700 !important;
  color: #f4f9ff !important;
  text-shadow: none !important;
}

.home .hero-subtitle {
  margin-top: 12px !important;
  margin-bottom: 16px !important;
  font-size: clamp(1rem, 1.3vw, 1.18rem) !important;
  color: #d7e7f5 !important;
  line-height: 1.55 !important;
}

.home .hero-cta {
  background: linear-gradient(180deg, var(--ref-accent) 0%, var(--ref-accent-strong) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  color: #06243d !important;
  border-radius: 10px !important;
  padding: 10px 22px !important;
  font-weight: 800 !important;
  letter-spacing: 0.03em !important;
  box-shadow: 0 8px 20px rgba(27, 116, 206, 0.3) !important;
}

.home .hero-cta:hover {
  transform: translateY(-1px) !important;
}

.home .hero-cta {
  display: none !important;
}

/* Institutional blocks and cards */
.et_pb_text,
.et_pb_blurb {
  background: transparent !important;
}

.home .et_pb_blurb {
  background: var(--ref-surface) !important;
  border: 1px solid var(--ref-border) !important;
  border-radius: var(--ref-radius) !important;
  box-shadow: var(--ref-shadow-sm) !important;
  padding: 18px 18px 10px !important;
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.home .et_pb_blurb:hover {
  transform: translateY(-3px);
  box-shadow: var(--ref-shadow-md) !important;
  border-color: #bfd7eb !important;
}

.home .et_pb_blurb .et_pb_module_header a {
  color: var(--ref-title) !important;
  font-family: "Montserrat", "Segoe UI", Tahoma, Arial, sans-serif !important;
  font-size: 1.12rem !important;
  font-weight: 700 !important;
}

.home .et_pb_blurb .et_pb_image_wrap img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

/* Improve readability for long institutional text pages */
body.page-id-42 .et_pb_text_inner,
body.page-id-83 .et_pb_text_inner,
body.page-id-36 .et_pb_text_inner {
  max-width: 72ch;
}

.et_pb_text_inner ul {
  margin-top: 0.5rem;
}

.et_pb_text_inner ul li {
  margin: 0.3rem 0;
}

/* Softer global interactions */
a,
.et_pb_button,
#top-menu li > a,
.et_mobile_menu li a {
  transition: all 0.2s ease !important;
}

/* Mobile refinements */
@media (max-width: 980px) {
  .et_pb_section {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }

  #main-header .et_menu_container {
    min-height: 60px !important;
  }

  #logo {
    max-height: 62px !important;
  }

  .home .et_pb_slider .et_pb_slide {
    min-height: 360px !important;
  }

  .home .et_pb_fullwidth_slider_0 .et_pb_slide_description {
    padding-top: 98px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .home .et_pb_fullwidth_slider_0 .et_pb_text_overlay_wrapper {
    padding: 18px 16px !important;
  }

  .home .home-info-strip {
    padding: 11px 12px;
    gap: 6px;
  }

  .home .home-info-strip strong {
    font-size: 0.86rem;
    letter-spacing: 0.03em;
  }

  .home .home-info-strip span {
    font-size: 0.81rem;
  }

  .home .hero-subtitle {
    font-size: 0.98rem !important;
    margin-bottom: 12px !important;
  }

  .home .hero-cta {
    width: 100%;
    max-width: 320px;
    text-align: center;
  }

  .et_mobile_menu #menu-item-58 > a {
    background: linear-gradient(180deg, var(--ref-accent) 0%, var(--ref-accent-strong) 100%) !important;
    color: #06243d !important;
    border-radius: 8px !important;
    font-weight: 800 !important;
    margin-top: 10px !important;
    border: 0 !important;
  }
}

@media (max-width: 767px) {
  h1 {
    font-size: clamp(1.7rem, 7vw, 2rem) !important;
  }

  h2 {
    font-size: clamp(1.35rem, 6.2vw, 1.62rem) !important;
  }

  p,
  li {
    font-size: 15px !important;
    line-height: 1.68 !important;
  }

  .home .et_pb_slider .et_pb_slide {
    min-height: 310px !important;
  }
}

/* Equipamentos: padroniza grade de fotos (inclui Impressoras 3D) */
body.page-id-83 .et_pb_section_1 .et_pb_image_wrap {
  display: block;
  overflow: hidden;
  border-radius: 10px;
}

body.page-id-83 .et_pb_section_1 .et_pb_image_wrap img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover;
}

body.page-id-83 .et_pb_section_0 .et_pb_image_4 {
  margin-top: 16px;
  text-align: left;
}

body.page-id-83 .et_pb_section_0 .et_pb_image_4 .et_pb_image_wrap {
  display: block;
  overflow: hidden;
  border-radius: 10px;
}

body.page-id-83 .et_pb_section_0 .et_pb_image_4 img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain;
}

/* Ajuste solicitado: mover logo para a esquerda e aumentar somente a logo */
#main-header .logo_container,
.et_header_style_left .logo_container {
  margin-left: -78px !important;
}

#logo,
#main-header.et-fixed-header #logo,
.et-fixed-header #logo {
  max-height: 88px !important;
  width: auto !important;
  height: auto !important;
}

@media (max-width: 980px) {
  #main-header .logo_container,
  .et_header_style_left .logo_container {
    margin-left: -46px !important;
  }

  #logo,
  #main-header.et-fixed-header #logo,
  .et-fixed-header #logo {
    max-height: 72px !important;
  }
}

/* Forca final: logo mais a esquerda em todas as paginas */
body #main-header .container.et_menu_container .logo_container,
body .et_header_style_left #main-header .container.et_menu_container .logo_container {
  margin-left: -92px !important;
}

@media (max-width: 980px) {
  body #main-header .container.et_menu_container .logo_container,
  body .et_header_style_left #main-header .container.et_menu_container .logo_container {
    margin-left: -52px !important;
  }
}

/* Títulos: remove esticamento e melhora posicionamento */
#main-content .et_pb_text_inner h1[style*="text-align: justify"],
#main-content .et_pb_text_inner h2[style*="text-align: justify"] {
  text-align: left !important;
}

#main-content .et_pb_text_0 .et_pb_text_inner h1,
#main-content .et_pb_text_0 .et_pb_text_inner h2 {
  margin-bottom: 14px !important;
  line-height: 1.14 !important;
  letter-spacing: -0.01em !important;
  max-width: 24ch;
}

/* Rodape centralizado */
#footer-bottom .container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#footer-info {
  float: none !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto !important;
  padding-bottom: 10px !important;
}

/* Remove botao de "voltar ao topo" (icone quebrado com numero 2) */
.et_pb_scroll_top,
.et_pb_scroll_top.et-pb-icon {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Equipamentos: garante fotos visiveis mesmo sem script de animacao */
body.page-id-83 .et_pb_image.et_animated,
body.page-id-83 .et_pb_image.et-waypoint,
body.page-id-83 .et_pb_image_0,
body.page-id-83 .et_pb_image_1,
body.page-id-83 .et_pb_image_2,
body.page-id-83 .et_pb_image_3,
body.page-id-83 .et_pb_image_4 {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

/* Final mobile + contact alignment hotfix */
body #top-header .container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body #et-info {
  float: none !important;
  margin: 0 auto !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  text-align: center !important;
  gap: 12px !important;
}

body #et-info-phone,
body #et-info-email,
body #et-info a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body #et-info-phone:before {
  content: "\260E" !important;
  font-family: "Segoe UI Symbol", Arial, sans-serif !important;
}

body #et-info-email:before {
  content: "\2709" !important;
  font-family: "Segoe UI Symbol", Arial, sans-serif !important;
}

@media (max-width: 980px) {
  body #top-header {
    display: block !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 10040 !important;
  }

  body #top-header .container {
    min-height: 34px !important;
    padding: 6px 8px !important;
  }

  body #et-info {
    font-size: 13px !important;
    line-height: 1.2 !important;
    gap: 10px !important;
  }

  body #main-header {
    position: sticky !important;
    top: 34px !important;
    z-index: 10030 !important;
  }

  body #main-header .container.et_menu_container,
  body #main-header .et_menu_container {
    position: relative !important;
    min-height: 58px !important;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center !important;
  }

  body #main-header .logo_container,
  body .et_header_style_left #main-header .logo_container,
  body #main-header.et-fixed-header .logo_container,
  body .et-fixed-header .logo_container {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin: 0 0 0 21px !important;
    width: auto !important;
    height: auto !important;
    z-index: 4 !important;
    max-width: none !important;
  }

  body #logo,
  body #main-header.et-fixed-header #logo,
  body .et-fixed-header #logo {
    max-height: 111px !important;
    width: auto !important;
    height: auto !important;
  }

  body #et_mobile_nav_menu {
    display: block !important;
    margin-left: auto !important;
    position: relative !important;
    z-index: 5 !important;
  }

  body .mobile_nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    margin-left: auto !important;
  }

  body .mobile_menu_bar {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
  }

  body .mobile_menu_bar:before {
    content: "\2630" !important;
    font-family: Arial, sans-serif !important;
    font-size: 30px !important;
    line-height: 1 !important;
    color: #9fd1ff !important;
    position: static !important;
  }
}
