/* ISATECH — Landing Institucional
   - Visual: sólido, moderno, corporativo
   - Paleta: extraída do logo (teal/verde)
*/

:root{
  /* Fundo geral — escuro institucional */
  --bg: #0A0F0F;
  --bg-2: #0C1412;

  /* Cards */
  --card: rgba(255,255,255,.03);
  --card-2: rgba(255,255,255,.05);

  /* Bordas e divisões */
  --stroke: rgba(25,195,125,.16);
  --stroke-strong: rgba(25,195,125,.32);

  /* Texto */
  --text: rgba(245,248,246,.96);
  --muted: rgba(217,217,217,.82);

  /* Identidade ISATECH */
  --brand: #19C37D;
  --brand-strong: #13A66A;
  --brand-deep: #0B3B2E;
  --brand-soft: #7DE0B2;
  --ink: #0A0F0F;
  --line: #D9D9D9;
  --primary: #19C37D;
  --primary-2: #0B3B2E;
  --accent: #19C37D;
  --accent-2: #13A66A;
  --success: #7DE0B2;
  --brand-gradient: linear-gradient(135deg, #19C37D, #0B3B2E);
  --brand-gradient-soft: linear-gradient(180deg, rgba(25,195,125,.22), rgba(11,59,46,.14));

  /* Sombras — premium clean */
  --shadow: 
    0 18px 42px rgba(0,0,0,.28),
    0 2px 6px rgba(0,0,0,.18);

  /* Raio */
  --radius: 18px;
  --radius-lg: 22px;

  /* Layout */
  --maxw: 1100px;
  --font-display: "Oxanium", "Rajdhani", sans-serif;
  --font-ui: "Rajdhani", "Inter", sans-serif;
}

.section{
  background: linear-gradient(180deg, var(--bg), var(--bg-2));
}

.card{
  background: var(--card);
  border: 1px solid var(--stroke);
  box-shadow: var(--shadow);
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth;
  width: 100%;
  overflow-x: hidden;
  background: var(--bg);
}
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);
  margin: 0;
  padding: 0;
  width: 100%;
  overflow-x: hidden;
  background: var(--bg);
}

main{
  background: var(--bg);
}

a{ color: inherit; text-decoration: none; }
a:hover{ opacity: .9; }
a:focus-visible,
button:focus-visible{
  outline: 2px solid rgba(136,184,123,.95);
  outline-offset: 3px;
}
img{ 
  max-width: 100%; 
  /* display: block;  */
}

.container{
  width: min(var(--maxw), calc(100% - (var(--pad, 24px) * 2)));
  margin: 0 auto;
}

.container--wide{
  width: min(1380px, calc(100% - 48px));
}

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip: rect(0,0,0,0); white-space:nowrap; border:0;
}

.skip-link{
  position: absolute;
  left: 12px; top: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(8,16,13,.88);
  border: 1px solid var(--stroke);
  transform: translateY(-160%);
  transition: transform .2s ease;
  z-index: 9999;
}
.skip-link:focus{ transform: translateY(0); }

/* Header */
.header{
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(18px);
  background:
    linear-gradient(180deg, rgba(8,16,13,.94), rgba(8,16,13,.88)),
    radial-gradient(900px 180px at 10% 0%, rgba(136,184,123,.10), transparent 55%);
  border-bottom: 1px solid rgba(136,184,123,.24);
  box-shadow: 0 16px 44px rgba(3,8,6,.28);
}
.header::after{
  content: "";
  display: block;
  height: 10px;
  background:
    repeating-linear-gradient(
      90deg,
      transparent 0 11.5%,
      rgba(136,184,123,.88) 11.5% 11.7%,
      transparent 11.7% 16.5%
    );
  opacity: .95;
}
.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 18px;
  min-height: 88px;
  padding: 10px 0 12px;
}

.brand{
  display:flex;
  align-items:center;
  gap: 12px;
}
.brand__logo{
  width: min(420px, 100%);
  height: 96px;
  object-fit: contain;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.25));
}
.brand__name{
  display:block;
  font-weight: 800;
  letter-spacing: .04em;
}
.brand__sub{
  display:block;
  font-size: 12px;
  color: var(--muted);
  margin-top: 2px;
}

.nav{
  display:flex;
  align-items:center;
  gap: 22px;
}
.nav a{
  position: relative;
  color: rgba(255,255,255,.66);
  font-weight: 700;
  font-size: 14px;
  font-family: var(--font-ui);
  letter-spacing: .05em;
  padding: 12px 4px;
  border-radius: 12px;
  text-transform: uppercase;
}
.nav a:hover{
  color: rgba(255,255,255,.98);
  background: transparent;
}
.nav a::after{
  content: "";
  position: absolute;
  left: 4px;
  right: 4px;
  bottom: 1px;
  height: 1px;
  transform: scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg, rgba(136,184,123,.95), rgba(83,224,168,.70));
  transition: transform .22s ease;
}
.nav a:hover::after,
.nav a:focus-visible::after{
  transform: scaleX(1);
}

.nav__toggle{
  display:none;
  width: 46px;
  height: 46px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  flex: 0 0 auto;
  border-radius: 14px;
  border: 1px solid rgba(136,184,123,.28);
  background: rgba(255,255,255,.04);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  cursor:pointer;
  padding: 10px;
}
.nav__toggle span:not(.sr-only){
  display:block;
  width: 22px;
  height: 2px;
  background: rgba(255,255,255,.92);
  margin: 0;
  border-radius: 999px;
  transform-origin: center;
  transition: transform .18s ease, opacity .18s ease, background .18s ease;
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 14px;
  border: 1px solid rgba(136,184,123,.46);
  background: linear-gradient(180deg, rgba(151,203,97,.96), rgba(131,184,91,.92));
  color: #061008;
  font-weight: 800;
  letter-spacing: .01em;
  box-shadow: 0 18px 45px rgba(0,0,0,.28);
}
.btn:hover{ transform: translateY(-1px); }
.btn:active{ transform: translateY(0); }

.btn--ghost {
  background: rgba(136,184,123,.08);
  color: rgba(245,248,246,.96);
  border: 1px solid rgba(136,184,123,.30);
  box-shadow: none;
  backdrop-filter: blur(6px);
  text-shadow: 0 2px 8px rgba(0,0,0,.55);
}

.btn--ghost:hover {
  background: rgba(136,184,123,.14);
  border-color: rgba(136,184,123,.45);
}

.btn--ghost:focus-visible {
  outline: 2px solid rgba(136,184,123,.95);
  outline-offset: 3px;
}


.btn--sm{
  color: #F4F8F9;
  padding: 12px 20px;
  font-size: 13px;
  border-radius: 16px;
  border-color: rgba(136,184,123,.68);
  background: linear-gradient(180deg, rgba(136,184,123,.10), rgba(136,184,123,.06));
  box-shadow: inset 0 0 0 1px rgba(136,184,123,.18);
}

/* Hero */
.hero {
  position: relative;
  min-height: 76vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid rgba(14,27,29,.08);
}

.hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: #0e1b1d;
}

.hero__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.05) contrast(1.05) brightness(.9);
}

.hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(14,27,29,.80) 0%,
    rgba(14,27,29,.60) 45%,
    rgba(14,27,29,.35) 70%,
    rgba(14,27,29,.15) 100%
  );
}

.hero__content {
  position: relative;
  z-index: 2;
  padding: 88px 0 56px;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #EAF6F3;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  padding: 10px 12px;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: .02em;
  backdrop-filter: blur(4px);
}

.hero h1 {
  font-family: var(--font-display);
  font-size: clamp(36px, 4.2vw, 56px);
  line-height: 1.02;
  margin: 18px 0 14px;
  max-width: 18ch;
  color: var(--text);
  font-weight: 700;
  letter-spacing: -0.05em;
  text-wrap: balance;
  text-shadow: 0 10px 34px rgba(0,0,0,.62);
}

.lead {
  font-size: 18px;
  line-height: 1.6;
  color: #D1D5DB;
  max-width: 62ch;
  margin: 0 0 24px;
  text-shadow: 0 6px 24px rgba(0,0,0,.62);
}

/* [Refactor] HERO: frase toda em destaque (mesma leitura do antigo .hero__em) */
.lead--strong{
  color: #F3F4F6;
  font-weight: 800;
}

.hero__accent{
  color: var(--brand);
  display: inline-block;
  font-weight: 800;
  letter-spacing: -0.06em;
  text-shadow: 0 10px 30px rgba(11, 59, 46, .22);
}

.hero__accent--soft{
  color: rgba(19,166,106,.88);
}

.hero__em{
  color: #F3F4F6;
  font-weight: 800;
}

.hero__cta{
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 26px;
}

.kpis{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  max-width: 920px;
  margin-top: 50px;
}

.kpi{
  background: rgba(8,16,13,.82);
  border: 1px solid rgba(136,184,123,.24);
  border-radius: var(--radius);
  padding: 14px 20px;
  box-shadow: 0 18px 55px rgba(0,0,0,.30);
  backdrop-filter: blur(4px);
}

/* ===== KPI VALUE ( +255 ) ===== */
.kpi__value{
  display: inline-flex;
  align-items: baseline; /* 🔥 alinhamento perfeito */
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1;
  color: rgba(151,203,97,.98);
}

/* + */
.kpi__plus{
  font-size: 26px;
  margin-right: 2px;
}

/* número animado */
.kpi__number{
  font-size: 32px;
}

/* label */
.kpi__label{
  display:block;
  margin-top: 6px;
  color: var(--muted);
  font-weight: 700;
  font-size: 13px;
}


/* Sections */
.section{  
  background: var(--bg);
  position: relative;
  padding: 76px 0; 
}
.section::after{
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
  pointer-events: none;
}
.section > .container{
  position: relative;
  z-index: 1;
  padding: clamp(26px, 4vw, 42px);
  border-radius: 32px;
  background:
    linear-gradient(180deg, rgba(4,10,8,.82), rgba(4,10,8,.72)),
    radial-gradient(900px 240px at 50% 0%, rgba(136,184,123,.05), transparent 60%);
  border: 1px solid rgba(136,184,123,.18);
  box-shadow: 0 24px 70px rgba(0,0,0,.22);
}
.section::before{
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(1100px, calc(100% - 48px));
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(136,184,123,.32), transparent);
  pointer-events: none;
}

.section--alt{
  background: var(--bg);
  border-top: 1px solid rgba(136,184,123,.10);
  border-bottom: 1px solid rgba(136,184,123,.10);
}
.section__head{
  max-width: 860px;
  margin-bottom: 30px;
  padding-top: 8px;
}
.section__head--center{
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.section__head p{ color: rgba(236,242,238,.84); line-height: 1.9; margin: 12px 0 0; }
/* Section head paragraph on light sections */
section:not(.hero) .section__head p{ color: rgba(236,242,238,.84); line-height: 1.9; margin: 12px 0 0; }
.section__head h2{
  display: inline-block;
  position: relative;
  padding-top: 16px;
  color: rgba(250,252,250,.98);
  font-size: clamp(32px, 4vw, 54px);
  letter-spacing: -.03em;
}
.section__head h2 span{
  color: rgba(151,203,97,.98);
}
.section__head h2::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 92px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(136,184,123,.95), rgba(53,99,106,.30));
  box-shadow: 0 0 0 6px rgba(136,184,123,.10);
}
.section__head--center h2::before{
  left: 50%;
  transform: translateX(-50%);
}

.section-chip{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  padding: 10px 22px;
  border-radius: 999px;
  border: 1px solid rgba(136,184,123,.34);
  background: rgba(151,203,97,.92);
  color: #173029;
  font-family: var(--font-ui);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.about-frame{
  position: relative;
  padding: clamp(62px, 8vw, 94px) clamp(28px, 8vw, 96px);
  border: 1px solid rgba(151,203,97,.58);
  background: rgba(3,10,7,.26);
}

.about-frame::before,
.about-frame::after{
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: rgba(151,203,97,.92);
}

.about-frame::before{
  top: -7px;
  left: -7px;
}

.about-frame::after{
  top: -7px;
  right: -7px;
}

.about-frame .section-chip{
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
}

.about-frame__body{
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}

.about-frame__body h2{
  margin-bottom: 28px;
  padding-top: 0;
  font-size: clamp(44px, 5.2vw, 72px);
}

.about-frame__body h2::before{
  display: none;
}

.about-frame__body h2 strong{
  color: rgba(250,252,250,.98);
  font-weight: 700;
}

.about-frame__body p{
  margin: 0 auto;
  max-width: 980px;
  color: rgba(242,246,243,.92);
  font-family: var(--font-ui);
  font-size: clamp(21px, 2vw, 24px);
  line-height: 1.95;
}

/* 
==========================================
   SEÇÕES — fundo neutro ou institucional
==========================================
*/

/* Seção neutra (default) */
.section--neutral{
  background: var(--bg);
}

/* Seção institucional (Sobre, Missão, Valores) */
.section--institutional{
  background: var(--bg);
}

/* Seção de tecnologia / inovação */
.section--tech{
  background: var(--bg);
}

/* Seção de impacto / projetos / cases */
.section--impact{
  background: var(--bg);
}

/* Seção de contato / CTA final */
.section--contact{
  background: var(--bg);
}

.section--journey .section__head{
  max-width: 76ch;
}

.journey-media{
  margin-top: clamp(12px, 2vw, 20px);
  overflow: visible;
}

.journey-media img{
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
}

@media (max-width: 820px){
  .journey-media{
    margin-inline: -10px;
  }
}

.section--contact .section__head{
  max-width: 70ch;
  margin: 0 auto;
}

.section--contact .section__head p{
  margin-top: 10px;
  color: rgba(209,213,219,.92);
}


h2{
  font-size: clamp(26px, 2.4vw, 34px);
  margin: 0 0 10px;
  letter-spacing: -0.02em;
  font-family: var(--font-display);
  text-transform: uppercase;
}
h3{
  margin: 0 0 8px;
  letter-spacing: -0.01em;
  color: rgba(245,248,246,.96);
  font-family: var(--font-display);
  text-transform: uppercase;
}
h4{
  margin: 0;
  color: rgba(255,255,255,.88);
  letter-spacing: .01em;
}

.grid{
  display:grid;
  gap: 20px;
}
.grid--2{
  grid-template-columns: 1.2fr .8fr;
  align-items: start;
}

/* =========================
   LAYOUT DE CONTEÚDO (respiro)
   - grids ausentes (cards/stack/tech/timeline)
   - espaçamento interno mais “premium”
========================= */

.stack{
  display:grid;
  gap: 14px;
}

.cards{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.card > * + *{ margin-top: 10px; }
.card p{ line-height: 1.78; color: rgba(244,247,245,.90); }
.card ul{ line-height: 1.78; color: rgba(244,247,245,.88); }

.valores{
  display: grid;
  gap: 12px;
}

.valores p{
  margin: 0;
}

.tag{
  display:inline-flex;
  align-items:center;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 700;
  border: 1px solid rgba(136,184,123,.26);
  background: rgba(136,184,123,.10);
  color: rgba(236,244,238,.88);
}

/* Bloco tecnologias (atuacao) */
.tech{
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(14,27,29,.10);
  display:grid;
  gap: 14px;
}
.tech__col h4{ margin: 0 0 10px; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--primary-2); }
.tech__grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.pill{
  border-radius: 18px;
  border: 1px solid rgba(136,184,123,.20);
  background: rgba(10,18,15,.72);
  padding: 14px 14px;
  box-shadow: 0 14px 34px rgba(0,0,0,.08);
  color: rgba(241,245,242,.82);
  line-height: 1.6;
  font-weight: 600;
}

/* Timeline (sobre) */
.timeline{
  display:grid;
  gap: 10px;
  margin-top: 12px;
}
.timeline__item{
  display:grid;
  grid-template-columns: 92px 1fr;
  gap: 12px;
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid rgba(14,27,29,.10);
  background: rgba(255,255,255,.78);
}
.timeline__date{
  font-weight: 900;
  color: rgba(14,27,29,.86);
}
.timeline__body strong{ display:block; }
.timeline__body p{ margin: 6px 0 0; }

@media (max-width: 980px){
  .cards{ grid-template-columns: 1fr; }
  .tech__grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px){
  .tech__grid{ grid-template-columns: 1fr; }
}

.card{
  background: var(--card);
  border: 1px solid rgba(136,184,123,.18);
  border-radius: var(--radius-lg);
  padding: clamp(18px, 2.2vw, 24px);
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
}
.card::before{
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, rgba(136,184,123,.95), rgba(136,184,123,0));
  opacity: .75;
}
.card--glass{
  background: linear-gradient(180deg, rgba(14,24,19,.94), rgba(11,19,15,.86));
}

.pillar-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 54px;
}

.pillar-card{
  position: relative;
  min-height: 360px;
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid rgba(136,184,123,.16);
  background:
    radial-gradient(circle at 88% 12%, rgba(25,195,125,.1), transparent 34%),
    linear-gradient(145deg, rgba(10,24,19,.98), rgba(5,14,11,.98));
  box-shadow: 0 24px 60px rgba(0,0,0,.24);
  display: flex;
}

.pillar-card__overlay{
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(25,195,125,.05), transparent 46%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(5,10,8,.08));
}

.pillar-card__content{
  position: relative;
  margin: 0;
  z-index: 1;
  width: 100%;
  padding: 30px;
  display: grid;
  align-content: start;
  gap: 12px;
}

.pillar-card__icon{
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid rgba(25,195,125,.32);
  border-radius: 14px;
  color: var(--brand);
  background: rgba(25,195,125,.1);
}

.pillar-card__icon svg{
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.pillar-card__content h3{
  margin: 0;
  font-size: clamp(32px, 3vw, 42px);
  letter-spacing: -.04em;
}

.pillar-card__summary{
  margin: 0;
  max-width: 30ch;
  font-family: var(--font-ui);
  font-size: 18px;
  line-height: 1.45;
  color: rgba(244,247,245,.92);
}

.pillar-card__details{
  display: block;
}

.pillar-card__details > p{
  margin: 0;
  max-width: 52ch;
  font-family: var(--font-ui);
  font-size: 15px;
  line-height: 1.65;
  color: rgba(244,247,245,.92);
}

.pillar-card__list{
  margin: 0;
  padding-left: 18px;
  max-width: 46ch;
  font-family: var(--font-ui);
  font-size: 14px;
  line-height: 1.55;
  color: rgba(244,247,245,.92);
  display: grid;
  gap: 8px;
}

.pillar-card__list li{
  margin: 0;
}

.pillar-card__list strong{
  font-weight: 800;
  color: rgba(245,248,246,.98);
}

.pillar-card__cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-width: 168px;
  padding: 12px 24px;
  border-radius: 999px;
  border: 1px solid rgba(151,203,97,.68);
  color: rgba(245,248,246,.95);
  font-family: var(--font-ui);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  background: rgba(6,16,12,.28);
}

@media (max-width: 560px){
  .pillar-grid{
    gap: 16px;
    margin-top: 36px;
  }

  .pillar-card{
    min-height: auto;
  }

  .pillar-card__content{
    padding: 22px;
  }
}

.card--map{
  width: 100%;
  height: 100%;

  border-radius:16px;
  overflow: hidden;
}

.card--map .map{
  padding: 12px;
}

.card--map iframe{
  width: 100%;
  height: 360px;
  border: 0;
  border-radius: 12px;
}
@media (max-width: 900px){
  .contact-grid{
    grid-template-columns: 1fr;
    padding: 0;
    gap: 18px;
  }

  .contact-map__head{
    flex-direction: column;
    align-items: flex-start;
  }

  .contact-map__link{
    width: fit-content;
  }

  .footer-cta{
    justify-content: flex-start;
  }
}

.badge-row{ 
  display:flex; 
  flex-wrap: wrap; 
  gap: 14px; 
  margin-top: 14px; 
  margin-left: 0px;
}
.badge{
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(136,184,123,.10);
  border: 1px solid rgba(136,184,123,.24);
  color: rgba(241,245,242,.90);
  font-weight: 700;
  font-size: 13px;
}

.muted{ color: var(--muted); }
.tiny{ font-size: 10px; }

.mvv{ display:grid; gap: 12px; margin-top: 10px; }
.mvv__item{
  border-radius: 16px;
  border: 1px solid rgba(14,27,29,.10);
  background: rgba(0,0,0,.16);
  padding: 12px 12px;
}
.mvv__label{
  display:inline-flex;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 11px;
  color: rgba(136,184,123,.95);
  margin-bottom: 6px;
}
.list{ margin: 0; padding-left: 18px; color: rgba(255,255,255,.80); }
.list li{ margin: 6px 0; }

.note{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  margin-top: 14px;
  border-top: 1px solid rgba(14,27,29,.10);
  padding-top: 12px;
}
.dot{
  width: 10px; height: 10px;
  border-radius: 50%;
  margin-top: 6px;
  background: rgba(136,184,123,.95);
  box-shadow: 0 0 0 6px rgba(136,184,123,.15);
}

/* =========================
   PARCEIROS (premium)
========================= */
.section--partners{
  position: relative;
  overflow: hidden;
}

/* bloco com contraste (faz a seção “aparecer” no fundo) */
.partners__wrap{
  position: relative;
  border-radius: var(--radius-lg);
  padding: clamp(18px, 3.2vw, 28px);
  border: 1px solid rgba(14,27,29,.14);
  background:
    radial-gradient(900px 240px at 10% 0%, rgba(136,184,123,.14), transparent 60%),
    radial-gradient(700px 240px at 90% 10%, rgba(53,99,106,.18), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.04));
  box-shadow: var(--shadow);
}

/* brilho suave de fundo */
.section--partners::before{
  content:"";
  position:absolute;
  inset:-140px -120px auto -120px;
  height: 320px;
  background: radial-gradient(circle, rgba(53,99,106,.22), transparent 60%);
  filter: blur(18px);
  pointer-events:none;
}

/* cabeça mais “executiva” */
.section__head--partners{
  max-width: 820px;
  margin-bottom: 16px;
}
.section__head--partners h2{
  letter-spacing: .2px;
}

/* grid institucional (em vez de faixa sem força) */
.partners__grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 16px;
  align-items: stretch;
  margin-top: 14px;
}

/* cards de logo com leitura e interação */
.partner-card{
  /* [Refactor] Parceiros: card dark + “placa” interna clara para legibilidade das logos */
  position: relative;
  overflow: hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid var(--stroke);
  background: var(--card);
  box-shadow: var(--shadow);
  min-height: 110px;
  transition: transform .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.partner-card::before{
  content: "";
  position: absolute;
  inset: 14px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,247,246,.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.90);
  z-index: 1;
}

.partner-card img{
  position: relative;
  z-index: 2;
  display: block;
  max-height: 52px;
  max-width: 78%;
  width: auto;
  height: auto;
  object-fit: contain;
  opacity: .98;
  transform: translateZ(0);
  transition: transform .2s ease;
}

.partner-card:hover{
  transform: translateY(-2px);
  border-color: var(--stroke-strong);
  background: var(--card-2);
  box-shadow: 0 22px 52px rgba(0,0,0,.34);
}

.partner-card:hover img{
  opacity: 1;
  transform: scale(1.04);
}

/* rodapé com badge — cara de governança */
.partners__note{
  margin-top: 16px;
  display: grid;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid rgba(14,27,29,.12);
}

.partners__badge{
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .2px;
  color: rgba(14,27,29,.92);
  border: 1px solid rgba(136,184,123,.35);
  background: rgba(136, 184, 123, 0.813);
}

/* responsivo */
@media (max-width: 980px){
  .partners__grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 560px){
  .partners__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-card{ min-height: 78px; }
  .partner-card img{ max-height: 64px; max-width: 200px; width: auto; height: auto; object-fit: contain; filter: none; opacity: .98; }
}

/* Cases */
.cases{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}

.case{
  border-radius: var(--radius-lg);
  border: 1px solid var(--stroke);
  background: linear-gradient(180deg, rgba(11,18,15,.88), rgba(9,15,13,.78));
  padding: 18px;
  box-shadow: var(--shadow);
}

.case h3 {
  display: flex;
  justify-content: center;   /* centraliza horizontalmente */
  align-items: center;       /* centraliza verticalmente */
  margin: 10px 0 8px;
  font-size: 16px;
  letter-spacing: .2px;
  text-align: center;        /* garante texto centralizado */
}

.case p {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
  text-align: justify;
  hyphens: auto;
}

.case__tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(136,184,123,.22);
  background: rgba(136,184,123,.08);
  color: rgba(227,236,230,.92);
  font-weight: 800;
  font-size: 10px;
  letter-spacing: .02em;
  margin-bottom: 10px;
}

.case__meta{      
  display:flex;
  flex-wrap:wrap;
  gap: 10px 16px;
  margin-top: 14px;
  color: var(--muted);
  font-size: 13px;
}

.case__media {
  height: 200px;          /* valor ideal p/ esse layout */
  aspect-ratio: auto;     /* desliga variação */
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 14px;
  overflow: hidden;
  background: #0E1B1D;
  margin-bottom: 14px;
}

.case--highlight{
  grid-column: span 4;
  border-color: rgba(53,99,106,.30);
  background:
    radial-gradient(900px 320px at 10% 0%, rgba(53,99,106,.12), transparent 55%),
    radial-gradient(700px 260px at 95% 30%, rgba(136,184,123,.14), transparent 55%),
    var(--card);
}

.case--highlight .case__tag{
  background: rgba(53,99,106,.10);
  border-color: rgba(53,99,106,.25);
  color: var(--primary-2);
}

.case--collapsible{
  display: flex;
  flex-direction: column;
  cursor: pointer;
}

.case--collapsible.is-open .case__text {
  -webkit-line-clamp: unset;
  line-clamp: unset;
  overflow: visible
}

.case__toggle{
  margin-top: auto; /* 🔥 botão sempre no mesmo lugar */
  padding: 10px 14px;
  border-radius: 10px;

  border: 1px solid rgba(136,184,123,.22);
  background: transparent;

  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;

  color: rgba(236,244,238,.92);
  cursor: pointer;

  transition:
    background .25s ease,
    color .25s ease,
    border-color .25s ease,
    transform .15s ease;

}

.case__toggle:hover{
  background: rgba(136,184,123,.10);
  border-color: rgba(136,184,123,.45);
  transform: translateY(-1px);
}

/* Active (clique) */
.case__toggle:active{
  transform: translateY(0);
}

/* Estado aberto */
.case--collapsible.is-open .case__toggle{
  background: rgba(136,184,123,.10);
  border-color: rgba(136,184,123,.35);
  color: rgba(241,245,242,.96);
}

/* Mobile — botão ocupa largura inteira */
@media (max-width: 560px){
  .case__toggle{
    width: 100%;
    text-align: center;
  }
}

/* =========================
   CASES — TEXTO COLAPSÁVEL
   line-clamp com compatibilidade
========================= */

.case__text{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* padrão */
  overflow: hidden;

  line-clamp: 2; /* futuro / compatibilidade */
  transition: max-height .3s ease;

  /* Qualidade visual */
  transition: max-height .35s ease, opacity .2s ease;
}

/* Estado aberto */
.case--collapsible.is-open .case__text{
  /* Libera o clamp */
  line-clamp: unset;
  -webkit-line-clamp: unset;

  overflow: visible;
}

/* Mobile: mais respiro */
@media (max-width: 560px){
  .case__text{
    line-clamp: 3;
    -webkit-line-clamp: 3;
  }
}


/* =========================
   CASES — CARROSSEL COMPLETO
========================= */

.case__carousel{
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 16px;
  background: rgba(7,14,11,.66);
}

/* trilha */
.case__track{
  display: flex;
  width: 100%;
  transition: transform .6s ease;
  will-change: transform;
}

/* slides */
.case__track img{
  flex: 0 0 100%;
  width: 100%;
  height: 190px;
  object-fit: cover;
  padding: 12px;
  display: block;
}

/* dots */
.case__dots{
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 2;
}

/* botão dot */
.case__dots button{
  width: 8px;
  height: 8px;
  padding: 0;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.35);
  cursor: pointer;
  transition: transform .2s ease, background .2s ease;
}

/* ativo */
.case__dots button.active{
  background: rgba(136,184,123,.95);
  border-color: rgba(136,184,123,.95);
  transform: scale(1.2);
  box-shadow: 0 0 0 6px rgba(136,184,123,.18);
}

/* hover */
.case__dots button:hover{
  transform: scale(1.15);
}

/* mobile */
@media (max-width: 560px){
  .case__track img{
    height: 170px;
  }
}

.cases-carousel{
  --cases-gap: 18px;
  --cases-per-view: 3;
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin-top: 34px;
}

.cases-carousel__viewport{
  overflow: hidden;
  min-width: 0;
}

.cases-carousel .cases{
  display: flex;
  gap: var(--cases-gap);
  align-items: stretch;
  flex-wrap: nowrap;
  transition: transform .55s ease;
  will-change: transform;
}

.cases-carousel .case{
  flex: 0 0 calc((100% - (var(--cases-gap) * (var(--cases-per-view) - 1))) / var(--cases-per-view));
  min-width: 0;
  min-height: 100%;
}

.cases-carousel__nav{
  width: 54px;
  height: 54px;
  border: 1px solid rgba(136,184,123,.24);
  border-radius: 999px;
  background: rgba(7,16,12,.72);
  color: rgba(241,245,242,.92);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, opacity .2s ease;
  backdrop-filter: blur(10px);
}

.cases-carousel__nav:hover{
  transform: translateY(-1px);
  border-color: rgba(151,203,97,.52);
  background: rgba(10,22,16,.92);
}

.cases-carousel__nav[disabled]{
  opacity: .38;
  cursor: default;
  transform: none;
}

.cases-carousel__nav span{
  font-size: 24px;
  line-height: 1;
}

.cases-carousel__dots{
  grid-column: 1 / -1;
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 8px;
}

.cases-carousel__dots button{
  width: 10px;
  height: 10px;
  padding: 0;
  border-radius: 999px;
  border: 1px solid rgba(213,226,218,.46);
  background: rgba(213,226,218,.2);
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.cases-carousel__dots button.active{
  transform: scale(1.18);
  border-color: rgba(151,203,97,.95);
  background: rgba(151,203,97,.95);
  box-shadow: 0 0 0 6px rgba(151,203,97,.12);
}

.cases-carousel__dots button:hover{
  transform: scale(1.12);
}


@media (max-width: 980px){
  .cases{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .case--highlight{ grid-column: span 2; }
  .cases-carousel{
    --cases-per-view: 2;
  }
}

@media (max-width: 560px){
  .cases{ grid-template-columns: 1fr; }
  .case--highlight{ grid-column: span 1; }
  .cases-carousel{
    --cases-per-view: 1;
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .cases-carousel__nav{
    display: none;
  }
}

/* Stats */
.stats{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.stat{
  border-radius: var(--radius);
  border: 1px solid rgba(136,184,123,.18);
  background: rgba(10,18,15,.76);
  padding: 14px;
}

/* ===== VALUE (+ número animado) ===== */
.stat__value{
  display: inline-flex;
  align-items: baseline; /* 🔥 alinhamento fino */
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1;
  color: rgba(151,203,97,.98);
}

/* + */
.stat__plus{
  font-size: 22px;
  margin-right: 2px;
}

/* número animado */
.stat__number{
  font-size: 26px;
}

/* texto */
.stat__label{
  display:block;
  margin-top: 6px;
  color: var(--muted);
  font-weight: 800;
  font-size: 13px;
}

#capacitacao .section__head{
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
}

#capacitacao .section__head p{
  margin-inline: auto;
  max-width: 60ch;
}

.training-layout{
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  align-items: start;
  margin-top: 32px;
}

.training-hero{
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 18px;
  padding: clamp(26px, 3.8vw, 38px);
  border-radius: 30px;
  border: 1px solid rgba(136,184,123,.2);
  background:
    radial-gradient(circle at 12% 18%, rgba(151,203,97,.16), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(88,141,150,.14), transparent 24%),
    linear-gradient(180deg, rgba(8,18,14,.94), rgba(6,13,11,.86));
  box-shadow: 0 24px 56px rgba(0,0,0,.22);
}

.training-hero::before{
  content: "";
  position: absolute;
  inset: 14px;
  border-radius: 22px;
  border: 1px solid rgba(151,203,97,.12);
  pointer-events: none;
}

.training-hero > *{
  position: relative;
  z-index: 1;
}

.training-hero h3{
  margin: 0;
  max-width: 14ch;
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.08;
  letter-spacing: -.03em;
}

.training-hero p{
  margin: 0;
  color: rgba(232,239,234,.84);
  font-size: 16px;
  line-height: 1.76;
  max-width: 64ch;
}

.training-hero__highlights{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.training-pill{
  display: inline-flex;
  align-items: center;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(151,203,97,.24);
  background: rgba(9,23,17,.56);
  color: rgba(240,246,242,.92);
  font-family: var(--font-ui);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.training-journey{
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .95fr);
  gap: 22px;
  align-items: start;
}

.training-journey__panel,
.training-fit{
  position: relative;
  height: 100%;
  padding: 26px;
  border-radius: 28px;
  border: 1px solid rgba(136,184,123,.16);
  background: linear-gradient(180deg, rgba(8,16,13,.88), rgba(7,14,11,.72));
  box-shadow: 0 18px 42px rgba(0,0,0,.18);
}

.training-journey__head,
.training-fit__head{
  display: grid;
  gap: 8px;
  margin-bottom: 18px;
}

.training-kicker{
  display: inline-flex;
  width: fit-content;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(151,203,97,.3);
  background: rgba(151,203,97,.1);
  color: rgba(177,214,128,.98);
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.training-journey__head h3,
.training-fit__head h3{
  margin: 0;
  max-width: 16ch;
  font-size: clamp(22px, 2.2vw, 32px);
  line-height: 1.1;
}

.training-steps{
  display: grid;
  gap: 14px;
}

.training-step{
  position: relative;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid rgba(136,184,123,.12);
  background: rgba(9,18,14,.72);
}

.training-step:not(:last-child)::after{
  content: "";
  position: absolute;
  left: 45px;
  bottom: -18px;
  width: 2px;
  height: 20px;
  background: linear-gradient(180deg, rgba(151,203,97,.5), rgba(151,203,97,0));
}

.training-step__index{
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(151,203,97,.3);
  background: linear-gradient(180deg, rgba(151,203,97,.18), rgba(151,203,97,.08));
  color: rgba(245,248,246,.96);
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 700;
}

.training-step h4{
  margin: 0 0 6px;
  font-size: 18px;
  line-height: 1.2;
}

.training-step p{
  margin: 0;
  color: rgba(228,236,232,.82);
  font-size: 15px;
  line-height: 1.62;
}

.training-fit__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.training-fit__item{
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid rgba(136,184,123,.12);
  background: rgba(8,17,13,.64);
}

.training-fit__item strong{
  display: block;
  margin-bottom: 8px;
  color: rgba(245,248,246,.94);
  font-size: 15px;
  letter-spacing: .02em;
}

.training-fit__item p{
  margin: 0;
  color: rgba(226,233,229,.8);
  font-size: 15px;
  line-height: 1.62;
}

.training-fit__closing{
  margin: 16px 0 0;
  padding-top: 16px;
  border-top: 1px solid rgba(136,184,123,.14);
  color: rgba(240,246,242,.92);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.5;
}

.training-support{
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 22px;
}

.training-support__panel{
  position: relative;
  padding: 26px;
  border-radius: 28px;
  border: 1px solid rgba(136,184,123,.16);
  background: linear-gradient(180deg, rgba(8,16,13,.88), rgba(7,14,11,.72));
  box-shadow: 0 18px 42px rgba(0,0,0,.18);
}

.training-support__intro{
  margin: 0 0 18px;
  color: rgba(228,236,232,.82);
  font-size: 15px;
  line-height: 1.7;
  max-width: 62ch;
}

.training-support .stats{
  margin-top: 0;
}

.training-support .stat{
  border-radius: 20px;
  border: 1px solid rgba(136,184,123,.14);
  background: rgba(8,17,13,.64);
  padding: 16px 18px;
}

.training-support__note{
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(136,184,123,.14);
}

.training-support__note strong{
  display: block;
  margin-bottom: 6px;
  color: rgba(245,248,246,.94);
}

.training-support__note p{
  margin: 0;
  color: rgba(226,233,229,.8);
  line-height: 1.62;
}

.training-resource-list{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}

.training-resource-list li{
  position: relative;
  padding: 16px 18px 16px 48px;
  border-radius: 20px;
  border: 1px solid rgba(136,184,123,.12);
  background: rgba(8,17,13,.64);
  color: rgba(233,240,235,.86);
  line-height: 1.6;
}

.training-resource-list li::before{
  content: "";
  position: absolute;
  left: 18px;
  top: 19px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: rgba(151,203,97,.96);
  box-shadow: 0 0 0 6px rgba(151,203,97,.14);
}

/* Accordion (Capacitação) */
.accordion details{
  border: 1px solid rgba(136,184,123,.16);
  background: rgba(10,18,15,.78);
  border-radius: 16px;
  padding: 12px 12px;
  margin-top: 10px;
  box-shadow: 0 12px 26px rgba(10,18,26,.08);
}
.accordion summary{
  cursor:pointer;
  font-weight: 900;
  color: rgba(245,248,246,.92);
  letter-spacing: -.01em;
  font-size: 15px;
}

.accordion summary::-webkit-details-marker{ display:none; }

.accordion summary::after{
  content: "›";
  float: right;
  transform: rotate(90deg);
  opacity: .55;
  font-weight: 900;
}

.accordion details[open] summary::after{
  transform: rotate(-90deg);
  opacity: .75;
}

.accordion p{ margin: 10px 0 0; color: var(--muted); line-height: 1.72; }

@media (max-width: 980px){
  .training-journey{
    grid-template-columns: 1fr;
  }

  .training-support{
    grid-template-columns: 1fr;
  }

  .training-hero p{
    max-width: none;
  }

  .training-journey__head h3,
  .training-fit__head h3,
  .training-hero h3{
    max-width: none;
  }
}

@media (max-width: 680px){
  .training-journey__panel,
  .training-fit,
  .training-hero{
    padding: 22px;
    border-radius: 24px;
  }

  .training-fit__grid{
    grid-template-columns: 1fr;
  }

  .training-support__panel{
    padding: 22px;
    border-radius: 24px;
  }

  .training-step{
    grid-template-columns: 48px minmax(0, 1fr);
    padding: 16px;
  }

  .training-hero{
    gap: 16px;
  }

  .training-hero h3{
    font-size: clamp(24px, 8vw, 34px);
  }

  .training-step__index{
    width: 48px;
    height: 48px;
    border-radius: 16px;
    font-size: 20px;
  }

  .training-step:not(:last-child)::after{
    left: 39px;
  }
}

/* Training Section Refactor ===================================================== */
#capacitacao{
  position: relative;
}

.training-section{
  display: grid;
  gap: 24px;
  margin-top: 12px;
}

.training-intro,
.training-panel,
.training-results{
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  border: 1px solid rgba(136,184,123,.14);
  background:
    linear-gradient(180deg, rgba(10,20,16,.96), rgba(8,17,13,.92)),
    radial-gradient(circle at top right, rgba(151,203,97,.08), transparent 30%);
  box-shadow: 0 20px 52px rgba(0,0,0,.14);
}

.training-intro::before,
.training-panel::before,
.training-results::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top left, rgba(151,203,97,.1), transparent 26%),
    linear-gradient(135deg, rgba(255,255,255,.04), transparent 38%);
  pointer-events: none;
}

.training-intro > *,
.training-panel > *,
.training-results > *{
  position: relative;
  z-index: 1;
}

.training-intro{
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: 28px;
  padding: clamp(28px, 4vw, 40px);
}

.training-intro__content{
  display: grid;
  align-content: start;
  gap: 16px;
}

.training-intro__content h2{
  margin: 0;
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1;
  letter-spacing: -.04em;
  color: #f3f7f4;
}

.training-intro__lead{
  margin: 0;
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 600;
  color: rgba(235,242,238,.84);
}

.training-intro__text{
  max-width: 58ch;
  margin: 0;
  font-size: 15px;
  line-height: 1.75;
  color: rgba(222,232,227,.74);
}

.training-intro__cta{
  margin-top: 8px;
  width: fit-content;
  min-width: 220px;
  justify-content: center;
}

.training-intro__highlights{
  display: grid;
  gap: 14px;
}

.training-highlight-card,
.training-fit-card,
.training-structure-card{
  position: relative;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 18px 20px;
  border-radius: 22px;
  border: 1px solid rgba(136,184,123,.12);
  background: rgba(255,255,255,.03);
  box-shadow: 0 14px 34px rgba(0,0,0,.12);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}

.training-highlight-card:hover,
.training-fit-card:hover,
.training-structure-card:hover,
.training-flow-card:hover,
.training-result-card:hover{
  transform: translateY(-4px);
  border-color: rgba(151,203,97,.35);
  box-shadow: 0 22px 48px rgba(13,24,27,.1);
}

.training-icon,
.training-fit-card__icon,
.training-structure-card__icon,
.training-flow-card__icon{
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #1d5b45;
  background: linear-gradient(180deg, rgba(151,203,97,.18), rgba(151,203,97,.08));
  border: 1px solid rgba(151,203,97,.2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
}

.training-icon svg,
.training-fit-card__icon svg,
.training-structure-card__icon svg,
.training-flow-card__icon svg{
  width: 24px;
  height: 24px;
}

.training-highlight-card strong,
.training-fit-card h4,
.training-structure-card h4,
.training-flow-card h4{
  margin: 0;
  /* [Refactor] Cards em grid: garante que título fique na coluna de conteúdo */
  grid-column: 2;
  color: #f1f6f3;
  font-size: 17px;
  line-height: 1.2;
}

.training-highlight-card p,
.training-fit-card p,
.training-structure-card p,
.training-flow-card p,
.training-panel__head p{
  margin: 0;
  /* [Refactor] Cards em grid: evita parágrafo cair na coluna do ícone (estreita) */
  grid-column: 2;
  color: rgba(223,232,227,.7);
  line-height: 1.65;
  font-size: 14px;
}

.training-panel{
  padding: clamp(26px, 3.4vw, 34px);
}

.training-panel__head,
.training-results__head{
  display: grid;
  gap: 10px;
  margin-bottom: 22px;
}

.training-panel__head h3,
.training-results__head h3{
  margin: 0;
  max-width: 18ch;
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.06;
  letter-spacing: -.03em;
  color: #f3f7f4;
}

.training-kicker{
  display: inline-flex;
  width: fit-content;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(151,203,97,.22);
  background: rgba(151,203,97,.1);
  color: rgba(188,227,134,.94);
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.training-journey-grid{
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.training-journey-grid::before{
  content: "";
  position: absolute;
  left: 5%;
  right: 5%;
  top: 46px;
  height: 1px;
  background: linear-gradient(90deg, rgba(151,203,97,0), rgba(151,203,97,.4), rgba(151,203,97,0));
}

.training-flow-card{
  position: relative;
  display: grid;
  gap: 14px;
  min-height: 250px;
  padding: 22px 18px 20px;
  border-radius: 24px;
  border: 1px solid rgba(136,184,123,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  box-shadow: 0 16px 38px rgba(0,0,0,.12);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.training-flow-card__index{
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(223,232,227,.5);
}

.training-fit-grid,
.training-structure-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.training-results{
  padding: clamp(28px, 4vw, 38px);
  background:
    linear-gradient(180deg, rgba(11,22,18,.96), rgba(10,19,16,.92)),
    radial-gradient(circle at top right, rgba(151,203,97,.12), transparent 34%);
  border-color: rgba(151,203,97,.14);
  box-shadow: 0 28px 64px rgba(0,0,0,.14);
}

.training-results::before{
  background:
    radial-gradient(circle at top right, rgba(151,203,97,.18), transparent 24%),
    linear-gradient(135deg, rgba(255,255,255,.06), transparent 34%);
}

.training-results__head h3{
  color: #f4f7f5;
}

.training-results__grid{
  margin-top: 8px;
}

.training-result-card{
  padding: 22px 22px 20px;
  border-radius: 24px;
  border: 1px solid rgba(151,203,97,.14);
  background: rgba(255,255,255,.03);
  backdrop-filter: blur(8px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.training-results .stat__value{
  color: rgba(188,227,134,.98);
  font-size: clamp(34px, 4.2vw, 54px);
}

.training-results .stat__plus{
  font-size: .54em;
  margin-right: 4px;
}

.training-results .stat__number{
  font-size: 1em;
}

.training-results .stat__label{
  margin-top: 10px;
  color: rgba(240,246,242,.74);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.training-panel--structure .training-panel__head h3{
  max-width: 22ch;
}

@media (max-width: 1180px){
  .training-intro{
    grid-template-columns: 1fr;
  }

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

  .training-journey-grid::before{
    display: none;
  }

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

@media (max-width: 820px){
  .training-section{
    gap: 18px;
  }

  .training-intro,
  .training-panel,
  .training-results{
    border-radius: 24px;
  }

  .training-intro,
  .training-panel,
  .training-results{
    padding: 24px;
  }

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

  .training-panel__head h3,
  .training-results__head h3{
    max-width: none;
  }
}

@media (max-width: 600px){
  .training-intro__content h2{
    font-size: clamp(28px, 9vw, 40px);
  }

  .training-highlight-card,
  .training-fit-card,
  .training-structure-card{
    grid-template-columns: 48px minmax(0, 1fr);
    padding: 16px;
    border-radius: 18px;
  }

  .training-icon,
  .training-fit-card__icon,
  .training-structure-card__icon,
  .training-flow-card__icon{
    width: 48px;
    height: 48px;
    border-radius: 16px;
  }

  .training-journey-grid,
  .training-fit-grid,
  .training-structure-grid{
    grid-template-columns: 1fr;
  }

  .training-flow-card{
    min-height: auto;
    padding: 18px 16px;
    border-radius: 20px;
  }

  .training-results .stat__label{
    letter-spacing: .05em;
  }
}

/* Contact */
.contact-grid{
  display: grid;
  grid-template-columns: .92fr 1.64fr;
  gap: 22px;
  align-items: stretch;
  margin-top: 18px;
}

.contact-grid > *{
  min-width: 0;
}

.contact-map{
  height: 100%;
}

/* WhatsApp ocupa bem o espaço */
.contact-grid__item .whats-cta{
  width: 100%;
  height: 100%;
}

/* Mapa com mais presença */
.contact-grid__item .card--map{
  width: 100%;
}

/* Coluna esquerda */
.contact-stack{
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.contact-grid__item{
  display: flex;
  align-items: stretch;
}

.contact-card{
  display: flex;
  gap: 14px;
  padding: 18px 20px;
  border-radius: var(--radius);
  background: rgba(10,15,15,.72);
  border: 1px solid rgba(25,195,125,.14);
  box-shadow: 0 18px 48px rgba(0,0,0,.18);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease;
}

.contact-card:hover{
  transform: translateY(-3px);
  border-color: rgba(25,195,125,.22);
  background: rgba(10,15,15,.78);
  box-shadow: 0 24px 62px rgba(0,0,0,.24);
}

.contact-card__icon{
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: rgba(25,195,125,.10);
  border: 1px solid rgba(25,195,125,.22);
  color: var(--brand-soft);
}

.contact-card__icon svg{
  width: 20px;
  height: 20px;
}

.contact-link{
  display: inline-block;
  margin-top: 6px;
  font-weight: 700;
  color: var(--brand);
  text-decoration: none;
}

.contact-card__actions{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
}

/* Left column feels more intentional */
.contact-stack{
  padding: 4px 0;
}

.contact-copy{
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(25,195,125,.22);
  background: rgba(25,195,125,.10);
  color: rgba(243,244,246,.92);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease, border-color .2s ease;
}

.contact-copy:hover{
  background: rgba(25,195,125,.14);
  border-color: rgba(25,195,125,.34);
  transform: translateY(-1px);
}

.contact-card__content strong{
  display: block;
  font-size: 15px;
  letter-spacing: -.01em;
}

.contact-card__content p{
  margin: 6px 0 10px;
  font-size: 13.5px;
  line-height: 1.6;
}

.contact-card__actions{
  gap: 12px;
}

/* [Refactor] Contatos: redes sociais (pills com ícone) */
.contact-social{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
}

.social-pill{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border-radius: 999px;
  border: 1px solid rgba(25,195,125,.18);
  background: rgba(255,255,255,.06);
  color: rgba(243,244,246,.94);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: -.01em;
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.social-pill svg{
  width: 16px;
  height: 16px;
  color: var(--brand);
}

.social-pill:hover{
  transform: translateY(-1px);
  border-color: rgba(25,195,125,.34);
  background: rgba(25,195,125,.10);
}

.social-pill:focus-visible{
  outline: 2px solid rgba(25,195,125,.5);
  outline-offset: 2px;
}

.contact-link{
  margin-top: 0;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -.01em;
}

.contact-copy{
  padding: 9px 12px;
}

.contact-card--hours .muted{
  margin: 6px 0 0;
}
.contact-card__email{
  font-weight: 700;
  font-size: 14px;
  color: var(--primary);
  text-decoration: none;
}

.contact-card__email:hover{
  text-decoration: underline;
}

.contact-card--email{
  position: relative;
}

.contact-card--email::after{
  content: "";
  position: absolute;
  inset: auto 16px 10px 16px;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    rgba(136,184,123,.4),
    transparent
  );
}

/* Floating contacts */
.floating-contact{
  position: fixed;
  bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  right: calc(24px + env(safe-area-inset-right, 0px));
  z-index: 9999;

  width: 64px;
  height: 64px;
  border-radius: 999px;

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

  background: linear-gradient(135deg, var(--brand), var(--brand-deep));
  color: rgba(255,255,255,.98);

  box-shadow:
    0 10px 30px rgba(0,0,0,.40),
    0 0 20px rgba(25,195,125,.22);

  transition: transform .3s ease, box-shadow .3s ease, filter .3s ease;
  animation: whatsappFloat 3.8s ease-in-out infinite;
  text-decoration: none;
}

.floating-contact::before{
  content: "";
  position: absolute;
  inset: -10px;
  border-radius: inherit;
  background: rgba(25,195,125,0.15);
  filter: blur(12px);
  z-index: -1;
}

.floating-contact::after{
  content: attr(data-tooltip);
  position: absolute;
  right: calc(100% + 14px);
  top: 50%;
  transform: translateY(-50%) translateX(8px);
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(7, 17, 15, .94);
  border: 1px solid rgba(91, 227, 173, .24);
  box-shadow: 0 14px 32px rgba(0,0,0,.28);
  color: rgba(255,255,255,.96);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .02em;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
}

.floating-contact:hover,
.floating-contact:focus-visible{
  transform: translateY(-5px) scale(1.06);
  box-shadow:
    0 20px 50px rgba(0,0,0,.50),
    0 0 30px rgba(25,195,125,.40);
}

.floating-contact:hover::after,
.floating-contact:focus-visible::after{
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

.floating-contact:active{
  transform: translateY(-3px) scale(1.03);
}

.floating-contact svg{
  display: block;
}

.floating-contact__avatar{
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  display: block;
  border-radius: 50%;
  object-fit: cover;
  object-position: center 22%;
  border: 2px solid rgba(255,255,255,.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
}

.floating-contact--chatbot{
  bottom: calc(100px + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(135deg, #0f8f7a, #0a5f57);
  box-shadow:
    0 10px 30px rgba(0,0,0,.38),
    0 0 20px rgba(15,143,122,.24);
}

.floating-contact--chatbot::before{
  background: rgba(15,143,122,.14);
}

.floating-contact--chatbot:hover,
.floating-contact--chatbot:focus-visible{
  box-shadow:
    0 20px 50px rgba(0,0,0,.48),
    0 0 30px rgba(15,143,122,.38);
}

.floating-contact--whatsapp{
  background: linear-gradient(135deg, var(--brand), var(--brand-deep));
}

@keyframes whatsappFloat{
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

@media (prefers-reduced-motion: reduce){
  .floating-contact{
    animation: none;
  }

  .floating-contact::after{
    transition: none;
  }
}

@media (max-width: 560px){
  .floating-contact{
    width: 56px;
    height: 56px;
    bottom: calc(18px + env(safe-area-inset-bottom, 0px));
    right: calc(18px + env(safe-area-inset-right, 0px));
  }

  .floating-contact--chatbot{
    bottom: calc(86px + env(safe-area-inset-bottom, 0px));
  }

  .floating-contact::after{
    display: none;
  }
}

.map{
  border-radius: calc(var(--radius) - 2px);
  overflow:hidden;
  border: 1px solid rgba(25,195,125,.16);
  margin-top: 12px;
  min-height: 260px;
  background: rgba(255,255,255,.02);
}

.map iframe{
  display: block;
  width: 100%;
  max-width: 100%;
  height: 260px;
  border: 0;
}

/* Contact map shell */
.contact-map{
  display: flex;
  flex-direction: column;
  padding: 18px 20px;
  border-radius: var(--radius);
  background: rgba(10,15,15,.72);
  border: 1px solid rgba(25,195,125,.14);
  box-shadow: 0 18px 48px rgba(0,0,0,.18);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease;
}

.contact-map:hover{
  transform: translateY(-3px);
  border-color: rgba(25,195,125,.22);
  background: rgba(10,15,15,.78);
  box-shadow: 0 24px 62px rgba(0,0,0,.24);
}

.contact-map .map{
  flex: 1;
  min-height: 360px;
}

.contact-map .map iframe{
  height: 100%;
  min-height: 360px;
}

.contact-map__head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.contact-map__head h3{
  margin: 0 0 6px;
}

.contact-map__head .muted{
  margin: 0;
}

.contact-map__link{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  text-decoration: none;
  border: 1px solid rgba(25,195,125,.26);
  background: rgba(25,195,125,.08);
  color: rgba(243,244,246,.92);
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
}

.contact-map__link:hover{
  transform: translateY(-2px);
  border-color: rgba(25,195,125,.38);
  background: rgba(25,195,125,.12);
}

.contact-map__link:focus-visible,
.map-shell__overlay:focus-visible,
.floating-contact:focus-visible,
.contact-link:focus-visible,
.contact-copy:focus-visible{
  outline: 2px solid rgba(25,195,125,.42);
  outline-offset: 3px;
}

.map--shell{
  position: relative;
  display: grid;
  place-items: stretch;
  margin-top: 16px;
  border-radius: calc(var(--radius) - 2px);
  overflow: hidden;
  border: 1px solid rgba(25,195,125,.14);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
  min-height: 260px;
  flex: 1;
}

.map-shell{
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 30% 20%, rgba(25,195,125,.14), transparent 55%),
    linear-gradient(180deg, rgba(10,15,15,.66), rgba(10,15,15,.74));
}

.map-shell__grid{
  position: absolute;
  inset: 0;
  opacity: .38;
  background:
    repeating-linear-gradient(90deg, rgba(25,195,125,.12) 0, rgba(25,195,125,.12) 1px, transparent 1px, transparent 36px),
    repeating-linear-gradient(0deg, rgba(25,195,125,.10) 0, rgba(25,195,125,.10) 1px, transparent 1px, transparent 36px);
  mask-image: radial-gradient(circle at 20% 10%, rgba(0,0,0,1), rgba(0,0,0,.55) 55%, transparent 78%);
}

.map-shell__pin{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -62%);
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  color: rgba(243,244,246,.92);
  background: rgba(25,195,125,.14);
  border: 1px solid rgba(25,195,125,.28);
  box-shadow:
    0 16px 42px rgba(0,0,0,.28),
    0 0 34px rgba(25,195,125,.18);
}

.map-shell__pin svg{
  width: 24px;
  height: 24px;
}

.map-shell__hint{
  position: absolute;
  left: 16px;
  bottom: 16px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(10,15,15,.72);
  border: 1px solid rgba(255,255,255,.06);
  color: rgba(243,244,246,.86);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.map-shell__overlay{
  position: absolute;
  inset: 0;
  border-radius: calc(var(--radius) - 2px);
  text-indent: -9999px;
}

.footer-cta{
  margin-top: 16px;
  display: flex;
  justify-content: flex-end;
}

.contact-map .btn--ghost{
  border-color: rgba(25,195,125,.22);
  background: rgba(25,195,125,.06);
}

.contact-map .btn--ghost:hover{
  border-color: rgba(25,195,125,.34);
  background: rgba(25,195,125,.10);
}

/* Footer ========================================================================== */
.footer{
  position: relative;
  overflow: hidden;
  margin-top: 80px;
  color: rgba(255,255,255,.88);
  background-image: url("./assets/rodape/rodape-site.png");
  background-size: cover;
  /* [Refactor] Rodapé: melhora enquadramento/valorização da imagem no fundo */
  background-position: center;
  background-repeat: no-repeat;
  min-height: 620px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media (max-width: 980px){
  .footer{
    min-height: 620px;
    background-position: center;
  }
}

@media (max-width: 560px){
  .footer{
    min-height: 520px;
    background-position: center;
  }
}

.footer::before{
  content: none;
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    180deg,
    rgba(6,14,11,.76) 0%,
    rgba(6,14,11,.78) 35%,
    rgba(6,14,11,.86) 100%
  );
}


.footer::after{
  content: none;
  position: absolute;
  inset: 0;
  z-index: 1;
  background: radial-gradient(
    circle at 20% 20%,
    rgba(25,195,125,.20) 0%,
    rgba(0,0,0,0) 56%
  );
  pointer-events: none;
}

.footer > *{
  position: relative;
  z-index: 2;
}

.footer__partnersHead strong,
.footer__content,
.footer-nav strong,
.footer-contact strong,
.footer-brand p,
.footer-nav a,
.footer-contact a{
  text-shadow: 0 2px 6px rgba(0,0,0,0.6);
}



.footer__partners{
  padding: 28px 0 18px;
  min-height: auto;
  text-align: center;
}

.footer__partnersHead strong{
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--primary-2);
}

.footer__content{
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 18px 24px 36px;

  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  text-align: center;
  justify-items: center;
  align-items: center;
}


.footer__inner{
  display:grid;
  grid-template-columns: 0.5fr .8fr 1fr;
  gap: 14px;
  align-items: center;
}

.footer__brand{
  display:flex;
  align-items:center;
  gap: 12px;
  margin: auto;
}

.footer-brand img{
  width: min(360px, 100%);
  margin-bottom: -6px;
  filter: brightness(1.1);
  justify-items: center;
}

.footer-brand p{
  font-size: 11px;
  line-height: 1.6;
  color: rgba(255,255,255,.70);
  max-width: 50ch;
}

.footer-nav{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-nav strong{
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 6px;
  color: rgba(255,255,255,.95);
}

.footer-nav a{
  font-size: 14px;
  font-weight: 600;
  color: rgba(255,255,255,.72);
}

.footer-nav a:hover{
  color: #ffffff;
}

.footer-contact{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-contact strong{
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.footer-contact a{
  font-size: 14px;
  font-weight: 700;
  color: var(--accent);
}
.footer-contact a:first-of-type{
  font-size: 14px;
  font-weight: 600;
  color: rgba(255,255,255,.72);
}

.footer-contact a:first-of-type:hover{
  color: #ffffff;
}

.footer__meta{
  grid-column: 1 / -1;
  margin-top: 36px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.12);
  text-align: center;
}


.footer__meta .muted{
  color: rgba(255,255,255,.55);
}

@media (max-width: 980px){
  .footer__content{
    grid-template-columns: 1fr 1fr;
    gap: 28px;
  }
}

@media (max-width: 560px){
  .footer__content{
    grid-template-columns: 1fr;
    gap: 22px;
  }
}



/* Toast */
.toast{
  position: fixed;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(14,27,29,.14);
  background: rgba(0,0,0,.70);
  color: rgba(255,255,255,.96);
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}

.toast.show{
  opacity: 1;
  transform: translateX(-50%) translateY(-2px);
}

/* Responsive */
@media (max-width: 980px){
  .grid--2{ grid-template-columns: 1fr; }
  .cards{ grid-template-columns: 1fr; }
  .cases{ grid-template-columns: 1fr; }
  .case--highlight{ grid-column: auto; }
  .kpis{ grid-template-columns: 1fr; max-width: 520px; }
  .stats{ grid-template-columns: 1fr; }
  .footer__inner{ grid-template-columns: 1fr; text-align: left; }
  .footer__meta{ text-align: left; }
  .tech__grid{ grid-template-columns: 1fr 1fr; }
  .pillar-grid{ grid-template-columns: 1fr; }

  .logo-strip{ overflow-x: auto; }
  .logo-strip__track{ justify-content:flex-start; min-width: max-content; }
  .logo-strip img{ height: 42px; }
  .timeline__item{ grid-template-columns: 76px 1fr; }
}

@media (max-width: 820px){
  .nav__toggle{ display:block; }
  .nav{
    position: absolute;
    right: var(--pad);
    top: 82px;
    width: min(360px, calc(100% - (var(--pad) * 2)));
    display:none;
    flex-direction: column;
    gap: 8px;
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(136,184,123,.22);
    background: rgba(7, 16, 13, .96);
    box-shadow: 0 22px 70px rgba(0,0,0,.45);
  }
  .nav.is-open{ display:flex; }
  .nav a{
    width: 100%;
    padding: 12px 6px;
  }
  .form__row{ grid-template-columns: 1fr; }
}

.carousel {
  overflow: hidden;
  position: relative;
  width: 100%;
}

.carousel__track {
  display: flex;
  transition: transform 0.6s ease-in-out;
}

.carousel__slide {
  min-width: 100%;
  padding: 1.5rem 1rem;
}

.mvv__label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: 0.85;
}


/* Capabilities */
.section--cap{
  background: var(--bg);
}
.cap-grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
  margin-top: 22px;
}

.cap-card{
  grid-column: span 6;
  background: var(--card);
  border: 1px solid var(--stroke);
  border-radius: var(--radius-lg);
  padding: 22px 22px 20px;
  box-shadow: var(--shadow);
  transition: transform .15s ease, box-shadow .15s ease;
}

.cap-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 22px 60px rgba(10,18,26,.16);
}

.cap-card__top{
  display:flex;
  gap: 14px;
  align-items:flex-start;
}

.cap-ico{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display:grid;
  place-items:center;
  background: rgba(53,99,106,.10);
  border: 1px solid rgba(53,99,106,.18);
  font-size: 20px;
  flex-shrink: 0;
}

.cap-card h3{
  margin: 0;
  font-size: 19px;
  letter-spacing: -0.02em;
}

.cap-card p{
  margin: 6px 0 0;
}

.cap-card .muted{
  color: rgba(14,27,29,.78);
  font-size: 15px;
  line-height: 1.55;
}

.cap-tags{
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 14px;
}

.cap-list{
  margin: 0;
  padding-left: 18px;
  color: rgba(14,27,29,.82);
}

.cap-list li{
  margin: 8px 0;
  line-height: 1.5;
}

.cap-cta{
  margin-top: 20px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 20px;
  border-radius: var(--radius-lg);
  border: 1px solid var(--stroke);
  background: linear-gradient(
    180deg,
    rgba(13,23,18,.92),
    rgba(10,18,15,.86)
  );
  box-shadow: var(--shadow);
}

.cap-cta__copy strong{
  display:block;
  font-size: 16px;
}

.cap-cta__copy .muted{
  margin-top: 4px;
  max-width: 62ch;
}

.solutions-carousel{
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  margin-top: 54px;
}

.solutions-carousel__viewport{
  min-width: 0;
  overflow-x: auto;
  overflow-y: visible;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 24px 0 34px;
}

.solutions-carousel__viewport::-webkit-scrollbar{
  display: none;
}

.solutions-carousel__nav{
  width: 54px;
  height: 54px;
  border: 1px solid rgba(136,184,123,.16);
  border-radius: 999px;
  background: rgba(9,18,14,.72);
  color: rgba(240,246,242,.9);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, border-color .2s ease, opacity .2s ease;
}

.solutions-carousel__nav:hover{
  transform: translateY(-1px);
  background: rgba(12,24,18,.92);
  border-color: rgba(151,203,97,.42);
}

.solutions-carousel__nav span{
  font-size: 24px;
  line-height: 1;
}

.solutions-carousel__dots{
  grid-column: 1 / -1;
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: -4px;
}

.solutions-carousel__dots button{
  width: 10px;
  height: 10px;
  padding: 0;
  border: 1px solid rgba(231,238,234,.4);
  border-radius: 999px;
  background: rgba(231,238,234,.16);
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.solutions-carousel__dots button.active{
  transform: scale(1.18);
  border-color: rgba(151,203,97,.95);
  background: rgba(151,203,97,.95);
  box-shadow: 0 0 0 6px rgba(151,203,97,.12);
}

.solution-stage{
  display: flex;
  gap: 26px;
  width: max-content;
  align-items: center;
  padding-inline: clamp(64px, 10vw, 136px);
}

.solution-card{
  position: relative;
  flex: 0 0 clamp(250px, 26vw, 332px);
  min-height: 540px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  border-radius: 34px;
  border: 1px solid rgba(136,184,123,.12);
  --tech-bg: none;
  background-color: #08110d;
  background-size: cover;
  background-position: center;
  isolation: isolate;
  scroll-snap-align: center;
  opacity: .24;
  transform: scale(.88) translateY(14px);
  transform-origin: center center;
  box-shadow: 0 12px 28px rgba(0,0,0,.12);
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease, opacity .35s ease, filter .35s ease;
  filter: saturate(.72) blur(.2px);
}

.solution-card::before{
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 24px;
  border: 1px solid rgba(151,203,97,.06);
  pointer-events: none;
}

.solution-card::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: var(--tech-bg);
  background-size: cover;
  background-position: center;
  opacity: .22;
  filter: saturate(.85) contrast(1.05) blur(.6px);
  transform: scale(1.02);
  transition: opacity .35s ease, filter .35s ease, transform .6s ease;
}

.solution-card.is-prev{
  opacity: .56;
  transform: perspective(1200px) rotateY(12deg) scale(.93) translateY(10px);
}

.solution-card.is-next{
  opacity: .56;
  transform: perspective(1200px) rotateY(-12deg) scale(.93) translateY(10px);
}

.solution-card.is-active{
  opacity: 1;
  transform: scale(1) translateY(0);
  border-color: rgba(151,203,97,.28);
  box-shadow: 0 28px 74px rgba(0,0,0,.26), 0 0 0 1px rgba(151,203,97,.10), 0 0 56px rgba(25,195,125,.12);
  filter: none;
}

.solution-card--web{
  --tech-bg: url("./assets/solutions/tech-grid.svg");
  background-image:
    radial-gradient(circle at 22% 18%, rgba(151,203,97,.24), transparent 26%),
    radial-gradient(circle at 86% 22%, rgba(84,140,126,.22), transparent 28%),
    linear-gradient(180deg, rgba(10,24,18,.96), rgba(5,12,9,.94));
}

.solution-card--mobile{
  --tech-bg: url("./assets/solutions/tech-circuit.svg");
  background-image:
    radial-gradient(circle at 24% 18%, rgba(175,214,116,.24), transparent 24%),
    radial-gradient(circle at 78% 24%, rgba(68,130,118,.24), transparent 28%),
    linear-gradient(180deg, rgba(11,26,20,.96), rgba(6,13,10,.94));
}

.solution-card--data{
  --tech-bg: url("./assets/solutions/tech-data.svg");
  background-image:
    radial-gradient(circle at 18% 20%, rgba(132,194,108,.22), transparent 24%),
    radial-gradient(circle at 82% 20%, rgba(91,148,150,.24), transparent 30%),
    linear-gradient(180deg, rgba(9,22,18,.96), rgba(4,11,9,.94));
}

.solution-card--cloud{
  --tech-bg: url("./assets/solutions/tech-industrial.svg");
  background-image:
    radial-gradient(circle at 20% 18%, rgba(151,203,97,.22), transparent 24%),
    radial-gradient(circle at 82% 22%, rgba(96,151,160,.18), transparent 26%),
    linear-gradient(180deg, rgba(11,25,20,.96), rgba(5,11,9,.94));
}

.solution-card__shade{
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(4,10,8,.24) 0%, rgba(4,10,8,.54) 42%, rgba(5,10,8,.96) 100%),
    linear-gradient(180deg, rgba(105,148,152,.08), rgba(105,148,152,.14));
  transition: background .35s ease, opacity .35s ease;
}

.solution-card__ghost{
  position: absolute;
  inset: 32px 28px auto 28px;
  z-index: 2;
  color: rgba(245,248,246,.08);
  font-family: var(--font-display);
  font-size: clamp(34px, 2.5vw, 48px);
  font-weight: 700;
  line-height: .95;
  letter-spacing: -.04em;
  text-transform: uppercase;
  transition: opacity .35s ease, transform .35s ease;
}

.solution-card__content{
  position: relative;
  width: 100%;
  z-index: 2;
  padding: 28px 26px 30px;
  display: grid;
  gap: 12px;
  transition: transform .35s ease, opacity .35s ease;
}

.solution-card__content > .solution-card__eyebrow,
.solution-card__content > p,
.solution-card__content > .solution-card__chips,
.solution-card__content > .solution-card__list{
  display: none;
}

.solution-card__visual{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(151,203,97,.14);
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.solution-card__node{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(151,203,97,.92);
  box-shadow: 0 0 0 6px rgba(151,203,97,.10);
  flex: 0 0 auto;
}

.solution-card__node--hollow{
  background: rgba(8,18,14,.24);
  border: 1px solid rgba(151,203,97,.92);
  box-shadow: 0 0 0 6px rgba(151,203,97,.10);
}

.solution-card__trace{
  height: 2px;
  flex: 1 1 auto;
  background: linear-gradient(90deg, rgba(151,203,97,.86), rgba(151,203,97,.08));
  border-radius: 999px;
}

.solution-card__trace--short{
  flex: 0 0 44px;
}

.solution-card__details{
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  top: 44%;
  z-index: 3;
  border-radius: 22px;
  border: 1px solid rgba(151,203,97,.16);
  background:
    linear-gradient(180deg, rgba(8,18,14,.58) 0%, rgba(6,14,11,.86) 70%, rgba(6,14,11,.92) 100%),
    radial-gradient(circle at 20% 10%, rgba(151,203,97,.18), rgba(0,0,0,0) 58%);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding: 16px 16px 14px;
  overflow: auto;
  opacity: 0;
  transform: translateY(14px);
  pointer-events: none;
  transition: opacity .25s ease, transform .35s cubic-bezier(.2,.9,.2,1);
}

.solution-card__detailsTitle{
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.02em;
  color: rgba(255,255,255,.96);
  margin: 0 0 8px;
}

.solution-card__details::-webkit-scrollbar{
  width: 8px;
}

.solution-card__details::-webkit-scrollbar-thumb{
  background: rgba(151,203,97,.18);
  border-radius: 999px;
}

.solution-card.is-open .solution-card__details{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.solution-card.is-open::after{
  opacity: .74;
  filter: saturate(1.05) contrast(1.05) blur(0);
  transform: scale(1.05);
}

.solution-card.is-active::after{
  opacity: .56;
  filter: saturate(1.02) contrast(1.05) blur(.15px);
}

.solution-card:not(.is-active)::after{
  opacity: .16;
}

.solution-card__details .solution-card__eyebrow{
  margin-bottom: 10px;
}

.solution-card__desc{
  margin: 0;
  font-family: var(--font-ui);
  font-size: 14px;
  line-height: 1.7;
  color: rgba(238,244,240,.9);
}

.solution-card__details .solution-card__chips{
  margin-top: 12px;
}

.solution-card__details .solution-card__list{
  margin-top: 12px;
}

.solution-card__eyebrow{
  display: inline-flex;
  width: fit-content;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(151,203,97,.26);
  background: rgba(7,18,13,.42);
  color: rgba(184,220,142,.98);
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.solution-card__content h3{
  margin: 0;
  font-size: clamp(28px, 2.4vw, 42px);
  line-height: 1.02;
  letter-spacing: -.03em;
  transition: transform .35s ease, font-size .35s ease, opacity .35s ease;
}

.solution-card__content p{
  margin: 0;
  font-family: var(--font-ui);
  font-size: 15px;
  line-height: 1.65;
  color: rgba(238,244,240,.88);
}

.solution-card__chips{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  transition: opacity .28s ease, transform .28s ease;
}

.solution-card__chips span{
  display: inline-flex;
  align-items: center;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(233,240,235,.16);
  background: rgba(8,18,14,.46);
  color: rgba(241,246,243,.88);
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.solution-card__list{
  margin: 2px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
  transition: opacity .28s ease, transform .28s ease;
}

.solution-card__list li{
  position: relative;
  padding-left: 18px;
  color: rgba(231,238,234,.8);
  font-size: 14px;
  line-height: 1.58;
}

.solution-card__list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(151,203,97,.96);
  box-shadow: 0 0 0 5px rgba(151,203,97,.12);
}

.solution-card__cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-width: 154px;
  padding: 11px 22px;
  border-radius: 999px;
  border: 1px solid rgba(245,248,246,.88);
  color: rgba(245,248,246,.96);
  font-family: var(--font-ui);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  background: rgba(255,255,255,.04);
  transition: transform .22s ease, background .22s ease, border-color .22s ease;
}

.solution-card__cta:focus-visible{
  outline: 3px solid rgba(25,195,125,.62);
  outline-offset: 4px;
}

.solution-card:not(.is-active) .solution-card__cta{
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
}

.solution-card:not(.is-active) .solution-card__visual{
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
}

.solution-card:not(.is-active) .solution-card__content{
  padding-bottom: 34px;
}

.solution-card:not(.is-active) .solution-card__content h3{
  font-size: clamp(22px, 2vw, 32px);
  transform: translateY(8px) rotate(-8deg);
}

.solution-card.is-prev .solution-card__content h3{
  transform: translateY(8px) rotate(-9deg);
}

.solution-card.is-next .solution-card__content h3{
  transform: translateY(8px) rotate(9deg);
}

.solution-card:not(.is-active) .solution-card__ghost{
  opacity: .7;
  transform: translateY(8px);
}

.solution-card.is-active .solution-card__shade{
  background:
    linear-gradient(180deg, rgba(4,10,8,.14) 0%, rgba(4,10,8,.28) 28%, rgba(5,10,8,.94) 100%),
    linear-gradient(180deg, rgba(105,148,152,.08), rgba(105,148,152,.18));
}

.solution-card.is-active .solution-card__cta:hover{
  transform: translateY(-1px);
  background: rgba(151,203,97,.12);
  border-color: rgba(151,203,97,.72);
}

@media (prefers-reduced-motion: reduce){
  .solution-card,
  .solution-card::after,
  .solution-card__ghost,
  .solution-card__content,
  .solution-card__details,
  .solution-card__cta{
    transition: none !important;
  }
}
@media (max-width: 860px){
  .cap-card{
    grid-column: span 12;
  }

  .cap-cta{
    flex-direction: column;
    align-items:flex-start;
  }

  .solutions-carousel{
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .solutions-carousel__nav{
    display: none;
  }

  .solution-stage{
    padding-inline: 14vw;
  }

  .solution-card{
    flex-basis: min(72vw, 320px);
    min-height: 460px;
  }

  .solution-card.is-active{
    min-height: 500px;
  }
}

@media (max-width: 560px){
  .solution-stage{
    gap: 18px;
    padding-inline: 8vw;
  }

  .solution-card{
    flex-basis: 80vw;
    min-height: 420px;
  }

  .solution-card.is-active{
    min-height: 460px;
  }

  .solution-card__content{
    padding: 24px 22px 26px;
  }

  .solution-card__content h3{
    font-size: clamp(24px, 8vw, 34px);
  }
}


/* Footer Partners marquee */
.footer__partners{
  padding: 8px 0 18px;
}
.footer__partnersHead{
  display:flex;
  align-items: baseline;
  justify-content: center;
  gap: 10px;
  margin-bottom: 10px;
}
.footer__partnersHead strong{
  color: #d3ffe6eb;
  letter-spacing: -.01em;
}
.logo-marquee{
  overflow:hidden;
  /* [Refactor] Parceiros (rodape): remove fundo claro e integra ao dark institucional */
  border: 1px solid var(--stroke);
  background: rgba(10,15,15,.56);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 18px;
  padding: 18px 18px;
  box-shadow: var(--shadow);
}

@media (max-width: 700px){
  .section > .container{
    padding: 22px 18px;
    border-radius: 24px;
  }

  .section__head h2{
    font-size: clamp(28px, 8vw, 40px);
  }
}
.logo-marquee__track{
  display:flex;
  gap: 18px;
  padding: 0;
  width: max-content;
  animation: marquee 16s linear infinite;
  align-items:center;
}
.logo-marquee img{
  height: 100px; /* maior e mais legível */
  width: auto;
  min-width: 140px;
  height: 84px;
  /* [Refactor] Legibilidade em dark: “placa” clara apenas na área da logo */
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,247,246,.96));
  border: 1px solid var(--stroke);
  border-radius: 14px;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.90), 0 10px 26px rgba(0,0,0,.22);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease, filter .3s ease;
  object-fit: contain;
  filter: none;
  opacity: .98;
}

.logo-marquee img:hover{
  transform: translateY(-4px);
  border-color: var(--stroke-strong);
  box-shadow: 0 18px 44px rgba(0,0,0,.32);
  filter: drop-shadow(0 12px 22px rgba(0,0,0,.34));
}

@keyframes marquee{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce){
  html{
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after{
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .logo-marquee__track{ animation: none; }
}
.training-carousel {
  margin-top: 40px;
  overflow: hidden;
  border-radius: 18px;
  /* [Refactor] Carrosseis: remove superfÃ­cie clara e mantÃ©m padrÃ£o dark */
  border: 1px solid var(--stroke);
  background: rgba(10,15,15,.52);
  box-shadow: var(--shadow);
}

.training-carousel__track {
  display: flex;
  transition: transform 0.8s ease-in-out;
}

.training-carousel__track img {
  min-width: 100%;
  height: 360px;
  object-fit: cover;
}
/* Mobile: Tecnologias sempre em 1 coluna (iPhone SE incluído) */
@media (max-width: 600px){
  .tech__grid{
    grid-template-columns: 1fr !important;
  }
}

/* =========================
   FIX iPhone SE — Sobre (MVV + Jornada)
   Mantém conteúdo dentro do viewport
========================= */
@media (max-width: 420px){

  /* Cards e conteúdo geral: menos padding no mobile */
  .card{
    padding: 16px;
  }

  /* Carrossel MVV: padding menor + garante que não vaze */
  .carousel,
  .carousel__track,
  .carousel__slide{
    max-width: 100%;
  }
  .carousel__slide{
    padding: 14px 12px; /* antes era mais largo */
  }

  /* Listas (Valores): evita empurrar pro lado */
  .list{
    padding-left: 16px;
  }

  /* Timeline (Nossa jornada): em mobile vira 1 coluna */
  .timeline__item{
    grid-template-columns: 1fr; /* antes: 92px 1fr */
    gap: 6px;
  }
  .timeline__date{
    font-size: 12px;
    opacity: .9;
  }

  /* Segurança: quebra textos longos sem estourar */
  .timeline__body,
  .carousel__slide,
  .card{
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}

.gallery-carousel{
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 18px;
}

.gallery-track{
  position: relative;
  display: block;
  width: 100%;
  min-height: 420px;
  background: rgba(4,12,10,.46);
}

.gallery-track img{
  display: none;
  width: 100%;
  height: 420px;
  object-fit: cover;
}

.gallery-track img.active{
  display: block;
  animation: gallery-fade .32s ease both;
}

@keyframes gallery-fade{
  from{ opacity: .68; }
  to{ opacity: 1; }
}

.gallery-nav{
  position: absolute;
  top: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(151,203,97,.36);
  border-radius: 999px;
  background: rgba(5,18,15,.62);
  color: rgba(247,250,251,.96);
  box-shadow: 0 16px 36px rgba(0,0,0,.28);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  cursor: pointer;
  transform: translateY(-50%);
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.gallery-nav span{
  display: block;
  margin-top: -2px;
  font-size: 34px;
  line-height: 1;
}

.gallery-nav--prev{
  left: 16px;
}

.gallery-nav--next{
  right: 16px;
}

.gallery-nav:hover,
.gallery-nav:focus-visible{
  border-color: rgba(151,203,97,.72);
  background: rgba(25,195,125,.28);
  color: #fff;
  transform: translateY(-50%) scale(1.04);
  outline: none;
}

/* dots */
.gallery-dots{
  position: absolute;
  bottom: 14px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
}

.gallery-dots button{
  width: 9px;
  height: 9px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.6);
  background: rgba(255,255,255,.4);
  cursor: pointer;
}

.gallery-dots button.active{
  background: rgba(136,184,123,.95);
  border-color: rgba(136,184,123,.95);
  box-shadow: 0 0 0 6px rgba(136,184,123,.18);
}

@media (max-width: 560px){
  .gallery-track{
    min-height: 260px;
  }

  .gallery-track img{ height: 260px; }

  .gallery-nav{
    width: 38px;
    height: 38px;
  }

  .gallery-nav span{
    font-size: 28px;
  }

  .gallery-nav--prev{
    left: 10px;
  }

  .gallery-nav--next{
    right: 10px;
  }
}

/* =========================
   TECH — MARQUEE INSTITUCIONAL
========================= */

.tech-carousel{
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  /* [Refactor] Tecnologias: sem fundo claro, integrado ao background da seÃ§Ã£o */
  border: 1px solid var(--stroke);
  background: rgba(10,15,15,.40);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: var(--shadow);
  padding: 18px 0;
}

.tech-carousel__viewport{
  overflow: hidden;
}

.tech-carousel__track{
  display: flex;
  gap: 14px;
  width: max-content;
  animation: tech-marquee linear infinite;
  will-change: transform;
}

/* Movimento contínuo */
@keyframes tech-marquee{
  from { transform: translateX(0); }
  to   { transform: translateX(calc(-1 * var(--tech-shift))); }
}

/* Cards */
.tech-logo{
  flex: 0 0 160px;
  margin: 0px;
  height: 96px;

  border-radius: 16px;
  /* [Refactor] Tecnologias: card dark + “placa” interna clara para legibilidade das logos */
  position: relative;
  overflow: hidden;
  border: 1px solid var(--stroke);
  background: var(--card);
  box-shadow: var(--shadow);

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

  padding: 16px;
  transition: transform .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.tech-logo::before{
  content: "";
  position: absolute;
  inset: 14px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,247,246,.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.90);
  z-index: 1;
}

.tech-logo:hover{
  transform: translateY(-2px);
  border-color: var(--stroke-strong);
  background: var(--card-2);
  box-shadow: 0 22px 52px rgba(0,0,0,.34);
}

.tech-logo img{
  position: relative;
  z-index: 2;
  display: block;
  max-width: 78%;
  max-height: 52px;
  width: auto;
  height: auto;
  object-fit: contain;
  transform: translateZ(0);
  transition: transform .2s ease;
}

.tech-logo:hover img{
  transform: scale(1.04);
}

@media (max-width: 640px){
  /* [Refactor] Logos em telas menores: placa interna menor e imagem mais Ãºtil */
  .tech-logo::before,
  .partner-card::before{
    inset: 10px;
    border-radius: 10px;
  }

  .tech-logo img,
  .partner-card img{
    max-width: 84%;
    max-height: 50px;
  }
}

/* SETA PREMIUM */
.tech-arrow{
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);

  width: 42px;
  height: 42px;
  border-radius: 14px;

  /* [Refactor] Controle (seta): mantÃ©m estÃ©tica dark */
  border: 1px solid var(--stroke);
  background: rgba(10,15,15,.62);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 12px 28px rgba(0,0,0,.28);

  display: grid;
  place-items: center;

  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  z-index: 3;

  transition: transform .15s ease, box-shadow .15s ease;
}

.tech-arrow:hover{
  transform: translateY(-50%) scale(1.05);
  box-shadow: 0 18px 40px rgba(0,0,0,.20);
}

/* pausa suave no hover */
.tech-carousel:hover .tech-carousel__track{
  animation-play-state: paused;
}


/* =========================
   CASES — mídia SEM CORTAR + layout limpo
========================= */

.case{
  display: grid;
  grid-template-rows: auto 1fr;
}

.case__media{
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(14,27,29,.12);
  background: rgba(15,23,42,.04); /* fundo neutro pra "contain" ficar bonito */
  box-shadow: 0 12px 28px rgba(10,18,26,.10);
  margin-bottom: 12px;
}

.case__media img{
  width: 100%;
  height: 190px;           /* padrão */
  object-fit: contain;     /* ✅ mostra tudo */
  background: transparent; /* fundo vem do container */
  display: block;
  padding: 10px;           /* respiro pra não “colar” */
}

/* Se você quiser algumas em “cover”, basta remover o modifier nelas.
   Mas por padrão deixei contain (mais seguro e profissional). */
.case__media--cover img{
  object-fit: cover;
  padding: 0;
}

/* Corpo sempre alinhado e com respiro */
.case__body{
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 8px;
}

.case__body p{
  margin: 0;
}

/* Destaque */
.case--highlight .case__media img{
  height: 240px;
  padding: 12px;
}

/* Responsivo */
@media (max-width: 560px){
  .case__media img{ height: 170px; }
  .case--highlight .case__media img{ height: 210px; }
}


/* =========================
   CASES — grid sem buracos (CycloSmart ao lado)
========================= */

.cases{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
  align-items: start;

  /* 🔥 Preenche “buracos” quando algum card tem altura diferente */
  grid-auto-flow: dense;
}

/* Se a sua classe highlight estava “esticando” o card, anulamos */
.case--highlight{
  grid-column: auto !important;
  grid-row: auto !important;
}

.case--highlight{
  border: 1px solid rgba(136,184,123,.35);
  box-shadow: 0 18px 44px rgba(10,18,26,.14);
}


/* =========================
   SOBRE — layout padronizado e fluido
========================= */

.section__header{
  margin-bottom: 18px;
  max-width: 72ch;
}

.section__header h2{
  margin: 0 0 8px;
}

.sobre__content{
  display: grid;
  gap: 16px;
}

/* garante que o texto dentro dos cards não fique colado */
.sobre__content .card p{
  margin: 0 0 12px;
}

/* deixa o MVV mais “bloco” e menos “apertado” */
#sobre .carousel{
  margin-top: 10px;
}

#sobre .carousel__slide p{
  margin: 8px 0 0;
}


/* =========================
   SOBRE — Missão Visão Valores destaque
========================= */

.sobre__mvv{
  margin: 8px 0 4px;
  padding: 28px 24px;
  border-radius: 22px;

  background: linear-gradient(
    135deg,
    rgba(136,184,123,.12),
    rgba(15,23,42,.04)
  );

  border: 1px solid rgba(136,184,123,.25);
  box-shadow: 0 24px 60px rgba(10,18,26,.10);
}

.sobre__mvv-title{
  margin: 0 0 16px;
  font-size: 22px;
  letter-spacing: .3px;
}

/* Slide institucional */
.mvv__slide{
  max-width: 70ch;
}

.mvv__label{
  display: inline-block;
  margin-bottom: 8px;
  font-weight: 900;
  font-size: 13px;
  letter-spacing: .6px;
  text-transform: uppercase;
  color: #88B87B;
}

/* =========================
   SOBRE — Missão Visão Valores aberto
========================= */

.sobre__mvv{
  margin: 8px 0 4px;
  padding: 28px 24px;
  border-radius: 22px;

  background: linear-gradient(
    135deg,
    rgba(136,184,123,.10),
    rgba(15,23,42,.03)
  );

  border: 1px solid rgba(136,184,123,.22);
  box-shadow: 0 24px 60px rgba(10,18,26,.08);
}

.sobre__mvv-title{
  margin: 0 0 20px;
  font-size: 22px;
  letter-spacing: .3px;
}

/* Grid institucional */
.mvv__grid{
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.mvv__item{
  display: grid;
  gap: 8px;
  max-width: 68ch;
}

.mvv__label{
  font-weight: 900;
  font-size: 13px;
  letter-spacing: .6px;
  text-transform: uppercase;
  color: #88B87B;
}

.mvv__item p{
  margin: 0;
  line-height: 1.65;
}

.mvv__item .list{
  margin: 0;
  padding-left: 18px;
  line-height: 1.6;
}

/* Responsivo */
@media (max-width: 560px){
  .sobre__mvv{
    padding: 22px 18px;
  }
  .sobre__mvv-title{
    font-size: 20px;
  }
}

/* MVV: usa o mesmo glass dos cards, só ganha presença */
.sobre__mvv.card.card--glass{
  padding: 28px 24px;   /* mais respiro */
}

.sobre__mvv-title{
  margin: 0 0 18px;
}

/* grid do MVV */
.mvv__grid{
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.mvv__item{
  display: grid;
  gap: 8px;
  min-width: 0;
}

.mvv__label{
  font-weight: 900;
  font-size: 13px;
  letter-spacing: .6px;
  text-transform: uppercase;
}

/* responsivo */
@media (max-width: 560px){
  .sobre__mvv.card.card--glass{ padding: 22px 18px; }
}


/* =========================
   SOBRE — versão premium e padronizada
   (cole no final do styles.css)
========================= */

#sobre .section__head:not(.section__head--card){
  max-width: 78ch;
  margin-bottom: 16px;
}


.sobre-grid{
  display: grid;
  gap: 16px;
}

/* Em telas maiores: 2 colunas (Sobre + MVV) e timeline em largura total */
/* Sempre em 1 coluna: MVV abaixo */
@media (min-width: 900px){
  .sobre-grid{
    grid-template-columns: 1fr;
    align-items: start;
  }

  /* deixa os cards com largura “executiva” sem virar coluna lateral */
  #sobre .card{
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }

  /* mantém a timeline também alinhada */
  .sobre-timeline{
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
}


/* Card “Sobre” com top alinhado e respiro */
.sobre-card__top{
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  align-items: start;
  margin-bottom: 12px;
}

.sobre-card__icon{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(136,184,123,.14);
  border: 1px solid rgba(136,184,123,.24);
  box-shadow: 0 12px 26px rgba(10,18,26,.08);
  font-size: 18px;
}

.sobre-card h3,
.sobre-mvv h3,
.sobre-timeline h3{
  margin: 0 0 6px;
  letter-spacing: .2px;
}

.sobre-card p{
  margin: 0;
}

.sobre-card__bullets{
  display: grid;
  gap: 10px;
}

.sobre-bullet{
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-left: 55px;
  margin-top: 16px;
}

.sobre-bullet__dot{
  width: 10px;
  height: 10px;
  margin-top: 6px;
  border-radius: 50%;
  background: rgba(136,184,123,.95);
  box-shadow: 0 0 0 6px rgba(136,184,123,.14);
}

/* MVV */
.sobre-mvv__head{
  margin-bottom: 12px;
}

.sobre-mvv__head p{
  margin: 0;
}

/* 3 cards internos do MVV */
.mvv-cards{
  display: grid;
  gap: 12px;
}

.mvv-card{
  border-radius: 18px;
  padding: 14px 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(14,27,29,.12);
  box-shadow: 0 12px 28px rgba(10,18,26,.06);
}

.mvv-card__top{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.mvv-card__ico{
  width: 32px;
  height: 32px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: rgba(136,184,123,.14);
  border: 1px solid rgba(136,184,123,.22);
}

.mvv-card__title{
  font-weight: 800;
  letter-spacing: .2px;
}

.mvv-card p{
  margin: 0;
  line-height: 1.65;
}

.mvv-list{
  margin: 0;
  padding-left: 18px;
  line-height: 1.6;
}

.mvv-list li{
  margin: 6px 0;
}

/* Timeline head (mais executivo) */
.sobre-timeline__head{
  display: grid;
  gap: 4px;
  margin-bottom: 12px;
}
.sobre-timeline__head p{
  margin: 0;
}

#sobre .mvv__item{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
#sobre .list{
  color: inherit !important;
  margin: 0 !important;
  padding-left: 18px !important;
}


/* Card institucional do topo do Sobre */

.section__head--card{
  margin-bottom: 20px;
}

.sobre-intro-card{
  text-align: center;
  padding: 26px 28px;
  position: relative;
  overflow: hidden;
}

/* selo discreto */
.sobre-intro-card__tag{
  display: inline-block;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #88B87B;
  background: rgba(136,184,123,.12);
  border: 1px solid rgba(136,184,123,.22);
  border-radius: 999px;
  padding: 6px 12px;
  margin-bottom: 10px;
}

/* título */
.sobre-intro-card h2{
  margin: 4px 0 8px;
  font-size: 28px;
  letter-spacing: .3px;
}

/* texto */
.sobre-intro-card p{
  margin: 0 auto;
  max-width: 60ch;
  line-height: 1.7;
  color: rgba(255,255,255,.86);
}

/* detalhe visual elegante no fundo */
.sobre-intro-card::after{
  content: "";
  position: absolute;
  inset: auto -40px -60px -40px;
  height: 120px;
  background: radial-gradient(
    circle at center,
    rgba(136,184,123,.18),
    transparent 70%
  );
  pointer-events: none;
}
#sobre .section__head--card{
  max-width: 1100px;
  width: 100%;
  margin: 0 auto 20px;
}

#sobre .section__head--card .sobre-intro-card{
  width: 100%;
}

#sobre .section__head--card .sobre-intro-card p{
  max-width: 70ch;
  margin: 0 auto;
}

/* ===== Fix do marquee do rodapé: rolagem contínua SEM tranco ===== */

.logo-marquee__track{
  will-change: transform;
  animation: marquee var(--marquee-duration, 22s) linear infinite;
}

@keyframes marquee{
  from{ transform: translateX(0); }
  to{ transform: translateX(calc(-1 * var(--marquee-shift, 50%))); }
}

/* =========================
   SOBRE — JORNADA (TIMELINE)
   Fix: não espremе / não quebra o layout
========================= */

.sobre-jornada{
  margin-top: 22px;
  padding: 22px;
  border-radius: var(--radius-lg);
  background: var(--card);
  border: 1px solid var(--stroke);
  box-shadow: var(--shadow);
}

.sobre-jornada__head{ margin-bottom: 10px; }

/* =========================
   SOBRE — JORNADA (CARROSSEL)
========================= */

.sobre-jornada{
  margin-top: 18px;
  max-width: var(--maxw, 1100px);
  margin-left: auto;
  margin-right: auto;
}
.sobre-jornada__head{
  margin-bottom: 10px;
}

.jornada-carousel{
  position: relative;
  display: flex;
  align-items: center;
}

.jornada-track{
  width: 100%;
  max-width: 100%;
  overflow-x: auto;

  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 280px;
  gap: 14px;

  scroll-behavior: smooth;
  padding: 14px;

  border-radius: var(--radius-lg);
  border: 1px solid var(--stroke);
  background: rgba(255,255,255,.78);
  box-shadow: var(--shadow);
}

.jornada-track::-webkit-scrollbar{
  height: 8px;
}
.jornada-track::-webkit-scrollbar-thumb{
  background: rgba(14,27,29,.18);
  border-radius: 999px;
}

.jornada-card{
  background: var(--card);
  border: 1px solid rgba(14,27,29,.12);
  border-radius: 16px;
  padding: 16px;

  display: flex;
  flex-direction: column;
  gap: 8px;

  height: 180px; /* PADRONIZA ALTURA */
  transition: transform .18s ease, box-shadow .18s ease;
}

.jornada-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 44px rgba(13,24,27,.12);
}

.jornada-date{
  font-size: 12px;
  font-weight: 800;
  color: var(--primary);
}

.jornada-card strong{
  font-size: 14.5px;
}

.jornada-card p{
  font-size: 14px;
  color: var(--muted);
  line-height: 1.55;
}

/* Botões */
.jornada-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid var(--stroke);
  background: rgba(255,255,255,.92);
  cursor: pointer;
  font-size: 20px;
  display: grid;
  place-items: center;
}

.jornada-nav:hover{
  background: rgba(255,255,255,1);
}

.jornada-nav--prev{ left: -18px; }
.jornada-nav--next{ right: -18px; }

/* =========================
   PATCH RESPONSIVO — JORNADA
   Corrige mobile / gravação
========================= */

/* 1) Card não pode ter largura fixa no mobile */
/* MOBILE: comportamento padrão do site (stack vertical) */
@media (max-width: 1100px){

  /* remove qualquer scroll lateral */
  .jornada-carousel,
  .jornada-track{
    overflow: visible;
  }

  .jornada-track{
    display: grid;
    grid-template-columns: 1fr; /* 🔥 coluna única */
    grid-auto-flow: row;
    padding: 0;
    gap: 12px;
    border: 0;
    box-shadow: none;
    background: transparent;
  }

  .jornada-card{
    width: 100%;
    max-width: 100%;
    height: auto;              /* cresce vertical */
    padding: 16px;
  }

  /* botões NÃO EXISTEM no mobile */
  .jornada-nav{
    display: none !important;
  }
}

/* 5) Segurança extra: nada estoura lateral */
.jornada-track,
.jornada-card{
  min-width: 0;
  max-width: 100%;
}



/* =========================
   AGRUPAMENTO DE MATÉRIAS
========================= */

.materias-groups{
  display: grid;
  gap: 34px;
  margin-top: 26px;
}

.materias-group__head{
  max-width: 720px;
  margin-bottom: 14px;
}

.materias-group__head h3{
  margin: 0 0 6px;
  font-size: 22px;
  letter-spacing: -.01em;
}

/* =========================
   MATÉRIAS E PROJETOS (REFATORADO)
   - suporte a imagem no topo
   - CTA/link profissional abaixo
========================= */

.materias-grid{
  display: grid;
  gap: 26px;
}

.materias-group h3{
  margin-bottom: 12px;
  font-size: 20px;
  letter-spacing: -.02em;
}

.materias-cards{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}

/* Card individual (agora com mídia no topo) */
.materia-card{
  display: flex;
  flex-direction: column;
  overflow: hidden;                 /* garante borda perfeita com imagem */
  border-radius: 18px;
  border: 1px solid rgba(14,27,29,.12);
  background: rgba(255,255,255,.92);
  box-shadow: 0 14px 32px rgba(10,18,26,.10);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.materia-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 20px 46px rgba(10,18,26,.16);
  border-color: rgba(136,184,123,.32);
}

/* Mídia (imagem) */
.materia-card__media{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: rgba(15,23,42,.04);
  border-bottom: 1px solid rgba(14,27,29,.10);
}

.materia-card__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(1.05) contrast(1.02);
  transform: scale(1.01);
  transition: transform .35s ease;
}

/* =========================
   MATÉRIAS — PADRÃO DE GRID (ENTERPRISE)
   Objetivo:
   - 2 grupos lado a lado (desktop)
   - cards com largura mínima padrão
   - imagens com ratio/altura estável
   - gaps e paddings consistentes
========================= */

:root{
  --grid-gap: 18px;               /* gap padrão */
  --grid-gap-lg: 26px;            /* gap “seção” */
  --card-min: 320px;              /* largura mínima do card */
  --media-ratio: 16 / 9;          /* ratio padrão de imagem */
  --media-min-h: 190px;           /* fallback p/ browsers sem aspect-ratio */
}

/* Grid principal (duas colunas para “duas matérias/grupos”) */
.materias-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)); /* ✅ 2 colunas desktop */
  gap: var(--grid-gap-lg);
  align-items: start;
}

/* Grid interno de cards (cada grupo) */
.materias-cards{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--card-min), 1fr)); /* ✅ padrão */
  gap: var(--grid-gap);
  align-items: stretch;
}

/* Card com altura/estrutura previsível */
.materia-card{
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(14,27,29,.12);
  background: rgba(255,255,255,.92);
  box-shadow: 0 14px 32px rgba(10,18,26,.10);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.materia-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 20px 46px rgba(10,18,26,.16);
  border-color: rgba(136,184,123,.32);
}

/* Mídia padronizada (imagem) */
.materia-card__media{
  position: relative;
  width: 100%;
  aspect-ratio: var(--media-ratio);
  min-height: var(--media-min-h);
  background: rgba(15,23,42,.04);
  border-bottom: 1px solid rgba(14,27,29,.10);
}

.materia-card__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(1.05) contrast(1.02);
  transform: scale(1.01);
  transition: transform .35s ease;
}

/* Overlay institucional (unifica o visual das imagens) */
.materia-card__media::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(
    180deg,
    rgba(6,24,27,.08),
    rgba(6,24,27,.28)
  );
  pointer-events:none;
}

.materia-card:hover .materia-card__media img{
  transform: scale(1.05);
}

/* Conteúdo interno — padding e tipografia padronizados */
.materia-card__content{
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px 18px 18px;
}

.materia-card strong{
  font-size: 15.5px;
  letter-spacing: -.01em;
  margin: 0;
}

.materia-card p{
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
  font-size: 14px;
}

.materia-card .tag{
  align-self: flex-start;
  margin-top: 2px;
}

/* Link/CTA abaixo (profissional, consistente) */
.materia-card__link{
  margin-top: 6px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  font-size: 13.5px;
  letter-spacing: .01em;
  color: var(--primary);
  text-decoration: none;
  padding-top: 12px;
  border-top: 1px solid rgba(14,27,29,.10);
  transition: opacity .15s ease, transform .15s ease;
}

.materia-card__link:hover{ opacity: .9; transform: translateY(-1px); }
.materia-card__link:active{ transform: translateY(0); }

/* Breakpoints — governança de layout */
@media (max-width: 980px){
  .materias-grid{ grid-template-columns: 1fr; } /* ✅ volta 1 coluna */
  :root{ --card-min: 280px; }
}

@media (max-width: 560px){
  :root{ --card-min: 240px; --media-min-h: 170px; }
  .materia-card__content{ padding: 14px 14px 16px; }
  .materias-group h3{ font-size: 18px; }
}


/* =========================
   PATCH DE FUNDO GLOBAL
   - Fundo contínuo e sofisticado
   - Remove blocos escuros estruturais
   - Preserva contraste dos componentes
========================= */

body{
  background:
    radial-gradient(circle at 50% 0%, rgba(90, 130, 145, 0.18), transparent 32%),
    radial-gradient(circle at 15% 12%, rgba(120, 170, 110, 0.10), transparent 28%),
    radial-gradient(circle at 85% 18%, rgba(70, 110, 125, 0.10), transparent 26%),
    linear-gradient(180deg, #020806 0%, #03110d 38%, #041713 100%) !important;
}

.header{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background:
    linear-gradient(180deg, rgba(7,16,13,.56), rgba(7,16,13,.48)),
    radial-gradient(900px 180px at 50% 0%, rgba(120,160,150,.1), transparent 55%) !important;
  border-bottom: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 8px 28px rgba(0,0,0,.16);
  transition: background .28s ease, border-color .28s ease, box-shadow .28s ease, transform .28s ease;
}

.header::after{
  display: none;
}

.header.scrolled{
  background:
    linear-gradient(180deg, rgba(7,16,13,.82), rgba(7,16,13,.72)),
    radial-gradient(900px 180px at 50% 0%, rgba(120,160,150,.12), transparent 55%) !important;
  border-bottom-color: rgba(255,255,255,.12);
  box-shadow: 0 12px 34px rgba(0,0,0,.24);
}

.header__inner{
  min-height: 58px;
  padding: 8px 0;
  gap: 14px;
  position: relative;
}

.brand{
  gap: 8px;
  min-width: 0;
  flex: 0 1 auto;
}

.brand__logo{
  width: min(280px, 100%);
  max-width: 100%;
  height: 44px;
  object-fit: contain;
  filter: drop-shadow(0 6px 14px rgba(0,0,0,.18));
}

.nav{
  gap: 16px;
}

.nav a{
  color: rgba(245,248,246,.8);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: .08em;
  padding: 8px 4px;
}

.nav a:hover,
.nav a:focus-visible{
  color: rgba(255,255,255,.98);
}

.nav a::after{
  left: 3px;
  right: 3px;
  bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, rgba(136,184,123,.92), rgba(83,224,168,.74));
}

.btn--sm{
  padding: 8px 14px;
  font-size: 11px;
  border-radius: 12px;
  border: 1px solid rgba(120,255,180,.34);
  background: rgba(255,255,255,.04);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.btn--sm:hover,
.btn--sm:focus-visible{
  background: rgba(120,255,180,.1);
  border-color: rgba(120,255,180,.5);
}

.nav__toggle{
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(255,255,255,.05);
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}

.hero{
  min-height: 100vh;
  min-height: 100svh;
  align-items: center;
}

.hero__bg::after{
  background: linear-gradient(
    92deg,
    rgba(8,18,14,.82) 0%,
    rgba(8,18,14,.62) 42%,
    rgba(8,18,14,.34) 72%,
    rgba(8,18,14,.16) 100%
  );
}

.hero__content{
  padding-top: 132px;
  padding-bottom: 84px;
}

.hero h1{
  font-size: clamp(42px, 4.8vw, 62px);
  max-width: 18ch;
}

.lead{
  font-size: clamp(17px, 1.5vw, 20px);
  max-width: 60ch;
}

.kpis{
  margin-top: 44px;
}

@media (max-width: 820px){
  html,
  body{
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .hero{
    min-height: 96svh;
    align-items: flex-end;
  }

  .header{
    width: 100%;
  }

  .header__inner{
    min-height: 56px;
    padding: 7px 0;
    gap: 10px;
  }

  .brand{
    max-width: calc(100% - 54px);
  }

  .brand__logo{
    width: clamp(156px, 54vw, 220px);
    height: 38px;
  }

  .nav__toggle{
    display: inline-flex;
    min-width: 42px;
    min-height: 42px;
  }

  .nav__toggle:hover,
  .nav__toggle:focus-visible,
  .nav__toggle.is-open{
    border-color: rgba(25,195,125,.46);
    background: rgba(25,195,125,.10);
  }

  .nav__toggle.is-open span:not(.sr-only):nth-child(1){
    transform: translateY(7px) rotate(45deg);
  }

  .nav__toggle.is-open span:not(.sr-only):nth-child(2){
    opacity: 0;
  }

  .nav__toggle.is-open span:not(.sr-only):nth-child(3){
    transform: translateY(-7px) rotate(-45deg);
  }

  .nav{
    position: absolute;
    top: calc(100% + 10px);
    left: auto;
    right: 16px;
    width: min(320px, calc(100vw - 32px));
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 5px;
    padding: 10px;
    box-sizing: border-box;
    max-height: calc(100svh - 96px);
    overflow-y: auto;
    overflow-x: hidden;
    border-radius: 20px;
    border: 1px solid rgba(25,195,125,.22);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    background:
      linear-gradient(180deg, rgba(7,16,13,.88), rgba(7,16,13,.84)),
      radial-gradient(460px 160px at 100% 0%, rgba(25,195,125,.14), transparent 62%);
    box-shadow: 0 18px 42px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06);
  }

  .nav.is-open{
    display: flex;
  }

  .nav a{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 42px;
    width: 100%;
    padding: 10px 14px;
    font-size: 12px;
    letter-spacing: .08em;
    line-height: 1.1;
    color: rgba(245,248,246,.9);
    text-align: left;
    border-radius: 14px;
  }

  .nav a:hover,
  .nav a:focus-visible{
    background: rgba(25,195,125,.11);
    color: #fff;
  }

  .nav a::after{
    display: none;
  }

  .btn--sm{
    width: 100%;
    min-height: 42px;
    justify-content: center;
  }

  .nav a.btn.btn--sm{
    min-height: 44px;
    margin-top: 2px;
    border-color: rgba(25,195,125,.38);
    background: rgba(25,195,125,.12);
    color: rgba(239,255,247,.96);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
  }

  .nav a.btn.btn--sm:hover,
  .nav a.btn.btn--sm:focus-visible{
    background: rgba(25,195,125,.18);
    border-color: rgba(25,195,125,.58);
  }

  .hero__content{
    padding-top: 112px;
    padding-bottom: 54px;
  }

  .hero h1{
    font-size: clamp(36px, 8.4vw, 50px);
    max-width: 14ch;
  }

  .lead{
    max-width: 48ch;
  }
}

@media (max-width: 560px){
  .hero{
    min-height: 100svh;
  }

  .hero__content{
    padding-top: 106px;
    padding-bottom: 40px;
  }

  .eyebrow{
    padding: 8px 11px;
    font-size: 12px;
  }

  .hero h1{
    font-size: clamp(31px, 9.4vw, 42px);
    max-width: 14ch;
    line-height: 1.04;
  }

  .lead{
    font-size: 16px;
    line-height: 1.55;
  }
}

@media (max-width: 390px){
  .header__inner{
    gap: 8px;
  }

  .brand__logo{
    width: clamp(140px, 50vw, 188px);
    height: 34px;
  }

  .nav__toggle{
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
  }

  .nav{
    right: 12px;
    width: calc(100vw - 24px);
    padding: 9px;
  }
}

.section,
.section--institutional,
.section--tech,
.section--impact,
.section--contact,
.section--alt,
.section--cap,
.section--neutral{
  background: transparent !important;
}

.section > .container{
  position: relative;
  z-index: 1;
  padding: clamp(26px, 4vw, 42px);
  border-radius: 32px;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.about-frame{
  position: relative;
  padding: clamp(62px, 8vw, 94px) clamp(28px, 8vw, 96px);
  border: 1px solid rgba(151,203,97,.45);
  background: rgba(5, 14, 11, 0.42);
  backdrop-filter: blur(6px);
}

/* =========================
   CASES — carrossel premium
========================= */

.cases-carousel{
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  margin-top: 36px;
}

.cases-carousel__viewport{
  min-width: 0;
  overflow-x: auto;
  overflow-y: visible;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 26px 0 40px;
}

.cases-carousel__viewport::-webkit-scrollbar{
  display: none;
}

.cases-carousel .cases{
  display: flex;
  gap: 26px;
  width: max-content;
  align-items: center;
  padding-inline: clamp(54px, 9vw, 120px);
}

.cases-carousel .case{
  position: relative;
  flex: 0 0 clamp(280px, 30vw, 376px);
  min-height: 540px;
  padding: 16px;
  border-radius: 32px;
  border: 1px solid rgba(136,184,123,.12);
  background: linear-gradient(180deg, rgba(9,16,13,.9), rgba(7,13,11,.84));
  box-shadow: 0 14px 34px rgba(0,0,0,.16);
  opacity: .28;
  transform: scale(.9) translateY(14px);
  transform-origin: center center;
  filter: saturate(.72);
  transition: transform .35s ease, opacity .35s ease, box-shadow .35s ease, border-color .35s ease, filter .35s ease;
}

.cases-carousel .case::before{
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: 22px;
  border: 1px solid rgba(151,203,97,.08);
  pointer-events: none;
}

.cases-carousel .case.is-prev{
  opacity: .6;
  transform: perspective(1200px) rotateY(12deg) scale(.94) translateY(10px);
}

.cases-carousel .case.is-next{
  opacity: .6;
  transform: perspective(1200px) rotateY(-12deg) scale(.94) translateY(10px);
}

.cases-carousel .case.is-active{
  opacity: 1;
  min-height: 596px;
  transform: scale(1) translateY(0);
  border-color: rgba(151,203,97,.28);
  box-shadow: 0 30px 76px rgba(0,0,0,.26);
  filter: none;
}

.cases-carousel .case__media{
  position: relative;
  height: 248px;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(151,203,97,.08);
  background:
    radial-gradient(circle at 18% 18%, rgba(151,203,97,.16), transparent 24%),
    linear-gradient(180deg, rgba(12,26,20,.88), rgba(8,16,13,.92));
  box-shadow: 0 20px 44px rgba(0,0,0,.22);
}

.cases-carousel .case__media::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(6,14,11,.08), rgba(6,14,11,.34) 56%, rgba(6,14,11,.56));
  pointer-events: none;
}

.cases-carousel .case__media img{
  width: 100%;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center;
  padding: 0 !important;
  transform: scale(1.02);
  transition: transform .45s ease, filter .45s ease;
}

.cases-carousel .case.is-active .case__media img{
  transform: scale(1.08);
}

.cases-carousel .case__body{
  gap: 12px;
  padding: 6px 4px 2px;
}

.cases-carousel .case h3{
  justify-content: flex-start;
  align-items: flex-start;
  margin: 6px 0 0;
  text-align: left;
  font-size: 24px;
  line-height: 1.12;
  letter-spacing: -.03em;
}

.cases-carousel .case__tag{
  width: fit-content;
  margin-bottom: 2px;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cases-carousel .case__text{
  color: rgba(229,236,232,.82);
  line-height: 1.65;
}

.cases-carousel .case:not(.is-active) .case__text,
.cases-carousel .case:not(.is-active) .case__toggle{
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
}

.cases-carousel .case:not(.is-active) .case__body{
  justify-content: end;
}

.cases-carousel .case:not(.is-active) h3{
  font-size: 20px;
}

.cases-carousel .case__toggle{
  width: fit-content;
  min-width: 148px;
  margin-top: 6px;
  border-radius: 999px;
  transition: transform .25s ease, opacity .25s ease, background .25s ease, border-color .25s ease;
}

.cases-carousel .case.is-active:hover .case__toggle{
  transform: translateY(-1px);
}

.cases-carousel__nav{
  width: 56px;
  height: 56px;
  border: 1px solid rgba(136,184,123,.18);
  border-radius: 999px;
  background: rgba(9,18,14,.74);
  color: rgba(241,245,242,.92);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, border-color .2s ease, opacity .2s ease;
}

.cases-carousel__nav:hover{
  transform: translateY(-1px);
  background: rgba(12,24,18,.92);
  border-color: rgba(151,203,97,.5);
}

.cases-carousel__nav span{
  font-size: 24px;
  line-height: 1;
}

.cases-carousel__dots{
  grid-column: 1 / -1;
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: -8px;
}

.cases-carousel__dots button{
  width: 10px;
  height: 10px;
  padding: 0;
  border-radius: 999px;
  border: 1px solid rgba(213,226,218,.4);
  background: rgba(213,226,218,.18);
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.cases-carousel__dots button.active{
  transform: scale(1.18);
  border-color: rgba(151,203,97,.95);
  background: rgba(151,203,97,.95);
  box-shadow: 0 0 0 6px rgba(151,203,97,.12);
}

@media (max-width: 980px){
  .cases-carousel{
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .cases-carousel__nav{
    display: none;
  }

  .cases-carousel .cases{
    padding-inline: 12vw;
  }

  .cases-carousel .case{
    flex-basis: min(72vw, 360px);
    min-height: 500px;
  }

  .cases-carousel .case.is-active{
    min-height: 548px;
  }
}

@media (max-width: 560px){
  .cases-carousel .cases{
    gap: 18px;
    padding-inline: 7vw;
  }

  .cases-carousel .case{
    flex-basis: 84vw;
    min-height: 460px;
    opacity: .58;
    transform: scale(.96);
  }

  .cases-carousel .case.is-prev,
  .cases-carousel .case.is-next{
    transform: scale(.96);
  }

  .cases-carousel .case.is-active{
    min-height: 500px;
  }

  .cases-carousel .case__media{
    height: 214px;
  }

  .cases-carousel .case h3{
    font-size: 21px;
  }
}

.cases-carousel .case__media--device{
  background:
    radial-gradient(circle at 50% 78%, rgba(151,203,97,.24), transparent 28%),
    radial-gradient(circle at 18% 18%, rgba(92,154,158,.18), transparent 24%),
    linear-gradient(180deg, rgba(10,23,18,.94), rgba(6,12,10,.96));
}

.cases-carousel .case__media--device::after{
  background:
    radial-gradient(circle at 50% 85%, rgba(255,255,255,.16), transparent 18%),
    linear-gradient(180deg, rgba(6,14,11,.04), rgba(6,14,11,.28) 56%, rgba(6,14,11,.48));
}

.cases-carousel .case__media--device img{
  object-fit: contain !important;
  object-position: center bottom;
  padding: 18px 18px 8px !important;
  filter: drop-shadow(0 20px 24px rgba(0,0,0,.36));
}

.cases-carousel .case.is-active .case__media--device img{
  transform: scale(1.04);
}

/* Portal Preview (Home) ======================================================== */
.section--portal{
  position: relative;
  overflow: hidden;
}

.section--portal::before{
  content: "";
  position: absolute;
  inset: -40px 0 auto 0;
  height: 220px;
  background: radial-gradient(circle at 20% 40%, rgba(25,195,125,.14), rgba(0,0,0,0) 60%);
  pointer-events: none;
}

.portal-preview{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  margin-top: 26px;
}

.portal-card{
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(25,195,125,.16);
  background:
    radial-gradient(circle at 18% 18%, rgba(25,195,125,.12), transparent 30%),
    linear-gradient(180deg, rgba(8,16,13,.92), rgba(6,12,10,.94));
  box-shadow: 0 18px 46px rgba(0,0,0,.24);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease, filter .28s ease;
}

.portal-card::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.0) 0%, rgba(0,0,0,.10) 38%, rgba(0,0,0,.36) 100%);
  pointer-events: none;
}

.portal-card:hover{
  transform: translateY(-4px);
  border-color: rgba(25,195,125,.34);
  box-shadow: 0 26px 68px rgba(0,0,0,.28);
  filter: saturate(1.02);
}

.portal-card__media{
  position: relative;
  height: 132px;
  margin: 12px 12px 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 14px;
}

.portal-card__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  transition: transform .35s ease;
}

.portal-card:hover .portal-card__media img{
  transform: scale(1.06);
}

.portal-card__body{
  position: relative;
  z-index: 1;
  padding: 16px 16px 18px;
  display: grid;
  gap: 10px;
}

.portal-card__meta{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.portal-card__cat{
  display: inline-flex;
  align-items: center;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(25,195,125,.22);
  background: rgba(25,195,125,.08);
  color: rgba(220,248,236,.92);
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
}

.portal-card h3{
  margin: 0;
  font-size: 16px;
  line-height: 1.18;
  letter-spacing: -.02em;
}

.portal-card p{
  margin: 0;
  color: rgba(229,236,232,.84);
  font-size: 13px;
  line-height: 1.6;
}

.portal-card__actions{
  margin-top: 4px;
}

.portal-preview__cta{
  margin-top: 22px;
  display: flex;
  justify-content: center;
}

@media (max-width: 1080px){
  .portal-preview{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px){
  .portal-preview{
    grid-template-columns: 1fr;
  }

  .portal-card__media{
    height: 148px;
  }
}

/* Brand Palette Refresh ======================================================== */
html,
body,
main{
  background:
    radial-gradient(circle at top, rgba(25,195,125,.06), transparent 30%),
    linear-gradient(180deg, var(--bg), var(--bg-2));
  color: var(--text);
}

a:focus-visible,
button:focus-visible{
  outline-color: var(--brand);
}

.header{
  background:
    linear-gradient(180deg, rgba(10,15,15,.62), rgba(10,15,15,.52)),
    radial-gradient(900px 180px at 50% 0%, rgba(25,195,125,.12), transparent 55%) !important;
  border-bottom-color: rgba(25,195,125,.18);
  box-shadow: 0 8px 28px rgba(0,0,0,.22);
}

.header.scrolled{
  background:
    linear-gradient(180deg, rgba(10,15,15,.86), rgba(10,15,15,.74)),
    radial-gradient(900px 180px at 50% 0%, rgba(25,195,125,.14), transparent 55%) !important;
  border-bottom-color: rgba(25,195,125,.24);
}

.nav a,
.footer-nav a,
.footer-contact a:first-of-type,
.footer-brand p,
.muted,
.tiny,
.lead,
.section__head p,
section:not(.hero) .section__head p{
  color: var(--muted);
}

.nav a:hover,
.nav a:focus-visible,
.footer-nav a:hover,
.footer-contact a:hover{
  color: var(--text);
}

.nav a::after{
  background: linear-gradient(90deg, var(--brand), var(--brand-strong));
}

.btn{
  border-color: rgba(25,195,125,.42);
  background: linear-gradient(180deg, var(--brand), var(--brand-strong));
  color: var(--ink);
  box-shadow: 0 18px 45px rgba(0,0,0,.24), 0 0 0 1px rgba(255,255,255,.04) inset;
}

.btn:hover,
.btn:focus-visible{
  background: linear-gradient(180deg, var(--brand-strong), #109160);
}

.btn--ghost{
  border-color: rgba(25,195,125,.34);
  background: rgba(25,195,125,.06);
  color: var(--brand);
}

.btn--ghost:hover,
.btn--ghost:focus-visible{
  background: rgba(25,195,125,.12);
  border-color: rgba(25,195,125,.48);
  color: var(--text);
}

.btn--sm{
  border-color: rgba(25,195,125,.38);
  background: rgba(25,195,125,.06);
  color: var(--brand);
}

.btn--sm:hover,
.btn--sm:focus-visible{
  background: rgba(25,195,125,.12);
  border-color: rgba(25,195,125,.52);
  color: var(--text);
}

.skip-link,
.nav__toggle,
.toast,
.accordion summary,
.contact-card,
.card,
.partner-card,
.stat,
.kpi,
.training-highlight-card,
.training-fit-card,
.training-structure-card,
.training-flow-card,
.training-result-card,
.training-panel,
.training-results,
.training-intro{
  border-color: rgba(25,195,125,.14) !important;
}

.card,
.contact-card,
.partner-card,
.training-highlight-card,
.training-fit-card,
.training-structure-card,
.training-flow-card,
.training-result-card{
  background: rgba(255,255,255,.03) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.12);
}

.section-chip,
.training-kicker,
.solution-card__eyebrow,
.training-pill,
.training-fit__item strong + p{
  border-color: rgba(25,195,125,.24);
}

.section-chip{
  background: rgba(25,195,125,.12);
  color: var(--brand-soft);
}

.eyebrow,
.training-kicker,
.solution-card__eyebrow,
.training-pill,
.training-pill,
.contact-copy{
  background: rgba(25,195,125,.08);
  border-color: rgba(25,195,125,.22);
  color: var(--brand-soft);
}

.hero__bg::after{
  background: linear-gradient(
    92deg,
    rgba(10,15,15,.84) 0%,
    rgba(11,59,46,.44) 42%,
    rgba(10,15,15,.36) 72%,
    rgba(10,15,15,.18) 100%
  );
}

.hero h1,
.section__head h2,
.about-frame__body h2,
.training-intro__content h2,
.training-panel__head h3,
.training-results__head h3,
.footer-contact strong,
.footer-nav strong,
.footer__partnersHead strong,
.contact-card__content strong{
  color: var(--text);
}

.kpi,
.stat{
  background: rgba(255,255,255,.03);
}

.kpi__value,
.stat__value,
.training-results .stat__value,
.footer-contact a,
.contact-link,
.contact-card__email{
  color: var(--brand);
}

.kpi__label,
.stat__label,
.training-results .stat__label,
.contact-card__content p,
.footer__meta .muted{
  color: var(--muted);
}

.about-frame,
.training-results,
.cases-carousel .case,
.solutions-carousel .solution-card,
.accordion{
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)),
    radial-gradient(circle at top right, rgba(25,195,125,.08), transparent 28%) !important;
  border-color: rgba(25,195,125,.18) !important;
}

.about-frame::before,
.about-frame::after,
.dot,
.solution-card__list li::before,
.training-resource-list li::before{
  background: var(--brand);
  box-shadow: 0 0 0 6px rgba(25,195,125,.12);
}

.case__tag,
.training-pill,
.solution-card__chips span,
.training-fit__item,
.contact-card__icon{
  background: rgba(25,195,125,.08);
  border-color: rgba(25,195,125,.18);
  color: var(--brand-soft);
}

.cases-carousel__dots button.active,
.solutions-carousel__dots button.active,
.gallery-dots button.active,
.case__dots button.active{
  background: var(--brand);
  border-color: var(--brand);
  box-shadow: 0 0 0 6px rgba(25,195,125,.12);
}

.cases-carousel__nav:hover,
.solutions-carousel__nav:hover,
.jornada-nav:hover,
.tech-arrow:hover{
  border-color: rgba(25,195,125,.46);
}

.solution-card--web,
.solution-card--mobile,
.solution-card--data,
.solution-card--cloud{
  background-color: rgba(255,255,255,.03);
}

.solution-card--web{
  background-image:
    radial-gradient(circle at 22% 18%, rgba(25,195,125,.18), transparent 26%),
    radial-gradient(circle at 86% 22%, rgba(11,59,46,.34), transparent 28%),
    linear-gradient(180deg, rgba(9,17,15,.98), rgba(8,14,13,.92));
}

.solution-card--mobile{
  background-image:
    radial-gradient(circle at 24% 18%, rgba(25,195,125,.16), transparent 24%),
    radial-gradient(circle at 78% 24%, rgba(19,166,106,.26), transparent 28%),
    linear-gradient(180deg, rgba(9,17,15,.98), rgba(8,14,13,.92));
}

.solution-card--data{
  background-image:
    radial-gradient(circle at 18% 20%, rgba(25,195,125,.14), transparent 24%),
    radial-gradient(circle at 82% 20%, rgba(11,59,46,.36), transparent 30%),
    linear-gradient(180deg, rgba(9,17,15,.98), rgba(8,14,13,.92));
}

.solution-card--cloud{
  background-image:
    radial-gradient(circle at 20% 18%, rgba(25,195,125,.18), transparent 24%),
    radial-gradient(circle at 82% 22%, rgba(19,166,106,.22), transparent 26%),
    linear-gradient(180deg, rgba(9,17,15,.98), rgba(8,14,13,.92));
}

.solution-card__cta,
.pillar-card__cta{
  border-color: rgba(25,195,125,.3);
  color: var(--brand);
  background: rgba(25,195,125,.06);
}

.solution-card__cta:hover,
.pillar-card__cta:hover{
  background: rgba(25,195,125,.12);
  border-color: rgba(25,195,125,.5);
  color: var(--text);
}

.footer{
  color: var(--text);
}

.footer-contact a,
.footer-nav a:hover,
.contact-link:hover{
  color: var(--brand-soft);
}

.toast{
  background: rgba(10,15,15,.92);
  color: var(--text);
}

/* Palette Cleanup ============================================================= */
.section__head h2 span,
.sobre__mvv-title,
.mvv-card__tag,
.contact-link,
.footer-contact a,
.kpi__value,
.stat__value{
  color: var(--brand) !important;
}

.gallery-full__head h2 span{
  color: var(--brand) !important;
}

.about-frame__body h2 span,
.training-intro__content h2 span,
.training-panel__head h3 span,
.training-results__head h3 span{
  color: var(--brand) !important;
}

.section__head h2::before{
  background: linear-gradient(90deg, var(--brand), rgba(11,59,46,.28)) !important;
  box-shadow: 0 0 0 6px rgba(25,195,125,.1) !important;
}

.section-chip{
  border-color: rgba(25,195,125,.26) !important;
  background: rgba(25,195,125,.12) !important;
  color: var(--brand-soft) !important;
}

.about-frame{
  border-color: rgba(25,195,125,.22) !important;
  background: rgba(255,255,255,.02) !important;
}

.about-frame::before,
.about-frame::after{
  background: var(--brand) !important;
}

.pillar-card{
  border-color: rgba(25,195,125,.16) !important;
  background-color: #08110f !important;
  box-shadow: 0 24px 60px rgba(0,0,0,.22);
}

.pillar-card__overlay{
  background:
    linear-gradient(135deg, rgba(25,195,125,.05), transparent 46%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(5,10,8,.08)) !important;
}

.pillar-card__cta{
  border-color: rgba(25,195,125,.36) !important;
  color: var(--brand) !important;
  background: rgba(25,195,125,.06) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.pillar-card__cta:hover,
.pillar-card__cta:focus-visible{
  border-color: rgba(25,195,125,.52) !important;
  background: rgba(25,195,125,.12) !important;
  color: var(--text) !important;
}

.card::before,
.about-frame::before,
.partners__wrap::before{
  background: linear-gradient(90deg, var(--brand), rgba(25,195,125,0)) !important;
}

.solution-card__eyebrow,
.training-kicker,
.training-pill,
.case__tag,
.mvv-card__tag{
  border-color: rgba(25,195,125,.24) !important;
  background: rgba(25,195,125,.08) !important;
  color: var(--brand-soft) !important;
}

.cases-carousel__nav,
.solutions-carousel__nav{
  border-color: rgba(25,195,125,.2) !important;
}

.cases-carousel__nav:hover,
.solutions-carousel__nav:hover{
  background: rgba(25,195,125,.08) !important;
}

.training-intro,
.training-panel,
.training-results{
  border-color: rgba(25,195,125,.16) !important;
  background:
    linear-gradient(180deg, rgba(10,15,15,.96), rgba(12,20,18,.92)),
    radial-gradient(circle at top right, rgba(25,195,125,.08), transparent 30%) !important;
}

.training-intro::before,
.training-panel::before,
.training-results::before{
  background:
    radial-gradient(circle at top left, rgba(25,195,125,.08), transparent 26%),
    linear-gradient(135deg, rgba(255,255,255,.03), transparent 38%) !important;
}

.training-highlight-card,
.training-fit-card,
.training-structure-card,
.training-flow-card,
.training-result-card{
  border-color: rgba(25,195,125,.14) !important;
  background: rgba(255,255,255,.03) !important;
}

.training-highlight-card:hover,
.training-fit-card:hover,
.training-structure-card:hover,
.training-flow-card:hover,
.training-result-card:hover{
  border-color: rgba(25,195,125,.3) !important;
  box-shadow: 0 22px 48px rgba(0,0,0,.16) !important;
}

.training-icon,
.training-fit-card__icon,
.training-structure-card__icon,
.training-flow-card__icon{
  color: var(--brand) !important;
  background: linear-gradient(180deg, rgba(25,195,125,.12), rgba(11,59,46,.12)) !important;
  border-color: rgba(25,195,125,.22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.training-kicker,
.training-pill{
  border-color: rgba(25,195,125,.24) !important;
  background: rgba(25,195,125,.08) !important;
  color: var(--brand-soft) !important;
}

.training-journey-grid::before{
  background: linear-gradient(90deg, rgba(25,195,125,0), rgba(25,195,125,.28), rgba(25,195,125,0)) !important;
}

.training-results{
  background:
    linear-gradient(180deg, rgba(11,18,17,.96), rgba(12,22,19,.92)),
    radial-gradient(circle at top right, rgba(25,195,125,.12), transparent 34%) !important;
  border-color: rgba(25,195,125,.18) !important;
}

.training-results::before{
  background:
    radial-gradient(circle at top right, rgba(25,195,125,.14), transparent 24%),
    linear-gradient(135deg, rgba(255,255,255,.04), transparent 34%) !important;
}

.training-results .stat__value{
  color: var(--brand) !important;
}

.training-results .stat__label,
.training-panel__head p,
.training-intro__text,
.training-intro__lead,
.training-highlight-card p,
.training-fit-card p,
.training-structure-card p,
.training-flow-card p{
  color: var(--muted) !important;
}

/* Expertise Section =========================================================== */
.hero__content > .expertise-grid{
  display: none;
}

#atuacao .cards{
  display: none;
}

.expertise-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  margin-top: 34px;
}

.expertise-card{
  position: relative;
  min-height: 320px;
  isolation: isolate;
}

.expertise-card__backdrop{
  position: absolute;
  inset: 18px 18px 0 18px;
  border-radius: 24px;
  background: linear-gradient(180deg, var(--brand), var(--brand-deep));
  transform: rotate(8deg);
  opacity: .92;
}

.expertise-card__glow{
  position: absolute;
  inset: 34px 36px 24px 36px;
  border-radius: 28px;
  background: rgba(25,195,125,.18);
  filter: blur(34px);
  opacity: .7;
}

.expertise-card__panel{
  position: relative;
  z-index: 1;
  height: 100%;
  min-height: 320px;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  align-content: start;
  gap: 18px;
  padding: 26px 24px 24px;
  border-radius: 18px;
  border: 1px solid rgba(25,195,125,.15);
  background: rgba(10,15,15,.72);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 18px 40px rgba(0,0,0,.18);
  overflow: hidden;
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease, background .35s ease;
}

.expertise-card__index{
  display: inline-flex;
  width: fit-content;
  align-items: center;
  padding: 7px 10px;
  grid-row: 1;
  position: relative;
  z-index: 3;
  border-radius: 999px;
  background: rgba(25,195,125,.08);
  border: 1px solid rgba(25,195,125,.18);
  color: var(--brand-soft);
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.expertise-card__panel h3{
  margin: 0;
  grid-row: 2;
  position: relative;
  z-index: 3;
  font-size: clamp(24px, 2.3vw, 34px);
  line-height: 1.05;
  letter-spacing: -.03em;
  color: var(--text);
  text-wrap: balance;
}

.expertise-card__cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  grid-row: 4;
  position: relative;
  z-index: 3;
  padding: 11px 18px;
  border-radius: 999px;
  border: 1px solid rgba(25,195,125,.28);
  background: rgba(25,195,125,.06);
  color: rgba(235,248,242,.96);
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
  transition: transform .22s ease, background .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease;
}

.expertise-card__cta:hover{
  transform: translateY(-1px);
  background: rgba(25,195,125,.12);
  border-color: rgba(25,195,125,.52);
  box-shadow: 0 18px 44px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08);
}

.expertise-card__cta:focus-visible{
  outline: 3px solid rgba(25,195,125,.62);
  outline-offset: 4px;
}

.expertise-card__details{
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  top: 50%;
  z-index: 2;
  border-radius: 16px;
  border: 1px solid rgba(25,195,125,.16);
  background:
    linear-gradient(180deg, rgba(8,14,13,.56) 0%, rgba(6,12,11,.86) 70%, rgba(6,12,11,.92) 100%),
    radial-gradient(circle at 20% 10%, rgba(25,195,125,.20), rgba(0,0,0,0) 58%);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding: 14px 14px 12px;
  overflow: auto;
  opacity: 0;
  transform: translateY(14px);
  pointer-events: none;
  transition: opacity .25s ease, transform .35s cubic-bezier(.2,.9,.2,1);
}

.expertise-card__details p{
  margin: 0;
  color: rgba(238,244,240,.9);
  font-size: 14px;
  line-height: 1.7;
  max-width: 52ch;
}

.expertise-card__details::-webkit-scrollbar{
  width: 8px;
}

.expertise-card__details::-webkit-scrollbar-thumb{
  background: rgba(25,195,125,.18);
  border-radius: 999px;
}

.expertise-card.is-open .expertise-card__details{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.expertise-card.is-open .expertise-card__glow{
  background: rgba(25,195,125,.26);
  opacity: .98;
}

.expertise-card:hover .expertise-card__panel{
  transform: translateY(-8px) scale(1.01);
  border-color: rgba(25,195,125,.28);
  background: rgba(10,15,15,.8);
  box-shadow: 0 26px 58px rgba(0,0,0,.24);
}

.expertise-card:hover .expertise-card__glow{
  background: rgba(25,195,125,.22);
  opacity: .92;
}

.expertise-card:hover .expertise-card__backdrop{
  transform: rotate(10deg) translateY(-2px);
}

@media (max-width: 1080px){
  .expertise-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px){
  .expertise-grid{
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .expertise-card{
    min-height: 280px;
  }

  .expertise-card__panel{
    min-height: 280px;
    padding: 22px 20px;
  }

  .expertise-card__panel h3{
    font-size: 24px;
  }

  .expertise-card__backdrop{
    inset: 14px 14px 0 14px;
  }
}

/* =====================================================
   Conteudos Static UI
   Consolidado de conteudos/styles/*.css
   Namespace: .content-scope + .content-*
   ===================================================== */

.content-scope{
  --content-color-brand: #09cc7e;
  --content-color-brand-hover: #078a5c;
  --content-color-brand-strong: #046b45;
  --content-color-brand-soft: rgba(9, 204, 126, 0.14);
  --content-color-brand-border: rgba(9, 204, 126, 0.28);
  --content-color-bg: #191919;
  --content-color-surface: #202020;
  --content-color-surface-alt: #2a2a2a;
  --content-color-surface-subtle: #313131;
  --content-color-surface-dark: #0b0f0e;
  --content-color-text: #ffffff;
  --content-color-text-soft: #d6dede;
  --content-color-text-muted: #9d9d9c;
  --content-color-border: rgba(214, 222, 222, 0.16);
  --content-color-divider: rgba(214, 222, 222, 0.1);
  --content-gradient-hero:
    linear-gradient(115deg, rgba(1, 51, 52, 0.98) 0%, rgba(4, 107, 69, 0.88) 28%, rgba(25, 25, 25, 0.96) 62%, rgba(11, 15, 14, 0.99) 100%);
  --content-gradient-surface:
    linear-gradient(135deg, rgba(1, 51, 52, 0.96) 0%, rgba(5, 122, 80, 0.58) 38%, rgba(25, 25, 25, 0.98) 100%);
  --content-gradient-card:
    linear-gradient(145deg, rgba(1, 51, 52, 0.9) 0%, rgba(5, 122, 80, 0.3) 45%, rgba(19, 24, 23, 0.96) 100%);
  --content-shadow-soft: 0 12px 34px rgba(0, 0, 0, 0.12);
  --content-shadow-card: 0 14px 36px rgba(0, 0, 0, 0.14);
  --content-shadow-strong: 0 24px 64px rgba(0, 0, 0, 0.22);
  --content-radius-md: 18px;
  --content-radius-lg: 28px;
  --content-radius-xl: 38px;
  --content-title-font: "Source Serif 4", Georgia, serif;
  --content-body-font: "Instrument Sans", system-ui, sans-serif;
  color: var(--content-color-text);
  font-family: var(--content-body-font);
}

.content-scope,
.content-scope *{
  box-sizing: border-box;
}

.content-scope img{
  display: block;
  max-width: 100%;
}

.content-scope a{
  color: inherit;
  text-decoration: none;
}

.content-scope button{
  font: inherit;
  cursor: pointer;
}

.content-page-shell{
  position: relative;
  min-height: 100vh;
  overflow-x: hidden;
}

.content-page-shell::before{
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(9, 204, 126, 0.04) 1px, transparent 1px),
    linear-gradient(180deg, rgba(9, 204, 126, 0.035) 1px, transparent 1px);
  background-size: 96px 96px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.9), transparent 72%);
  pointer-events: none;
}

.content-page-shell::after{
  content: "";
  position: fixed;
  inset: 0;
  z-index: -3;
  background:
    radial-gradient(circle at 12% 16%, rgba(9, 204, 126, 0.22), transparent 38%),
    radial-gradient(circle at 88% 12%, rgba(1, 51, 52, 0.26), transparent 34%),
    linear-gradient(180deg, rgba(9, 204, 126, 0.12) 0%, rgba(9, 204, 126, 0.03) 42%, transparent 78%),
    linear-gradient(135deg, rgba(6, 102, 71, 0.3) 0%, rgba(12, 12, 12, 0.96) 44%, #151515 100%);
  pointer-events: none;
}

.content-background-glow{
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 10% 10%, rgba(9, 204, 126, 0.14), transparent 28%),
    radial-gradient(circle at 86% 16%, rgba(1, 51, 52, 0.14), transparent 28%);
}

.content-main-content,
.content-home-main,
.content-detail-main{
  position: relative;
  z-index: 1;
  width: min(1240px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 30px 0 96px;
}

.content-detail-main{
  width: min(1080px, calc(100% - 32px));
  padding-top: 26px;
}

.content-section-block{
  margin-top: clamp(46px, 7vw, 84px);
  scroll-margin-top: 112px;
}

.content-section-header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
  padding-top: 4px;
  border-top: 1px solid var(--content-color-divider);
}

.content-section-eyebrow{
  display: inline-block;
  margin: 18px 0 10px;
  color: var(--content-color-brand);
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.content-section-title{
  max-width: 900px;
  margin: 0;
  color: var(--content-color-text);
  font-family: var(--content-title-font);
  font-size: clamp(2.2rem, 4.5vw, 4.8rem);
  font-weight: 780;
  line-height: 0.9;
  letter-spacing: -0.07em;
}

.content-section-title::first-letter{
  color: var(--content-color-brand);
}

.content-section-description{
  max-width: 440px;
  margin: 0;
  color: var(--content-color-text-soft);
  font-size: 0.95rem;
  line-height: 1.6;
}

.content-header{
  position: sticky;
  top: 12px;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: min(1240px, calc(100% - 32px));
  margin: 0 auto;
  padding: 14px 16px;
  border: 1px solid var(--content-color-border);
  border-radius: 999px;
  background: rgba(11, 15, 14, 0.88);
  box-shadow: var(--content-shadow-soft);
  backdrop-filter: blur(18px);
}

.content-brand-block{
  display: flex;
  align-items: center;
  gap: 10px;
}

.content-brand-block::before{
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--content-color-brand);
  box-shadow: 0 0 0 6px rgba(9, 204, 126, 0.16);
}

.content-header-kicker{
  color: var(--content-color-brand);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.content-header-brand{
  color: #fff;
  font-family: var(--content-title-font);
  font-size: clamp(1.45rem, 1.8vw, 1.9rem);
  font-weight: 780;
  line-height: 1;
  letter-spacing: -0.035em;
}

.content-header-nav{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px;
}

.content-header-link{
  position: relative;
  padding: 10px 13px;
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.88rem;
  font-weight: 760;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.content-header-link:hover,
.content-header-link[aria-current="page"]{
  transform: translateY(-1px);
  background: var(--content-color-brand-soft);
  color: #fff;
}

.content-page-intro{
  display: grid;
  gap: 18px;
  margin-bottom: 36px;
}

.content-intro-copy{
  display: grid;
  gap: 12px;
  padding: 34px;
  border: 1px solid var(--content-color-border);
  border-radius: var(--content-radius-xl);
  background:
    radial-gradient(circle at top right, rgba(9, 204, 126, 0.16), transparent 24%),
    radial-gradient(circle at 8% 16%, rgba(9, 204, 126, 0.08), transparent 20%),
    linear-gradient(135deg, rgba(1, 51, 52, 0.98), rgba(5, 122, 80, 0.24) 36%, rgba(25, 25, 25, 0.98)),
    var(--content-color-surface-dark);
  box-shadow: var(--content-shadow-strong);
}

.content-intro-copy__eyebrow{
  color: var(--content-color-brand);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.content-intro-copy__title{
  margin: 0;
  color: var(--content-color-text);
  font-family: var(--content-title-font);
  font-size: clamp(2.1rem, 4vw, 3.5rem);
  line-height: 0.96;
  letter-spacing: -0.04em;
}

.content-intro-copy__description{
  max-width: 780px;
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.04rem;
  line-height: 1.75;
}

.content-editorial-hero{
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.55fr);
  gap: clamp(24px, 5vw, 64px);
  overflow: hidden;
  align-items: end;
  min-height: clamp(420px, 52vh, 560px);
  padding: clamp(28px, 4.8vw, 58px);
  border: 1px solid var(--content-color-border);
  border-radius: var(--content-radius-xl);
  background:
    radial-gradient(circle at 12% 18%, rgba(9, 204, 126, 0.18), transparent 24%),
    radial-gradient(circle at 30% 86%, rgba(1, 51, 52, 0.34), transparent 28%),
    var(--content-gradient-hero),
    #191919;
  box-shadow: var(--content-shadow-strong);
  isolation: isolate;
}

.content-editorial-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(157, 157, 156, 0.05) 1px, transparent 1px),
    linear-gradient(180deg, rgba(157, 157, 156, 0.05) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.7));
  opacity: 0.9;
}

.content-editorial-hero::after{
  content: "";
  position: absolute;
  inset: 22px;
  z-index: -1;
  border: 1px solid rgba(214, 222, 222, 0.1);
  border-radius: calc(var(--content-radius-xl) - 14px);
  pointer-events: none;
}

.content-editorial-hero__content{
  max-width: 840px;
}

.content-editorial-hero__kicker,
.content-news-hero__category{
  display: inline-flex;
  padding: 8px 12px;
  border: 1px solid rgba(9, 204, 126, 0.26);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(9, 204, 126, 0.18), rgba(1, 51, 52, 0.28));
  color: #fff;
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.content-editorial-hero__title,
.content-news-hero__title{
  margin: 22px 0 0;
  color: #fff;
  font-family: var(--content-title-font);
  font-size: clamp(2.55rem, 5.8vw, 5.7rem);
  font-weight: 760;
  line-height: 0.88;
  letter-spacing: -0.07em;
  text-wrap: balance;
}

.content-editorial-hero__summary,
.content-news-hero__subtitle{
  max-width: 720px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(1rem, 1.25vw, 1.18rem);
  line-height: 1.72;
}

.content-editorial-hero__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.content-editorial-hero__primary,
.content-editorial-hero__secondary,
.content-news-hero__primary{
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: 999px;
  font-size: 0.94rem;
  font-weight: 850;
  transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.content-editorial-hero__primary,
.content-news-hero__primary{
  border: 1px solid var(--content-color-brand-border);
  background: var(--content-color-brand);
  color: #03130c;
}

.content-editorial-hero__secondary{
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.04);
  color: #fff;
}

.content-editorial-hero__primary:hover,
.content-editorial-hero__secondary:hover,
.content-news-hero__primary:hover{
  transform: translateY(-2px);
}

.content-editorial-hero__panel{
  align-self: stretch;
  display: flex;
  min-height: 300px;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px;
  border: 1px solid rgba(214, 222, 222, 0.14);
  border-radius: var(--content-radius-lg);
  background:
    radial-gradient(circle at top left, rgba(9, 204, 126, 0.14), transparent 28%),
    var(--content-gradient-card);
  color: #fff;
  backdrop-filter: blur(16px);
}

.content-editorial-hero__panel-label{
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.content-editorial-hero__panel-number{
  margin-top: 14px;
  font-family: var(--content-title-font);
  font-size: clamp(3.2rem, 5.6vw, 5.4rem);
  line-height: 0.8;
  letter-spacing: -0.08em;
}

.content-editorial-hero__panel-text{
  max-width: 220px;
  margin-top: 14px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.98rem;
  line-height: 1.5;
}

.content-news-hero{
  position: relative;
  display: flex;
  min-height: clamp(400px, 54vh, 560px);
  overflow: hidden;
  align-items: flex-end;
  padding: clamp(28px, 5vw, 58px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 32px;
  background-color: var(--content-color-brand-strong);
  background-position: center;
  background-size: cover;
  box-shadow: 0 24px 70px rgba(8, 20, 16, 0.24);
  isolation: isolate;
}

.content-news-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 18% 18%, rgba(136, 184, 123, 0.34), transparent 28%),
    linear-gradient(180deg, transparent 54%, rgba(0, 0, 0, 0.34));
}

.content-news-hero::after{
  content: "";
  position: absolute;
  inset: 18px;
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 24px;
  pointer-events: none;
}

.content-news-hero__content{
  width: min(820px, 100%);
}

.content-latest-strip{
  position: relative;
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 18px;
  margin-top: clamp(34px, 6vw, 72px);
  padding: 20px;
  overflow: hidden;
  border: 1px solid var(--content-color-border);
  border-radius: var(--content-radius-lg);
  background:
    radial-gradient(circle at 12% 20%, rgba(9, 204, 126, 0.16), transparent 24%),
    radial-gradient(circle at 84% 100%, rgba(1, 51, 52, 0.28), transparent 30%),
    var(--content-gradient-surface),
    #191919;
  box-shadow: var(--content-shadow-card);
}

.content-latest-strip::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(157, 157, 156, 0.05) 1px, transparent 1px),
    linear-gradient(180deg, rgba(157, 157, 156, 0.05) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: 0.88;
  pointer-events: none;
}

.content-latest-strip__label{
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 10px 12px;
}

.content-latest-strip__kicker{
  color: rgba(255, 255, 255, 0.76);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.content-latest-strip__title{
  margin: 10px 0 0;
  color: #fff;
  font-family: var(--content-title-font);
  font-size: clamp(1.7rem, 2.4vw, 2.4rem);
  line-height: 0.95;
  letter-spacing: -0.045em;
}

.content-latest-strip__list{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.content-latest-strip__button{
  display: flex;
  min-height: 148px;
  flex-direction: column;
  justify-content: space-between;
  padding: 18px;
  border: 1px solid rgba(214, 222, 222, 0.14);
  border-radius: 20px;
  background:
    radial-gradient(circle at top left, rgba(9, 204, 126, 0.1), transparent 26%),
    linear-gradient(145deg, rgba(1, 51, 52, 0.88), rgba(9, 204, 126, 0.1) 40%, rgba(18, 24, 23, 0.96) 100%);
  color: #fff;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.content-latest-strip__button:hover{
  transform: translateY(-3px);
  border-color: rgba(214, 222, 222, 0.28);
}

.content-latest-strip__category{
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.66rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.content-latest-strip__button strong{
  display: -webkit-box;
  overflow: hidden;
  margin-top: 18px;
  font-family: var(--content-title-font);
  font-size: clamp(1.02rem, 1.2vw, 1.2rem);
  line-height: 1.12;
  letter-spacing: -0.025em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.content-featured-article{
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.88fr);
  gap: 28px;
  padding: 28px;
  border: 1px solid rgba(24, 39, 33, 0.08);
  border-radius: 28px;
  background: rgba(252, 251, 247, 0.84);
  box-shadow: 0 18px 50px rgba(17, 29, 25, 0.08);
}

.content-featured-article__image{
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  border-radius: 22px;
}

.content-featured-article__content{
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.content-featured-article__category{
  display: inline-flex;
  align-self: flex-start;
  margin-bottom: 14px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(63, 122, 96, 0.12);
  color: #2e5c49;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.content-featured-article__title{
  margin: 0;
  font-family: var(--content-title-font);
  font-size: clamp(2.5rem, 4.1vw, 4.6rem);
  line-height: 0.95;
  letter-spacing: -0.03em;
}

.content-featured-article__excerpt{
  margin: 18px 0 0;
  color: #455851;
  font-size: 1.08rem;
  line-height: 1.7;
}

.content-featured-article__meta{
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  margin-top: 22px;
  color: #5d6d66;
  font-size: 0.95rem;
}

.content-articles-grid{
  display: grid;
  align-items: stretch;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr));
  gap: 20px;
}

.content-article-card,
.content-news-card,
.content-news-showcase__card{
  position: relative;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--content-color-border);
  border-radius: var(--content-radius-lg);
  background:
    linear-gradient(180deg, rgba(35, 35, 35, 0.98), rgba(26, 26, 26, 0.98)),
    var(--content-color-surface);
  box-shadow: var(--content-shadow-card);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.content-article-card:hover,
.content-news-card:hover,
.content-news-showcase__card:hover{
  transform: translateY(-5px);
  border-color: rgba(9, 204, 126, 0.34);
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.28);
}

.content-article-card__image-wrap{
  overflow: hidden;
}

.content-article-card__image{
  width: 100%;
  height: 240px;
  object-fit: cover;
  transition: transform 220ms ease;
}

.content-article-card:hover .content-article-card__image{
  transform: scale(1.04);
}

.content-article-card__content,
.content-news-card__content{
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 286px;
  padding: 22px 22px 20px;
}

.content-article-card__category,
.content-news-card__category,
.content-news-detail__category{
  width: fit-content;
  margin-bottom: 12px;
  padding: 7px 10px;
  border-radius: 999px;
  background: var(--content-color-brand-soft);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.content-article-card__title,
.content-news-card__title,
.content-news-showcase__card-title{
  margin: 0;
  color: var(--content-color-text);
  font-family: var(--content-title-font);
  font-size: clamp(1.24rem, 1.5vw, 1.58rem);
  line-height: 1.12;
  letter-spacing: -0.032em;
}

.content-article-card__excerpt,
.content-news-card__excerpt,
.content-news-showcase__excerpt{
  margin: 13px 0 0;
  color: var(--content-color-text-soft);
  font-size: 0.94rem;
  line-height: 1.64;
}

.content-article-card__meta,
.content-news-card__meta,
.content-news-detail__meta{
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-top: auto;
  padding-top: 18px;
  color: var(--content-color-text-muted);
  font-size: 0.8rem;
  font-weight: 760;
}

.content-article-card__read-more{
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 16px;
  padding-top: 15px;
  border-top: 1px solid var(--content-color-divider);
  color: #fff;
  font-size: 0.88rem;
  font-weight: 850;
}

.content-image-frame{
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(13, 43, 47, 0.94), rgba(53, 99, 106, 0.78)),
    linear-gradient(180deg, var(--content-color-surface-alt), #dfe7e6);
}

.content-image-frame--landscape{
  aspect-ratio: 16 / 10;
}

.content-image-frame--card{
  aspect-ratio: 16 / 11;
  border-radius: 0;
}

.content-image-frame--hero{
  aspect-ratio: 16 / 11;
}

.content-image-frame__image{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.content-category-filter{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--content-color-border);
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(1, 51, 52, 0.92), rgba(25, 25, 25, 0.97)),
    var(--content-color-surface-dark);
  box-shadow: var(--content-shadow-soft);
}

.content-category-filter__button,
.content-news-showcase__tab{
  padding: 10px 16px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.88rem;
  font-weight: 780;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.content-category-filter__button:hover,
.content-news-showcase__tab:hover{
  transform: translateY(-1px);
  border-color: var(--content-color-brand-border);
  background: rgba(9, 204, 126, 0.12);
  color: #fff;
}

.content-category-filter__button.is-active,
.content-news-showcase__tab.is-active{
  border-color: rgba(9, 204, 126, 0.34);
  background: var(--content-color-brand);
  color: #03130c;
}

.content-category-section,
.content-related-news,
.content-editorial-info{
  position: relative;
  overflow: hidden;
  padding: 28px;
  border: 1px solid var(--content-color-border);
  border-radius: var(--content-radius-xl);
  background:
    linear-gradient(135deg, rgba(9, 204, 126, 0.08), transparent 40%),
    linear-gradient(180deg, rgba(32, 32, 32, 0.98), rgba(24, 24, 24, 0.98)),
    var(--content-color-surface);
  box-shadow: var(--content-shadow-card);
}

.content-category-section::before{
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--content-color-brand-strong), var(--content-color-brand), transparent);
}

.content-category-section__eyebrow,
.content-related-news__eyebrow{
  display: inline-flex;
  margin-bottom: 10px;
  padding: 7px 10px;
  border-radius: 999px;
  background: var(--content-color-brand-soft);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.content-category-section__title,
.content-related-news__title,
.content-editorial-info__title{
  margin: 0;
  color: #fff;
  font-family: var(--content-title-font);
  font-size: clamp(1.55rem, 2.2vw, 2.45rem);
  line-height: 1;
  letter-spacing: -0.05em;
}

.content-news-showcase{
  margin-top: clamp(46px, 7vw, 82px);
  scroll-margin-top: 112px;
}

.content-news-showcase__row{
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: end;
  margin-bottom: 22px;
  padding-top: 22px;
  border-top: 1px solid var(--content-color-divider);
}

.content-news-showcase__tabs{
  display: inline-flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--content-color-border);
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(1, 51, 52, 0.92), rgba(25, 25, 25, 0.97)),
    var(--content-color-surface-dark);
  box-shadow: var(--content-shadow-soft);
}

.content-news-showcase__carousel{
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 46px;
  gap: 14px;
  align-items: center;
}

.content-news-showcase__nav{
  display: inline-flex;
  width: 46px;
  height: 46px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--content-color-border);
  border-radius: 50%;
  background: rgba(32, 32, 32, 0.98);
  color: #fff;
  font-size: 1.8rem;
  line-height: 1;
}

.content-news-showcase__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.content-news-showcase__dots,
.content-collaborators__dots{
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 18px;
}

.content-news-showcase__dots button,
.content-collaborators__dot{
  width: 24px;
  height: 5px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(237, 237, 237, 0.18);
}

.content-news-showcase__dots button.is-active,
.content-collaborators__dot.is-active{
  width: 40px;
  background: var(--content-color-brand);
}

.content-news-detail-page__back-link,
.content-back-link{
  display: inline-flex;
  align-items: center;
  margin-bottom: 22px;
  padding: 10px 14px;
  border: 1px solid var(--content-color-border);
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(1, 51, 52, 0.98), rgba(9, 204, 126, 0.12) 34%, rgba(25, 25, 25, 0.96)),
    var(--content-color-surface-dark);
  color: #fff;
  font-size: 0.92rem;
  font-weight: 760;
  box-shadow: var(--content-shadow-soft);
}

.content-news-detail{
  padding: clamp(20px, 4vw, 42px);
  border: 1px solid var(--content-color-border);
  border-radius: var(--content-radius-xl);
  background:
    linear-gradient(180deg, rgba(32, 32, 32, 0.98), rgba(24, 24, 24, 0.98)),
    var(--content-color-surface);
  box-shadow: var(--content-shadow-card);
}

.content-news-detail__header{
  max-width: 850px;
}

.content-news-detail__title{
  margin: 0;
  color: #fff;
  font-family: var(--content-title-font);
  font-size: clamp(2.4rem, 5.2vw, 5.25rem);
  font-weight: 760;
  line-height: 0.92;
  letter-spacing: -0.065em;
  text-wrap: balance;
}

.content-news-detail__subtitle{
  max-width: 760px;
  margin: 22px 0 0;
  color: var(--content-color-text-soft);
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.68;
}

.content-news-detail__cover{
  margin-top: 34px;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.28);
}

.content-news-detail__body{
  max-width: 760px;
  margin: 40px auto 0;
}

.content-news-detail__section + .content-news-detail__section{
  margin-top: 34px;
}

.content-news-detail__section-title{
  margin: 0 0 14px;
  color: #fff;
  font-family: var(--content-title-font);
  font-size: clamp(1.55rem, 2.2vw, 2.15rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.content-news-detail__paragraph{
  margin: 0 0 18px;
  color: var(--content-color-text-soft);
  font-size: clamp(1.02rem, 1.15vw, 1.09rem);
  line-height: 1.86;
}

.content-news-detail__quote{
  margin: 38px 0;
  padding: 26px 28px;
  border-left: 5px solid var(--content-color-brand);
  border-radius: 0 24px 24px 0;
  background:
    linear-gradient(135deg, rgba(9, 204, 126, 0.08), transparent 50%),
    var(--content-color-surface-alt);
}

.content-news-detail__quote p{
  margin: 0;
  color: #fff;
  font-family: var(--content-title-font);
  font-size: clamp(1.22rem, 2vw, 1.55rem);
  line-height: 1.42;
}

.content-news-detail__highlights{
  display: grid;
  gap: 12px;
  padding: 0;
  list-style: none;
}

.content-news-detail__highlights li{
  padding: 14px 16px;
  border: 1px solid var(--content-color-border);
  border-radius: 16px;
  background: rgba(42, 42, 42, 0.96);
}

.content-editorial-info__header{
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.2fr);
  gap: 14px 28px;
  align-items: end;
  margin-bottom: 20px;
}

.content-editorial-info__grid,
.content-stats-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.content-editorial-info__card,
.content-stats-grid__card{
  min-height: 190px;
  padding: 18px;
  border: 1px solid var(--content-color-border);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(244, 248, 244, 0.96), rgba(234, 241, 236, 0.88)),
    #f7f8f2;
}

.content-editorial-info__card-title,
.content-stats-grid__value{
  margin: 34px 0 0;
  color: #0d2b2f;
  font-family: var(--content-title-font);
  font-size: clamp(1.5rem, 2.4vw, 2.25rem);
  line-height: 1;
}

.content-stats-grid__label{
  margin-top: 8px;
  color: #455851;
  font-size: 0.88rem;
  font-weight: 720;
  line-height: 1.5;
}

.content-audio-briefing{
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  max-width: 740px;
  margin-top: 24px;
  padding: 16px;
  border: 1px solid var(--content-color-border);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(9, 204, 126, 0.08), transparent 42%),
    rgba(28, 28, 28, 0.98);
  box-shadow: var(--content-shadow-soft);
}

.content-audio-briefing__play{
  display: inline-flex;
  width: 52px;
  height: 52px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: var(--content-color-brand);
  color: #013334;
  font-size: 1rem;
  box-shadow: 0 12px 26px rgba(32, 66, 52, 0.22);
}

.content-audio-briefing__track{
  position: relative;
  height: 8px;
  margin-top: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(237, 237, 237, 0.14);
}

.content-audio-briefing__progress{
  position: absolute;
  inset: 0 auto 0 0;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--content-color-brand), #12de8d);
}

.content-collaborators{
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: clamp(46px, 7vw, 84px);
  padding: 30px;
  border: 1px solid var(--content-color-border);
  border-radius: var(--content-radius-xl);
  background:
    linear-gradient(135deg, rgba(9, 204, 126, 0.08), transparent 36%),
    linear-gradient(180deg, rgba(32, 32, 32, 0.98), rgba(24, 24, 24, 0.98));
  box-shadow: var(--content-shadow-card);
}

.content-collaborators__header{
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: 24px;
  align-items: end;
}

.content-collaborators__title{
  max-width: 16ch;
  margin: 12px 0 0;
  color: #fff;
  font-family: var(--content-title-font);
  font-size: clamp(2.2rem, 4vw, 4.2rem);
  line-height: 0.94;
  letter-spacing: -0.055em;
}

.content-collaborators__summary{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--content-color-border);
  border-radius: 24px;
  background: rgba(20, 20, 20, 0.92);
}

.content-collaborators__summary-item{
  min-height: 96px;
  padding: 16px 14px;
  border-radius: 18px;
  background:
    radial-gradient(circle at top right, rgba(9, 204, 126, 0.2), transparent 46%),
    var(--content-color-surface-alt);
}

.content-collaborators__cards{
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}

.content-collaborators__card{
  display: flex;
  min-height: 100%;
  grid-column: span 2;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--content-color-border);
  border-radius: var(--content-radius-lg);
  background:
    linear-gradient(180deg, rgba(35, 35, 35, 0.98), rgba(26, 26, 26, 0.98)),
    var(--content-color-surface);
  box-shadow: var(--content-shadow-card);
}

.content-collaborators__image-frame{
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background:
    linear-gradient(135deg, rgba(25, 25, 25, 0.4), rgba(9, 204, 126, 0.14)),
    var(--content-color-surface-alt);
}

.content-collaborators__image{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.content-collaborators__content{
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 18px;
}

.content-footer{
  position: relative;
  z-index: 1;
  display: flex;
  width: min(1240px, calc(100% - 32px));
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 0 auto;
  padding: 34px 0 48px;
  border-top: 1px solid rgba(237, 237, 237, 0.1);
  color: var(--content-color-text-soft);
}

.content-footer__brand{
  color: #fff;
  font-family: var(--content-title-font);
  font-size: 1.55rem;
  letter-spacing: -0.035em;
}

.content-footer__text{
  max-width: 520px;
  margin: 8px 0 0;
  font-size: 0.95rem;
  line-height: 1.6;
}

.content-footer__note{
  color: var(--content-color-brand);
  font-size: 0.88rem;
  font-weight: 800;
}

@media (min-width: 1120px){
  .content-articles-grid{
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  }
}

@media (max-width: 1080px){
  .content-latest-strip,
  .content-featured-article,
  .content-news-showcase__carousel{
    grid-template-columns: 1fr;
  }

  .content-latest-strip__list,
  .content-news-showcase__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 960px){
  .content-editorial-hero{
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .content-collaborators__header{
    grid-template-columns: 1fr;
    align-items: start;
  }

  .content-collaborators__card{
    grid-column: span 3;
  }

  .content-editorial-info__grid,
  .content-stats-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px){
  .content-header,
  .content-footer{
    width: min(100% - 24px, 1240px);
  }

  .content-main-content,
  .content-home-main,
  .content-detail-main{
    width: min(100% - 24px, 1240px);
  }

  .content-section-header,
  .content-news-showcase__row{
    flex-direction: column;
    align-items: flex-start;
  }

  .content-category-section,
  .content-related-news,
  .content-editorial-info,
  .content-collaborators{
    padding: 20px;
    border-radius: 24px;
  }
}

@media (max-width: 760px){
  .content-collaborators__summary,
  .content-editorial-info__grid,
  .content-stats-grid{
    grid-template-columns: 1fr;
  }

  .content-collaborators__cards,
  .content-latest-strip__list,
  .content-news-showcase__grid,
  .content-articles-grid{
    grid-template-columns: 1fr;
  }

  .content-collaborators__card{
    grid-column: auto;
  }

  .content-audio-briefing{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px){
  .content-category-filter,
  .content-news-showcase__tabs{
    border-radius: 22px;
  }

  .content-category-filter__button,
  .content-news-showcase__tab{
    flex: 1 1 auto;
  }

  .content-latest-strip{
    padding: 16px;
    border-radius: 24px;
  }
}

@media (max-width: 620px){
  .content-editorial-hero{
    padding: 24px;
    border-radius: var(--content-radius-lg);
  }

  .content-editorial-hero::after{
    inset: 12px;
    border-radius: 22px;
  }

  .content-editorial-hero__actions a,
  .content-news-hero__primary{
    width: 100%;
  }
}

/* Trabalhe Conosco ========================================================== */
.talent-hero{
  position: relative;
  overflow: hidden;
  padding: clamp(56px, 8vw, 88px) 0 72px;
  background:
    radial-gradient(circle at 14% 12%, rgba(22, 163, 115, .18), transparent 26%),
    radial-gradient(circle at 88% 10%, rgba(16, 128, 120, .16), transparent 24%),
    linear-gradient(180deg, #07110f 0%, #091614 44%, #0a1614 100%);
}

.talent-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(116, 255, 196, .07) 1px, transparent 1px),
    linear-gradient(180deg, rgba(116, 255, 196, .07) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: .4;
  pointer-events: none;
}

.talent-hero::after{
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(7,17,15,.14), rgba(7,17,15,.34)),
    radial-gradient(circle at center, transparent 42%, rgba(7,17,15,.2) 100%);
  pointer-events: none;
}

.talent-page{
  position: relative;
  z-index: 1;
  display: grid;
  gap: clamp(24px, 4vw, 38px);
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.talent-hero__shell,
.talent-info-card,
.talent-redirect-card{
  position: relative;
  border: 1px solid rgba(91, 227, 173, .18);
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(8, 18, 15, .88), rgba(8, 17, 15, .82)),
    rgba(8, 16, 13, .84);
  box-shadow:
    0 22px 60px rgba(0, 0, 0, .24),
    inset 0 1px 0 rgba(255,255,255,.03);
  backdrop-filter: blur(6px);
}

.talent-hero__shell{
  padding: clamp(32px, 5vw, 56px);
}

.talent-hero__shell--gateway{
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .85fr);
  gap: clamp(24px, 4vw, 42px);
  align-items: stretch;
}

.talent-hero__content,
.talent-hero__panel,
.talent-redirect-card__copy{
  display: grid;
  gap: 18px;
}

.talent-hero__badge,
.talent-chip,
.talent-info-card__eyebrow{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid rgba(91, 227, 173, .28);
  background: rgba(8, 55, 43, .6);
  color: #a8f0cb;
  font-family: "Rajdhani", "Inter", sans-serif;
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.talent-hero__content h1,
.talent-info-card h2,
.talent-hero__panel h2,
.talent-redirect-card h2{
  margin: 0;
  color: #f7faf8;
  font-family: "Oxanium", "Rajdhani", sans-serif;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.05em;
  text-wrap: balance;
}

.talent-hero__content h1{
  font-size: clamp(2.5rem, 4vw, 4.4rem);
}

.talent-info-card h2,
.talent-hero__panel h2,
.talent-redirect-card h2{
  font-size: clamp(1.5rem, 2.6vw, 2.5rem);
}

.talent-hero__lead,
.talent-info-card p,
.talent-hero__panel p,
.talent-redirect-card p{
  margin: 0;
  color: rgba(238, 246, 241, .9);
  font-size: clamp(1rem, 1.4vw, 1.08rem);
  line-height: 1.72;
}

.talent-hero__actions,
.talent-redirect-card__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.talent-hero__panel{
  align-content: start;
  padding: clamp(24px, 3vw, 32px);
  border-radius: 24px;
  border: 1px solid rgba(91, 227, 173, .18);
  background:
    linear-gradient(180deg, rgba(14, 32, 27, .92), rgba(9, 22, 18, .9)),
    rgba(6, 15, 13, .86);
}

.talent-checklist{
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.talent-checklist li{
  position: relative;
  padding-left: 30px;
  color: rgba(222, 232, 226, .88);
  line-height: 1.66;
}

.talent-checklist li::before{
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: linear-gradient(180deg, #72efc2, #19c37d);
  box-shadow: 0 0 0 6px rgba(25, 195, 125, .12);
}

.talent-info-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.talent-info-card{
  display: grid;
  gap: 14px;
  padding: clamp(24px, 3vw, 34px);
}

.talent-redirect-card{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(24px, 4vw, 38px);
}

@media (max-width: 1120px){
  .talent-hero__shell--gateway,
  .talent-redirect-card,
  .talent-info-grid{
    grid-template-columns: 1fr;
  }

  .talent-redirect-card__actions{
    justify-content: flex-start;
  }
}

@media (max-width: 760px){
  .talent-hero{
    padding-top: 42px;
  }

  .container--wide{
    width: min(100% - 24px, 1380px);
  }

  .talent-hero__shell,
  .talent-info-card,
  .talent-redirect-card{
    border-radius: 28px;
    padding: 22px;
  }

  .talent-hero__panel{
    padding: 22px;
  }

  .talent-hero__content h1{
    max-width: 100%;
    font-size: clamp(2.7rem, 11vw, 4rem);
  }

  .talent-hero__actions .btn,
  .talent-redirect-card__actions .btn{
    width: 100%;
  }
}

/* Responsive hardening: sections after technologies ======================= */
html,
body{
  max-width: 100%;
  overflow-x: hidden;
}

body,
main,
.section,
.section > .container,
.training-section,
.training-intro,
.training-panel,
.training-results,
.training-intro__content,
.training-intro__highlights,
.training-journey-grid,
.training-fit-grid,
.training-structure-grid,
.gallery-full,
.gallery-carousel,
.contact-grid,
.contact-stack,
.contact-card,
.contact-map,
.footer,
.footer__content{
  max-width: 100%;
  box-sizing: border-box;
}

.section > .container,
.training-intro,
.training-panel,
.training-results,
.training-highlight-card,
.training-fit-card,
.training-structure-card,
.training-flow-card,
.training-result-card,
.contact-card,
.contact-map{
  min-width: 0;
}

.training-intro,
.training-panel,
.training-results{
  overflow: visible;
}

.training-intro > *,
.training-panel > *,
.training-results > *,
.training-highlight-card > *,
.training-fit-card > *,
.training-structure-card > *,
.training-flow-card > *,
.contact-card > *,
.contact-card__content,
.contact-card__actions,
.contact-social{
  min-width: 0;
}

.training-intro__content,
.training-panel__head,
.training-results__head{
  width: 100%;
  grid-template-columns: minmax(0, 1fr);
}

.section__head h2,
.training-intro__content h2,
.training-panel__head h3,
.training-results__head h3,
.training-highlight-card strong,
.training-fit-card h4,
.training-structure-card h4,
.training-flow-card h4,
.contact-card__content strong,
.contact-link,
.contact-card__email,
.social-pill{
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: normal;
}

.training-intro__text,
.training-intro__lead,
.training-panel__head p,
.training-highlight-card p,
.training-fit-card p,
.training-structure-card p,
.training-flow-card p,
.training-result-card,
.contact-card__content p,
.contact-map__head,
.contact-map__link{
  max-width: 100%;
  overflow-wrap: anywhere;
}

.training-panel__head h3,
.training-panel__head p,
.training-results__head h3,
.training-results__head p{
  grid-column: auto;
}

.training-highlight-card,
.training-fit-card,
.training-structure-card,
.contact-card{
  height: auto;
  min-height: 0;
}

@media (max-width: 1024px){
  .training-intro{
    grid-template-columns: 1fr;
  }

  .training-journey-grid,
  .training-fit-grid,
  .training-structure-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-grid{
    grid-template-columns: 1fr;
    align-items: start;
  }

  .contact-grid__item,
  .contact-map{
    width: 100%;
  }
}

@media (max-width: 768px){
  .section{
    padding-block: clamp(30px, 8vw, 54px);
  }

  .section > .container{
    width: min(100% - 28px, var(--maxw));
    padding: clamp(18px, 5vw, 24px);
    border-radius: 24px;
  }

  .section__head,
  #capacitacao .section__head,
  .section--contact .section__head{
    width: 100%;
    max-width: 100%;
  }

  .section__head h2{
    display: inline-block;
    max-width: 100%;
    font-size: clamp(2.1rem, 12vw, 3.4rem);
    line-height: .95;
    letter-spacing: 0;
    overflow-wrap: break-word;
  }

  .training-section{
    gap: 18px;
    margin-top: 0;
  }

  .training-intro,
  .training-panel,
  .training-results{
    width: 100%;
    padding: clamp(18px, 5.6vw, 24px);
    border-radius: 22px;
  }

  .training-intro__content h2{
    font-size: clamp(2.1rem, 11vw, 3.2rem);
    line-height: .98;
    letter-spacing: 0;
  }

  .training-intro__lead{
    font-size: clamp(1rem, 5vw, 1.25rem);
    line-height: 1.35;
  }

  .training-intro__cta,
  .footer-cta .btn,
  .contact-map .btn--ghost{
    width: 100%;
    min-width: 0;
    justify-content: center;
  }

  .training-panel__head,
  .training-results__head{
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: 16px;
  }

  .training-panel__head h3,
  .training-results__head h3{
    width: 100%;
    max-width: 100%;
    font-size: clamp(1.7rem, 8vw, 2.45rem);
    line-height: 1;
    letter-spacing: 0;
  }

  .training-journey-grid,
  .training-fit-grid,
  .training-structure-grid,
  .contact-grid{
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .training-journey-grid::before{
    display: none;
  }

  .training-highlight-card,
  .training-fit-card,
  .training-structure-card{
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    padding: 16px;
    border-radius: 18px;
  }

  .training-flow-card,
  .training-result-card{
    min-height: auto;
    padding: 18px 16px;
    border-radius: 18px;
  }

  .training-icon,
  .training-fit-card__icon,
  .training-structure-card__icon,
  .training-flow-card__icon{
    width: 48px;
    height: 48px;
    border-radius: 16px;
    flex: 0 0 48px;
  }

  .gallery-full{
    margin-top: 18px;
  }

  .gallery-carousel,
  .gallery-track,
  .gallery-track img{
    max-width: 100%;
  }

  .gallery-track img{
    height: clamp(210px, 62vw, 300px);
  }

  .contact-grid{
    margin-top: 14px;
  }

  .contact-stack{
    gap: 14px;
    padding: 0;
  }

  .contact-card{
    width: 100%;
    padding: 16px;
    border-radius: 18px;
  }

  .contact-card__actions,
  .contact-social{
    align-items: stretch;
  }

  .social-pill,
  .contact-copy{
    min-width: 0;
  }

  .contact-map{
    padding: 16px;
    border-radius: 18px;
  }

  .contact-map__head{
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: start;
  }

  .contact-map__link{
    width: 100%;
    justify-content: center;
    white-space: normal;
  }

  .map{
    min-height: 220px;
  }

  .map iframe,
  .map-shell{
    height: 220px;
  }

  .contact-map .map,
  .contact-map .map iframe{
    min-height: 220px;
    height: 220px;
  }
}

@media (max-width: 480px){
  .section{
    padding-block: 28px;
  }

  .section > .container{
    width: min(100% - 22px, var(--maxw));
    padding: 16px;
    border-radius: 20px;
  }

  .section__head h2,
  .training-intro__content h2{
    width: 100%;
    font-size: clamp(2rem, 11vw, 2.75rem);
    line-height: 1;
  }

  .training-panel__head h3,
  .training-results__head h3{
    font-size: clamp(1.55rem, 7.5vw, 2rem);
    line-height: 1.06;
  }

  .section-chip,
  .training-kicker{
    max-width: 100%;
    white-space: normal;
    line-height: 1.25;
    text-align: left;
  }

  .training-intro,
  .training-panel,
  .training-results{
    padding: 16px;
  }

  .training-highlight-card,
  .training-fit-card,
  .training-structure-card,
  .contact-card{
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .training-highlight-card strong,
  .training-fit-card h4,
  .training-structure-card h4,
  .training-flow-card h4,
  .training-highlight-card p,
  .training-fit-card p,
  .training-structure-card p,
  .training-flow-card p{
    grid-column: auto;
  }

  .training-icon,
  .training-fit-card__icon,
  .training-structure-card__icon,
  .training-flow-card__icon,
  .contact-card__icon{
    width: 44px;
    height: 44px;
    border-radius: 14px;
  }

  .contact-card__actions,
  .contact-social{
    flex-direction: column;
    gap: 10px;
  }

  .social-pill,
  .contact-copy,
  .contact-link{
    width: 100%;
  }

  .contact-link{
    display: block;
  }

  .floating-contact{
    width: 50px;
    height: 50px;
    right: calc(14px + env(safe-area-inset-right, 0px));
    bottom: calc(18px + env(safe-area-inset-bottom, 0px));
    transform: none;
    z-index: 80;
  }

  .floating-contact::before,
  .floating-contact::after{
    display: none;
  }

  .floating-contact:hover,
  .floating-contact:focus-visible,
  .floating-contact:active{
    transform: none;
  }

  .floating-contact--chatbot{
    display: none;
  }

  .floating-contact svg{
    width: 23px;
    height: 23px;
  }
}

@media (max-width: 380px){
  .section > .container{
    width: min(100% - 18px, var(--maxw));
    padding: 14px;
  }

  .training-highlight-card,
  .training-fit-card,
  .training-structure-card,
  .training-flow-card,
  .training-result-card,
  .contact-card,
  .contact-map{
    padding: 14px;
  }
}
