header .logo-desktop,header .logo-mobile-menu{width:160px;margin:1rem 0}

/******************** FOOTER ********************/
/* Footer claro do Figma (`384002:5530`): fundo #f6f6f6, borda superior 2px, linha do topo com
   logo + "Voltar ao topo", divisor e 4 colunas (Navegação · Soluções · Contato+Siga-nos ·
   Localização com mapa). Estrutura montada em inc/footer.php — edição do include autorizada
   explicitamente pelo usuário em 2026-08-19 (era a única forma de criar os blocos que não
   existiam no markup de fábrica). */
footer{background-color:#f6f6f6;border-top:2px solid #e9e9e9!important;margin-top:3rem}
footer .logo-desktop{max-width:220px;filter:none}
footer h3{margin-top:0;font-size:1.125rem;font-weight:600;color:#4a4848}
footer .footer__nav ul{list-style:none;margin:0}
footer .footer__nav li a:not(.btn){display:block;padding:5px 0;font-size:.875rem;color:#6c6c6c;transition:.3s}
footer .footer__nav li a i{font-size:.625rem}
footer .footer__nav li a:hover{color:var(--primary-color)}
footer .address :is(span,a):not(.btn){display:block;color:#6c6c6c;font-size:.875rem;line-height:25px;transition:.3s}
footer .address a:not(.btn):hover{color:var(--primary-color)}
footer .social .social__icon{--bs-btn-color:var(--primary-color);--bs-btn-border-color:#e9e9e9;--bs-btn-hover-bg:var(--primary-color);--bs-btn-hover-border-color:var(--primary-color);--bs-btn-hover-color:#fff}

footer .footer__topo-link{font-size:.875rem;font-weight:600;color:#6c6c6c;text-decoration:none;transition:.3s}
footer .footer__topo-link:hover{color:var(--primary-color)}
footer .footer__topo-btn{width:44px;height:44px;border-radius:.75rem;flex-shrink:0}
footer .footer__divider{border-top:1px solid #e9e9e9;opacity:1}
footer .footer__mapa iframe{width:100%;max-width:264px;height:164px;border-radius:.5rem}

.copyright-footer-wrap{background-color:#f6f6f6;border-top:1px solid #e9e9e9}
.copyright-footer p{color:#6c6c6c}
.copyright-footer .selos{font-size:.875rem;color:#6c6c6c;text-decoration:none;transition:.3s}
.copyright-footer .selos:hover{color:var(--primary-color)}
@media screen and (max-width: 992.05px) {
  footer .social { justify-content: center; }
  footer .footer__mapa iframe { margin: 0 auto; display: block; }
}

.card.card--23{all:unset;box-sizing:border-box;display:flex;align-items:flex-start;justify-content:space-between;flex-flow:column nowrap;gap:1rem;background-color:var(--dark);background-image:linear-gradient(-45deg,var(--dark),var(--grey)),var(--card-background);background-size:cover;background-repeat:no-repeat;background-position:center;background-blend-mode:multiply,normal;border-radius:1rem;padding:1rem;position:relative;height:100%}
.card.card--23:focus-within,.card.card--23:hover{box-shadow:0 0 0 2px var(--secondary-color)}
.card.card--23 .card__title{color:#fff;font-size:1.25rem;text-shadow:0 0 .25rem var(--dark);margin:0;min-height:calc(1.25rem * 2 * 1.3)}
.card.card--23 .card__link{z-index:1;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;flex-flow:row nowrap;padding:.5rem .75rem;font-size:.875rem;text-transform:uppercase;transition:var(--transition);color:var(--light);font-weight:600;border:2px solid currentColor;border-radius:99px}
.card.card--23 .card__link>span{width:0;max-width:fit-content;opacity:0;transition:var(--transition)}
.card.card--23 .card__link:focus>span,.card.card--23 .card__link:hover>span{width:100px;opacity:1;margin-right:.5rem}
.card.card--23 .card__link::before{content:"";display:block;width:100%;height:100%;position:absolute;left:0;top:0;z-index:-1;backface-visibility:visible}
.card.card--23 .card__link:focus,.card.card--23 .card__link:hover{border-color:var(--primary-color);background-color:var(--primary-color)}

.shadow-19{box-shadow:rgba(50,50,93,.25) 0 2px 5px -1px,rgba(0,0,0,.3) 0 1px 3px -1px}

.title-subtitle{margin-bottom:0}
.title-subtitle span{display:block;font-size:.9rem;color:#000;line-height:1rem;letter-spacing:.25rem;text-transform:uppercase}

/* ================= CLIENTES ================= */
.clientes .clientes__item{display:grid;place-items:center;padding:1rem;border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius);overflow:hidden}
.clientes .clientes__item img{width:100%;aspect-ratio:1/1;object-fit:contain;margin:0 auto;opacity:.75;border-radius:var(--bs-border-radius-sm);transition:opacity var(--transition)}
.clientes .clientes__item:hover img{opacity:1}

/* ================= DEPOIMENTOS ================= */
.testimonial .testimonial-author-image {
  width: 100%;
  max-width: 64px;
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 999px;
}

/******************** PERSONALIZADO ********************/
.container{max-width:1920px; width:90%;}
.btn-figma{padding:.75rem 1rem;border-radius:.75rem}

/******************** HOME ********************/
/* HERO — banner-inc.php (tema 2, --background inline) não tem CSS de suporte no projeto (achado
   de section-builder: var(--background) não é consumida em lugar nenhum, e as regras de
   layout/animação do doutor.css estão presas em `.slick-banner-sig`, que não existe no markup real
   do Splide) — sem isto o banner cadastrado no SIG fica publicado mas invisível/quebrado */
.home-hero .splide__slide{background-image:var(--background);background-position:center;background-size:cover;background-repeat:no-repeat;display:flex;align-items:flex-end}
.home-hero .splide__content.container{max-width:1920px;width:90%;padding-top:7.5rem;padding-bottom:7.5rem}
.home-hero .splide__content p{font-size:1rem;font-weight:600;color:#c3c3c3}
.home-hero .splide__content h2{font-weight:600}
.home-hero .btn-primary{--bs-btn-bg:var(--secondary-color);--bs-btn-border-color:var(--secondary-color);--bs-btn-hover-bg:var(--secondary-color-light);--bs-btn-hover-border-color:var(--secondary-color-light);--bs-btn-active-bg:var(--secondary-color-dark);--bs-btn-active-border-color:var(--secondary-color-dark);--bs-btn-color:#000;--bs-btn-hover-color:#000;--bs-btn-active-color:#000}
@media (max-width:991.98px){
  .home-hero .splide__slide{padding:4rem 0}
}

/* EMPRESA */
.home-empresa{padding:7.5rem 0}
.home-empresa .row{--bs-gutter-x:5.5rem;--bs-gutter-y:5.5rem}
.home-empresa__foto{object-fit:cover}
.home-empresa__line{display:inline-block;width:3rem;height:4px;background-color:var(--bs-primary)}

/* CARD-FIGMA — card compartilhado das seções Serviços e Blog da home (nós `388006:2573` e
   `388012:2613`). Markup autoral em home.php, então nada aqui depende de include do doutor/. */
.card-figma{display:flex;flex-direction:column;overflow:hidden;background-color:#fafafa;border:1px solid #e9e9e9;border-radius:.75rem;box-shadow:0 1px 4px rgba(27,27,27,.05);position:relative;transition:box-shadow .3s}
.card-figma:hover{box-shadow:0 4px 16px rgba(27,27,27,.1)}
.card-figma__img{width:100%;height:20.25rem;object-fit:cover;flex-shrink:0}
.card-figma__img--blog{height:17.5rem}
.card-figma__body{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem;padding:2rem 1.5rem;flex-grow:1}
.card-figma__data{display:inline-block;padding:.25rem .75rem;font-size:.875rem;font-weight:500;line-height:1.5;color:var(--bs-secondary-color);background-color:#fafafa;border:1px solid #e9e9e9;border-radius:.5rem}
.card-figma__texto{display:flex;flex-direction:column;gap:.5rem;width:100%}
.card-figma__titulo{font-size:1.375rem;font-weight:600;line-height:1.2;color:var(--bs-body-color);margin:0}
.card-figma__resumo{font-size:1rem;line-height:1.5;color:var(--bs-secondary-color)}
.card-figma__divisor{width:100%;margin:0;border-top:2px solid #e9e9e9;opacity:1}
.card-figma__btn{margin-top:auto;font-size:.875rem;font-weight:500}
/* Link de texto "Continuar lendo" do card de blog — no Figma não é botão preenchido */
.card-figma__link{margin-top:auto;padding:.5rem .75rem;font-size:.875rem;font-weight:500;color:#4a4848;text-decoration:none;border-radius:.75rem;transition:.3s}
.card-figma__link:hover{color:var(--primary-color)}
/* Chamada compacta (só texto) da coluna lateral do blog — "Card Interno de Blog" no Figma */
.card-figma__compacto{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border-radius:.75rem;transition:background-color .3s}
.card-figma__compacto:hover{background-color:#fafafa}
.card-figma__compacto .card-figma__resumo{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

.home-servicos{padding:7.5rem 0}
.home-blog{padding:7.5rem 0}
@media (max-width:991.98px){
  .home-servicos,.home-blog{padding:4rem 0}
}

/* FORMULARIO_CONTATO — reaproveita o form real de contato.php (mesmos name de campo, mesmo backend
   via inc/form-post.php + contato-envia.php, já wireado globalmente por inc/head.php) */
.home-formulario-contato{position:relative;padding:7.5rem 0;background-image:linear-gradient(-0.12deg,rgba(7,7,7,0) 60.64%,rgba(26,26,26,.9) 99.74%),linear-gradient(-86deg,rgba(7,7,7,0) 6.81%,rgba(26,26,26,.7) 73.95%),url(../imagens/banner/formulario-contato.webp);background-position:center;background-size:cover;background-repeat:no-repeat}
.home-formulario-contato__intro{max-width:75.875rem;margin-bottom:3.5rem}
.home-formulario-contato__subtitle{color:#c3c3c3}
.home-formulario-contato__card{max-width:59.5rem;padding:2.5rem;border-radius:.75rem;background-color:rgba(5,5,5,.6);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.home-formulario-contato__card .form-label{color:#fff}
.home-formulario-contato__card .form-check-label{font-size:.875rem;color:#c3c3c3}
.home-formulario-contato__link{color:#c3c3c3}
@media (max-width:991.98px){
  .home-formulario-contato{padding:4rem 0}
  .home-formulario-contato__card{padding:1.5rem}
}


/******************** SOBRE NÓS ********************/
.sobre-control-plus,.sobre-mvv,.sobre-trajetoria{padding:7.5rem 0}
.sobre-control-plus__foto{aspect-ratio:600/424;object-fit:cover}

/* MVV — cards vêm do include inc/mvv-inc.php (não editável); mesmo tratamento de Serviços/Blog */
.sobre-mvv .py-5{padding-top:0!important;padding-bottom:0!important}
.sobre-mvv .bg-body-secondary{background-color:transparent!important}
.sobre-mvv .card{background-color:#fff;border:1px solid #b0dfdb;border-radius:1rem;box-shadow:0 1px 4px rgba(27,27,27,.05);color:var(--bs-secondary-color)}
.sobre-mvv .card-title{font-size:1.375rem;font-weight:600;color:var(--bs-body-color)}
/* Ícones reais do Figma (SVG baixado via MCP, `#FDC82F` nativo do arquivo) substituindo os glifos
   Font Awesome fixos do include (bullseye/eye/gem) — troca só por CSS, `inc/mvv-inc.php` intocado.
   Ordem dos cards = `ORDER BY id ASC` do include (Missão, Visão, Valores), mesma do cadastro. */
.sobre-mvv .card i{display:block;width:48px;height:48px;font-size:0;line-height:0}
.sobre-mvv .card i::before{content:"";display:block;width:48px;height:48px;background-repeat:no-repeat;background-position:center;background-size:contain}
.sobre-mvv .row>div:nth-child(1) .card i::before{background-image:url(../imagens/icones/mvv-missao.svg)}
.sobre-mvv .row>div:nth-child(2) .card i::before{background-image:url(../imagens/icones/mvv-visao.svg)}
.sobre-mvv .row>div:nth-child(3) .card i::before{background-image:url(../imagens/icones/mvv-valores.svg)}

/* TRAJETÓRIA — faixa horizontal com scroll (11 marcos somam ~3200px, acima dos 1440px do container) */
.sobre-trajetoria__track{display:flex;gap:1.5rem;overflow-x:auto;padding-bottom:1rem}
.sobre-trajetoria__item{flex:0 0 16.8rem;width:16.8rem}
.sobre-trajetoria__head{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}
.sobre-trajetoria__dot{display:flex;flex-shrink:0;color:var(--bs-primary);font-size:1.75rem;line-height:1}
.sobre-trajetoria__ano{font-size:1.375rem;font-weight:600}
.sobre-trajetoria__linha{flex:1 1 auto;height:3px;border-radius:10px;background-color:#e9e9e9}
.sobre-trajetoria__texto{color:var(--bs-secondary-color)}
.sobre-trajetoria__titulo{font-size:1.125rem;font-weight:600;color:var(--bs-body-color)}


/******************** CONTATO ********************/
/* Frame `384002:7551`: card escuro "Fale conosco" + card claro do formulário, e mapa full-bleed.
   O checkbox de Política de Privacidade do Figma foi removido a pedido do usuário (a página não
   existe no site). */
.contato-form{padding:7.5rem 0}
.contato-infos{display:flex;flex-direction:column;gap:1.5rem;padding:2.5rem 1.5rem;background-color:#1b1b1b;border-radius:.75rem}
.contato-infos__titulo{font-size:2.5rem;font-weight:600;color:#fff;margin:0}
.contato-infos__intro{font-size:1rem;line-height:1.5;color:#c3c3c3;margin:0}
.contato-infos__item{display:flex;align-items:flex-start;gap:.75rem}
.contato-infos__item>i{flex-shrink:0;width:2rem;font-size:1.25rem;line-height:1.6;color:var(--secondary-color);text-align:center}
.contato-infos__label{display:block;font-size:1rem;font-weight:600;color:#fff;margin-bottom:.25rem}
.contato-infos__valor{display:block;font-size:1rem;font-style:normal;line-height:1.5;color:#c3c3c3;text-decoration:none;transition:.3s}
a.contato-infos__valor:hover{color:var(--secondary-color)}

.contato-card{display:flex;flex-direction:column;gap:1.5rem;padding:2rem;background-color:#fafafa;border:1px solid #e9e9e9;border-radius:.75rem}
.contato-card__head{display:flex;align-items:center;gap:.75rem;font-size:1rem;font-weight:600;color:var(--bs-body-color)}
.contato-card__head>i{font-size:1.5rem;color:var(--primary-color)}
.contato-card__btn{font-size:.875rem;font-weight:500}

.contato-mapa{line-height:0}
.contato-mapa .contato-map{width:100%;min-height:311px;border:0;display:block}
@media (max-width:991.98px){
  .contato-form{padding:4rem 0}
  .contato-infos__titulo{font-size:2rem}
}


/******************** SOLUÇÕES (servicos.php) ********************/
/* COMO_TRABALHAMOS — seção `388018:2712` do frame "Serviços"; 5 cards numerados, sem equivalente
   no catálogo de includes, composta com Bootstrap + classes novas */
.servicos-processo{padding:7.5rem 0}
.servicos-processo__card{display:flex;flex-direction:column;gap:1rem;padding:2rem 1.5rem;background-color:#fafafa;border:1px solid #eee;border-radius:1rem;box-shadow:0 1px 4px rgba(27,27,27,.05);color:var(--bs-secondary-color)}
.servicos-processo__num{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;font-size:2rem;font-weight:600;line-height:1;color:var(--bs-primary);background-color:#fafafa;border:1px solid #eee;border-radius:.5rem;box-shadow:0 1px 4px rgba(27,27,27,.05)}
@media (max-width:991.98px){.servicos-processo{padding:4rem 0}}


/******************** BANNER ********************/


.splide-banner {
  height: 800px !important;
}

.splide-banner .splide__slide {
  height: 800px !important;
}

.splide-banner .splide__content {
  align-items: start !important;
}

/* ================= HOME - CARDS DE SERVIÇOS ================= */

.home-servicos .row{
  --bs-gutter-x: 3.5rem;
  --bs-gutter-y: 2rem;
}
.home-servicos .row > div {
  display: flex;
}

.home-servicos .card {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 1px solid #e9e9e9;
  border-radius: .75rem;
  background-color: #fafafa;
  box-shadow: 0 1px 4px rgba(27,27,27,.05);
}

.home-servicos .card-img-top {
  width: 100%;
  height: 20.25rem;
  object-fit: cover;
}

.home-servicos .card-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.5rem;
}

.home-servicos .card-title {
  margin: 0;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.2;
}

.home-servicos .card-text {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--bs-secondary-color);
}

.home-servicos .card .btn {
  margin-top: auto;
  font-size: .875rem;
  font-weight: 500;
  text-transform: uppercase;
}


/* Desktop */
@media (min-width: 992px) {
  .home-servicos .row {
    justify-content: center;
  }

  .home-servicos .row > div {
    max-width: 33.333333%;
  }
}


/* Tablet */
@media (max-width: 991.98px) {
  .home-servicos .card-img-top {
    height: 18rem;
  }
}


/* Celular */
@media (max-width: 575.98px) {
  .home-servicos .card-img-top {
    height: 16rem;
  }

  .home-servicos .card-body {
    padding: 1.25rem;
  }
}

/* =========================================
   ÁREA DOS DOIS VÍDEOS
========================================= */

.video-row {
  width: 1560px !important;
  max-width: 100% !important;

  margin: 0 auto !important;

  display: flex;
  justify-content: space-between;
  align-items: flex-start;

  padding: 0 !important;
}


/* =========================================
   COLUNA DE CADA VÍDEO
========================================= */

.video-col {
  width: 705px !important;
  max-width: 705px !important;

  flex: 0 0 705px !important;

  padding: 0 !important;
}


/* =========================================
   VÍDEO
========================================= */

.iframe-small-video {
  width: 705px !important;
  height: 474px !important;

  max-width: 100% !important;

  margin: 20px auto 0 !important;

  position: relative;

  overflow: hidden;
}


/* =========================================
   IFRAME
========================================= */

.iframe-small-video iframe {
  width: 100% !important;
  height: 100% !important;

  display: block;

  border: none !important;
}


/* =========================================
   TÍTULO
========================================= */

.video-col h3 {
  text-align: center;

  margin: 0 0 20px;

  font-size: 28px;
  line-height: 1.2;
}


/* =========================================
   RESPONSIVO
========================================= */

@media (max-width: 1600px) {

  .video-row {
    width: 95% !important;
    gap: 30px;
  }

  .video-col {
    width: calc(50% - 15px) !important;
    max-width: none !important;
    flex: 1 1 50% !important;
  }

  .iframe-small-video {
    width: 100% !important;
    height: auto !important;

    aspect-ratio: 16 / 9;
  }
}


@media (max-width: 768px) {

  .video-row {
    width: 100% !important;

    display: flex;
    flex-direction: column;

    gap: 30px;
  }

  .video-col {
    width: 100% !important;
    max-width: 100% !important;

    flex: none !important;
  }

  .iframe-small-video {
    width: 100% !important;
    height: auto !important;

    aspect-ratio: 16 / 9;
  }

  .video-col h3 {
    font-size: 22px;
  }
}


/* =========================================================
   SASVIA GEN2
   PÁGINA DO PRODUTO
   LAYOUT FIEL À ARTE
   LARGURA TOTAL DO SIG
========================================================= */


/* =========================================================
   BASE
========================================================= */

.sasvia-page {
    width: 100vw !important;
    max-width: 100vw !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding: 0 !important;

    background: #ffffff;
    color: #222222;

    overflow: hidden;
}

.sasvia-page *,
.sasvia-page *::before,
.sasvia-page *::after {
    box-sizing: border-box;
}

.sasvia-page img {
    display: block;

    max-width: 100%;
    height: auto;
}


/* =========================================================
   CONTAINER INTERNO
   O FUNDO OCUPA A TELA TODA.
   O CONTEÚDO FICA CENTRALIZADO.
========================================================= */

.sasvia-container {
    width: 100% !important;
    max-width: 1320px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 40px;
    padding-right: 40px;
}


/* =========================================================
   SEÇÕES
   CADA FUNDO OCUPA A LARGURA TOTAL DA TELA.
========================================================= */

.sasvia-section {
    width: 100vw !important;
    max-width: 100vw !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    margin-top: 0;
    margin-bottom: 0;

    padding: 90px 0;
}


/* =========================================================
   CABEÇALHO DAS SEÇÕES
========================================================= */

.sasvia-section-header {
    width: 100%;
    max-width: 800px;

    margin: 0 0 55px;
}

.sasvia-section-header h2 {
    margin: 10px 0 15px;

    color: #242424;

    font-size: 42px;
    line-height: 1.1;
    font-weight: 700;
}

.sasvia-section-header p {
    margin: 0;

    color: #666666;

    font-size: 18px;
    line-height: 1.6;
}


/* =========================================================
   LABEL
========================================================= */

.sasvia-label {
    display: inline-block;

    margin: 0;

    color: #007f6c;

    font-size: 13px;
    font-weight: 700;

    line-height: 1.2;

    letter-spacing: 2px;

    text-transform: uppercase;
}


/* =========================================================
   HERO
========================================================= */

.sasvia-hero {
    width: 100vw !important;
    max-width: 100vw !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    margin-top: 0;
    margin-bottom: 0;

    padding: 0;

    background: #242424;

    color: #ffffff;

    overflow: hidden;
}

.sasvia-hero .sasvia-container {
    min-height: 620px;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    gap: 60px;

    align-items: center;
}

.sasvia-hero-content {
    width: 100%;

    padding: 60px 0;
}

.sasvia-hero-content h1 {
    margin: 18px 0 25px;

    color: #ffffff;

    font-size: 52px;
    line-height: 1.08;
    font-weight: 700;
}

.sasvia-hero-content p {
    width: 100%;
    max-width: 650px;

    margin: 0;

    color: #d4d4d4;

    font-size: 18px;
    line-height: 1.7;
}


/* =========================================================
   IMAGEM DO HERO
========================================================= */

.sasvia-hero-image {
    width: 100%;
    height: auto;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;
}

.sasvia-hero-image img {
    width: 100%;
    max-width: 600px;

    height: auto;

    object-fit: contain;
}


/* =========================================================
   GRID
========================================================= */

.sasvia-grid {
    width: 100%;

    display: grid;

    gap: 24px;
}

.sasvia-grid-2 {
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
}

.sasvia-grid-3 {
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
}


/* =========================================================
   TECNOLOGIA
========================================================= */

.sasvia-tecnologia {
    background: #f5f5f5;
}

.sasvia-card {
    width: 100%;

    padding: 38px;

    background: #ffffff;

    border: 1px solid #e7e7e7;

    border-radius: 16px;
}

.sasvia-card-number {
    display: block;

    margin-bottom: 20px;

    color: #007f6c;

    font-size: 14px;
    font-weight: 700;
}

.sasvia-card h3 {
    margin: 0 0 15px;

    color: #242424;

    font-size: 25px;
    line-height: 1.2;
}

.sasvia-card p {
    margin: 0;

    color: #666666;

    line-height: 1.7;
}


/* =========================================================
   CARACTERÍSTICAS
========================================================= */

.sasvia-caracteristicas {
    background: #ffffff;
}

.sasvia-feature {
    width: 100%;

    padding: 30px;

    background: #f5f5f5;

    border-radius: 14px;

    transition:
        transform .3s ease,
        background .3s ease;
}

.sasvia-feature:hover {
    transform: translateY(-5px);

    background: #ededed;
}

.sasvia-feature-icon {
    width: 55px;
    height: 55px;

    margin-bottom: 22px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #007f6c;

    color: #ffffff;

    font-size: 12px;
    font-weight: 700;

    text-align: center;
}

.sasvia-feature h3 {
    margin: 0 0 10px;

    color: #242424;

    font-size: 20px;
    line-height: 1.25;
}

.sasvia-feature p {
    margin: 0;

    color: #666666;

    line-height: 1.6;
}


/* =========================================================
   DANGER ZONE
========================================================= */

.sasvia-danger {
    background: #242424;

    color: #ffffff;
}

.sasvia-danger-grid {
    width: 100%;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    gap: 70px;

    align-items: center;
}

.sasvia-danger-content h2 {
    margin: 15px 0 5px;

    color: #ffffff;

    font-size: 48px;
    line-height: 1.1;
}

.sasvia-danger-title {
    display: block;

    margin-bottom: 25px;

    color: #00a88f;

    font-size: 20px;
    font-weight: 600;
}

.sasvia-danger-content > p {
    max-width: 600px;

    margin: 0;

    color: #cccccc;

    line-height: 1.7;
}

.sasvia-danger-list {
    margin-top: 35px;
}

.sasvia-danger-list > div {
    display: flex;

    gap: 18px;

    padding: 18px 0;

    color: #dddddd;

    border-bottom: 1px solid #444444;
}

.sasvia-danger-list strong {
    flex: 0 0 auto;

    color: #00a88f;
}


/* =========================================================
   IMAGEM DANGER ZONE
========================================================= */

.sasvia-danger-image {
    width: 100%;
    height: auto;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;
}

.sasvia-danger-image img {
    width: 100%;
    max-width: 100%;

    height: auto;

    display: block;

    object-fit: contain;
}


/* =========================================================
   CARACTERÍSTICAS TÉCNICAS
========================================================= */

.sasvia-tecnica {
    background: #ffffff;
}

.sasvia-tech-card {
    width: 100%;

    overflow: hidden;

    background: #f5f5f5;

    border-radius: 16px;
}

.sasvia-tech-image {
    width: 100%;
    height: auto;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 25px;

    background: #e9e9e9;

    overflow: hidden;
}

.sasvia-tech-image img {
    width: 100%;
    max-width: 100%;

    height: auto;

    display: block;

    object-fit: contain;
}

.sasvia-tech-content {
    padding: 35px;
}

.sasvia-tech-number {
    color: #007f6c;

    font-size: 13px;
    font-weight: 700;
}

.sasvia-tech-content h3 {
    margin: 10px 0 5px;

    color: #242424;

    font-size: 28px;
    line-height: 1.2;
}

.sasvia-tech-subtitle {
    display: block;

    margin-bottom: 20px;

    color: #666666;
}

.sasvia-tech-content ul {
    margin: 20px 0 0;

    padding-left: 20px;
}

.sasvia-tech-content li {
    margin-bottom: 10px;

    color: #555555;

    line-height: 1.5;
}


/* =========================================================
   INTEGRAÇÃO WEB
========================================================= */

.sasvia-web {
    background: #f5f5f5;
}

.sasvia-web-grid {
    width: 100%;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    gap: 70px;

    align-items: center;
}

.sasvia-web-image {
    width: 100%;
    height: auto;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;
}

.sasvia-web-image img {
    width: 100%;
    max-width: 100%;

    height: auto;

    display: block;

    object-fit: contain;
}

.sasvia-web-content h2 {
    margin: 15px 0 25px;

    color: #242424;

    font-size: 44px;
    line-height: 1.1;
}

.sasvia-web-content p {
    margin-bottom: 16px;

    color: #555555;

    line-height: 1.7;
}

.sasvia-stat {
    display: flex;

    flex-direction: column;

    gap: 8px;

    margin-top: 35px;

    padding: 25px;

    background: #242424;

    border-radius: 12px;

    color: #ffffff;
}

.sasvia-stat strong {
    color: #00a88f;

    font-size: 30px;
}


/* =========================================================
   72 HORAS
========================================================= */

.sasvia-72h {
    background: #ffffff;
}

.sasvia-72h-grid {
    width: 100%;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    gap: 70px;

    align-items: center;
}

.sasvia-72h-content h2 {
    margin: 15px 0 25px;

    color: #242424;

    font-size: 44px;
    line-height: 1.1;
}

.sasvia-72h-content p {
    color: #555555;

    line-height: 1.7;
}

.sasvia-72h-image {
    width: 100%;
    height: auto;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;
}

.sasvia-72h-image img {
    width: 100%;
    max-width: 100%;

    height: auto;

    display: block;

    object-fit: contain;
}


/* =========================================================
   IMAGENS GRANDES
   A IMAGEM DEFINE A ALTURA.
   NÃO FORÇAMOS min-height.
========================================================= */

.sasvia-large-image {
    width: 100%;
    height: auto;

    min-height: 0;

    margin: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;

    background: transparent;
}

.sasvia-large-image img {
    width: 100%;
    max-width: 100%;

    height: auto !important;

    min-height: 0 !important;

    display: block;

    object-fit: contain;
}


/* =========================================================
   VEÍCULOS
========================================================= */

.sasvia-veiculos {
    background: #ffffff;
}


/* =========================================================
   APLICAÇÕES
========================================================= */

.sasvia-aplicacoes {
    background: #f5f5f5;
}


/* =========================================================
   PONTE ROLANTE
========================================================= */

.sasvia-ponte {
    background: #ffffff;
}


/* =========================================================
   BENEFÍCIOS
========================================================= */

.sasvia-beneficios {
    background: #f5f5f5;
}

.sasvia-beneficios-grid {
    width: 100%;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 24px;
}

.sasvia-beneficio {
    width: 100%;

    padding: 30px;

    background: #ffffff;

    border-radius: 14px;
}

.sasvia-beneficio > span {
    display: block;

    margin-bottom: 20px;

    color: #007f6c;

    font-size: 13px;
    font-weight: 700;
}

.sasvia-beneficio h3 {
    margin: 0 0 12px;

    color: #242424;

    font-size: 21px;
    line-height: 1.25;
}

.sasvia-beneficio p {
    margin: 0;

    color: #666666;

    line-height: 1.6;
}


/* =========================================================
   COMPROMISSO
========================================================= */

.sasvia-compromisso {
    background: #242424;

    color: #ffffff;
}

.sasvia-compromisso-grid {
    width: 100%;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    gap: 70px;

    align-items: center;
}

.sasvia-compromisso-image {
    width: 100%;
    height: auto;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;
}

.sasvia-compromisso-image img {
    width: 100%;
    max-width: 100%;

    height: auto;

    display: block;

    object-fit: contain;
}

.sasvia-compromisso-content h2 {
    margin: 15px 0 20px;

    color: #00a88f;

    font-size: 52px;
    line-height: 1.1;
}

.sasvia-compromisso-content p {
    color: #cccccc;

    line-height: 1.7;
}


/* =========================================================
   DESKTOP GRANDE
========================================================= */

@media (min-width: 1400px) {

    .sasvia-container {
        max-width: 1400px !important;

        padding-left: 50px;
        padding-right: 50px;
    }
}


/* =========================================================
   TABLET GRANDE
========================================================= */

@media (max-width: 1100px) {

    .sasvia-container {
        padding-left: 30px;
        padding-right: 30px;
    }

    .sasvia-hero .sasvia-container,
    .sasvia-danger-grid,
    .sasvia-web-grid,
    .sasvia-72h-grid,
    .sasvia-compromisso-grid {
        gap: 45px;
    }

    .sasvia-grid-3,
    .sasvia-beneficios-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 767px) {

    .sasvia-section {
        padding: 60px 0;
    }

    .sasvia-container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .sasvia-hero .sasvia-container,
    .sasvia-danger-grid,
    .sasvia-web-grid,
    .sasvia-72h-grid,
    .sasvia-compromisso-grid {
        grid-template-columns: 1fr;

        gap: 40px;
    }

    .sasvia-hero .sasvia-container {
        min-height: auto;
    }

    .sasvia-hero-content {
        padding: 60px 0 0;
    }

    .sasvia-hero-content h1 {
        font-size: 40px;
    }

    .sasvia-hero-content p {
        font-size: 17px;
    }

    .sasvia-section-header h2 {
        font-size: 36px;
    }

    .sasvia-danger-content h2,
    .sasvia-web-content h2,
    .sasvia-72h-content h2 {
        font-size: 36px;
    }

    .sasvia-compromisso-content h2 {
        font-size: 42px;
    }

    .sasvia-grid-2,
    .sasvia-grid-3,
    .sasvia-beneficios-grid {
        grid-template-columns: 1fr;
    }

    .sasvia-card,
    .sasvia-feature,
    .sasvia-beneficio {
        padding: 25px;
    }

    .sasvia-hero-image,
    .sasvia-danger-image,
    .sasvia-web-image,
    .sasvia-72h-image,
    .sasvia-compromisso-image {
        width: 100%;
    }
}


/* =========================================================
   CELULAR
========================================================= */

@media (max-width: 480px) {

    .sasvia-section {
        padding: 50px 0;
    }

    .sasvia-container {
        padding-left: 16px;
        padding-right: 16px;
    }

    .sasvia-hero-content {
        padding-top: 45px;
    }

    .sasvia-hero-content h1 {
        font-size: 34px;
    }

    .sasvia-hero-content p {
        font-size: 16px;
    }

    .sasvia-section-header h2 {
        font-size: 32px;
    }

    .sasvia-danger-content h2,
    .sasvia-web-content h2,
    .sasvia-72h-content h2 {
        font-size: 32px;
    }

    .sasvia-compromisso-content h2 {
        font-size: 38px;
    }

    .sasvia-tech-content {
        padding: 28px;
    }
}