/* Motion is progressive: content remains readable without JavaScript. */
.reveal{opacity:1;transform:none}
.motion-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1)}
.motion-ready .reveal.visible{opacity:1;transform:none}
.motion-ready .delay-1{transition-delay:.12s}.motion-ready .delay-2{transition-delay:.24s}.motion-ready .delay-3{transition-delay:.36s}
.hero-glow{animation:ambient-drift 9s ease-in-out 2 alternate}
.float-card{animation:soft-float 5s ease-in-out 3}
.hero h1{font-size:clamp(48px,4.7vw,68px);letter-spacing:-2.5px}
.btn{box-shadow:0 8px 24px #f10e2018;transition:transform .25s,box-shadow .25s,background .25s}
.btn:hover,.btn:focus-visible{box-shadow:0 12px 32px #f10e2036;transform:translateY(-3px)}
.btn span,.choose-box span{display:inline-block;transition:transform .25s}
.btn:hover span,.choose-box:hover span{transform:translateX(5px)}
.box-card{transition:transform .35s,box-shadow .35s,border-color .35s}
.box-card:hover,.box-card:focus-within{box-shadow:0 22px 50px #0005;border-color:#f10e20;transform:translateY(-8px)}
.box-card.featured:hover{box-shadow:0 22px 55px #f10e2030}
.box-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.box-card{padding:26px 22px}
.box-card .box-size strong{font-size:68px;letter-spacing:-5px}
.box-card .box-size span{font-size:21px}
.box-card p{min-height:104px}
.box-card ul{min-height:190px}
@media(max-width:1100px){.box-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.box-card p,.box-card ul{min-height:auto}}
@media(max-width:650px){.box-cards{grid-template-columns:1fr}}
.icon-box,.benefit-item>span{transition:transform .35s,color .35s}
.step:hover .icon-box,.benefit-item:hover>span{transform:translateY(-5px) rotate(-5deg)}
.nav a{position:relative;padding:8px 0;white-space:nowrap}
.nav a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav a:hover:after,.nav a:focus-visible:after{transform:scaleX(1)}
.quote-form{transition:border-color .3s,box-shadow .3s}
.quote-form:focus-within{border-color:#71313a;box-shadow:0 20px 70px #0003}
.faq-item button{transition:color .25s}.faq-item button:hover{color:var(--red)}
.whatsapp-float{display:flex;position:fixed;right:22px;bottom:22px;align-items:center;gap:10px;background:#25d366;color:#fff;border-radius:999px;padding:13px 19px;z-index:50;box-shadow:0 12px 36px #0005;transition:transform .25s,background .25s,box-shadow .25s}
.whatsapp-float:hover,.whatsapp-float:focus-visible{background:#1fba59;transform:translateY(-4px);box-shadow:0 16px 42px #25d36642}
.whatsapp-float svg{width:25px;height:25px;flex:0 0 25px}.whatsapp-float b{font-size:14px}
.contact-address a{color:#fff;transition:color .25s}.contact-address a:hover{color:#bff4cf}
@media(max-width:560px){.whatsapp-float{right:14px;bottom:14px;padding:12px 15px}.whatsapp-float b{font-size:13px}}
:focus-visible{outline:2px solid var(--red);outline-offset:5px}
@keyframes soft-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes ambient-drift{from{transform:translate(0,0)}to{transform:translate(-70px,35px)}}
@media(min-width:901px) and (max-width:1150px){.nav-wrap{gap:24px}.nav{gap:18px;margin-left:0}.desktop-cta{margin-left:0;padding:12px}}
@media(min-width:561px) and (max-width:900px){.nav{top:210px;margin-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}
.footer-bottom .developer-credit{color:#b7b7bc;font-weight:700;transition:color .2s}.footer-bottom .developer-credit:hover,.footer-bottom .developer-credit:focus-visible{color:var(--red)}
