/* ==========================================================
   ARMAC — TRAINEE LANDING (Figma: Untitled / node 1-2)
   Base de design: 1920px. Tokens exatos do arquivo.
   ========================================================== */
:root{
  --navy-dark:#031D66;
  --header:#1A50E6;
  --navy:#002A9A;
  --blue:#154DE9;
  --blue-btn:#0D41D0;
  --green:#00A844;
  --lime:#C4E90D;

  --font:'Axiforma','Poppins',system-ui,sans-serif;
  --mont:'Montserrat',sans-serif;

  /* margem lateral do design = 10.67% de 1920 */
  --mx:clamp(20px, 10.67vw, 205px);
  --mx-narrow:clamp(20px, 4vw, 80px);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font);
  background:var(--navy-dark);
  color:#fff;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
section,header,footer{width:100%;}
.header-in,.conheca-inner,.stats-inner,.bene-inner,.photo-module .content-cap,.footer-in{max-width:1920px;margin-left:auto;margin-right:auto;}
img{display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}

/* Tipografia — valores do Figma escalados por viewport */
.h-heavy{font-weight:900;font-size:clamp(34px,3.49vw,67px);line-height:1.045;}
.txt{font-size:clamp(16px,1.354vw,26px);line-height:1.394;font-weight:400;}
.txt-semi{font-size:clamp(16px,1.354vw,26px);line-height:1.394;font-weight:600;}

.wrap{padding-left:var(--mx);padding-right:var(--mx);}

/* ================= HEADER ================= */
header{
  position:sticky;top:0;z-index:50;
  background:var(--header);
  height:clamp(64px,7.03vw,135px);
  display:flex;align-items:center;
}
.header-in{
  width:100%;
  display:flex;align-items:center;
  padding-left:clamp(20px,13.96vw,268px);
  padding-right:clamp(20px,13.3vw,256px);
  gap:24px;
}
.brand{display:flex;align-items:center;flex-shrink:0;}
.logo-svg{width:clamp(130px,9.9vw,190px);height:auto;display:block;}
nav.menu{
  display:flex;align-items:center;gap:clamp(16px,1.46vw,28px);
  margin-left:auto;margin-right:clamp(16px,2vw,38px);
  font-size:clamp(14px,1.01vw,19.4px);
}
nav.menu a:hover{text-decoration:underline;text-underline-offset:6px;}
nav.menu .only-mobile{display:none;}
.btn-green{
  background:var(--green);
  border-radius:10px;
  width:clamp(140px,9.9vw,190px);
  height:clamp(40px,2.66vw,51px);
  font-size:clamp(14px,1.01vw,19.4px);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  transition:filter .2s;
}
.btn-green:hover{filter:brightness(1.1);}
.hamb{display:none;width:44px;height:44px;position:relative;flex-shrink:0;margin-left:auto;}
.hamb span{display:block;width:26px;height:2px;background:#fff;margin:6px auto;transition:.25s;}
.hamb[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.hamb[aria-expanded="true"] span:nth-child(2){opacity:0;}
.hamb[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

/* ================= BOTÃO CTA AZUL ================= */
.btn-cta{
  background:var(--blue-btn);
  border-radius:clamp(14px,1.13vw,21.7px);
  width:min(529px,100%);
  height:clamp(58px,4.29vw,82.4px);
  font-weight:600;
  font-size:clamp(18px,1.46vw,28.1px);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:transform .2s,filter .2s;
}
.btn-cta:hover{transform:translateY(-2px);filter:brightness(1.12);}

/* ================= HERO / CTA FINAL (módulos com foto) ================= */
.photo-module{
  position:relative;
  background:var(--green);
  min-height:clamp(520px,41.6vw,800px);
  display:flex;align-items:center;
  overflow:hidden;
}
.photo-module .bg{
  position:absolute;inset:0;
  background-size:cover;background-repeat:no-repeat;
}
.hero .bg{background-image:url("../img/hero-banner.jpg");background-position:center;}
.hero .bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.55) 80%);
}
.selo-programa{
  position:absolute;
  z-index:2;
  left:30%;
  top:60%;
  width:clamp(70px,8vw,130px);
  height:auto;
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.35));
}
.cta-final .bg{background-image:url("../img/final-operadores.jpg");background-position:center 30%;}
.cta-final .bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,0) 32%,rgba(0,0,0,.68) 55%,rgba(0,0,0,1) 76%);
}
.photo-module .content{
  position:relative;z-index:2;width:100%;
  padding-left:50%;
  padding-right:var(--mx-narrow);
  padding-top:clamp(56px,5.2vw,100px);
  padding-bottom:clamp(56px,5.2vw,100px);
}
.hero .subtitle{
  font-weight:800;
  font-size:clamp(20px,1.957vw,37.6px);
  line-height:1.045;
  margin-top:clamp(10px,.8vw,16px);
}
.photo-module .txt-semi{
  margin-top:clamp(24px,2.7vw,52px);
  margin-bottom:clamp(26px,2.4vw,46px);
  max-width:725px;
}

/* ================= CONHEÇA A ARMAC ================= */
.conheca{background:var(--blue);padding:clamp(60px,6vw,116px) 0 clamp(70px,6.5vw,125px);}
.conheca{--conheca-x:clamp(20px,13.4vw,257px);}
.conheca h2{margin-left:var(--conheca-x);}
.conheca-subtitle{
  margin-left:var(--conheca-x);
  margin-right:var(--conheca-x);
  margin-top:clamp(10px,1.2vw,20px);
  font-size:clamp(17px,1.6vw,28px);
  font-weight:600;
  line-height:1.35;
  color:#fff;
}
.conheca-cols{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(28px,4.9vw,95px);
  padding:0 var(--conheca-x);
  margin-top:clamp(34px,3.6vw,70px);
}
.hairline{border:none;border-top:1px solid rgba(255,255,255,.95);margin:clamp(44px,4.9vw,95px) var(--mx) 0;}

/* Carrossel de cards */
.cards-zone{position:relative;margin-top:clamp(44px,4.5vw,87px);padding:0 var(--mx);}
.cards-track{
  --card-gap:clamp(18px,2.82vw,54px);
  display:flex;
  gap:var(--card-gap);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:0 0 10px;
  scrollbar-width:none;
}
.cards-track::-webkit-scrollbar{display:none;}
.card{
  scroll-snap-align:start;
  flex:0 0 calc((100% - 2*var(--card-gap))/3);
  background:var(--navy);
  border-radius:clamp(18px,1.4vw,27px);
  padding:clamp(20px,1.68vw,32px) clamp(20px,1.68vw,32px) clamp(26px,2.4vw,46px);
  display:flex;flex-direction:column;
}
.card-img{
  width:100%;
  aspect-ratio:411/274;
  border-radius:clamp(14px,1.18vw,23px);
  overflow:hidden;
  flex-shrink:0;
}
.card-img img{width:100%;height:100%;object-fit:cover;}
.card h3{
  font-weight:900;
  font-size:clamp(21px,1.54vw,29.6px);
  line-height:1.25;
  margin-top:clamp(20px,2.4vw,46px);
  min-height:clamp(52px,3.8vw,74px);
  display:flex;align-items:flex-end;
}
.card p{
  font-size:clamp(15px,1.283vw,24.6px);
  line-height:1.45;
  margin-top:clamp(14px,1.6vw,30px);
}

/* setas */
.arrow{
  position:absolute;
  top:clamp(140px,15.5vw,300px);
  width:clamp(42px,2.8vw,54px);
  height:clamp(42px,2.8vw,54px);
  border-radius:50%;
  border:2.7px solid var(--green);
  color:var(--green);
  font-family:var(--mont);
  font-weight:700;
  font-size:clamp(22px,1.68vw,32px);
  display:flex;align-items:center;justify-content:center;
  background:transparent;
  z-index:5;
  transition:background .2s,color .2s,transform .2s;
  line-height:1;
  padding-bottom:4px;
}
.arrow:hover{background:var(--green);color:#fff;transform:scale(1.06);}
.arrow.prev{left:clamp(10px,3.85vw,74px);}
.arrow.next{right:clamp(10px,3.72vw,72px);}

/* ================= SERVIMOS COM EXCELÊNCIA ================= */
.stats{background:var(--green);padding:clamp(60px,5.6vw,108px) 0 clamp(70px,6vw,115px);}
.stats h2{text-align:center;}
.stats-row{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:34px 30px;
  padding:0 clamp(20px,15.7vw,301px);
  margin-top:clamp(44px,6.2vw,120px);
}
.stat .num{font-weight:900;font-size:clamp(30px,2.6vw,46px);line-height:1.045;white-space:nowrap;}
.stat .count{font-variant-numeric:tabular-nums;}
.stat .cap{
  font-size:clamp(14px,1.354vw,26px);
  margin-top:6px;
  padding-left:clamp(6px,1vw,19px);
}
.valores{margin-top:clamp(52px,4.8vw,92px);padding:0 var(--mx);}
.kicker{font-size:clamp(15px,1.354vw,26px);letter-spacing:.01em;}
.valores hr, .etapas hr{border:none;border-top:1px solid #fff;margin:clamp(10px,.78vw,15px) 0 clamp(28px,2.55vw,49px);}
.valores-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:clamp(40px,12.5vw,240px);
  row-gap:clamp(28px,2.4vw,46px);
}
.valor h4{font-weight:700;font-size:clamp(17px,1.354vw,26px);line-height:1.08;margin-bottom:clamp(8px,.83vw,16px);}
.valor p{font-size:clamp(15px,1.354vw,26px);line-height:1.3;}

/* ================= NÓS SOMOS FEITOS DE GENTE ================= */
.pessoas{background:var(--blue);padding:clamp(60px,6vw,116px) 0 clamp(70px,6.5vw,125px);}
.pessoas-head{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(28px,4.9vw,95px);
  padding:0 var(--mx);
  align-items:start;
}
.pessoas-head .txt{padding-top:clamp(4px,.6vw,10px);}
.pessoas-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(28px,4.9vw,95px);
  padding:0 var(--mx);
  margin-top:clamp(34px,3.6vw,70px);
}
.pessoas-col .txt{margin-bottom:clamp(20px,2.2vw,34px);}
.pessoas-col .txt:last-child{margin-bottom:0;}
.pessoas-col .txt strong{font-weight:700;}

/* ================= REQUISITOS E BENEFÍCIOS ================= */
.beneficios{background:var(--navy);padding:clamp(64px,8.3vw,159px) 0 clamp(70px,7vw,135px);}
.bene-top{
  display:grid;
  grid-template-columns:minmax(0,36.15vw) minmax(0,1fr);
  gap:clamp(28px,6.1vw,118px);
  align-items:start;
  padding-left:clamp(20px,8.75vw,168px);
  padding-right:var(--mx-narrow);
}
.foto-trainees{
  border-radius:25px;
  overflow:hidden;
  aspect-ratio:694/645;
}
.foto-trainees img{width:100%;height:100%;object-fit:cover;object-position:center;}
.bene-info h2{max-width:672px;}
.checklist{list-style:none;margin-top:clamp(26px,2.9vw,56px);display:flex;flex-direction:column;gap:clamp(14px,.83vw,16px);}
.checklist li{
  display:flex;align-items:center;
  gap:clamp(14px,1.35vw,26px);
  font-size:clamp(15px,1.354vw,26px);
  line-height:1.25;
}
.check{
  width:clamp(34px,2.5vw,48px);height:clamp(34px,2.5vw,48px);
  flex-shrink:0;
}
.check svg{width:100%;height:100%;display:block;}
.check circle{
  fill:rgba(0,168,68,0);
  stroke:var(--green);
  stroke-width:3;
  transition:fill .45s ease .12s;
}
.check path{
  fill:none;
  stroke:#fff;
  stroke-width:4.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:30;
  stroke-dashoffset:30;
  transition:stroke-dashoffset .5s ease .38s;
}
.checklist li.checked .check circle{fill:rgba(0,168,68,1);}
.checklist li.checked .check path{stroke-dashoffset:0;}
@media (prefers-reduced-motion:reduce){
  .check circle,.check path{transition:none;}
}
.salario{
  font-weight:900;
  font-size:clamp(36px,3.49vw,67px);
  margin-top:clamp(26px,3vw,58px);
}
.salario span{font-variant-numeric:tabular-nums;}

/* Carrossel de benefícios */
.bene-zone{position:relative;margin-top:clamp(56px,7.4vw,143px);}
.bene-zone{padding:0 clamp(64px,7.3vw,140px);}
.bene-track{
  --bene-gap:clamp(10px,1vw,20px);
  display:flex;
  gap:var(--bene-gap);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:0 0 8px;
  scrollbar-width:none;
}
.bene-track::-webkit-scrollbar{display:none;}
.bene{
  scroll-snap-align:start;
  flex:0 0 calc((100% - 4*var(--bene-gap))/5);
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.bene-circle{
  width:clamp(104px,7.83vw,150px);
  height:clamp(104px,7.83vw,150px);
  border-radius:50%;
  border:2.7px solid var(--lime);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.bene-circle svg{width:56%;height:56%;fill:#fff;}
.bene-circle .tp-svg{width:58%;height:auto;display:block;}
.bene p{
  font-family:var(--mont);font-weight:700;
  font-size:clamp(13px,.98vw,18.8px);
  line-height:1.4;
  margin-top:clamp(14px,1.2vw,23px);
  max-width:280px;
}
.bene-zone .arrow{top:clamp(26px,2.6vw,50px);}

/* Etapas */
.etapas{margin-top:clamp(56px,6.5vw,125px);padding:0 var(--mx);}
.etapas-row{
  display:flex;flex-wrap:wrap;
  justify-content:space-between;
  gap:34px 28px;
  margin-top:clamp(26px,3.5vw,68px);
}
.etapa .n{
  color:var(--green);
  font-weight:700;
  font-size:clamp(28px,2.19vw,42px);
  line-height:.9;
}
.etapa .l{
  font-size:clamp(14px,1.354vw,26px);
  line-height:1.394;
  margin-top:clamp(6px,.6vw,12px);
  white-space:pre-line;
}

/* ================= FOOTER ================= */
footer{background:var(--navy-dark);padding:clamp(36px,3vw,58px) 0;}
.footer-in{
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;flex-wrap:wrap;
  padding-left:clamp(20px,17.7vw,340px);
  padding-right:clamp(20px,17.5vw,335px);
}
.copy{font-weight:300;font-size:clamp(15px,1.25vw,24px);}

/* ================= RESPONSIVO ================= */
@media (max-width:1024px){
  .conheca-cols{grid-template-columns:1fr;padding:0 var(--mx-narrow);}
  .pessoas-head{grid-template-columns:1fr;padding:0 var(--mx-narrow);gap:16px;}
  .pessoas-grid{grid-template-columns:1fr;padding:0 var(--mx-narrow);}
  .conheca{--conheca-x:var(--mx-narrow);}
  .hairline{margin-left:var(--mx-narrow);margin-right:var(--mx-narrow);}
  .cards-zone{padding:0 var(--mx-narrow);}
  .valores{padding:0 var(--mx-narrow);}
  .etapas{padding:0 var(--mx-narrow);}
  .stats-row{padding:0 var(--mx-narrow);}
  .bene-top{grid-template-columns:1fr;padding:0 var(--mx-narrow);}
  .foto-trainees{max-width:640px;}
  .bene{flex:0 0 calc((100% - 2*var(--bene-gap))/3);}
  .card{flex-basis:calc((100% - var(--card-gap))/2);}
}

@media (max-width:760px){
  header{height:72px;}
  .header-in{padding-left:20px;padding-right:20px;}
  .hamb{display:block;}
  nav.menu{
    position:fixed;top:72px;left:0;right:0;
    background:var(--navy-dark);
    flex-direction:column;align-items:stretch;gap:0;
    margin:0;padding:6px 0 18px;
    transform:translateY(-140%);
    transition:transform .28s ease;
    box-shadow:0 22px 44px rgba(0,0,0,.45);
    z-index:49;
  }
  nav.menu.open{transform:translateY(0);}
  nav.menu a{padding:14px 24px;font-size:17px;}
  nav.menu .only-mobile{display:flex;margin:12px 24px 0;width:auto;}
  .btn-green.only-desktop{display:none;}

  .photo-module{min-height:0;display:block;}
  .photo-module .bg{position:relative;height:64vw;min-height:260px;}
  .hero .bg{background-position:center top;}
  .hero .bg::after, .cta-final .bg::after{
    background:linear-gradient(180deg,rgba(0,0,0,0) 45%,var(--navy-dark) 100%);
  }
  .photo-module .content{
    padding:26px 20px 54px;
    background:var(--navy-dark);
  }
  .photo-module .txt-semi{margin-top:18px;margin-bottom:26px;}
  .btn-cta{width:100%;}

  .valores-grid{grid-template-columns:1fr;}
  .stats-row{grid-template-columns:1fr;}
  .etapas-row{justify-content:flex-start;}
  .etapa{flex:1 1 40%;}
  .card{flex-basis:100%;}
  .card h3{min-height:0;}
  .bene{flex:0 0 46vw;}
  .bene-zone{padding:0 20px;}
  .arrow{display:none;}
}
