/* Motion refinements after pronto1. Existing palette and type sizes are retained. */
#palette-preview .tone-light .gold-bright-label,
#palette-preview .tone-ivory .gold-bright-label {font-weight:700}

.premium-site .btn-interactive {overflow:hidden;isolation:isolate}
.premium-site .btn-interactive::after {
 content:'';position:absolute;inset:-60% auto -60% -65%;width:38%;
 background:linear-gradient(90deg,transparent,#fff7df70,transparent);
 transform:skewX(-20deg);pointer-events:none;opacity:0;
}
@media(hover:hover) and (pointer:fine) {
 .premium-site .btn-interactive:hover::after {animation:button-reflection .65s ease-out}
}
.premium-site .btn-interactive:focus-visible::after {animation:button-reflection .65s ease-out}
.premium-site .btn-interactive:active {scale:.98;transition:scale .15s ease}
@keyframes button-reflection {10%{opacity:1}80%{opacity:1}100%{left:135%;opacity:0}}

@supports (background-clip:text) or (-webkit-background-clip:text) {
 #hero-section .hero-editorial-title .hero-title-emotion.hero-light-pass {
  background-image:linear-gradient(110deg,transparent 40%,#fff9e680 47%,#fffdf5 50%,#fff9e680 53%,transparent 60%),linear-gradient(110deg,#f8e7b2 10%,#dfbd71 55%,#c5a46d 95%);
  background-size:250% 100%,100% 100%;background-repeat:no-repeat;
  background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  animation:hero-light-pass 5s ease-in-out .7s 1 both;
 }
}
@keyframes hero-light-pass {from{background-position:100% 0,0 0}to{background-position:0 0,0 0}}
#hero-section .hero-editorial-title .hero-title-emotion.hero-text-breathe {
 --hero-breath-scale:1.07;transform-origin:center center;
 animation:hero-text-breathe 1.6s ease-in-out 1 both;
}
@keyframes hero-text-breathe {
 0%,100% {transform:scale(1);text-shadow:0 3px 26px #c5a46d16}
 35%,60% {transform:scale(var(--hero-breath-scale));text-shadow:0 3px 30px #dfbd7138}
}

.dimension-card .sensory-frame {position:relative;isolation:isolate}
.dimension-card .sensory-frame::after {content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit}
.dimension-card:nth-child(1) .sensory-frame img {transform-origin:50% 8%;animation:pendulum-drift 7s ease-in-out infinite;animation-play-state:paused}
.dimension-card:nth-child(2) .sensory-frame::after {
 background:radial-gradient(ellipse at 50% 30%,#f1d59a30,transparent 65%);
 animation:candle-breathe 4.8s ease-in-out infinite;animation-play-state:paused;
}
.dimension-card:nth-child(3) .sensory-frame.arrived img {animation:cards-arrive 2.2s cubic-bezier(.2,.65,.3,1) 1 both}
.dimension-card .sensory-frame.in-view img,
.dimension-card .sensory-frame.in-view::after {animation-play-state:running}
@keyframes pendulum-drift {0%,100%{rotate:-.65deg}50%{rotate:.65deg}}
@keyframes candle-breathe {0%,100%{opacity:.35}50%{opacity:.85}}
@keyframes cards-arrive {from{scale:1.09}to{scale:1}}

html.motion-ready body.premium-site .dimension-card p[data-motion],
html.motion-ready body.premium-site .dimension-card h3[data-motion] {--entry-x:0px;--entry-y:0px;--entry-scale:1}
html.motion-ready body.premium-site #o-terapeuta img[data-motion] {--entry-clip:inset(0);--entry-x:0px;--entry-scale:1}
html.motion-ready body.premium-site #o-terapeuta p.font-headline-sm[data-motion] {--entry-x:0px;--entry-y:0px;--reveal-delay:220ms}

/* Consistent chapter spacing; the viewport-sized hero keeps its approved layout. */
body.premium-site .premium-section:not(#hero-section) {padding-block:clamp(4rem,6vw,6.5rem)!important}
body.premium-site .premium-section::after {transition:opacity 1.5s ease}
#palette-preview .palette-refresh.tone-light::after {opacity:.45}
#palette-preview .palette-refresh.tone-ivory::after {opacity:.35}
#palette-preview .palette-refresh.section-lit::after {opacity:.7}
@media(max-width:767px) {
 body.premium-site .premium-section:not(#hero-section) {padding-block:3.8rem!important}
 .dimension-card:nth-child(1) .sensory-frame img {animation-duration:8s}
}
@media(min-width:1024px) and (pointer:fine) and (prefers-reduced-motion:reduce) {
 .premium-site .btn-interactive::after {display:none}
 .premium-site .btn-interactive:active {scale:1}
 #hero-section .hero-editorial-title .hero-title-emotion.hero-light-pass,
 #hero-section .hero-editorial-title .hero-title-emotion.hero-text-breathe,
 .dimension-card .sensory-frame img,.dimension-card .sensory-frame::after {animation:none!important;scale:1;rotate:none;transition:none}
 html.motion-ready body.premium-site .reveal-on-scroll[data-motion] {opacity:1!important;translate:none!important;scale:1;clip-path:none;transition:none!important}
}
/* These scoped rules match the site's requested touch-device motion policy.
   Explicit timing defeats the legacy universal 0.01ms reduction rule. */
@media(max-width:1023px), (pointer:coarse) {
 #hero-section .hero-editorial-title .hero-title-emotion.hero-text-breathe {
  --hero-breath-scale:1.03;animation-duration:1.6s!important;animation-iteration-count:1!important;
 }
 #hero-section .hero-editorial-title .hero-title-emotion.hero-light-pass {
  animation-duration:5s!important;animation-iteration-count:1!important;
 }
 .dimension-card:nth-child(1) .sensory-frame img {
  animation-duration:5.5s!important;animation-iteration-count:infinite!important;
 }
 .dimension-card:nth-child(2) .sensory-frame::after {
  background:radial-gradient(ellipse at 50% 30%,#f1d59a66,transparent 68%);
  animation-duration:3.6s!important;animation-iteration-count:infinite!important;
 }
 .dimension-card:nth-child(3) .sensory-frame.arrived img {
  animation-duration:2.2s!important;animation-iteration-count:1!important;
 }
}

/* Quiet lateral threads: keep the reading area clear and motion unchanged. */
.section-root {isolation:isolate}
.section-root .root-thread-watermark {
 position:absolute;
 top:12%;right:-5%;width:clamp(280px,38vw,620px);height:76%;
 background:url('../assets/images/fios-dourados-raiz-oculta.png') center / contain no-repeat;
 opacity:.11;pointer-events:none;z-index:0;
 -webkit-mask-image:linear-gradient(90deg,transparent,black 42%);
 mask-image:linear-gradient(90deg,transparent,black 42%);
}
.section-root .root-content {position:relative;z-index:1}
@media(max-width:767px) {
 .section-root .root-thread-watermark {
  top:22%;right:-12%;width:90%;height:58%;opacity:.085;
 }
}

/* Marca-d'agua: elos dourados se rompendo no texto de O Primeiro Passo. */
#primeiro-passo .first-step-copy {
 position:relative;
 isolation:isolate;
}
#primeiro-passo .first-step-copy::before {
 content:'';
 position:absolute;
 inset:-2.25rem -6rem -2.25rem 4%;
 z-index:0;
 background:url('../assets/images/elos-dourados-rompendo.png') 66% 50% / min(92%, 760px) auto no-repeat;
 opacity:.14;
 filter:saturate(.82) brightness(.92);
 pointer-events:none;
}
#primeiro-passo .first-step-copy > * {
 position:relative;
 z-index:1;
}
@media(max-width:767px) {
 #primeiro-passo .first-step-copy::before {
  inset:4% -1.5rem 2%;
  background-position:58% 38%;
  background-size:120% auto;
  opacity:.12;
 }
}
