a{
    text-decoration: none;
}

.mobile1200{
    display: none;
}

.mobile992{
    display: none;
}

.mobile790{
    display: none!important;
} 

.LV_validation_message{
    display: none;
}

.banner-image-wrapper {
    position: relative;
    width: 100%;
}

.gradientFilterGeral{
    width: 100%;
    height: 100%;
    position: absolute;
    background: rgba(0, 0, 0, 0.2);
    /*box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);*/
    top: 0px;
    left: 0px;
    z-index: 1;
    pointer-events: none;
}

.categoria-local-banner {
    color: rgba(255, 255, 255, 0.90);
    font-family: Inter;
    font-size: 16px;
    font-weight: 400;
    line-height: 32px;
    text-align: right;
    margin: 0;
    margin-bottom: 10px;
}

.containerTituloBase {
    position: absolute;
    z-index: 10;
}

.containerTituloBase.centered-logo {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -30%);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
}

.containerTituloBase.centered-logo img {
    height: 90px;
    width: auto;
}

/* ajax loader e modal box */
.modal-backdrop {
    background-color: #cdcdcd;
    z-index: 999999997;
}

#ajax_loader {
    position: fixed;
    left: 50%;
    top: 50%;
    z-index: 999999999;
    height: 100px;
    width: 200px;
    margin-left: -100px;
    margin-top: -50px;
    text-align: center;
}

.text-loading {
    margin-top: 20px;
    color: #3b3e42;
    font-weight: 500;
}

.modal {
    z-index: 999999998;
}

.modal-danger .modal-header {
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1;
}

.modal-danger .close {
    color: #a94442;
}

.modal-danger .modal-content {
    border-color: #ebccd1;
}

.modal-danger .modal-footer {
    border-top: 1px solid #ebccd1;
}

.modal-warning .modal-header {
    color: #8a6d3b;
    background-color: #fcf8e3;
    border-color: #faebcc;
}

.modal-warning .close {
    color: #8a6d3b;
}

.modal-warning .modal-content {
    border-color: #faebcc;
}

.modal-warning .modal-footer {
    border-top: 1px solid #faebcc;
}

.modal-info .modal-header {
    color: #31708f;
    background-color: #d9edf7;
    border-color: #bce8f1;
}

.modal-info .close {
    color: #31708f;
}

.modal-info .modal-content {
    border-color: #bce8f1;
}

.modal-info .modal-footer {
    border-top: 1px solid #bce8f1;
}

.modal-success .modal-header {
    color: #3c763d;
    background-color: #dff0d8;
    border-color: #d6e9c6;
}

.modal-success .close {
    color: #3c763d;
}

.modal-success .modal-content {
    border-color: #d6e9c6;
}

.modal-success .modal-footer {
    border-top: 1px solid #d6e9c6;
}

.modal-primary .modal-header {
    color: #fff;
    background-color: #428bca;
    border-color: #428bca;
}

.modal-primary .close {
    color: #fff;
}

.modal-primary .modal-content {
    border-color: #428bca;
}

.modal-primary .modal-footer {
    border-top: 1px solid #428bca;
}

.aCleanBreeze{
    color: #FFF;
    text-decoration: none;
}

.aCleanBreeze:hover{
    color: #FFF;
}

/* end modal box*/

#subcontent {
    float: left; 
    width: 100%;
    overflow: hidden;
}

.main_parallax_v {
    width:100%;
}

.contents_parallax_v {
    height: 100%;
}

.main_parallax_h {
    width:100%; 
    height:300px;
    position:relative; 
    overflow:hidden;
}

.contents_parallax_h {
    height: 100%;
    position: absolute;
}

.div_parallax_v {
    height: 500px;
    border: 1px solid red;
    margin-bottom: 10px;
    float:left;
}

.div_parallax_h {
    height: 350px;
    border: 1px solid red;
    margin-bottom: 10px;
    float:left;
}

/* font face use */
/*
html,
body {
    font-family:'Conv_GOTHIC',Sans-Serif;
}

@font-face {
    font-family: 'Conv_GOTHIC';
    src: url('/media/fonts/GOTHIC.eot');
    src: local('?'), url('/media/fonts/GOTHIC.woff') format('woff'), url('/media/fonts/GOTHIC.ttf') format('truetype'), url('/media/fonts/GOTHIC.svg') format('svg');
    font-weight: normal;
    font-style: normal;
}*/

/* end font face */

/* ========================================
   POLITERMICA HEADER - Hamburger Only
   ======================================== */

/* Header Container */
.header-politermica {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding: 40px 110px;
}

.header-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Logo */
.header-logo {
    display: inline-block;
    text-decoration: none;
}

.logo-img {
    width: 266px;
    height: auto;
    display: block;
}

/* Header Actions (Email + Menu buttons) */
.header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Email Button */
.email-btn {
    background: #FFF;
    border: none;
    border-radius: 19px;
    box-shadow: 0 4px 17px 0 rgba(0, 0, 0, 0.15);
    cursor: pointer;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    z-index: 3000;
    transition: opacity 0.3s ease;
    text-decoration: none;
}

.email-btn:hover {
    opacity: 0.8;
}

.email-btn svg {
    width: 24px;
    height: 24px;
}

/* Menu Button */
.menu-btn {
    background: #FFF;
    border: none;
    border-radius: 19px;
    box-shadow: 0 4px 17px 0 rgba(0, 0, 0, 0.15);
    cursor: pointer;
    padding: 10px 20px;
    font-family: "Geist", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 32px;
    color: #28282D;
    z-index: 3000;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.menu-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px 0 rgba(0, 0, 0, 0.2);
}

/* Hamburger Icon - hidden by default, shown on mobile */
.hamburger-icon {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 24px;
    height: 18px;
}

.hamburger-line {
    width: 100%;
    height: 2px;
    background-color: #28282D;
    border-radius: 2px;
    transition: all 0.3s ease;
}

/* ========================================
   SIDEBAR MENU
   ======================================== */

/* Dark Overlay */
.sidebar-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.7);
    z-index: 1999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.sidebar-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* Sidebar Menu Panel */
.sidebar-menu {
    position: fixed;
    top: 0;
    right: -400px;
    width: 400px;
    height: 100vh;
    background: #B4BD00;
    z-index: 2000;
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.3);
    transition: right 0.3s ease-in-out;
    overflow-y: auto;
}

.sidebar-menu.active {
    right: 0;
}

/* Sidebar Content */
.sidebar-content {
    padding: 40px 40px 40px;
    position: relative;
}

/* Close Button */
.sidebar-close-btn {
    position: absolute;
    top: 30px;
    right: 30px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 5px;
    z-index: 3000;
    transition: opacity 0.2s ease;
}

.sidebar-close-btn:hover {
    opacity: 0.7;
}

.close-icon {
    font-size: 40px;
    color: #fff;
    line-height: 1;
    font-weight: 300;
}

/* Menu Title */
.sidebar-menu-title {
    font-family: "Geist", sans-serif;
    font-size: 20px;
    font-weight: 400;
    color: #83872B;
    line-height: normal;
    margin: 0 0 15px 0;
}

/* Navigation */
.sidebar-nav {
    list-style: none;
    margin: 0 0 40px 0;
    padding: 0;
}

.sidebar-nav-item {
    margin-bottom: 0;
}

.sidebar-nav-link {
    display: block;
    padding: 10px 0;
    color: #FFF;
    text-decoration: none;
    font-family: "Inter", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: normal;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.sidebar-nav-link:hover {
    color: #FFF;
    transform: translateX(3px);
}

/* Social Media Section */
.sidebar-social {
    margin: 40px 0;
    padding: 25px 0;
    display: flex;
    gap: 20px;
    justify-content: flex-start;
}

.social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
    transition: opacity 0.2s ease;
}

.social-icon:hover {
    opacity: 0.7;
}

/* Contact Info Section */
.sidebar-contact {
    margin-top: 40px;
}

.sidebar-contact-title {
    font-family: "Geist", sans-serif;
    font-size: 20px;
    font-weight: 400;
    color: #83872B;
    line-height: normal;
    margin: 0 0 15px 0;
}

.sidebar-contact-item {
    font-family: "Inter", sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #FFF;
    line-height: normal;
    padding: 10px 0;
    margin: 0;
}

.sidebar-contact-item strong {
    font-weight: 600;
}

/* Prevent body scroll and blur content when sidebar is open */
body.sidebar-open {
    overflow: hidden;
}

/* Blur everything including header when sidebar opens */
body.sidebar-open #header,
body.sidebar-open .bannerHomepage,
body.sidebar-open .containerHomepage,
body.sidebar-open .containerGridHomepage,
body.sidebar-open .containerServicosHomepage {
    filter: blur(5px);
    transition: filter 0.3s ease;
}

.dropdown-menu .dropdown-item:last-child {
    padding-bottom: 0px;
}

.dropdown-menu .dropdown-item:hover {
    color: #FFF!important;
}

.dropdown-menu .dropdown-item:hover {
    color: #FFF;
}

.logotipoHeader{
	height: 100px;
}

.dropdown-menu.show{
	left: -172px;
}

/* ============================================ */
/* Footer Styles */
/* ============================================ */

#footer {
  background-color: #0D1F3A;
}

/* Main Footer Grid */
.footer-main {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.5fr;
  gap: 60px;
  margin-bottom: 0px;
  padding-bottom: 50px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* Brand Column */
.footer-brand {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.footer-logo {
  height: 55px;
  width: fit-content;
  filter: brightness(100);
}

.footer-description {
  font-family: Geist, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.7);
  margin: 0;
  max-width: 300px;
}

.footer-social {
  display: flex;
  gap: 12px;
  margin-top: 10px;
}

.footer-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: #FFFFFF;
  transition: all 0.3s ease;
}

.footer-social a:hover {
  background: #B4BD00;
  transform: translateY(-3px);
}

.footer-social svg {
  width: 18px;
  height: 18px;
}

/* Footer Columns */
.footer-column {
  display: flex;
  flex-direction: column;
}

.footer-title {
  font-family: Geist, sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #FFFFFF;
  margin: 0 0 20px 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.footer-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer-menu li a {
  font-family: Geist, sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-menu li a:hover {
  color: #B4BD00;
}

.footer-submenu {
  list-style: none;
  padding-left: 15px;
  margin-top: 8px;
}

/* Newsletter */
.footer-newsletter {
  max-width: 300px;
}

.newsletter-text {
  font-family: Geist, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.7);
  margin: 0 0 20px 0;
}

.newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.newsletter-input {
  font-family: Geist, sans-serif;
  font-size: 14px;
  padding: 12px 16px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.05);
  color: #FFFFFF;
  transition: all 0.3s ease;
}

.newsletter-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.newsletter-input:focus {
  outline: none;
  border-color: #B4BD00;
  background: rgba(255, 255, 255, 0.08);
}

.newsletter-button {
  font-family: Geist, sans-serif;
  font-size: 14px;
  font-weight: 500;
  padding: 12px 24px;
  border: none;
  border-radius: 6px;
  background: #B4BD00;
  color: #1A1A1A;
  cursor: pointer;
  transition: all 0.3s ease;
}

.newsletter-button:hover {
  background: #9DA700;
  transform: translateY(-2px);
}

/* Contact Info Bar */
.footer-contact {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-bottom: 10px;
  padding: 40px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.contact-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
}

.contact-item svg {
  color: #B4BD00;
  flex-shrink: 0;
}

.contact-item > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.contact-label {
  font-family: Geist, sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.contact-item a,
.contact-item span {
  font-family: Geist, sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #FFFFFF;
  text-decoration: none;
  line-height: 1.5;
}

.contact-item a:hover {
  color: #B4BD00;
}

/* Footer Bottom */
.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 0;
    padding-bottom: 30px;
}

.footer-bottom-left p {
  font-family: Geist, sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.6);
  margin: 0;
}

.footer-bottom-right {
  display: flex;
  align-items: center;
  gap: 30px;
}

.footer-links {
  display: flex;
  gap: 20px;
}

.footer-links a {
  font-family: Geist, sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-links a:hover {
  color: #B4BD00;
}

.footer-bottom-right > a {
  font-family: Geist, sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-bottom-right > a:hover {
  color: #B4BD00;
}

/* Responsive Design */
@media (max-width: 1024px) {
  .footer-main {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }

  .footer-contact {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

@media (max-width: 768px) {
  .footer-main {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .footer-contact {
    grid-template-columns: 1fr;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 20px;
    text-align: center;
  }

  .footer-bottom-right {
    flex-direction: column;
    gap: 15px;
  }

  .footer-links {
    flex-direction: column;
    gap: 15px;
  }
}

/* Homepage */

.containerHomepage{
	padding: 80px 110px;
    font-family: "Host Grotesk";
}

.bannerHomepage{
	position: relative;
    height: 90vh;
    overflow: hidden;
}

/* Video Background */
.videoHomepage {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

/* Uniform Opacity Overlay */
.videoOverlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.66);
    z-index: 5;
}

.bannerHomepage .textInsideBanner{
	position: absolute;
	top: 55%;
	width:100%;
	max-width: 100%;
	/*left: 30px;*/
	transform: translateY(-50%);
    color: #FFF;
    font-family: "Host Grotesk";
    font-size: 80px;
	padding: 0px 110px 0px 110px;
	line-height: 125%;
    z-index: 10;
}

/* Banner Content Structure */
.banner-content {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

/* Banner Heading */
.banner-heading {
    font-family: "Geist", sans-serif;
    font-size: 72px;
    font-style: normal;
    font-weight: 400;
    line-height: 90px;
    color: #FFF;
    margin: 0;
    max-width: 80%;
}

/* Banner Subheading */
.banner-subheading {
    font-family: "Inter", sans-serif;
    font-size: 22px;
    font-style: normal;
    font-weight: 400;
    line-height: 32px;
    color: rgba(255, 255, 255, 0.90);
    margin: 0;
    max-width: 700px;
}

.banner-subheading strong {
    font-weight: 400;
}

/* Banner Stats Row - Container for stats and CTA button */
.banner-stats-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

/* Banner Stats */
.banner-stats {
    display: flex;
    gap: 100px;
}

.banner-stat {
    display: flex;
    flex-direction: column;
    gap: 6px;
    border-left: #B4BD00 2px solid;
    padding-left: 11px;
}

.stat-number {
    font-family: "Geist", sans-serif;
    font-size: 36px;
    font-style: normal;
    font-weight: 400;
    line-height: 40px;
    color: #FFF;
}

.stat-label {
    font-family: "Inter", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    color: rgba(255, 255, 255, 0.80);
}

/* Banner CTA Button */
.banner-cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 6px 18px;
    background: #B4BD00;
    border-radius: 6px;
    font-family: "Geist", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 32px;
    color: white;
    text-decoration: none;
    transition: opacity 0.3s ease;
    width: fit-content;
}

.banner-cta:hover {
    opacity: 0.9;
}

.banner-cta svg {
    flex-shrink: 0;
}

/* ============================================ */
/* About Section Styles */
/* ============================================ */

.page-content {
    padding: 60px 0;
    background: #FFFFFF;
}

.about-section {
    width: 100%;
}

.about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start;
}

/* ============================================ */
/* Sobre Nós Grid Layout */
/* ============================================ */

.sobre-nos-grid {
    display: grid;
    grid-template-columns: 520fr 330fr 700fr;
    grid-template-rows: min-content;
    gap: 20px;
    margin-bottom: 20px;
    align-items: start;
}

.sobre-nos-grid > div:not(.sobre-nos-text-section) {
    overflow: hidden;
    align-self: stretch;
    position: relative;
}

.sobre-nos-text-section {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
}

.image-1 {
    grid-column: 2;
    grid-row: 1;
}

.image-2 {
    grid-column: 3;
    grid-row: 1;
}

/* Second row with different proportions */
.sobre-nos-grid-row-2 {
    display: grid;
    grid-template-columns: 520fr 700fr 330fr;
    gap: 20px;
    align-items: stretch;
}

.sobre-nos-grid-row-2 > div {
    height: 100%;
    min-height: 300px;
    position: relative;
}

.image-3 {
    grid-column: 1;
}

.image-4 {
    grid-column: 2;
}

.image-5 {
    grid-column: 3;
}

.sobre-nos-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 12px;
}

.sobre-nos-title {
    font-family: "Geist", sans-serif;
    font-size: 48px;
    font-weight: 600;
    line-height: 56px;
    color: #0D1F3A;
    margin: 0 0 20px 0;
}

.sobre-nos-text-box p {
    font-family: "Inter", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
    color: #666;
    margin: 0 0 16px 0;
}

/* Responsive */
@media (max-width: 1024px) {
    .sobre-nos-grid,
    .sobre-nos-grid-row-2 {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .sobre-nos-text-section {
        grid-column: 1 / -1;
    }
}

@media (max-width: 768px) {
    .sobre-nos-grid,
    .sobre-nos-grid-row-2 {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .sobre-nos-title {
        font-size: 36px;
        line-height: 44px;
    }
}

/* Left Side - Image with Overlay */
.about-image-wrapper {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: 500px;
    display: block;
}

.about-image-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 12px;
    overflow: hidden;
}

.about-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.about-gradient {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.8) 100%);
    pointer-events: none;
}

.about-image-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 40px;
    z-index: 10;
}

.about-image-content {
    margin-top: auto;
}

.about-image-title {
    font-family: "Geist", sans-serif;
    font-size: 32.876px;
    font-weight: 400;
    line-height: 39.451px;
    color: #FFF;
    margin: 0 0 8px 0;
}

.about-image-subtitle {
    font-family: Arial, sans-serif;
    font-size: 17.534px;
    font-weight: 400;
    line-height: 26.301px;
    color: rgba(255, 255, 255, 0.90);
    margin: 0;
}

.about-image-stat {
    background: rgba(40, 40, 45, 0.80);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    padding: 16px 24px;
    width: fit-content;
    position: absolute;
    top: 80px;
    right: -30px;
}

.about-image-stat-number {
    font-family: "Geist", sans-serif;
    font-size: 39.451px;
    font-weight: 600;
    line-height: 43.835px;
    color: #FFF;
    margin: 0 0 4px 0;
}

.about-image-stat-label {
    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 21.917px;
    color: #FFF;
    margin: 0;
}

/* Right Side - Content */
.about-content {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.about-heading {
    font-family: "Geist", sans-serif;
    font-size: 52.602px;
    font-weight: 400;
    line-height: 52.602px;
    color: #0D1F3A;
    margin: 0;
}

.about-heading strong {
    font-weight: 600;
}

.about-text {
    font-family: "Inter", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 30px;
    color: #666;
    margin: 0;
}

.about-stats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    margin-top: 16px;
    padding: 40px;
    border-radius: 12px;
    padding-left: 0px;
    padding-top: 10px;
}

.about-stat-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    border-left: 4px solid #0D1F3A;
    padding-left: 16px;
}

.about-stat-number {
    font-family: "Geist", sans-serif;
    font-size: 32.876px;
    font-weight: 600;
    line-height: 39.451px;
    color: #0D1F3A;
}

.about-stat-label {
    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 26.301px;
    color: #666;
}

.ondeOperamosSection h3{
    color: #DFE2E6;
    font-family: Geist;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 30px; /* 187.5% */
}

.ondeOperamosSection h2{
    color: #1A1A1A;
    font-family: Geist;
    font-size: 52.602px;
    font-style: normal;
    font-weight: 400;
    line-height: 52.602px; /* 100% */
}

.ondeOperamosSection h2 span{
    font-weight: 500;
}

/* ============================================ */
/* Generic Scroll Animations */
/* ============================================ */

/* Elements start invisible and slightly moved */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* When element is visible, fade in and move to position */
.animate-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Stagger animation handled by JavaScript setTimeout - no CSS delays needed */

/* Fade in from left */
.animate-fade-left {
    opacity: 0;
    transform: translateX(-50px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.animate-fade-left.is-visible {
    opacity: 1;
    transform: translateX(0);
}

/* Fade in from right */
.animate-fade-right {
    opacity: 0;
    transform: translateX(50px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.animate-fade-right.is-visible {
    opacity: 1;
    transform: translateX(0);
}

/* Scale up animation */
.animate-scale {
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.animate-scale.is-visible {
    opacity: 1;
    transform: scale(1);
}

/* Banner stats stagger animation - 0.3s delays */
.banner-stat.animate-fade-right:nth-child(1) {
    transition-delay: 0.3s;
}
.banner-stat.animate-fade-right:nth-child(2) {
    transition-delay: 0.6s;
}
.banner-stat.animate-fade-right:nth-child(3) {
    transition-delay: 0.9s;
}
.banner-cta.animate-fade-right {
    transition-delay: 1.2s;
}

/* ============================================ */
/* Onde Operamos Section */
/* ============================================ */

.ondeOperamosSection {
    padding: 0px 0px 80px 0;
}

.ondeOperamos-header {
    margin-bottom: 50px;
}

#clientesSection .ondeOperamos-header{
    text-align: center;
}

.ondeOperamos-subtitle {
    font-family: "Geist", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    color: #B8D12F;
    letter-spacing: 1.5px;
    margin: 0 0 12px 0;
}

.ondeOperamos-title {
    font-family: "Geist", sans-serif;
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: #0D1F3A;
    margin: 0;
}

.ondeOperamos-title span {
    font-weight: 600;
}

.ondeOperamos-description {
    color: #666;
    font-family: Inter;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px;
    margin: 20px 0 0 0;
    width: 60%;
}

/* Asymmetric Grid Layout - 4 columns total */
.ondeOperamos-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 40px;
    margin-bottom: 50px;
}

/* Featured Card - Takes 2fr (larger than others) and 2 rows (full height) */
.setor-card-featured {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
}

/* Regular Cards */
.setor-card {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.3s ease, filter 0.3s ease;
}

.setor-card:hover {
    transform: translateY(-4px);
}

/* When hovering the grid, desaturate all cards */
.ondeOperamos-grid:hover .setor-card {
    filter: grayscale(0.1) brightness(0.8);
}

/* Except the hovered card - keep it full color */
.ondeOperamos-grid:hover .setor-card:hover {
    filter: grayscale(0) brightness(1);
}

.setor-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
    height: 100%;
}

/* Image Wrapper */
.setor-image-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

/* Featured card should fill height instead of maintaining square */
.setor-card-featured .setor-image-wrapper {
    aspect-ratio: auto;
}

.setor-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    position: relative;
}

/* Animated wave effect with grayscale */
.setor-image::before {
    content: '';
    position: absolute;
    top: -100%;
    left: -100%;
    width: 300%;
    height: 300%;
    background: linear-gradient(
        45deg,
        transparent 0%,
        transparent 40%,
        rgba(255, 255, 255, 0.1) 45%,
        rgba(255, 255, 255, 0.15) 50%,
        rgba(255, 255, 255, 0.1) 55%,
        transparent 60%,
        transparent 100%
    );
    animation: wave-move 8s ease-in-out infinite;
    pointer-events: none;
    z-index: 1;
}

@keyframes wave-move {
    0% {
        transform: translate(-50%, -50%);
    }
    50% {
        transform: translate(0%, 0%);
    }
    100% {
        transform: translate(-50%, -50%);
    }
}

/* Dark Overlay */
.setor-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
    z-index: 1;
}

.setor-overlay::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.setor-card:hover .setor-overlay::after {
    opacity: 1;
}

/* Content Overlay */
.setor-content-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 0;
    padding: 30px;
}

.setor-card-featured .setor-content-overlay {
    padding: 40px;
}

/* Icon */
.setor-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    align-self: center;
    transition: transform 0.3s ease;
}

.setor-card-featured .setor-icon {
    width: 64px;
    height: 64px;
}

.setor-card:hover .setor-icon {
    transform: scale(1.1);
}

.setor-icon svg,
.setor-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Title */
.setor-title {
    font-family: "Geist", sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
    color: #FFFFFF;
    margin: 0;
    margin-top: auto;
    letter-spacing: 0.5px;
    text-align: center;
    text-transform: uppercase;
}

.setor-card-featured .setor-title {
    color: #DFE2E6;
    font-family: Geist;
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
    line-height: 30px; /* 125% */
}

/* Footer CTA */
.ondeOperamos-footer {
    display: flex;
    justify-content: flex-start;
    margin-top: 40px;
}

.ondeOperamos-cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 6px 18px;
    background: #B4BD00;
    border-radius: 6px;
    font-family: "Geist", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 32px;
    color: white;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.ondeOperamos-cta:hover {
    opacity: 0.9;
}

/* Scale all cards when hovering the CTA button */
.ondeOperamos-cta:hover ~ .ondeOperamos-grid .setor-card {
    transform: scale(1.01);
}

.ondeOperamos-footer:has(.ondeOperamos-cta:hover) ~ .ondeOperamos-grid .setor-card {
    transform: scale(1.01);
}

.ondeOperamosSection:has(.ondeOperamos-cta:hover) .setor-card {
    transform: scale(1.01);
}

.ondeOperamos-cta svg {
    transition: transform 0.3s ease;
}

.ondeOperamos-cta:hover svg {
    transform: translateX(4px);
}

/* ============================================ */
/* Portfolio Projects Carousel */
/* ============================================ */

.projects-carousel {
    margin-top: 50px;
    padding-left: 110px;
    padding-bottom: 80px;
}

/* Override TinySlider's overflow hidden to allow items to extend beyond container */
.projects-carousel .tns-outer,
.projects-carousel .tns-ovh {
    overflow: visible !important;
}

.project-card {
    position: relative;
    border-radius: 0;
    overflow: hidden;
    max-width: 500px;
    transition: transform 0.3s ease;
}

.project-card:hover {
    transform: translateY(-8px);
}

.project-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
    height: 100%;
}

.project-image-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 0;
    border-radius: 12px;
}

.project-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
    border-radius: 0;
}

.project-card:hover .project-image {
    transform: scale(1.05);
}

/* Green overlay at bottom of portfolio image */
.project-image-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #B4BD00;
    padding: 20px;
    z-index: 2;
    border-radius: 0;
    pointer-events: none;
}

.project-overlay-content {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.project-meta-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.project-category {
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    color: #FFF;
}

.project-location {
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    color: #FFF;
}

.project-client-logo {
    width: 60px;
    height: 60px;
    background: white;
    border-radius: 8px;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.project-client-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Project Status Badge */
.project-status-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 6px;
    border: 1px solid #FFF;
    background: rgba(180, 189, 0, 0.40);
    padding: 8px 16px;
    color: #FFF;
    font-family: Geist, sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    pointer-events: none;
}

.project-status-icon {
    width: 16px;
    height: 16px;
    object-fit: contain;
}

/* Dark opacity overlay for project images */
.project-image-dark-overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.6);
    pointer-events: none;
    z-index: 1;
}

.project-title {
    font-family: Geist, sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    color: #FFF !important;
    margin: 0;
    text-align: left;
}

.project-location {
    font-family: "Geist", sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 18px;
    color: #FFFFFF;
    margin: 0;
    opacity: 0.9;
}

/* Responsive Styles */
@media (max-width: 1024px) {
    .about-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .about-image-container {
        min-height: 400px;
    }

    .about-heading {
        font-size: 40px;
        line-height: 48px;
    }

    /* Onde Operamos - 2 columns on tablets */
    .ondeOperamos-grid {
        grid-template-columns: 1fr 1fr;
    }

    .setor-card-featured {
        grid-column: 1 / 2;
        grid-row: 1 / 3;
    }

    .setor-card-featured .setor-image-wrapper {
        min-height: 440px;
    }

    .ondeOperamos-title {
        font-size: 40px;
        line-height: 48px;
    }
}

@media (max-width: 768px) {
    .page-content {
        padding: 80px 0;
    }

    .about-image-container {
        min-height: 350px;
    }

    .about-image-overlay {
        padding: 24px;
    }

    .about-heading {
        font-size: 32px;
        line-height: 40px;
    }

    .about-text {
        font-size: 16px;
        line-height: 24px;
    }

    .about-stats-grid {
        padding: 24px;
        gap: 24px;
    }

    /* Onde Operamos - 2 columns on mobile */
    .ondeOperamos-grid {
        grid-template-columns: 1fr 1fr;
    }

    .setor-card-featured {
        grid-column: 1 / 3;
        grid-row: auto;
    }

    .setor-card-featured .setor-image-wrapper {
        min-height: 300px;
    }

    .setor-image-wrapper {
        min-height: 200px;
    }

    .ondeOperamosSection {
        padding: 60px 0;
    }

    .ondeOperamos-title {
        font-size: 32px;
        line-height: 40px;
    }

    .setor-content-overlay {
        top: 0;
        left: 0;
        right: 0;
        height: 80%;
        justify-content: center;
        align-items: center;
        gap: 12px;
        padding: 20px;
    }

    .setor-card-featured .setor-content-overlay {
        /* padding: 30px; */
    }

    .setor-icon {
        width: 36px;
        height: 36px;
        flex: none;
    }

    /* Portfolio carousel on mobile */
    .project-title {
        font-size: 18px;
        line-height: 24px;
    }

    .project-client-logo {
        width: 50px;
        height: 50px;
    }
}

@media (max-width: 480px) {
    /* Onde Operamos - 1 column on small mobile */
    .ondeOperamos-grid {
        grid-template-columns: 1fr;
    }

    .setor-card-featured {
        grid-column: 1;
    }

    .ondeOperamos-title {
        font-size: 28px;
        line-height: 36px;
    }
}

.textInsideBanner button{
	color: #FFF;
    font-family: "Host Grotesk";
    font-size: 18px;
	background: #1E1E1E;
	padding: 5px 18px;
	border: none;
	margin-top: 20px;
	border-radius: 5px;
	line-height: normal;
}

section {
  position: relative;
  width: 100%;
  height: 100%;
}

/* Removed global section::after gradient - was applying to all sections */

.demo a {
  position: absolute;
  bottom: 20px;
  left: 50%;
  z-index: 2;
  display: inline-block;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #fff;
  font : normal 400 20px/1 'Josefin Sans', sans-serif;
  letter-spacing: .1em;
  text-decoration: none;
  transition: opacity .3s;
}
.demo a:hover {
  opacity: .5;
}

#section03{
	position: relative;
    z-index: 1;
}

#section03 a {
  padding-top: 60px;
}

#section03 a span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 46px;
  height: 46px;
  margin-left: -23px;
  border: 1px solid #fff;
  border-radius: 100%;
  box-sizing: border-box;
}

#section03 a span::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: '';
  width: 16px;
  height: 16px;
  margin: -12px 0 0 -8px;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  box-sizing: border-box;
}

#section03 a span::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  content: '';
  width: 44px;
  height: 44px;
  box-shadow: 0 0 0 0 rgba(255,255,255,.1);
  border-radius: 100%;
  opacity: 0;
  -webkit-animation: sdb03 3s infinite;
  animation: sdb03 3s infinite;
  box-sizing: border-box;
}

@-webkit-keyframes sdb03 {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  60% {
    box-shadow: 0 0 0 60px rgba(255,255,255,.1);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes sdb03 {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  60% {
    box-shadow: 0 0 0 60px rgba(255,255,255,.1);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

.containerServicosHomepage{
	display: grid;
  	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 80px;
}

.servicoHomepage{
	color: #1085B7;
    font-family: "Host Grotesk";
    font-size: 28px;
    font-style: normal;
    font-weight: 500;
	cursor: none;
}

/* Custom cursor styling */
.custom-cursor {
    position: fixed; /* Cursor follows the viewport */
    width: 75px; /* Size of your custom cursor */
    height: 30px;
    background: url('/media/images/cursorcleanbreeze2.png') no-repeat center center;
    background-size: cover;
    pointer-events: none; /* Ensure it doesn't block interaction */
    opacity: 0; /* Start hidden */
    transform: translate(-50%, -50%) scale(0.8); /* Center and shrink the cursor */
    transition: transform 0.2s ease-out, opacity 0.3s ease; /* Smooth appearance animation */
}

/* Animation for cursor on hover */
.servicoHomepage:hover ~ .custom-cursor {
    opacity: 1; /* Make the custom cursor visible */
    transform: translate(-50%, -50%) scale(1); /* Scale it back to normal size */
}

.otherServicesDetail:hover ~ .custom-cursor {
    opacity: 1; /* Make the custom cursor visible */
    transform: translate(-50%, -50%) scale(1); /* Scale it back to normal size */
}

/* Extra pop animation (optional) */
@keyframes cursorPop {
    0% {
        transform: translate(-50%, -50%) scale(0.5);
        opacity: 0;
    }
    50% {
        transform: translate(-50%, -50%) scale(1.2);
        opacity: 0.7;
    }
    100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }
}

.servicoHomepage img{
	height: 170px;
}

.tituloServicoHomepage{
	margin-top: 20px;
    text-decoration: none!important;
}

.textoServicoHomepage{
    margin-top: 20px;
	color: #000;
    font-family: "Host Grotesk";
    font-size: 16px;
    font-weight: 300;
}

.ctaPedirOrcamento{
	color: #FFF;
    font-family: "Host Grotesk";
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 105%;
    border-radius: 5px;
    background: #1E1E1E;
    padding: 15px 35px;
    text-align: center;
    width: fit-content;
    margin-inline: auto;
	margin-top: 60px;
	cursor: pointer;
}

.containerGridHomepage{
	display: grid;
  	grid-template-columns: 5fr 4fr 5fr;
}

.containerGridHomepage div{
	background-size: cover;
	background-repeat: no-repeat;
	color: #FFF;
    font-family: "Host Grotesk";
    font-size: 30px;
    font-style: normal;
    font-weight: 500;
	background-position: center;
}

.containerGridHomepage div h2{
    font-size: 30px;
    font-style: normal;
    font-weight: 500;
}

#textoCleanBreezeHomepage{
	color: #FFF;
    font-family: "Host Grotesk";
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 140%;
}

.containerGridHomepage > div{
	padding: 30px 40px;
	position: relative;
}

.containerGridHomepage > div:first-child {
	padding-left: 110px;
}

.ctaHomepage{
	color: #FFF;
    font-family: "Host Grotesk";
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 105%;
    border-radius: 5px;
    padding: 10px 50px;
    text-align: center;
    width: fit-content;
	margin-top: 40px;
    margin-bottom: 10px;
    border: none;
    position: absolute;
    bottom: 30px;
}

.containerGridHomepage div:first-child .ctaHomepage {
	position: static;
}

.h2Home{
	color: #1E1E1E;
    font-family: "Host Grotesk";
    font-size: 30px;
    font-style: normal;
    font-weight: 500;
    line-height: 105%; /* 31.5px */
	margin-bottom: 60px;
}

/* Carousel */

.carousel-cell{
    height: 380px;
    width: 600px;
}

.carousel-cell-bloco{
    height: 100%;
    width: 90%;
    background-size: cover;
    background-position: center;
    filter: brightness(0.9);
}

.titleBlockNewHomepage{
  position: absolute;
  bottom: 0px;
  color: white;
  font-family: 'Metropolis', sans-serif;
  font-size: 16px;
  width: 100%;
  display: flex;
  text-transform: uppercase;
}

.titleBlockNewHomepage div:first-child{
    width: 70%;
    padding-left: 25px;
    padding-bottom: 25px;
}

.titleBlockNewHomepage div:nth-child(2){
    width: 30%;
}

.titleBlockNewHomepage div:nth-child(2) i{
    width: 100%;
    text-align: right;
}

.fa-chevron-right:before {
    padding-right: 25px;
    font-size: 15px;
    transform: translateY(-10px);
}

.gradientFilterNewHomepage{
    width: 100%;
    height: 100%;
    background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.3));
    transition: opacity 0.2s ease-in-out;
}

/* Animation for cursor on hover */
.gradientFilterNewHomepage:hover ~ .custom-cursor {
    opacity: 1; /* Make the custom cursor visible */
    transform: translate(-50%, -50%) scale(1); /* Scale it back to normal size */
}


.flickity-viewport {
    overflow: visible!important;
}

.flickity-button{
    border-radius: 0px!important;
    background-color: white!important;
    top: -90px!important;
    margin-top: 30px;
}

.flickity-button:hover{
    background-color: #1085B7!important;
}

.flickity-button:hover svg{
    color: white;
}

.previous{
    right: 50px!important;
    left: unset!important;
}

.hoverNewHome{
    cursor: pointer;
}

/* Animação de "salto" da seta */
.hoverNewHome:hover .titleBlockNewHomepage {
    animation: bounce 0.45s ease-in-out;
}

.hoverNewHome:hover .gradientFilterNewHomepage{
    opacity: 0;
}

/* Definindo o efeito de salto */
@keyframes bounce {
    0%, 100% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(10px);
    }
}

.noticia-cell{
    height: 400px;
}

.containerListNews{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
}

.containerListNewsHome{
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
}

.titleNewHomepage{
	color: #1E1E1E;
    font-family: "Host Grotesk";
    font-size: 22px;
    font-style: normal;
    font-weight: 400;
    line-height: 105%; /* 23.1px */
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}

.dataNewHomepage{
	color: #1E1E1E;
    font-family: "Host Grotesk";
    font-size: 14px;
    font-style: normal;
	text-decoration: none;
    font-weight: 300;
    line-height: 105%;
	margin-top: 10px;
	margin-bottom: 15px;
}

/* Base */

.containerTituloBase{
	color: #FFF;
    font-family: "Geist", sans-serif;
    font-size: 60px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -20%);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.containerTituloBase span{
    font-weight: 500;
}

.containerTituloBase .titulo-wrapper {
    display: grid;
    grid-template-columns: minmax(0, max-content);
    justify-items: flex-start;
    justify-self: center;
    margin: 0 auto;
    max-width: 100%;
    width: fit-content;
}

.containerTituloBase .titulo-wrapper.vagas-page {
    justify-items: center;
}

.containerTituloBase h1{
	color: #FFF;
    font-family: "Geist", sans-serif;
    font-size: 60px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
	padding: 0px;
    text-align: center;
    margin: 0;
    max-width: 90vw;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.containerTituloBase h2{
	color: rgba(255, 255, 255, 0.90);
    font-family: Inter;
    font-size: 22px;
    font-style: normal;
    font-weight: 400;
    line-height: 32px; /* 145.455% */
    text-align: left;
    padding: 0px;
    margin: 0 0 10px 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.containerTituloBase .titulo-wrapper.vagas-page h2 {
    text-align: center;
    width: 75%;
}

.tituloBaseH2{
	color: #000;
    font-family: "Host Grotesk";
    font-size: 38px;
    font-style: normal;
    font-weight: 700;
    line-height: 105%; /* 39.9px */
	margin-bottom: 40px;
}

.tabelaQuemSomos{
	color: #000;
    font-family: "Host Grotesk";
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 140%; /* 25.2px */
}

.tabelaQuemSomos td:nth-child(1){
    padding-right: 40px;
}

.tabelaQuemSomos td:nth-child(2){
    padding-left: 40px;
}

/* Grid Layout */
.grid1QuemSomos {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr; 
    gap: 50px;
    justify-content: center;
}

.grid3QuemSomos {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 70px;
    justify-content: center;
}

.textoQuemSomosClean{
    display: grid;
    grid-template-columns: 1fr;
    gap: 70px;
}

.flexQuemSomos{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    margin-bottom: 90px;
}

/* Styling for each block */
.blocoQuemSomos {
    background-color: #FFF;
    filter: drop-shadow(0px 9px 39.9px rgba(51, 51, 51, 0.15)); 
    color: #1085B7;
    font-family: "Host Grotesk", sans-serif;
    font-size: 26px;
    font-weight: 700;
    line-height: 140%; /* 36.4px */
    
    /* Improved Styles */
    padding: 20px;
    padding-bottom: 0px;
    border-radius: 10px;
    text-align: center;
    transition: all 0.3s ease-in-out;
    cursor: pointer;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Click effect */
.blocoQuemSomos.active {
    background-color: #1085B7;
    color: #FFF;
    transform: translateY(-5px);
    padding-bottom: 20px;
}

/* Smooth transition for hover and click */
.blocoQuemSomos {
    transition: background-color 0.3s, transform 0.3s, color 0.3s, padding 0.3s;
}

/* Hidden text block (smooth open/close) */
.textoValorQuemSomos {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.4s ease-in-out, opacity 0.3s ease-in-out;
}

/* When active, reveal text */
.blocoQuemSomos.active .textoValorQuemSomos {
    max-height: 500px; /* Adjust if needed */
    opacity: 1;
    padding-top: 10px;
}

/* Icon inside blocoQuemSomos */
.icon {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 35px;
    height: 35px;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
    transition: transform 0.4s;
}

/* Rotate icon when bloco is clicked */
.icon.active {
    transform: rotate(180deg);
}

/* Text inside blocoQuemSomos */
.textoValorQuemSomos {
    color: white;
    font-family: "Host Grotesk";
    font-size: 18px;
    font-weight: 300;
    margin-top: 20px;
    line-height: 140%; /* 25.2px */
}

.subtituloQuemSomos{
    color: #1085B7;
    font-family: "Host Grotesk";
    font-size: 26px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%; /* 36.4px */
}

.timelineContainer{
    padding-left: 110px;
    min-height: 150px;
}

.timelineLine{
    width: 100%;
    background-color: #1085B7;
    height: 6px;
    margin-top: 90px;
}

.marcos{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-right: 30px;
    padding-left: 80px;
    min-width: 900px;
}

.marcosMobile{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-right: 30px;
    padding-left: 80px;
    min-width: 1140px;
}

.marcoTimeline{
    background-color: #1085B7;
    width: 80px;
    height: 80px;
    border-radius: 100%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFF;
    font-family: "Host Grotesk";
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%; /* 30.8px */
    transition: background-color ease-in-out 0.2s;
    cursor: pointer;
    z-index: 100;
}

.marcoTimelineMobile{
    background-color: #1085B7;
    width: 80px;
    height: 80px;
    border-radius: 100%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFF;
    font-family: "Host Grotesk";
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%; /* 30.8px */
    transition: background-color ease-in-out 0.2s;
    cursor: pointer;
    z-index: 100;
}

.marcoTimeline.active{
    background-color: #C6C850;
}

.marcoTimelineMobile.active{
    background-color: #C6C850;
}

.marcoTimeline:hover{
    background-color: #C6C850;
}

.marcoTimelineMobile:hover{
    background-color: #C6C850;
}

.marcoOdd{
    transform: translateY(20px);
}

.marcoBy{
    transform: translateY(-100px);
}

.marcoMais {
    transform: translateY(-70px);
    color: #333;
    font-family: "Host Grotesk";
    font-size: 26px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%; /* 36.4px */
}

.questaoFooter{
    position: absolute;
    top: 60%;
    left: 50%;
    transform:translate(-50%, -50%);
    color: #FFF;
    font-family: "Host Grotesk";
    font-size: 80px;
    font-style: normal;
    font-weight: 400;
    line-height: 105%; /* 84px */
    text-align: center;
    width: 90%;
}

.popupTimeline{
    border-radius: 0px 5px 5px 5px;
    background: #FFF;
    box-shadow: 0px 9px 39.9px 0px rgba(51, 51, 51, 0.15);
    padding: 30px;
    position: absolute;
    color: #000;
    font-family: "Host Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 300;
    line-height: 140%; /* 19.6px */
    width: 370px;
    display: none;
    z-index: 999;
}

.popupTimelineImg{
    margin-bottom: 10px;
    box-shadow: 0px 9px 39.9px 0px rgba(51, 51, 51, 0.15);
}

.popupTimelineMobile{
    border-radius: 0px 5px 5px 5px;
    background: #FFF;
    box-shadow: 0px 9px 39.9px 0px rgba(51, 51, 51, 0.15);
    padding: 30px;
    color: #000;
    font-family: "Host Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 300;
    line-height: 140%; /* 19.6px */
    width: 370px;
    z-index: 999;
    display: none;
    margin-inline: auto;
}

.popupTimelineMobile::before{
    content: '';
}

.popupTimelineImgMobile{
    margin-bottom: 10px;
    box-shadow: 0px 9px 39.9px 0px rgba(51, 51, 51, 0.15);
}

.popupOdd{
    transform: translateY(-270px);
}

.popupBy{
    transform: translateY(270px);
}

/* Serviços */

.tituloBaseServicos{
    color: #000;
    font-family: "Host Grotesk";
    font-size: 38px;
    font-style: normal;
    font-weight: 700;
    line-height: 105%; /* 39.9px */
}

.containerServicos{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
}

.outrosServicos{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 100px;
    /*overflow-y: scroll;*/
}

.outrosServicosTitulo{
    color: #1085B7;
    font-family: "Host Grotesk";
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: 105%; /* 33.6px */
    margin-bottom: 70px;
}

.tituloOutroServico{
    min-height: 2lh;
}

.otherServicesDetail{
    color: #1085B7;
    font-family: "Host Grotesk";
    font-size: 28px;
    font-style: normal;
    font-weight: 500;
    cursor: none;
}

.otherServicesDetail img{
	height: 170px;
}

.eachOtherService{
    background-color: #FFF;
    filter: drop-shadow(0px 9px 39.9px rgba(51, 51, 51, 0.15));
    border-radius: 10px;
    padding: 30px;
    height: fit-content;
}

/* Portfólio */

.portfolioDescription{
    color: #000;
    font-family: "Host Grotesk";
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 140%; 
    width: 60%;
}

.listProjetos{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 60px;
    margin-top: 30px;
}

.tituloProjeto{
    color: #1E1E1E;
    font-family: "Host Grotesk";
    font-size: 22px;
    font-style: normal;
    font-weight: 400;
    line-height: 105%; /* 23.1px */
    margin-top: 20px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

.filtrosPortfolio{
    display: flex;
    gap: 40px;
    margin-top: 10px;
    margin-bottom: 60px;
}

.filtrosPortfolio select{
    width: 300px;
}

.portfolioPesquisarInput{
    width: 300px;
}

/* Contactos */

.btnSubmit12{
    /*float: right;*/
}

.containerContactosMapaTitulo{
    display: grid;
    grid-template-columns: 10fr 12fr;
    gap: 60px;
    margin-bottom: 80px;
}

.contactosIframe{
    width: 100%;
}

.tituloContactos{
    color: #1E1E1E;
    font-family: "Host Grotesk";
    font-size: 80px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%; /* 96px */
}

.textoContactos{
    color: #000;
    font-family: "Host Grotesk";
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: 140%;
}

.containerHomepage .containerContactosMapaTitulo:last-child{
    margin-top: 40px;
}

.formularioDeContacto .labels_form{
    color: #1E1E1E;
    font-family: "Host Grotesk";
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 105%; /* 23.1px */
    margin-bottom: 10px;
}

.formularioDeContacto .inputs_form input{
    border: 0px;
    border-bottom: 1px solid black;
}

.formularioDeContacto .inputs_form textarea{
    border: 0px;
    border-bottom: 1px solid black;
}

.formularioDeContacto .inputs_form select{
    border: 0px;
    border-bottom: 1px solid black;
}

.form-control{
    border-radius: 0px;
}

.inputFormCheck11, .inputFormCheck12 {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
    align-items: center;
}

.inputFormCheck11{
    color: #FFF;
    font-family: "Host Grotesk";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 155.859%; /* 18.703px */
}

.inputFormCheck12{
    color: #000;
    font-family: "Host Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 300;
    line-height: 100%; /* 14px */
    margin-top: 10px;
    margin-bottom: 30px;
}

.inputFormCheck11 input[type="checkbox"] {
    appearance: none; 
    width: 16px;
    height: 16px;
    border: 2px solid white; 
    background-color: transparent; 
    position: relative;
}

.inputFormCheck11 input[type="checkbox"]::before {
    content: '✔'; 
    font-size: 14px;
    color: white; 
    position: absolute;
    top: 0;
    left: 2px;
    display: none;
    transform: translateY(-4px);
}

.inputFormCheck11 input[type="checkbox"]:checked::before {
    display: block; 
}


/* Faqs */

.containerFaqs{
    padding-left: 200px;
    padding-right: 200px;
}

.eachFaq{
    width: 100%;
    border-radius: 10px;
    border: 1px solid #8C8C8C;
    background: #F0F0F0;
    color: #1E1E1E;
    font-family: "Host Grotesk";
    font-size: 32px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%; /* 38.4px */
    padding: 23px 30px;
    margin-top: 30px;
}

.tituloFaqs{
    color: #1E1E1E;
    text-align: center;
    font-family: "Host Grotesk";
    font-size: 80px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%; /* 96px */
}

.subtituloFaqs{
    color: #000;
    text-align: center;
    font-family: "Host Grotesk";
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: 140%; /* 22.4px */
    width: 35%;
    margin: auto;
    margin-top: 50px;
    margin-bottom: 50px;
}

.textEachFaq{
    margin-top: 20px;
    color: #000;
    font-family: "Host Grotesk";
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: 160%; /* 22.4px */
}

.faq-icon{
    float: right;
    cursor: pointer;
}

.faqsPadding{
    padding-left: 90px;
    padding-right: 90px;
}

/* Recrutamento */
.containerRecrutamento{
    width: 60%
}

.hrRecrutamento{
    background-color: black;
    height: 2px!important;
    opacity: 1;
}

.posicaoIndi{
    margin-bottom: 80px;
}

.posicaoIndi:last-child{
    margin-bottom: 0px;
}

.posicaoTitleList{
    color: #000;
    font-family: "Host Grotesk";
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: 105%; /* 33.6px */
}

.posicaoCaptionList{
    color: #000;
    font-family: "Host Grotesk";
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 140%; /* 25.2px */
}

.posicaoLocalList{
    margin-top: 20px;
    color: #000;
    font-family: "Host Grotesk";
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 140%; /* 25.2px */
}

.ctaRecrutamento{
    color: #FFF;
    font-family: "Host Grotesk";
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 105%;
    border-radius: 5px;
    padding: 10px 30px;
    text-align: center;
    width: fit-content;
    margin-top: 10px;
    border: none
}

.buttonsContainer{
    padding-top: 0px!important;
    gap: 30px;
    display: flex;
}

/* Table Overflow */

.paginas_container .table_overflow {
    display: block;
    width: 100%;
    overflow: auto
}

.paginas_container .table_overflow table {
    width: 100% !important;
    min-width: 600px;
    table-layout: fixed;
    border-bottom: 0;
    border-collapse: collapse
}

.paginas_container .table_overflow table thead td {
    font-weight: bold;
    color: #fff
}

.paginas_container .table_overflow table thead td.cor_op_1 {
    background-color: #14a6c1
}

.paginas_container .table_overflow table thead td.cor_op_05 {
    background-color: rgba(20,166,193,0.5)
}

.paginas_container .table_overflow table td {
    width: 22% !important;
    padding: 15px 10px;
    font-size: 14px
}

.paginas_container .table_overflow table td:last-child {
    border-right: 0
}

.paginas_container .table_overflow table td:nth-child(3) {
    width: 40% !important
}

.paginas_container .table_overflow table tbody tr {
    position: relative
}

.paginas_container .table_overflow table tbody tr td.cor2_op_05 {
    background-color: rgba(20,166,193,0.06)
}

.paginas_container .table_overflow table tbody tr td.cor2_op_1 {
    background-color: rgba(20,166,193,0.25)
}

.paginas_container .table_overflow table tbody tr.cor3_op td.cor2_op_05 {
    background-color: rgba(20,166,193,0.01)
}

.paginas_container .table_overflow table tbody tr.cor3_op td.cor2_op_1 {
    background-color: rgba(20,166,193,0.2)
}

/* Notícias */

.imagemNoticias{
    aspect-ratio: 1/1;
    object-fit: cover;
}

.ctaVoltarNews{
    position: fixed;
    top: 50%;
    padding: 10px 15px;
    left: 60px;
    z-index: 999;
    cursor: pointer;
}

/* Detalhes Projeto */

    /* Ensure the slider is placed in the left column */
    .swiper-container-wrapper {
        grid-column: 1; /* Places the slider in the left column */
        width: 50%;
        max-width: 800px;
        float: left;
        padding-right: 40px;
        padding-bottom: 40px;
    }

    /* Main slider */
    .swiper-main {
        width: 100%;
        height: 400px;
        border-radius: 10px;
        overflow: hidden;
    }

    .swiper-main .swiper-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    /* Thumbnail slider */
    .swiper-thumbs {
        width: 100%;
        height: 100px; /* Adjust thumbnail height */
        margin-top: 50px;
    }

    .swiper-thumbs .swiper-slide {
        width: 100px; /* Adjust thumbnail width */
        height: 100%;
        opacity: 0.6;
        cursor: pointer;
        border-radius: 5px;
        overflow: hidden;
    }

    .swiper-thumbs .swiper-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .swiper-thumbs .swiper-slide-thumb-active {
        opacity: 1;
        border: 2px solid #007bff;
    }

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
    content: 'next';
    color: white;
    transform: scale(0.5);
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
    content: 'next';
    color: white;
    transform: scale(0.5);
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
    content: 'prev';
    color: white;
    transform: scale(0.5);
}

.imagemLogotipoPortfolio{
    box-shadow: rgba(0, 0, 0, 0.35) 0px 2px 7px;
    margin-bottom: 30px;
    max-width: 450px;
    max-height: 220px;
}

.containerDetailProjeto::after{
    content:"";
    clear: both;
    display: table;
}

.imagemSolo{
    width: 50%;
    padding-right: 40px;
    float: left;
}

/* Paginator */

.paginatorBlock{
    margin-top: 20px;
    align-items: center;
    justify-content: center;
    display: flex;
}

.paginatorBlock svg{
    filter: brightness(0);
}

.paginatorBlock a{
    color: black;
}

.paginatorBlock .current{
    color: white;
    background-color: #1085B7;
}

.paginationNumber, .current{
    padding: 3px 10px;
}

.bannerBaseImg{
    height: 490px;
    object-fit: cover;
    object-position:top;
}


#label_element_68 label{
    color: #666;
    font-family: Inter;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 14px; /* 87.5% */
}

#label_element_70 label{
    color: #666;
    font-family: Inter;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 14px; /* 87.5% */
}

#label_element_73 label{
    color: #666;
    font-family: Inter;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 14px; /* 87.5% */
}

#element_68, #element_70, #element_73{
    border-radius: 8px;
    background-color: #F3F3F5;
    margin-top: 10px;
}

.containerNossosServicos{
    width: 50%;
}

.nossosServicosTitle{
    color: #1A1A1A;
    font-family: Geist;
    font-size: 52.602px;
    font-style: normal;
    font-weight: 400;
    line-height: 52.602px; /* 100% */
    margin-bottom: 20px;
}

.nossosServicosTitle span{
    font-weight: 600;
}

.nossosServicosDescription{
    color: #666;
    font-family: Inter;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px; /* 187.5% */
    margin-bottom: 20px;
}

.servicoh1Title{
    color: #FFF;
    text-align: center;
    font-family: Geist;
    font-size: 60px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

#containerDetalheServico{
    max-width: 1200px;
}

a:hover {
    color: white;
}

.tituloPortfolio{
    color: #1A1A1A;
    font-family: Geist;
    font-size: 52.602px;
    font-style: normal;
    font-weight: 400;
    line-height: 52.602px; /* 100% */
}

.tituloPortfolio span{
    font-weight: 600;
}

.subtituloPortfolio{
    margin-top: 20px;
    width:50%;
    color: #666;
    font-family: Inter;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px; /* 187.5% */
}

/******************************   media queries   ******************************/

@media (max-width: 1300px){

	.bannerHomepage .textInsideBanner {
		font-size: 70px;
	}

	.containerTituloBase h1{
		font-size: 70px;
	}

    .questaoFooter{
        font-size: 70px;
    }
    
}

@media (max-width: 1200px){

    .timelineContainer {
        padding-left: 70px;
        min-height: 150px;
    }

    .textoQuemSomosClean{
        display: grid;
        grid-template-columns: 1fr;
        gap: 60px;
        margin-bottom: 60px;
    }

	.bannerHomepage .textInsideBanner {
		font-size: 60px;
	}

	.containerTituloBase h1{
		font-size: 48px;
	}

    .mobile1200{
        display: block;
    }

    .questaoFooter{
        font-size: 60px;
    }

    .bannerBaseImg{
		height: 40vh;
		object-fit: cover;
	}

    .containerRecrutamento{
        width: 70%;
    }
    
}

@media (max-width: 1100px) {

	.containerGridHomepage > div:first-child {
        padding-left: 70px;
    }

    .containerHomepage {
        padding: 80px 70px;
    }

    .projects-carousel {
        padding-left: 70px;
    }

    .contact-container {
        padding: 80px 70px;
    }

	.bannerHomepage .textInsideBanner {
		padding-left: 70px;
	}

	.header-politermica {
		padding: 40px 70px;
	}

	.containerServicosHomepage {
        grid-template-columns: 1fr 1fr;
    }

	.containerGridHomepage {
        grid-template-columns: 1fr;
    }

	.containerGridHomepage > div {
        min-height: 40vh;
    }

    .containerServicos{
        grid-template-columns: 1fr;
    }

    .outrosServicos {
        gap: 60px;
        grid-template-columns: 1fr;
    }
    
    
}

@media (max-width: 992px){

    .btnSubmit12{
        float: none;
        margin-top: 20px;
    }

    .containerHomepageVisaoFlex{
        padding-bottom: 0px!important;
    }

    .mobile992{
        display: block;
    }

    .desktop992{
        display: none;
    }

    .containerFaqs{
        padding-left: 0px;
        padding-right: 0px;
    }

    .subtituloFaqs{
        width: 100%;
    }

    .timelineLine{
        width: fit-content;
    }

    .timelineContainer{
        overflow-y: auto;
        padding-top: 0px;
        padding-bottom: 130px;
        position: relative;
        
    }

    .containerDetailProjeto{
        grid-template-columns: 1fr;
    }

	.containerFooter{
        display: grid;
        grid-template-columns: 1fr;
    }

	.menu1Footer{
        margin-top: 30px;
    }

	.bottomFooter{
		display: grid;
        grid-template-columns: 1fr;
	}

	.bottomFooter div:nth-child(1) {
		justify-content: center;
		margin-bottom: 20px;
	}

	.bottomFooter div:nth-child(3) {
		justify-content: center;
		margin-top: 20px;
	}

	.containerTituloBase{
		bottom: 30px;
	}

    .tabelaQuemSomos td:nth-child(1) {
        padding-right: 0px;
        display: block;
    }

    .tabelaQuemSomos td:nth-child(2) {
        padding-left: 0px;
        display: block;
    }

    .grid3QuemSomos{
        grid-template-columns: 1fr;
    }

    .tabelaQuemSomos {
        display: block;
        width: 100%;
    }

    .tabelaQuemSomos tbody {
        display: block;
        width: 100%;
    }

    .tabelaQuemSomos tr {
        display: block;
        width: 100%;
        margin-bottom: 20px; /* Adds space between rows */
    }

    .tabelaQuemSomos td {
        display: block;
        width: 100%;
        padding: 10px 0; /* Adjust padding for spacing */
    }

    /* Sidebar menu responsive - wider on mobile */
    .sidebar-menu {
        width: 80%;
        right: -80%;
    }

    .sidebar-content {
        padding: 60px 30px 30px;
    }

    .sidebar-nav-link {
        font-size: 20px;
        padding: 15px 0;
    }

    .tituloFaqs{
        font-size: 32px;
    }
    
    .filtrosPortfolio{
        flex-direction: column;
    }

    .listProjetos {
        grid-template-columns: 1fr 1fr;
    }

    .containerContactosMapaTitulo{
        grid-template-columns: 1fr;
        margin-bottom: 0px;
    }

    .tituloContactos{
        order: 1;
    }

    .formularioDeContacto{
        order: 2;
    }

    .contactosIframe{
        order: 3;
    }

    .textoContactos{
        order: 4;
    }

    .grid1QuemSomos{
        grid-template-columns: 1fr;
    }

    .flexQuemSomos{
        grid-template-columns: 1fr;
        margin-bottom: 60px;
    }
    
    .textoQuemSomosClean{
        margin-bottom: 0px;;
    }
}
    
@media (max-width: 880px) {

    .containerListNews {
        grid-template-columns: 1fr;
    }

    .swiper-container-wrapper {
        width: 100%;
    }

    .swiper-container-wrapper {
        clear: both;
        padding-right: 0px;
    }

    .imagemSolo{
        clear: both;
        padding-right: 0px;
    }
    
}
        
@media (max-width: 790px) {
    .div_ele {
        width: 100% !important;
    }

	.bannerHomepage .textInsideBanner {
        font-size: 40px;
    }

	.mobile790{
        display: grid!important;
    }

	.desktop790{
        display: none;
    }

	.containerTituloBase h2 {
		color: rgba(255, 255, 255, 0.90);
		text-align: center;
		font-family: Inter;
		font-size: 15px;
		font-style: normal;
		font-weight: 400;
		line-height: normal;
	}

	.containerTituloBase h1 {
		color: #FFF;
		text-align: center;
		font-family: Geist;
		font-size: 28px;
		font-style: normal;
		font-weight: 600;
		line-height: normal;
		width: 100%;
		max-width: 90vw;
		word-wrap: break-word;
		overflow-wrap: break-word;
	}

	.containerTituloBase .titulo-wrapper {
		justify-items: center;
	}

	.nossosServicosTitle {
		font-size: 26px;
		line-height: 52.602px;
		margin-bottom: 0px;
	}

	.nossosServicosDescription {
		font-size: 14px;
		line-height: 25px;
	}

	.tituloPortfolio {
		font-size: 26px;
		line-height: 52.602px;
		width: 100%;
		max-width: 100%;
	}

	.subtituloPortfolio {
		font-size: 14px;
		line-height: 25px;
		width: 100%;
		max-width: 100%;
	}

    .questaoFooter{
        font-size: 40px;
    }

    .containerRecrutamento{
        width: 100%;
    }

}

@media (max-width: 1200px) {
	.banner-heading {
		font-size: 48px;
	}

	.banner-subheading {
		font-size: 18px;
	}

	.stat-number {
		font-size: 28px;
	}

	.stat-label {
		font-size: 12px;
	}

	.banner-stats {
		gap: 60px;
	}
}

@media (max-width: 900px) {
	.banner-heading {
		font-size: 36px;
	}

	.banner-subheading {
		font-size: 16px;
	}

	.stat-number {
		font-size: 22px;
	}

	.stat-label {
		font-size: 10px;
	}

	.banner-stats {
		gap: 45px;
	}
}

@media (max-width: 680px) {
    .containerTituloBase{
        transform: translate(-50%, 0%);
    }
    .clientesContainerHomepage{
        padding-top: 50px!important;
    }
    .ondeOperamosContainer{
        padding-bottom: 90px!important;
    }
    .ondeOperamosSection{
        padding: 0px;
    }
    .page-content {
        padding: 0px 0;
    }

    #produtos_responsive {
        display: block;
    }

    #tabela_loja {
        display: none;
    }
	
	.containerServicosHomepage {
        grid-template-columns: 1fr;
    }

	.servicoHomepage{
	    display: flex;
        flex-direction: column;
        align-items: center;
      }

	.containerNossosServicos {
        width: 100%;
    }

	.logo-img {
		width: 188px;
	}

	.email-btn {
		display: none;
	}

	.menu-btn {
		padding: 14px;
		width: 52px;
		height: 52px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.menu-text {
		display: none;
	}

	.hamburger-icon {
		display: flex;
	}

	.sidebar-menu {
		width: 90%;
		right: -90%;
	}

	.banner-heading {
		font-family: Geist;
		font-size: 28px;
		font-weight: 400;
		line-height: normal;
		color: #FFF;
	}

	.banner-subheading {
		font-family: Inter;
		font-size: 15px;
		font-weight: 400;
		line-height: normal;
		color: rgba(255, 255, 255, 0.90);
	}

	.stat-number {
		font-family: Geist;
		font-size: 18.75px;
		font-weight: 400;
		line-height: 20.833px;
		color: #FFF;
	}

	.stat-label {
		font-family: Inter;
		font-size: 8.333px;
		font-weight: 400;
		line-height: 12.5px;
		color: rgba(255, 255, 255, 0.80);
	}

	.banner-stats {
		gap: 30px;
	}

	.banner-stats-row {
		flex-wrap: wrap;
        gap: 40px;
	}

	.banner-cta {
		font-family: Inter;
		font-size: 14px;
		font-weight: 400;
		line-height: 14px;
		color: #FFF;
	}

	.about-heading {
		font-family: Geist;
		font-size: 26px;
		font-weight: 400;
		line-height: normal;
		color: #0D1F3A;
	}

	.about-text {
		font-family: Inter;
		font-size: 14px;
		font-weight: 400;
		line-height: normal;
		color: #666;
	}

	.about-stat-number {
		font-family: Geist; 
		font-size: 24px;
		font-weight: 600;
		line-height: 39.451px;
		color: #0D1F3A;
	}

	.about-stat-label {
		font-family: Inter;
		font-size: 14px;
		font-weight: 400;
		line-height: 26.301px;
		color: #666;
	}

	.about-image-title {
		font-family: Geist;
		font-size: 14.604px;
		font-weight: 400;
		line-height: 17.524px;
		color: #FFF;
	}

	.about-image-subtitle {
		font-family: Arial;
		font-size: 7.789px;
		font-weight: 400;
		line-height: 11.683px;
		color: rgba(255, 255, 255, 0.90);
	}

	.about-grid {
		display: flex;
		flex-direction: column; 
	}

	.about-image-wrapper {
		order: 2;
		height: 350px;
	}

	.about-content {
		order: 1;
	}

	.about-image-container {
		height: 250px;
	}

	.about-image-stat-number {
		font-family: Geist;
		font-size: 17.524px;
		font-weight: 600;
		line-height: 19.471px;
		color: #FFF;
	}

	.about-image-stat-label {
		font-family: Inter;
		font-size: 6.219px;
		font-weight: 400;
		line-height: 9.736px;
		color: #FFF;
	}

	.about-image-stat {
		top: 50px;
		padding: 14px 22px;
	}

	.ondeOperamos-grid {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		overflow-y: hidden;
		gap: 16px;
		padding: 0 20px 20px 20px;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
	}

	.setor-card {
		flex: 0 0 250px;
		height: 250px;
		scroll-snap-align: start;
	}

	.setor-card-featured {
		flex: 0 0 250px;
		height: 250px;
		grid-column: auto;
		grid-row: auto;
	}

	.setor-card-featured .setor-title {
		font-size: 16px;
		line-height: 22px;
		letter-spacing: 0.6px;
	}

	.ondeOperamosSection h2,
	.ondeOperamos-title {
		font-family: Geist;
		font-size: 26px;
		font-weight: 400;
		line-height: normal;
		color: #1A1A1A;
	}

	.ondeOperamos-subtitle {
		font-family: Geist;
		font-size: 13px;
		font-weight: 400;
		line-height: 30px;
		color: #B4BD00;
	}

	.ondeOperamos-description {
		font-family: Inter;
		font-size: 14px;
		font-weight: 400;
		line-height: 30px;
		color: #666;
		width: 100%;
	}

	.projects-carousel.animate-scale {
		opacity: 1 !important;
	}

	.projects-carousel .animate-on-scroll {
		opacity: 1 !important;
	}

	.clients-carousel.animate-scale {
		opacity: 1 !important;
	}

	.footerLogos img {
		max-width: 100%;
		height: auto!important;
	}

	.projects-carousel {
		overflow: visible;
		padding-bottom: 40px;
	}

	.ondeOperamosSection {
		overflow: visible;
	}

    .tituloContactos{
        font-size: 30px;
    }

    .listProjetos {
        grid-template-columns: 1fr;
    }
}
                
@media (max-width: 500px) {

    .popupTimelineMobile{
        width: 300px;
    }

    .header-politermica {
        padding: 40px 40px;
	}

	.sidebar-menu {
		width: 100%;
		right: -100%;
    }

	.containerGridHomepage > div:first-child {
        padding-left: 40px!important;
    }

    .containerHomepage {
        padding: 80px 40px;
    }

    .projects-carousel {
        padding-left: 40px;
    }

	.bannerHomepage .textInsideBanner {
		padding-left: 40px;
	}

    #menu_id_19{
        left: 40px;
    }

    .timelineContainer {
        padding-left: 40px;
    }
}
                    
@media (max-width: 400px) {
    .bannerHomepage .textInsideBanner {
        font-size: 26px;
    }

    .questaoFooter{
        font-size: 26px;
    }

    .banner-heading {
		font-family: Geist;
		font-size: 24px;
		font-weight: 400;
		line-height: normal;
		color: #FFF;
	}

	.banner-subheading {
		font-family: Inter;
		font-size: 14px;
		font-weight: 400;
		line-height: normal;
		color: rgba(255, 255, 255, 0.90);
	}

	.stat-number {
		font-family: Geist;
		font-size: 16px;
		font-weight: 400;
		line-height: 20.833px;
		color: #FFF;
	}

	.stat-label {
		font-family: Inter;
		font-size: 8px;
		font-weight: 400;
		line-height: 12.5px;
		color: rgba(255, 255, 255, 0.80);
	}

	.banner-stats {
		gap: 25px;
	}

	.banner-stats-row {
		flex-wrap: wrap;
        gap: 30px;
	}

	.banner-cta {
		font-family: Inter;
		font-size: 14px;
		font-weight: 400;
		line-height: 14px;
		color: #FFF;
	}

    .banner-content{
        gap: 30px;
    }

}
/******************************   end media queries   ******************************/

/* ============================================ */
/* News Section Styles */
/* ============================================ */

.news-section {
  padding: 80px 0;
  background: white;
  margin-bottom: 70px;
}

.news-header {
  text-align: center;
  margin-bottom: 60px;
}

.news-main-title {
  font-family: Geist, sans-serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.2;
  color: #1A1A1A;
  margin: 0 0 16px 0;
}

.news-subtitle {
  font-family: Geist, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  color: #666666;
  margin: 0 auto;
  max-width: 700px;
}

.news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-bottom: 50px;
  background-color: white;
  padding: 0px 90px;
}

.news-card-link {
  text-decoration: none;
  color: inherit;
  display: block;
}

.news-card {
  background: #FFFFFF;
  border-radius: 16px;
  overflow: hidden;
  transition: transform 0.3s ease, border-color 0.3s ease;
  border: 1px solid #E5E5E5;
}

.news-card-link:hover .news-card {
  transform: translateY(-8px);
  border-color: #D0D0D0;
}

.news-image-container {
  position: relative;
  width: 100%;
  padding-top: 65%; /* 16:10 aspect ratio */
  overflow: hidden;
  background: #E5E5E5;
}

.news-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.news-card:hover .news-image {
  transform: scale(1.05);
}

.news-category-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  background: #B4BD00;
  color: #FFFFFF;
  font-family: Geist, sans-serif;
  font-size: 12px;
  font-weight: 500;
  padding: 6px 14px;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  z-index: 2;
}

.news-content {
  padding: 24px;
}

.news-date {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: Geist, sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #999999;
  margin-bottom: 12px;
}

.news-date svg {
  color: #999999;
}

.news-title {
  font-family: Geist, sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.4;
  color: #1A1A1A;
  margin: 0 0 12px 0;
  min-height: 62px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.news-excerpt {
  font-family: Geist, sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
  color: #666666;
  margin: 0 0 20px 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.news-read-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: Geist, sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: #B4BD00;
  text-decoration: none;
  transition: gap 0.3s ease, color 0.3s ease;
}

.news-card-link:hover .news-read-more {
  gap: 12px;
  color: #9DA700;
}

.news-read-more svg {
  transition: transform 0.3s ease;
}

.news-card-link:hover .news-read-more svg {
  transform: translateX(4px);
}

.news-footer {
  text-align: center;
  margin-top: 50px;
}

.news-cta-button {
  display: inline-block;
  font-family: Geist, sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #B4BD00;
  text-decoration: none;
  padding: 14px 32px;
  border: 2px solid #B4BD00;
  border-radius: 8px;
  transition: all 0.3s ease;
  background: transparent;
}

.news-cta-button:hover {
  background: #B4BD00;
  color: #FFFFFF;
  border-color: #B4BD00;
}

/* Responsive Design */
@media (max-width: 1024px) {
  .news-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    padding: 0px;
  }

  .news-main-title {
    font-size: 40px;
  }
}

@media (max-width: 768px) {
  .news-section {
    padding: 60px 0;
    margin-bottom: 30px;
  }

  .news-header {
    margin-bottom: 40px;
  }

  .news-main-title {
    font-size: 32px;
  }

  .news-subtitle {
    font-size: 16px;
  }

  .news-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .news-title {
    font-size: 20px;
    min-height: auto;
  }

  .news-content {
    padding: 20px;
  }
}

.btn-primary{
    border-color: transparent;
}

/* Service Detail Content Padding */
.servicoDetailContent {
  padding: 0px 350px;
  color: #666;
    font-family: Inter;
    margin-top: 80px;
}

@media (max-width: 1500px) {
  .servicoDetailContent {
    padding: 10px 100px;
    margin-top: 40px;
  }
}

@media (max-width: 768px) {
  .servicoDetailContent {
    padding: 0px 0px;
  }
}

/* Fixed Back Button */
#fixed-back-btn {
  position: fixed;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9999;
  width: 48px;
  height: 48px;
  background: linear-gradient(180deg, #C6C850 0%, #B4BD00 100%);
  border: none;
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding: 0 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: width 0.3s ease, box-shadow 0.3s ease;
  overflow: hidden;
  white-space: nowrap;
}

#fixed-back-btn:hover {
  width: 130px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

#fixed-back-btn:active {
  transform: translateY(-50%) scale(0.98);
}

#fixed-back-btn svg {
  flex-shrink: 0;
  margin-left: 0;
}

#fixed-back-btn .btn-text {
  color: #FFF;
  font-family: Inter;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
  opacity: 0;
  transition: opacity 0.3s ease 0.1s;
}

#fixed-back-btn:hover .btn-text {
  opacity: 1;
  left: 50px;
  position: absolute;
}

/* Hide on mobile to avoid conflicts */
@media (max-width: 768px) {
  #fixed-back-btn {
    display: none;
  }
}