/* ============================================================================
   MDC — Kit de padronização das páginas internas
   ----------------------------------------------------------------------------
   Traz para datacenter / cofre / sala-segura / corte-dobra a mesma linguagem
   da Home: casca escura contínua, olho-de-boi mono, título com destaque em
   azul, cartões de vidro, botões de 12 px e revelação por palavra.

   Carregar SEMPRE por último no <head> da página.
   ========================================================================== */

/* ---------------------------------------------------------------- 1. casca */
html { background: #050B15; }

body {
  background: #050B15 !important;
  color: rgba(226, 232, 240, .72);
}

/* fundo escuro também nas âncoras de rolagem */
section { scroll-margin-top: 88px; }

/* ------------------------------------------------------- 2. seções escuras */
/* mesma casca reutilizável do .dsec da Home: malha 56px com desvanecimento
   radial + aura azul no topo + fio de luz na emenda */

.section,
.inside,
.sust,
.cta-section,
.stats-bar,
.phero {
  position: relative;
  overflow: hidden;
}

.section,
.section-gray,
.section-dark,
.section-alt,
.inside,
.sust,
.cta-section,
.stats-bar {
  background: transparent !important;
  padding: 104px 0;
}

.stats-bar { padding: 0 !important; }

.section::before,
.inside::before,
.sust::before,
.cta-section::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 1;
  background-image:
    linear-gradient(rgba(255, 255, 255, .018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .018) 1px, transparent 1px);
  background-size: 56px 56px;
  background-position: 0 0;
  -webkit-mask-image: radial-gradient(ellipse 92% 78% at 50% 44%, #000 22%, transparent 84%);
  mask-image: radial-gradient(ellipse 92% 78% at 50% 44%, #000 22%, transparent 84%);
}

.section::after,
.inside::after,
.sust::after,
.cta-section::after {
  content: '';
  position: absolute;
  top: -170px;
  left: 50%;
  right: auto;
  bottom: auto;
  transform: translateX(-50%);
  width: 1120px;
  height: 620px;
  border-radius: 0;
  opacity: 1;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(37, 99, 235, .15) 0%, transparent 66%);
}

/* alterna a intensidade da aura para dar ritmo, como na Home */
.section:nth-of-type(even)::after,
.inside:nth-of-type(even)::after {
  background: radial-gradient(ellipse at center, rgba(37, 99, 235, .09) 0%, transparent 66%);
}

/* a seção de sustentabilidade era verde-clara: vira verde-escuro discreto */
.sust::after {
  background: radial-gradient(ellipse at center, rgba(16, 185, 129, .13) 0%, transparent 66%);
}

.section > .container,
.inside > .container,
.sust > .container,
.cta-section > .container,
.stats-bar > .container {
  position: relative;
  z-index: 2;
}

/* fio de luz na emenda de cada seção */
.section::before,
.inside::before,
.sust::before,
.cta-section::before { box-shadow: none; }

.dsec-seam {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(59, 130, 246, .28) 24%, rgba(147, 197, 253, .42) 50%, rgba(59, 130, 246, .28) 76%, transparent);
}

/* ------------------------------------------- 3. cabeçalho de seção (lp-head) */

.sheader,
.section-header,
.section-center {
  text-align: center;
  max-width: 780px;
  margin: 0 auto 56px;
  position: relative;
  z-index: 2;
}

.sheader-left,
.section-header-left {
  text-align: left;
  max-width: none;
  margin: 0 0 34px;
}

/* olho-de-boi mono — idêntico ao .lp-eyebrow da Home */
.slabel,
.section-label {
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .73rem !important;
  font-weight: 600 !important;
  letter-spacing: 3.2px !important;
  text-transform: uppercase;
  color: #3B82F6 !important;
  margin-bottom: 18px !important;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .7s ease, transform .7s cubic-bezier(0.16, 1, 0.3, 1);
}

.sheader .slabel,
.section-header .section-label,
.section-center .section-label,
.sc .slabel { justify-content: center; }

/* o traço curto some — a Home não usa */
.slabel::before,
.section-label::before { display: none !important; }

.sheader.in .slabel,
.section-header.in .section-label,
.section-center.in .section-label,
.in > .slabel,
.in > .section-label { opacity: 1; transform: none; }

.stitle,
.section-title {
  font-size: 2.55rem !important;
  color: #fff !important;
  letter-spacing: -1.3px !important;
  line-height: 1.12;
  margin-bottom: 16px !important;
  font-weight: 800;
}

.stitle em,
.section-title em,
.stitle > span:not(.lp-w):not(.lp-wi),
.section-title > span:not(.lp-w):not(.lp-wi),
.stitle .lp-em,
.section-title .lp-em {
  font-style: normal;
  color: #60A5FA !important;
  -webkit-text-fill-color: #60A5FA;
  background: none !important;
}

.ssub,
.section-subtitle {
  font-size: 1rem !important;
  color: rgba(226, 232, 240, .60) !important;
  line-height: 1.78 !important;
  max-width: 720px;
  margin-left: 0;
  margin-right: 0;
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .85s ease .42s, transform .85s cubic-bezier(0.16, 1, 0.3, 1) .42s;
}

.sheader .ssub, .sheader .section-subtitle,
.section-header .ssub, .section-header .section-subtitle,
.section-center .ssub, .section-center .section-subtitle,
.sc .ssub, .sc .section-subtitle { margin-left: auto; margin-right: auto; }

.sheader.in .ssub,
.section-header.in .section-subtitle,
.section-center.in .section-subtitle,
.in > .ssub,
.in > .section-subtitle { opacity: 1; transform: none; }

/* variantes antigas de alinhamento deixam de existir: tudo centralizado */
.sc { text-align: center; }
.sc .ssub { margin-left: auto; margin-right: auto; }

/* ------------------------------------------------------- 4. revelação */

.lp-w {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
  padding: .10em .03em .17em;
  margin: -.10em -.03em -.17em;
}

.lp-wi {
  display: inline-block;
  transform: translateY(115%);
  opacity: 0;
  transition: transform .95s cubic-bezier(0.16, 1, 0.3, 1), opacity .6s ease;
  transition-delay: calc(var(--d, 0ms) + var(--wd, 0ms));
}

/* neutraliza degradês antigos aplicados em `h1 span`: depois da quebra em
   palavras, todo span vira .lp-w/.lp-wi e herdaria o texto transparente */
.lp-w, .lp-wi {
  color: inherit !important;
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
}

.lp-wi { -webkit-text-fill-color: currentColor !important; }

.lp-em {
  color: #60A5FA !important;
  -webkit-text-fill-color: #60A5FA !important;
  font-style: normal;
}

.in .lp-wi { transform: translateY(0); opacity: 1; }

.rv {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .75s ease var(--d, 0ms), transform .85s cubic-bezier(0.16, 1, 0.3, 1) var(--d, 0ms);
}

.in > .rv,
.rv.in { opacity: 1; transform: none; }

/* a revelação antiga das páginas internas continua valendo, só mais suave */
.reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .8s ease, transform .9s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.visible { opacity: 1; transform: none; }

/* imagem que entra com wipe + zoom, igual aos painéis da Home */
.k-fig {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  clip-path: inset(0 0 100% 0);
  transition: clip-path 1.15s cubic-bezier(0.22, 1, 0.36, 1);
}

.k-fig.in { clip-path: inset(0 0 0 0); }

.k-fig img {
  transform: scale(1.12);
  transition: transform 1.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.k-fig.in img { transform: scale(1); }

.k-fig::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(145deg, rgba(147, 197, 253, .80), rgba(59, 130, 246, .28) 38%, rgba(59, 130, 246, 0) 64%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
}

@media (prefers-reduced-motion: reduce) {
  .lp-wi, .rv, .reveal, .k-fig, .k-fig img { transition: none !important; }
  .lp-wi { transform: none; opacity: 1; }
  .rv, .reveal { opacity: 1; transform: none; }
  .k-fig { clip-path: none; }
  .k-fig img { transform: none; }
}

/* -------------------------------------------------------- 5. tipografia */

h1, h2, h3, h4, h5 { color: #fff; }

p { color: rgba(226, 232, 240, .60); }

/* ----------------------------------------------------------- 6. botões */
/* todos em 12 px, como na Home — fim da pílula de 50 px */

.btn-primary,
.btn-accent,
.btn-whatsapp,
.btn-whatsapp-lg,
.btn-ghost,
.btn-outline,
.nav-whatsapp,
.cta-buttons > a,
.phero-buttons > a,
.hero-buttons > a {
  border-radius: 12px !important;
}

.btn-primary,
.btn-accent {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  background: linear-gradient(135deg, #2563EB 0%, #1D4ED8 50%, #1E40AF 100%) !important;
  color: #fff !important;
  font-weight: 600;
  font-size: .9rem;
  border: none !important;
  box-shadow: 0 4px 20px rgba(37, 99, 235, .35) !important;
  transition: all .35s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-primary:hover,
.btn-accent:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(37, 99, 235, .45) !important;
}

.btn-whatsapp,
.btn-whatsapp-lg {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  background: #16A34A !important;
  color: #fff !important;
  font-weight: 600;
  font-size: .9rem;
  border: none !important;
  box-shadow: 0 4px 20px rgba(34, 197, 94, .35) !important;
  transition: all .35s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-whatsapp:hover,
.btn-whatsapp-lg:hover {
  transform: translateY(-2px);
  background: #22C55E !important;
  box-shadow: 0 8px 30px rgba(34, 197, 94, .45) !important;
}

.btn-ghost,
.btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  background: rgba(255, 255, 255, .06) !important;
  color: #fff !important;
  font-weight: 600;
  font-size: .9rem;
  border: 1px solid rgba(255, 255, 255, .15) !important;
  transition: all .35s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-ghost:hover,
.btn-outline:hover {
  background: rgba(255, 255, 255, .12) !important;
  border-color: rgba(255, 255, 255, .22) !important;
  color: #fff !important;
  transform: translateY(-2px);
}

.mcard-cta,
.lp-cta {
  color: #60A5FA !important;
  border-radius: 0 !important;
}

/* -------------------------------------------------------- 7. cartões */
/* mesmo vidro escuro dos cartões "Por que a MDC" da Home */

.icard,
.acard,
.dcard,
.mfeat,
.mstat,
.mcard,
.sust-stat,
.spec-card,
.proc-card,
.app-card,
.value-card,
.challenge-card,
.step-card,
.client-card,
.contract-card,
.conform-card,
.feature-card-v,
.feature-card,
.app-line-card,
.apps-featured,
.entrega-item,
.solution-item,
.gallery-item {
  position: relative;
  background: linear-gradient(165deg, rgba(255, 255, 255, .055) 0%, rgba(255, 255, 255, .016) 60%, rgba(255, 255, 255, .008) 100%) !important;
  border: 1px solid rgba(255, 255, 255, .07) !important;
  border-radius: 16px !important;
  overflow: hidden;
  box-shadow: none !important;
  transition: opacity .75s ease var(--d, 0ms),
              transform .85s cubic-bezier(0.16, 1, 0.3, 1) var(--d, 0ms),
              translate .45s cubic-bezier(0.16, 1, 0.3, 1),
              border-color .4s ease, background .4s ease, box-shadow .4s ease;
}

.icard:hover,
.acard:hover,
.dcard:hover,
.mfeat:hover,
.mcard:hover,
.sust-stat:hover,
.spec-card:hover,
.proc-card:hover,
.app-card:hover,
.value-card:hover,
.challenge-card:hover,
.step-card:hover,
.client-card:hover,
.contract-card:hover,
.conform-card:hover,
.feature-card-v:hover,
.feature-card:hover,
.app-line-card:hover,
.entrega-item:hover,
.solution-item:hover {
  transform: none !important;
  translate: 0 -5px;
  border-color: rgba(59, 130, 246, .30) !important;
  background: linear-gradient(165deg, rgba(37, 99, 235, .14) 0%, rgba(255, 255, 255, .02) 70%) !important;
  box-shadow: 0 22px 48px rgba(0, 0, 0, .42) !important;
}

/* fio de luz na borda no hover (mask-composite), igual à Home */
.icard::before,
.acard::before,
.dcard::before,
.spec-card::before,
.proc-card::before,
.app-card::before,
.value-card::before,
.challenge-card::before,
.step-card::before,
.conform-card::before,
.feature-card-v::before,
.feature-card::before,
.app-line-card::before {
  content: '';
  position: absolute;
  inset: 0;
  top: 0; left: 0; right: 0; bottom: 0;
  width: auto; height: auto;
  border-radius: 16px;
  padding: 1px;
  background: linear-gradient(145deg, rgba(147, 197, 253, .85), rgba(59, 130, 246, .25) 38%, rgba(59, 130, 246, 0) 64%) !important;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  opacity: 0;
  transition: opacity .45s ease;
  pointer-events: none;
  z-index: 2;
}

.icard:hover::before,
.acard:hover::before,
.dcard:hover::before,
.spec-card:hover::before,
.proc-card:hover::before,
.app-card:hover::before,
.value-card:hover::before,
.challenge-card:hover::before,
.step-card:hover::before,
.conform-card:hover::before,
.feature-card-v:hover::before,
.feature-card:hover::before,
.app-line-card:hover::before { opacity: 1; }

/* texto dentro dos cartões */
.icard h3, .acard h3, .dcard h3, .spec-card h3, .proc-card h3, .app-card h3,
.value-card h3, .challenge-card h3, .step-card h3, .contract-card h3,
.conform-card h3, .feature-card-v h3, .app-line-card h3, .apps-featured h3,
.mfeat h4, .mcard-name, .feature-title,
.step-text h4, .step h4, .solution-item h4, .entrega-item h4,
.mcard h3, .client-card h4 {
  color: #fff !important;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: -.2px;
}

.icard p, .acard p, .dcard p, .spec-card p, .proc-card p, .app-card p,
.value-card p, .challenge-card p, .step-card p, .contract-card p,
.conform-card p, .feature-card-v p, .app-line-card p, .apps-featured p,
.mfeat p, .mcard-desc, .feature-text,
.step-text p, .step p, .client-card p {
  color: rgba(226, 232, 240, .55) !important;
  line-height: 1.68;
}

/* ícones dos cartões: fundo translúcido + traço claro, como na Home */
.icard-icon, .acard-icon, .dcard-icon, .spec-icon, .proc-icon, .app-icon,
.value-icon, .challenge-icon, .conform-icon, .contract-icon, .feature-icon,
.sust-stat-icon, .app-line-icon, .apps-featured-icon, .mfeat-ico,
.sc-float-icon, .hero-float-icon {
  background: rgba(37, 99, 235, .14) !important;
  border: 1px solid rgba(59, 130, 246, .22) !important;
  border-radius: 13px !important;
  color: #60A5FA !important;
}

.di-green, .hfi-green, .ss-fi-green, .fi-green, .sfi-green,
.ici-green, .sust-stat-icon {
  background: rgba(16, 185, 129, .13) !important;
  border-color: rgba(16, 185, 129, .26) !important;
  color: #34D399 !important;
}

.di-purple, .ss-fi-purple, .fi-purple {
  background: rgba(139, 92, 246, .14) !important;
  border-color: rgba(139, 92, 246, .26) !important;
  color: #A78BFA !important;
}

.hfi-amber, .ss-fi-amber, .fi-amber, .sfi-amber, .sfi-orange {
  background: rgba(245, 158, 11, .13) !important;
  border-color: rgba(245, 158, 11, .26) !important;
  color: #FBBF24 !important;
}

.ss-fi-red, .sfi-red {
  background: rgba(239, 68, 68, .13) !important;
  border-color: rgba(239, 68, 68, .26) !important;
  color: #F87171 !important;
}

.sfi-steel, .sfi-slate, .sfi-dark {
  background: rgba(148, 163, 184, .13) !important;
  border-color: rgba(148, 163, 184, .26) !important;
  color: #CBD5E1 !important;
}

/* etiquetas e numeração */
/* caixa única para todos os ícones de cartão — 48 px como na Home.
   Sem isso, os que eram apenas um <div> sem dimensão viram uma barra. */
.icard-icon, .acard-icon, .dcard-icon, .spec-icon, .proc-icon, .app-icon,
.value-icon, .challenge-icon, .conform-icon, .contract-icon, .feature-icon,
.sust-stat-icon, .app-line-icon, .apps-featured-icon, .mfeat-ico {
  width: 48px !important;
  height: 48px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.15rem !important;
  line-height: 1;
  margin-bottom: 16px !important;
}

.sc-float-icon, .hero-float-icon {
  width: 40px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1rem !important;
  line-height: 1;
}

.sust-stat-icon, .feature-icon, .value-icon, .dcard-icon { margin: 0 auto 14px !important; }

.icard-tag {
  background: rgba(37, 99, 235, .14) !important;
  color: #93C5FD !important;
  border: 1px solid rgba(59, 130, 246, .20);
  border-radius: 999px !important;
}

.step-num, .solution-num, .proc-num, .mcard-full, .mstat-num,
.stat-num, .sust-stat-num {
  color: #60A5FA !important;
  -webkit-text-fill-color: #60A5FA;
  background: none !important;
}

.stat-label, .mstat-label, .sust-stat-label {
  color: rgba(226, 232, 240, .42) !important;
}

/* listas com check */
.vp-item, .sust-feat, .solution-item, .entrega-item, .phero-check,
.hero-check, .step-text, .contract-features li, .mspec {
  color: rgba(226, 232, 240, .62) !important;
}

.vp-check, .sust-feat-check, .entrega-check, .phero-check-icon,
.hero-check-icon, .conform-check {
  background: rgba(16, 185, 129, .13) !important;
  border: 1px solid rgba(16, 185, 129, .24) !important;
}

.vp-check svg, .sust-feat-check svg, .entrega-check svg,
.phero-check-icon svg, .hero-check-icon svg { color: #34D399 !important; }

.mspec-dot { background: #3B82F6 !important; }

/* --------------------------------------------------------- 8. imagens */

.inside-img, .sust-img, .vp-img, .mon-img, .solution-image, .solution-visual,
.hero-image, .phero-img-wrap, .hero-img-wrap, .gitem, .seg-carousel,
.entregas-carousel, .hero-carousel {
  border-radius: 20px !important;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .55), 0 0 0 1px rgba(37, 99, 235, .14) !important;
}

.inside-img-badge, .sust-badge, .mon-live, .phero-img-badge,
.hero-img-badge, .gitem-label {
  background: rgba(10, 22, 40, .82) !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  border-radius: 10px !important;
  color: rgba(255, 255, 255, .88) !important;
  backdrop-filter: blur(8px);
}

/* cartões flutuantes ao lado da imagem do hero */
.sc-float {
  background: rgba(10, 22, 40, .86) !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .5) !important;
}

.sc-float-text { color: #fff !important; }
.sc-float-sub { color: rgba(226, 232, 240, .48) !important; }

/* ------------------------------------------------------------ 9. hero */

.phero, .hero {
  background: linear-gradient(180deg, #0B1A31 0%, #12233E 32%, #0E1D34 66%, #0A1628 100%) !important;
  padding: 148px 0 96px !important;
  position: relative;
  overflow: hidden;
}

.phero::before, .hero::before {
  content: '';
  position: absolute;
  inset: 0;
  top: 0; left: 0; right: 0; bottom: 0;
  width: auto; height: auto;
  border-radius: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 1;
  background: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, .018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .018) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse 88% 74% at 50% 36%, #000 26%, transparent 80%);
  mask-image: radial-gradient(ellipse 88% 74% at 50% 36%, #000 26%, transparent 80%);
}

.phero::after, .hero::after {
  content: '';
  position: absolute;
  inset: 0;
  top: 0; left: 0; right: 0; bottom: 0;
  width: auto; height: auto;
  border-radius: 0;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(ellipse 640px 540px at 76% 24%, rgba(37, 99, 235, .20) 0%, transparent 66%),
              radial-gradient(ellipse 760px 460px at 10% 88%, rgba(37, 99, 235, .10) 0%, transparent 70%);
}

.hero-seam {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  z-index: 6;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(59, 130, 246, .40) 24%, rgba(147, 197, 253, .58) 50%, rgba(59, 130, 246, .40) 76%, transparent);
}

/* olho-de-boi do hero — mesmo componente das seções */
.phero-badge, .hero-badge {
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .73rem !important;
  font-weight: 600 !important;
  letter-spacing: 3.2px !important;
  text-transform: uppercase;
  color: #3B82F6 !important;
  margin-bottom: 20px !important;
  border-radius: 0 !important;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .7s ease, transform .7s cubic-bezier(0.16, 1, 0.3, 1);
}

.in .phero-badge, .in .hero-badge,
.phero-badge.in, .hero-badge.in { opacity: 1; transform: none; }

.phero-badge-dot, .hero-badge-dot {
  width: 7px; height: 7px;
  background: #34D399 !important;
  border-radius: 50%;
}

.phero h1, .hero h1 {
  font-size: 3.3rem !important;
  color: #fff !important;
  margin-bottom: 18px !important;
  font-weight: 800;
  letter-spacing: -1.5px !important;
  line-height: 1.1;
}

.phero h1 > span:not(.lp-w):not(.lp-wi),
.hero h1 > span:not(.lp-w):not(.lp-wi),
.phero h1 em, .hero h1 em,
.phero h1 .lp-em, .hero h1 .lp-em {
  color: #60A5FA !important;
  -webkit-text-fill-color: #60A5FA;
  background: none !important;
  font-style: normal;
}

.phero-tagline, .hero-tagline {
  color: #93C5FD !important;
  font-size: 1.05rem !important;
  font-weight: 600;
  margin-bottom: 14px !important;
}

.phero-desc, .hero-desc {
  font-size: 1.05rem !important;
  color: rgba(255, 255, 255, .60) !important;
  line-height: 1.7 !important;
  max-width: 520px;
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .85s ease .44s, transform .85s cubic-bezier(0.16, 1, 0.3, 1) .44s;
}

.in .phero-desc, .in .hero-desc { opacity: 1; transform: none; }

.phero-checks, .hero-checks { opacity: 0; transform: translateY(14px); transition: opacity .85s ease .52s, transform .85s cubic-bezier(0.16, 1, 0.3, 1) .52s; }
.in .phero-checks, .in .hero-checks { opacity: 1; transform: none; }

.phero-buttons, .hero-buttons {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .8s ease .62s, transform .8s cubic-bezier(0.16, 1, 0.3, 1) .62s;
}

.in .phero-buttons, .in .hero-buttons { opacity: 1; transform: none; }

.phero-trust, .hero-trust {
  border-top: 1px solid rgba(255, 255, 255, .08) !important;
  opacity: 0;
  transition: opacity .8s ease .78s;
}

.in .phero-trust, .in .hero-trust { opacity: 1; }

.phero-trust-item, .hero-trust-item {
  color: rgba(226, 232, 240, .42) !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  letter-spacing: 1.6px !important;
  font-size: .68rem !important;
}

.phero-trust-sep, .hero-trust-sep { background: rgba(255, 255, 255, .12) !important; }

.phero-visual, .hero-visual {
  opacity: 0;
  transform: translateY(26px) scale(.986);
  transition: opacity 1s ease .22s, transform 1.15s cubic-bezier(0.16, 1, 0.3, 1) .22s;
}

.in.phero-visual, .in.hero-visual,
.in .phero-visual, .in .hero-visual { opacity: 1; transform: none; }

/* véu + brilho sobre a foto do hero, como na Home */
.phero-img-overlay, .hero-img-overlay {
  background: linear-gradient(180deg, rgba(5, 11, 21, .06) 0%, rgba(5, 11, 21, .24) 46%, rgba(5, 11, 21, .76) 100%) !important;
}

.k-glow {
  position: absolute;
  inset: 0;
  z-index: 4;
  opacity: 0;
  pointer-events: none;
  transition: opacity .5s ease;
  background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%), rgba(96, 165, 250, .24), rgba(59, 130, 246, .07) 46%, transparent 72%);
}

.phero-img-wrap:hover .k-glow,
.hero-img-wrap:hover .k-glow,
.hero-image:hover .k-glow { opacity: 1; }

/* barra de números logo abaixo do hero */
.stats-bar { border-top: 1px solid rgba(255, 255, 255, .06); }

.stats-bar .stat-item,
.stats-grid .stat-item {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* -------------------------------------------------------------- 10. CTA */

.cta-box {
  background: linear-gradient(165deg, rgba(255, 255, 255, .06) 0%, rgba(255, 255, 255, .018) 60%, rgba(255, 255, 255, .008) 100%) !important;
  border: 1px solid rgba(255, 255, 255, .08) !important;
  border-radius: 24px !important;
  overflow: hidden;
}

/* brilhos de outra paleta (o dourado da Sala Segura) voltam para o azul da Home */
.cta-box::before {
  content: '';
  position: absolute;
  inset: 0;
  top: 0; left: 0; right: 0; bottom: 0;
  width: auto; height: auto;
  transform: none;
  border-radius: 0;
  pointer-events: none;
  background: radial-gradient(ellipse 620px 420px at 50% -20%, rgba(37, 99, 235, .18) 0%, transparent 68%) !important;
}

.cta-box h2 {
  color: #fff !important;
  font-size: 2.4rem !important;
  letter-spacing: -1.2px;
}

.cta-box h2 em,
.cta-box h2 > span:not(.lp-w):not(.lp-wi),
.cta-box h2 .lp-em {
  font-style: normal;
  color: #60A5FA !important;
  -webkit-text-fill-color: #60A5FA;
  background: none !important;
}

.cta-box > p { color: rgba(226, 232, 240, .60) !important; }

.cta-info-item { color: rgba(226, 232, 240, .45) !important; }
.cta-info-item svg { color: #60A5FA !important; }

.cta-seam {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(59, 130, 246, .28) 24%, rgba(147, 197, 253, .42) 50%, rgba(59, 130, 246, .28) 76%, transparent);
}

/* -------------------------------------------------------- 11. responsivo */

@media (max-width: 1024px) {
  .phero h1, .hero h1 { font-size: 2.6rem !important; }
  .stitle, .section-title { font-size: 2.1rem !important; }
  .section, .inside, .sust, .cta-section { padding: 84px 0; }
  .phero, .hero { padding: 128px 0 76px !important; }
}

@media (max-width: 768px) {
  .phero h1, .hero h1 { font-size: 2.05rem !important; letter-spacing: -1px !important; }
  .stitle, .section-title { font-size: 1.72rem !important; letter-spacing: -.8px !important; }
  .ssub, .section-subtitle { font-size: .95rem !important; }
  .phero-desc, .hero-desc { font-size: .97rem !important; }
  .section, .inside, .sust, .cta-section { padding: 68px 0; }
  .phero, .hero { padding: 108px 0 62px !important; }
  .sheader, .section-header { margin-bottom: 40px; }
  .cta-box h2 { font-size: 1.72rem !important; }
  .section::after, .inside::after, .sust::after, .cta-section::after { width: 760px; height: 420px; top: -120px; }
  .phero-buttons, .hero-buttons, .cta-buttons { flex-wrap: wrap; }
  .btn-primary, .btn-accent, .btn-whatsapp, .btn-whatsapp-lg, .btn-ghost, .btn-outline { padding: 13px 22px; font-size: .86rem; }
  /* os cartões flutuantes do hero saem no celular: ficavam cortados na borda */
  .sc-float, .hero-float { display: none !important; }
  .hero-img-badges, .phero-img-badges { gap: 6px; }
}


/* ==========================================================================
   12. PÁGINAS DE PROJETOS ESPECIAIS (case-*.html)
   Mesmo tratamento escuro das demais internas, sobre o vocabulário próprio
   dessas páginas.
   ========================================================================== */

.about-section, .municipalities-section, .gallery-section, .award-section,
.impact-section, .cases-section {
  position: relative;
  overflow: hidden;
  background: transparent !important;
  padding: 104px 0;
}

.about-section::before, .municipalities-section::before, .gallery-section::before,
.award-section::before, .impact-section::before, .cases-section::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, .018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .018) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse 92% 78% at 50% 44%, #000 22%, transparent 84%);
  mask-image: radial-gradient(ellipse 92% 78% at 50% 44%, #000 22%, transparent 84%);
}

.about-section::after, .municipalities-section::after, .gallery-section::after,
.award-section::after, .impact-section::after, .cases-section::after {
  content: '';
  position: absolute;
  top: -170px;
  left: 50%;
  transform: translateX(-50%);
  width: 1120px;
  height: 620px;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(37, 99, 235, .13) 0%, transparent 66%);
}

.about-container, .municipalities-container, .gallery-container,
.award-container, .cta-container, .impact-container {
  position: relative;
  z-index: 2;
}

.section-title, .cta-title, .award-title {
  color: #fff !important;
  font-size: 2.55rem !important;
  letter-spacing: -1.3px !important;
  line-height: 1.12;
}

.section-title em, .cta-title em, .award-title em,
.section-title .lp-em, .cta-title .lp-em, .award-title .lp-em {
  font-style: normal;
  color: #60A5FA !important;
  -webkit-text-fill-color: #60A5FA !important;
}

.about-text, .cta-description, .award-text, .gallery-caption,
.municipality-cities, .impact-label {
  color: rgba(226, 232, 240, .60) !important;
}

/* o título do hero dessas páginas é um h2 sem classe */
.hero .hero-content h2, .hero-content > h2 {
  color: #fff !important;
  font-size: 3.1rem !important;
  letter-spacing: -1.5px !important;
  line-height: 1.1;
}

.hero .hero-content h2 em, .hero-content > h2 .lp-em {
  font-style: normal;
  color: #60A5FA !important;
  -webkit-text-fill-color: #60A5FA !important;
}

.about-highlight p, .about-highlight span { color: rgba(226, 232, 240, .72) !important; }

.hero-badge, .award-badge > span {
  color: #3B82F6 !important;
}

.about-highlight {
  background: linear-gradient(165deg, rgba(37, 99, 235, .12) 0%, rgba(255, 255, 255, .02) 70%) !important;
  border: 1px solid rgba(59, 130, 246, .22) !important;
  border-left: 3px solid #3B82F6 !important;
  border-radius: 14px !important;
  color: rgba(226, 232, 240, .72) !important;
}

.about-highlight strong, .about-highlight b { color: #fff !important; }

.municipality-card, .impact-card, .gallery-item, .stat-item, .award-badge {
  position: relative;
  background: linear-gradient(165deg, rgba(255, 255, 255, .055) 0%, rgba(255, 255, 255, .016) 60%, rgba(255, 255, 255, .008) 100%) !important;
  border: 1px solid rgba(255, 255, 255, .07) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  transition: border-color .4s ease, background .4s ease, translate .45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .4s ease;
}

.municipality-card:hover, .impact-card:hover, .gallery-item:hover, .stat-item:hover {
  transform: none !important;
  translate: 0 -5px;
  border-color: rgba(59, 130, 246, .30) !important;
  background: linear-gradient(165deg, rgba(37, 99, 235, .14) 0%, rgba(255, 255, 255, .02) 70%) !important;
  box-shadow: 0 22px 48px rgba(0, 0, 0, .42) !important;
}

.municipality-name, .impact-card h3, .municipality-state { color: #60A5FA !important; }
.municipality-count { color: rgba(226, 232, 240, .45) !important; }
.stat-number { color: #60A5FA !important; -webkit-text-fill-color: #60A5FA; }
.stat-label { color: rgba(226, 232, 240, .45) !important; }

.gallery-item { overflow: hidden; }
.gallery-caption {
  background: rgba(10, 22, 40, .82) !important;
  backdrop-filter: blur(8px);
  border-top: 1px solid rgba(255, 255, 255, .08);
}

.hero-image, .hero-image-pro {
  border-radius: 20px !important;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .55), 0 0 0 1px rgba(37, 99, 235, .14) !important;
}

.hero-float-label {
  background: rgba(10, 22, 40, .82) !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  border-radius: 10px !important;
  color: rgba(255, 255, 255, .88) !important;
  backdrop-filter: blur(8px);
}

.hero-description { color: rgba(255, 255, 255, .60) !important; }

.btn, .btn-secondary {
  border-radius: 12px !important;
}

.btn-secondary {
  background: rgba(255, 255, 255, .06) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, .15) !important;
}

.btn-secondary:hover {
  background: rgba(255, 255, 255, .12) !important;
  transform: translateY(-2px);
}

.impact-emoji, .municipality-emoji { filter: saturate(.9); }

@media (max-width: 1024px) {
  .about-section, .municipalities-section, .gallery-section, .award-section,
  .impact-section, .cases-section { padding: 84px 0; }
}

@media (max-width: 768px) {
  .about-section, .municipalities-section, .gallery-section, .award-section,
  .impact-section, .cases-section { padding: 68px 0; }
  .section-title, .cta-title, .award-title { font-size: 1.72rem !important; letter-spacing: -.8px !important; }
}


/* ==========================================================================
   13. BARRA DE NÚMEROS NO MESMO PADRÃO DA HERO DA HOME
   Vale para .stats-bar (cofre, fabricação metálica) e para as .hero-stats
   das páginas de projeto.
   ========================================================================== */

.stats-bar {
  background: transparent !important;
  border-top: 1px solid rgba(255, 255, 255, .06) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .06) !important;
  padding: 44px 0 !important;
}

.stats-bar .stats-grid,
.hero-stats {
  gap: 0 !important;
}

.stats-bar .stat-item,
.hero-stats .stat-item {
  position: relative;
  text-align: center;
  padding: 6px 16px;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.stats-bar .stat-item + .stat-item::before,
.hero-stats .stat-item + .stat-item::before {
  content: '';
  position: absolute;
  top: 12%;
  bottom: 12%;
  left: 0;
  width: 1px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .13), rgba(255, 255, 255, 0));
}

.stats-bar .stat-num,
.stats-bar .stat-number,
.stats-bar .stat-item h3,
.hero-stats .stat-number,
.hero-stats .stat-num {
  font-family: 'Space Grotesk', 'Inter', system-ui, sans-serif !important;
  font-size: 3rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums;
  background: linear-gradient(135deg, #93C5FD, #3B82F6) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* fio azul curto abaixo do número, como na Home */
.stats-bar .stat-num::after,
.stats-bar .stat-number::after,
.stats-bar .stat-item h3::after,
.hero-stats .stat-number::after,
.hero-stats .stat-num::after {
  content: '';
  display: block;
  width: 46px;
  height: 4px;
  border-radius: 4px;
  background: linear-gradient(90deg, #60A5FA, #2563EB);
  margin: 14px auto;
  transform: scaleX(0);
  transition: transform .85s cubic-bezier(0.22, 1, 0.36, 1) .3s;
}

.stats-bar.in .stat-num::after,
.stats-bar.in .stat-number::after,
.stats-bar.in .stat-item h3::after,
.in .stat-item h3::after,
.in .stat-number::after,
.in .stat-num::after,
.rv.in .stat-num::after { transform: scaleX(1); }

.stats-bar .stat-label,
.stats-bar .stat-item p,
.hero-stats .stat-label {
  font-size: .8rem !important;
  color: rgba(255, 255, 255, .75) !important;
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
  font-weight: 600 !important;
  margin-top: 0 !important;
}

@media (max-width: 768px) {
  .stats-bar .stat-num, .stats-bar .stat-number, .stats-bar .stat-item h3,
  .hero-stats .stat-number, .hero-stats .stat-num { font-size: 2.05rem !important; }
  .stats-bar .stat-label, .stats-bar .stat-item p, .hero-stats .stat-label { font-size: .62rem !important; letter-spacing: .5px !important; }
  .stats-bar .stat-num::after, .stats-bar .stat-number::after, .stats-bar .stat-item h3::after,
  .hero-stats .stat-number::after, .hero-stats .stat-num::after { width: 32px; height: 3px; margin: 9px auto; }
}


/* ==========================================================================
   14. PAINÉIS DE LINHA (mesmo componente de "Nossos Produtos" da Home)
   Usado na seção de aplicações do Cofre. Copiado da Home para que as páginas
   internas tenham exatamente o mesmo comportamento.
   ========================================================================== */


/* ===== LINEUP — Produtos & Serviços ===== */
.lineup { position: relative; background: #050B15; overflow: hidden; padding: 104px 0 0; scroll-margin-top: 88px; }
.lineup-top { background: linear-gradient(180deg, #0A1628 0%, #050B15 460px); }
.lineup::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,0.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.018) 1px, transparent 1px); background-size: 56px 56px; pointer-events: none; }
.lineup::after { content: ''; position: absolute; top: -140px; left: 50%; transform: translateX(-50%); width: 1100px; height: 620px; background: radial-gradient(ellipse at center, rgba(37,99,235,0.16) 0%, transparent 66%); pointer-events: none; }
.lineup .container { position: relative; z-index: 2; }
/* -- revelação palavra a palavra -- */
.lp-w { display: inline-block; overflow: hidden; vertical-align: bottom; padding: 0.10em 0.03em 0.17em; margin: -0.10em -0.03em -0.17em; }
.lp-wi { display: inline-block; transform: translateY(115%); opacity: 0; transition: transform 0.95s cubic-bezier(0.16,1,0.3,1), opacity 0.6s ease; transition-delay: calc(var(--d, 0ms) + var(--wd, 0ms)); }
.lp-em { color: var(--accent-light); font-style: normal; }
.in .lp-wi { transform: translateY(0); opacity: 1; }
.lp-head { text-align: center; max-width: 780px; margin: 0 auto 56px; }
.lp-eyebrow { display: inline-flex; align-items: center; gap: 9px; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 0.73rem; font-weight: 600; letter-spacing: 3.2px; text-transform: uppercase; color: var(--accent-light); margin-bottom: 18px; opacity: 0; transform: translateY(10px); transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.16,1,0.3,1); }
.lp-head.in .lp-eyebrow { opacity: 1; transform: none; }
.lp-heading { font-size: 2.55rem; color: #fff; letter-spacing: -1.3px; line-height: 1.12; margin-bottom: 16px; }
.lp-heading em { font-style: normal; color: var(--accent-light); }
.lp-lead { font-size: 1rem; color: rgba(226,232,240,0.60); line-height: 1.78; opacity: 0; transform: translateY(14px); transition: opacity 0.85s ease 0.42s, transform 0.85s cubic-bezier(0.16,1,0.3,1) 0.42s; }
.lp-head.in .lp-lead { opacity: 1; transform: none; }
.lp-row { display: flex; gap: 0; max-width: none; margin: 0; padding: 0; }
.lp-panel { position: relative; display: block; flex: 1 1 0; min-width: 0; height: 680px; border-radius: 0; overflow: hidden; text-decoration: none; color: inherit; background: #0A1628; will-change: flex-grow, filter; transition: flex-grow 0.95s cubic-bezier(0.34,1.28,0.36,1), filter 0.55s ease; scroll-margin-top: 100px; }
.lp-row-wide .lp-panel { height: 560px; }
/* fio de luz na borda do painel ativo */
.lp-panel::after { content: ''; position: absolute; inset: 0; z-index: 6; pointer-events: none; padding: 1px; background: linear-gradient(145deg, rgba(147,197,253,0.85), rgba(59,130,246,0.30) 36%, rgba(59,130,246,0) 62%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude; opacity: 0; transition: opacity 0.55s ease; }
.lp-inner { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 100%; clip-path: inset(0 0 100% 0); transition: clip-path 1.05s cubic-bezier(0.16,1,0.3,1); transition-delay: var(--d, 0ms); }
.lp-row.in .lp-inner { clip-path: inset(0 0 0 0); }
/* divisória de 1px entre painéis vizinhos */
.lp-panel + .lp-panel .lp-inner::before { content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 1px; z-index: 5; background: linear-gradient(180deg, rgba(255,255,255,0.13), rgba(255,255,255,0.05) 62%, rgba(255,255,255,0.02)); pointer-events: none; transition: opacity 0.5s ease; }
.lp-media { position: absolute; inset: 0; overflow: hidden; transform: scale(1.13); transition: transform 1.3s cubic-bezier(0.16,1,0.3,1); transition-delay: var(--d, 0ms); }
.lp-row.in .lp-media { transform: scale(1); }
.lp-par { position: absolute; top: -10%; left: 0; width: 100%; height: 120%; transform: translate3d(0, var(--py, 0px), 0); will-change: transform; }
.lp-media img { width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(0.18) brightness(0.60) contrast(1.04); transition: transform 0.9s cubic-bezier(0.22,1,0.36,1), filter 0.7s ease; }
.lp-veil { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,11,21,0.62) 0%, rgba(5,11,21,0.20) 24%, rgba(5,11,21,0.26) 48%, rgba(5,11,21,0.90) 100%); }
.lp-veil::after { content: ''; position: absolute; inset: -10% -30%; background: linear-gradient(112deg, transparent 40%, rgba(191,219,254,0.13) 49%, transparent 58%); transform: translateX(-115%); pointer-events: none; }
.lp-tint { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(37,99,235,0) 38%, rgba(29,78,216,0.40) 100%); opacity: 0; transition: opacity 0.7s ease; }
.lp-glow { position: absolute; inset: 0; opacity: 0; transition: opacity 0.5s ease; background: radial-gradient(360px circle at var(--mx, 50%) var(--my, 50%), rgba(96,165,250,0.26), rgba(59,130,246,0.08) 44%, transparent 70%); }
.lp-rule { position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--gradient-1); transform: scaleX(0); transform-origin: left center; transition: transform 0.75s cubic-bezier(0.22,1,0.36,1); }
.lp-num { position: absolute; z-index: 2; bottom: 2px; right: 22px; font-family: 'Space Grotesk', sans-serif; font-size: 5.2rem; font-weight: 800; line-height: 1; letter-spacing: -3.5px; font-variant-numeric: tabular-nums; color: rgba(255,255,255,0.115); -webkit-text-stroke: 0; opacity: 0; transform: translateY(20px); transition: opacity 0.8s ease, transform 0.9s cubic-bezier(0.16,1,0.3,1), color 0.55s ease; transition-delay: var(--d, 0ms); pointer-events: none; }
.lp-row-wide .lp-num { font-size: 5.8rem; }
.lp-row.in .lp-num { opacity: 1; transform: none; }
.lp-body { position: relative; z-index: 3; padding: 34px 28px 0; }
.lp-kicker { display: block; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 0.715rem; font-weight: 500; letter-spacing: 2.4px; text-transform: uppercase; color: var(--accent-light); margin: 13px 0 0; opacity: 0; transform: translateY(9px); transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.16,1,0.3,1); transition-delay: calc(var(--d, 0ms) + 300ms); }
.lp-row.in .lp-kicker { opacity: 1; transform: none; }
.lp-kicker::before { content: ''; display: block; width: 26px; height: 2px; background: var(--gradient-1); margin-bottom: 12px; transform-origin: left center; transform: scaleX(0.35); transition: transform 0.7s cubic-bezier(0.22,1,0.36,1); }
.lp-title { font-size: 1.74rem; font-weight: 700; color: #fff; line-height: 1.12; letter-spacing: -0.85px; margin: 0; }
/* reserva duas linhas para que os kickers fiquem alinhados entre os painéis */
#lp-row-produtos .lp-title { min-height: 2.24em; }
.lp-row-wide .lp-title { font-size: 2.05rem; letter-spacing: -1.1px; }
.lp-drop { position: relative; z-index: 3; padding: 0 28px 30px; }
.lp-drop > .lp-desc { opacity: 0; transform: translateY(12px); transition: opacity 0.7s ease, transform 0.75s cubic-bezier(0.16,1,0.3,1); transition-delay: calc(var(--d, 0ms) + 420ms); }
.lp-row.in .lp-drop > .lp-desc { opacity: 1; transform: none; }
.lp-reveal { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows 0.78s cubic-bezier(0.22,1,0.36,1), opacity 0.5s ease; }
.lp-reveal > span { display: block; min-height: 0; overflow: hidden; padding-bottom: 9px; }
.lp-desc { display: block; font-size: 0.975rem; color: rgba(226,232,240,0.80); line-height: 1.62; margin: 15px 0 18px; }
.lp-row-wide .lp-desc { font-size: 1.02rem; max-width: 540px; }
.lp-reveal .lp-desc { opacity: 0; transform: translateY(10px); transition: opacity 0.55s ease, transform 0.6s cubic-bezier(0.22,1,0.36,1); }
.lp-specs { display: block; margin-bottom: 20px; }
.lp-spec { display: flex; align-items: flex-start; gap: 10px; font-size: 0.875rem; color: rgba(226,232,240,0.70); line-height: 1.52; margin-bottom: 9px; opacity: 0; transform: translateY(9px); transition: opacity 0.5s ease, transform 0.55s cubic-bezier(0.22,1,0.36,1); }
.lp-spec svg { width: 15px; height: 15px; flex-shrink: 0; margin-top: 3.5px; color: var(--accent-light); }
.lp-cta { position: relative; display: inline-flex; align-items: center; gap: 10px; font-size: 0.845rem; font-weight: 700; letter-spacing: 0.6px; text-transform: uppercase; color: #fff; opacity: 0; transform: translateY(9px); transition: opacity 0.5s ease, transform 0.55s cubic-bezier(0.22,1,0.36,1); }
.lp-cta::after { content: ''; position: absolute; left: 0; right: 0; bottom: -7px; height: 1px; background: linear-gradient(90deg, var(--accent-light), rgba(96,165,250,0)); transform: scaleX(0); transform-origin: left center; transition: transform 0.7s cubic-bezier(0.22,1,0.36,1); }
.lp-cta svg { width: 17px; height: 17px; transition: transform 0.4s ease; }@media (hover: hover) and (min-width: 1101px){
.lp-row:hover .lp-panel { flex-grow: 0.84; filter: brightness(0.74) saturate(0.86); }
.lp-row:hover .lp-panel:hover { flex-grow: 1.85; filter: none; }
.lp-row-wide:hover .lp-panel { flex-grow: 0.86; }
.lp-row-wide:hover .lp-panel:hover { flex-grow: 1.32; }
.lp-panel:hover::after { opacity: 1; }
.lp-panel:hover .lp-kicker::before { transform: scaleX(1); }
.lp-panel:hover .lp-kicker { color: #DBEAFE; }
.lp-panel:hover .lp-media img { transform: scale(1.06); filter: grayscale(0) brightness(0.76) contrast(1.02); }
.lp-panel:hover .lp-tint { opacity: 1; }
.lp-panel:hover .lp-glow { opacity: 1; }
.lp-panel:hover .lp-veil::after { animation: lpSweep 1.2s cubic-bezier(0.22,1,0.36,1) forwards; }
.lp-panel:hover .lp-rule { transform: scaleX(1); }
.lp-row.in .lp-panel:hover .lp-num { color: rgba(147,197,253,0.10); transform: translate(14px, 16px); }
.lp-panel:hover .lp-reveal { grid-template-rows: 1fr; opacity: 1; }
.lp-panel:hover .lp-reveal .lp-desc { opacity: 1; transform: none; transition-delay: 0.14s; }
.lp-panel:hover .lp-spec { opacity: 1; transform: none; }
.lp-panel:hover .lp-spec:nth-child(1) { transition-delay: 0.22s; }
.lp-panel:hover .lp-spec:nth-child(2) { transition-delay: 0.30s; }
.lp-panel:hover .lp-spec:nth-child(3) { transition-delay: 0.38s; }
.lp-panel:hover .lp-cta { opacity: 1; transform: none; transition-delay: 0.46s; }
.lp-panel:hover .lp-cta::after { transform: scaleX(1); transition-delay: 0.56s; }
.lp-panel:hover .lp-cta svg { transform: translateX(5px); }}
.lp-foot { display: flex; align-items: center; justify-content: center; gap: 36px; flex-wrap: wrap; padding: 56px 24px 0; }
.lp-foot-item { display: flex; align-items: center; gap: 11px; font-size: 0.86rem; font-weight: 500; color: rgba(226,232,240,0.72); }
.lp-foot-check { width: 24px; height: 24px; border-radius: 50%; background: rgba(16,185,129,0.14); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lp-foot-check svg { width: 12px; height: 12px; color: var(--green); }
.lineup-end { padding-bottom: 104px; }@media (prefers-reduced-motion: reduce){
.lp-inner, .lp-media, .lp-media img, .lp-panel, .lp-reveal, .lp-rule, .lp-num, .lp-tint, .lp-glow, .lp-wi, .lp-kicker, .lp-kicker::before, .lp-spec, .lp-cta, .lp-eyebrow, .lp-lead, .lp-reveal .lp-desc { transition: none !important; animation: none !important; }
.lp-inner { clip-path: none !important; }
.lp-media { transform: none !important; }
.lp-par { transform: none !important; }
.lp-wi, .lp-kicker, .lp-spec, .lp-cta, .lp-eyebrow, .lp-lead, .lp-desc { opacity: 1 !important; transform: none !important; }
.lp-kicker::before { transform: scaleX(1) !important; }
.lp-num { opacity: 1 !important; transform: none !important; }
.lp-veil::after { display: none; }}@media (max-width: 1100px), (hover: none){
.lp-reveal { grid-template-rows: 1fr; opacity: 1; }
.lp-rule { transform: scaleX(1); height: 2px; opacity: 0.5; }
.lp-kicker::before { transform: scaleX(1); }
.lp-media img { filter: grayscale(0.08) brightness(0.60) contrast(1.04); }
.lp-row.in .lp-reveal .lp-desc,
.lp-row.in .lp-spec,
.lp-row.in .lp-cta { opacity: 1; transform: none; }
.lp-row.in .lp-spec:nth-child(1) { transition-delay: calc(var(--d, 0ms) + 260ms); }
.lp-row.in .lp-spec:nth-child(2) { transition-delay: calc(var(--d, 0ms) + 330ms); }
.lp-row.in .lp-spec:nth-child(3) { transition-delay: calc(var(--d, 0ms) + 400ms); }
.lp-row.in .lp-reveal .lp-desc { transition-delay: calc(var(--d, 0ms) + 200ms); }
.lp-row.in .lp-cta { transition-delay: calc(var(--d, 0ms) + 470ms); }
.lp-glow, .lp-veil::after { display: none; }}@media (max-width: 1100px){
.lineup { padding-top: 84px; }
.lp-heading { font-size: 2.15rem; }
.lp-row { flex-wrap: wrap; }
.lp-panel, .lp-row-wide .lp-panel { flex: 1 1 50%; height: auto; min-height: 480px; }
.lp-inner { min-height: 480px; }
.lp-panel:nth-child(odd) .lp-inner::before { display: none; }
.lp-panel:nth-child(n+3) .lp-inner::after { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; z-index: 5; background: rgba(255,255,255,0.09); pointer-events: none; }
.lp-media { position: absolute; top: 0; left: 0; right: 0; bottom: auto; height: 290px; }
.lp-veil { bottom: auto; height: 400px; background: linear-gradient(180deg, rgba(5,11,21,0.55) 0%, rgba(5,11,21,0.18) 22%, rgba(5,11,21,0.56) 58%, #050B15 100%); }
.lp-tint { display: none; }
.lp-body { padding-top: 214px; }
.lp-drop { padding-top: 4px; }
.lp-num { font-size: 4rem; bottom: 6px; right: 20px; color: rgba(255,255,255,0.10); }
.lp-row-wide .lp-num { font-size: 4rem; }
.lp-title, .lp-row-wide .lp-title { font-size: 1.5rem; letter-spacing: -0.7px; }
#lp-row-produtos .lp-title { min-height: 0; }
.lp-row-wide .lp-desc { max-width: none; }}@media (max-width: 720px){
.lineup { padding-top: 68px; }
.lp-head { margin-bottom: 40px; }
.lp-heading { font-size: 1.85rem; letter-spacing: -0.8px; }
.lp-lead { font-size: 0.94rem; }
.lp-panel, .lp-row-wide .lp-panel { flex: 1 1 100%; min-height: 420px; }
.lp-inner { min-height: 420px; }
.lp-panel + .lp-panel .lp-inner::before { display: none; }
.lp-panel + .lp-panel .lp-inner::after { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; z-index: 5; background: rgba(255,255,255,0.09); pointer-events: none; }
.lp-media { height: 250px; }
.lp-veil { height: 350px; }
.lp-body { padding: 186px 22px 0; }
.lp-drop { padding: 4px 22px 28px; }
.lp-num { font-size: 3.2rem; bottom: 4px; right: 18px; }
.lp-row-wide .lp-num { font-size: 3.2rem; }
.lp-foot { flex-direction: column; align-items: center; gap: 14px; padding-top: 44px; }
.lineup-end { padding-bottom: 72px; }}
.about-heading .lp-em { color: var(--accent-light); font-style: normal; }
.cta-heading .lp-em { color: var(--accent-light); font-style: normal; }
/* espaço reservado para a foto que ainda vai entrar no painel */
.lp-media .lp-ph {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
  padding: 24px;
  background: linear-gradient(165deg, rgba(37, 99, 235, .18) 0%, rgba(10, 22, 40, .9) 70%);
  border: 1.5px dashed rgba(96, 165, 250, .3);
}
.lp-ph-ic { width: 46px; height: 46px; border-radius: 13px; display: inline-flex; align-items: center; justify-content: center; background: rgba(37,99,235,.2); border: 1px solid rgba(59,130,246,.3); color: #93C5FD; }
.lp-ph-ic svg { width: 22px; height: 22px; }
.lp-ph-s { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: .62rem; color: rgba(226,232,240,.45); letter-spacing: .3px; line-height: 1.5; }


/* ==========================================================================
   15. AJUSTES PEDIDOS PELA CLIENTE
   ========================================================================== */

/* caixa de contato com respiro igual em todas as páginas */
.cta-box { padding: 60px 48px !important; }

/* cartões com mais respiro: "A Solução" (cofre) e "Entregas" (metálica) */
.solution-list { gap: 16px !important; }

.solution-item {
  padding: 24px 26px !important;
  border-radius: 16px !important;
}

.entregas-list { gap: 14px !important; }

.entrega-item {
  padding: 20px 24px !important;
  border-radius: 14px !important;
}

/* faixa "Recomendado" não pode cortar o texto do cartão */
.contract-featured { padding-top: 48px !important; }

.contract-featured::before {
  top: 20px !important;
  right: -46px !important;
  padding: 6px 52px !important;
  font-size: .62rem !important;
  letter-spacing: 1px !important;
  background: linear-gradient(135deg, #2563EB, #1D4ED8) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .35);
}

/* a seção de painéis não usa o container padrão nas laterais */
.lineup-inner { padding-bottom: 0 !important; }
.lineup-inner .lp-row { margin-top: 8px; }

@media (max-width: 768px) {
  .cta-box { padding: 36px 22px !important; }
  .solution-item { padding: 18px 18px !important; }
  .entrega-item { padding: 16px 18px !important; }
  .contract-featured { padding-top: 42px !important; }
}
