/* Vertikal content and layout refinements. Kept separate from the vendor theme. */

.page-home .intro-video {
    background-image: url('../images/inicio-solucoes-20261019.webp');
    width: min(calc(100% - 40px), 1920px);
    margin-inline: auto;
    border-radius: 24px;
}

/* The combined label is longer than the former escalator-only heading. */
.page-escalators .page-header-box h1 {
    font-size: clamp(2.35rem, 4.65vw, 4.7rem);
    overflow-wrap: normal;
    text-wrap: balance;
}

/* Text emphasis remains semantic, but the site's typography is upright. */
main :is(em, i:not([class]), .section-title h1 span, .section-title h2 span, .page-header-box h1 span, .service-entry h2 span, .project-entry h2 span),
.main-footer :is(em, i:not([class]), .section-title h2 span) {
    font-style: normal !important;
}

.portal-nav-item > span.nav-link {
    cursor: default;
    color: var(--text-color);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    text-transform: uppercase !important;
    white-space: nowrap;
    letter-spacing: .045em;
}

@media (min-width: 992px) and (max-width: 1399.98px) {
    .main-menu .nav-menu-wrapper > ul > li { margin-inline: 2px; }
    .main-menu .nav-menu-wrapper > ul > li > .nav-link {
        padding-inline: 4px !important;
        font-size: 12px;
        letter-spacing: .02em;
        white-space: nowrap;
    }
    .portal-nav-item > span.nav-link { font-size: 12px; letter-spacing: .02em; }
    .header-btn .btn-default { font-size: 13px; padding-left: 18px; padding-right: 48px; }
}

/* Maintenance inquiry: the paired cards follow the supplied form reference. */
.maintenance-forms {
    padding: 100px 0;
    background: var(--bg-color);
    scroll-margin-top: 100px;
}
.maintenance-forms-grid {
    display: grid;
    grid-template-columns: minmax(0, 35%) minmax(0, 65%);
    gap: 30px;
    padding-right: 30px;
    align-items: start;
}
.maintenance-card {
    min-width: 0;
    padding: 36px;
    border-radius: 24px;
    background: #eef0f9;
    color: #0c1114;
}
.maintenance-card h2 { font-size: clamp(24px, 2vw, 32px); margin: 22px 0 14px; }
.maintenance-card h3 { font-size: 26px; margin: 34px 0 8px; }
.maintenance-card p { margin: 0; }
.maintenance-eyebrow { display: block; font-size: 15px; font-weight: 700; }
.maintenance-eyebrow::before { content: ''; display: inline-block; width: 8px; height: 8px; margin-right: 12px; border-radius: 50%; background: #a0a6b5; vertical-align: 2px; }
.maintenance-description { color: #596276; font-weight: 600; line-height: 1.7; }
.maintenance-rule { height: 1px; background: #cdd2db; margin: 30px 0; }
.maintenance-card label:not(.maintenance-checkbox), .maintenance-label { display: block; font-size: 15px; font-weight: 700; margin: 22px 0 10px; }
.maintenance-card input:not([type=checkbox]):not([type=radio]):not([type=file]),
.maintenance-card select, .maintenance-card textarea {
    display: block; width: 100%; min-height: 62px; padding: 16px 19px;
    border: 0; border-radius: 14px; background: #dfe4e8; color: #0c1114;
    outline-offset: 2px;
}
.maintenance-card input::placeholder, .maintenance-card textarea::placeholder { color: #5f6a7d; opacity: 1; }
.maintenance-card select { appearance: auto; }
.maintenance-card textarea { min-height: 120px; resize: vertical; }
.maintenance-card input[type=file] { width: 100%; padding: 14px 0; }
.maintenance-card small, .maintenance-hint, .maintenance-privacy, .maintenance-required { color: #596276; font-size: 13px; }
.maintenance-field > small { display: block; margin-top: 10px; }
.maintenance-field label small { display: block; margin-top: 8px; font-weight: 400; }
.maintenance-hint { margin-top: 12px !important; }
.maintenance-button { display: inline-flex; justify-content: center; align-items: center; gap: 20px; min-height: 62px; padding: 12px 30px; border: 0; border-radius: 100px; background: #0c1114; color: #fff; font-weight: 700; cursor: pointer; }
.maintenance-button:hover, .maintenance-button:focus-visible { background: #303b45; color: #fff; }
.maintenance-button-wide { width: 100%; margin-top: 32px; }
.maintenance-privacy { line-height: 1.5; margin-top: 28px !important; }
.maintenance-required { margin-top: 30px !important; }
.maintenance-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; border-top: 1px solid #cdd2db; margin-top: 30px; padding-top: 30px; }
.maintenance-step { display: flex; align-items: center; gap: 10px; padding: 0 0 18px; border-bottom: 2px solid #c8ccd3; font-size: 14px; font-weight: 700; color: #596276; }
.maintenance-step b { display: inline-grid; place-items: center; width: 28px; height: 28px; flex: none; border-radius: 50%; background: #dfe4e8; }
.maintenance-step.is-active, .maintenance-step.is-complete { color: #0c1114; border-color: #0c1114; }
.maintenance-step.is-active b, .maintenance-step.is-complete b { background: #0c1114; color: #fff; }
.maintenance-panel[hidden] { display: none !important; }
.maintenance-panel > p { color: #596276; font-weight: 600; }
.maintenance-equipment { min-width: 0; margin-top: 30px; padding: 0; border: 0; }
.maintenance-equipment + .maintenance-equipment { padding-top: 25px; border-top: 1px solid #cdd2db; }
.maintenance-equipment legend { font-size: 15px; font-weight: 700; margin-bottom: 0; }
.maintenance-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 20px; }
.maintenance-field-full { grid-column: 1 / -1; }
.maintenance-optional { margin-top: 28px; padding: 22px 0; border-top: 1px solid #cdd2db; }
.maintenance-optional summary { cursor: pointer; font-weight: 700; }
.maintenance-optional summary small { font-weight: 400; }
.maintenance-add, .maintenance-remove, .maintenance-back { border: 0; background: transparent; color: #0c1114; font-weight: 700; cursor: pointer; }
.maintenance-add { display: block; margin-top: 20px; padding: 5px 0 24px; width: 100%; text-align: left; border-bottom: 1px solid #cdd2db; }
.maintenance-add span { display: block; font-size: 22px; line-height: 1; }
.maintenance-remove { margin-top: 10px; text-decoration: underline; }
.maintenance-address { margin-top: 8px; }
.maintenance-checkbox { display: inline-flex; align-items: center; gap: 8px; margin-top: 28px; font-weight: 700; cursor: pointer; }
.maintenance-checkbox input { width: 18px; height: 18px; }
.maintenance-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 32px; }
.maintenance-actions > .maintenance-button:only-child { margin-left: auto; }
.maintenance-radios { display: flex; flex-wrap: wrap; gap: 15px; }
.maintenance-radios label { margin: 0 !important; font-weight: 400 !important; }
.projects-maintenance-faq { padding-top: 100px; }
@media (max-width: 991.98px) {
    .maintenance-forms-grid { grid-template-columns: 1fr; padding-right: 0; }
}
@media (max-width: 575.98px) {
    .maintenance-forms { padding: 60px 0; }
    .maintenance-card { padding: 25px; }
    .maintenance-field-grid { grid-template-columns: 1fr; }
    .maintenance-field-full { grid-column: auto; }
    .maintenance-steps { gap: 5px; }
    .maintenance-step { gap: 5px; font-size: 11px; }
}

.cta-box {
    background-image: url('../images/contact-form-background-20261015.webp');
}

/* Keep the dark homepage panels distinct after the intervening light sections were removed. */
.page-home .intro-video,
.page-home .our-project,
.page-home .cta-box {
    margin-bottom: 50px;
}

html {
    scroll-behavior: smooth;
}

:root {
    --vertikal-icon-dark: #0c1114;
    --vertikal-icon-hover: #d3d6e0;
    --vertikal-icon-dark-filter: brightness(0) saturate(100%) invert(6%) sepia(9%) saturate(1270%) hue-rotate(155deg) brightness(94%) contrast(98%);
}

/* Header navigation: consistent uppercase labels and a restrained active state. */
.main-menu ul li a,
.responsive-menu .slicknav_nav a,
.header-btn .btn-default {
    text-transform: uppercase !important;
    letter-spacing: .045em;
}

.main-menu .nav-menu-wrapper > ul > li > a.active,
.main-menu .nav-menu-wrapper > ul > li.active > a {
    color: #6e7180 !important;
}

.main-menu ul ul li a.active {
    color: #d3d6e0 !important;
}

.rich-text-content > :last-child,
.rich-text-content li > :last-child {
    margin-bottom: 0;
}

.rich-text-content p + ul,
.rich-text-content p + ol,
.rich-text-content ul + p,
.rich-text-content ol + p {
    margin-top: 1rem;
}

.rich-text-content ul,
.rich-text-content ol {
    display: block;
    margin: 0 0 1.25rem;
    padding-inline-start: 1.5rem;
}

.rich-text-content ul { list-style: disc; }
.rich-text-content ol { list-style: decimal; }

.rich-text-content li {
    display: list-item;
    margin-bottom: .55rem;
    padding-left: .25rem;
}

.rich-text-content li:empty {
    display: none;
}

.faq-accordion .accordion-body {
    line-height: 1.65;
}

.faq-accordion .accordion-body > ul,
.faq-accordion .accordion-body > ol {
    margin-top: 1rem;
}

/* Database-disabled/empty translations must never leave a lone accordion icon. */
.accordion-item:not(:has(.accordion-button:not(:empty))),
.accordion-item:has(.accordion-body > p:only-child:empty) {
    display: none !important;
}

/* Decorative testimonial portraits were not connected to real testimonials. */
.satisfy-client-images,
.who-we-cta-box,
.commitment-client-box {
    display: none !important;
}

.section-satisfy-img {
    display: flex;
    align-items: center;
    justify-content: center;
}

.section-satisfy-img > p {
    margin-inline-start: 0 !important;
}

.page-home .hero-rating-box-header,
.page-home .hero-rating-box-header h3,
.page-home .hero-rating-box-header p,
.page-home .hero-rating-box-content,
.page-home .hero-rating-box-content p,
.page-home .hero-rating-box-content h3,
.page-home .hero-rating-box-content span {
    color: #fff !important;
}

/* The review card is removed while both original media columns stay intact. */
.page-home .who-we-image-box-2 {
    display: block;
}

.page-home .who-we-image-box-1 {
    width: calc(55% - 15px);
}

.page-home .who-we-image-box-2 {
    width: calc(45% - 15px);
}

.page-home .who-we-image-box {
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
}

.page-home .who-we-image-box-1,
.page-home .who-we-image-box-2 { width: 100%; }

.page-home .who-we-image-box .who-we-image figure { background: transparent; }
.page-home .who-we-image-box-1 .who-we-image img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center;
}
.page-home .who-we-image-box-2 .who-we-image img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center 43%;
}

/* Centre the complete footer group, not just the first line of copy. */
.page-home .our-service .section-satisfy-img {
    width: 100%;
    flex-direction: column;
    gap: 12px;
    text-align: center;
}

.page-home .our-service .section-satisfy-img > p,
.page-home .our-service .section-satisfy-img > ul {
    width: 100%;
    margin: 0;
    text-align: center;
}

.page-home .our-service .home-offer-links {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    column-gap: 12px;
    row-gap: 6px;
}

.page-home .our-service .home-offer-links a { white-space: nowrap; }
.page-home .our-service .home-offer-links span {
    display: inline;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

/* Keep the four home service cards aligned at all text lengths. */
.page-home .service-item-list > [class*="col-"] {
    display: flex;
}

.page-home .service-item {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
}

.page-home .service-item-body,
.page-home .service-item-body-content,
.page-home .service-item-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.page-home .service-item-btn {
    margin-top: auto;
}

.page-home .who-we-item-list {
    align-items: stretch;
}

.page-home .who-we-item {
    min-height: 84px;
}

/*
 * Shared icon language.
 * Every circular content icon follows the same visual language: a 60px dark
 * surface with a white 28px glyph, inverted on hover/active.
 */
:is(
    .service-item-body,
    .who-we-item,
    .about-us-contact-box,
    .commitment-item-header,
    .cta-box-item,
    .approach-item,
    .service-approach-item-header,
    .project-challenges-item-body
) > .icon-box {
    position: relative;
    display: flex;
    flex: 0 0 60px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 60px !important;
    min-width: 60px;
    height: 60px !important;
    padding: 0 !important;
    overflow: hidden;
    background: var(--vertikal-icon-dark) !important;
    border-radius: 50%;
    transition: background-color .3s ease, color .3s ease;
}

:is(
    .service-item-body,
    .who-we-item,
    .about-us-contact-box,
    .commitment-item-header,
    .cta-box-item,
    .approach-item,
    .service-approach-item-header,
    .project-challenges-item-body
) > .icon-box::before {
    background: var(--vertikal-icon-hover) !important;
}

:is(
    .service-item-body,
    .who-we-item,
    .about-us-contact-box,
    .commitment-item-header,
    .cta-box-item,
    .approach-item,
    .service-approach-item-header,
    .project-challenges-item-body
) > .icon-box img {
    position: relative;
    z-index: 1;
    display: block;
    width: 28px !important;
    max-width: 28px !important;
    height: 28px !important;
    object-fit: contain;
    filter: brightness(0) invert(1) !important;
    transition: filter .3s ease;
}

:is(
    .service-item.active,
    .service-item:hover,
    .who-we-item:hover,
    .about-us-contact-box:hover,
    .commitment-item:hover,
    .cta-box-item:hover,
    .approach-item:hover,
    .service-approach-item:hover,
    .project-challenges-item-body:hover
) .icon-box {
    background: var(--vertikal-icon-hover) !important;
}

:is(
    .service-item.active,
    .service-item:hover,
    .who-we-item:hover,
    .about-us-contact-box:hover,
    .commitment-item:hover,
    .cta-box-item:hover,
    .approach-item:hover,
    .service-approach-item:hover,
    .project-challenges-item-body:hover
) .icon-box::before {
    transform: scale(1) !important;
}

:is(
    .service-item.active,
    .service-item:hover,
    .who-we-item:hover,
    .about-us-contact-box:hover,
    .commitment-item:hover,
    .cta-box-item:hover,
    .approach-item:hover,
    .service-approach-item:hover,
    .project-challenges-item-body:hover
) .icon-box img {
    filter: var(--vertikal-icon-dark-filter) !important;
}

.who-we-nav .nav-link .tab-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 60px;
    min-width: 60px;
    height: 60px;
    padding: 16px;
    border-radius: 50%;
    background: var(--vertikal-icon-dark);
    transition: background-color .3s ease;
}

.who-we-nav .nav-link .tab-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0) invert(1);
    transition: filter .3s ease;
}

.who-we-nav .nav-link:is(:hover, .active) .tab-icon {
    background: var(--vertikal-icon-hover);
}

.who-we-nav .nav-link:is(:hover, .active) .tab-icon img {
    filter: var(--vertikal-icon-dark-filter);
}

/* Keep contact icons beside their copy in every CTA containing a form. */
.cta-box-item {
    flex-wrap: nowrap;
}

.cta-box-item-content {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
}

/* Standard contact form shared by all pages. */
.vertikal-contact-form label {
    display: block;
    margin-bottom: .55rem;
    color: var(--primary-color, #091014);
    font-weight: 600;
}

.vertikal-contact-form .form-control {
    min-height: 58px;
}

.vertikal-contact-form textarea.form-control {
    min-height: 170px;
    resize: vertical;
}

.vertikal-contact-form .form-error {
    margin-top: .4rem;
    color: #a32020;
    font-size: .875rem;
}

.vertikal-contact-form .form-privacy-note {
    max-width: 760px;
    margin: 1rem 0 0;
    font-size: .875rem;
    line-height: 1.55;
}

.vertikal-contact-form .form-privacy-note a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.vertikal-contact-form .form-privacy-note :is(strong, a),
.maintenance-privacy :is(strong, a) { font-weight: 700; }

.page-home .service-item-image img { object-fit: cover; object-position: center; }

.header-btn .btn-default { font-size: 15px; font-weight: 700; }

.vertikal-footer { border-radius: 24px; overflow: hidden; padding-top: 0; }
.vertikal-footer .vertikal-footer-cta { display: flex; align-items: end; justify-content: space-between; gap: 30px; padding: 58px 0 38px; border-bottom: 1px solid rgba(255,255,255,.18); }
.vertikal-footer-cta h2 { max-width: 700px; margin: 0; color: #fff; font-size: clamp(30px,3vw,44px); line-height: 1.15; font-weight: 500; }
.vertikal-footer .vertikal-footer-cta .btn-default { background: #eef1fa; color: #0c1114; white-space: nowrap; }
.vertikal-footer .vertikal-footer-main { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.7fr) minmax(0,.75fr); gap: clamp(35px,6vw,100px); padding: 48px 0 52px; }
.vertikal-footer-brand img { width: min(260px,100%); height: auto; }
.vertikal-footer-brand p { max-width: 310px; margin: 20px 0 0; color: #b7c1c8; }
.vertikal-footer :is(.vertikal-footer-links,.vertikal-footer-social) h3 { color: #fff; font-size: 19px; font-weight: 600; margin-bottom: 18px; }
.vertikal-footer-links ul { margin: 0; padding: 0; list-style: none; }
.vertikal-footer-links li + li { margin-top: 7px; }
.vertikal-footer-links :is(a,span) { color: #bac5cb; }
.vertikal-footer-links a:hover { color: #fff; }
.vertikal-footer-social { border-left: 1px solid rgba(255,255,255,.18); padding-left: clamp(30px,4vw,72px); }
.vertikal-footer-social-icons { display: flex; flex-wrap: wrap; gap: 10px; }
.vertikal-footer-social-icons :is(a,span) { display: inline-grid; place-items: center; width: 42px; height: 42px; border: 1px solid #78858b; border-radius: 50%; color: #fff; font-size: 17px; }
.vertikal-footer-social-icons a:hover { background: #fff; color: #0c1114; }
.vertikal-footer .vertikal-footer-bottom { margin: 0; padding: 22px 0; }
.vertikal-footer-bottom .container { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.vertikal-footer-bottom p { margin: 0; color: #b7c1c8; font-size: 13px; }
.vertikal-footer-legal { display: flex; flex-wrap: wrap; gap: 0; }
.vertikal-footer-legal :is(a,span) { color: #b7c1c8; font-size: 13px; }
.vertikal-footer-legal :is(a,span) + :is(a,span)::before { content: '|'; display: inline-block; margin: 0 12px; color: #7d8b92; }
.vertikal-footer-legal a:hover { color: #fff; }

/* These page names are also used on body; its padding would extend below the footer. */
body.page-projects,
body.page-faqs { padding: 0; }

.maintenance-protection { margin-block: 50px; padding: clamp(56px,7vw,96px) 0; background: linear-gradient(90deg,rgba(8,15,24,.48),rgba(8,15,24,.28)), url('../images/maintenance-protect-night-20261026.webp') center/cover; color: #fff; border-radius: 24px; overflow: hidden; }
.maintenance-section-eyebrows { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; }
.maintenance-protection-eyebrow { margin: 0 0 8px; text-transform: uppercase; letter-spacing: .14em; font-size: 14px; color: #e6edf4; }
.maintenance-protection h2 { color: #fff; font-size: clamp(34px,4vw,56px); line-height: 1.1; margin-bottom: 32px; }
.maintenance-protection-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.maintenance-protection-card { display: flex; flex-direction: column; min-width: 0; padding: 24px; background: rgba(8,14,22,.78); border: 1px solid rgba(255,255,255,.48); border-radius: 18px; backdrop-filter: blur(12px); }
.maintenance-protection-card > p:first-child { margin: 0; color: #d8e1e9; font-size: 14px; }
.maintenance-protection-card h3 { padding-bottom: 13px; border-bottom: 1px solid rgba(255,255,255,.5); color: #fff; font-size: clamp(24px,2vw,31px); }
.maintenance-protection-includes { margin: 12px 0 0; font-weight: 600; }
.maintenance-protection-card ul { margin: 9px 0 18px; padding: 0; list-style: none; }
.maintenance-protection-card li { position: relative; padding-left: 24px; line-height: 1.45; }
.maintenance-protection-card li + li { margin-top: 5px; }
.maintenance-protection-card li::before { content: '✓'; position: absolute; left: 0; color: #d9eaf4; }
.maintenance-protection-card .maintenance-protection-note { margin: auto 0 16px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.32); color: #d8e1e9; font-size: 13px; }
.maintenance-protection-card a { display: flex; justify-content: center; gap: 16px; padding: 10px 18px; border-radius: 999px; background: #f5f7fa; color: #0c1114; font-weight: 600; }
.maintenance-protection-card a:hover { background: #d6eaf7; }
@media(max-width:991px) { .maintenance-protection-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) { .vertikal-footer .vertikal-footer-cta,.vertikal-footer-bottom .container { flex-direction: column; align-items: flex-start; } .vertikal-footer .vertikal-footer-main { grid-template-columns: 1fr; gap: 32px; } .vertikal-footer-social { border-left: 0; border-top: 1px solid rgba(255,255,255,.18); padding: 26px 0 0; } .maintenance-protection-grid { grid-template-columns: 1fr; } }

/* Contact coverage list: consistent rhythm and readable wrapping. */
.page-contact .contact-benefit-list ul,
.page-contact .contact-entry-list ul {
    display: grid;
    gap: .65rem;
    padding-inline-start: 1.4rem;
}

.page-contact .contact-benefit-list li,
.page-contact .contact-entry-list li {
    line-height: 1.45;
}

/* The social links are one horizontal row, matching the original layout. */
.page-contact .contact-us-social-list ul {
    display: flex !important;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
    padding: 0;
    margin: 0;
}

.page-contact .contact-us-social-list li {
    display: block;
    margin: 0;
    padding: 0;
}

/* Separate the coverage list from its action button. */
.page-contact .contact-coverage-list {
    margin-bottom: 32px;
}

/* Footer copy and navigation stay balanced on large and narrow screens. */
.footer-about-text {
    max-width: 38rem;
    line-height: 1.65;
    text-wrap: balance;
}

.footer-links ul {
    display: grid;
    gap: .55rem;
}

/* Projects cabin section. */
.projects-cabins-cta {
    margin-top: 2rem;
    text-align: center;
}

.projects-cabins {
    padding: 100px 0;
    scroll-margin-top: 120px;
}

.page-faqs .page-single-faqs {
    scroll-margin-top: 120px;
}

.projects-cabins-grid {
    row-gap: 24px;
}

.projects-cabins .project-item-content ul li,
.projects-cabins .project-item-content h2 {
    color: #fff;
}

.service-project-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* The shared internal-page photograph is decorative: the overlaid page heading supplies the text. */
:is(.page-services, .page-about, .page-projects, .page-faqs, .page-contact) .page-header {
    background-image: url('../images/cabecalho-paginas-internas.webp');
    background-position: center 48%;
}

.about-us-item-image img {
    height: auto;
}

.page-about .history-item-image img {
    height: auto;
    aspect-ratio: 1 / 1.24;
}

.page-about .our-approach-image-box-1 img {
    object-fit: contain;
    background: #fff;
}

.page-about .history-item:first-child .history-item-image figure {
    max-width: 100%;
    margin: 0 auto -40px;
    border-radius: 0;
}

.page-about .history-item:first-child .history-item-image img {
    display: block;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    border-radius: 0;
}

.page-about .our-process-item .our-process-item-image {
    margin-top: auto;
}

.page-about .our-process-item .our-process-item-image figure {
    max-width: none;
    height: clamp(330px, 27vw, 500px);
    margin: 0 0 -40px;
}

.page-about .our-process-item .our-process-item-image img {
    display: block;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center;
}

.page-about .our-process-item.box-2 .our-process-item-image img {
    object-fit: cover;
    object-position: right center;
}

.page-about .our-process-item.box-3 {
    background-image: none;
    background-color: var(--white-color);
}

.page-about .our-process-item.box-3::before {
    content: none;
}

.page-about .our-process-item.box-3 .our-process-item-number {
    border-color: var(--divider-color);
}

.page-about .our-process-item.box-3 .our-process-item-number h2,
.page-about .our-process-item.box-3 .our-process-item-content h3 {
    color: var(--primary-color);
}

.page-about .our-process-item.box-3 .our-process-item-content p {
    color: var(--text-color);
}

.page-about .our-process-item.box-3 .our-process-item-content ul li {
    color: var(--primary-color);
    background-color: var(--bg-color);
}

.page-about .approach-item .icon-box svg {
    width: 26px;
    height: 26px;
    color: #fff;
    transition: color .3s ease;
}

.page-about .approach-item:hover .icon-box svg {
    color: #0C1114;
}

@media (max-width: 991.98px) {
    .projects-cabins {
        padding: 72px 0;
    }

    .page-about .history-item:first-child .history-item-image figure {
        margin-bottom: -30px;
    }

    .page-about .our-process-item .our-process-item-image figure {
        margin-bottom: -30px;
    }
}

@media (max-width: 767.98px) {
    .vertikal-contact-form .form-group {
        margin-bottom: 1rem !important;
    }

    .projects-cabins {
        padding: 56px 0;
    }

    .page-about .history-item:first-child .history-item-image figure {
        margin-bottom: -20px;
    }

    .page-about .our-process-item .our-process-item-image figure {
        margin-bottom: -20px;
    }

    .section-satisfy-img {
        display: block;
        text-align: center;
    }
}
