.logo{position:relative;z-index:45}.logo img,footer img,.loader img{object-fit:contain!important;background:transparent}
@media(max-width:1100px){body.menu-open{overflow:hidden}header{isolation:isolate}header nav{position:fixed;inset:0;width:100vw;height:100dvh;margin:0;background:rgba(8,8,8,.98);backdrop-filter:blur(18px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;transform:translateX(100%);visibility:hidden;opacity:0;transition:transform .4s cubic-bezier(.77,0,.18,1),opacity .3s,visibility .4s;z-index:40}header nav.open{transform:translateX(0);visibility:visible;opacity:1}header nav a{font-size:19px;letter-spacing:.08em;padding:7px 18px}.menu{display:grid;place-items:center;position:relative;z-index:46;width:46px;height:46px;padding:0;border:1px solid #ffffff30;line-height:1;cursor:pointer}.logo{z-index:46}}
@media(max-width:650px){header{padding:0 18px}.logo{width:128px}}

/* Larger header logo; compensates for transparent canvas padding */
header .logo{width:240px;overflow:visible}
header .logo img{transform:scale(1.42);transform-origin:left center}
footer img{transform:scale(1.22);transform-origin:left center}
@media(max-width:1100px){header .logo{width:190px}header .logo img{transform:scale(1.34)}}
@media(max-width:650px){header .logo{width:155px}header .logo img{transform:scale(1.28)}}

/* Unified desktop navigation */
header{gap:14px}
header nav{flex:1;justify-content:flex-end;margin-left:0;gap:clamp(12px,1.35vw,25px);min-width:0}
header nav a{white-space:nowrap;font-size:10px}
.header-cta{flex:0 0 auto;margin-left:4px;padding-inline:17px;white-space:nowrap}
@media(min-width:1251px){header .logo{width:210px}header .logo img{transform:scale(1.32)}}
@media(max-width:1250px){body.menu-open{overflow:hidden}header{isolation:isolate}header nav{position:fixed;inset:0;width:100vw;height:100dvh;margin:0;background:rgba(8,8,8,.98);backdrop-filter:blur(18px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;transform:translateX(100%);visibility:hidden;opacity:0;transition:transform .4s cubic-bezier(.77,0,.18,1),opacity .3s,visibility .4s;z-index:40}header nav.open{transform:translateX(0);visibility:visible;opacity:1}header nav a{font-size:19px;letter-spacing:.08em;padding:7px 18px}.menu{display:grid;place-items:center;position:relative;z-index:46;width:46px;height:46px;padding:0;border:1px solid #ffffff30;line-height:1;cursor:pointer}.desktop{display:none}.logo{z-index:46}}

/* Precisely centered loading identity */
.loader{display:flex!important;flex-direction:column;align-items:center;justify-content:center;place-content:unset!important;text-align:center;padding:24px}
.loader img{width:260px!important;height:240px!important;max-width:78vw;object-fit:contain!important;transform:none!important;transform-origin:center center}
.loader i{display:block;width:220px;max-width:58vw;margin-top:-10px;flex:0 0 2px}
@media(max-width:650px){.loader img{width:220px!important;height:205px!important;transform:none!important}.loader i{width:180px;margin-top:-7px}}

.contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.contact-actions .btn{margin:0}
.floating-contact{position:fixed!important;right:22px!important;bottom:22px!important;z-index:999!important;display:flex!important;flex-direction:column;align-items:flex-end;gap:11px;visibility:visible!important;opacity:1!important}
.floating-contact .whatsapp,.floating-contact .phone-float{position:relative!important;right:auto!important;bottom:auto!important;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 8px 24px #0006;transition:transform .25s,box-shadow .25s}
.floating-contact .whatsapp{background:#25d366}.floating-contact .phone-float{background:#d8a12b;color:#080808;font-size:25px}
.floating-contact .phone-float b{font:700 24px/1 Arial,sans-serif}
.floating-contact .whatsapp::before{content:none}.floating-contact .whatsapp img{width:29px;height:29px;display:block;object-fit:contain}
.floating-contact .whatsapp:hover,.floating-contact .phone-float:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0008}
.floating-contact span{position:absolute;right:64px;top:50%;transform:translateY(-50%);width:max-content;background:#111;color:#fff;padding:9px 12px;border-radius:3px;font-size:10px;opacity:0;visibility:hidden;transition:.25s;pointer-events:none}
.floating-contact a:hover span,.floating-contact a:focus-visible span{opacity:1;visibility:visible}
@media(max-width:650px){.top{display:flex!important;height:58px;min-height:58px;padding:5px 14px;flex-wrap:wrap;align-content:center;gap:3px 12px}.top span:first-child,.top span:nth-child(3){display:flex!important;align-items:center}.top span:first-child{font-size:11px}.top span:nth-child(3){width:100%;font-size:8.5px;line-height:1.25;color:#bbb}.top span:nth-child(2),.top b{display:none!important}header{top:58px}header.sticky{top:0}.floating-contact{right:14px;bottom:14px;gap:9px}.floating-contact .whatsapp,.floating-contact .phone-float{width:50px;height:50px}.floating-contact span{display:none}}

/* Animated three-slide home hero */
.hero{overflow:hidden}
.hero-image{transition:opacity .42s ease,transform .8s cubic-bezier(.2,.7,.2,1);will-change:opacity,transform}
.hero-image.slide-changing{opacity:0;transform:scale(1.035)}
.hero-copy{transition:opacity .42s ease,transform .42s ease;will-change:opacity,transform}
.hero-copy.slide-changing{opacity:0;transform:translateY(24px)}
.dots{display:flex;gap:9px;align-items:center}
.dots button{width:22px;height:5px;padding:0;border:0;border-radius:9px;background:#ffffff80;cursor:pointer;transition:width .3s,background .3s,transform .3s}
.dots button.active{width:38px;background:#d8a12b;transform:scaleY(1.15)}
.slider-arrow{position:absolute;z-index:9;top:50%;width:46px;height:46px;border:1px solid #ffffff66;border-radius:50%;background:#0909098f;color:#fff;font:300 34px/1 Arial,sans-serif;display:grid;place-items:center;cursor:pointer;transition:background .25s,border-color .25s,transform .25s}
.slider-arrow:hover{background:#d8a12b;color:#080808;border-color:#d8a12b;transform:scale(1.06)}
.slider-prev{left:22px}.slider-next{right:22px}
@media(max-width:900px){.slider-arrow{top:auto;bottom:29px;width:39px;height:39px;font-size:28px}.slider-prev{left:18px}.slider-next{right:18px}}
@media(prefers-reduced-motion:reduce){.hero-image,.hero-copy{transition:none!important}}
