/* Campos Salles — movimento reforçado exclusivamente na página inicial */

body.page-home {
  --home-velocity: 0;
  --hero-pointer-x: 0px;
  --hero-pointer-y: 0px;
}

body.page-home .hero,
body.page-home .motion-section {
  overflow: hidden;
  isolation: isolate;
}

/* Campo visual do hero: círculos e partículas, sem faixa de luz horizontal */
.hero-motion-field {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  transform: translate3d(var(--hero-pointer-x), var(--hero-pointer-y), 0);
  transition: transform .3s ease-out;
}

.hero-motion-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(214,195,163,.19);
  box-shadow: inset 0 0 42px rgba(214,195,163,.035), 0 0 38px rgba(214,195,163,.035);
  animation: heroRingFloat 9s ease-in-out infinite;
}

.hero-motion-ring.ring-one {
  width: min(54vw, 690px);
  aspect-ratio: 1;
  right: -11vw;
  top: 5%;
  animation-duration: 10.5s;
}

.hero-motion-ring.ring-two {
  width: min(34vw, 430px);
  aspect-ratio: 1;
  left: -8vw;
  bottom: 2%;
  border-color: rgba(245,245,242,.1);
  animation-delay: -3.4s;
  animation-duration: 8.6s;
}

.hero-motion-ring.ring-three {
  width: min(18vw, 240px);
  aspect-ratio: 1;
  left: 17%;
  top: 14%;
  border-color: rgba(214,195,163,.27);
  animation-delay: -5.2s;
  animation-duration: 7.4s;
}

.hero-motion-particle {
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--beige);
  box-shadow: 0 0 0 8px rgba(214,195,163,.05), 0 0 26px rgba(214,195,163,.55);
  opacity: .5;
  animation: heroParticleDrift 6.2s ease-in-out infinite;
}

.hero-motion-particle:nth-of-type(4) { left: 10%; top: 26%; animation-delay: -1s; }
.hero-motion-particle:nth-of-type(5) { right: 18%; top: 23%; animation-delay: -2.8s; transform: scale(.7); }
.hero-motion-particle:nth-of-type(6) { left: 25%; bottom: 18%; animation-delay: -4.2s; transform: scale(.55); }
.hero-motion-particle:nth-of-type(7) { right: 9%; bottom: 22%; animation-delay: -3.5s; transform: scale(.82); }
.hero-motion-particle:nth-of-type(8) { left: 49%; top: 11%; animation-delay: -5.1s; transform: scale(.45); }

@keyframes heroRingFloat {
  0%, 100% { transform: translate3d(0,0,0) rotate(0deg) scale(1); opacity: .42; }
  45% { transform: translate3d(-18px,24px,0) rotate(8deg) scale(1.045); opacity: .82; }
  72% { transform: translate3d(14px,-12px,0) rotate(-5deg) scale(.98); opacity: .58; }
}

@keyframes heroParticleDrift {
  0%, 100% { translate: 0 0; opacity: .25; }
  50% { translate: 0 -38px; opacity: .9; }
}

body.page-home .hero-wm-right {
  display: none !important;
}

@keyframes homeWatermarkFloat {
  0%, 100% { transform: translate3d(0,0,0) rotate(0deg) scale(1); opacity: .018; }
  50% { transform: translate3d(-18px,-14px,0) rotate(-2deg) scale(1.035); opacity: .035; }
}

body.page-home .scroll-line {
  position: relative;
  overflow: hidden;
}

body.page-home .scroll-line::after {
  content: '';
  position: absolute;
  left: 50%;
  top: -10px;
  width: 5px;
  height: 13px;
  border-radius: 999px;
  background: var(--beige);
  box-shadow: 0 0 16px rgba(214,195,163,.75);
  transform: translateX(-50%);
  animation: scrollDrop 1.5s cubic-bezier(.45,0,.2,1) infinite;
}

@keyframes scrollDrop {
  0% { top: -14px; opacity: 0; }
  20% { opacity: 1; }
  78% { opacity: 1; }
  100% { top: 44px; opacity: 0; }
}

/* Cada seção funciona como uma cena em movimento */
body.page-home .home-scene-content {
  --scene-x: 0px;
  --scene-y: 0px;
  --scene-scale: 1;
  --scene-rotate: 0deg;
  --scene-opacity: 1;
  transform: perspective(1600px)
    translate3d(var(--scene-x), var(--scene-y), 0)
    rotateX(var(--scene-rotate))
    scale(var(--scene-scale));
  opacity: var(--scene-opacity);
  transform-origin: center center;
  will-change: transform, opacity;
}

.home-motion-word {
  position: absolute;
  z-index: 0;
  top: 8%;
  left: -4%;
  max-width: none;
  white-space: nowrap;
  font-family: var(--sans);
  font-size: clamp(5rem, 14vw, 13rem);
  font-weight: 800;
  line-height: .82;
  letter-spacing: -.06em;
  text-transform: uppercase;
  color: transparent;
  -webkit-text-stroke: 1px rgba(214,195,163,.13);
  opacity: var(--word-opacity, .35);
  transform: translate3d(var(--word-x, 0px), var(--word-y, 0px), 0) rotate(-4deg);
  transform-origin: left center;
  pointer-events: none;
  user-select: none;
  will-change: transform, opacity;
}

body.page-home .motion-section:nth-of-type(even) .home-motion-word {
  left: auto;
  right: -4%;
  transform-origin: right center;
  rotate: 3deg;
}

body.page-home .motion-section.scene-active .motion-section-line {
  height: 2px;
  box-shadow: 0 0 24px rgba(214,195,163,.65);
}

body.page-home .motion-section-line {
  transition: width .12s linear, opacity .35s ease;
  opacity: calc(.25 + var(--section-visibility, 0) * .75);
}

/* Revelação mais forte e claramente perceptível na home */
html.motion-ready body.page-home .reveal {
  --motion-transform: translate3d(0, 165px, 0) scale(.82) rotateX(20deg);
  --motion-blur: 16px;
  transition-duration: 1.05s, 1.2s, 1.02s, 1.1s, .35s, .35s, .35s !important;
}

html.motion-ready body.page-home .reveal[data-reveal="left"],
html.motion-ready body.page-home .reveal[data-motion="left"] {
  --motion-transform: translate3d(-180px, 70px, 0) scale(.82) rotateY(-18deg);
}

html.motion-ready body.page-home .reveal[data-reveal="right"],
html.motion-ready body.page-home .reveal[data-motion="right"] {
  --motion-transform: translate3d(180px, 70px, 0) scale(.82) rotateY(18deg);
}

html.motion-ready body.page-home .reveal[data-motion="zoom"] {
  --motion-transform: translate3d(0, 70px, 0) scale(.58) rotateZ(-4deg);
}

html.motion-ready body.page-home .reveal[data-motion="flip"] {
  --motion-transform: translate3d(0, 130px, 0) perspective(1200px) rotateX(42deg) scale(.78);
}

html.motion-ready body.page-home .reveal.is-visible {
  transition-timing-function: cubic-bezier(.16,1,.3,1) !important;
}

/* Títulos ganham uma linha animada quando a cena entra */
body.page-home .sec-heading,
body.page-home .contato-title {
  position: relative;
  padding-bottom: .7rem;
}

body.page-home .sec-heading::after,
body.page-home .contato-title::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: min(150px, 34%);
  height: 3px;
  background: linear-gradient(90deg, var(--beige), rgba(214,195,163,.18));
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .85s cubic-bezier(.16,1,.3,1) .2s;
  box-shadow: 0 0 18px rgba(214,195,163,.35);
}

body.page-home .motion-section.scene-active .sec-heading::after,
body.page-home .motion-section.scene-active .contato-title::after {
  transform: scaleX(1);
}

/* Cards respiram após entrar, além do tilt no desktop */
body.page-home .scene-active .home-team-card:nth-child(odd),
body.page-home .scene-active .area:nth-child(odd),
body.page-home .scene-active .depoimento-card:nth-child(odd) {
  animation: homeCardFloatA 5.8s ease-in-out infinite;
}

body.page-home .scene-active .home-team-card:nth-child(even),
body.page-home .scene-active .area:nth-child(even),
body.page-home .scene-active .depoimento-card:nth-child(even) {
  animation: homeCardFloatB 6.4s ease-in-out infinite;
}

@keyframes homeCardFloatA {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -7px; }
}

@keyframes homeCardFloatB {
  0%, 100% { translate: 0 -2px; }
  50% { translate: 0 7px; }
}

/* Botões vivos, sem o brilho branco atravessando da esquerda para a direita */
body.page-home .btn-solid,
body.page-home .btn-call,
body.page-home .nav-cta {
  animation: homeButtonBeat 2.25s cubic-bezier(.4,0,.2,1) infinite !important;
}

body.page-home .btn-solid::before,
body.page-home .btn-call::before,
body.page-home .nav-cta::before {
  content: none !important;
  display: none !important;
  animation: none !important;
}

@keyframes homeButtonBeat {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(214,195,163,.06), 0 10px 28px rgba(0,0,0,.15);
  }
  48% {
    box-shadow: 0 0 0 10px rgba(214,195,163,.055), 0 18px 42px rgba(214,195,163,.18);
  }
  58% {
    box-shadow: 0 0 0 2px rgba(214,195,163,.11), 0 13px 34px rgba(214,195,163,.12);
  }
}

body.page-home .btn-ghost span {
  display: inline-block;
  animation: homeArrowNudge 1.35s ease-in-out infinite;
}

@keyframes homeArrowNudge {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(7px); }
}

body.page-home .area-link {
  animation: homeLinkPulse 2.6s ease-in-out infinite;
}

@keyframes homeLinkPulse {
  0%, 100% { opacity: .72; letter-spacing: .15em; }
  50% { opacity: 1; letter-spacing: .185em; }
}

/* Fotos mantêm o reveal por máscara e ganham leve oscilação de profundidade */
body.page-home .motion-mask-host.mask-visible > img {
  animation: homeImageBreathe 7s ease-in-out infinite;
}

@keyframes homeImageBreathe {
  0%, 100% { filter: saturate(.9) contrast(1.03) brightness(.9); }
  50% { filter: saturate(1.04) contrast(1.07) brightness(1); }
}

/* No celular o movimento continua evidente, porém sem gerar rolagem lateral */
@media (max-width: 900px) {
  .hero-motion-ring.ring-one { width: 118vw; right: -55vw; top: 10%; }
  .hero-motion-ring.ring-two { width: 82vw; left: -43vw; bottom: 5%; }
  .hero-motion-ring.ring-three { width: 47vw; left: 2%; top: 16%; }

  .home-motion-word {
    top: 4%;
    left: -18%;
    font-size: clamp(4.2rem, 24vw, 8rem);
    -webkit-text-stroke-color: rgba(214,195,163,.11);
  }

  body.page-home .motion-section:nth-of-type(even) .home-motion-word {
    right: -20%;
  }

  body.page-home .home-scene-content {
    transform: translate3d(0, var(--scene-y), 0) scale(var(--scene-scale));
  }

  html.motion-ready body.page-home .reveal {
    --motion-transform: translate3d(0, 125px, 0) scale(.84) rotateX(15deg);
  }

  html.motion-ready body.page-home .reveal[data-reveal="left"],
  html.motion-ready body.page-home .reveal[data-motion="left"] {
    --motion-transform: translate3d(-105px, 55px, 0) scale(.84) rotateY(-12deg);
  }

  html.motion-ready body.page-home .reveal[data-reveal="right"],
  html.motion-ready body.page-home .reveal[data-motion="right"] {
    --motion-transform: translate3d(105px, 55px, 0) scale(.84) rotateY(12deg);
  }

  body.page-home .scene-active .home-team-card,
  body.page-home .scene-active .area,
  body.page-home .scene-active .depoimento-card {
    animation-duration: 4.8s;
  }
}

@media (max-width: 640px) {
  .hero-motion-particle:nth-of-type(4),
  .hero-motion-particle:nth-of-type(6) { display: none; }

  body.page-home .sec-heading::after,
  body.page-home .contato-title::after {
    height: 2px;
    width: 110px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-motion-field,
  .hero-motion-ring,
  .hero-motion-particle,
  body.page-home .hero-wm-right,
  body.page-home .scroll-line::after,
  body.page-home .scene-active .home-team-card,
  body.page-home .scene-active .area,
  body.page-home .scene-active .depoimento-card,
  body.page-home .btn-solid,
  body.page-home .btn-call,
  body.page-home .nav-cta,
  body.page-home .btn-ghost span,
  body.page-home .area-link,
  body.page-home .motion-mask-host.mask-visible > img {
    animation: none !important;
  }

  body.page-home .home-scene-content,
  .home-motion-word {
    transform: none !important;
    opacity: 1 !important;
  }
}

/* ======================================================================
   HERO CINÉTICO V4 — título em três tempos e fragmentos do monograma
   ====================================================================== */

/* Os círculos e partículas da versão anterior foram substituídos pelos
   fragmentos do símbolo, linhas arquitetônicas e planos geométricos. */
body.page-home .hero-motion-field {
  display: none !important;
}

body.page-home .hero-title.kinetic-hero-title {
  width: min(100%, 960px);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .04em;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
  overflow: visible;
  font-size: clamp(2.25rem, 5.3vw, 4.65rem);
  line-height: .98;
  perspective: 1400px;
}

.kinetic-title-line {
  display: block;
  width: 100%;
  overflow: hidden;
  padding: .07em .08em .1em;
  will-change: transform, opacity;
}

.kinetic-title-line-inner {
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: .24em;
  transform-style: preserve-3d;
}

.kinetic-title-line .kinetic-word {
  display: inline-block;
  opacity: 0;
  will-change: transform, opacity, filter, letter-spacing;
}

.kinetic-title-line-one {
  transform: translate3d(calc(var(--hero-kinetic-progress, 0) * -18px), calc(var(--hero-kinetic-progress, 0) * -42px), 0);
}

.kinetic-title-line-one .kinetic-word {
  transform: translate3d(0, 1.2em, 0) rotateX(-72deg);
  filter: blur(12px);
}

body.page-entered .kinetic-title-line-one .kinetic-word {
  animation: kineticLineOne 1.05s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay: calc(.10s + var(--kinetic-word-index, 0) * 115ms);
}

.kinetic-title-line-two {
  font-size: .78em;
  font-weight: 600;
  letter-spacing: .045em;
  color: rgba(245,245,242,.78);
  transform: translate3d(calc(var(--hero-kinetic-progress, 0) * 28px), calc(var(--hero-kinetic-progress, 0) * -20px), 0);
}

.kinetic-title-line-two .kinetic-word {
  transform: translate3d(-1.4em, 0, 0) skewX(-10deg);
  filter: blur(9px);
}

body.page-entered .kinetic-title-line-two .kinetic-word {
  animation: kineticLineTwo .92s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay: calc(.38s + var(--kinetic-word-index, 0) * 105ms);
}

.kinetic-title-line-three {
  position: relative;
  width: auto;
  min-width: min(100%, 720px);
  margin-top: .04em;
  padding-bottom: .22em;
  color: var(--beige);
  font-size: 1.12em;
  letter-spacing: -.02em;
  transform: translate3d(0, calc(var(--hero-kinetic-progress, 0) * -7px), 0) scale(calc(1 + var(--hero-kinetic-progress, 0) * .055));
}

.kinetic-title-line-three .kinetic-title-line-inner {
  white-space: nowrap;
}

.kinetic-title-line-three .kinetic-word {
  transform: translate3d(0, .5em, 0) scale(.62);
  letter-spacing: .22em;
  filter: blur(16px);
}

body.page-entered .kinetic-title-line-three .kinetic-word {
  animation: kineticLineThree 1.22s cubic-bezier(.14,1.22,.28,1) .72s forwards;
}

.kinetic-title-line-three::after {
  content: '';
  position: absolute;
  left: 4%;
  right: 4%;
  bottom: .06em;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--beige) 18%, var(--beige) 82%, transparent);
  box-shadow: 0 0 18px rgba(214,195,163,.48);
  transform: scaleX(0);
  transform-origin: center;
}

body.page-entered .kinetic-title-line-three::after {
  animation: kineticUnderline 1.05s cubic-bezier(.16,1,.3,1) 1.18s forwards;
}

@keyframes kineticLineOne {
  0% { opacity: 0; transform: translate3d(0,1.2em,0) rotateX(-72deg); filter: blur(12px); }
  72% { opacity: 1; transform: translate3d(0,-.08em,0) rotateX(5deg); filter: blur(0); }
  100% { opacity: 1; transform: none; filter: blur(0); }
}

@keyframes kineticLineTwo {
  0% { opacity: 0; transform: translate3d(-1.4em,0,0) skewX(-10deg); filter: blur(9px); }
  72% { opacity: 1; transform: translate3d(.07em,0,0) skewX(2deg); filter: blur(0); }
  100% { opacity: 1; transform: none; filter: blur(0); }
}

@keyframes kineticLineThree {
  0% { opacity: 0; transform: translate3d(0,.5em,0) scale(.62); letter-spacing: .22em; filter: blur(16px); }
  58% { opacity: 1; transform: translate3d(0,-.06em,0) scale(1.075); letter-spacing: -.035em; filter: blur(0); }
  78% { transform: translate3d(0,.025em,0) scale(.985); letter-spacing: -.018em; }
  100% { opacity: 1; transform: none; letter-spacing: -.02em; filter: blur(0); }
}

@keyframes kineticUnderline {
  to { transform: scaleX(1); }
}

/* A primeira seção sobe sobre o hero para reforçar a transição de rolagem. */
body.page-home .sobre {
  position: relative;
  z-index: 5;
  margin-top: -2.2rem;
  border-radius: 2rem 2rem 0 0;
  box-shadow: 0 -34px 70px rgba(0,0,0,.36);
}

@media (max-width: 700px) {
  body.page-home .hero-title.kinetic-hero-title {
    font-size: clamp(2rem, 10.2vw, 3.2rem);
    line-height: 1;
    gap: .02em;
  }

  .kinetic-title-line {
    padding-inline: 0;
  }

  .kinetic-title-line-inner {
    column-gap: .19em;
  }

  .kinetic-title-line-two {
    font-size: .7em;
  }

  .kinetic-title-line-three {
    min-width: 0;
    width: 100%;
    font-size: .96em;
  }

  .kinetic-title-line-three .kinetic-title-line-inner {
    white-space: normal;
  }

  body.page-home .sobre {
    margin-top: -1.2rem;
    border-radius: 1.2rem 1.2rem 0 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .kinetic-title-line,
  .kinetic-title-line .kinetic-word,
  .kinetic-title-line-three::after {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
  }

  .kinetic-title-line-three::after {
    transform: scaleX(1) !important;
  }
}

/* V12 — home mais limpa, sem elementos geométricos ao fundo */
body.page-home .hero .brand-motion-field,
body.page-home .hero .hero-motion-field,
body.page-home .hero .hero-motion-particle,
body.page-home .hero .brand-puzzle-cluster,
body.page-home .hero .brand-micro-particle,
body.page-home .hero .brand-decision-path,
body.page-home .hero .brand-pill,
body.page-home .hero .brand-orbit-ring {
  display: none !important;
}

body.page-home .kinetic-title-line-three {
  color: var(--beige) !important;
}

/* ======================================================================
   V13 — hero arquitetônico, sem partículas; destaque final em "decisivos"
   ====================================================================== */

body.page-home .hero {
  position: relative;
  overflow: hidden;
}

body.page-home .hero-architecture {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .72;
}

body.page-home .hero-architecture svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

body.page-home .hero-architecture .arch-path {
  fill: none;
  stroke: rgba(214,195,163,.20);
  stroke-width: 1.15;
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 6 10;
  filter: drop-shadow(0 0 8px rgba(214,195,163,.08));
  transform-origin: center;
}

body.page-home .hero-architecture .arch-path-a {
  animation: architectureDriftA 11s ease-in-out infinite;
}

body.page-home .hero-architecture .arch-path-b {
  stroke: rgba(245,245,242,.12);
  animation: architectureDriftB 13s ease-in-out infinite;
}

body.page-home .hero-architecture .arch-path-c {
  stroke: rgba(214,195,163,.16);
  animation: architectureDriftC 9.5s ease-in-out infinite;
}

body.page-home .hero-architecture .arch-path-d {
  stroke: rgba(245,245,242,.10);
  animation: architectureDriftB 12s -2s ease-in-out infinite reverse;
}

body.page-home .hero-architecture .arch-path-e {
  stroke: rgba(214,195,163,.10);
  stroke-dasharray: 2 14;
  animation: architecturePulse 7s ease-in-out infinite;
}

@keyframes architectureDriftA {
  0%, 100% { transform: translate3d(0,0,0); opacity: .52; }
  50% { transform: translate3d(16px,-10px,0); opacity: .82; }
}

@keyframes architectureDriftB {
  0%, 100% { transform: translate3d(0,0,0); opacity: .40; }
  50% { transform: translate3d(-14px,12px,0); opacity: .68; }
}

@keyframes architectureDriftC {
  0%, 100% { transform: translate3d(0,0,0); opacity: .34; }
  50% { transform: translate3d(10px,8px,0); opacity: .62; }
}

@keyframes architecturePulse {
  0%, 100% { opacity: .22; }
  50% { opacity: .56; }
}

body.page-home .hero-inner,
body.page-home .scroll-hint {
  position: relative;
  z-index: 2;
}

/* As duas primeiras linhas ficam estáveis; a palavra final entra por último */
body.page-home .kinetic-title-line-one .kinetic-word,
body.page-home .kinetic-title-line-two .kinetic-word {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
}

body.page-home .kinetic-title-line-three .kinetic-word {
  opacity: 0;
}

body.page-entered .kinetic-title-line-three .kinetic-word {
  animation: kineticLineThree 1.18s cubic-bezier(.14,1.22,.28,1) .52s forwards !important;
}

/* Palavras de seção inteiras e legíveis no celular */
@media (max-width: 900px) {
  body.page-home .home-motion-word {
    --word-x: 0px !important;
    left: 50% !important;
    right: auto !important;
    width: 96% !important;
    max-width: 96% !important;
    text-align: center;
    white-space: normal !important;
    font-size: clamp(2.8rem, 15vw, 5.4rem) !important;
    line-height: .9 !important;
    letter-spacing: -.055em !important;
    transform: translate3d(-50%, var(--word-y, 0px), 0) rotate(-2deg) !important;
  }

  body.page-home .motion-section:nth-of-type(even) .home-motion-word {
    left: 50% !important;
    right: auto !important;
  }

  body.page-home .hero-architecture {
    opacity: .54;
  }

  body.page-home .hero-architecture .arch-path-a,
  body.page-home .hero-architecture .arch-path-d {
    opacity: .34;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-home .hero-architecture .arch-path {
    animation: none !important;
  }
}
body.page-home .hero-architecture .arch-path-a,
body.page-home .hero-architecture .arch-path-b,
body.page-home .hero-architecture .arch-path-c,
body.page-home .hero-architecture .arch-path-d {
  stroke-dasharray: none !important;
}


/* V15 — override forte para palavras das seções no mobile */
@media (max-width: 900px) {
  body.page-home .home-motion-word {
    left: 0 !important;
    right: 0 !important;
    margin: 0 auto !important;
    width: calc(100% - 1.2rem) !important;
    max-width: calc(100% - 1.2rem) !important;
    padding: 0 .6rem !important;
    transform: none !important;
    text-align: center !important;
    white-space: normal !important;
    font-size: clamp(2rem, 11vw, 3.9rem) !important;
    line-height: .94 !important;
    letter-spacing: -.03em !important;
    top: 1rem !important;
    opacity: .15 !important;
  }
  body.page-home .motion-section:nth-of-type(even) .home-motion-word {
    left: 0 !important;
    right: 0 !important;
  }
}


/* V17 — última garantia de alinhamento das palavras decorativas no mobile */
@media (max-width: 900px) {
  body.page-home .home-motion-word {
    left: 0 !important;
    right: 0 !important;
    margin-inline: auto !important;
    transform: none !important;
  }
}


/* V18 — reforço final do alinhamento das frases decorativas no mobile */
@media (max-width: 900px) {
  body.page-home .home-motion-word {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: calc(100% - 1.5rem) !important;
    max-width: calc(100% - 1.5rem) !important;
    text-align: center !important;
    white-space: nowrap !important;
    font-size: clamp(1.85rem, 9vw, 3.15rem) !important;
    opacity: .11 !important;
  }
  body.page-home .motion-section:nth-of-type(even) .home-motion-word {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }
}


/* V19 — trava final para a palavra decorativa no mobile não cortar */
@media (max-width: 900px) {
  body.page-home .home-motion-word {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) scale(.84) !important;
    transform-origin: top center !important;
    width: auto !important;
    max-width: none !important;
    white-space: nowrap !important;
    overflow: visible !important;
    font-size: clamp(1.7rem, 8vw, 2.8rem) !important;
    opacity: .09 !important;
  }
  body.page-home .motion-section:nth-of-type(even) .home-motion-word {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) scale(.84) !important;
  }
}


/* V22 — no mobile, o desenho permanece igual e o scroll deixa de mover
   continuamente o conteúdo das seções. */
@media (max-width: 900px) {
  html.mobile-performance body.page-home .home-scene-content {
    transform: none !important;
    opacity: 1 !important;
  }
  html.mobile-performance body.page-home .home-motion-word {
    will-change: auto !important;
  }
}
