:root{--demo-word-ms:900;--demo-word-step:120;--demo-shadow-ms:var(--demo-card-ms);--demo-aux-scale:1;--demo-card-ms:700;--demo-photo-ms:1000;--demo-title-ms:700;--demo-faq-ms:500;--demo-batch-ms:160;--demo-distance:32;--demo-rotation:-.6;--demo-enter:cubic-bezier(.34,1.3,.64,1);--demo-water:cubic-bezier(.16,1,.3,1);--demo-speed:var(--velocidade-movimento,2)}
.estilo-agua-madeira{--demo-card-ms:1050;--demo-photo-ms:1500;--demo-title-ms:900;--demo-shadow-ms:900;--demo-faq-ms:750;--demo-batch-ms:200;--demo-aux-scale:1.5}
.estilo-editorial{--demo-card-ms:500;--demo-photo-ms:700;--demo-title-ms:500;--demo-distance:14;--demo-rotation:0;--demo-enter:cubic-bezier(.16,1,.3,1)}
.estilo-imersivo{--demo-card-ms:800;--demo-photo-ms:1100;--demo-rotation:0}
.estilo-organico{--demo-organic-photo-ms:600;--demo-card-ms:1050;--demo-photo-ms:1100;--demo-title-ms:900;--demo-shadow-ms:900;--demo-faq-ms:750;--demo-batch-ms:200;--demo-rotation:-.6;--demo-aux-scale:1.5}
.demo-shadow,.demo-wave,.demo-light,.demo-progress,.demo-title-line,.demo-ripple{display:none}
@media(prefers-reduced-motion:no-preference){
  html.demo-organic-photos :is(main img:not(.hero-photo):not(.hero-carranca):not(.hero-carranca-x):not(.ticket-art-img):not(.qr-image):not(.print-ticket-img),.ticket-hero img):not(.demo-photo-started){opacity:0;transform:scale(1.025);clip-path:inset(3% 4% 3% 4% round 16% 10% 14% 8%)}
  /* Foto do heroi (candidata a LCP): comeca em .01, nao em 0, para o navegador registrar a pintura cedo (o Chrome ignora opacidade 0). */
  html.demo-organic-photos .hero>picture:not(.demo-photo-started){opacity:.01;transform:scale(1.025);clip-path:inset(3% 4% 3% 4% round 16% 10% 14% 8%)}
  html.demo-organic-photos .demo-photo-started{opacity:1;clip-path:inset(0% 1% 0% 1% round 8% 14% 12% 6%)}
  html.demo-effect-boot:not(.estilo-nenhum) .hero-photo{clip-path:polygon(0 0,100% 0,100% 0,0 0)}
  .demo-motion-ready:not(.estilo-nenhum) .demo-word{display:inline-block;vertical-align:baseline}
  .demo-motion-ready:not(.estilo-nenhum) .demo-card{position:relative;isolation:isolate}
  :is(.estilo-agua-madeira,.estilo-imersivo,.estilo-organico).demo-motion-ready[data-madeira="on"] .demo-card{box-shadow:6px 7px 0 #d39849}
  :is(.estilo-agua-madeira,.estilo-imersivo,.estilo-organico).demo-motion-ready[data-madeira="on"] .demo-card:hover{transform:translateY(-3px);box-shadow:8px 10px 0 #d39849}
  .demo-motion-ready:not(.estilo-nenhum)[data-madeira="on"] .demo-card{transition:transform calc(350ms * var(--demo-speed) * var(--demo-aux-scale)) ease-in-out,box-shadow calc(350ms * var(--demo-speed) * var(--demo-aux-scale)) ease-in-out}
  .demo-motion-ready:not(.estilo-nenhum) .demo-photo{will-change:auto}
  .demo-motion-ready:not(.estilo-nenhum)[data-madeira="on"] :is(.field-error,#error,.resend-error):not([hidden]){padding:12px;border:2px solid var(--rust,#a9442c);background:var(--paper,#fff9ee)}
  .demo-faq-body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows calc(var(--demo-faq-ms) * 1ms * var(--demo-speed)) var(--demo-water),opacity calc(350ms * var(--demo-speed) * var(--demo-aux-scale)) ease-in-out}
  .demo-faq-body>div{min-height:0;overflow:hidden}
  .demo-faq-body.is-expanded,.demo-faq-body:focus-within{grid-template-rows:1fr;opacity:1}
  .demo-faq-body:focus-within{transition:none}
  .demo-motion-ready:not(.estilo-nenhum)[data-madeira="on"] .demo-faq[open]{border-left-width:3px}
  .demo-motion-ready:not(.estilo-nenhum)[data-madeira="on"] .demo-faq[open] summary{padding-bottom:20px}
  .demo-motion-ready:not(.estilo-nenhum)[data-madeira="on"] .demo-faq summary::after{transition:transform calc(var(--demo-faq-ms) * 1ms * var(--demo-speed)) var(--demo-enter)}
  .demo-motion-ready:not(.estilo-nenhum)[data-madeira="on"] .demo-faq[open] summary::after{transform:rotate(180deg)}
  .demo-motion-ready:not(.estilo-nenhum)[data-agua="on"] .demo-wave{display:block;width:100%;height:28px;overflow:visible;color:var(--gold,#d39849)}
  .demo-wave path{fill:none;stroke:currentColor;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:0}
  .estilo-editorial.demo-motion-ready[data-texto="on"] .demo-title-line{display:block;position:absolute;left:0;bottom:-6px;height:1px;background:var(--gold,#d39849);transform-origin:left;width:100%;margin-top:0}
  .estilo-editorial.demo-motion-ready .demo-card:hover{transform:none}
  .estilo-agua-madeira.demo-motion-ready[data-luz="on"] .demo-light{display:block;position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none}
  .demo-light i{position:absolute;left:var(--p-x);bottom:-10px;width:var(--p-size);height:var(--p-size);border-radius:50%;background:#efc775;opacity:0;animation:demo-spark calc(var(--p-time) * var(--demo-speed) * var(--demo-aux-scale)) linear infinite;animation-delay:calc(var(--p-delay) * var(--demo-speed) * var(--demo-aux-scale))}
  .demo-light i:nth-child(4n+1){--p-x:9%;--p-size:3px;--p-time:11s;--p-delay:-3s}
  .demo-light i:nth-child(4n+2){--p-x:32%;--p-size:2px;--p-time:14s;--p-delay:-8s}
  .demo-light i:nth-child(4n+3){--p-x:61%;--p-size:3px;--p-time:10s;--p-delay:-5s}
  .demo-light i:nth-child(4n){--p-x:88%;--p-size:2px;--p-time:12s;--p-delay:-1s}
  .demo-light i:nth-child(n+5){left:calc(var(--p-x) + 4%);--p-delay:-7s}
  .demo-light i:nth-child(n+9){left:calc(var(--p-x) - 5%);--p-delay:-11s}
  @keyframes demo-spark{0%{opacity:0;transform:translate(0,0)}25%{opacity:.24}80%{opacity:.12}100%{opacity:0;transform:translate(12px,-500px)}}
  .estilo-imersivo.demo-motion-ready[data-luz="on"] .demo-progress{display:block;position:fixed;left:0;top:0;width:100%;height:3px;background:#e6a43d;z-index:60;transform-origin:left;pointer-events:none}
  .estilo-organico.demo-motion-ready .demo-ripple-host{position:relative;overflow:hidden}
  .demo-ripple{display:block;position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:#edbf6c77;pointer-events:none}
  .estilo-nenhum .demo-faq-body{display:block;opacity:1;transition:none}
  .estilo-imersivo.demo-motion-ready[data-demo-stack="on"] .visit-grid{display:block}.estilo-imersivo.demo-motion-ready[data-demo-stack="on"] .visit-grid>.visit-card{position:sticky;top:90px;margin-bottom:26px}.estilo-imersivo .visit-grid>.visit-card:nth-child(2){top:108px}.estilo-imersivo .visit-grid>.visit-card:nth-child(3){top:126px}.estilo-imersivo .visit-grid>.visit-card:focus-within{z-index:20}
}
@media(prefers-reduced-motion:reduce){.demo-effect-boot .hero-photo{clip-path:none!important}.demo-shadow,.demo-wave,.demo-light,.demo-progress,.demo-ripple,.demo-title-line{display:none!important}.demo-word{display:contents}.demo-faq-body{display:block;opacity:1;transition:none!important}}
@media print{.demo-light,.demo-wave,.demo-shadow,.demo-progress,.demo-ripple{display:none!important}.demo-word{display:contents}.demo-faq-body{display:block;opacity:1}}

@media(prefers-reduced-motion:no-preference){.demo-motion-ready [data-wave-host]{position:relative}.demo-motion-ready .demo-wave{position:absolute;left:0;bottom:-18px}.estilo-nenhum .demo-word{display:contents}.estilo-nenhum .demo-faq-body,.demo-motion-ready[data-madeira="off"] .demo-faq-body{transition:none;opacity:1}}
@media(prefers-reduced-motion:no-preference) and (min-width:801px){.estilo-imersivo.demo-motion-ready .hero>picture{position:absolute;inset:-48px 0;display:block;overflow:hidden}}

@media(prefers-reduced-motion:no-preference){.demo-motion-ready .demo-title{position:relative}.estilo-editorial .demo-wave{display:none!important}.estilo-editorial :is(button,a):not(.back-to-top):hover{transform:none}}
.demo-light i:nth-child(1){--p-x:9%;left:var(--p-x);--p-time:11s;--p-delay:-7s}
.demo-light i:nth-child(2){--p-x:77%;left:var(--p-x);--p-time:14s;--p-delay:-1s}
.demo-light i:nth-child(3){--p-x:23%;left:var(--p-x);--p-time:9s;--p-delay:-8s}
.demo-light i:nth-child(4){--p-x:51%;left:var(--p-x);--p-time:12s;--p-delay:-2s}
.demo-light i:nth-child(5){--p-x:89%;left:var(--p-x);--p-time:10s;--p-delay:-9s}
.demo-light i:nth-child(6){--p-x:39%;left:var(--p-x);--p-time:13s;--p-delay:-3s}
.demo-light i:nth-child(7){--p-x:66%;left:var(--p-x);--p-time:8s;--p-delay:-10s}
.demo-light i:nth-child(8){--p-x:16%;left:var(--p-x);--p-time:11s;--p-delay:-4s}
.demo-light i:nth-child(9){--p-x:94%;left:var(--p-x);--p-time:14s;--p-delay:-11s}
.demo-light i:nth-child(10){--p-x:44%;left:var(--p-x);--p-time:10s;--p-delay:-5s}
.demo-light i:nth-child(11){--p-x:71%;left:var(--p-x);--p-time:12s;--p-delay:-12s}
.demo-light i:nth-child(12){--p-x:5%;left:var(--p-x);--p-time:9s;--p-delay:-6s}

.estilo-nenhum .demo-card,.demo-motion-ready[data-madeira="off"] .demo-card{transition:none!important}
.demo-card-copy{transform-origin:left center}
.demo-plate-fill,.demo-plate-diamond{display:none;pointer-events:none}
@media(prefers-reduced-motion:no-preference){
}

/* A mascara recorta foto E sombreado. O que fica de fora e o fundo do tema. */
.estilo-organico .hero{background:var(--cream)}
.estilo-organico .hero::after{background:none}
.estilo-organico .hero>picture{position:absolute;inset:0;display:block;overflow:hidden}
/* Foto + degrade escuro recortados por UM so clip-path: em camada propria o recorte vira uma mascara unica; sem isso o antialias da borda era aplicado a foto e ao degrade separadamente e sobrava uma coluna de 1 px mais clara (a 'fresta' da borda esquerda) */
.estilo-organico .hero>picture{transform:translateZ(0)}
.estilo-organico .hero>picture::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgb(var(--topo-rgb) / .851) 0%,rgb(var(--topo-rgb) / .667) 34%,rgb(var(--topo-rgb) / .349) 65%,rgb(var(--topo-rgb) / .251) 100%)}
html .pattern-band{background:repeating-linear-gradient(90deg,var(--cream) 0 28px,var(--rust) 28px 35px,var(--gold) 35px 42px,var(--cream) 42px 70px)}
@media(max-width:800px){
  .estilo-organico .hero>picture{height:min(558px,143vw);bottom:auto}
  .estilo-organico .hero .hero-photo{height:100%}
  .estilo-organico .hero>picture::after{background:linear-gradient(180deg,rgb(var(--topo-rgb) / .702) 0%,rgb(var(--topo-rgb) / .365) 29%,rgb(var(--topo-rgb) / .678) 55%,rgb(var(--topo-rgb)) 100%)}
  .estilo-organico .hero-content>p{color:var(--muted)}
  .estilo-organico .hero-actions .text-cta{color:var(--rust)}
}
.demo-card-trace,.demo-card-shadow{display:none;pointer-events:none}
@media(prefers-reduced-motion:no-preference){
  .demo-motion-ready:not(.estilo-nenhum) span.demo-card-copy{display:inline-block;max-width:100%}
  .demo-motion-ready:not(.estilo-nenhum) span.demo-card-symbol{display:inline-block;transform-origin:center}
  .demo-motion-ready:not(.estilo-nenhum)[data-madeira="on"] .demo-card{box-shadow:none;transition:transform calc(350ms * var(--demo-speed)) ease-in-out}
  .demo-motion-ready:not(.estilo-nenhum)[data-madeira="on"] .demo-card:is(:hover,:focus-within){transform:translateY(-3px);box-shadow:none}
  .demo-motion-ready:not(.estilo-nenhum)[data-madeira="on"] .demo-card-trace{display:block;position:absolute;inset:0;border-radius:inherit;z-index:2}
  .demo-card-trace>i{position:absolute;display:block;background:#e6b65e;pointer-events:none}
  .demo-card-trace>i:nth-child(1){left:0;top:0;width:100%;height:2px;transform-origin:left}
  .demo-card-trace>i:nth-child(2){right:0;top:0;width:2px;height:100%;transform-origin:top}
  .demo-card-trace>i:nth-child(3){right:0;bottom:0;width:100%;height:2px;transform-origin:right}
  .demo-card-trace>i:nth-child(4){left:0;bottom:0;width:2px;height:100%;transform-origin:bottom}
  .demo-card-trace::after{content:'';position:absolute;inset:0;border:1px solid #ffe0a1;box-shadow:0 0 10px #e6b65e88,inset 0 0 5px #e6b65e66;border-radius:inherit;opacity:0;transition:opacity calc(350ms * var(--demo-speed)) ease-in-out}
  .demo-card:is(:hover,:focus-within)>.demo-card-trace::after,.demo-card:is(:hover,:focus-within)>summary>.demo-card-trace::after{opacity:1}
  :is(.estilo-agua-madeira,.estilo-organico).demo-motion-ready[data-madeira="on"] .demo-card-shadow{display:block;position:absolute;inset:0;z-index:-1;border-right:6px solid #d39849;border-bottom:7px solid #d39849;transform:translate(6px,7px)}
}
@media(prefers-reduced-motion:reduce){.demo-card-trace,.demo-card-shadow{display:none!important}}
@media print{.demo-card-trace,.demo-card-shadow{display:none!important}}
@media print{html.demo-organic-photos main img,html.demo-organic-photos .hero>picture{opacity:1!important;transform:none!important;clip-path:none!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

@media(prefers-reduced-motion:no-preference){.estilo-editorial.demo-motion-ready .demo-card{transition:color calc(350ms * var(--demo-speed) * var(--demo-aux-scale)),background-color calc(350ms * var(--demo-speed) * var(--demo-aux-scale)),border-color calc(350ms * var(--demo-speed) * var(--demo-aux-scale))}.estilo-editorial.demo-motion-ready .faq .demo-card{box-shadow:5px 5px 0 #d39849!important}}

@media(prefers-reduced-motion:no-preference){
  .estilo-organico.demo-motion-ready[data-madeira="on"] .demo-card{transition:transform calc(525ms * var(--demo-speed)) cubic-bezier(.22,1,.36,1)}
  .estilo-organico.demo-motion-ready[data-madeira="on"] .demo-card:is(:hover,:focus-within){transform:none;box-shadow:none}
  .estilo-organico.demo-motion-ready[data-madeira="on"] .demo-card.demo-settled:is(:hover,:focus-within){transform:translateY(-3px)}
  .estilo-organico.demo-motion-ready[data-madeira="on"] .demo-card-shadow{transition:transform calc(525ms * var(--demo-speed)) cubic-bezier(.22,1,.36,1)}
  .estilo-organico.demo-motion-ready[data-madeira="on"] .demo-card.demo-settled:is(:hover,:focus-within)>.demo-card-shadow{transform:translate(8px,10px) scale(1.015)}
  .estilo-organico.demo-motion-ready[data-madeira="on"] .demo-card-trace::after{transition:opacity calc(525ms * var(--demo-speed)) cubic-bezier(.22,1,.36,1)}
}

/* Pecas soltas (rotulos, paragrafos, links, botoes, faixas, passos, cabecalho, rodape) */
.demo-steps-line{display:none;pointer-events:none}
@media(prefers-reduced-motion:no-preference){
  .demo-motion-ready:not(.estilo-nenhum) .demo-loose{transform-origin:left center}
  .demo-motion-ready:not(.estilo-nenhum) .demo-loose[data-demo-kind="numero"],.demo-motion-ready:not(.estilo-nenhum) .demo-loose-centro{transform-origin:center}
  .demo-motion-ready:not(.estilo-nenhum) .steps.demo-steps{position:relative;border-left-color:transparent}
  .demo-motion-ready:not(.estilo-nenhum) .demo-steps-line{display:block;position:absolute;left:-3px;top:0;bottom:0;width:3px;background:var(--rust,#a9442c);transform-origin:top center}
  html.demo-effect-boot:not(.estilo-nenhum) body>:not(#demo-movimento,script,style,link){visibility:hidden}
  .demo-motion-ready:not(.estilo-nenhum) .demo-await{visibility:hidden!important}
  /* Quem e (ou contem) controle continua focavel pelo teclado enquanto espera: so transparente, nunca visibility:hidden. */
  .demo-motion-ready:not(.estilo-nenhum) .demo-await:is(a,button,summary,input,select,textarea,label,[tabindex]),.demo-motion-ready:not(.estilo-nenhum) .demo-await:has(a,button,summary,input,select,textarea,label,[tabindex]),.demo-motion-ready:not(.estilo-nenhum) label .demo-await{visibility:visible!important;opacity:0!important}
}
@media(prefers-reduced-motion:reduce){.demo-steps-line{display:none!important}}
@media print{.demo-steps-line{display:none!important}}

/* Selecao: hover, foco por teclado e pressionado em todo clicavel (so transform e box-shadow; tipos marcados em efeitos.js) */
@media(prefers-reduced-motion:no-preference){
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel]{transition:transform 200ms cubic-bezier(.22,1,.36,1),box-shadow 200ms ease-out}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="inline"]{border-radius:2px}
  .demo-motion-ready:not(.estilo-nenhum) .demo-seta{display:inline-block;transition:transform 220ms cubic-bezier(.22,1,.36,1)}
  /* foco por teclado: sempre (anel dourado do site + o mesmo gesto do hover) */
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="botao"]:focus-visible{transform:translate(-2px,-3px) scale(1.02)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="link"]:focus-visible{transform:translateY(-2px)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="marca"]:focus-visible{transform:scale(1.05)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="resumo"]:focus-visible{transform:translateX(4px)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="controle"]:focus-within{transform:translateY(-2px)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="inline"]:focus-visible{box-shadow:0 0 0 3px var(--gold,#e6a43d)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel]:focus-visible .demo-seta{transform:translateX(5px)}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover){
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="botao"]:hover{transform:translate(-2px,-3px) scale(1.02)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="link"]:hover{transform:translateY(-2px)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="marca"]:hover{transform:scale(1.05)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="resumo"]:hover{transform:translateX(4px)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="controle"]:hover{transform:translateY(-2px)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="inline"]:hover{box-shadow:0 2px 0 var(--gold,#e6a43d)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel]:hover .demo-seta{transform:translateX(5px)}
}
/* pressionado: vence o hover e o foco (vem depois, mesma especificidade ou maior) */
@media(prefers-reduced-motion:no-preference){
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="botao"]:active:active{transform:translate(1px,1px) scale(.97)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="link"]:active:active{transform:translateY(0) scale(.97)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="marca"]:active:active{transform:scale(.97)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="resumo"]:active:active{transform:translateX(1px) scale(.99)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="controle"]:active:active{transform:scale(.97)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="inline"]:active:active{box-shadow:0 1px 0 var(--rust,#a9442c)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel]:active:active .demo-seta{transform:translateX(2px)}
}

/* Selecao (aprovada em 27/10/2026, antigo nivel 2): preenchimento por clip-path, brilho que passa uma vez, sombra com mola so no retorno, sublinhado que
   desenha pela esquerda e apaga pela direita, card que sobe 3 px com zoom de 1,03 na imagem. 160 a 240 ms; so transform, clip-path e box-shadow. */
@media(prefers-reduced-motion:no-preference){
  html{--demo-mola:cubic-bezier(.34,1.56,.64,1);--demo-sai:cubic-bezier(.22,1,.36,1)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel]{transition:transform 240ms var(--demo-mola),box-shadow 240ms var(--demo-mola)}
  .demo-motion-ready:not(.estilo-nenhum) .demo-seta{transition:transform 240ms var(--demo-mola)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="botao"]:not(.back-to-top):not(.back-to-bottom):not(.salto-chat-toggle):not(.demo-ripple-host){position:relative;isolation:isolate;overflow:clip}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="botao"]:not(.back-to-top)::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(rgba(255,255,255,.34),rgba(255,255,255,.34));clip-path:inset(0 100% 0 0);transition:clip-path 240ms var(--demo-mola)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="botao"]:not(.back-to-top)::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;border:2px solid #ffe3a3;clip-path:inset(0 100% 0 0)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="botao"]:not(.back-to-top):focus-visible::before{clip-path:inset(0 0 0 0)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="botao"]:not(.back-to-top):focus-visible::after{animation:demo-brilho 360ms var(--demo-sai) 1}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="botao"]:focus-visible{transform:translate(-2px,-3px) scale(1.02);box-shadow:4px 5px 0 #d39849;transition-timing-function:var(--demo-sai);transition-duration:200ms}
  .demo-motion-ready:not(.estilo-nenhum) .primary-cta[data-demo-sel]:focus-visible{box-shadow:9px 10px 0 var(--rust)}
  .demo-motion-ready:not(.estilo-nenhum) .back-to-top[data-demo-sel]:focus-visible{box-shadow:6px 7px 0 var(--rust)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel]:focus-visible .demo-seta{transform:translateX(5px);transition-timing-function:var(--demo-sai);transition-duration:200ms}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="link"]:not(.back-to-bottom):not(.salto-chat-toggle){position:relative}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="link"]::before{content:'';position:absolute;inset:-12px -10px}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="link"]::after{content:'';position:absolute;left:0;right:0;bottom:1px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:right center;transition:transform 220ms var(--demo-sai);pointer-events:none}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="link"]:focus-visible{transform:none;text-decoration:none}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="link"]:focus-visible::after{transform:scaleX(1);transform-origin:left center}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="card"]{overflow:clip}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="card"] img{transition:transform 240ms var(--demo-mola)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="card"]:focus-visible{transform:translateY(-3px);box-shadow:0 7px 0 rgba(36,30,25,.22)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="card"]:focus-visible img{transform:scale(1.03)}
  @keyframes demo-brilho{0%{clip-path:inset(0 100% 0 0)}50%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 100%)}}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover){
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="botao"]:not(.back-to-top):hover::before{clip-path:inset(0 0 0 0)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="botao"]:not(.back-to-top):hover::after{animation:demo-brilho 360ms var(--demo-sai) 1}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="botao"]:hover{transform:translate(-2px,-3px) scale(1.02);box-shadow:4px 5px 0 #d39849;transition-timing-function:var(--demo-sai);transition-duration:200ms}
  .demo-motion-ready:not(.estilo-nenhum) .primary-cta[data-demo-sel]:hover{box-shadow:9px 10px 0 var(--rust)}
  .demo-motion-ready:not(.estilo-nenhum) .back-to-top[data-demo-sel]:hover{box-shadow:6px 7px 0 var(--rust)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel]:hover .demo-seta{transform:translateX(5px);transition-timing-function:var(--demo-sai);transition-duration:200ms}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="link"]:hover{transform:none;text-decoration:none}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="link"]:hover::after{transform:scaleX(1);transform-origin:left center}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="card"]:hover{transform:translateY(-3px);box-shadow:0 7px 0 rgba(36,30,25,.22)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="card"]:hover img{transform:scale(1.03)}
}
@media(prefers-reduced-motion:no-preference){
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="botao"]:active:active{transform:translate(2px,2px) scale(.97);box-shadow:1px 1px 0 #d39849;transition-timing-function:var(--demo-sai);transition-duration:90ms}
  .demo-motion-ready:not(.estilo-nenhum) .primary-cta[data-demo-sel]:active:active{box-shadow:1px 1px 0 var(--rust)}
  .demo-motion-ready:not(.estilo-nenhum) .back-to-top[data-demo-sel]:active:active{box-shadow:1px 1px 0 var(--rust)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="link"]:active:active{transform:scale(.98)}
  .demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="card"]:active:active{transform:translateY(-1px);box-shadow:0 3px 0 rgba(36,30,25,.22)}
}
@media(prefers-reduced-motion:reduce){
  html [data-demo-sel="botao"]:is(:hover,:focus-visible){background-image:linear-gradient(rgba(255,255,255,.3),rgba(255,255,255,.3))}
  html :is([data-demo-sel="link"],[data-demo-sel="card"],[data-demo-sel="resumo"]):is(:hover,:focus-visible){text-decoration:underline;text-underline-offset:5px}
}

/* O menu de tema abre por cima do heroi (o cabecalho e estatico e o heroi posicionado pintava por cima do menu e o cortava) */
.demo-motion-ready :is(.site-header,.ticket-header,.payment-header){position:relative;z-index:60}
@media(prefers-reduced-motion:no-preference){.demo-motion-ready:not(.estilo-nenhum) [data-demo-sel="botao"]{min-height:44px;box-sizing:border-box}}

/* Botao de tema: depois de escolher (mouse) o foco volta ao botao sem deixar estado preso (sem elevacao, contorno nem borda dourada);
   com o teclado o anel fica afastado e sem a sombra deslocada, para nao se sobrepor ao contorno. */
html.demo-motion-ready body .theme-control.theme-enhanced[data-demo-sel]:focus-within:not(:has(:focus-visible)):not(:hover){transform:none;outline:none;border-color:#ad7548;background-color:transparent}
html.demo-motion-ready body .theme-control.theme-enhanced[data-demo-sel]:has(:focus-visible){transform:none;box-shadow:none;outline:3px solid #efb24f;outline-offset:3px}
html.demo-motion-ready body .theme-control.theme-enhanced[data-demo-sel]:active:active{transform:scale(.97)}

/* Barras de topo (404 e painel de compra): escondidas ate a vez delas; o motor liga .demo-dash-go e anima os tracinhos um por um. */
.demo-motion-ready:not(.estilo-nenhum) :is(.nf-box,.ticket-panel):not(.demo-dash-go)::before{clip-path:inset(0 100% 0 0)}

/* FAQ (details): contorno e sombra (hospedados no summary, que um details fechado ainda renderiza) so medem a caixa INTEIRA se o summary
   nao for bloco contenedor: transform no summary (o hover/foco deslizava 4 px) o tornava referencia do inset:0 e o anel encolhia para
   o titulo, deslocado, enquanto a caixa aberta seguia ao lado. Aqui o summary nunca desliza; o realce acompanha a caixa e cresce com ela.
   O clique do mouse nao deixa realce preso: so hover ou foco de teclado (que usa o anel unico do site.css). */
@media(prefers-reduced-motion:no-preference){
  html.demo-motion-ready .demo-faq>summary[data-demo-sel]:is(:hover,:focus-visible,:active):is(:hover,:focus-visible,:active){transform:none}
  html.demo-motion-ready[data-madeira="on"] .demo-faq.demo-card.demo-settled:focus-within:not(:hover):not(:has(:focus-visible)){transform:none}
  html.demo-motion-ready[data-madeira="on"] .demo-faq.demo-card:focus-within:not(:hover):not(:has(:focus-visible))>summary>.demo-card-trace::after{opacity:0}
  html.demo-motion-ready[data-madeira="on"] .demo-faq.demo-card:has(:focus-visible)>summary>.demo-card-trace::after{opacity:0}
}
