/* Estilos da página Cabotagem. */

.cabotagem-hero {
  --hero-h: 42.375rem;
  --hero-pad-top: 9.0625rem;
  --hero-pad-bottom: 8.6875rem;
  --hero-indent-a: 2.5rem;
  --hero-indent-b: 3.25rem;

  position: relative;
  display: flex;
  align-items: flex-start;
  min-height: var(--hero-h);
  padding-block: var(--hero-pad-top) var(--hero-pad-bottom);
  background: var(--lp-grad-deep);
  color: var(--lp-white);
  overflow: hidden;
}

.cabotagem-hero__scene {
  position: absolute;
  inset-block: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(var(--lp-container), 100% - var(--lp-gutter) * 2);
  pointer-events: none;
}

.cabotagem-hero__scene img {
  position: absolute;
  inset-block: 0;
  height: 100%;
  width: auto;
  max-width: none;
}

.cabotagem-hero__shape--1 { left: 4.25rem; }
.cabotagem-hero__shape--2 { left: 27.5rem; }
.cabotagem-hero__photo { right: -2.5rem; }

.cabotagem-hero__inner {
  position: relative;
  z-index: 1;
}

.cabotagem-hero__title {
  margin-block: var(--lp-sp-6) var(--lp-sp-8);
  color: var(--lp-white);
  font-size: var(--lp-fs-h1);
  line-height: 1.107;
}

.cabotagem-hero__line { display: block; }
.cabotagem-hero__line--a { margin-inline-start: var(--hero-indent-a); }
.cabotagem-hero__line--b { margin-inline-start: var(--hero-indent-b); }
.cabotagem-hero__title strong { font-weight: 700; }

.cabotagem-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.875rem;
}

@media (max-width: 1199px) {
  .cabotagem-hero {
    --hero-h: auto;
    --hero-pad-top: var(--lp-sp-16);
    --hero-pad-bottom: 0rem;
    --hero-indent-a: 0rem;
    --hero-indent-b: 0rem;

    display: block;
  }

  .cabotagem-hero__scene {
    position: relative;
    left: auto;
    width: 100%;
    margin-block-start: var(--lp-sp-12);
    transform: none;
  }

  .cabotagem-hero__shape { display: none; }

  .cabotagem-hero__scene .cabotagem-hero__photo {
    position: relative;
    inset: auto;
    display: block;
    width: min(100% - var(--lp-gutter) * 2, 22rem);
    height: auto;
    margin-inline: auto;
  }
}

@media (max-width: 768px) {

  .cabotagem-hero__title { font-size: var(--lp-fs-h2); }
}

[data-lp-js] .cabotagem-hero__shape {
  opacity: 0;
  transform: translateX(4.375rem);
}

[data-lp-js] .cabotagem-hero__photo { transform: translateX(5rem);  }

[data-lp-js] .cabotagem-hero__inner .lp-eyebrow,
[data-lp-js] .cabotagem-hero__line,
[data-lp-js] .cabotagem-hero__actions > * {
  opacity: 0;
  transform: translateY(1.5rem);
}

[data-lp-js] .cabotagem-hero.is-hero-pronto .cabotagem-hero__shape,
[data-lp-js] .cabotagem-hero.is-hero-pronto .cabotagem-hero__photo,
[data-lp-js] .cabotagem-hero.is-hero-pronto .lp-eyebrow,
[data-lp-js] .cabotagem-hero.is-hero-pronto .cabotagem-hero__line,
[data-lp-js] .cabotagem-hero.is-hero-pronto .cabotagem-hero__actions > * {
  opacity: 1;
  transform: none;
}

.cabotagem-simulador,
.cabotagem-materiais { background: var(--lp-bg-soft); }

.cabotagem-simulador {
  position: relative;
  overflow: hidden;
  padding-block: 7rem 5.625rem;
}

.cabotagem-simulador::after {
  content: "";
  position: absolute;
  inset-block: 0;
  left: calc(100% - 2.75rem);
  width: 50vw;
  background: var(--lp-bg-softer);
  transform: skewX(-10deg);
  transform-origin: top;
  pointer-events: none;
}

.cabotagem-simulador > .lp-container {
  position: relative;
  z-index: 1;
}

.cabotagem-simulador__modulo {
  margin-block-start: 3.75rem;
  min-height: 34rem;
}

@media (max-width: 768px) {
  .cabotagem-simulador {
    padding-block: var(--lp-sp-16) var(--lp-sp-12);
  }

  .cabotagem-simulador::after { display: none; }
}

.cabotagem-oque {
  --lp-titulo-medida: 30rem;

  padding-block: 7rem 7.625rem;
}

.cabotagem-oque__grid {
  display: grid;
  grid-template-columns: 1fr 25.25rem;
  gap: 4rem;
  align-items: center;
}

.cabotagem-video {
  position: relative;
  margin: 0;
  aspect-ratio: 9 / 16;
  border-radius: var(--lp-radius-card);
  overflow: hidden;

  isolation: isolate;
  box-shadow: var(--lp-sh-card);
}

.cabotagem-video__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s var(--lp-ease);
}

.cabotagem-video__caption {
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  padding: 0 1.9375rem 2.0625rem;
  color: var(--lp-white);
}

.cabotagem-video__play {
  display: block;
  width: 3.875rem;
  line-height: 0;
  margin-block-end: var(--lp-sp-6);
  transition: transform 0.3s var(--lp-ease);
}

.cabotagem-video__trigger {
  position: absolute;
  inset: 0;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.cabotagem-video:hover .cabotagem-video__img,
.cabotagem-video:focus-within .cabotagem-video__img { transform: scale(1.05); }

.cabotagem-video:hover .cabotagem-video__play,
.cabotagem-video:focus-within .cabotagem-video__play { transform: scale(1.1); }

.cabotagem-video__trigger:focus-visible {
  outline: 3px solid var(--lp-white);
  outline-offset: -5px;
}

.cabotagem-video__frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.cabotagem-video.is-playing .cabotagem-video__caption,
.cabotagem-video.is-playing .cabotagem-video__trigger { display: none; }

@media (prefers-reduced-motion: reduce) {
  .cabotagem-video__img,
  .cabotagem-video__play { transition: none; }
}

.cabotagem-video__title {
  color: var(--lp-white);
  font-size: var(--lp-fs-h5);
  font-weight: 700;
}

.cabotagem-video__meta {
  margin: var(--lp-sp-2) 0 0;
  color: var(--lp-light-blue);
  font-size: var(--lp-fs-sm);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

@media (max-width: 992px) {
  .cabotagem-oque {
    padding-block: var(--lp-sp-16);
  }

  .cabotagem-oque__grid {
    grid-template-columns: 1fr;
    gap: var(--lp-sp-12);
  }

  .cabotagem-video {
    inline-size: min(100%, 25.25rem);
    justify-self: center;
  }
}

.cabotagem-comparativo,
.cabotagem-contato {
  background: var(--lp-deep-blue);
}

.cabotagem-comparativo,
.cabotagem-sobre,
.cabotagem-contato { color: var(--lp-light-blue); }

.cabotagem-comparativo .lp-section__title,
.cabotagem-sobre .lp-section__title,
.cabotagem-contato .lp-section__title { color: var(--lp-white); }

.cabotagem-comparativo .lp-eyebrow,
.cabotagem-contato .lp-eyebrow { background: var(--lp-blue-text); }

.cabotagem-comparativo .lp-section__lead,
.cabotagem-sobre .lp-section__lead,
.cabotagem-contato .lp-section__lead { color: var(--lp-light-blue); }

.cabotagem-comparativo {
  --comp-painel: #062b6d;
  --comp-faixa: rgba(193, 209, 232, 0.2);
  --comp-shape-lg: rgba(255, 255, 255, 0.05);
  --comp-shape-sm: rgba(255, 255, 255, 0.07);
  --comp-celula: #eff6ff;
  --comp-celula-alt: #f6faff;
  --comp-rota-2: #0a5493;
  --comp-rota-3: #3f83c4;

  position: relative;
  overflow: hidden;
  padding-block: 7rem;
}

.cabotagem-comparativo::before {
  content: "";
  position: absolute;
  inset-block: 0;
  left: calc(50% - var(--lp-container) / 2 + 5.6875rem);
  width: 16rem;
  background: var(--comp-shape-lg);
  transform: skewX(-10deg);
  transform-origin: top;
  pointer-events: none;
}

.cabotagem-comparativo > .lp-container { position: relative; }

.comp-painel {
  margin-block-start: 1.75rem;

  padding: 4.625rem var(--lp-sp-10) var(--lp-sp-10);
  background-color: var(--comp-painel);
  background-image: linear-gradient(var(--comp-faixa), var(--comp-faixa));
  background-repeat: no-repeat;
  background-size: 100% 2.125rem;
  background-position: top;
}

.comp-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--lp-sp-8);
  margin: 0;
  padding: 0;
  list-style: none;
}

.comp-card {
  padding: var(--lp-sp-8);
}

.comp-card--atual { background: var(--lp-deep-blue); }
.comp-card--recomendado { background: var(--lp-blue-text); color: var(--lp-white); }

.comp-card--economia {
  background: var(--lp-white);
  color: var(--lp-slate);
  font-family: var(--lp-ff-heading);
}

.comp-card__tag {
  margin: var(--lp-sp-2) 0 var(--lp-sp-2);
  font-size: var(--lp-fs-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.comp-card__titulo {
  margin-block-end: var(--lp-sp-5);
  color: inherit;
  font-size: var(--lp-fs-h5);
  font-weight: 700;
}

.comp-card--recomendado .comp-card__titulo,
.comp-card--atual .comp-card__titulo { color: var(--lp-white); }

.comp-card__desc {
  margin: 0;
  font-size: var(--lp-fs-sm);
  line-height: var(--lp-lh-lead);
}

.comp-card--economia .comp-card__tag {
  color: var(--lp-slate);
  letter-spacing: normal;
  font-weight: 400;
  text-transform: none;
  font-size: var(--lp-fs-md);
}

.comp-card__numero {
  margin: 0 0 var(--lp-sp-2);
  color: var(--lp-blue-text);
  font-size: var(--lp-fs-display);
  font-weight: 700;
  line-height: 1;
}

.comp-card--economia .comp-card__desc {
  color: var(--lp-deep-blue);
  font-weight: 700;
  font-size: var(--lp-fs-body);
}

.comp-bloco {
  margin-block-start: var(--lp-sp-10);
  padding-block-start: var(--lp-sp-10);
  border-top: 2px solid var(--comp-faixa);
}

.comp-bloco__head {
  display: flex;
  align-items: center;
  gap: var(--lp-sp-4);
  margin-block-end: var(--lp-sp-6);
}

.comp-bloco__tag {
  margin: 0;
  color: var(--lp-light-blue);
  font-size: var(--lp-fs-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.comp-bloco__titulo {
  color: var(--lp-white);
  font-size: var(--lp-fs-h6);
  font-weight: 700;
}

.comp-bloco--capacidade {
  margin: var(--lp-sp-8) -2.5rem -2.5rem;
  padding: 2.5rem;
  position: relative;
  overflow: hidden;
  background: var(--lp-blue-text);
  border-top: 0;
}

.comp-bloco--capacidade::before {
  content: "";
  position: absolute;
  inset-block: 0;
  right: 1.875rem;
  width: 11.25rem;
  background: var(--comp-shape-sm);
  transform: skewX(-10deg);
  transform-origin: top;
  pointer-events: none;
}

.comp-bloco--capacidade > * { position: relative; }

.comp-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.comp-scroll:focus-visible {
  outline: 2px solid var(--lp-white);
  outline-offset: 2px;
}

.comp-tabela {
  width: 100%;
  min-width: 56rem;

  --comp-vao: var(--comp-painel);
  border-collapse: collapse;
  font-size: var(--lp-fs-sm);
  text-align: left;
}

.comp-tabela thead th[colspan] { text-align: center; }

.comp-tabela th,
.comp-tabela td {
  border: 0;
  border-block-start: 2px solid var(--comp-vao);
  border-inline-start: 2px solid var(--comp-vao);
}

.comp-tabela--capacidade { --comp-vao: var(--lp-blue); }

.comp-tabela thead th {
  padding: var(--lp-sp-3) var(--lp-sp-4);
  background: var(--lp-deep-blue);
  color: var(--lp-white);
  font-size: var(--lp-fs-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.comp-tabela .comp-total--rod { background: var(--lp-blue-800); }

.comp-tabela td {
  padding: var(--lp-sp-4);
  background: var(--comp-celula);
  color: var(--lp-deep-blue);
  vertical-align: top;
}

.comp-rota {
  width: 9.375rem;
  padding: var(--lp-sp-4);
  color: var(--lp-white);
  font-weight: 700;
  text-align: left;
  vertical-align: middle;
}

.comp-rota img { display: block; margin-block-end: var(--lp-sp-6); }
.comp-rota--1 { background: var(--lp-blue-text); }
.comp-rota--2 { background: var(--comp-rota-2); }
.comp-rota--3 { background: var(--comp-rota-3); }

.comp-etapa--porto { background: var(--comp-celula-alt); }
.comp-etapa__icone { display: block; margin-block-end: var(--lp-sp-4); }

.comp-etapa__valor {
  display: block;
  font-weight: 700;
  line-height: var(--lp-lh-body);
}

.comp-etapa--porto .comp-etapa__valor {
  color: var(--lp-blue-text);
  font-weight: 400;
}

.comp-etapa__nota {
  display: block;
  margin-block-start: var(--lp-sp-4);
  color: var(--lp-slate);
  font-size: var(--lp-fs-xs);
}

.comp-total {
  background: var(--lp-deep-blue);
  color: var(--lp-white);
  font-weight: 700;
  vertical-align: middle;
}

td.comp-total--rod {
  background: var(--lp-blue-800);
  color: var(--lp-white);
}

.comp-spec-head,
.comp-spec {
  width: 11.25rem;
  text-align: left;
  vertical-align: middle;
}

.comp-spec {
  padding: var(--lp-sp-4);
  background: var(--lp-deep-blue);
  color: var(--lp-white);
  font-size: var(--lp-fs-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.comp-spec img { display: block; margin-block-end: var(--lp-sp-3); }

.comp-tabela--capacidade .comp-col {
  background: var(--comp-celula-alt);
  color: var(--lp-deep-blue);
  font-size: var(--lp-fs-sm);
  letter-spacing: normal;
  text-transform: none;
}

.comp-col img { display: block; margin: 0 0 var(--lp-sp-3); }

.comp-tabela--capacidade td { vertical-align: middle; font-weight: 700; }
.comp-tabela--capacidade td.is-rodo { background: var(--comp-celula-alt); }

.comp-tabela--capacidade td.is-pendente {
  color: var(--lp-slate);
  font-weight: 400;
}

.comp-nota {
  margin: var(--lp-sp-6) 0 0;
  color: var(--lp-white);
  font-size: var(--lp-fs-sm);
}

.comp-nota--final {
  margin-block-start: var(--lp-sp-8);
  max-width: 50rem;
  color: var(--lp-light-blue);
  font-size: var(--lp-fs-sm);
}

@media (max-width: 768px) {
  .cabotagem-comparativo { padding-block: var(--lp-sp-16); }
  .comp-painel { padding: var(--lp-sp-6); }
  .comp-cards { grid-template-columns: 1fr; gap: var(--lp-sp-4); }
  .comp-bloco--capacidade { margin-inline: calc(var(--lp-sp-6) * -1); padding-inline: var(--lp-sp-6); }
}

.cabotagem-economia {
  position: relative;
  overflow: hidden;
  padding-block: 5rem 5.1875rem;
  background: var(--lp-grad-banner);
  color: var(--lp-white);
  text-align: center;
}

.cabotagem-economia::before {
  content: "";
  position: absolute;
  inset-block: 0;
  left: calc(50% - var(--lp-container) / 2 + 45.5625rem);
  width: 12.5rem;
  background: var(--lp-shape-veil);
  transform: skewX(-10deg);
  transform-origin: top;
  pointer-events: none;
}

.cabotagem-economia > .lp-container { position: relative; }

.cabotagem-economia__arte {
  margin: 0;
  line-height: 0;
}

.cabotagem-economia__arte img {
  display: block;
  width: 80%;
  height: auto;
  margin-inline: auto;
}

.cabotagem-economia .lp-btn { margin-block-start: var(--lp-sp-12); }

@media (max-width: 768px) {
  .cabotagem-economia { padding-block: var(--lp-sp-16) var(--lp-sp-12); }
  .cabotagem-economia::before { display: none; }
}

.cabotagem-materiais {
  --lp-titulo-medida: 34rem;

  padding-block: 6.8125rem 7.0625rem;
}

.mat-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--lp-sp-8);
  margin: 3.75rem 0 0;
  padding: 0;
  list-style: none;
}

.mat-card {
  padding: 2.25rem;
  background: var(--lp-white);
  border-radius: var(--lp-radius-card);
  box-shadow: var(--lp-sh-card-soft);
}

.mat-card__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0;
  color: var(--lp-meta);
  font-size: var(--lp-fs-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mat-card__tag {
  padding: 0.5rem var(--lp-sp-3);
  background: var(--lp-blue-800);
  color: var(--lp-white);
  line-height: 1;
}

.mat-card__titulo {
  margin-block: var(--lp-sp-6) var(--lp-sp-5);
  font-size: var(--lp-fs-h5);
  font-weight: 700;
  line-height: 1.33;
}

@media (max-width: 768px) {
  .cabotagem-materiais { padding-block: var(--lp-sp-16); }
  .mat-cards { grid-template-columns: 1fr; gap: var(--lp-sp-6); }
}

.cabotagem-clientes {
  padding-block: 6rem 6.125rem;
  text-align: center;
}

.cabotagem-clientes .lp-section__title {
  max-width: none;
  margin-inline: auto;
  font-size: var(--lp-fs-h4);
}

.cli-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  margin: 3.125rem 0 0;
  padding: 0;
  list-style: none;
  border: 1px solid var(--lp-border-soft);
}

.cli-grid li {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 7.4375rem;
  padding: var(--lp-sp-4);
}

.cli-grid li + li { border-inline-start: 1px solid var(--lp-border-soft); }

.cli-grid img {
  max-width: 80%;
  max-height: 3.2rem;
  width: auto;
}

@media (max-width: 768px) {
  .cabotagem-clientes { padding-block: var(--lp-sp-16); }
  .cli-grid { grid-template-columns: repeat(2, 1fr); }
  .cli-grid li:nth-child(-n + 4) { border-block-end: 1px solid var(--lp-border-soft); }
  .cli-grid li:nth-child(odd) { border-inline-start: 0; }
}

.cabotagem-faq {
  --faq-pad-lateral: 1.4375rem;

  padding-block: 7rem 8.375rem;
}

.cabotagem-faq .lp-section__lead {
  margin-block-end: 3.375rem;
}

.faq-grupo {
  display: grid;
  grid-template-columns: 1fr 47.5625rem;
  gap: 4.375rem;
  align-items: start;
}

.faq-grupo + .faq-grupo { margin-block-start: 8.4375rem; }

.faq-grupo__tema { padding-block-start: var(--lp-sp-2); }

.faq-grupo__titulo {
  color: var(--lp-deep-blue);
  font-size: var(--lp-fs-h5);
  font-weight: 700;
}

.faq-grupo__titulo::after {
  content: "";
  display: block;
  width: 2.75rem;
  height: 0.25rem;
  margin-block-start: 0.375rem;
  background: var(--lp-blue);
}

.faq-grupo__desc {
  margin: var(--lp-sp-5) 0 0;
  color: var(--lp-slate);
  font-size: var(--lp-fs-sm);
  line-height: var(--lp-lh-body);
}

.faq-item + .faq-item { margin-block-start: 1.75rem;  }

.faq-item__pergunta {
  display: flex;
  align-items: center;
  min-height: 4.0625rem;
  padding: var(--lp-sp-3) var(--faq-pad-lateral);
  border-radius: var(--lp-radius-card);
  background: var(--lp-off-white-blue);
  color: var(--lp-deep-blue);

  font-family: var(--lp-ff-heading);
  font-size: 1.0625rem;
  font-weight: 700;
}

.faq-item__resposta {
  padding: var(--lp-sp-4) var(--faq-pad-lateral) 0;
  color: var(--lp-slate);
  font-size: var(--lp-fs-sm);
  line-height: 1.786;
}

.faq-item__resposta p:last-child { margin-bottom: 0; }
.faq-item__link { font-weight: 700; }

.faq-bullets {
  margin: 0;
  padding: 0;
  list-style: none;
}

.faq-bullets li {
  position: relative;
  padding-inline-start: 1.25rem;
}

.faq-bullets li + li { margin-block-start: 0.8125rem;  }

.faq-bullets li::before {
  content: "";
  position: absolute;
  inset-block-start: 0.5rem;
  inset-inline-start: 0;
  width: 0.5rem;
  height: 0.5rem;
  background: var(--lp-blue);
  mask: url("../assets/icons/icon-bullet.svg") no-repeat center / contain;
}

.faq-bullets strong { color: var(--lp-deep-blue); }

@media (max-width: 992px) {
  .cabotagem-faq { padding-block: var(--lp-sp-16); }

  .faq-grupo {
    grid-template-columns: 1fr;
    gap: var(--lp-sp-8);
  }

  .faq-grupo + .faq-grupo { margin-block-start: var(--lp-sp-12); }
  .faq-grupo__tema { padding-block-start: 0; }
}

.cabotagem-sobre {
  --sobre-bloco: rgba(32, 51, 110, 0.64);
  --sobre-divisor: rgba(255, 255, 255, 0.15);
  --sobre-shape: rgba(255, 255, 255, 0.05);

  position: relative;
  overflow: hidden;
  padding-block: 6.875rem 7.1875rem;
  background: var(--lp-grad-sobre);
}

.cabotagem-sobre::before {
  content: "";
  position: absolute;
  inset-block: 0;
  left: calc(50% + var(--lp-container) / 2 - 1.125rem);
  width: 16.75rem;
  background: var(--sobre-shape);
  transform: skewX(-10deg);
  transform-origin: top;
  pointer-events: none;
}

.cabotagem-sobre > .lp-container { position: relative; }

.cabotagem-sobre__grid {
  display: grid;
  grid-template-columns: 1fr 35.4375rem;
  gap: 3.75rem;
  align-items: start;
}

.cabotagem-sobre__logo {
  display: block;
  width: 6.5625rem;
  margin-block-start: var(--lp-sp-8);
}

.sobre-stats {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sobre-stats li {
  display: flex;
  align-items: baseline;
  min-height: 6.1875rem;
  padding: 1.9375rem;
  color: var(--lp-light-blue);
  font-size: var(--lp-fs-body);
  background-color: var(--sobre-bloco);
  background-clip: padding-box;
}

.sobre-stats li + li { border-block-start: 2px solid var(--sobre-divisor); }

.sobre-stats strong {
  margin-inline-end: 0.375rem;
  color: var(--lp-white);
  font-family: var(--lp-ff-heading);
  font-size: var(--lp-fs-h5);
}

@media (max-width: 992px) {
  .cabotagem-sobre { padding-block: var(--lp-sp-16); }
  .cabotagem-sobre__grid { grid-template-columns: 1fr; gap: var(--lp-sp-12); }
}

.cabotagem-contato {
  --contato-shape: rgba(5, 125, 201, 0.215);
  --contato-filete: rgba(255, 255, 255, 0.15);

  position: relative;
  overflow: hidden;
  padding-block: 7rem 7.125rem;
}

.cabotagem-contato::before {
  content: "";
  position: absolute;
  inset-block: 0;
  left: calc(50% + var(--lp-container) / 2 - 21.25rem);
  width: 21.25rem;
  background: var(--contato-shape);
  transform: skewX(-10deg);
  transform-origin: top;
  pointer-events: none;
}

.cabotagem-contato > .lp-container {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 38rem;
  gap: 3rem;
  align-items: start;
}

.cabotagem-contato .lp-section__lead { line-height: var(--lp-lh-prose); }

.contato-lista {
  margin: 3.375rem 0 0;
  padding: 0;
  list-style: none;
  font-size: var(--lp-fs-sm);
  line-height: 1.64;
}

.contato-lista li {
  position: relative;
  padding-inline-start: 1.9375rem;
}

.contato-lista li + li {
  margin-block-start: 0.9375rem;
  padding-block-start: 0.9375rem;
  border-block-start: 1px solid var(--contato-filete);
}

.contato-lista li::before {
  content: "";
  position: absolute;
  inset-block-start: 0.375rem;
  inset-inline-start: 0;
  width: 0.625rem;
  height: 0.625rem;
  background: var(--lp-blue);
  mask: url("../assets/icons/icon-bullet.svg") no-repeat center / contain;
}

.contato-lista li + li::before { inset-block-start: 1.3125rem; }


.cabotagem-contato .banner-form {
  padding: var(--lp-sp-10);
  background: var(--lp-white);
  border-radius: var(--lp-radius-card);
}

.cabotagem-contato .form-title {
  color: var(--lp-deep-blue);
  font-family: var(--lp-ff-heading);
  font-size: var(--lp-fs-h5);
  font-weight: 700;
}

.cabotagem-contato .form-subtitle {
  margin: var(--lp-sp-2) 0 var(--lp-sp-6);
  color: var(--lp-slate);
  font-size: var(--lp-fs-sm);
  line-height: var(--lp-lh-body);
}

.cabotagem-contato .form-group { margin: 0 0 0.8125rem; }

.cabotagem-contato .form-label {
  display: block;
  margin-block-end: 0.375rem;
  color: var(--lp-blue-800);
  font-size: var(--lp-fs-sm);
  font-weight: 700;
}

.cabotagem-contato .form-control {
  width: 100%;
  padding: 0.9375rem 1.125rem;
  border: 1px solid var(--lp-c1d1e8);
  border-radius: 0.375rem 0.375rem 0 0.375rem;
  background: var(--lp-white);
  color: var(--lp-deep-blue);
  font: inherit;
  line-height: var(--lp-lh-tight);
}

.cabotagem-contato textarea.form-control { resize: vertical; }

.cabotagem-contato .form-control:focus-visible {
  outline: 2px solid var(--lp-blue);
  outline-offset: 1px;
}

.cabotagem-contato .form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 1.75rem;
}

.cabotagem-contato .form-row > .form-group { min-width: 0; }

.cabotagem-contato .form-check {
  display: flex;
  flex-wrap: wrap;
  gap: var(--lp-sp-2) var(--lp-sp-6);
}

.cabotagem-contato .check-item {
  display: flex;
  align-items: center;
  gap: var(--lp-sp-2);
}

.cabotagem-contato .check-item input {
  flex: none;
  width: 1rem;
  height: 1rem;
  margin: 0;
  accent-color: var(--lp-blue);
}

.cabotagem-contato .check-item label {
  color: var(--lp-slate);
  font-size: var(--lp-fs-sm);
}

.cabotagem-contato .check-item small {
  font-size: var(--lp-fs-sm);
  line-height: 1.57;
}

.cabotagem-contato .check-item:has(.aceite) { align-items: flex-start; }
.cabotagem-contato .check-item .aceite { margin-block-start: 0.1875rem; }

.cabotagem-contato .btn-navy {
  display: block;
  width: 100%;
  min-height: 3.75rem;
  margin-block-start: var(--lp-sp-2);
  padding: var(--lp-sp-3) var(--lp-sp-8);
  border: 0;
  border-radius: var(--lp-radius-btn);
  background: var(--lp-blue-text);
  color: var(--lp-white);
  font: inherit;
  font-size: var(--lp-fs-body);
  font-weight: 700;
  cursor: pointer;
  transition: background var(--lp-dur) var(--lp-ease);
}

.cabotagem-contato .btn-navy:hover { background: var(--lp-deep-blue); }


.cabotagem-contato .form-control.is-invalid {
  border-color: var(--lp-error);
  background-color: var(--lp-error-light);
}

.cabotagem-contato .msg-contato {
  margin-block-end: var(--lp-sp-4);
  padding: var(--lp-sp-3) var(--lp-sp-4);
  border-radius: 0.375rem 0.375rem 0 0.375rem;
  font-size: var(--lp-fs-sm);
  font-weight: 700;
}

.cabotagem-contato .alert-success {
  background: var(--lp-success-light);
  color: var(--lp-success);
}

.cabotagem-contato .alert-danger {
  background: var(--lp-error-light);
  color: var(--lp-error);
}


.cabotagem-contato .modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1050;
  overflow-y: auto;
  padding: var(--lp-gutter);
}

.cabotagem-contato .modal-dialog {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  max-width: 36rem;
  margin: 0 auto;
}

.cabotagem-contato .modal-content {
  position: relative;
  width: 100%;
  padding: var(--lp-sp-10);
  background: var(--lp-white);
  border-radius: var(--lp-radius-card);
  box-shadow: var(--lp-sh-card);
}

.cabotagem-contato .modal-fechar {
  position: absolute;
  inset-block-start: var(--lp-sp-4);
  inset-inline-end: var(--lp-sp-4);
  width: 2.25rem;
  height: 2.25rem;
  border: 0;
  border-radius: var(--lp-radius-btn);
  background: var(--lp-off-white-blue);
  color: var(--lp-deep-blue);
  font-size: var(--lp-fs-lg);
  line-height: 1;
  cursor: pointer;
}

.cabotagem-contato .modal-fechar:hover {
  background: var(--lp-blue-text);
  color: var(--lp-white);
}

.cabotagem-contato .modal-titulo {
  padding-inline-end: var(--lp-sp-10);
  color: var(--lp-deep-blue);
  font-family: var(--lp-ff-heading);
  font-size: var(--lp-fs-h5);
  font-weight: 700;
  line-height: var(--lp-lh-tight);
}

.cabotagem-contato .modal-lead {
  margin: var(--lp-sp-4) 0 var(--lp-sp-5);
  color: var(--lp-slate);
}

.cabotagem-contato .modal-lista {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--lp-sp-3) var(--lp-sp-6);
  margin: 0;
  padding: 0;
  list-style: none;
}

.cabotagem-contato .modal-lista li {
  position: relative;
  padding-inline-start: 1.25rem;
  color: var(--lp-slate);
  font-size: var(--lp-fs-sm);
  line-height: var(--lp-lh-body);
}

.cabotagem-contato .modal-lista li::before {
  content: "";
  position: absolute;
  inset-block-start: 0.375rem;
  inset-inline-start: 0;
  width: 0.5rem;
  height: 0.5rem;
  background: var(--lp-blue);
  mask: url("../assets/icons/icon-bullet.svg") no-repeat center / contain;
}

.cabotagem-contato .modal-obs {
  margin: var(--lp-sp-6) 0 0;
  color: var(--lp-slate);
  font-size: var(--lp-fs-sm);
  font-style: italic;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1040;
  background: var(--lp-backdrop);
}

body.modal-open { overflow: hidden; }

@media (max-width: 600px) {
  .cabotagem-contato .modal-lista { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .cabotagem-contato .banner-form { padding: var(--lp-sp-6); }
  .cabotagem-contato .form-row { grid-template-columns: 1fr; }
}

@media (max-width: 992px) {
  .cabotagem-contato { padding-block: var(--lp-sp-16); }

  .cabotagem-contato > .lp-container {
    grid-template-columns: 1fr;
    gap: var(--lp-sp-12);
  }

  .cabotagem-contato::before { display: none; }
}
