/* ==========================================================================
   PSNE, tema escuro controlado
   Redefine as cores base das páginas escuras e padroniza botões e formas.
   Carregado depois dos estilos de cada página, por isso prevalece.
   Páginas claras (casos e central de contatos) não carregam este arquivo.
   ========================================================================== */
:root{
  --bg:#0A1220;        /* fundo */
  --bg2:#0E1828;       /* faixa */
  --card:#142136;      /* cartão */
  --card2:#18263D;     /* cartão em destaque */
  --navy:#0E1828;
  --blue:#2BBBF2;      /* azul único da marca em tela */
  --sky:#2BBBF2;
  --ink:#F2F6FC;
  --dim:#AFC0D6;       /* texto de apoio, legível */
  --faint:#7E90AA;
  --line:rgba(160,185,215,.16);
  --line2:rgba(160,185,215,.28);
  --green:#00C982;
  --red:#C0392F;
  --amber:#FFC24A;
}

/* cabeçalho opaco, para as formas não passarem por trás dele */
header#hdr,header.std-hdr,body>header{background:var(--bg) !important}

/* ===== formas ao fundo, só nas aberturas ===== */
.psne-shapes{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%)}
.psne-shapes b{position:absolute;display:block;border-radius:50%;filter:blur(62px);opacity:.9}
.psne-shapes b.g1{width:460px;height:460px;left:-60px;top:-120px;background:radial-gradient(circle,rgba(43,187,242,.34),transparent 68%);animation:psneFloat1 28s ease-in-out infinite}
.psne-shapes b.g2{width:400px;height:400px;right:-40px;top:10px;background:radial-gradient(circle,rgba(0,201,130,.22),transparent 68%);animation:psneFloat2 34s ease-in-out infinite}
.psne-shapes b.g3{width:360px;height:360px;left:44%;bottom:-140px;background:radial-gradient(circle,rgba(90,130,255,.26),transparent 68%);animation:psneFloat3 40s ease-in-out infinite}
.psne-shapes u{position:absolute;display:block;border:1px solid rgba(170,205,245,.18);border-radius:2px}
.psne-shapes u.q1{width:330px;height:210px;right:7%;top:-60px;animation:psneDrift1 34s ease-in-out infinite}
.psne-shapes u.q2{width:180px;height:180px;left:6%;bottom:-70px;animation:psneDrift2 42s ease-in-out infinite}
.psne-shapes u.q3{width:250px;height:130px;right:26%;bottom:10px;border-color:rgba(43,187,242,.2);animation:psneDrift3 30s ease-in-out infinite}
.psne-shapes u.q4{width:120px;height:250px;left:62%;top:-70px;border-color:rgba(0,201,130,.22);animation:psneDrift2 38s ease-in-out infinite}
@keyframes psneFloat1{0%,100%{transform:translate(0,0)}50%{transform:translate(60px,40px)}}
@keyframes psneFloat2{0%,100%{transform:translate(0,0)}50%{transform:translate(-50px,55px)}}
@keyframes psneFloat3{0%,100%{transform:translate(0,0)}50%{transform:translate(40px,-45px)}}
@keyframes psneDrift1{0%,100%{transform:translate(0,0)}50%{transform:translate(-26px,22px)}}
@keyframes psneDrift2{0%,100%{transform:translate(0,0)}50%{transform:translate(20px,-18px)}}
@keyframes psneDrift3{0%,100%{transform:translate(0,0)}50%{transform:translate(18px,14px)}}
@media (prefers-reduced-motion:reduce){.psne-shapes b,.psne-shapes u{animation:none}}
.hero,.phero,.psne-has-shapes{position:relative;isolation:isolate}
.hero>*:not(.psne-shapes),.phero>*:not(.psne-shapes),.psne-has-shapes>*:not(.psne-shapes){position:relative;z-index:1}

/* ===== botões em pílula, uma ação sólida por tela ===== */
.hbtn1,.cta-explore,.send,.btn-p{border-radius:100px !important;font-weight:600;letter-spacing:.01em}
.hbtn1,.cta-explore{background:#FFFFFF !important;color:#0A1220 !important;border:2px solid #FFFFFF;padding:13px 26px !important}
.hbtn1:hover,.cta-explore:hover{background:#DCE8F4 !important;border-color:#DCE8F4}
.hbtn2{border:2px solid var(--green);color:#FFFFFF !important;border-radius:100px;padding:11px 24px !important}
.hbtn2:hover{background:rgba(0,201,130,.16)}
.sol-cta,.part a.go,.award-strip a{display:inline-flex;align-items:center;gap:8px;width:fit-content;align-self:flex-start;border-radius:100px !important;border:2px solid var(--blue) !important;color:#FFFFFF !important;padding:9px 20px !important;font-weight:600}
.sol-cta:hover,.part a.go:hover,.award-strip a:hover{background:rgba(43,187,242,.16) !important}
.send{background:var(--blue) !important;color:#04121f !important}

/* ===== superfícies e contraste ===== */
.sol,.solx,.part,.ab-card,.kit,.plat,.model,.check div,.fus-ben,.rec-card,.ab-row{background:var(--card)}
.c-card,.obs-card,.award-strip{background:var(--card)}
.sec-p,.sol-p,.solx-p,.lead,.kit-d,.part p,.ab-card p,.ab-row p{color:var(--dim)}
