.manutencao-bg { padding: 100px 0 90px; }
.manutencao { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; }

.manutencao .img { display: flex; position: relative; overflow: hidden; }
.manutencao .img::after { content: ''; position: absolute; width: 105px; aspect-ratio: 1/1; height: auto; background: #fff; transform: rotate(45deg); top: -52px; left: -52px; }
.manutencao .img::before { content: ''; position: absolute; width: 105px; aspect-ratio: 1/1; height: auto; background: #fff; transform: rotate(45deg); bottom: -52px; right: -52px; }
.manutencao .img img { width: 100%; height: 100%; object-fit: cover; }

.manutencao .content { margin-left: 45px; }
.manutencao .content .title { margin-top: 25px; }
.manutencao .content .title span { font: 37.98px montserrat; color: #787878; }
.manutencao .content .title > *:not(span) { font:800 44.39px montserrat; color: #202020; text-transform: uppercase; }
.manutencao .content .text { font: 15px / 2 montserrat; hyphens: auto; margin-top: 35px; }
.manutencao .content .btn { display: flex; gap: 15px; align-items: center; font: 600 15px / 2 montserrat; color: var(--cor1); max-width: max-content; margin-top: 35px; }

.servicos-bg { padding: 100px 0; background: #fff; }
.servicos-top { display: flex; align-items: center; gap: 16px; margin-bottom: 35px; }
.servicos-top .icon { width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; }
.servicos-top .text span { font: 37.98px montserrat; color: #6d6d6d; display: block; }
.servicos-top .text .title { font: 800 44.39px montserrat; text-transform: uppercase; color: #202020; }

.servicos-grid { display: flex; flex-direction: column; }
.servicos-row { display: grid; grid-template-columns:repeat(2, 1fr); align-items: stretch; }
.servicos-row:not(.is-reverse) .servicos-item { border-left: 1px solid #e5e5e5; border-right: 9px solid var(--cor1); }
.servicos-row.is-reverse .servicos-img { order: 2; }
.servicos-row.is-reverse .servicos-list { order: 1; }

.servicos-img { position: relative; overflow: hidden; min-height: 260px; max-height: 385px; }
.servicos-img::after { content: ''; position: absolute; width: 105px; aspect-ratio: 1/1; height: auto; background-color: var(--branco); transform: rotate(45deg); top: -52px; left: -52px; }
.servicos-row:first-child .servicos-img::after { left: unset; right: -52px;  }
.servicos-row:last-child .servicos-img::after { top: unset; left: unset; right: -52px; bottom: -52px; }

.servicos-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

.servicos-list { display: flex; flex-direction: column; gap: 18px; justify-content: flex-start; padding: 60px 0; }
.servicos-item { display: flex; align-items: center; flex: 1; justify-content: space-between; gap: 18px; padding: 18px 22px; border: 1px solid #e5e5e5; border-left: 9px solid var(--cor1); font: 600 15px / 1.45 montserrat; color: #202020; background: #fff; transition: transform var(--transition2), box-shadow var(--transition2), border-color var(--transition2); }
.servicos-item span { flex: 1 1 auto; hyphens: auto; }
.servicos-item img { flex: 0 0 auto; }
.servicos-item:hover { transform: translateX(2px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08); border-color: #cfd8e3; }

@media (max-width: 1250px){
    .manutencao-bg { padding: 45px 0; }
    .manutencao .content .title { margin: 0; }
    .manutencao { grid-template-columns: 1fr; }
    .manutencao .content { order: 1; margin: 0; }
    .manutencao > .img { order: 2; max-height: 350px; aspect-ratio: 793/595; margin: 0 auto; }
    .servicos-top .text .title { font-size: clamp(30px, 3.5vw, 40px); }
    .servicos-top .text span { font-size: clamp(24px, 2.5vw, 32px); }
}

@media (max-width: 990px) {
    .servicos-row,
    .servicos-row.is-reverse { grid-template-columns: 1fr; }
    .servicos-row.is-reverse .servicos-list,
    .servicos-row:not(.is-reverse) .servicos-list { order: 1; }
    .servicos-row.is-reverse .servicos-img,
    .servicos-row:not(.is-reverse) .servicos-img { order: 2; }
    .manutencao .content .title span { font-size: clamp(18px, 4.5vw, 34px); }
    .manutencao .content .title > *:not(span) { font-size: clamp(30px, 6.5vw, 40px) }
    .manutencao .content .text  { margin-top: 15px; font-size: 13px; }
    .servicos-bg { padding: 32px 0 50px; }
    .servicos-list { padding: 18px 0 18px; }
}

@media (max-width: 600px) {
    .servicos-bg { padding: 45px 0; }
    .servicos-top { gap: 12px; }
    .servicos-top .text h2 { font-size: 28px; }
    .servicos-item { padding: 16px 18px; font-size: 14px; }
}
