/* Motion enriches the established layout; no continuous background animation. */
.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;background:#36a4c9;transform:scaleX(0);transform-origin:left;z-index:60;pointer-events:none}
header{transition:box-shadow .25s ease}header.has-scrolled{box-shadow:0 5px 20px #061c2b1c}
.back-to-top{position:fixed;bottom:26px;right:24px;z-index:40;width:48px;height:48px;border:1px solid #7da2b8;border-radius:50%;background:#09293d;color:white;font-size:24px;line-height:1;box-shadow:0 5px 18px #061c2b26;cursor:pointer}
.back-to-top:hover{background:#176b8b}.back-to-top:focus-visible{outline:3px solid #36a4c9;outline-offset:4px}
@media(hover:hover) and (pointer:fine){
 html body main .shape-card,html body main .application-card{overflow:hidden}
 html body main .shape-card>img,html body main .application-card>img{transition:transform .5s cubic-bezier(.2,.65,.3,1)}
 html body main .shape-card:hover>img,html body main .application-card:hover>img{transform:scale(1.035)}
 html body main .grade-row{transition:background-color .2s ease,padding .2s ease}
 html body main .grade-row:hover{background:#eef5f8;padding-left:14px;padding-right:14px}
 html body main .grade-row b{transition:transform .2s ease}
 html body main .grade-row:hover b{transform:translate(3px,-3px)}
 html body .button{transition:background-color .2s ease,box-shadow .2s ease}
 html body .button:hover{box-shadow:0 5px 14px #061c2b24}
 header .nav-link{transition:color .2s ease,box-shadow .2s ease}
}
@media(max-width:900px){header nav.open{animation:menu-appear .2s ease-out}}
@keyframes menu-appear{from{opacity:.5;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.back-to-top{bottom:18px;right:16px;width:46px;height:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html body *,html body *:before,html body *:after{animation:none!important;transition:none!important}html body main .shape-card:hover,html body main .shape-card:hover>img,html body main .application-card:hover>img,html body main .grade-row:hover b{transform:none}html body main .grade-row:hover{padding-left:0;padding-right:0}}
/* Animated-image hero; text and calls to action remain stationary. */
.restored-home .hero>img{transform-origin:70% 50%}
.hero-motion-control{position:absolute;right:5%;bottom:50px;z-index:2;min-height:44px;padding:10px 17px;border:1px solid #9db8c9;border-radius:2px;background:#061c2be6;color:#fff;font:600 13px Arial,Helvetica,sans-serif;cursor:pointer}
.hero-motion-control:hover{background:#123e57}.hero-motion-control:focus-visible{outline:3px solid #b9e7fa;outline-offset:4px}
@media(max-width:700px){.hero-motion-control{top:14px;bottom:auto;right:5%;font-size:12px;padding:8px 13px}}
@media(prefers-reduced-motion:reduce){.hero-motion-control{display:none}}

/* Persistent sales contact shortcuts, separated from the back-to-top control. */
.floating-contact{position:fixed;right:24px;bottom:90px;z-index:60;display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:700}
.floating-contact a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:10px 16px;border-radius:28px;text-decoration:none;box-shadow:0 4px 18px #061c2b30;border:1px solid #ffffff55}
.floating-contact .whatsapp-contact{background:#087f47;color:#fff}
.floating-contact .phone-contact{background:#fff;color:#09293d}
.floating-contact a:hover{box-shadow:0 6px 22px #061c2b50}
.floating-contact a:focus-visible{outline:3px solid #f3b44e;outline-offset:4px}
.floating-contact svg{flex-shrink:0}
@media(max-width:600px){.floating-contact{right:12px;bottom:calc(78px + env(safe-area-inset-bottom));gap:6px}.floating-contact a{padding:10px 12px;min-height:44px}}
