/* Movimento progressivo: o conteúdo continua disponível sem JavaScript. */
.reading-progress{position:fixed;inset:0 auto auto 0;width:100%;height:3px;background:linear-gradient(90deg,#0880e8,#f6b024);transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}
.motion-reveal{opacity:0;transform:translateY(25px);transition:opacity .75s ease var(--reveal-delay,0ms),transform .75s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
.motion-reveal.is-visible{opacity:1;transform:none}
.motion-paused .motion-reveal,.motion-reduced .motion-reveal{opacity:1;transform:none;transition:none}
.button{position:relative;overflow:hidden}
.button svg,.text-link svg,.footer-main>a:last-child svg{transition:transform .25s ease}
.button:hover>svg,.text-link:hover>svg,.footer-main>a:last-child:hover>svg{transform:translateX(4px)}
.hero-actions .button-accent:after{content:'';position:absolute;inset:-60% auto -60% -65%;width:35%;background:linear-gradient(90deg,transparent,#fff7,transparent);transform:skewX(-22deg);pointer-events:none}
.step,.feature-grid article{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.step:hover{transform:translateY(-6px);box-shadow:0 16px 35px #043c6d0d;border-color:#a8cdec}
.feature-grid article:hover{transform:translateY(-5px)}
.feature-icon{transition:background .3s ease,color .3s ease,transform .3s ease}
.feature-grid article:hover .feature-icon{background:var(--primary);color:#fff;transform:rotate(-5deg)}
.audience-tabs>button{transition:color .25s ease,background .25s ease,border-color .25s ease}
.audience-tabs>button:hover{background:#0880e808}
.contact-form{transition:box-shadow .35s ease}
.contact-form:focus-within{box-shadow:0 0 0 4px #f6b02433,0 22px 50px #032e5426}

/* Imagem e efeitos compartilham o mesmo plano 4:3: o feixe acompanha o leitor. */
.scanner-showcase{padding-bottom:51px}
.product-stage{position:absolute;top:47px;left:50%;width:calc(100% - 10px);max-width:480px;aspect-ratio:4/3;transform:translateX(-50%)}
.product-frame .product-stage .product-photo{width:100%;height:100%;padding:0;object-fit:contain;object-position:center}
.scanner-showcase .product-frame .image-disclaimer{bottom:83px}
.reader-scan-window{position:absolute;left:59.5%;top:24%;width:16%;height:30%;opacity:0;transition:opacity .3s ease;pointer-events:none;border-radius:3px;filter:drop-shadow(0 0 5px #30bde8aa);z-index:4}
.reader-scan-window>i{position:absolute;width:17%;height:13%;border-color:#60e4ff;border-style:solid;border-width:0}
.reader-scan-window>i:nth-of-type(1){top:0;left:0;border-top-width:2px;border-left-width:2px}
.reader-scan-window>i:nth-of-type(2){top:0;right:0;border-top-width:2px;border-right-width:2px}
.reader-scan-window>i:nth-of-type(3){bottom:0;left:0;border-bottom-width:2px;border-left-width:2px}
.reader-scan-window>i:nth-of-type(4){bottom:0;right:0;border-bottom-width:2px;border-right-width:2px}
.reader-scan-line{position:absolute;left:2%;right:2%;height:2px;top:15%;background:#a2f0ff;box-shadow:0 0 7px 2px #30bde8aa,0 12px 18px #30bde855}
.scan-item{position:absolute;top:26%;right:3%;width:19%;height:44%;display:block;transform:translate(105%,20%) rotate(15deg);opacity:0;transition:transform 1.1s cubic-bezier(.25,.7,.25,1),opacity .5s ease;pointer-events:none;z-index:3;filter:drop-shadow(5px 12px 8px #032e5438)}
.scan-item>img{display:block;width:100%;height:100%;object-fit:contain}









.scan-confirmation{position:absolute;left:20%;top:38%;width:29%;padding:10px 7px 9px;text-align:center;color:var(--navy);border:1px solid #d7e8f5;border-radius:9px;background:#ffffffed;box-shadow:0 9px 25px #032e5426;opacity:0;transform:translateY(12px) scale(.88);transition:opacity .35s,transform .55s cubic-bezier(.2,1.4,.4,1);z-index:4;pointer-events:none}
.scan-confirmation>span{width:27px;height:27px;display:grid;place-items:center;background:var(--accent);border-radius:50%;margin:0 auto 5px}
.scan-confirmation svg{width:17px;height:17px}
.scan-confirmation>strong{display:block;font-size:10px}
.scan-confirmation>small{display:block;font-size:9px;margin-top:3px;color:#5d7082}
.scanner-showcase[data-scan-phase=approaching] .scan-item{opacity:1;transform:translate(-42%,0) rotate(-10deg)}
.scanner-showcase[data-scan-phase=reading] .scan-item,.scanner-showcase[data-scan-phase=confirmed] .scan-item{opacity:1;transform:translate(-86%,0) rotate(-7deg)}
.scanner-showcase[data-scan-phase=reading] .reader-scan-window{opacity:1}
.scanner-showcase[data-scan-phase=confirmed] .reader-scan-window{opacity:.45;filter:drop-shadow(0 0 5px #f6b02488)}
.scanner-showcase[data-scan-phase=confirmed] .reader-scan-line{background:var(--accent);box-shadow:0 0 8px #f6b02488;top:50%}
.scanner-showcase[data-scan-phase=confirmed] .scan-confirmation{opacity:1;transform:translateY(0) scale(1)}
.scanner-showcase[data-scan-phase=leaving] .scan-item{opacity:0;transform:translate(100%,-35%) rotate(15deg)}
.scanner-showcase .floating-scan{bottom:39px;transition:box-shadow .5s,border-color .5s;border:1px solid transparent}
.scanner-showcase[data-scan-phase=confirmed] .floating-scan{box-shadow:0 14px 38px #032e5429,0 0 0 3px #f6b02444;border-color:#f6b02477}
.scanner-showcase .floating-icon{transition:background .35s,color .35s}
.scanner-showcase[data-scan-phase=reading] .floating-icon{background:#0880e8;color:white}
.scanner-showcase[data-scan-phase=confirmed] .floating-icon{background:var(--accent);color:var(--navy)}
.scanner-showcase .floating-scan>div:nth-child(2){min-width:0}
#scan-title{min-height:17px}#scan-description{min-height:14px}
.motion-controls{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#c8def2;min-height:26px}
.motion-controls>span{font-size:8px;display:flex;align-items:center;gap:6px;white-space:nowrap}
.motion-controls>span>span{width:4px;height:4px;border-radius:50%;background:var(--accent)}
.motion-controls button{display:inline-flex;align-items:center;gap:5px;color:#e8f3fd;background:#ffffff0d;border:1px solid #ffffff30;border-radius:5px;font-size:8px;padding:6px 8px;min-height:30px}
.motion-controls button[hidden]{display:none}
.motion-controls button:hover{background:#ffffff20}
.motion-controls button svg{width:11px;height:11px;stroke-width:2}

/* Resposta à ação do visitante na demonstração de compra. */
.demo-scan-ray{position:absolute;z-index:3;left:calc(50% - 160px);bottom:205px;width:74px;height:2px;background:#7de6ff;box-shadow:0 0 8px 3px #0880e866;opacity:0;pointer-events:none}
.demo-scan-product{position:absolute;left:calc(50% - 130px);bottom:145px;width:51px;height:65px;border:1px solid #c7dff0;background:#fff;border-radius:8px;display:grid;place-items:center;font-size:28px;z-index:4;opacity:0;pointer-events:none;box-shadow:4px 10px 15px #043c6d22}
.demo-scan-feedback{position:absolute;left:50%;bottom:23px;transform:translateX(-50%);width:max-content;max-width:100%;display:flex;align-items:center;justify-content:center;gap:6px;background:#fff;padding:8px 13px;border:1px solid #d2e5f3;border-radius:20px;color:#05579e;font-size:10px;box-shadow:0 5px 15px #043c6d0d;z-index:5}
.demo-scan-feedback[hidden]{display:none}
.demo-scan-feedback>svg{width:15px;height:15px;color:#05579e}
.terminal-scene.is-scanning .demo-scan-ray{animation:demo-laser 1.1s ease-in-out}
.terminal-scene.is-scanning .demo-scan-product{animation:demo-product 1.4s cubic-bezier(.25,.7,.25,1)}
.terminal-scene.is-scanning .demo-scan-feedback{animation:demo-feedback 1.6s ease both}

@keyframes hero-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes hero-visual-enter{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
@keyframes cta-sheen{0%,68%{left:-65%;opacity:0}70%{opacity:1}85%,100%{left:145%;opacity:0}}
@keyframes reader-pass{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(58px);opacity:1}}
@keyframes scene-halo{0%,100%{opacity:.5;transform:scale(.98)}50%{opacity:1;transform:scale(1.05)}}
@keyframes demo-laser{0%,100%{opacity:0;transform:translateY(-8px)}20%,70%{opacity:1}60%{transform:translateY(36px)}}
@keyframes demo-product{0%{opacity:0;transform:translate(65px,-5px) rotate(12deg)}25%,65%{opacity:1;transform:translate(0,0) rotate(-8deg)}100%{opacity:0;transform:translate(45px,-35px) rotate(10deg)}}
@keyframes demo-feedback{0%{opacity:0;translate:0 7px}25%,100%{opacity:1;translate:0 0}}

@media(prefers-reduced-motion:no-preference){
  .motion-ready .hero-copy>.hero-eyebrow{animation:hero-enter .7s ease both}
  .motion-ready .hero-copy>h1{animation:hero-enter .8s .08s ease both}
  .motion-ready .hero-copy>.hero-description{animation:hero-enter .8s .17s ease both}
  .motion-ready .hero-copy>.hero-actions,.motion-ready .hero-copy>.hero-notes{animation:hero-enter .8s .25s ease both}
  .motion-ready .by-publisoft{animation:hero-enter .8s .32s ease both}
  .motion-ready .scanner-showcase{animation:hero-visual-enter 1s .12s cubic-bezier(.2,.7,.2,1) both}
  .motion-ready .hero-actions .button-accent:after{animation:cta-sheen 8s 1s ease-in-out infinite}
  .motion-ready .product-frame:before{animation:scene-halo 8s ease-in-out infinite}
  .motion-ready [data-scan-phase=reading] .reader-scan-line{animation:reader-pass .9s ease-in-out infinite}
}
.motion-paused *, .motion-paused *:before,.motion-paused *:after,.scan-suspended *,.scan-suspended *:before,.scan-suspended *:after{animation-play-state:paused!important}
@media(min-width:1500px){.product-stage{top:55px;max-width:540px}}
@media(max-width:1100px){.product-stage{max-width:420px;top:47px}.scan-confirmation>strong{font-size:9px}.scan-confirmation>small{font-size:8px}}
@media(max-width:850px) and (min-width:641px){.product-stage{max-width:385px}.scan-confirmation{padding:7px 3px}.scan-confirmation>span{width:22px;height:22px}.scan-confirmation>strong{font-size:8px}.scan-confirmation>small{font-size:7px}.motion-controls>span,.motion-controls button{font-size:7px}.motion-controls{gap:5px}.demo-scan-ray{left:calc(50% - 147px);bottom:183px;width:55px}.demo-scan-product{left:calc(50% - 120px);bottom:142px;width:42px;height:55px;font-size:24px}}
@media(max-width:640px){.product-stage{top:45px;max-width:360px}.scan-confirmation{padding:7px 3px}.scan-confirmation>span{width:22px;height:22px}.scan-confirmation svg{width:14px;height:14px}.scan-confirmation>strong{font-size:8px}.scan-confirmation>small{font-size:7px}.motion-controls>span,.motion-controls button{font-size:7px}.motion-controls button{padding:5px 7px}.scanner-showcase .floating-scan{bottom:39px}.demo-scan-ray{left:calc(50% - 147px);bottom:183px;width:55px}.demo-scan-product{left:calc(50% - 120px);bottom:142px;width:42px;height:55px;font-size:24px}.demo-scan-feedback{font-size:9px;bottom:22px}}
@media(prefers-reduced-motion:reduce){.motion-reveal{opacity:1;transform:none;transition:none}.scan-item{display:none}.reader-scan-window{display:none}.scan-confirmation{opacity:1;transform:none}.step:hover,.feature-grid article:hover,.feature-grid article:hover .feature-icon{transform:none}.demo-scan-product,.demo-scan-ray{display:none}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Fotografia em toda a largura, com a estação recortada em primeiro plano. */
.hero-shell{isolation:isolate;background:#043c6d}
.hero-background{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden}
.hero-background>img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
.hero-shell:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#03233ff5 0%,#04345de8 35%,#043c6d94 61%,#032e5438 100%),linear-gradient(0deg,#032e54d9,transparent 40%)}
.hero-copy{position:relative;z-index:1}
.hero-description{color:#e1edf8}
.hero-bottom{position:relative;color:#d1e4f5}
.product-frame{background:transparent!important;border:0;border-radius:0;overflow:visible;isolation:auto}
.product-frame:before{display:none}
.product-frame .photo-label{top:2px;left:auto;right:0;color:#f2f8ff;border:1px solid #ffffff30;background:#032e5470;backdrop-filter:blur(12px);padding:9px 13px;border-radius:30px;font-size:8px;letter-spacing:1.4px}
.product-frame .photo-label .status-dot{background:var(--accent);box-shadow:0 0 0 4px #f6b02414}
.product-stage{top:43px;width:calc(100% + 38px);max-width:530px}
.product-frame .product-stage .product-photo{filter:drop-shadow(0 20px 17px #001d3d44)}
.scanner-showcase .product-frame .image-disclaimer{color:#e1edf8;bottom:82px;right:3px;text-shadow:0 1px 4px #032e54;font-size:7px}
.scanner-showcase .floating-scan{left:0;right:0;background:#fffffff0;backdrop-filter:blur(16px);box-shadow:0 15px 45px #001b3638}
.scan-confirmation{background:#fffffff5}
.demo-scan-product.has-product-photo{background:transparent;border:0;box-shadow:none;width:48px;height:90px;filter:drop-shadow(3px 7px 5px #043c6d33)}
.demo-scan-product>img{width:100%;height:100%;object-fit:contain}
.product-art>img{display:block;width:100%;height:100%;object-fit:contain}
.demo-scan-product>img[hidden],.demo-scan-product>span[hidden]{display:none}
@media(min-width:1500px){.product-stage{top:50px;max-width:580px}}
@media(max-width:1100px){.product-stage{top:45px;max-width:465px}}
@media(max-width:850px) and (min-width:641px){.product-stage{max-width:400px}.product-frame .photo-label{font-size:6px;padding:8px 10px;letter-spacing:1px}}
@media(max-width:640px){.hero-background>img{object-position:64% center}.hero-shell:before{background:linear-gradient(180deg,#03233ff2 0%,#04345de8 38%,#043c6d70 68%,#032e54c9 100%)}.product-stage{top:43px;width:calc(100% + 28px);max-width:385px}.product-frame .photo-label{font-size:7px;right:0;left:auto;padding:8px 11px;letter-spacing:1px}.scanner-showcase .product-frame .image-disclaimer{bottom:83px;right:0;font-size:6px}.scanner-showcase .floating-scan{left:0;right:0}.motion-controls{color:#e1edf8}.motion-controls button{background:#032e5480}.demo-scan-product.has-product-photo{width:41px;height:78px}}
