/* O fundo do documento e a área segura acompanham o azul do rodapé. */
html,body{background:#041424}
#page-shell{background:var(--paper);display:flow-root}
.site-footer{padding-bottom:env(safe-area-inset-bottom,0px)}

/* Composição própria do hero no celular: duas linhas, mais largura e menos intervalos. */
.hero-lead-mobile{display:none}
@media(max-width:767px){
 .hero-grid{width:calc(100% - 28px);padding-top:100px;gap:14px}
 .hero h1{font-size:clamp(2rem,8.8vw,3.7rem);line-height:1.06;margin-bottom:15px;letter-spacing:-.03em}
 .hero-title-opening,.hero-title-ending{display:block;white-space:nowrap}
 .hero-desktop-break,.hero-lead-desktop{display:none}
 .hero-lead-mobile{display:block}
 .hero-lead-mobile span{display:block;white-space:nowrap}
 .hero-lead{font-size:clamp(.71rem,2.95vw,.84rem);line-height:1.7;max-width:none;color:#d6e0e8}
 .hero-actions{margin-top:19px}
 .hero-actions .button{min-height:59px;min-width:min(290px,100%);padding:17px 29px;font-size:.82rem;gap:12px}
 .hero-actions .button-icon{width:22px;height:22px}
 .hero .credentials{margin-top:19px}
 .hero-visual{margin-top:0}
 .location-address{flex-direction:column;align-items:center;text-align:center;gap:12px}
 .location-address>div{align-items:center}
 .location-address>svg{width:29px;height:29px}
 .footer-bottom{padding-bottom:80px}
}

/* O gesto horizontal movimenta o mesmo trilho da animação, sem reiniciar o loop. */
.article-marquee.is-interactive{touch-action:pan-y pinch-zoom;cursor:grab}
.article-marquee.is-interactive .article-track{animation:none;will-change:transform}
.article-marquee.is-dragging{cursor:grabbing;user-select:none;-webkit-user-select:none}
.article-marquee img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none}

/* Arcos dourados tornam o deslocamento das linhas do contato perceptível. */
.contact-lines span{border-color:#dec89940;animation-name:contact-drift;animation-duration:32s;will-change:transform}
.contact-lines span:nth-child(2){animation-duration:46s}
.contact-lines span:nth-child(3){animation-duration:40s}
.contact-lines span::before{content:'';position:absolute;inset:-1px;border:1px solid #dec899b3;border-radius:50%;-webkit-mask-image:conic-gradient(transparent 0deg,#000 8deg 40deg,transparent 50deg);mask-image:conic-gradient(transparent 0deg,#000 8deg 40deg,transparent 50deg)}
.contact-lines span::after{width:7px;height:7px;top:-4px;box-shadow:0 0 16px #dec89990}
@keyframes contact-drift{0%{transform:translate3d(-20px,10px,0) rotate(0deg) scale(.98)}50%{transform:translate3d(40px,-32px,0) rotate(180deg) scale(1.04)}100%{transform:translate3d(-20px,10px,0) rotate(360deg) scale(.98)}}

/* O rodapé desktop usa as laterais e mantém divisórias contínuas na tela. */
@media(min-width:1100px){
 .site-footer{--footer-gutter:clamp(32px,4vw,68px)}
 .site-footer>.wrap{width:calc(100% - var(--footer-gutter) * 2);max-width:none}
 .footer-top{grid-template-columns:1.12fr .85fr 1.08fr 1fr;gap:clamp(28px,3.4vw,65px);padding-top:50px;padding-bottom:48px}
 .footer-brand{padding:18px 22px 30px 0}
 .footer-brand::before{top:-50px;bottom:-48px;left:calc(-1 * var(--footer-gutter));right:0}
 .footer-brand::after{top:-50px;left:calc(-1 * var(--footer-gutter));right:0}
 .footer-brand-lockup{width:230px;height:158px;max-width:100%}
 .footer-brand>p{font-size:clamp(1.65rem,1.7vw,1.95rem);max-width:400px;margin-top:26px}
 .footer-location{font-size:.73rem;line-height:1.9}
 .footer-nav,.footer-areas,.footer-contact{font-size:clamp(.8rem,.85vw,.95rem);gap:14px;padding-top:17px}
 .footer-nav strong,.footer-areas strong,.footer-contact strong{font-size:.71rem;line-height:1.6;margin-bottom:12px}
 .footer-contact span{font-size:.73rem}
 .footer-guidance,.footer-bottom{position:relative;border-top:0}
 .footer-guidance::before,.footer-bottom::before{content:'';position:absolute;left:calc(-1 * var(--footer-gutter));right:calc(-1 * var(--footer-gutter));top:0;height:1px;background:#ffffff20}
 .footer-guidance{padding-block:30px;gap:40px}
 .footer-guidance>span{font-size:1.55rem}
 .footer-guidance p{font-size:.72rem;max-width:860px}
 .footer-bottom{font-size:.69rem;min-height:88px}
 .footer-bottom .company-signature img{width:72px;height:28px}
 .footer-bottom>span{padding-right:74px}
}
@media(prefers-reduced-motion:reduce){.contact-lines span{animation:none;will-change:auto}.article-marquee.is-interactive .article-track{will-change:auto}}
