/* =========================================================
   BWS — sistema visual premium
   Um só mundo visual (claro/escuro alternados), pintado explicitamente.
   ========================================================= */
:root{
  --vinho:#A51C30;
  --vinho-deep:#6E1220;
  --vinho-flare:#D22E45;
  --vinho-tint:#F6E4E7;
  --noir:#110A0B;
  --noir-2:#1B1113;
  --ink:#1B1113;
  --ink-soft:#5B4448;
  --mute:#8B6E73;
  --paper:#FFFFFF;
  --paper-2:#F6F0EF;
  --line:rgba(27,17,19,.1);
  --line-d:rgba(255,255,255,.12);
  --display:'Helvetica Neue',Helvetica,Arial,sans-serif;
    --mono:'Helvetica Neue',Helvetica,Arial,sans-serif;
  --maxw:1240px;
  --r:22px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  color-scheme:light;
}

*{box-sizing:border-box}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--display);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}
p{margin:0}
ul{margin:0;padding:0}
::selection{background:var(--vinho);color:#fff}

.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding-inline:20px}
@media(min-width:900px){.wrap{padding-inline:32px}}

/* ---------- type scale ---------- */
.t-hero,.t-xl,.t-xxl,.t-h2,.t-sub{
  font-family:var(--display);
  text-transform:uppercase;
  text-wrap:balance;
  margin:0;
}
.t-hero{
  font-size:clamp(2.05rem,6.4vw,5.5rem);
  font-weight:800;
  line-height:.96;letter-spacing:-.02em;
}
.t-xl{
  font-size:clamp(2.1rem,5.2vw,4.1rem);
  font-weight:800;
  line-height:.98;letter-spacing:-.015em;
  color:var(--vinho);
}
.t-xxl{
  font-size:clamp(2.35rem,7vw,5.6rem);
  font-weight:800;
  line-height:.95;letter-spacing:-.02em;
}
.t-h2{
  font-size:clamp(1.65rem,4.2vw,3.3rem);
  font-weight:800;
  line-height:1;letter-spacing:-.012em;
}
.t-sub{
  font-size:clamp(1rem,1.6vw,1.24rem);
  font-weight:700;
  line-height:1.2;letter-spacing:.015em;
}
/* highlighted word: same Helvetica, brand red */
.t-hero em,.t-h2 em,.t-xl em{font-style:normal;color:var(--vinho-flare)}
.eyebrow{
  display:inline-flex;align-items:center;gap:.7em;
  font-family:var(--mono);font-weight:600;
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--vinho);
}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 18%,transparent)}
.lead{font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.72;color:var(--ink-soft);max-width:58ch}
.lead p+p{margin-top:1em}
.lead b{color:var(--ink);font-weight:700}

/* dark & vinho grounds */
.s-dark{background:var(--noir);color:#fff}
.s-vinho{
  background:
    radial-gradient(80% 70% at 88% 0%,rgba(226,70,92,.5),transparent 62%),
    radial-gradient(60% 60% at 0% 100%,rgba(60,6,14,.55),transparent 70%),
    linear-gradient(160deg,var(--vinho-deep),var(--vinho) 62%,#B7213A);
  color:#fff;
}
.s-warm{background:var(--paper-2)}
.s-dark .t-xl,.s-vinho .t-xl,.s-dark .t-xxl,.s-dark .t-h2,.s-vinho .t-h2{color:#fff}
.s-dark .eyebrow,.s-vinho .eyebrow{color:#fff}
.s-dark .eyebrow{color:#F06A7E}
.s-vinho .t-hero em,.s-vinho .t-h2 em,.s-vinho .t-xl em{color:#FFD3DA}
.s-dark .lead,.s-vinho .lead{color:rgba(255,255,255,.76)}
.s-dark .lead b,.s-vinho .lead b{color:#fff}
.grain{position:relative;isolation:isolate}
.grain::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:var(--grain);opacity:.07;mix-blend-mode:overlay;
}

/* ---------- CTA ---------- */
.cta{
  position:relative;isolation:isolate;
  display:inline-flex;align-items:center;justify-content:center;gap:.8em;
  font-family:var(--display);font-weight:700;
  font-size:1rem;letter-spacing:.04em;text-transform:uppercase;
  color:#fff;text-decoration:none;
  background:var(--vinho);
  border:0;cursor:pointer;
  padding:1.2em 2.2em;
  border-radius:999px;
  overflow:hidden;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),color .2s ease .15s;
  box-shadow:0 0 0 0 rgba(210,46,69,.45),0 18px 40px -18px rgba(165,28,48,.8);
  animation:beat 2.8s ease-in-out infinite;
}
.cta::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:#fff;
  transform:scaleX(0);transform-origin:left;
  transition:transform .5s cubic-bezier(.65,0,.35,1);
}
.cta::after{
  content:"";position:absolute;top:0;bottom:0;left:-40%;width:30%;z-index:-1;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-20deg);
  animation:shine 4.5s ease-in-out infinite 1.5s;
}
.cta .arw{display:inline-block;transition:transform .35s var(--ease)}
.cta{transform:translate3d(var(--tx,0px),var(--ty,0px),0)}
.cta:hover,.cta:focus-visible{
  color:var(--vinho);
  transform:translate3d(var(--tx,0px),calc(var(--ty,0px) - 2px),0);
  animation-play-state:paused;
}
.cta:hover::before,.cta:focus-visible::before{transform:scaleX(1)}
.cta:hover::after{opacity:0}
.cta:hover .arw{transform:translateX(5px)}
.cta.sm{padding:.8em 1.35em;font-size:.8rem;animation:none;box-shadow:none}
.cta.sm::after{display:none}
.cta.big{font-size:clamp(1rem,1.4vw,1.12rem);padding:1.3em 2.5em}
.cta.onvinho{background:#fff;color:var(--vinho);animation:none;box-shadow:0 22px 50px -20px rgba(0,0,0,.45)}
.cta.onvinho::before{background:var(--noir)}
.cta.onvinho::after{background:linear-gradient(100deg,transparent,rgba(165,28,48,.18),transparent)}
.cta.onvinho:hover{color:#fff}
@keyframes beat{
  0%,100%{box-shadow:0 0 0 0 rgba(210,46,69,.45),0 18px 40px -18px rgba(165,28,48,.8)}
  55%{box-shadow:0 0 0 14px rgba(210,46,69,0),0 18px 40px -18px rgba(165,28,48,.8)}
}
@keyframes shine{0%,70%{left:-40%}100%{left:130%}}

/* ---------- header ---------- */
.hdr{
  position:fixed;left:0;right:0;top:0;z-index:60;
  padding-top:env(safe-area-inset-top,0px);
  color:#fff;
  border-bottom:1px solid transparent;
  transition:background .45s ease,border-color .45s ease,color .45s ease;
}
.hdr.stuck{
  background:rgba(255,255,255,.8);
  -webkit-backdrop-filter:saturate(1.6) blur(18px);
  backdrop-filter:saturate(1.6) blur(18px);
  border-bottom-color:var(--line);
  color:var(--ink);
}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:72px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;flex:none}
.brand img{width:30px;height:auto;transition:filter .45s ease}
.hdr.stuck .brand img{filter:invert(1) sepia(1) saturate(6) hue-rotate(310deg) brightness(.6)}
.brand b{font-size:1rem;font-weight:800;letter-spacing:.05em}
.brand span{
  display:none;font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;
  border-left:1px solid currentColor;padding-left:11px;opacity:.6;font-weight:600;
}
@media(min-width:760px){.brand span{display:inline}}
.nav{display:none;gap:30px;font-size:.84rem;font-weight:600;letter-spacing:.01em}
.nav a{position:relative;text-decoration:none;opacity:.78;transition:opacity .25s}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1.5px;background:var(--vinho-flare);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.nav a:hover{opacity:1}
.nav a:hover::after{transform:scaleX(1);transform-origin:left}
@media(min-width:1040px){.nav{display:flex}}
.progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--vinho),var(--vinho-flare));transform-origin:left;transform:scaleX(var(--p,0))}

/* ---------- hero ---------- */
.hero{
  position:relative;overflow:hidden;isolation:isolate;
  min-height:min(94vh,920px);
  display:flex;align-items:center;
  background:var(--noir);color:#fff;
}
.hero-media{position:absolute;inset:-8% 0 0;z-index:-3;will-change:transform}
.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(70% 55% at 50% 108%,rgba(210,46,69,.62),transparent 70%),
    radial-gradient(120% 80% at 50% 0%,rgba(0,0,0,.55),transparent 60%),
    linear-gradient(180deg,rgba(12,6,8,.86) 0%,rgba(12,6,8,.42) 34%,rgba(12,6,8,.5) 68%,var(--noir) 100%);
}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--grain);opacity:.09;mix-blend-mode:overlay}

/* stage-light beams — the signature element */
.beams{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden;mix-blend-mode:screen}
.beams i{
  position:absolute;top:-12%;height:125%;
  width:clamp(140px,20vw,300px);
  filter:blur(18px);
  transform-origin:50% 0;
  animation:sway 12s ease-in-out infinite alternate;
  opacity:.9;
}
.beams i::before{
  content:"";position:absolute;inset:0;
  clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);
  background:linear-gradient(180deg,rgba(255,226,231,.42),rgba(226,70,92,.2) 40%,transparent 82%);
}
.beams i:nth-child(1){left:4%;--r:-22deg}
.beams i:nth-child(2){left:calc(50% - 10vw);--r:3deg;animation-duration:15s;opacity:.65}
.beams i:nth-child(3){right:4%;--r:22deg;animation-duration:13s;animation-delay:-4s}
@keyframes sway{from{transform:rotate(calc(var(--r) - 5deg))}to{transform:rotate(calc(var(--r) + 5deg))}}

.hero-in{
  position:relative;width:100%;
  padding-block:calc(112px + env(safe-area-inset-top,0px)) 72px;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px;
  will-change:opacity,transform;
}
.chip{
  display:inline-flex;align-items:center;gap:.75em;
  font-family:var(--mono);font-weight:600;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  padding:.7em 1.15em;border-radius:999px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.06);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.dot{position:relative;width:7px;height:7px;border-radius:50%;background:var(--vinho-flare);flex:none}
.dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid var(--vinho-flare);animation:ping 2s ease-out infinite}
@keyframes ping{from{transform:scale(.4);opacity:1}to{transform:scale(1.6);opacity:0}}
.crest-wrap{position:relative;display:grid;place-items:center}
.crest-wrap::before{
  content:"";position:absolute;width:190%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(closest-side,rgba(226,70,92,.35),transparent);
  filter:blur(6px);
}
.hero .crest{position:relative;width:clamp(62px,7.5vw,92px);filter:drop-shadow(0 10px 24px rgba(0,0,0,.4))}
.hero h1{max-width:17ch}
.hero-act{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 26px;margin-top:6px}
.link-play{
  display:inline-flex;align-items:center;gap:.8em;text-decoration:none;
  font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}
.link-play .ring{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.4);transition:background .3s,border-color .3s,transform .4s var(--ease);
}
.link-play svg{width:14px;height:14px;fill:#fff;margin-left:2px;transition:fill .3s}
.link-play:hover .ring{background:#fff;border-color:#fff;transform:scale(1.06)}
.link-play:hover svg{fill:var(--vinho)}
.hero-meta{
  display:grid;grid-template-columns:auto auto;margin-top:18px;
  border:1px solid rgba(255,255,255,.14);border-radius:18px;
  background:rgba(255,255,255,.05);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  text-transform:uppercase;
}
.hero-meta > div{display:flex;align-items:baseline;gap:.55em;padding:15px 28px}
.hero-meta > div + div{border-left:1px solid rgba(255,255,255,.14)}
.hero-meta b{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.hero-meta span{font-size:clamp(.78rem,1.1vw,.92rem);font-weight:700;letter-spacing:.06em;color:rgba(255,255,255,.82)}
.scroll-cue{position:absolute;left:50%;bottom:22px;width:1px;height:46px;background:rgba(255,255,255,.22);overflow:hidden;transform:translateX(-50%)}
.scroll-cue::after{content:"";position:absolute;left:0;top:-40%;width:100%;height:40%;background:#fff;animation:cue 2.2s var(--ease) infinite}
@keyframes cue{to{top:100%}}

/* load choreography */
html.js .hero .ld{animation:rise 1.1s var(--ease) both;animation-delay:var(--d,0s)}
html.js .hero-title .w{display:inline-block;animation:rise 1.1s var(--ease) both;animation-delay:calc(var(--i) * 65ms + .35s)}
@keyframes rise{from{opacity:0;transform:translateY(34px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}

/* ---------- marquee ---------- */
.mq{background:var(--vinho);color:#fff;overflow:hidden;padding-block:18px;border-block:1px solid rgba(255,255,255,.08)}
.mq-track{display:flex;width:max-content;animation:slide 38s linear infinite}
.mq:hover .mq-track{animation-play-state:paused}
.mq span{
  display:flex;align-items:center;gap:1.1em;padding-inline:1.1em;white-space:nowrap;
  font-size:clamp(.95rem,1.5vw,1.18rem);font-weight:800;letter-spacing:.02em;
}
.mq span::after{content:"✦";font-size:.7em;opacity:.7}
.mq span:nth-child(3n+2){color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.9)}
.mq.white{background:var(--paper);color:var(--vinho);border-color:var(--line)}
.mq.white span:nth-child(3n+2){-webkit-text-stroke-color:var(--vinho)}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- section shell ---------- */
section{position:relative;scroll-margin-top:88px}
.sec{padding-block:clamp(72px,8.5vw,120px)}
.head{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:clamp(30px,4vw,54px)}
.head.center{align-items:center;text-align:center}
@media(min-width:900px){
  .head.row{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:40px}
}
.meta-note{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55)}

/* photo container with parallax image */
.media{position:relative;overflow:hidden;border-radius:var(--r);background:var(--paper-2);max-width:100%}
.media img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover;will-change:transform}
.media.tall{aspect-ratio:3/4}
.media.wide{aspect-ratio:16/11}
.media.big{aspect-ratio:3/3.1}
@media(max-width:899px){.media.big{aspect-ratio:4/3}}
.media .cap{
  position:absolute;left:14px;bottom:14px;z-index:2;
  font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;
  padding:.6em .9em;border-radius:999px;background:rgba(17,10,11,.45);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}

/* ---------- video frames ---------- */
.vwrap{position:relative}
.vwrap::before{
  content:"";position:absolute;left:10%;right:10%;top:12%;bottom:-6%;z-index:0;
  background:radial-gradient(closest-side,rgba(210,46,69,.55),transparent);
  filter:blur(40px);pointer-events:none;
}
.vframe{
  position:relative;z-index:1;max-width:1180px;margin:0 auto;
  border-radius:26px;padding:1.5px;overflow:hidden;
  background:rgba(255,255,255,.14);
  box-shadow:0 50px 120px -50px rgba(0,0,0,.8);
}
.vframe::before{
  content:"";position:absolute;left:50%;top:50%;width:200%;aspect-ratio:1;
  transform:translate(-50%,-50%);
  background:conic-gradient(from 0deg,transparent 0 62%,rgba(210,46,69,.9) 76%,#fff 81%,rgba(210,46,69,.9) 86%,transparent 100%);
  animation:spin 9s linear infinite;
}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.vframe .inner{position:relative;z-index:1;aspect-ratio:16/9;border-radius:24.5px;overflow:hidden;background:#000}
.vframe img{width:100%;height:100%;object-fit:cover;filter:brightness(.66) saturate(1.05);transition:transform 1.2s var(--ease),filter .6s}
.vframe:hover img{transform:scale(1.035);filter:brightness(.74)}
.vframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.playbtn{position:absolute;inset:0;display:grid;place-items:center;background:transparent;border:0;cursor:pointer;padding:0}
.playbtn .disc{
  position:relative;width:clamp(64px,8vw,96px);aspect-ratio:1;border-radius:50%;
  background:var(--vinho);display:grid;place-items:center;
  box-shadow:0 20px 50px -12px rgba(210,46,69,.7);
  transition:transform .45s var(--ease),background .3s;
}
.playbtn .disc::before,.playbtn .disc::after{
  content:"";position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,255,255,.7);
  animation:ripple 2.6s ease-out infinite;
}
.playbtn .disc::after{animation-delay:1.3s}
@keyframes ripple{from{transform:scale(1);opacity:.8}to{transform:scale(1.9);opacity:0}}
.playbtn .disc svg{position:relative;width:30%;height:30%;fill:#fff;margin-left:8%}
.playbtn:hover .disc{transform:scale(1.1);background:var(--vinho-flare)}
.vframe .tag{
  position:absolute;left:20px;bottom:20px;z-index:2;pointer-events:none;
  font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff;
  padding:.65em 1em;border-radius:999px;
  background:rgba(17,10,11,.5);border:1px solid rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}

/* ---------- quem somos ---------- */
.split{display:grid;gap:clamp(30px,5vw,72px);align-items:center}
@media(min-width:900px){
  .split{grid-template-columns:1.02fr .98fr}
  .split.imgbig{grid-template-columns:.9fr 1.1fr}
  .split.rev > :first-child{order:2}
}
.quote{
  position:relative;margin:30px 0 0;padding:26px 26px 22px 64px;
  border-radius:20px;background:var(--paper-2);
}
.quote::before{
  content:"\201C";position:absolute;left:18px;top:4px;
  font-weight:800;font-size:4.2rem;line-height:1;color:var(--vinho);
}
.quote q{display:block;quotes:none;font-weight:700;font-size:clamp(1.12rem,1.7vw,1.4rem);line-height:1.3;letter-spacing:-.005em;color:var(--ink)}
.quote cite{display:block;margin-top:12px;font-style:normal;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}

/* ---------- como funciona (bento) ---------- */
.bento{display:grid;gap:14px}
@media(min-width:900px){
  .bento{grid-template-columns:repeat(12,1fr);gap:16px}
  .bento .b-text{grid-column:1/7;align-self:center;padding-right:24px}
  .bento .b-img{grid-column:7/13}
  .bento .stat{grid-column:span 4}
}
.stat{
  position:relative;overflow:hidden;
  border-radius:20px;padding:26px 24px;
  display:flex;flex-direction:column;justify-content:space-between;gap:26px;min-height:160px;
  transition:transform .5s var(--ease);
}
.stat:hover{transform:translateY(-4px)}
.stat b{font-size:clamp(1.7rem,3.2vw,2.7rem);font-weight:800;line-height:1;letter-spacing:-.01em;text-transform:uppercase}
.stat span{font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.stat.v{background:linear-gradient(150deg,var(--vinho-flare),var(--vinho) 55%,var(--vinho-deep));color:#fff}
.stat.n{background:var(--noir);color:#fff}
.stat.w{background:#fff;color:var(--ink);border:1px solid var(--line)}
.stat.w b{color:var(--vinho)}
.stat.n::after,.stat.v::after{content:"";position:absolute;inset:0;background-image:var(--grain);opacity:.08;mix-blend-mode:overlay;pointer-events:none}

/* ---------- pilares (bento sobre escuro) ---------- */
.pil{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pil article{
  position:relative;overflow:hidden;border-radius:20px;aspect-ratio:1/1;
  border:1px solid rgba(255,255,255,.1);isolation:isolate;
}
@media(min-width:900px){
  .pil{grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:repeat(2,clamp(220px,20vw,290px));gap:14px}
  .pil article{aspect-ratio:auto}
  .pil article:nth-child(1){grid-row:1/3}
  .pil article:nth-child(2){grid-column:2/4}
}
.pil img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1s var(--ease),filter .6s}
.pil article::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(17,10,11,.05) 30%,rgba(17,10,11,.88))}
.pil article::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .4s;
  background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.16),transparent 60%);
}
.pil article:hover::before{opacity:1}
.pil article:hover img{transform:scale(1.07);filter:saturate(1.1)}
.pil h3{
  position:absolute;left:0;right:0;bottom:0;z-index:1;margin:0;padding:22px;
  font-size:clamp(.95rem,1.6vw,1.35rem);font-weight:800;line-height:1.08;text-transform:uppercase;color:#fff;
}
.pil article:nth-child(1) h3{font-size:clamp(1rem,2.4vw,2rem)}
.pil .plus{
  position:absolute;right:16px;top:16px;z-index:1;width:34px;height:34px;border-radius:50%;
  border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;
  background:rgba(17,10,11,.25);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  transition:transform .5s var(--ease),background .3s;
}
.pil .plus::before,.pil .plus::after{content:"";position:absolute;width:12px;height:1.5px;background:#fff}
.pil .plus::after{transform:rotate(90deg)}
.pil article:hover .plus{transform:rotate(90deg);background:var(--vinho)}

/* ---------- para quem é ---------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.duo .media{aspect-ratio:2/3}
@media(min-width:900px){.duo .media:nth-child(2){margin-top:56px}}
.who{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px;list-style:none}
.who li{
  display:flex;align-items:flex-start;gap:11px;
  padding:15px 16px;border-radius:14px;
  border:1px solid var(--line);background:var(--paper);
  font-size:.96rem;line-height:1.35;color:var(--ink-soft);
  transition:border-color .3s,transform .4s var(--ease),box-shadow .4s;
}
.who li::before{content:"";width:7px;height:7px;margin-top:.45em;border-radius:50%;background:var(--vinho);flex:none}
.who li b{color:var(--ink);font-weight:700}
.who li:hover{border-color:var(--vinho);transform:translateY(-2px);box-shadow:0 14px 30px -20px rgba(165,28,48,.5)}

/* ---------- incluso ---------- */
.inc{display:grid;grid-template-columns:1fr 1fr;gap:10px;list-style:none}
.inc li{
  display:flex;align-items:flex-start;gap:14px;
  padding:18px;border-radius:16px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  transition:background .3s,transform .4s var(--ease);
}
.inc li:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}
.inc li:last-child{grid-column:1/-1}
.inc .ck{width:26px;height:26px;flex:none;border-radius:50%;background:#fff;display:grid;place-items:center;margin-top:1px}
.inc .ck svg{width:12px;height:12px;fill:none;stroke:var(--vinho);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.inc b{display:block;font-size:1.02rem;font-weight:700;color:#fff}
.inc span span{display:block;margin-top:2px;font-size:.88rem;line-height:1.45;color:rgba(255,255,255,.78)}
.closing{display:flex;align-items:center;gap:14px;margin-top:22px}
.closing::before{content:"";width:34px;height:1.5px;background:rgba(255,255,255,.6);flex:none}

/* ---------- documentário ---------- */
.doc-sub{color:#F06A7E !important;font-size:clamp(.95rem,1.8vw,1.35rem) !important}

/* ---------- turmas ---------- */
.turmas{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(min-width:1040px){.turmas{grid-template-columns:repeat(4,1fr);gap:16px}}
.tm{
  position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:20px;isolation:isolate;
  display:flex;flex-direction:column;justify-content:flex-end;text-decoration:none;color:#fff;
}
.tm img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(.82) brightness(.94);transition:transform 1s var(--ease),filter .6s ease}
.tm:hover img{transform:scale(1.07);filter:none}
.tm::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 38%,rgba(17,10,11,.86))}
.tm .tmin{position:relative;padding:22px}
.tm .n{display:block;font-size:clamp(2.2rem,4.4vw,3.4rem);font-weight:800;line-height:.9;font-variant-numeric:tabular-nums}
.tm .t{display:block;margin-top:10px;font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.tm.open{background:linear-gradient(150deg,var(--vinho-flare),var(--vinho) 50%,var(--vinho-deep))}
.tm.open::after{background:radial-gradient(90% 60% at 50% 0%,rgba(255,255,255,.22),transparent 70%);opacity:1}
.tm.open{justify-content:center}
.tm.open .tmin{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.tm.open .pulse{
  position:absolute;top:18px;left:18px;display:inline-flex;align-items:center;gap:.6em;
  font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  background:rgba(255,255,255,.16);padding:.55em .9em;border-radius:999px;
}
.tm.open .pulse .dot{background:#fff}
.tm.open .pulse .dot::after{border-color:#fff}
.tm.open .big{font-size:clamp(1.6rem,3.4vw,2.6rem);font-weight:800;line-height:1;text-transform:uppercase}
.tm.open .go{
  margin-top:18px;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--vinho);
  display:grid;place-items:center;font-size:1.1rem;font-weight:700;transition:transform .45s var(--ease);
}
.tm.open:hover .go{transform:translateX(6px) rotate(-45deg)}

/* ---------- como participar (timeline) ---------- */
.steps{position:relative;display:grid;gap:14px}
.steps::before,.steps::after{content:"";position:absolute;left:18px;top:18px;bottom:18px;width:1px;background:rgba(255,255,255,.14)}
.steps::after{background:linear-gradient(180deg,var(--vinho-flare),var(--vinho));transform:scaleY(0);transform-origin:top;transition:transform 1.8s var(--ease) .2s}
.steps.in::after{transform:scaleY(1)}
.step{position:relative;display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:start}
.step .num{
  position:relative;z-index:1;width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;
  font-weight:800;font-size:.95rem;font-variant-numeric:tabular-nums;
  background:var(--noir);border:1px solid rgba(255,255,255,.25);color:#fff;
  transition:background .5s ease,border-color .5s ease,box-shadow .5s ease;
}
.steps.in .num{background:var(--vinho);border-color:var(--vinho-flare);box-shadow:0 0 0 6px rgba(210,46,69,.16)}
.steps.in .step:nth-child(2) .num{transition-delay:.45s}
.steps.in .step:nth-child(3) .num{transition-delay:.9s}
.steps.in .step:nth-child(4) .num{transition-delay:1.35s}
.step .body{
  padding:18px 20px;border-radius:18px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
  transition:background .3s,border-color .3s;
}
.step:hover .body{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.2)}
.step h3{margin:0 0 6px;font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.01em;color:#fff}
.step p{font-size:.93rem;line-height:1.55;color:rgba(255,255,255,.7)}
@media(min-width:900px){
  .steps{grid-template-columns:repeat(4,1fr);gap:18px}
  .steps::before,.steps::after{left:22px;right:22px;top:22px;bottom:auto;width:auto;height:1px}
  .steps::after{transform:scaleX(0);transform-origin:left}
  .steps.in::after{transform:scaleX(1)}
  .step{grid-template-columns:1fr;gap:22px}
  .step .num{width:44px;height:44px;font-size:1.05rem}
  .step .body{height:100%;padding:24px 22px}
}
.after-steps{display:flex;justify-content:center;margin-top:clamp(28px,4vw,48px)}

/* ---------- faq ---------- */
.faq-grid{display:grid;gap:26px}
@media(min-width:900px){
  .faq-grid{grid-template-columns:.8fr 1.2fr;gap:72px;align-items:start}
  .faq-side{position:sticky;top:120px}
}
.faq-side .cta{margin-top:26px}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  list-style:none;cursor:pointer;position:relative;
  padding:22px 56px 22px 0;
  font-size:clamp(.94rem,1.3vw,1.04rem);font-weight:700;line-height:1.3;text-transform:uppercase;letter-spacing:.01em;
  transition:color .25s;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--vinho)}
.faq summary .ic{
  position:absolute;right:0;top:50%;width:34px;height:34px;margin-top:-17px;border-radius:50%;
  border:1px solid var(--line);display:grid;place-items:center;
  transition:transform .45s var(--ease),background .3s,border-color .3s;
}
.faq summary .ic::before,.faq summary .ic::after{content:"";position:absolute;width:12px;height:1.5px;background:var(--vinho);transition:background .3s}
.faq summary .ic::after{transform:rotate(90deg)}
.faq details[open] summary .ic{transform:rotate(45deg);background:var(--vinho);border-color:var(--vinho)}
.faq details[open] summary .ic::before,.faq details[open] summary .ic::after{background:#fff}
.faq .ans{padding:0 56px 24px 0;max-width:68ch;color:var(--ink-soft);font-size:.98rem;line-height:1.7}
.faq .ans b{color:var(--ink)}
.faq details[open] .ans{animation:drop .5s var(--ease)}
@keyframes drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* ---------- final ---------- */
.final{position:relative;overflow:hidden;isolation:isolate;text-align:center}
.final .beams{opacity:.7}
.final .wrap{position:relative;padding-block:clamp(88px,11vw,150px);display:flex;flex-direction:column;align-items:center}
.halo{position:relative;display:grid;place-items:center;margin-bottom:28px}
.halo::before{
  content:"";position:absolute;width:170%;aspect-ratio:1;border-radius:50%;
  background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.55),transparent 30%);
  -webkit-mask:radial-gradient(closest-side,transparent 92%,#000 93%);
  mask:radial-gradient(closest-side,transparent 92%,#000 93%);
  animation:spin2 7s linear infinite;
}
@keyframes spin2{to{transform:rotate(360deg)}}
.final img.crest{position:relative;width:clamp(62px,7vw,92px)}
.final h2{max-width:16ch}
.final p{margin-top:20px;color:rgba(255,255,255,.86);max-width:52ch;font-size:clamp(1rem,1.3vw,1.1rem)}
.final .cta{margin-top:34px}
.final .fine{margin-top:20px;font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7)}

footer{background:var(--noir);color:rgba(255,255,255,.6);padding-block:34px calc(34px + env(safe-area-inset-bottom,0px))}
.ft{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}
.ft .fb{display:flex;align-items:center;gap:10px;color:#fff}
.ft .fb img{width:22px}

/* ---------- floating mobile bar ---------- */
.bar{
  position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:70;
  display:flex;gap:14px;align-items:center;justify-content:space-between;
  padding:10px 10px 10px 18px;border-radius:20px;
  background:rgba(255,255,255,.86);
  -webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);
  border:1px solid var(--line);
  box-shadow:0 20px 50px -20px rgba(17,10,11,.45);
  transform:translateY(160%);transition:transform .55s var(--ease);
}
.bar.show{transform:none}
.bar .info{font-size:.72rem;color:var(--ink-soft);font-weight:600;line-height:1.35}
.bar .info b{display:block;color:var(--ink);font-size:.82rem;font-weight:800}
.bar .cta{flex:none}
@media(min-width:1040px){.bar{display:none}}


/* ---------- polish ---------- */
.hdr{transition:background .45s ease,border-color .45s ease,color .45s ease,top .55s var(--ease),left .55s var(--ease),right .55s var(--ease),border-radius .55s var(--ease),box-shadow .45s ease}
.hdr.stuck{
  top:calc(env(safe-area-inset-top,0px) + 10px);left:12px;right:12px;
  max-width:1216px;margin-inline:auto;padding-top:0;
  border:1px solid var(--line);border-radius:18px;overflow:hidden;
  box-shadow:0 18px 40px -24px rgba(17,10,11,.35);
}
.hdr.stuck .hdr-in{height:62px}
.hdr.stuck .wrap{padding-inline:18px}
.hdr-in{transition:height .45s var(--ease)}

.hero-media video{animation:kb 26s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1.08)}to{transform:scale(1)}}

.lead,.faq .ans,.step p{text-wrap:pretty}

.media .badge{
  position:absolute;right:16px;bottom:16px;z-index:2;
  display:flex;align-items:center;gap:12px;
  padding:12px 18px 12px 16px;border-radius:16px;
  background:rgba(255,255,255,.84);color:var(--ink);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  box-shadow:0 22px 44px -22px rgba(0,0,0,.55);
}
.media .badge b{font-size:2.1rem;font-weight:800;line-height:1;color:var(--vinho);font-variant-numeric:tabular-nums}
.media .badge span{font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.3;max-width:12ch}

.ghost-num{
  position:absolute;left:50%;top:50%;z-index:-1;
  transform:translate(-50%,-50%);
  font-size:clamp(15rem,46vw,42rem);font-weight:800;line-height:.8;letter-spacing:-.06em;
  color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.13);
  pointer-events:none;user-select:none;white-space:nowrap;
}
footer{padding-bottom:0}
.ft-mark{
  display:block;margin-top:34px;
  font-size:clamp(4.5rem,23vw,21rem);font-weight:800;line-height:.76;letter-spacing:-.045em;
  text-align:center;white-space:nowrap;user-select:none;
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0) 88%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
@media(max-width:640px){
  .hdr.stuck{left:8px;right:8px;top:calc(env(safe-area-inset-top,0px) + 8px);border-radius:16px}
  .hdr.stuck .hdr-in{height:56px}
  .hdr.stuck .wrap{padding-inline:12px}
  .media .badge{right:10px;bottom:10px;padding:9px 13px 9px 12px;gap:9px;border-radius:13px}
  .media .badge b{font-size:1.6rem}
  .media .badge span{font-size:.56rem}
  .ft-mark{margin-top:24px}
}

/* ---------- phone: compact ---------- */
@media(max-width:640px){
  .sec{padding-block:48px}
  .head{margin-bottom:22px;gap:10px}
  .hdr-in{height:64px}
  .hero{min-height:86svh}
  .hero-in{padding-block:calc(92px + env(safe-area-inset-top,0px)) 56px;gap:18px}
  .chip{font-size:.6rem;letter-spacing:.1em}
  .cta.big{font-size:.84rem;padding:1.05em 1.8em}
  .hero-act{flex-direction:column;gap:14px}
  .hero-meta{grid-template-columns:1fr;margin-top:6px}
  .hero-meta > div{justify-content:center;padding:11px 22px}
  .hero-meta > div + div{border-left:0;border-top:1px solid rgba(255,255,255,.14)}
  .scroll-cue{display:none}
  .mq{padding-block:13px}
  .mq span{font-size:.88rem}
  .quote{margin:22px 0 0;padding:20px 18px 18px 52px}
  .quote::before{font-size:3.6rem;left:14px}
  .stat{flex-direction:row;align-items:center;min-height:0;padding:16px 18px;gap:12px}
  .stat b{font-size:1.2rem;white-space:nowrap}
  .stat span{text-align:right;font-size:.62rem}
  .pil h3,.pil article:nth-child(1) h3{font-size:.76rem;padding:12px}
  .pil .plus{width:26px;height:26px;right:10px;top:10px}
  .duo{gap:10px}
  .duo .media{aspect-ratio:4/5}
  .who{gap:8px;margin-top:20px}
  .who li{padding:11px 12px;font-size:.84rem;gap:9px}
  .inc{grid-template-columns:1fr;gap:8px}
  .inc li{padding:13px 14px;gap:12px}
  .inc b{font-size:.95rem}
  .inc span span{font-size:.84rem}
  .closing{margin-top:18px}
  .tm{border-radius:16px}
  .tm .tmin{padding:14px}
  .tm .n{font-size:1.9rem}
  .tm .t{font-size:.56rem;margin-top:6px}
  .tm.open .pulse{top:10px;left:10px;font-size:.5rem}
  .tm.open .big{font-size:1.2rem}
  .tm.open .go{width:36px;height:36px;margin-top:12px}
  .step .body{padding:14px 16px}
  .step h3{font-size:.92rem;margin-bottom:4px}
  .step p{font-size:.88rem;line-height:1.48}
  .faq summary{padding:16px 46px 16px 0;font-size:.88rem}
  .faq summary .ic{width:30px;height:30px;margin-top:-15px}
  .faq .ans{padding:0 0 18px;font-size:.92rem}
  .final .wrap{padding-block:64px}
  .final .cta{margin-top:26px}
  .vframe{border-radius:18px}
  .vframe .inner{border-radius:16.5px}
  .vframe .tag{left:12px;bottom:12px;font-size:.56rem}
  footer{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
}

/* utilitários (substituem estilos inline, para a CSP bloquear style="") */
.dly-0{--d:0s}.dly-01{--d:.1s}.dly-105{--d:1.05s}.dly-12{--d:1.2s}
.sub-soft{color:rgba(255,255,255,.8)}
.head.mb0{margin-bottom:0}

/* ---------- investimento ---------- */
#investimento .t-sub{color:rgba(255,255,255,.8)}
.price{display:grid;gap:14px;max-width:980px;margin-inline:auto}
@media(min-width:900px){.price{grid-template-columns:1.4fr auto 1fr;gap:18px;align-items:center}.pcard{align-self:stretch}}
.pou{
  justify-self:center;display:grid;place-items:center;
  width:58px;height:58px;border-radius:50%;
  background:var(--noir);color:#fff;border:1px solid rgba(255,255,255,.22);
  font-family:var(--display);font-weight:800;font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;
  box-shadow:0 16px 36px -14px rgba(0,0,0,.6);
}
.pcard{
  border-radius:calc(var(--r) + 6px);padding:clamp(26px,4vw,48px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
}
.pcard.main{background:#fff;color:var(--ink);box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 40px 80px -40px rgba(40,4,10,.7)}
.pcard.alt{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.ptag{
  font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  padding:.6em 1.2em;border-radius:99px;
}
.main .ptag{background:var(--vinho-tint);color:var(--vinho)}
.alt .ptag{background:rgba(255,255,255,.14);color:#fff}
.pval{
  margin:18px 0 0;display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:0 .18em;
  font-family:var(--display);font-weight:800;letter-spacing:-.035em;line-height:.9;
  font-variant-numeric:tabular-nums;
}
.pval .pre{flex-basis:100%;font-size:clamp(.95rem,1.4vw,1.1rem);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
.pval .cur{font-size:clamp(1.3rem,2.4vw,2rem);letter-spacing:0;align-self:flex-start;margin-top:.35em}
.main .num{font-size:clamp(4.6rem,11vw,8.2rem);color:var(--ink)}
.main .cur{color:var(--vinho)}
.alt .num{font-size:clamp(3rem,6.4vw,4.6rem)}
.pline{width:48px;height:3px;border-radius:3px;background:var(--vinho);margin:22px 0 18px}
.pnote{font-size:.95rem;line-height:1.55;max-width:36ch;margin:0}
.main .pnote{color:var(--ink-soft)}
.alt .pnote{color:rgba(255,255,255,.75);margin-top:14px}
.pfoot{text-align:center;font-size:.9rem;color:rgba(255,255,255,.75);margin:22px auto 0}
@media(max-width:640px){
  .pcard{padding:24px 18px}
  .pou{width:50px;height:50px;font-size:.92rem;margin:-4px 0}
  .pval{margin-top:14px}
  .main .num{font-size:4.4rem}
  .alt .num{font-size:2.6rem}
  .pline{margin:16px 0 14px}
  .pnote{font-size:.88rem}
  .pfoot{font-size:.82rem;margin-top:16px}
}

/* ---------- reveal ---------- */
html.js .rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
html.js .rv.in{opacity:1;transform:none}
html.js .media.rv{opacity:1;transform:none;clip-path:inset(14% 0 0 0 round var(--r));transition:clip-path 1.3s var(--ease)}
html.js .media.rv.in{clip-path:inset(0 0 0 0 round var(--r))}
html.js .d1s{transition-delay:.08s}
html.js .d2s{transition-delay:.16s}
html.js .d3s{transition-delay:.24s}

:focus-visible{outline:2px solid var(--vinho-flare);outline-offset:3px}

@media (prefers-reduced-motion: reduce){
  html.js .rv{opacity:1!important;transform:none!important;transition:none!important}
  html.js .media.rv{clip-path:none!important}
  html.js .hero .ld,html.js .hero-title .w{animation:none!important}
.hero-media video,
  .cta,.cta::after,.beams i,.mq-track,.vframe::before,.halo::before,.dot::after,.playbtn .disc::before,.playbtn .disc::after,.scroll-cue::after{animation:none!important}
  .media img,.hero-media{transform:none!important}
}


/* =========================================================
   Processo seletivo — segunda página (mesmo sistema visual)
   ========================================================= */
body.on-pv .bar{display:none}

.phdr{
  position:fixed;z-index:60;
  top:calc(env(safe-area-inset-top,0px) + 10px);left:12px;right:12px;
  max-width:1216px;margin-inline:auto;
  border-radius:18px;overflow:hidden;
  background:rgba(255,255,255,.86);
  -webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);
  border:1px solid var(--line);
  box-shadow:0 18px 40px -24px rgba(17,10,11,.35);
  color:var(--ink);
}
.phdr-in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:62px;padding-inline:18px}
.phdr .brand img{filter:invert(1) sepia(1) saturate(6) hue-rotate(310deg) brightness(.6)}
.back{
  display:inline-flex;align-items:center;gap:.6em;text-decoration:none;
  font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:.75em 1.15em;border-radius:999px;border:1px solid var(--line);
  transition:background .25s,border-color .25s,color .25s;
}
.back:hover{background:var(--vinho);border-color:var(--vinho);color:#fff}
.back span{display:inline-block;transition:transform .35s var(--ease)}
.back:hover span{transform:translateX(-4px)}

/* hero */
.phero{overflow:hidden}
.phero-in{
  position:relative;
  padding-block:calc(136px + env(safe-area-inset-top,0px)) clamp(64px,8vw,104px);
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px;
}
.phero h1{max-width:15ch}
.phero .lead{max-width:56ch}
.pnote{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px}
.pnote span{
  font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:.65em 1.05em;border-radius:999px;
  border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);color:rgba(255,255,255,.86);
}

/* por que selecionamos */
.why{display:grid;gap:22px}
@media(min-width:900px){.why{grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}}
.reasons{display:grid;gap:12px}
.reason{
  display:grid;grid-template-columns:46px 1fr;gap:16px;align-items:start;
  padding:22px;border-radius:20px;border:1px solid var(--line);background:#fff;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s;
}
.reason:hover{transform:translateY(-3px);border-color:rgba(165,28,48,.35);box-shadow:0 22px 44px -28px rgba(165,28,48,.45)}
.reason .ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--vinho-tint)}
.reason .ic svg{width:22px;height:22px;fill:none;stroke:var(--vinho);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.reason h3{margin:2px 0 6px;font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.01em}
.reason p{font-size:.95rem;line-height:1.55;color:var(--ink-soft)}

/* taxa da entrevista */
.fee{
  margin-top:18px;display:flex;gap:20px;align-items:center;
  padding:22px 24px;border-radius:20px;
  background:rgba(255,255,255,.05);border:1px dashed rgba(255,255,255,.24);
}
.fee .price{flex:none;display:grid;place-items:center;width:96px;height:96px;border-radius:50%;background:var(--vinho);box-shadow:0 0 0 6px rgba(210,46,69,.16)}
.fee .price b{font-size:1.45rem;font-weight:800;line-height:1;color:#fff;white-space:nowrap}
.fee h3{margin:0 0 6px;font-size:.98rem;font-weight:800;text-transform:uppercase;color:#fff}
.fee p{font-size:.93rem;line-height:1.55;color:rgba(255,255,255,.74)}

/* formulário */
.apply{display:grid;gap:26px}
@media(min-width:1000px){
  .apply{grid-template-columns:.7fr 1.3fr;gap:56px;align-items:start}
  .apply-side{position:sticky;top:110px}
}
.slist{list-style:none;display:grid;gap:6px;margin-top:26px}
.slist li{
  display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;
  font-size:.84rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--mute);
  transition:background .3s,color .3s,box-shadow .3s;
}
.slist li i{
  width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:none;
  font-style:normal;font-size:.78rem;border:1px solid var(--line);background:#fff;
  transition:background .3s,color .3s,border-color .3s;
}
.slist li.on{background:#fff;color:var(--ink);box-shadow:0 12px 26px -18px rgba(17,10,11,.4)}
.slist li.on i{background:var(--vinho);border-color:var(--vinho);color:#fff}
.slist li.done{color:var(--ink-soft)}
.slist li.done i{background:var(--vinho-tint);border-color:transparent;color:var(--vinho)}
@media(max-width:999px){.slist{display:none}}

.fcard{
  background:#fff;border:1px solid var(--line);border-radius:24px;
  padding:clamp(20px,3.6vw,40px);
  box-shadow:0 40px 80px -50px rgba(17,10,11,.35);
}
.fprog{margin-bottom:26px}
.fprog[hidden]{display:none}
.fprog .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}
.fprog .row b{font-size:clamp(1.12rem,2vw,1.45rem);font-weight:800;text-transform:uppercase}
.fprog .row span{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);white-space:nowrap}
.fbar{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.fbar i{position:relative;height:4px;border-radius:4px;background:var(--paper-2);overflow:hidden}
.fbar i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--vinho),var(--vinho-flare));transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.fbar i.on::after{transform:scaleX(1)}

#form-cand[hidden]{display:none}
.fstep{border:0;margin:0;padding:0;min-width:0}
.fstep[hidden]{display:none}
.fstep.enter{animation:stepin .55s var(--ease)}
@keyframes stepin{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
.fgrid{display:grid;gap:18px}
@media(min-width:700px){.fgrid{grid-template-columns:1fr 1fr}.fgrid .full{grid-column:1/-1}}
.field{display:grid;gap:8px;align-content:start}
.field > label,.field > .lab{font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);line-height:1.35}
.field .req{color:var(--vinho)}
.field .hint{font-size:.84rem;color:var(--mute);line-height:1.45;margin-top:-2px}
.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{
  width:100%;font:inherit;font-size:16px;color:var(--ink);
  padding:14px 16px;border-radius:12px;border:1px solid rgba(27,17,19,.16);background:#fff;
  -webkit-appearance:none;appearance:none;
  transition:border-color .2s,box-shadow .2s;
}
.field input[type=date]{min-height:52px}
.field textarea{min-height:124px;resize:vertical;line-height:1.55}
.field select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23A51C30' stroke-width='1.8'/></svg>");
  background-repeat:no-repeat;background-position:right 16px center;padding-right:42px;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--vinho);box-shadow:0 0 0 4px rgba(165,28,48,.12)}
.field .err{display:none;font-size:.8rem;font-weight:600;color:var(--vinho-flare)}
.field.invalid input:not([type=checkbox]):not([type=radio]),.field.invalid select,.field.invalid textarea{border-color:var(--vinho-flare)}
.field.invalid .err{display:block}
.field.invalid .opt span{border-color:rgba(210,46,69,.6)}
.field .info{display:none;font-size:.84rem;line-height:1.45;padding:10px 12px;border-radius:10px;background:var(--vinho-tint);color:var(--vinho-deep)}
.field .info.show{display:block}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;width:1px;height:1px}
.opt span{
  display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;
  border:1px solid rgba(27,17,19,.16);font-size:.9rem;font-weight:600;cursor:pointer;user-select:none;
  transition:background .2s,border-color .2s,color .2s;
}
.opt span:hover{border-color:var(--vinho)}
.opt input:checked + span{background:var(--vinho);border-color:var(--vinho);color:#fff}
.opt input:focus-visible + span{outline:2px solid var(--vinho-flare);outline-offset:2px}
.consent{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:14px;background:var(--paper-2);cursor:pointer;font-size:.92rem;line-height:1.5;color:var(--ink-soft)}
.field > label.consent{font-size:.92rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink-soft);line-height:1.5}
.consent input{width:20px;height:20px;margin-top:2px;accent-color:var(--vinho);flex:none}
.field.invalid .consent{box-shadow:inset 0 0 0 1px var(--vinho-flare)}
.fnav{display:flex;align-items:center;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.btn-ghost{
  font:inherit;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:1.05em 1.4em;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;
  transition:border-color .2s,color .2s;
}
.btn-ghost:hover{border-color:var(--vinho);color:var(--vinho)}
.btn-ghost[hidden]{display:none}
.fnav .cta{margin-left:auto;white-space:nowrap}
.btn-ghost{white-space:nowrap}
.next-box .cta{white-space:nowrap}
.fnav .cta[disabled]{opacity:.65;pointer-events:none}
.ferr{margin-top:14px;font-size:.88rem;font-weight:600;color:var(--vinho-flare)}
.ferr[hidden]{display:none}

.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.ts-box{min-height:65px}
.consent a{color:var(--vinho);text-decoration:underline;text-underline-offset:2px}
footer a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* página de privacidade */
.privacy{max-width:760px;padding-block:48px 80px}
.privacy .back{display:inline-block;margin-bottom:28px;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.privacy h2{margin:30px 0 8px;font-size:1.05rem;font-weight:800;text-transform:uppercase}
.privacy p{color:var(--ink-soft);line-height:1.7}
.privacy .todo{color:var(--vinho);font-weight:700}

/* candidatura enviada */
.done-panel{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;padding-block:8px}
.done-panel[hidden]{display:none}
@keyframes pop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
@keyframes draw{to{stroke-dashoffset:0}}
.done-panel > p b{color:var(--ink)}
.dtrack{list-style:none;margin:0;padding:0;width:100%;max-width:460px;display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.dtrack::before{content:"";position:absolute;top:19px;left:12.5%;right:12.5%;height:2px;background:var(--line);z-index:0}
.dtrack::after{content:"";position:absolute;top:19px;left:12.5%;width:25%;height:2px;background:var(--vinho);z-index:0}
.dtrack li{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.dtrack i{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:.9rem;font-weight:800;background:#fff;border:2px solid var(--line);color:var(--mute)}
.dtrack .ok i{background:var(--vinho);border-color:var(--vinho);animation:pop .7s var(--ease)}
.dtrack .ok i svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.dtrack .ok{color:var(--ink-soft)}
.dtrack .now{color:var(--vinho)}
.dtrack .now i{border-color:var(--vinho);color:var(--vinho);box-shadow:0 0 0 6px var(--vinho-tint);animation:nowpulse 2s ease-in-out infinite}
@keyframes nowpulse{50%{box-shadow:0 0 0 10px rgba(246,228,231,.4)}}
@media (prefers-reduced-motion: reduce){.dtrack i{animation:none!important}}
.dtrack li{min-width:0}
@media(max-width:640px){.dtrack li{font-size:.58rem;letter-spacing:.02em;gap:7px}.dtrack i{width:34px;height:34px;font-size:.8rem}.dtrack::before,.dtrack::after{top:16px}}
.done-panel h3{margin:10px 0 0;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;text-transform:uppercase;line-height:1.05}
.done-panel > p{color:var(--ink-soft);max-width:48ch}
.next-box{
  position:relative;overflow:hidden;isolation:isolate;
  width:100%;margin-top:10px;padding:28px 22px;border-radius:20px;
  background:var(--noir);color:#fff;display:grid;gap:12px;justify-items:center;
}
.next-box::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(70% 90% at 50% 120%,rgba(210,46,69,.5),transparent 70%)}
.next-box .k{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#F06A7E}
.next-box h4{margin:0;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:800;text-transform:uppercase}
.next-box p{color:rgba(255,255,255,.74);font-size:.93rem;max-width:44ch}
.next-box .cta{margin-top:6px}
.pending{font-size:.8rem;color:rgba(255,255,255,.66);border:1px dashed rgba(255,255,255,.28);border-radius:10px;padding:8px 12px}
.pending[hidden]{display:none}
.pending.flash{animation:flash .6s ease}
@keyframes flash{0%,100%{background:transparent}40%{background:rgba(210,46,69,.35)}}
.preview-note{font-size:.8rem;color:var(--mute)}
.preview-note[hidden]{display:none}
.done-panel .back{margin-top:6px}

@media(max-width:640px){
  .phdr{left:8px;right:8px;top:calc(env(safe-area-inset-top,0px) + 8px);border-radius:16px}
  .phdr-in{height:56px;padding-inline:12px}
  .phdr .brand span{display:none}
  .back{font-size:.68rem;padding:.7em 1em}
  .phero-in{padding-block:calc(104px + env(safe-area-inset-top,0px)) 52px;gap:16px}
  .pnote span{font-size:.6rem}
  .reason{grid-template-columns:38px 1fr;gap:12px;padding:16px}
  .reason .ic{width:38px;height:38px;border-radius:12px}
  .reason .ic svg{width:19px;height:19px}
  .reason h3{font-size:.92rem}
  .reason p{font-size:.88rem}
  .fee{padding:16px;gap:14px}
  .fee .price{width:70px;height:70px}
  .fee .price b{font-size:1.08rem}
  .fee p{font-size:.86rem}
  .fcard{border-radius:20px}
  .fgrid{gap:16px}
  .opt span{padding:9px 13px;font-size:.84rem}
  .fnav{margin-top:22px;padding-top:18px}
  .fnav .cta{flex:1;padding:1.05em 1.2em;font-size:.8rem}
  .next-box .cta{padding:1.05em 1.5em;font-size:.82rem}
  .btn-ghost{padding:1em 1.1em;font-size:.72rem}
}


/* =========================================================
   /agendar — escolha do horário da entrevista
   ========================================================= */
.ag-body{background:var(--paper-2);min-height:100vh}
.ag{max-width:720px;padding-top:calc(env(safe-area-inset-top,0px) + 104px);padding-bottom:64px}
.ag .dtrack{margin:0 auto 22px}
.ag-card{text-align:center}
.ag-st{display:flex;flex-direction:column;align-items:center;gap:14px}
.ag-st[hidden]{display:none}
.ag-h{margin:0;font-size:clamp(1.5rem,3.4vw,2.2rem);font-weight:800;line-height:1.05;text-transform:uppercase;text-wrap:balance}
.ag-lead{margin:0;color:var(--ink-soft);max-width:46ch}
.ag-sub{margin:6px 0 0;font-size:.88rem;color:var(--mute)}
.ag-sub a{color:var(--vinho)}
.ag-acts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px}
.ag-st form{width:100%;max-width:420px;text-align:left}
.ag-st form .cta{justify-self:start}

.spin{width:34px;height:34px;border-radius:50%;border:3px solid var(--vinho-tint);border-top-color:var(--vinho);animation:agspin .9s linear infinite}
@keyframes agspin{to{transform:rotate(360deg)}}

/* escolher: uma coluna só, tudo alinhado à esquerda */
.ag-esc{align-items:stretch;text-align:left;gap:0}
.ag-esc-head{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.ag-esc .ag-h{font-size:clamp(1.45rem,3.2vw,2rem)}
.ag-ok-pill{
  display:inline-flex;align-items:center;gap:6px;padding:6px 12px 6px 8px;border-radius:999px;
  background:var(--vinho-tint);color:var(--vinho);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
}
.ag-ok-pill svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}

.ag-bloco{padding:22px 0;border-bottom:1px solid var(--line)}
.ag-bloco-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.ag-lab{display:flex;align-items:center;gap:10px;margin:0;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.ag-lab b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--noir);color:#fff;font-size:.68rem;letter-spacing:0}
.ag-mes{margin:0;font-size:.82rem;font-weight:600;color:var(--mute)}

.ag-semana,.ag-dias{display:grid;grid-template-columns:repeat(var(--cols,5),1fr);gap:8px}
.ag-semana{margin-bottom:8px}
.ag-semana span{text-align:center;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.ag-dia{
  aspect-ratio:1;width:100%;border-radius:14px;cursor:pointer;font:inherit;font-size:1.05rem;font-weight:800;
  font-variant-numeric:tabular-nums;border:1px solid rgba(27,17,19,.14);background:#fff;color:var(--ink);
  transition:background .2s,border-color .2s,color .2s,transform .2s var(--ease);
}
.ag-dia:hover:not(:disabled){border-color:var(--vinho)}
.ag-dia:disabled{border-color:transparent;background:transparent;color:rgba(27,17,19,.22);cursor:default;font-weight:600}
.ag-dia.on{background:var(--vinho);border-color:var(--vinho);color:#fff}

.ag-periodo{margin:0 0 8px;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.ag-periodo:not(:first-child){margin-top:16px}
.ag-horas{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ag-hora{
  height:46px;border-radius:12px;cursor:pointer;font:inherit;font-size:.95rem;font-weight:700;font-variant-numeric:tabular-nums;
  border:1px solid rgba(27,17,19,.14);background:#fff;color:var(--ink);transition:background .2s,border-color .2s,color .2s;
}
.ag-hora:hover{border-color:var(--vinho)}
.ag-hora.on{background:var(--noir);border-color:var(--noir);color:#fff}
.ag-vazio{margin:0;color:var(--ink-soft)}
.ag-vazio[hidden],.ag-confirma[hidden]{display:none}

.ag-confirma{
  margin-top:22px;padding:18px;border-radius:18px;background:var(--noir);color:#fff;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.ag-conf-k{display:block;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#F06A7E;margin-bottom:4px}
.ag-confirma p{margin:0;font-weight:700;font-size:1rem;line-height:1.35}
.ag-confirma .cta{white-space:nowrap;flex:none;background:#fff;color:var(--vinho);animation:none}
.ag-confirma .cta::before{background:var(--vinho)}
.ag-confirma .cta:hover{color:#fff}

@media(min-width:641px){
  .ag-horas{grid-template-columns:repeat(6,1fr)}
  .ag-dia{aspect-ratio:auto;height:54px}
}
.ag-check{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--vinho);box-shadow:0 0 0 10px var(--vinho-tint)}
.ag-check svg{width:28px;height:28px;fill:none;stroke:#fff;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.ag-data{margin:0;font-size:clamp(1.1rem,2.4vw,1.4rem);font-weight:800;color:var(--vinho)}
.ag-app{margin-top:6px}
.ag [hidden]{display:none!important}

@media(max-width:640px){
  .ag{padding-top:calc(env(safe-area-inset-top,0px) + 84px)}
  .ag-confirma{flex-direction:column;align-items:stretch}
  .ag-confirma .cta{width:100%;box-sizing:border-box;padding-inline:1.2em;font-size:.84rem}
  .ag-semana,.ag-dias,.ag-horas{gap:6px}
  #ok-zoom{font-size:.84rem;padding:1.05em 1.8em}
}
