/* ============================================================
   HOME — SECTION 1: HERO SLIDER
   ============================================================ */
.hero{
  position:relative;
  height:100vh;
  min-height:640px;
  overflow:hidden;
  background:var(--bg-0);
}
.hero__slide{
  position:absolute;inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity 1.1s var(--ease);
  display:flex;
  align-items:flex-end;
}
.hero__slide.is-active{opacity:1;visibility:visible;}
.hero__bg{
  position:absolute;inset:0;
  background-size:cover;
  background-position:center;
  filter:saturate(1.05);
}
.hero__bg::after{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(0deg,var(--bg-0) 4%,rgba(5,13,26,.35) 46%,rgba(5,13,26,.55) 100%),
    linear-gradient(90deg,rgba(5,13,26,.92) 0%,rgba(5,13,26,.35) 55%,rgba(5,13,26,.65) 100%);
}
.hero__content{
  position:relative;
  z-index:2;
  padding:0 56px 108px;
  max-width:760px;
}
.hero__eyebrow{
  display:flex;align-items:center;gap:10px;
  font-family:'Space Mono',monospace;
  font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--cyan);margin-bottom:22px;
}
.hero__eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pink);box-shadow:0 0 12px var(--pink);}
.hero__title{
  font-size:clamp(2.4rem,5vw,4.3rem);
  font-weight:700;
  line-height:1.04;
  letter-spacing:-.02em;
  margin-bottom:20px;
}
.hero__subtitle{
  font-size:1.08rem;
  color:var(--text-1);
  max-width:46ch;
  margin-bottom:34px;
  line-height:1.6;
}
.hero__ctas{display:flex;gap:14px;flex-wrap:wrap;}

.hero__areas{
  position:absolute;
  right:56px;top:0;bottom:0;
  z-index:3;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:26px;
}
.hero__area{
  display:flex;align-items:center;gap:14px;
  color:var(--text-2);
  font-size:.92rem;
  font-weight:500;
  cursor:default;
  transition:color .3s var(--ease);
}
.hero__area:hover{color:var(--text-0);}
.hero__area-num{font-family:'Space Mono',monospace;font-size:.72rem;color:var(--text-2);}
.hero__area-dot{width:5px;height:5px;border-radius:50%;background:var(--text-2);transition:all .3s;}
.hero__area:hover .hero__area-dot{background:var(--cyan);box-shadow:0 0 8px var(--cyan);}

.hero__chrome{
  position:absolute;
  left:56px;bottom:44px;
  z-index:3;
  display:flex;
  align-items:center;
  gap:22px;
}
.hero__counter{
  font-family:'Space Mono',monospace;
  font-size:.85rem;
  color:var(--text-1);
  letter-spacing:.05em;
}
.hero__counter b{color:var(--text-0);}
.hero__arrows{display:flex;gap:8px;}
.hero__arrow{
  width:42px;height:42px;
  border-radius:50%;
  border:1px solid var(--line-strong);
  background:rgba(255,255,255,.03);
  display:flex;align-items:center;justify-content:center;
  color:var(--text-0);
  transition:all .25s var(--ease);
}
.hero__arrow:hover{border-color:var(--cyan);color:var(--cyan);transform:scale(1.06);}
.hero__arrow svg{width:16px;height:16px;}
.hero__progress{
  width:120px;height:2px;
  background:rgba(255,255,255,.12);
  border-radius:2px;
  overflow:hidden;
}
.hero__progress-bar{
  height:100%;width:0%;
  background:linear-gradient(90deg,var(--cyan),var(--pink));
}
.hero__slide.is-active .hero__progress-bar{animation:heroProgress 5s linear forwards;}
@keyframes heroProgress{from{width:0%;}to{width:100%;}}

@media (max-width:980px){
  .hero{height:88vh;}
  .hero__content{padding:0 22px 120px;}
  .hero__areas{display:none;}
  .hero__chrome{left:22px;right:22px;bottom:24px;justify-content:space-between;}
}

/* ============================================================
   SECTION 2 — SERVIÇOS (editorial horizontal scroll)
   ============================================================ */
.sec-servicos{
  background:var(--bg-0);
  padding:130px 0 110px;
}
.sec-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
  margin-bottom:52px;
}
.sec-head__title{
  font-size:clamp(1.7rem,2.6vw,2.5rem);
  max-width:20ch;
  margin-top:16px;
  line-height:1.2;
}
.sec-head__right{flex-shrink:0;padding-bottom:6px;}

.servicos-track{
  display:flex;
  gap:22px;
  overflow-x:auto;
  padding:6px 56px 26px;
  margin:0 -56px;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
}
.servicos-track::-webkit-scrollbar{display:none;}
.servico-card{
  position:relative;
  flex:0 0 320px;
  height:400px;
  border-radius:var(--radius-m);
  overflow:hidden;
  scroll-snap-align:start;
  background-size:cover;
  background-position:center;
  isolation:isolate;
}
.servico-card::before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(5,13,26,.1) 0%,rgba(5,13,26,.55) 55%,rgba(5,13,26,.96) 100%);
  z-index:0;
}
.servico-card__num{
  position:relative;z-index:1;
  padding:22px 24px 0;
  font-family:'Space Mono',monospace;
  font-size:.78rem;color:rgba(255,255,255,.6);
}
.servico-card__body{
  position:absolute;left:0;right:0;bottom:0;z-index:1;
  padding:24px;
}
.servico-card__title{font-size:1.28rem;margin-bottom:8px;}
.servico-card__desc{font-size:.87rem;color:var(--text-1);margin-bottom:16px;line-height:1.5;}

/* ============================================================
   SECTION 3 — CURSOS (asymmetric split, lighter bg)
   ============================================================ */
.sec-cursos{
  background:var(--bg-1);
  padding:120px 0;
}
.cursos-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:26px;
  margin-top:52px;
}
.curso-featured{
  border-radius:var(--radius-l);
  overflow:hidden;
  background:var(--bg-2);
  border:1px solid var(--line);
  display:flex;
  flex-direction:column;
}
.curso-featured__img{height:280px;background-size:cover;background-position:center;}
.curso-featured__body{padding:34px;}
.curso-tags{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap;}
.curso-tag{
  font-family:'Space Mono',monospace;
  font-size:.68rem;letter-spacing:.05em;
  padding:5px 12px;border-radius:100px;
  border:1px solid var(--line-strong);
  color:var(--text-1);
}
.curso-featured__title{font-size:1.55rem;margin-bottom:12px;}
.curso-featured__desc{color:var(--text-1);font-size:.95rem;line-height:1.65;margin-bottom:22px;max-width:52ch;}

.cursos-side{display:flex;flex-direction:column;gap:26px;}
.curso-mini{
  flex:1;
  border-radius:var(--radius-l);
  border:1px solid var(--line);
  background:var(--bg-2);
  padding:26px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
  overflow:hidden;
}
.curso-mini::after{
  content:"";
  position:absolute;
  width:180px;height:180px;
  border-radius:50%;
  right:-70px;top:-70px;
  background:radial-gradient(circle,rgba(0,212,255,.18),transparent 70%);
}
.curso-mini__title{font-size:1.15rem;margin:12px 0 8px;position:relative;}
.curso-mini__desc{color:var(--text-1);font-size:.86rem;position:relative;margin-bottom:16px;}

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

/* ============================================================
   SECTION 4 — PORTFÓLIO (horizontal carousel, film-strip feel)
   ============================================================ */
.sec-portfolio{
  background:var(--bg-0);
  padding:120px 0;
}
.portfolio-head-row{
  display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:46px;
}
.portfolio-carousel-wrap{position:relative;}
.portfolio-track{
  display:flex;gap:18px;
  overflow-x:auto;
  padding:4px 56px 20px;
  margin:0 -56px;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.portfolio-track::-webkit-scrollbar{display:none;}
.portfolio-card{
  flex:0 0 300px;
  scroll-snap-align:start;
}
.portfolio-card__img{
  height:360px;border-radius:var(--radius-m);
  background-size:cover;background-position:center;
  margin-bottom:16px;
  position:relative;
  border:1px solid var(--line);
}
.portfolio-card__tag{
  position:absolute;top:14px;left:14px;
  font-family:'Space Mono',monospace;
  font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;
  background:rgba(5,13,26,.75);
  backdrop-filter:blur(6px);
  border:1px solid var(--line-strong);
  padding:5px 11px;border-radius:100px;
}
.portfolio-card__title{font-size:1.05rem;margin-bottom:8px;}
.carousel-nav{display:flex;gap:8px;flex-shrink:0;}

/* ============================================================
   SECTION 5 — PRODUTOS (clean cards, glow border)
   ============================================================ */
.sec-produtos{
  background:var(--bg-1);
  padding:120px 0;
}
.produtos-track{
  display:flex;gap:20px;
  overflow-x:auto;
  padding:6px 56px 20px;
  margin:0 -56px;
  scrollbar-width:none;
}
.produtos-track::-webkit-scrollbar{display:none;}
.produto-card{
  flex:0 0 260px;
  background:var(--bg-0);
  border-radius:var(--radius-m);
  border:1px solid var(--line);
  padding:26px;
  position:relative;
  transition:border-color .3s var(--ease),box-shadow .3s var(--ease),transform .3s var(--ease);
}
.produto-card:hover{
  border-color:rgba(0,212,255,.5);
  box-shadow:0 0 0 1px rgba(0,212,255,.15),0 20px 40px -20px rgba(0,212,255,.3);
  transform:translateY(-4px);
}
.produto-card__img{
  height:150px;
  background-size:contain;background-repeat:no-repeat;background-position:center;
  margin-bottom:20px;
}
.produto-card__name{font-size:1.02rem;margin-bottom:6px;}
.produto-card__desc{font-size:.83rem;color:var(--text-1);margin-bottom:18px;min-height:34px;}
.produto-card__foot{display:flex;justify-content:space-between;align-items:center;}
.produto-card__price{font-family:'Space Mono',monospace;font-size:.85rem;color:var(--cyan);}
.produto-card__cart{
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line-strong);
  display:flex;align-items:center;justify-content:center;
  color:var(--text-0);
  transition:all .2s;
}
.produto-card__cart:hover{background:var(--cyan);color:#04101f;border-color:var(--cyan);}
.produto-card__cart svg{width:15px;height:15px;}

/* ============================================================
   SECTION 6 — EVENTOS (centered feature + side block)
   ============================================================ */
.sec-eventos{
  background:var(--bg-0);
  padding:120px 0;
}
.eventos-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:26px;
  margin-top:52px;
  align-items:stretch;
}
.evento-feature{
  border-radius:var(--radius-l);
  border:1px solid var(--line);
  background:linear-gradient(135deg,var(--bg-2),var(--bg-1));
  padding:38px;
  display:flex;
  gap:28px;
}
.evento-date{
  flex-shrink:0;
  width:92px;height:92px;
  border-radius:var(--radius-m);
  background:linear-gradient(150deg,var(--purple),var(--pink));
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:#fff;
}
.evento-date__day{font-size:1.8rem;font-weight:700;line-height:1;}
.evento-date__month{font-family:'Space Mono',monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;margin-top:4px;}
.evento-body{flex:1;}
.evento-tag{
  display:inline-block;
  font-family:'Space Mono',monospace;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--purple);margin-bottom:10px;
}
.evento-title{font-size:1.4rem;margin-bottom:14px;}
.evento-meta{display:flex;gap:22px;margin-bottom:22px;flex-wrap:wrap;}
.evento-meta span{
  display:flex;align-items:center;gap:8px;
  font-size:.85rem;color:var(--text-1);
}
.evento-meta svg{width:15px;height:15px;color:var(--text-2);}

.eventos-follow{
  border-radius:var(--radius-l);
  border:1px solid var(--line);
  background:var(--bg-1);
  padding:34px;
  display:flex;flex-direction:column;
}
.eventos-follow__title{font-size:1.1rem;margin-bottom:8px;}
.eventos-follow__desc{color:var(--text-1);font-size:.87rem;margin-bottom:24px;}
.eventos-follow__list{display:flex;flex-direction:column;gap:12px;margin-top:auto;}
.eventos-follow__item{
  display:flex;align-items:center;justify-content:space-between;
  padding:13px 16px;border-radius:var(--radius-s);
  border:1px solid var(--line);
  transition:border-color .2s;
}
.eventos-follow__item:hover{border-color:var(--cyan);}
.eventos-follow__item-l{display:flex;align-items:center;gap:12px;font-size:.88rem;font-weight:500;}
.eventos-follow__item svg{width:17px;height:17px;}

@media (max-width:980px){
  .eventos-grid{grid-template-columns:1fr;}
  .evento-feature{flex-direction:column;}
}

/* ============================================================
   SECTION 7 — CONTACTO / CTA (split panel)
   ============================================================ */
.sec-cta{
  background:var(--bg-1);
  padding:0;
  overflow:hidden;
}
.cta-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr 1fr;
  min-height:520px;
}
.cta-img{
  background-size:cover;background-position:center;
  position:relative;
}
.cta-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--bg-1));}
.cta-center{
  display:flex;flex-direction:column;justify-content:center;
  padding:60px 50px;
}
.cta-center .eyebrow{margin-bottom:18px;}
.cta-title{font-size:clamp(1.7rem,2.4vw,2.3rem);margin-bottom:18px;line-height:1.22;}
.cta-desc{color:var(--text-1);margin-bottom:30px;max-width:38ch;line-height:1.65;}

.cta-icons{
  padding:60px 50px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  align-content:center;
  background:var(--bg-2);
  border-left:1px solid var(--line);
}
.cta-icon-card{
  border:1px solid var(--line);
  border-radius:var(--radius-m);
  padding:22px 18px;
  display:flex;flex-direction:column;gap:14px;
  transition:border-color .25s,background .25s;
}
.cta-icon-card:hover{border-color:var(--cyan);background:rgba(0,212,255,.04);}
.cta-icon-badge{
  width:40px;height:40px;border-radius:11px;
  background:rgba(255,255,255,.04);
  display:flex;align-items:center;justify-content:center;
  color:var(--cyan);
}
.cta-icon-badge svg{width:19px;height:19px;}
.cta-icon-label{font-size:.85rem;font-weight:500;line-height:1.35;}

@media (max-width:980px){
  .cta-grid{grid-template-columns:1fr;}
  .cta-img{height:220px;}
  .cta-icons{border-left:none;border-top:1px solid var(--line);padding:40px 22px;}
  .cta-center{padding:50px 22px;}
}
