/* Campo 3D do hero — o rosto e as peças em volta. O resto da home fica como está. */
.face-mount{
  position:absolute;
  inset:-2% 0 -2% 4%;
  z-index:2;
  pointer-events:none;
}
.visual.has-face > :not(.face-mount){visibility:hidden}
.hero .visual.has-face:before,
.hero .visual.has-face:after{display:none}
@media (min-width:900px){
  .hero .visual.has-face{height:700px}
}
@media (max-width:899px){
  .face-mount{display:none}
  .visual.has-face > :not(.face-mount){visibility:visible}
}
.sr-only{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

/* Cenas 3D das seções: pilares, proximidade, jornada e CTA. Só desktop. */
.s3d{pointer-events:none}
@media (max-width:899px){
  .s3d{display:none!important}
}
@media (min-width:900px){
  .cap-stage.has-3d{grid-template-columns:minmax(380px,460px) 1fr}
  .cap-constellation.has-3d{height:440px}
  .cap-constellation.has-3d > :not(.s3d){display:none}
  .s3d-pillars{position:absolute;inset:0}
  .proximity-stage.has-3d .proximity-art{visibility:hidden}
  .s3d-proximity{position:absolute;inset:0 0 56px;z-index:0}
  .proximity-stage.has-3d .proximity-modes{position:relative;z-index:1}
  .s3d-journey{position:relative;height:340px;margin:24px -28px 0}
  .s3d-cta{flex:0 0 320px;height:330px;margin:-56px 0}
  .journey-row{transition:transform .2s,opacity .4s}
  .journey-section:has(.journey-row.is-live) .journey-row:not(.is-live){opacity:.62}
  .journey-row.is-live h3{color:#f2d8a6}
}
