/* Identidade GDN: alterações pontuais sobre o template existente. */
:root {
  --dark: #102d55;
  --dark-secondary: #163e71;
  --color-primary: #158bea;
  --color-secondary: #63bdf4;
  --color-style-two: #397fbb;
  --color-style-three: #80cef9;
  --bg-gray: #f1f8ff;
  --bg-gradient: linear-gradient(90deg, #147fe0, #60bdf6);
  --bg-gradient-secondary: linear-gradient(0deg, #147fe0, #60bdf6);
  --bg-gradient-two: linear-gradient(90deg, #397fbb, #80cef9);
}
html { scroll-behavior: smooth; }
#inicio,#services,#about,#expertise,#contato { scroll-margin-top: 94px; }
.navbar-brand { display: inline-flex !important; align-items: center; min-height: 74px; }
.navbar-brand img.logo.gdn-header-logo { width: 164px !important; max-width: 164px !important; max-height: 94px !important; height: auto !important; object-fit: contain; background: none !important; border: 0; border-radius: 0; }
.collapse-header img.gdn-menu-logo { width: 170px; max-width: 100%; background: transparent; }
.navbar .navbar-header { display: flex; align-items: center; }
.gdn-footer-logo { width: 130px; max-width: 100%; height: auto; display: block; margin-bottom: 18px; background: none !important; border-radius: 0; }
footer .container a { color: inherit; }
footer .container a.btn { color: #fff; }
footer .border-top { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
footer .border-top p { margin: 0; }
footer .gdn-credit { margin-left: auto; text-align: right; }
.btn.btn-theme, .btn-theme, .contact-form-style-one button[type="submit"] { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }
.btn.btn-theme:hover, .contact-form-style-one button[type="submit"]:hover { background: #1169bc; border-color: #1169bc; }
.feature-style-one .icon { background: #e5f4ff; border-radius: 15px; min-width: 84px; width: 84px; height: 84px; padding: 0; margin-right: 22px; color: #158bea; font-size: 32px; flex-shrink: 0; }
.feature-style-one .icon::after { content: none; background: none; }
.feature-style-one .icon span { line-height: 1; }
.feature-style-one-heading .arrow-shape, .contact-shape, .shape-animated-arrow { display: none !important; }
.services-style-two .thumb > img { display: block; width: 100%; height: 235px; object-fit: cover; }
.services-style-two .thumb .title { left: 0; right: 0; bottom: -26px; }
.services-style-two .thumb .title::after { background: #102d55; }
.services-style-two .thumb .title .icon::after { background: #158bea; }
.services-style-two .thumb .title .icon span { color: #fff; font-size: 31px; line-height: 1; }
.services-style-two .thumb .title h4 { padding: 0 12px 0 18px; font-size: 17px; line-height: 1.3; }
.services-style-two .info p { min-height: 100px; }
.services-style-two .info { padding-top: 64px; }
#services .site-heading { max-width: 100%; width: 100%; }
#services .site-heading .title { font-size: clamp(28px, 3.8vw, 49px); line-height: 1.17; }
.about-style-two-thumb .certification > span { color: #158bea; font-size: 34px; display: block; margin-bottom: 12px; }
.about-style-two-thumb .certification { color: #102d55; }
.gdn-recaptcha-group { margin: 0 0 22px; }
.gdn-recaptcha-note { font-size: 12px; margin: 8px 0 0; }
.gdn-honeypot { display: none !important; }
.contact-style-one-info li .content a { color: #1169bc; overflow-wrap: anywhere; }
@media(min-width: 992px) {
 #services .site-heading .title { white-space: nowrap; }
}
@media(max-width: 991px) {
 .navbar-brand { min-height: 66px; }
 .navbar-brand img.logo.gdn-header-logo { width: 148px !important; max-width: 148px !important; max-height: 86px !important; }
 #services .site-heading .title { white-space: normal; }
 .services-style-two .info p { min-height: 0; }
}
@media(max-width: 767px) {
 .navbar-brand img.logo.gdn-header-logo { width: 132px !important; max-width: 132px !important; max-height: 80px !important; }
 .gdn-footer-logo { width: 90px; }
 .services-style-two .thumb > img { height: 210px; }
 .gdn-credit { margin-left: 0 !important; margin-top: 8px; text-align: left !important; display: block !important; }
}

/* Top navigation: verified email and original carousel imagery. */
.navbar .gdn-header-contact { margin-left: 18px; min-width: 0; }
.navbar .gdn-header-contact .attr-nav li.contact { padding-left: 0; }
.navbar .gdn-header-contact .call { display: flex; align-items: center; gap: 11px; }
.navbar .gdn-header-contact .call .icon { flex: 0 0 auto; }
.navbar .gdn-header-contact .call .info { min-width: 0; }
.navbar .gdn-header-contact .call h5 { font-size: 15px; white-space: nowrap; }
.navbar .gdn-header-contact .call p { font-size: 12px; }
.navbar .gdn-header-contact .call h5 a { color: var(--dark); }
.navbar .gdn-header-contact .call h5 a:hover { color: var(--color-primary); }
@media (min-width: 992px) and (max-width: 1250px) {
  .navbar .gdn-header-contact { margin-left: 8px; }
  .navbar .gdn-header-contact .call .icon { display: none; }
  .navbar .gdn-header-contact .call h5 { font-size: 13px; }
  .navbar .gdn-header-contact .call p { font-size: 11px; }
}
@media (max-width: 991px) {
  /* Mobile menu retains all navigation links; email remains in contact/footer. */
  .navbar .gdn-header-contact { display: none; }
}

/* GDN ajuste 03: off-canvas logo keeps its natural aspect ratio, and
   email text remains legible without overrunning narrow viewports. */
@media (max-width: 1023px) {
  nav.navbar.validnavs .navbar-collapse.collapse img.gdn-menu-logo,
  nav.navbar.validnavs .navbar-collapse.collapse.show img.gdn-menu-logo {
    display: block;
    width: 165px !important;
    max-width: calc(100% - 75px) !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain;
    object-position: left center;
    flex: 0 0 auto;
  }
}
/* Reduce the desktop header email without changing the navigation or banner. */
.navbar .gdn-header-contact .call h5,
.navbar .gdn-header-contact .call h5 a {
  font-size: 13px;
  letter-spacing: 0;
  line-height: 1.4;
}
@media (min-width: 992px) and (max-width: 1250px) {
  .navbar .gdn-header-contact .call h5,
  .navbar .gdn-header-contact .call h5 a { font-size: 12px; }
}
/* Use the former remote-attendance blue on the remaining email icon. */
.contact-style-one-info li .icon i { background: var(--color-primary) !important; }
.contact-style-one-info li .content a {
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
@media (max-width: 480px) {
  .contact-style-one-info li .content a { font-size: 13px; }
}


/* GDN ajuste 04: tighten the top email block and enlarge the email text. */
.navbar .gdn-header-contact .call {
  gap: 8px;
}
.navbar .gdn-header-contact .call .info p {
  margin: 0 0 2px;
  line-height: 1.15;
}
.navbar .gdn-header-contact .call .info h5,
.navbar .gdn-header-contact .call .info h5 a {
  font-size: 15px;
  line-height: 1.2;
  margin: 0;
}
@media (min-width: 992px) and (max-width: 1250px) {
  .navbar .gdn-header-contact .call {
    gap: 6px;
  }
  .navbar .gdn-header-contact .call .info p {
    margin-bottom: 1px;
  }
  .navbar .gdn-header-contact .call .info h5,
  .navbar .gdn-header-contact .call .info h5 a {
    font-size: 13px;
  }
}


/* GDN ajuste 05: three lines on the second desktop banner, and a tighter
   label/email pair in the header without touching other site typography. */
@media (min-width: 992px) {
  .banner-style-two h2.gdn-banner-title-network {
    font-size: clamp(60px, 4.6vw, 66px);
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .banner-style-two h2.gdn-banner-title-network {
    font-size: 56px;
  }
}
.navbar .gdn-header-contact .call .info p {
  margin: 0 !important;
  line-height: 1 !important;
}
.navbar .gdn-header-contact .call .info h5 {
  margin: -2px 0 0 !important;
  font-size: 15px !important;
  line-height: 1 !important;
}
.navbar .gdn-header-contact .call .info h5 a {
  font-size: 15px !important;
  line-height: 1 !important;
}
@media (min-width: 992px) and (max-width: 1250px) {
  .navbar .gdn-header-contact .call .info h5,
  .navbar .gdn-header-contact .call .info h5 a {
    font-size: 13px !important;
  }
}


/* GDN ajuste 08: footer contact icons with generous spacing and rounded squares. */
footer .gdn-footer-description { max-width: 485px; }
footer .gdn-footer-contact-line {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}
footer .gdn-footer-contact-line > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 46px;
  min-width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 12px;
  background: rgba(255, 255, 255, .06);
  color: #fff;
  font-size: 22px;
  line-height: 1;
}
footer .gdn-footer-contact-line > span,
footer .gdn-footer-contact-line > a {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}
