/* CESINHA UI UPGRADE */
:root{
  --green-2:#72ff9b;
  --surface:rgba(18,21,22,.72);
  --surface-strong:#111516;
  --shadow-soft:0 18px 55px rgba(0,0,0,.24);
  --shadow-green:0 18px 55px rgba(35,242,107,.14);
}
body{
  background:
    radial-gradient(900px 500px at 78% -5%,rgba(35,242,107,.075),transparent 65%),
    radial-gradient(700px 500px at -10% 35%,rgba(35,242,107,.045),transparent 65%),
    var(--bg);
}
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.32;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(to bottom,black,transparent 78%);
}
.wrap{width:min(100% - 40px,1180px);padding:0}
section{padding:110px 0}
.topbar{
  padding:13px max(20px,calc((100vw - 1180px)/2));
  background:rgba(7,9,10,.68);
  box-shadow:0 10px 40px rgba(0,0,0,.16);
}
.topbar::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(35,242,107,.4),transparent);
}
.brand{letter-spacing:.07em}
.cta{
  position:relative;overflow:hidden;
  box-shadow:0 8px 26px rgba(35,242,107,.12);
}
.cta::after{
  content:"";position:absolute;top:0;bottom:0;left:-80%;width:45%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);
  transform:skewX(-18deg);transition:left .55s ease;
}
.cta:hover::after{left:135%}
.hero{padding-top:145px}
.hero-grid{gap:72px}
.hero h1{max-width:690px}
.hero .sub{max-width:610px}
.hero-photo{filter:drop-shadow(0 30px 70px rgba(0,0,0,.28))}
.hero-photo .frame,.ident-photo .main,.aut-photo{
  box-shadow:0 30px 75px rgba(0,0,0,.45),0 0 0 1px rgba(35,242,107,.035);
}
.hero-photo .frame::after,.ident-photo .main::after,.aut-photo::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.11),transparent 28%,transparent 70%,rgba(35,242,107,.08));
  mix-blend-mode:screen;
}
.hero-photo .frame,.ident-photo .main,.aut-photo{isolation:isolate}
.hero-photo .tag{
  box-shadow:0 18px 45px rgba(0,0,0,.4);
  transition:transform .3s ease,border-color .3s ease;
}
.hero-photo:hover .tag{transform:translateY(-5px);border-color:rgba(35,242,107,.35)}
.chip{
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.chip:hover{transform:translateY(-2px);border-color:rgba(35,242,107,.3);background:rgba(35,242,107,.055)}
.ident-photo .main,.ident-photo .mini,.aut-photo{transition:transform .5s cubic-bezier(.22,1,.36,1)}
.ident-photo:hover .main{transform:translateY(-5px) rotate(-.35deg)}
.ident-photo:hover .mini{transform:translateY(-7px) rotate(.6deg)}
.perfil{
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.perfil:hover{transform:translateY(-3px);border-color:rgba(35,242,107,.3);background:rgba(35,242,107,.06)}
.stat{
  position:relative;overflow:hidden;
  box-shadow:var(--shadow-soft);
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.stat::before,.modulo::before{
  content:"";position:absolute;width:100px;height:100px;right:-55px;top:-55px;border-radius:50%;
  background:rgba(35,242,107,.09);filter:blur(2px);transition:transform .4s ease;
}
.stat:hover{transform:translateY(-4px);border-color:rgba(35,242,107,.3);box-shadow:var(--shadow-green)}
.stat:hover::before,.modulo:hover::before{transform:scale(1.5)}
.modulos{gap:16px}
.modulo{
  min-height:205px;
  box-shadow:var(--shadow-soft);
}
.modulo .ico{
  display:grid;place-items:center;width:48px;height:48px;border-radius:14px;
  background:rgba(35,242,107,.07);border:1px solid rgba(35,242,107,.13);
  transition:transform .3s ease,background .3s ease;
}
.modulo:hover .ico{transform:scale(1.08) rotate(-4deg);background:rgba(35,242,107,.12)}
.convidados{min-height:205px;box-shadow:var(--shadow-soft)}
.convidados .ico{
  display:grid;place-items:center;width:48px;height:48px;border-radius:14px;
  background:rgba(255,255,255,.04)
}
.datas{
  box-shadow:var(--shadow-soft);
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.015));
}
.data-row{transition:background .25s ease,padding-left .25s ease}
.data-row:hover{background:rgba(35,242,107,.035);padding-left:30px}
.data-row.hoje{background:linear-gradient(90deg,rgba(35,242,107,.08),transparent)}
.final{padding:125px 0}
.final::before{
  content:"";position:absolute;width:520px;height:520px;border-radius:50%;left:50%;top:45%;
  transform:translate(-50%,-50%);background:rgba(35,242,107,.045);filter:blur(90px);pointer-events:none;
}
.final .wrap{position:relative}
.final .cta{box-shadow:0 14px 45px rgba(35,242,107,.22)}
.sticky{box-shadow:0 -12px 35px rgba(0,0,0,.22)}
footer{background:rgba(0,0,0,.14)}
@media(max-width:760px){
  body::before{background-size:38px 38px;opacity:.2}
  .wrap{width:min(100% - 32px,1180px)}
  section{padding:76px 0}
  .topbar{padding:10px 16px}
  .brand{font-size:11px;letter-spacing:.045em}
  .topbar .cta{padding:9px 13px}
  .hero{padding:92px 0 54px}
  .hero-grid{gap:25px}
  .hero-photo{width:100%}
  .hero-photo .frame{width:min(100%,310px);aspect-ratio:4/5}
  .hero h1{font-size:clamp(29px,8.2vw,36px);line-height:1.07}
  .hero .sub{font-size:14.5px;line-height:1.6}
  .hero-info{display:grid;grid-template-columns:1fr 1fr}
  .chip{min-width:0;min-height:42px}
  .hero-actions{align-items:stretch}
  .hero-actions .cta{flex:1}
  .hero-vagas{text-align:center}
  .ident-photo .main{aspect-ratio:16/10}
  .ident-photo .mini{width:38%}
  .perfis{gap:6px}
  .perfil{font-size:11.5px;padding:7px 11px}
  .aut-grid{gap:30px}
  .aut-photo{aspect-ratio:4/5}
  .stats{gap:8px}
  .stat{min-height:100px}
  .stat.wide{min-height:74px}
  .stat b{font-size:21px}
  .stat span{font-size:11px}
  .modulos{gap:10px}
  .modulo,.convidados{min-height:0}
  .modulo{padding:18px}
  .modulo .ico,.convidados .ico{width:43px;height:43px;border-radius:12px}
  .datas{margin-top:30px}
  .data-row{padding:13px 14px}
  .data-row:hover{padding-left:14px}
  .final{padding:88px 0 105px}
  .final h2{font-size:clamp(27px,7.8vw,35px)}
  .final .sub{font-size:14px}
  .final .datas-inline{display:grid;grid-template-columns:1fr 1fr}
  .final .datas-inline .chip{justify-content:center;text-align:center}
  .final-cta{gap:12px}
  .final .cta{width:100%;max-width:360px;padding:16px 22px}
  .urgencia{max-width:100%;text-align:center}
}
@media(max-width:390px){
  .hero-info{grid-template-columns:1fr}
  .hero-actions{flex-direction:column}
  .hero-actions .cta{width:100%}
  .final .datas-inline{grid-template-columns:1fr}
  .hero-photo .frame{width:min(100%,285px)}
  .brand{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}
  .rv{opacity:1!important;transform:none!important}
}

.reading-progress{
  position:fixed;top:0;left:0;width:100%;height:2px;z-index:100;
  transform-origin:left center;transform:scaleX(0);
  background:linear-gradient(90deg,var(--green),var(--green-2));
  box-shadow:0 0 12px rgba(35,242,107,.55);
  pointer-events:none;
}
.cursor-glow{
  position:fixed;top:0;left:0;width:260px;height:260px;margin:-130px 0 0 -130px;
  border-radius:50%;pointer-events:none;z-index:0;
  background:radial-gradient(circle,rgba(35,242,107,.055),transparent 68%);
  will-change:transform;
}
@media(max-width:760px){.cursor-glow{display:none}.reading-progress{height:2px}}

html{scroll-padding-top:78px}
[id]{scroll-margin-top:78px}
@media(max-width:760px){html{scroll-padding-top:66px}[id]{scroll-margin-top:66px}}

/* MOBILE: conteúdo é o protagonista; imagem passa a ser apoio de autoridade */
@media(max-width:760px){
  .hero{
    padding:82px 0 48px;
  }
  .hero-grid{
    display:flex;
    flex-direction:column;
    gap:0;
  }
  .hero-grid > div:first-child{
    display:flex;
    flex-direction:column;
  }

  /* ordem editorial no mobile */
  .hero-grid > div:first-child .hero-badge{order:1}
  .hero-grid > div:first-child h1{order:2}
  .hero-grid > div:first-child .sub{order:3}
  .hero-grid > div:first-child .hero-info{order:4}
  .hero-grid > div:first-child .hero-actions{order:5}
  .hero-photo{order:6;margin:34px auto 0}

  /* foto deixa de ocupar a primeira tela */
  .hero-photo .frame{
    width:min(100%,190px);
    aspect-ratio:4/5;
    border-radius:15px;
    box-shadow:0 18px 45px rgba(0,0,0,.38);
  }
  .hero-photo .frame img{
    object-position:center 13%;
  }
  .hero-photo .tag{
    left:50%;
    bottom:-13px;
    transform:translateX(-50%);
    padding:8px 12px;
    border-radius:10px;
    width:max-content;
    min-width:138px;
  }
  .hero-photo:hover .tag{
    transform:translateX(-50%) translateY(-3px);
  }
  .hero-photo .tag b{font-size:15px}
  .hero-photo .tag span{font-size:7.5px}

  .hero-badge{
    align-self:center;
    margin-bottom:15px;
    text-align:center;
  }
  .hero h1{
    max-width:100%;
    margin-bottom:0;
    font-size:clamp(30px,8.4vw,36px);
    line-height:1.06;
    letter-spacing:-.045em;
  }
  .hero .sub{
    max-width:100%;
    margin-top:15px;
    font-size:14px;
    line-height:1.58;
  }
  .hero-info{
    margin:20px 0 20px;
  }
  .hero-actions{
    width:100%;
  }
  .hero-actions .cta{
    min-height:48px;
  }

  /* reduz a sensação de "perfil profissional" nas seções seguintes */
  .ident-photo{
    margin-bottom:27px;
  }
  .ident-photo .main{
    aspect-ratio:16/7;
  }
  .ident-photo .mini{
    width:30%;
    bottom:-18px;
  }
}

@media(max-width:390px){
  .hero{
    padding-top:76px;
  }
  .hero-photo .frame{
    width:165px;
  }
  .hero-photo{
    margin-top:30px;
  }
  .hero h1{
    font-size:30px;
  }
  .hero .sub{
    font-size:13.5px;
  }
}

/* MARCAS — faixa contínua */
.logo-marquee{
  position:relative;
  width:100%;
  overflow:hidden;
  margin-top:16px;
  padding:8px 0 14px;
  mask-image:linear-gradient(90deg,transparent 0%,black 8%,black 92%,transparent 100%);
}
.logo-track{
  display:flex;
  align-items:center;
  width:max-content;
  gap:14px;
  animation:logoScroll 34s linear infinite;
  will-change:transform;
}
.logo-marquee:hover .logo-track{animation-play-state:paused}
.logo-item{
  width:142px;
  height:66px;
  flex:0 0 142px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:13px;
  background:rgba(255,255,255,.025);
  box-shadow:0 12px 30px rgba(0,0,0,.14);
  overflow:hidden;
}
.logo-item img{
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:1;
  transition:opacity .3s ease,transform .3s ease;
}
.logo-item:hover img{
  opacity:1;
  transform:scale(1.06);
}
.logo-text{
  font-family:var(--serif);
  font-size:15px;
  font-weight:800;
  letter-spacing:.04em;
  color:#f2f4f3;
  text-align:center;
}
.logo-text span{
  display:block;
  font-size:7px;
  letter-spacing:.14em;
  color:var(--green);
  margin-top:3px;
}
@keyframes logoScroll{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-50% - 7px))}
}

/* Desktop: primeira dobra inteira, com a foto menor e mais alta */
@media(min-width:761px){
  .hero{
    height:100svh;
    min-height:680px;
    padding:82px 0 28px;
  }
  .hero-grid{
    gap:42px;
    align-items:center;
  }
  .hero-photo{
    align-self:center;
    transform:translateY(-10px);
  }
  .hero-photo .frame{
    max-width:350px;
    aspect-ratio:4/5;
    border-radius:20px;
  }
  .hero-photo .tag{
    left:calc(50% - 175px);
    bottom:18px;
  }
  .hero h1{
    font-size:clamp(42px,4vw,55px);
    line-height:1.01;
  }
  .hero .sub{
    margin-top:16px;
    max-width:580px;
    font-size:clamp(14px,1.15vw,17px);
    line-height:1.52;
  }
  .hero-info{
    margin:21px 0 23px;
    gap:8px;
  }
  .chip{
    padding:9px 13px;
    font-size:12.5px;
  }
}
@media(min-width:761px) and (max-height:820px){
  .hero{
    min-height:620px;
    padding-top:70px;
    padding-bottom:18px;
  }
  .hero-grid{gap:32px}
  .hero-photo{transform:translateY(-16px)}
  .hero-photo .frame{max-width:300px}
  .hero h1{font-size:clamp(37px,3.7vw,48px)}
  .hero .sub{font-size:13.5px;margin-top:13px}
  .hero-info{margin:16px 0 18px}
  .chip{padding:8px 11px;font-size:11.5px}
  .hero-photo .tag{left:calc(50% - 150px);bottom:12px}
}
@media(max-width:760px){
  .logo-marquee{margin-top:10px}
  .logo-track{gap:10px;animation-duration:28s}
  .logo-item{width:118px;height:56px;flex-basis:118px;padding:8px 12px;border-radius:11px}
  .logo-text{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .logo-track{animation:none}
}
