/* Hero "prancha viva": título sobre o vídeo, uma linha de cota dourada desce,
   o vídeo se recolhe para dentro da prancha e o texto sobe linha a linha.
   Sem script ou com movimento reduzido, tudo aparece em fluxo normal.
   O script liga html.hp-pin só em telas largas e altas o bastante. */

.hero.hero--prancha{display:block;min-height:0;padding:0;background:var(--d-bg,#06161d)!important;background-image:none!important;overflow:visible}
.hero.hero--prancha::before{display:none}
.hero--prancha .hero-visual{display:none!important}
.hp-stage{position:relative;overflow:hidden}

/* Vídeo de fundo */
.hp-photo{position:absolute;inset:0 0 auto;height:100svh;min-height:600px;z-index:0;background:#041118;contain:paint}
.hp-photo img,.hp-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center}
.hp-photo img,.hp-photo .hp-video{transform:scale(var(--push,1));transform-origin:70% 50%}
.hp-video{opacity:0;transition:opacity .9s ease}
.hp-video.is-playing{opacity:1}
.hp-video.is-playing~.hp-draw{display:none}
.hp-photo::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:calc(1 - var(--gather,0));background:
  linear-gradient(90deg,rgba(4,17,24,.94) 0%,rgba(4,17,24,.8) 38%,rgba(4,17,24,.4) 70%,rgba(4,17,24,.22) 100%),
  linear-gradient(0deg,rgba(6,22,29,1) 0%,rgba(6,22,29,0) 28%)}
.hp-credit{position:absolute;z-index:3;right:14px;bottom:14px;padding:3px 9px;border-radius:999px;background:rgba(4,17,24,.72);color:#dfe9ec;font-size:.72rem;opacity:calc(1 - var(--gather,0))}

/* Desenho técnico: só aparece quando o vídeo não toca */
.hp-draw{position:absolute;z-index:2;right:4%;top:50%;width:min(46vw,640px);height:auto;transform:translateY(-46%);overflow:visible;
  fill:none;stroke:rgba(238,244,246,.62);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.hp-draw path{stroke-dasharray:1;stroke-dashoffset:1;animation:hp-draw 1.4s cubic-bezier(.6,0,.2,1) forwards;animation-delay:calc(.35s + var(--i) * .22s)}
.hp-draw .hp-draw-cota path{stroke:rgba(232,185,42,.85);stroke-width:1}
.hp-draw .hp-draw-vida path{stroke:#e8b92a;stroke-width:2}
.hp-draw-dot{fill:#e8b92a;stroke:none;opacity:0;animation:hp-fade .5s ease forwards 2.4s}
.hp-draw text{fill:#e8b92a;stroke:none;font:600 13px/1 var(--font-body,sans-serif);letter-spacing:.14em;opacity:0;animation:hp-fade .6s ease forwards 2s}
@keyframes hp-draw{to{stroke-dashoffset:0}}
@keyframes hp-fade{to{opacity:1}}

/* A linha de cota que desce */
.hp-cota{position:absolute;left:0;right:0;top:0;z-index:3;height:2px;opacity:0;pointer-events:none;will-change:transform,opacity;
  background:linear-gradient(90deg,transparent,rgba(232,185,42,.95) 18%,#ffe08a 50%,rgba(232,185,42,.95) 82%,transparent);
  box-shadow:0 0 18px 3px rgba(232,185,42,.45),0 0 60px 8px rgba(212,160,23,.22)}
.hp-cota::before,.hp-cota::after{content:"";position:absolute;top:-6px;width:1px;height:14px;background:#e8b92a}
.hp-cota::before{left:18%}.hp-cota::after{right:18%}

/* Parte 1 */
.hp-one{position:relative;z-index:4;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:120px;padding-bottom:56px}
.hp-kicker{display:flex;align-items:center;gap:18px;margin:0 0 26px;font:600 .82rem/1.4 var(--font-body);letter-spacing:.24em;text-transform:uppercase;color:#eaf1f4;text-shadow:0 1px 10px rgba(0,18,30,.5)}
.hp-kicker::after{content:"";width:clamp(3rem,12vw,13rem);height:1px;background:linear-gradient(90deg,rgba(232,185,42,.9),rgba(232,185,42,0))}
.hp-head{position:relative;isolation:isolate;margin-bottom:40px;max-width:min(62rem,100%)}
.hp-one .hero-title{position:relative;z-index:1;margin:0;font-size:clamp(2.5rem,1.1rem + 4.8vw,5.6rem);line-height:.96;letter-spacing:-.01em;text-transform:uppercase;color:#fff;text-shadow:0 4px 30px rgba(0,10,20,.45)}
.hp-w{display:block}
.hp-one .hero-title .highlight{color:var(--d-gold-2,#e8b92a)!important;text-decoration:none}

/* Chamada principal: pílula dourada com disco e brilho, anéis atrás */
.hp-ctas{position:relative;isolation:isolate;display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.hp-rings{position:absolute;z-index:-1;left:9.5rem;top:50%;width:clamp(20rem,32vw,31rem);transform:translate(-50%,-50%);overflow:visible;pointer-events:none}
.hp-rings circle,.hp-rings path{fill:none;stroke:rgba(235,244,248,.24);stroke-width:1;vector-effect:non-scaling-stroke}
.hp-rings .far{stroke:rgba(235,244,248,.12)}
.hp-rings .tick{stroke:rgba(232,185,42,.7)}
.hp-cta{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;gap:18px;padding:7px 7px 7px 28px;border-radius:999px;text-decoration:none;
  background:linear-gradient(180deg,#f2c94c,#d4a017);color:#06161d;font:700 1.15rem/1 var(--font-body);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -4px 8px rgba(120,80,0,.25),0 3px 0 rgba(120,85,0,.6),0 22px 40px -14px rgba(0,10,20,.8);
  transition:transform .2s ease,box-shadow .2s ease}
.hp-cta::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.7) 50%,transparent 65%);transform:translateX(-120%);animation:hp-sheen 5.5s ease-in-out 1.2s infinite}
@keyframes hp-sheen{0%,70%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.hp-cta-disc{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:radial-gradient(circle at 35% 30%,#1a6480,#06161d 75%);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 2px 4px rgba(0,10,20,.35);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.hp-cta-disc svg{width:42%;height:42%}
.hp-cta:hover{transform:translateY(-1px)}
.hp-cta:hover .hp-cta-disc{transform:translateX(3px) rotate(-8deg)}
.hp-cta:active{transform:translateY(2px)}
.hp-cta:focus-visible,.hp-wa:focus-visible{outline:2px solid #fff;outline-offset:4px}
.hp-cta--sm{font-size:1.02rem;padding-left:22px}
.hp-cta--sm .hp-cta-disc{width:2.6rem;height:2.6rem}
.hp-wa{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;text-decoration:none;font:600 1rem/1 var(--font-body);color:#fff;
  background:rgba(6,22,29,.72);border:1px solid rgba(235,244,248,.3);transition:border-color .2s ease,background .2s ease}
.hp-wa svg{width:20px;height:20px;color:#3ddc84}
.hp-wa:hover{border-color:#fff;background:rgba(238,244,246,.1)}

/* Faixa de três destaques */
.hp-feats{list-style:none;display:flex;align-items:center;margin:48px 0 0;padding:0}
.hp-feats li{display:flex;align-items:center;gap:14px;padding:0 clamp(1.2rem,3vw,2.8rem);font:600 .82rem/1.4 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:#e8f0f3;text-shadow:0 1px 8px rgba(0,18,30,.45)}
.hp-feats li:first-child{padding-left:0}
.hp-feats li+li{border-left:1px solid rgba(235,244,248,.28)}
.hp-feat-ico{display:grid;place-items:center;width:2.8rem;height:2.8rem;flex:none;border-radius:50%;border:1px solid rgba(232,185,42,.6);background:rgba(6,22,29,.35)}
.hp-feat-ico .sol-icon{width:1.3rem;height:1.3rem;color:#fff!important}

/* Parte 2 */
.hp-two{position:relative;z-index:4;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(2rem,4.5vw,4.5rem);align-items:center;padding-top:24px;padding-bottom:72px}
.hp-copy{display:grid;gap:24px;max-width:36rem}
.hp-reveal-title{display:grid;margin:0;font:700 clamp(2rem,3.2vw,3.5rem)/1 var(--font-heading);text-transform:uppercase;color:#fff;letter-spacing:-.01em}
.hp-rl{display:block;overflow:hidden;padding-bottom:.06em}
.hp-rl>span{display:block}
.hp-rl--muted{color:rgba(238,244,246,.55)}
.hp-copy .hero-description{margin:0;font-size:1.125rem;line-height:1.6;color:var(--d-muted,#adc1c9)!important}
.hp-copy .hero-description strong{color:#fff!important}
.hp-copy .hero-stats{margin:0;padding:18px 0 0;border-top:1px solid rgba(205,228,236,.18);gap:40px}
.hp-copy .stat-number{color:var(--d-gold-2,#e8b92a)!important;font-size:2.3rem}
.hp-copy .stat-label{color:var(--d-muted,#adc1c9)!important}
.hp-two-ctas{display:flex;flex-wrap:wrap;gap:12px}

/* A prancha: vídeo + acompanhamento do projeto */
.hp-frame{position:relative;display:flex;flex-direction:column;justify-content:space-between;height:min(62vh,36rem);min-height:22rem;border-radius:16px;overflow:hidden;
  background:#041118;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 50px 90px -40px rgba(0,0,0,.95)}
.hp-video--frame{z-index:0}
.hp-frame::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(4,17,24,.35) 0%,rgba(4,17,24,0) 30%,rgba(4,17,24,0) 45%,rgba(4,17,24,.7) 100%)}
.hp-frame-bar{position:relative;z-index:2;display:flex;align-items:center;gap:12px;padding:12px 16px;background:rgba(4,17,24,.82);border-bottom:1px solid rgba(255,255,255,.1);font:600 .9rem/1.2 var(--font-body);color:#fff}
.hp-live{margin-left:auto;display:inline-flex;align-items:center;gap:7px;padding:4px 10px;border-radius:999px;background:rgba(232,185,42,.16);color:#f0cf6a;font-size:.8rem}
.hp-live i{width:7px;height:7px;border-radius:50%;background:#e8b92a;animation:hp-pulse 2s ease-out infinite}
@keyframes hp-pulse{0%{box-shadow:0 0 0 0 rgba(232,185,42,.6)}100%{box-shadow:0 0 0 7px rgba(232,185,42,0)}}

.hp-frame-bar>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hp-live{white-space:nowrap;flex:none}
.hp-steps{position:relative;z-index:2;list-style:none;margin:auto 14px 8px;padding:10px;display:grid;grid-template-columns:minmax(0,1fr);gap:2px;border-radius:14px;
  background:rgba(6,22,29,.88);border:1px solid rgba(255,255,255,.12)}
.hp-steps li{display:flex;align-items:center;gap:12px;padding:7px 8px;border-radius:9px;font:500 .98rem/1.3 var(--font-body);color:rgba(238,244,246,.5);transition:color .35s ease,background .35s ease}
.hp-steps li>span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hp-steps b{position:relative;display:grid;place-items:center;width:1.45rem;height:1.45rem;flex:none;border-radius:50%;border:1.5px solid rgba(238,244,246,.3);transition:background .3s ease,border-color .3s ease}
.hp-steps em{flex:none;font:600 .8rem/1 var(--font-heading);font-style:normal;letter-spacing:.04em;padding:5px 9px;border-radius:999px;background:rgba(238,244,246,.08);color:rgba(238,244,246,.65)}
.hp-steps li.is-now{color:#fff;background:rgba(232,185,42,.1)}
.hp-steps li.is-now b{border-color:#e8b92a;border-right-color:transparent;animation:hp-spin .9s linear infinite}
.hp-steps li.is-done{color:#eef4f6}
.hp-steps li.is-done b{background:#e8b92a;border-color:#e8b92a}
.hp-steps li.is-done b::after{content:"";width:.42rem;height:.7rem;margin-top:-.15rem;border:solid #06161d;border-width:0 2px 2px 0;transform:rotate(45deg)}
.hp-steps li.is-done em{background:rgba(232,185,42,.18);color:#f0cf6a}
.hp-steps li.is-gate.is-now{background:rgba(255,190,90,.14)}
.hp-steps li.is-gate.is-now b{animation:none;border-color:#ffc35a}
.hp-steps li.is-gate.is-now em{background:#ffc35a;color:#06161d}
@keyframes hp-spin{to{transform:rotate(360deg)}}
.hp-done{position:relative;z-index:2;display:flex;align-items:center;gap:10px;margin:0 14px 14px;padding:10px 14px;border-radius:12px;background:#e8b92a;color:#06161d;font:700 1rem/1.2 var(--font-body);
  opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease}
.hp-done.is-on{opacity:1;transform:none}
.hp-done b{display:grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;background:#06161d}
.hp-done b::after{content:"";width:.38rem;height:.66rem;margin-top:-.12rem;border:solid #e8b92a;border-width:0 2px 2px 0;transform:rotate(45deg)}

/* Modo fixo: a seção ocupa ~2 telas e o palco fica preso enquanto rola */
html.hp-pin .hero--prancha{height:195vh}
html.hp-pin .hp-stage{position:sticky;top:0;height:100vh}
html.hp-pin .hp-photo{height:100vh;min-height:0}
html.hp-pin .hp-one{position:absolute;inset:0;min-height:0}
html.hp-pin .hp-two{position:absolute;inset:0;padding-top:96px;padding-bottom:32px}
html.hp-pin .hp-frame{background:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,var(--frame-o,0)),0 50px 90px -40px rgba(0,0,0,calc(var(--frame-o,0) * 6))}
html.hp-pin .hp-frame::after,html.hp-pin .hp-frame-bar,html.hp-pin .hp-steps,html.hp-pin .hp-done{opacity:var(--frame-in,0)}
html.hp-pin .hp-done:not(.is-on){opacity:0}
html.hp-pin .hp-video--frame{display:none}
html.hp-pin.hp-one-off .hp-one{pointer-events:none;visibility:hidden}
html.hp-pin:not(.hp-two-on) .hp-two{pointer-events:none}
html.hp-pin:not(.hp-two-on) .hp-two a{visibility:hidden}

@media (max-width:1100px){
  .hp-feats li{letter-spacing:.1em;padding:0 1rem}
}
@media (max-width:899px){
  .hp-two{grid-template-columns:minmax(0,1fr)}
  .hp-frame{height:24rem}
  .hp-rings{display:none}
}
@media (max-width:640px){
  .hp-one{padding-top:100px;padding-bottom:48px}
  .hp-kicker{font-size:.7rem;letter-spacing:.16em;margin-bottom:18px}
  .hp-one .hero-title{font-size:clamp(2.1rem,10vw,2.9rem)}
    .hp-ctas{flex-direction:column;align-items:stretch;gap:12px}
  .hp-cta{justify-content:space-between}
  .hp-wa{justify-content:center}
  .hp-feats{margin-top:32px;width:100%;justify-content:space-between}
  .hp-feats li{flex-direction:column;gap:8px;padding:0 6px;text-align:center;font-size:.64rem;letter-spacing:.08em;flex:1}
  .hp-feats li+li{border-left:1px solid rgba(235,244,248,.2)}
  .hp-copy .hero-stats{gap:0}
  .hp-copy .stat-number{font-size:1.9rem}
  .hp-frame{height:26rem;min-height:0}
  .hp-steps li{font-size:.88rem;gap:10px;padding:6px}
  .hp-steps em{font-size:.7rem;padding:4px 7px}
  .hp-two-ctas>a{flex:1 1 100%;justify-content:center}
  .hp-two-ctas .hp-cta{justify-content:space-between}
}
@media (prefers-reduced-motion:reduce){
  .hp-draw path{animation:none;stroke-dashoffset:0}
  .hp-draw text,.hp-draw-dot{animation:none;opacity:1}
  .hp-live i,.hp-cta::after,.hp-steps li.is-now b{animation:none}
  .hp-cta,.hp-cta-disc,.hp-done,.hp-steps li{transition:none}
}
