/* Páginas de segmento: manufatura, distribuicao, food-service, engenharia-e-construcao */
.seg { --seg-margem: 2rem; --seg-sobra: 5.5rem; }
.seg-btn-verde { background: var(--verde); color: var(--marinho); padding: .875rem 1.125rem; }
.seg-btn-verde:hover, .seg-btn-verde:focus-visible { background: var(--marinho); color: var(--branco); }

/* ---------- Topo ---------- */
.seg-hero { position: relative; overflow: hidden; background: var(--azul-bebe); }
.seg-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.seg-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, var(--azul-gelo) 40%, rgba(222, 239, 250, 0) 80%); }

.seg-hero__conteudo { position: relative; z-index: 2; min-height: 37.5rem; display: flex; align-items: center; padding-block: 2rem 8.5rem; }
.seg-hero__texto { max-width: 38rem; }
.seg-hero__texto p { max-width: 33rem; }
.seg-hero__titulo { font-size: 1.8125rem; font-weight: 700; line-height: 1.2; margin-bottom: 1.75rem; }
.seg-hero__texto p { font-size: .9375rem; font-weight: 600; line-height: 1.55; margin-bottom: .75rem; }
.seg-hero__texto .btn { margin-top: 1.75rem; }
.seg-hero__numeros { position: absolute; z-index: 3; left: 0; right: 0; bottom: 0; }
.seg-hero__numeros ul {
  display: inline-flex; gap: 3.5rem; color: var(--branco); background: var(--azul) url("../../img/blue-bg-2.svg") center / cover no-repeat;
  padding: 1.5rem 17rem 1.5rem .75rem; border-radius: 0 3rem 0 0; position: relative;
}
.seg-hero__numeros ul::before { content: ""; position: absolute; top: 0; bottom: 0; right: 100%; width: 100vw; background: var(--azul); }
.seg-hero__numeros strong { display: block; font-size: 1.5rem; font-weight: 600; line-height: 1.2; }
.seg-hero__numeros span { font-size: .875rem; font-weight: 400; }

/* ---------- Títulos e textos de seção ---------- */
.seg-intro { padding-block: 3.5rem 2rem; }
.seg-intro__titulo { font-size: clamp(1.75rem, 1.3rem + 1.2vw, 2.3125rem); font-weight: 600; line-height: 1.2; }
.seg-intro__titulo--forte { font-weight: 700; font-size: clamp(1.75rem, 1.3rem + 1vw, 2.25rem); }
.seg-intro__sub { margin-top: .75rem; font-size: 1.125rem; font-weight: 500; }
.seg-intro__sub--leve { font-weight: 500; }
.seg-intro__texto { max-width: 69%; margin: 1rem auto 0; font-size: .9375rem; font-weight: 400; line-height: 1.6; color: #3a4357; }
.seg-intro__texto p { margin-bottom: 1.5rem; }
.seg-intro--cards { padding-bottom: 3rem; }
.seg-intro--cards header { margin-bottom: 1.5rem; }
.seg-intro--inovacao { padding-block: 1rem 1.75rem; }
.seg-cards { --gap: 1rem; }
.seg-cards .card__topo { padding: 1rem 1.25rem .875rem; }
.seg-cards .card__img { aspect-ratio: 1774 / 886; }
.seg-cards .card__corpo { padding: 1.75rem 1.75rem; font-weight: 500; }

/* Lista curta com ícones (engenharia) */
.seg-mini { display: grid; grid-template-columns: repeat(2, max-content); justify-content: center; gap: 1rem 4rem; margin-top: 2rem; text-align: left; font-size: .9375rem; font-weight: 400; }
.seg-mini li { display: flex; align-items: center; gap: 1rem; }
.seg-mini__ico { display: grid; place-items: center; width: 3.25rem; height: 3.25rem; border-radius: .75rem; background: var(--branco); color: var(--marinho); flex: none; }
.seg-mini__ico svg { width: 1.75rem; height: 1.75rem; }

/* Grade */
.seg-grid { display: grid; gap: 1rem; }
.seg-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.seg-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* ---------- Faixa azul "Por que..." ---------- */
.seg-porque { background: var(--azul); padding-block: 2.25rem 2rem; }
.seg-porque__titulo { color: var(--branco); text-align: center; font-size: clamp(1.625rem, 1.2rem + 1vw, 2.25rem); font-weight: 600; line-height: 1.2; margin-bottom: 1.75rem; }
.seg-porque__card { background: var(--branco); padding: 1.5rem 1.625rem 1.75rem; font-size: .9375rem; line-height: 1.6; }
.seg-porque__topo { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.25rem; }
.seg-porque__ico { flex: none; display: grid; place-items: center; width: 3.5rem; height: 3.5rem; padding: .5rem; border-radius: .25rem; background: #E3F1FE; fill: var(--azul); }
.seg-porque__ico svg { width: 100%; height: 100%; }
.seg-porque__topo h3 { color: var(--azul); font-size: 1.1875rem; font-weight: 600; line-height: 1.25; }

/* ---------- Ganhos (6 cards brancos) ---------- */
.seg-ganhos { padding-block: 2rem 4rem; }
.seg-ganhos__titulo { text-align: center; font-size: clamp(2rem, 1.3rem + 1.6vw, 3rem); font-weight: 400; line-height: 1.3; margin-bottom: 2rem; }
.seg-ganhos__titulo strong { font-weight: 700; }
.seg-ganhos__sub { max-width: 52rem; margin: -.75rem auto 2.5rem; text-align: center; font-size: .9375rem; font-weight: 400; color: #3a4357; }
.seg-ganho { display: flex; align-items: center; gap: 1.5rem; background: var(--branco); padding: 1.5rem 1.5rem; min-height: 8rem; transition: transform .2s; }
.seg-ganho:hover { transform: scale(1.05); }
.seg-ganho__ico { flex: none; display: grid; place-items: center; width: 4.5rem; height: 4.5rem; padding: .5rem; border-radius: 50%; background: #DEEBFB; fill: var(--marinho); position: relative; }
.seg-ganho__ico svg { width: 100%; height: 100%; }
.seg-ganho__ico::after { content: ""; position: absolute; right: -.75rem; top: 0; bottom: 0; width: 1px; background: #E2E5EA; }
.seg-ganho p { font-size: .9375rem; font-weight: 600; line-height: 1.55; }

/* ---------- Banners com foto e caixas sobrepostas ---------- */
.seg-banner { position: relative; padding-top: 4rem; margin-bottom: 2rem; }
.seg-banner__fundo { position: absolute; top: 0; bottom: var(--seg-sobra); left: var(--seg-margem); right: var(--seg-margem); overflow: hidden; background: var(--azul-ceu); }
.seg-banner__fundo img { position: absolute; top: 0; height: 100%; width: 62%; object-fit: cover; }
.seg-banner__fundo::after { content: ""; position: absolute; inset: 0; }
.seg-banner--claro .seg-banner__fundo { background: var(--azul-ceu); }
.seg-banner--claro .seg-banner__fundo img { right: 0; }
.seg-banner--claro .seg-banner__fundo::after { background: linear-gradient(90deg, var(--azul-bebe) 50%, rgba(172, 219, 250, 0) 70%); }
.seg-banner--escuro .seg-banner__fundo { background: var(--marinho); }
.seg-banner--escuro .seg-banner__fundo img { left: 0; }
.seg-banner--escuro .seg-banner__fundo::after { background: linear-gradient(-90deg, var(--marinho) 50%, rgba(1, 17, 50, 0) 70%); }
.seg-banner__conteudo { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 1rem; }
.seg-banner__texto { grid-column: 1 / span 2; max-width: 37.5rem; padding-bottom: 1rem; }
.seg-banner--texto-dir .seg-banner__texto { grid-column: 1 / -1; margin-left: 50%; max-width: 50%; }
.seg-banner__texto h2 { font-size: clamp(1.75rem, 1.2rem + 1.5vw, 2.625rem); font-weight: 400; line-height: 1.3; margin-bottom: 1.5rem; }
.seg-banner__texto h2 strong { font-weight: 700; }
.seg-banner__texto p { font-size: .9375rem; line-height: 1.75; }
.seg-banner__beneficios { margin-top: 2.25rem; font-size: 1.5rem; font-weight: 600; color: var(--azul-forte); }
.seg-banner--escuro .seg-banner__texto { color: var(--branco); }
.seg-banner--escuro .seg-banner__beneficios { color: var(--azul-claro); }
.seg-banner__caixas { grid-column: 1 / span 2; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: .5rem; }
.seg-banner--texto-dir .seg-banner__caixas { grid-column: 2 / span 2; }
/* Variante com texto largo (distribuição: desafios) */
.seg-banner--largo .seg-banner__texto { margin-left: 8.5%; max-width: 91.5%; }
.seg-banner--largo .seg-banner__texto h2 { font-size: clamp(1.75rem, 1.3rem + 1vw, 2.1875rem); }

.seg-caixa { background: var(--branco); border: 2px solid var(--cinza); padding: 1.25rem 1.25rem 1.5rem; display: flex; flex-direction: column; gap: 1.5rem; color: var(--marinho); }
.seg-selo { flex: none; display: block; color: var(--verde); }
.seg-checks { display: flex; flex-direction: column; gap: .5rem; font-size: .9375rem; font-weight: 500; line-height: 1.35; color: #333; }
.seg-checks li { display: flex; gap: .75rem; align-items: flex-start; }
.seg-checks .seg-selo { width: 1.25rem; height: 1.25rem; margin-top: 0; }
.seg-checks .seg-selo svg { width: 100%; height: 100%; }
.seg-passo { display: flex; gap: .75rem; align-items: flex-start; }
.seg-passo .seg-selo { width: 2.125rem; height: 2.125rem; }
.seg-passo .seg-selo svg { width: 100%; height: 100%; }
.seg-passo h3 { font-size: .9375rem; font-weight: 700; line-height: 1.25; color: #333; margin-top: .3rem; }
.seg-passo p { margin-top: .25rem; font-size: .6875rem; font-weight: 500; line-height: 1.5; color: #333; }
.seg-passo--simples { align-items: center; }
.seg-passo--simples h3 { margin-top: 0; font-size: .875rem; font-weight: 400; line-height: 1.4; }

/* ---------- Faixa CTA (componente comum) ---------- */
.seg-faixa { padding-block: 1rem 3rem; }
.seg-faixa .faixa-cta__botao { font-size: clamp(1.375rem, .8rem + 1.1vw, 2rem); }
.seg-faixa .faixa-cta__botao svg { width: 2.25rem; height: 2.25rem; }
.seg-faixa .faixa-cta h2 { font-size: clamp(1.5rem, .9rem + 1.5vw, 2.5rem); font-weight: 600; line-height: 1.2; }
.seg-faixa .faixa-cta__texto { padding: 2rem 2rem 2.25rem; }

/* ---------- "Por que escolher a Blue Ocean" ---------- */
.seg-escolha { background: var(--azul); padding-block: 4rem; }
.seg-escolha__titulo { color: var(--branco); text-align: center; font-size: clamp(1.75rem, 1.3rem + 1vw, 2.375rem); font-weight: 400; line-height: 1.2; margin-bottom: 1.5rem; }
.seg-escolha__card { background: var(--branco); border: 2px solid var(--cinza); padding: 2rem 1.5rem 2.75rem; font-size: .9375rem; line-height: 1.6; }
.seg-escolha__topo { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.5rem; }
.seg-escolha__ico { flex: none; display: grid; place-items: center; width: 5.5rem; height: 5.5rem; padding: 1rem; border-radius: .25rem; background: #E3F1FE; fill: var(--azul); }
.seg-escolha__ico svg { width: 100%; height: 100%; }
.seg-escolha__topo h3 { font-size: 1.25rem; font-weight: 600; line-height: 1.2; color: #333; }

/* ---------- Banner final ---------- */
.seg-final { padding: .75rem var(--seg-margem) 2rem; }
.seg-final__caixa { position: relative; overflow: hidden; background: var(--marinho); }
.seg-final__bg { position: absolute; top: 0; right: 0; width: 72%; height: auto; }
.seg-final__caixa--contain .seg-final__bg { height: 100%; width: auto; max-width: 72%; object-fit: cover; object-position: right center; }
.seg-final__caixa::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--marinho) 40%, rgba(1, 17, 50, 0) 70%); }
.seg-final__conteudo { position: relative; z-index: 1; padding-block: 4rem; }
.seg-final__texto { max-width: 50%; color: var(--branco); }
.seg-final__texto h2 { font-size: clamp(1.75rem, 1.2rem + 1.5vw, 2.625rem); font-weight: 400; line-height: 1.3; margin-bottom: 1.5rem; }
.seg-final__texto h2 strong { font-weight: 600; }
.seg-final__texto p { font-size: .9375rem; line-height: 1.75; margin-bottom: 2rem; }

/* ---------- Telas grandes: banners não esticam além do layout ---------- */
@media (min-width: 1600px) {
  .seg-banner__fundo { left: max(var(--seg-margem), calc(50% - var(--container) / 2 - 8rem)); right: max(var(--seg-margem), calc(50% - var(--container) / 2 - 8rem)); }
  .seg-final__caixa { max-width: calc(var(--container) + 16rem); margin-inline: auto; }
  .seg-hero__conteudo { min-height: clamp(37.5rem, 34vw, 46rem); }
}

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
  .seg-hero__conteudo { min-height: 43.75rem; }
  .seg-hero::before { opacity: .75; }
  .seg-hero__numeros ul { padding-right: 4rem; }
  .seg-grid--3, .seg-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .seg-intro__texto { max-width: 100%; }
  .seg-mini { grid-template-columns: repeat(2, minmax(0, max-content)); gap: 1rem 2rem; }
  .seg-banner__fundo::after { opacity: .75; }
  .seg-banner__fundo img { width: 100%; }
  .seg-banner--claro .seg-banner__fundo::after { background: var(--azul-bebe); }
  .seg-banner--escuro .seg-banner__fundo::after { background: var(--marinho); }
  .seg-banner__conteudo { grid-template-columns: minmax(0, 1fr); }
  .seg-banner__texto, .seg-banner--texto-dir .seg-banner__texto, .seg-banner--largo .seg-banner__texto { grid-column: 1; margin-left: 0; max-width: 40rem; }
  .seg-banner__caixas, .seg-banner--texto-dir .seg-banner__caixas { grid-column: 1; }
  .seg-final__texto { max-width: 70%; }
  .seg-final__caixa::after { background: linear-gradient(90deg, var(--marinho) 45%, rgba(1, 17, 50, .3) 100%); }
}

/* ---------- Celular ---------- */
@media (max-width: 767px) {
  .seg { --seg-margem: 0px; --seg-sobra: 2rem; }
  .seg-hero::before { background: var(--azul-gelo); opacity: .8; }
  .seg-hero__conteudo { min-height: 0; padding-block: 3rem; }
  .seg-hero__titulo { font-size: 1.5rem; margin-bottom: 1.25rem; }
  .seg-hero__texto .btn { margin-top: 1rem; }
  .seg-hero__numeros { position: relative; }
  .seg-hero__numeros .container { padding: 0; }
  .seg-hero__numeros ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.25rem 1rem; width: 100%; padding: 1.5rem 1rem; border-radius: 0; text-align: center; }
  .seg-hero__numeros li { flex: 0 0 auto; }
  .seg-hero__numeros ul::before { display: none; }
  .seg-intro { padding-block: 3rem 1.5rem; }
  .seg-intro__texto { text-align: center; }
  .seg-mini { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .seg-grid--3, .seg-grid--4 { grid-template-columns: minmax(0, 1fr); }
  .seg-cards { padding-inline: .75rem; }
  .seg-ganhos__titulo { text-align: left; font-size: 2rem; }
  .seg-ganho { flex-direction: column; align-items: flex-start; gap: 1.5rem; padding: 1.5rem; }
  .seg-ganho p { align-self: stretch; text-align: center; }
  .seg-ganho__ico::after { display: none; }
  .seg-banner { padding-top: 2rem; }
  .seg-banner__conteudo { padding-inline: 2rem; }
  .seg-banner__texto { padding-bottom: .5rem; }
  .seg-banner__caixas { grid-template-columns: minmax(0, 1fr); }
  .seg-passo { flex-direction: column; gap: 1rem; }
  .seg-passo .seg-selo { width: 2.25rem; height: 2.25rem; }
  .seg-passo--simples { align-items: flex-start; }
  .seg-faixa .container { padding-inline: 3rem; }
  .seg-escolha .container { padding-inline: 3rem; }
  .seg-escolha__titulo { text-align: left; font-size: 1.5rem; }
  .seg-escolha__topo { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
  .seg-final { padding-inline: 0; }
  .seg-final__caixa { margin-right: 2.5rem; }
  .seg-final__bg, .seg-final__caixa--contain .seg-final__bg { width: 85%; height: auto; max-width: none; }
  .seg-final__caixa::after { background: linear-gradient(180deg, rgba(1, 17, 50, 0) 0, var(--marinho) 11rem); }
  .seg-final__conteudo { padding: 11rem 2rem 2rem; }
  .seg-final__texto { max-width: none; }
  .seg-final__texto h2 { font-size: 1.5rem; }
  .seg-final__texto p { font-weight: 600; }
}
