/* ============================================================
   ZARTTE BRASÍLIA — home.css
   ============================================================ */

/* ---- HERO ---- */
.hero {
  position:relative; min-height:100vh;
  display:flex; align-items:center;
  overflow:hidden; background:var(--preto);
}
.hero__bg {
  position:absolute; inset:0;
  background:var(--preto3);
}
.hero__bg-slide {
  position:absolute; inset:0;
  background-size:cover; background-position:center center;
  opacity:0;
  animation:heroBgSlide 24s infinite;
}
.hero__bg-slide:nth-child(1) {
  background-image:url('imagens/linhas/max-curves/hero.png');
  animation-delay:0s;
}
.hero__bg-slide:nth-child(2) {
  background-image:url('imagens/linhas/metalclear/hero.png');
  animation-delay:8s;
}
.hero__bg-slide:nth-child(3) {
  background-image:url('imagens/linhas/pro-fuzion/hero.png');
  animation-delay:16s;
}
@keyframes heroBgSlide {
  0%   { opacity:0; }
  4%   { opacity:1; }
  29%  { opacity:1; }
  33%  { opacity:0; }
  100% { opacity:0; }
}
.hero__bg::after {
  content:'';
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(
    100deg,
    rgba(0,0,0,0.92) 0%,
    rgba(0,0,0,0.78) 35%,
    rgba(0,0,0,0.45) 65%,
    rgba(0,0,0,0.25) 100%
  );
}
.hero__ruido {
  position:absolute; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  background-size:200px;
  pointer-events:none; z-index:1;
}
.hero__inner {
  position:relative; z-index:2;
  display:grid; grid-template-columns:1fr auto;
  align-items:center; gap:60px;
  padding-top:100px; padding-bottom:80px;
}
.hero__kicker {
  font-size:0.65rem; letter-spacing:4px;
  text-transform:uppercase; color:var(--cinza);
  margin-bottom:28px; display:block;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.hero__titulo {
  font-size:clamp(5rem,11vw,10rem);
  line-height:0.88; margin-bottom:28px;
}
.hero__titulo em {
  font-style:normal;
  -webkit-text-stroke:1px var(--branco);
  color:transparent;
}
.hero__desc {
  font-size:clamp(0.95rem,1.3vw,1.05rem);
  color:var(--cinza); max-width:420px;
  line-height:1.7; margin-bottom:44px;
}
.hero__btns { display:flex; gap:14px; flex-wrap:wrap; }

.hero__card-prox {
  background:rgba(10,10,10,0.55);
  border:1px solid rgba(255,255,255,0.15);
  padding:32px 36px; min-width:260px;
  backdrop-filter:blur(16px);
  box-shadow:0 24px 60px rgba(0,0,0,0.5);
}
.hero__card-label {
  display:flex; align-items:center; gap:10px;
  font-size:0.6rem;
  letter-spacing:3px; text-transform:uppercase;
  color:var(--cinza); margin-bottom:16px;
}
.hero__card-label::before {
  content:''; width:6px; height:6px; border-radius:50%;
  background:#25d366; flex-shrink:0;
  box-shadow:0 0 0 3px rgba(37,211,102,0.2);
}
.hero__card-titulo {
  display:block; font-family:'Bebas Neue', sans-serif;
  font-size:2.2rem; letter-spacing:0.04em; margin-bottom:8px;
}
.hero__card-data {
  display:block; font-size:0.8rem;
  color:var(--cinza); margin-bottom:24px;
}
.hero__card-link {
  display:flex; align-items:center; justify-content:space-between;
  font-size:0.68rem; letter-spacing:2.5px;
  text-transform:uppercase; color:var(--branco);
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  padding:12px 18px;
  transition:background 0.25s, gap 0.2s; gap:8px;
}
.hero__card-link:hover { background:rgba(255,255,255,0.12); }

/* Selo "produto destaque" sobre a foto */
.hero__selo {
  position:absolute; top:120px; right:6%;
  z-index:2; height:40px; width:240px;
}
.hero__selo-item {
  position:absolute; top:0; right:0;
  display:flex; flex-direction:column; align-items:flex-end;
  text-align:right; text-decoration:none;
  white-space:nowrap; opacity:0; pointer-events:none;
  animation:heroSeloSlide 24s infinite;
  transition:opacity 0.6s ease;
}
.hero__selo-item:hover { opacity:0.65 !important; }
.hero__selo-item:nth-child(1) { animation-delay:0s; }
.hero__selo-item:nth-child(2) { animation-delay:8s; }
.hero__selo-item:nth-child(3) { animation-delay:16s; }
@keyframes heroSeloSlide {
  0%   { opacity:0; pointer-events:none; }
  4%   { opacity:1; pointer-events:all; }
  29%  { opacity:1; pointer-events:all; }
  33%  { opacity:0; pointer-events:none; }
  100% { opacity:0; pointer-events:none; }
}
.hero__selo-label {
  font-size:0.6rem; letter-spacing:4px;
  text-transform:uppercase; color:rgba(255,255,255,0.5);
  margin-bottom:6px;
}
.hero__selo-nome {
  font-family:'Bebas Neue', sans-serif;
  font-size:1.4rem; letter-spacing:0.06em;
  color:rgba(255,255,255,0.85);
}
@media (max-width:960px) {
  .hero__selo { display:none; }
}

.hero__scroll {
  position:absolute; bottom:36px; left:50%;
  transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:10px;
  z-index:3;
}
.hero__scroll span {
  font-size:0.58rem; letter-spacing:3px;
  text-transform:uppercase; color:var(--cinza);
}
.hero__scroll-line {
  width:1px; height:48px; background:rgba(255,255,255,0.2);
  position:relative; overflow:hidden;
}
.hero__scroll-line::after {
  content:''; position:absolute;
  top:-100%; left:0; width:100%; height:100%;
  background:var(--branco);
  animation:scrollLine 1.8s ease-in-out infinite;
}
@keyframes scrollLine {
  0%   { top:-100%; }
  50%  { top:0; }
  100% { top:100%; }
}

/* ---- NUMEROS ---- */
.numeros {
  border-top:1px solid var(--linha);
  border-bottom:1px solid var(--linha);
  padding:60px 0;
}
.numeros__grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
}
.numeros__item {
  padding:0 40px; border-right:1px solid var(--linha); text-align:center;
}
.numeros__item:first-child { padding-left:0; }
.numeros__item:last-child  { border-right:none; padding-right:0; }
.numeros__item strong {
  display:block; font-size:clamp(3rem,5vw,5rem);
  line-height:1; margin-bottom:8px;
}
.numeros__item span { font-size:0.75rem; color:var(--cinza); letter-spacing:1px; }

/* ---- DIFERENCIAIS ---- */
.dif { padding:120px 0; background:var(--preto2); }

/* Cabeçalho com título gigante à direita */
.dif__topo {
  display:grid; grid-template-columns:1fr 1fr;
  align-items:center; gap:40px; margin-bottom:72px;
}
.dif__topo-titulo {
  font-size:clamp(4rem,8vw,8rem);
  line-height:0.88; letter-spacing:0.02em;
}
.dif__topo-sub {
  font-size:0.9rem; color:var(--cinza);
  max-width:340px; line-height:1.7;
  padding-bottom:8px;
}

.dif__tl {
  position:relative;
  display:grid;
  grid-template-columns:1fr 2px 1fr;
  row-gap:0;
}
.dif__tl-spine {
  grid-column:2;
  grid-row:1 / span 20;
  position:relative;
  background:rgba(255,255,255,0.12);
}
.dif__tl-fill {
  position:absolute; top:0; left:0;
  width:100%; height:0;
  background:var(--branco);
}
.dif__tl-item {
  position:relative;
  padding:40px 48px;
  display:flex; flex-direction:column; justify-content:center;
  opacity:0; transform:translateY(32px);
  transition:opacity 0.65s cubic-bezier(0.25,0.46,0.45,0.94),
             transform 0.65s cubic-bezier(0.25,0.46,0.45,0.94);
}
.dif__tl-item.tl--visible { opacity:1; transform:translateY(0); }
.dif__tl-item--left  { grid-column:1; text-align:right; align-items:flex-end; }
.dif__tl-item--right { grid-column:3; text-align:left;  align-items:flex-start; }
.dif__tl-empty { min-height:160px; }

/* ponto central */
.dif__tl-dot {
  display:inline-block;
  width:8px; height:8px;
  border-radius:50%;
  background:var(--branco);
  vertical-align:middle;
  transition:opacity 0.4s;
  opacity:0;
  flex-shrink:0;
}
.dif__tl-item.tl--visible .dif__tl-dot { opacity:1; }
.dif__tl-item h3 { font-size:1.05rem; font-weight:500; margin-bottom:10px; display:flex; align-items:center; gap:10px; }
.dif__tl-item--left  h3 { justify-content:flex-end; }
.dif__tl-item--right h3 { justify-content:flex-start; }
.dif__tl-item p  { font-size:0.85rem; color:var(--cinza); line-height:1.65; max-width:340px; }
.dif__tl-item--left  p { margin-left:auto; }
.dif__tl-item--right p { margin-right:auto; }

/* ---- CURSOS HOME ---- */
.cursos-home { padding:100px 0; background:var(--preto); }
.cursos-home__topo {
  display:flex; align-items:flex-end;
  justify-content:space-between; margin-bottom:48px;
}
.cursos-home__topo > div,
.produtos-home__topo > div { display:flex; flex-direction:column; align-items:center; }
.cursos-home__topo .eyebrow,
.produtos-home__topo .eyebrow { align-self:center; }
/* Título de seção com tamanho mais agressivo */
.cursos-home .titulo-secao {
  font-size:clamp(3.5rem,7vw,7rem);
}

.curso-linha {
  display:grid; grid-template-columns:80px 1fr auto auto;
  align-items:center; gap:32px;
  padding:32px 0; border-bottom:1px solid var(--linha);
  transition:all 0.3s; position:relative;
}
.curso-linha::before {
  content:''; position:absolute;
  left:0; bottom:0; width:0; height:1px;
  background:var(--branco); transition:width 0.4s ease;
  max-width:100%;
}
.curso-linha:hover::before { width:100%; }
.curso-linha:hover .curso-linha__arrow { transform:translateX(4px); }
.curso-linha:hover .curso-linha__data { background:var(--branco); }
.curso-linha:hover .curso-linha__data strong,
.curso-linha:hover .curso-linha__data span { color:var(--preto); }

.curso-linha__data {
  display:flex; flex-direction:column; align-items:center;
  background:var(--preto3); padding:12px;
  border:1px solid var(--linha);
  transition:background 0.3s;
}
.curso-linha__data strong {
  font-family:'Bebas Neue', sans-serif;
  font-size:2rem; line-height:1; transition:color 0.3s;
}
.curso-linha__data span {
  font-size:0.65rem; letter-spacing:2px;
  text-transform:uppercase; color:var(--cinza); transition:color 0.3s;
}
.curso-linha__info h3 { font-size:1.3rem; font-weight:500; margin-bottom:4px; }
.curso-linha__info p  { font-size:0.82rem; color:var(--cinza); }
.curso-linha__local {
  display:flex; align-items:center; gap:7px;
  font-size:0.78rem; color:var(--cinza);
}
.curso-linha__arrow { transition:transform 0.3s; color:var(--cinza); }

/* ---- PRODUTOS HOME — layout editorial ---- */
.produtos-home { padding:100px 0; background:var(--preto2); }
.produtos-home__topo {
  display:flex; align-items:flex-end;
  justify-content:space-between; margin-bottom:48px;
}
.produtos-home .titulo-secao {
  font-size:clamp(3.5rem,7vw,7rem);
}

/* Grid editorial: destaque grande + grid menor */
.produtos-home__editorial {
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto auto;
  gap:1px; background:var(--linha);
  border:1px solid var(--linha);
  margin-bottom:1px;
}

/* Card destaque — ocupa coluna esquerda inteira */
.prod-card--destaque {
  grid-row: 1 / 3;
  background:var(--preto); padding:56px 48px;
  display:flex; flex-direction:column; justify-content:flex-end;
  min-height:480px; position:relative; overflow:hidden;
  cursor:default;
}
.prod-card--destaque::before {
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.9) 75%);
  pointer-events:none;
}
.prod-card--destaque::after {
  content:''; position:absolute;
  top:0; left:0; right:0; height:2px;
  background:var(--branco); transform:scaleX(0);
  transform-origin:left; transition:transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94);
  z-index:3;
}
.prod-card--destaque:hover::after { transform:scaleX(1); }
.prod-card--destaque:hover { background:var(--preto3); }

.prod-card__bg {
  position:absolute; inset:0; z-index:0;
  background-size:cover; background-position:center;
  opacity:0.35; transition:opacity 0.4s ease, transform 0.6s ease;
}
.prod-card--destaque:hover .prod-card__bg,
.prod-card--menor:hover .prod-card__bg,
.prod-card--base:hover .prod-card__bg {
  opacity:0.5; transform:scale(1.04);
}
.prod-card--destaque > *:not(.prod-card__bg) { position:relative; z-index:2; }

.prod-card--destaque .prod-card__cat {
  font-size:0.6rem; letter-spacing:3px;
  text-transform:uppercase; color:var(--cinza);
  margin-bottom:20px;
}
.prod-card--destaque .prod-card__nome {
  font-size:clamp(4rem,6vw,6.5rem);
  line-height:0.88; margin-bottom:20px;
}
.prod-card--destaque p {
  font-size:0.9rem; color:var(--cinza);
  line-height:1.7; max-width:360px; margin-bottom:28px;
}
.prod-card--destaque .prod-card__cta {
  font-size:0.68rem; letter-spacing:3px;
  text-transform:uppercase; color:rgba(255,255,255,0.5);
  display:flex; align-items:center; gap:8px;
  transition:color 0.2s, gap 0.2s;
}
.prod-card--destaque:hover .prod-card__cta { color:var(--branco); gap:12px; }

/* Cards menores — coluna direita */
.prod-card--menor {
  background:var(--preto); padding:36px 36px;
  position:relative; overflow:hidden;
  transition:background 0.3s;
  display:flex; flex-direction:column;
  text-decoration:none; cursor:pointer;
}
.prod-card--menor::after {
  content:''; position:absolute;
  top:0; left:0; bottom:0; width:2px; z-index:2;
  background:var(--branco); transform:scaleY(0);
  transform-origin:top; transition:transform 0.4s ease;
}
.prod-card--menor:hover { background:var(--preto3); }
.prod-card--menor:hover::after { transform:scaleY(1); }
.prod-card--menor > *:not(.prod-card__bg) { position:relative; z-index:2; }
.prod-card--menor .prod-card__bg::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.92) 70%);
}

.prod-card--menor .prod-card__cat {
  font-size:0.58rem; letter-spacing:3px;
  text-transform:uppercase; color:var(--cinza); margin-bottom:10px;
}
.prod-card--menor .prod-card__nome {
  font-size:2rem; line-height:0.95; margin-bottom:10px;
}
.prod-card--menor p { font-size:0.8rem; color:var(--cinza); line-height:1.6; }

/* Segunda linha — 3 cards iguais + ver mais */
.produtos-home__row2 {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; background:var(--linha);
  border:1px solid var(--linha); border-top:none;
}
.prod-card--base {
  background:var(--preto); padding:36px 32px;
  position:relative; overflow:hidden;
  transition:background 0.3s;
  display:flex; flex-direction:column;
  text-decoration:none; cursor:pointer;
}
.prod-card--base::after {
  content:''; position:absolute;
  top:0; left:0; right:0; height:1px; z-index:2;
  background:var(--branco); transform:scaleX(0);
  transform-origin:left; transition:transform 0.4s ease;
}
.prod-card--base:hover { background:var(--preto3); }
.prod-card--base:hover::after { transform:scaleX(1); }
.prod-card--base > *:not(.prod-card__bg) { position:relative; z-index:2; }
.prod-card--base .prod-card__bg::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.92) 70%);
}
.prod-card--base .prod-card__cat {
  font-size:0.58rem; letter-spacing:3px;
  text-transform:uppercase; color:var(--cinza); margin-bottom:10px;
}
.prod-card--base .prod-card__nome {
  font-size:1.7rem; line-height:0.95; margin-bottom:10px;
}
.prod-card--base p { font-size:0.78rem; color:var(--cinza); line-height:1.6; }

.prod-card--ver-mais {
  background:var(--branco); padding:36px 32px;
  display:flex; flex-direction:column;
  justify-content:space-between;
  transition:background 0.3s;
}
.prod-card--ver-mais:hover { background:rgba(255,255,255,0.88); }
.prod-card--ver-mais a {
  display:flex; flex-direction:column;
  justify-content:space-between; width:100%; height:100%; min-height:140px;
}
.prod-card--ver-mais span {
  font-family:'Bebas Neue', sans-serif;
  font-size:2.8rem; line-height:0.9; color:var(--preto);
}
.prod-card--ver-mais svg { color:var(--preto); align-self:flex-end; }

/* ---- CTA BAND — versão mais impactante ---- */
.cta-band-home {
  padding:0; border-top:1px solid var(--linha);
  background:var(--branco); overflow:hidden;
}
.cta-band-home__inner {
  display:grid; grid-template-columns:1fr auto;
  align-items:stretch; min-height:240px;
}
.cta-band-home__texto {
  padding:60px 72px 60px 0;
  border-right:1px solid rgba(0,0,0,0.1);
}
.cta-band-home h2 {
  font-size:clamp(2.4rem,4.5vw,5rem);
  line-height:0.9; letter-spacing:0.02em;
  color:var(--preto); margin-bottom:0;
}
.cta-band-home h2 em {
  font-style:italic; color:rgba(0,0,0,0.35);
}
.cta-band-home__btns {
  display:flex; flex-direction:column;
  gap:0; min-width:260px;
}
.cta-band-home__btns a {
  display:flex; align-items:center; justify-content:center;
  flex:1; font-size:0.7rem; font-weight:600;
  letter-spacing:3px; text-transform:uppercase;
  padding:0 40px; transition:all 0.3s;
  border-bottom:1px solid rgba(0,0,0,0.08);
}
.cta-band-home__btns a:last-child { border-bottom:none; }
.cta-band-home__btns .btn-cta-preto {
  background:var(--preto); color:var(--branco);
}
.cta-band-home__btns .btn-cta-preto:hover { background:#1a1a1a; }
.cta-band-home__btns .btn-cta-outline {
  background:transparent; color:var(--preto);
}
.cta-band-home__btns .btn-cta-outline:hover { background:rgba(0,0,0,0.05); }

/* ---- RESPONSIVIDADE ---- */
@media (max-width:1024px) {
  .dif__topo { grid-template-columns:1fr; }
  .dif__tl { grid-template-columns:2px 1fr; }
  .dif__tl-spine { grid-column:1; grid-row:1 / span 20; }
  .dif__tl-item--left,
  .dif__tl-item--right { grid-column:2; text-align:left; padding:32px 0 32px 40px; align-items:flex-start; }
  .dif__tl-item--left  p { margin-left:0; }
  .dif__tl-item--left  h3,
  .dif__tl-item--right h3 { justify-content:flex-start; }
  .dif__tl-item--left h3 .dif__tl-dot { order:-1; }
  .dif__tl-empty { display:none; }
  .numeros__grid { grid-template-columns:repeat(2,1fr); }
  .numeros__item:nth-child(2) { border-right:none; }
  .numeros__item:nth-child(3) { border-top:1px solid var(--linha); padding-top:40px; margin-top:40px; }
  .numeros__item:nth-child(4) { border-top:1px solid var(--linha); border-right:none; padding-top:40px; margin-top:40px; }
  .produtos-home__row2 { grid-template-columns:repeat(2,1fr); }
  .cta-band-home__inner { grid-template-columns:1fr; }
  .cta-band-home__texto { padding:60px 0 40px; border-right:none; border-bottom:1px solid rgba(0,0,0,0.1); }
  .cta-band-home__btns { flex-direction:row; min-width:unset; }
  .cta-band-home__btns a { padding:28px 32px; }
}
@media (max-width:960px) {
  .hero__inner { grid-template-columns:1fr; }
  .hero__right { display:none; }
  .curso-linha { grid-template-columns:60px 1fr auto; }
  .curso-linha__local { display:none; }
  .produtos-home__editorial { grid-template-columns:1fr; }
  .prod-card--destaque { grid-row:auto; min-height:320px; }
}
@media (max-width:640px) {
  .dif__tl-item--left,
  .dif__tl-item--right { padding:32px 0 32px 32px; }
  .numeros__grid { grid-template-columns:1fr 1fr; }
  .produtos-home__row2 { grid-template-columns:1fr 1fr; }
  .cursos-home__topo, .produtos-home__topo { flex-direction:column; align-items:center; gap:20px; text-align:center; }
  .cta-band-home__btns { flex-direction:column; }

  /* hero kicker — evitar quebra de linha feia */
  .hero__kicker { letter-spacing:2px; font-size:0.6rem; }

  /* títulos de seção menores no mobile */
  .titulo-secao { font-size:clamp(2.2rem,8vw,3rem) !important; }
  .cursos-home .titulo-secao { font-size:clamp(2.2rem,8vw,3rem) !important; }
  .dif__topo-titulo { font-size:clamp(2.8rem,10vw,4rem) !important; }

  /* seção dif — centralizar topo */
  .dif__topo { text-align:center; }
  .dif__topo-sub { max-width:100%; }
  .eyebrow--center { text-align:center; }

  /* produtos e cursos topo centralizado */
  .cursos-home__topo > div,
  .produtos-home__topo > div { align-items:center; }
}

/* ---- HERO INTRO ANIMATIONS ---- */
.hero-anim {
  opacity:0;
  animation-fill-mode:forwards;
  animation-timing-function:cubic-bezier(0.22,1,0.36,1);
}
.hero-anim--up    { transform:translateY(40px); animation-name:heroUp; }
.hero-anim--left  { transform:translateX(-40px); animation-name:heroLeft; }
.hero-anim--fade  { animation-name:heroFade; }

@keyframes heroUp {
  to { opacity:1; transform:translateY(0); }
}
@keyframes heroLeft {
  to { opacity:1; transform:translateX(0); }
}
@keyframes heroFade {
  to { opacity:1; }
}
