:root{--black:#050505;--dark:#0e0e0f;--card:#171717;--white:#fff;--muted:#bcbcbc;--orange:#ff7a00;--yellow:#ffb800;--line:rgba(255,255,255,.13);--shadow:0 28px 85px rgba(0,0,0,.55)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:'Inter',Arial,sans-serif;overflow-x:hidden}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.loader{position:fixed;inset:0;background:#050505;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:9999;transition:.7s}.loader img{width:min(520px,86vw);filter:drop-shadow(0 18px 50px rgba(255,122,0,.25))}.loader span{color:var(--yellow);font-size:12px;letter-spacing:.14em;font-weight:900;text-transform:uppercase}.loader.hide{opacity:0;visibility:hidden}.header{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 52px;background:rgba(0,0,0,.78);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand img{height:58px;width:auto;max-width:330px;object-fit:contain;filter:drop-shadow(0 10px 25px rgba(0,0,0,.7))}.nav{display:flex;gap:23px;align-items:center}.nav a{font-weight:900;text-transform:uppercase;font-size:13px;position:relative}.nav a:after{content:'';position:absolute;left:0;bottom:-9px;width:0;height:3px;background:var(--orange);transition:.25s}.nav a:hover:after{width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 23px;font-weight:900;text-transform:uppercase;font-size:13px;border:0;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--yellow),var(--orange));color:#111;box-shadow:0 14px 36px rgba(255,122,0,.25)}.btn-outline{border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06);color:#fff}.menu-toggle{display:none;background:transparent;border:0;flex-direction:column;gap:5px}.menu-toggle span{width:30px;height:3px;background:#fff}.hero{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;padding:140px 38px 70px;text-align:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url('../assets/img/planta-real.jpeg') center/cover no-repeat;transform:scale(1.04);animation:zoom 18s ease-in-out infinite alternate}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.55),rgba(0,0,0,.9)),radial-gradient(circle at 50% 25%,rgba(255,122,0,.22),transparent 35%)}@keyframes zoom{from{transform:scale(1.02)}to{transform:scale(1.09)}}.hero-content{position:relative;z-index:2;max-width:980px}.hero-logo{width:min(640px,86vw);margin:0 auto 24px;filter:drop-shadow(0 24px 55px rgba(0,0,0,.85))}.hero h1{font-family:'Anton',Impact,sans-serif;font-size:clamp(30px,4vw,58px);letter-spacing:.02em;text-transform:uppercase;line-height:1;margin:0 0 18px;color:#fff}.hero p{font-size:clamp(16px,1.6vw,20px);line-height:1.6;color:#f0f0f0;max-width:820px;margin:0 auto}.hero-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:30px}.section{padding:95px 46px}.container{max-width:1220px;margin:auto}.tag{color:var(--yellow);font-weight:900;letter-spacing:.14em;text-transform:uppercase;font-size:12px}.section-head{text-align:center;max-width:820px;margin:0 auto 48px}h2{font-size:clamp(32px,5.2vw,62px);line-height:.98;text-transform:uppercase;margin:0 0 18px}h3,p{margin-top:0}p{color:var(--muted);line-height:1.72}.about{background:#101010}.about-grid{display:grid;grid-template-columns:1fr .9fr;gap:44px;align-items:center}.about-img{border-radius:26px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}.about-img img{height:500px;width:100%;object-fit:cover}.quote{border-left:5px solid var(--orange);padding-left:18px;color:#fff;font-weight:900}.mission{background:#080808}.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.mission-card{background:#f4f4f4;color:#111;border-radius:28px;padding:38px;min-height:350px}.mission-card p{color:#333}.mission-card.dark{background:linear-gradient(135deg,#1b1b1b,#080808);color:#fff;border:1px solid var(--line)}.mission-card.dark p{color:#d0d0d0}.commitments{background:#121212}.commit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.commit{background:#1b1b1b;border:1px solid var(--line);border-radius:24px;padding:30px;min-height:260px;text-align:center;transition:.35s}.commit:hover{transform:translateY(-8px);border-color:rgba(255,184,0,.55)}.commit div{font-size:42px}.commit h3{text-transform:uppercase;font-size:26px}.services{background:linear-gradient(180deg,#070707,#151515)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{position:relative;min-height:330px;border-radius:22px;overflow:hidden;background:#111;border:1px solid var(--line);box-shadow:var(--shadow)}.service img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:.5s}.service:hover img{transform:scale(1.08)}.service:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(0,0,0,.9))}.service h3{position:absolute;z-index:2;left:18px;right:18px;bottom:18px;text-align:center;text-transform:uppercase;font-size:20px;line-height:1.25}.equipment{background:#f4f4f4;color:#111}.equipment .tag{color:var(--orange)}.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.equipment-card{background:white;border-radius:24px;overflow:hidden;box-shadow:0 20px 52px rgba(0,0,0,.14)}.equipment-card img{width:100%;height:320px;object-fit:cover}.equipment-card h3{text-align:center;padding:22px;text-transform:uppercase;font-size:21px;line-height:1.3}.operations{background:#0c0c0c}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-card{position:relative;min-height:430px;border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}.gallery-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gallery-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(0,0,0,.88))}.gallery-card div{position:absolute;z-index:2;left:24px;right:24px;bottom:24px;text-align:center}.gallery-card h3{text-transform:uppercase;font-size:26px}.clients{background:#f6f6f6;color:#111}.clients .tag{color:var(--orange)}.client-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.client-strip img{width:100%;height:130px;object-fit:contain;background:white;border-radius:20px;padding:20px;box-shadow:0 18px 45px rgba(0,0,0,.12)}.contact{background:linear-gradient(135deg,#111,#050505)}.contact-box{text-align:center;max-width:900px;background:#151515;border:1px solid var(--line);border-radius:32px;padding:52px;box-shadow:var(--shadow)}.email{display:block;font-size:clamp(22px,4vw,42px);font-weight:900;color:var(--yellow);margin:18px 0}.city{font-size:22px;font-weight:900;color:#fff}.footer{display:flex;justify-content:space-between;align-items:center;gap:30px;background:#000;border-top:1px solid var(--line);padding:34px 50px}.footer img{height:58px;width:auto}.reveal{opacity:0;transform:translateY(38px);transition:.85s}.reveal.active{opacity:1;transform:translateY(0)}@media(max-width:1050px){.about-grid,.mission-grid,.commit-grid,.services-grid,.equipment-grid,.gallery-grid{grid-template-columns:1fr 1fr}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#050505;flex-direction:column;align-items:flex-start;padding:22px}.nav.open{display:flex}.menu-toggle{display:flex}}@media(max-width:760px){.header{padding:12px 18px}.brand img{height:42px;max-width:210px}.header .btn{display:none}.hero{padding:115px 20px 50px;min-height:88vh}.hero-logo{width:min(360px,90vw)}.section{padding:70px 20px}.about-grid,.mission-grid,.commit-grid,.services-grid,.equipment-grid,.gallery-grid,.client-strip{grid-template-columns:1fr}.about-img img,.equipment-card img{height:330px}.service{min-height:280px}.gallery-card{min-height:350px}.contact-box{padding:34px 18px}.footer{flex-direction:column;align-items:flex-start;padding:28px 20px}}
.ultra-grid{
display:grid !important;
grid-template-columns:repeat(3,1fr) !important;
gap:22px !important;
margin-top:50px !important;
}

.ultra-card{
background:linear-gradient(180deg,#1b1b1b,#0b0b0b) !important;
border:1px solid rgba(255,255,255,.18) !important;
border-radius:24px !important;
padding:34px !important;
min-height:285px !important;
box-shadow:0 25px 60px rgba(0,0,0,.45) !important;
}

.ultra-card:hover{
transform:translateY(-8px);
border-color:#ff7a00 !important;
}

.ultra-card span{
display:block;
font-size:18px;
font-weight:900;
color:#ff7a00;
margin-bottom:14px;
}

.ultra-card h3{
font-size:22px;
line-height:1.2;
margin-bottom:20px;
font-weight:900;
}

.ultra-card p{
color:#cfcfcf;
line-height:1.8;
}

@media(max-width:900px){
.ultra-grid{
grid-template-columns:1fr !important;
}
}
@media(max-width:768px){

.nav{
display:none;
flex-direction:column;
position:fixed;
top:72px;
left:0;
width:100%;
background:#000;
padding:25px;
z-index:999999;
}

.nav.open{
display:flex !important;
}

.menu-toggle{
display:flex !important;
flex-direction:column;
gap:5px;
background:none;
border:none;
cursor:pointer;
z-index:1000000;
}

.menu-toggle span{
width:28px;
height:3px;
background:#fff;
display:block;
}

}
.contact-grid{
display:grid !important;
grid-template-columns:1fr 1fr !important;
gap:34px !important;
align-items:start !important;
}

@media(max-width:768px){

.contact-grid{
grid-template-columns:1fr !important;
}

.contact-panel,
.form,
.contact-form{
width:100% !important;
max-width:100% !important;
display:block !important;
}

.contact-panel{
margin-bottom:20px !important;
}

.form,
.contact-form{
padding:22px !important;
overflow:hidden !important;
}

.form input,
.form textarea,
.form select,
.contact-form input,
.contact-form textarea,
.contact-form select{
width:100% !important;
max-width:100% !important;
font-size:16px !important;
}

}

.orange-glow{
position:fixed;
width:360px;
height:360px;
border-radius:50%;
background:radial-gradient(circle, rgba(255,122,0,.28), transparent 70%);
filter:blur(35px);
pointer-events:none;
z-index:1;
animation:glowFloat 9s ease-in-out infinite alternate;
}

.glow-one{
top:18%;
left:-120px;
}

.glow-two{
right:-140px;
bottom:14%;
animation-delay:2s;
}

@keyframes glowFloat{
from{
transform:translateY(0) scale(1);
}
to{
transform:translateY(-45px) scale(1.18);
}
}

main,
.header,
.footer,
section{
position:relative;
z-index:2;
}

.btn{
position:relative;
overflow:hidden;
transition:all .35s ease;
}

.btn::before{
content:"";
position:absolute;
top:0;
left:-120%;
width:100%;
height:100%;
background:linear-gradient(120deg, transparent, rgba(255,255,255,.45), transparent);
transition:.6s;
}

.btn:hover::before{
left:120%;
}

.btn:hover{
transform:translateY(-3px);
box-shadow:0 20px 55px rgba(255,122,0,.35);
}

.service,
.equipment-card,
.gallery-card,
.commit,
.mission-card,
.contact-info,
.contact-form-premium,
.contact-box{
transform-style:preserve-3d;
transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.service:hover,
.equipment-card:hover,
.gallery-card:hover,
.commit:hover,
.mission-card:hover,
.contact-box:hover{
transform:translateY(-10px) scale(1.015);
box-shadow:0 35px 90px rgba(0,0,0,.6);
}

.hero-content{
animation:heroEntrance 1.2s ease both;
}

@keyframes heroEntrance{
from{
opacity:0;
transform:translateY(40px) scale(.96);
}
to{
opacity:1;
transform:translateY(0) scale(1);
}
}

@media(max-width:768px){

.nav{
display:none;
flex-direction:column;
position:fixed;
top:72px;
left:0;
width:100%;
background:#000;
padding:25px;
z-index:999999;
}

.nav.open{
display:flex !important;
}

.menu-toggle{
display:flex !important;
flex-direction:column;
gap:5px;
background:none;
border:none;
cursor:pointer;
z-index:1000000;
}

.menu-toggle span{
width:28px;
height:3px;
background:#fff;
display:block;
}

}

/* HEADER PREMIUM SCROLL */

.header{
position:fixed !important;
top:0 !important;
left:0 !important;
width:100% !important;
padding:22px 46px !important;
display:flex !important;
align-items:center !important;
justify-content:space-between !important;
background:rgba(0,0,0,.12) !important;
backdrop-filter:blur(10px) !important;
-webkit-backdrop-filter:blur(10px) !important;
border-bottom:1px solid rgba(255,255,255,.05) !important;
transition:
background .4s ease,
padding .4s ease,
transform .4s ease,
box-shadow .4s ease !important;
z-index:99999 !important;
}

/* CUANDO BAJA */

.header.scrolled{
padding:12px 46px !important;
background:rgba(0,0,0,.72) !important;
backdrop-filter:blur(16px) !important;
-webkit-backdrop-filter:blur(16px) !important;
box-shadow:0 12px 40px rgba(0,0,0,.45) !important;
transform:translateY(0px) !important;
}

/* LOGO */

.brand img{
height:56px !important;
transition:all .4s ease !important;
}

.header.scrolled .brand img{
height:46px !important;
}
/* ===== MOBILE FIX DEFINITIVO ===== */

html,body{
overflow-x:hidden !important;
width:100% !important;
max-width:100% !important;
}

img{
max-width:100% !important;
height:auto !important;
}

.container,
.section,
.hero,
.header,
.footer{
width:100% !important;
max-width:100% !important;
overflow:hidden !important;
}

@media(max-width:768px){

.nav{
display:none;
flex-direction:column;
position:fixed;
top:72px;
left:0;
width:100%;
background:#000;
padding:25px;
z-index:999999;
}

.nav.open{
display:flex !important;
}

.menu-toggle{
display:flex !important;
flex-direction:column;
gap:5px;
background:none;
border:none;
cursor:pointer;
z-index:1000000;
}

.menu-toggle span{
width:28px;
height:3px;
background:#fff;
display:block;
}

}
@media(max-width:768px){

.nav{
display:none;
flex-direction:column;
position:fixed;
top:72px;
left:0;
width:100%;
background:#000;
padding:25px;
z-index:999999;
}

.nav.open{
display:flex !important;
}

.menu-toggle{
display:flex !important;
flex-direction:column;
gap:5px;
background:none;
border:none;
cursor:pointer;
z-index:1000000;
}

.menu-toggle span{
width:28px;
height:3px;
background:#fff;
display:block;
}

}
@media(max-width:768px){

.nav{
display:none;
flex-direction:column;
position:fixed;
top:72px;
left:0;
width:100%;
background:#000;
padding:25px;
z-index:999999;
}

.nav.open{
display:flex !important;
}

.menu-toggle{
display:flex !important;
flex-direction:column;
gap:5px;
background:none;
border:none;
cursor:pointer;
z-index:1000000;
}

.menu-toggle span{
width:28px;
height:3px;
background:#fff;
display:block;
}

}
@media(max-width:768px){

.nav{
display:none;
flex-direction:column;
position:fixed;
top:72px;
left:0;
width:100%;
background:#000;
padding:25px;
z-index:999999;
}

.nav.open{
display:flex !important;
}

.menu-toggle{
display:flex !important;
flex-direction:column;
gap:5px;
background:none;
border:none;
cursor:pointer;
z-index:1000000;
}

.menu-toggle span{
width:28px;
height:3px;
background:#fff;
display:block;
}

}
/* FIX DEFINITIVO MENU MOVIL + ANIMACION INTRO */

@media(max-width:768px){

.header{
position:sticky !important;
top:0 !important;
z-index:999999 !important;
overflow:visible !important;
}

.menu-toggle{
display:flex !important;
flex-direction:column !important;
gap:5px !important;
background:transparent !important;
border:0 !important;
cursor:pointer !important;
z-index:1000001 !important;
}

.menu-toggle span{
display:block !important;
width:30px !important;
height:3px !important;
background:#fff !important;
border-radius:10px !important;
}

.nav{
display:none !important;
position:absolute !important;
top:100% !important;
left:0 !important;
right:0 !important;
width:100% !important;
max-height:80vh !important;
overflow-y:auto !important;
background:rgba(0,0,0,.96) !important;
padding:18px 24px 28px !important;
z-index:1000000 !important;
flex-direction:column !important;
gap:10px !important;
}

.nav.open{
display:flex !important;
}

.nav a{
display:block !important;
color:#fff !important;
font-size:15px !important;
font-weight:900 !important;
padding:12px 0 !important;
border-bottom:1px solid rgba(255,255,255,.12) !important;
}

/* Evita que el menú tape/corte secciones */
section{
overflow:visible !important;
}

/* Recupera animación de entrada */
.loader{
display:flex !important;
}

.loader.hide{
opacity:0 !important;
visibility:hidden !important;
}

/* Recupera animación del hero / intro */
.hero-content,
.hero-logo,
.hero h1,
.hero p{
animation:heroIntroMobile 1.1s ease both !important;
}

@keyframes heroIntroMobile{
from{
opacity:0;
transform:translateY(35px) scale(.96);
}
to{
opacity:1;
transform:translateY(0) scale(1);
}
}

}
/* RECUPERAR ANIMACIÓN INTRO EN MÓVIL */

@media(max-width:768px){

.hero-content{
opacity:1 !important;
animation:mobileHeroContent 1.2s ease both !important;
}

.hero-logo{
opacity:1 !important;
animation:mobileHeroLogo 1.3s ease both !important;
}

.hero h1{
opacity:1 !important;
animation:mobileHeroTitle 1.4s ease both !important;
}

.hero p{
opacity:1 !important;
animation:mobileHeroText 1.5s ease both !important;
}

@keyframes mobileHeroContent{
from{
opacity:0;
transform:translateY(35px);
}
to{
opacity:1;
transform:translateY(0);
}
}

@keyframes mobileHeroLogo{
from{
opacity:0;
transform:scale(.85) translateY(25px);
}
to{
opacity:1;
transform:scale(1) translateY(0);
}
}

@keyframes mobileHeroTitle{
from{
opacity:0;
transform:translateY(30px);
}
to{
opacity:1;
transform:translateY(0);
}
}

@keyframes mobileHeroText{
from{
opacity:0;
transform:translateY(25px);
}
to{
opacity:1;
transform:translateY(0);
}
}

}
/* FIX REAL LOADER MOBILE */
.loader{
position:fixed !important;
top:0 !important;
left:0 !important;
right:0 !important;
bottom:0 !important;
width:100vw !important;
height:100dvh !important;
z-index:999999999 !important;
background:#030303 !important;
display:flex !important;
align-items:center !important;
justify-content:center !important;
flex-direction:column !important;
padding:0 24px !important;
}

.loader-core{
width:100% !important;
max-width:320px !important;
margin:0 auto !important;
display:flex !important;
align-items:center !important;
justify-content:center !important;
}

.loader-core img{
width:100% !important;
max-width:300px !important;
height:auto !important;
}

.loader-ring{
width:330px !important;
height:180px !important;
max-width:90vw !important;
}

.loader p{
text-align:center !important;
font-size:13px !important;
line-height:1.5 !important;
margin-top:22px !important;
padding:0 12px !important;
}
/* FIX REAL CONTACTO MOBILE */
@media(max-width:768px){

.contact,
.contact-grid,
.contact-box,
.contact-panel{
width:100% !important;
max-width:100% !important;
overflow:hidden !important;
}

.contact-panel,
.contact-box{
padding:26px 20px !important;
border-radius:22px !important;
}

.email,
.contact-data a,
.mail-box a{
display:block !important;
width:100% !important;
max-width:100% !important;
font-size:18px !important;
line-height:1.35 !important;
word-break:break-all !important;
overflow-wrap:anywhere !important;
white-space:normal !important;
}

.contact h2,
.contact-panel h2,
.contact-box h2{
font-size:30px !important;
line-height:1.05 !important;
}

}
/* LOADER MOLINO SAG ELEGANTE */

.loader{
position:fixed !important;
inset:0 !important;
width:100vw !important;
height:100dvh !important;
background:#030303 !important;
z-index:999999999 !important;
display:flex !important;
align-items:center !important;
justify-content:center !important;
flex-direction:column !important;
overflow:hidden !important;
}

.loader.hide{
opacity:0 !important;
visibility:hidden !important;
transition:opacity .9s ease, visibility .9s ease !important;
}

.sag-loader{
position:relative !important;
width:min(520px,86vw) !important;
height:min(520px,86vw) !important;
display:flex !important;
align-items:center !important;
justify-content:center !important;
}

.sag-loader::before{
content:"" !important;
position:absolute !important;
inset:10% !important;
border-radius:50% !important;
background:
radial-gradient(circle at center, rgba(0,0,0,.95) 0 34%, rgba(25,25,25,.95) 35% 48%, rgba(5,5,5,.98) 49% 100%) !important;
box-shadow:
inset 0 0 45px rgba(255,122,0,.12),
inset 0 0 90px rgba(0,0,0,.95),
0 0 70px rgba(255,122,0,.18) !important;
}

.sag-ring{
position:absolute !important;
border-radius:50% !important;
inset:0 !important;
}

.ring-back{
border:18px solid rgba(255,255,255,.08) !important;
box-shadow:inset 0 0 35px rgba(255,255,255,.04) !important;
}

.ring-main{
inset:4% !important;
border:6px solid transparent !important;
border-top-color:#ff7a00 !important;
border-right-color:#ffb800 !important;
filter:drop-shadow(0 0 18px rgba(255,122,0,.7)) !important;
animation:sagRotate 2.6s linear infinite !important;
}

.ring-dots{
inset:9% !important;
background:
repeating-conic-gradient(
from 0deg,
rgba(255,122,0,.95) 0deg 1.8deg,
transparent 1.8deg 5.5deg
) !important;
mask:radial-gradient(circle, transparent 0 73%, #000 74% 78%, transparent 79%) !important;
-webkit-mask:radial-gradient(circle, transparent 0 73%, #000 74% 78%, transparent 79%) !important;
animation:sagRotateReverse 6s linear infinite !important;
opacity:.9 !important;
}

.sag-glow{
position:absolute !important;
width:70% !important;
height:70% !important;
border-radius:50% !important;
background:radial-gradient(circle, rgba(255,122,0,.18), transparent 68%) !important;
filter:blur(12px) !important;
animation:sagPulse 2.5s ease-in-out infinite alternate !important;
}

.sag-logo{
position:relative !important;
z-index:4 !important;
width:72% !important;
display:flex !important;
align-items:center !important;
justify-content:center !important;
}

.sag-logo img{
width:100% !important;
height:auto !important;
filter:drop-shadow(0 18px 38px rgba(0,0,0,.9)) !important;
}

.loader-title{
margin-top:18px !important;
color:#ff7a00 !important;
font-size:clamp(18px,4vw,28px) !important;
letter-spacing:.35em !important;
font-weight:500 !important;
text-align:center !important;
}

.loader-line{
width:min(520px,75vw) !important;
height:2px !important;
margin:22px 0 20px !important;
background:linear-gradient(90deg,transparent,rgba(255,122,0,.35),transparent) !important;
position:relative !important;
overflow:hidden !important;
}

.loader-line span{
position:absolute !important;
top:0 !important;
left:-30% !important;
width:35% !important;
height:100% !important;
background:linear-gradient(90deg,transparent,#ff7a00,#ffb800,transparent) !important;
box-shadow:0 0 20px rgba(255,122,0,.9) !important;
animation:loaderLine 2.2s ease-in-out infinite !important;
}

.loader p{
color:#ff7a00 !important;
font-size:clamp(11px,3vw,16px) !important;
letter-spacing:.28em !important;
font-weight:700 !important;
text-align:center !important;
padding:0 18px !important;
margin:0 !important;
}

@keyframes sagRotate{
to{
transform:rotate(360deg);
}
}

@keyframes sagRotateReverse{
to{
transform:rotate(-360deg);
}
}

@keyframes sagPulse{
from{
opacity:.45;
transform:scale(.94);
}
to{
opacity:1;
transform:scale(1.08);
}
}

@keyframes loaderLine{
0%{
left:-35%;
}
50%{
left:100%;
}
100%{
left:100%;
}
}

@media(max-width:768px){
.sag-loader{
width:86vw !important;
height:86vw !important;
max-width:360px !important;
max-height:360px !important;
}

.ring-back{
border-width:12px !important;
}

.loader-title{
font-size:16px !important;
letter-spacing:.28em !important;
}

.loader p{
font-size:11px !important;
letter-spacing:.18em !important;
line-height:1.5 !important;
}
}
.loader .sag-loader{
display:flex !important;
}

.sag-loader{
position:relative !important;
width:min(520px,86vw) !important;
height:min(520px,86vw) !important;
display:flex !important;
align-items:center !important;
justify-content:center !important;
}

.sag-loader::before{
content:"" !important;
position:absolute !important;
inset:10% !important;
border-radius:50% !important;
background:radial-gradient(circle at center, rgba(0,0,0,.95) 0 34%, rgba(25,25,25,.95) 35% 48%, rgba(5,5,5,.98) 49% 100%) !important;
box-shadow:inset 0 0 45px rgba(255,122,0,.12), inset 0 0 90px rgba(0,0,0,.95), 0 0 70px rgba(255,122,0,.18) !important;
}

.sag-ring{
position:absolute !important;
border-radius:50% !important;
inset:0 !important;
}

.ring-back{
border:18px solid rgba(255,255,255,.08) !important;
}

.ring-main{
inset:4% !important;
border:6px solid transparent !important;
border-top-color:#ff7a00 !important;
border-right-color:#ffb800 !important;
filter:drop-shadow(0 0 18px rgba(255,122,0,.7)) !important;
animation:sagRotate 2.6s linear infinite !important;
}

.ring-dots{
inset:9% !important;
background:repeating-conic-gradient(from 0deg, rgba(255,122,0,.95) 0deg 1.8deg, transparent 1.8deg 5.5deg) !important;
mask:radial-gradient(circle, transparent 0 73%, #000 74% 78%, transparent 79%) !important;
-webkit-mask:radial-gradient(circle, transparent 0 73%, #000 74% 78%, transparent 79%) !important;
animation:sagRotateReverse 6s linear infinite !important;
opacity:.9 !important;
}

.sag-glow{
position:absolute !important;
width:70% !important;
height:70% !important;
border-radius:50% !important;
background:radial-gradient(circle, rgba(255,122,0,.18), transparent 68%) !important;
filter:blur(12px) !important;
animation:sagPulse 2.5s ease-in-out infinite alternate !important;
}

.sag-logo{
position:relative !important;
z-index:4 !important;
width:72% !important;
display:flex !important;
align-items:center !important;
justify-content:center !important;
}

.sag-logo img{
width:100% !important;
height:auto !important;
}

.loader-title{
margin-top:18px !important;
color:#ff7a00 !important;
font-size:22px !important;
letter-spacing:.35em !important;
font-weight:500 !important;
text-align:center !important;
}

.loader-line{
width:min(520px,75vw) !important;
height:2px !important;
margin:22px 0 20px !important;
background:linear-gradient(90deg,transparent,rgba(255,122,0,.35),transparent) !important;
position:relative !important;
overflow:hidden !important;
}

.loader-line span{
position:absolute !important;
top:0 !important;
left:-30% !important;
width:35% !important;
height:100% !important;
background:linear-gradient(90deg,transparent,#ff7a00,#ffb800,transparent) !important;
animation:loaderLine 2.2s ease-in-out infinite !important;
}

.loader p{
color:#ff7a00 !important;
}

@keyframes sagRotate{
to{transform:rotate(360deg);}
}

@keyframes sagRotateReverse{
to{transform:rotate(-360deg);}
}

@keyframes sagPulse{
from{opacity:.45;transform:scale(.94);}
to{opacity:1;transform:scale(1.08);}
}

@keyframes loaderLine{
0%{left:-35%;}
50%{left:100%;}
100%{left:100%;}
}
/* FIX LOADER PC + MOBILE SIEMPRE ENCIMA */

.loader{
position:fixed !important;
top:0 !important;
left:0 !important;
right:0 !important;
bottom:0 !important;
width:100vw !important;
height:100vh !important;
height:100dvh !important;
background:#030303 !important;
z-index:2147483647 !important;
display:flex !important;
align-items:center !important;
justify-content:center !important;
flex-direction:column !important;
overflow:hidden !important;
}

.loader.hide{
opacity:0 !important;
visibility:hidden !important;
pointer-events:none !important;
transition:opacity .9s ease, visibility .9s ease !important;
}

/* HEADER PREMIUM SCROLL */

.header{
position:fixed !important;
top:0 !important;
left:0 !important;
width:100% !important;
padding:22px 46px !important;
display:flex !important;
align-items:center !important;
justify-content:space-between !important;
background:rgba(0,0,0,.12) !important;
backdrop-filter:blur(10px) !important;
-webkit-backdrop-filter:blur(10px) !important;
border-bottom:1px solid rgba(255,255,255,.05) !important;
transition:
background .4s ease,
padding .4s ease,
transform .4s ease,
box-shadow .4s ease !important;
z-index:99999 !important;
}

/* CUANDO BAJA */

.header.scrolled{
padding:12px 46px !important;
background:rgba(0,0,0,.72) !important;
backdrop-filter:blur(16px) !important;
-webkit-backdrop-filter:blur(16px) !important;
box-shadow:0 12px 40px rgba(0,0,0,.45) !important;
transform:translateY(0px) !important;
}

/* LOGO */

.brand img{
height:56px !important;
transition:all .4s ease !important;
}

.header.scrolled .brand img{
height:46px !important;
}
/* RESTAURAR ANCHO NORMAL DE LA WEB */

.container{
max-width:1220px !important;
width:100% !important;
margin-left:auto !important;
margin-right:auto !important;
padding-left:20px !important;
padding-right:20px !important;
}

.section{
padding-left:46px !important;
padding-right:46px !important;
overflow:hidden !important;
}

.header{
position:fixed !important;
top:0 !important;
left:0 !important;
right:0 !important;
width:100% !important;
max-width:100% !important;
height:auto !important;
padding:14px 46px !important;
}

.nav{
gap:20px !important;
}

@media(max-width:768px){

.section{
padding-left:20px !important;
padding-right:20px !important;
}

.container{
padding-left:0 !important;
padding-right:0 !important;
}

.header{
padding:12px 18px !important;
}

}
/* RESTAURAR FORMULARIO EN CAJETÍN BLANCO */

.contact-grid{
display:grid !important;
grid-template-columns:1fr 1fr !important;
gap:40px !important;
align-items:center !important;
max-width:1220px !important;
margin:auto !important;
}

.form,
.contact-form,
.contact-form-premium{
background:#ffffff !important;
border-radius:28px !important;
padding:32px !important;
display:grid !important;
gap:15px !important;
box-shadow:0 35px 90px rgba(0,0,0,.55) !important;
width:100% !important;
max-width:520px !important;
}

.form input,
.form select,
.form textarea,
.contact-form input,
.contact-form select,
.contact-form textarea,
.contact-form-premium input,
.contact-form-premium select,
.contact-form-premium textarea{
width:100% !important;
display:block !important;
padding:16px !important;
border-radius:14px !important;
border:1px solid #ddd !important;
font-family:inherit !important;
font-size:15px !important;
color:#111 !important;
background:#fff !important;
}

.form textarea,
.contact-form textarea,
.contact-form-premium textarea{
min-height:130px !important;
resize:vertical !important;
}

.form button,
.contact-form button,
.contact-form-premium button{
width:100% !important;
}

@media(max-width:768px){

.contact-grid{
grid-template-columns:1fr !important;
gap:24px !important;
}

.form,
.contact-form,
.contact-form-premium{
max-width:100% !important;
padding:24px !important;
border-radius:22px !important;
}

}
/* FOOTER PREMIUM RESTAURADO */

.footer{
padding:90px 46px 30px !important;
background:#050505 !important;
border-top:1px solid rgba(255,255,255,.06) !important;
overflow:hidden !important;
}

.footer-content{
max-width:1220px !important;
margin:auto !important;
display:flex !important;
justify-content:space-between !important;
align-items:center !important;
gap:40px !important;
flex-wrap:wrap !important;
}

.footer-brand{
display:flex !important;
align-items:center !important;
gap:26px !important;
}

.footer-brand img{
width:520px !important;
max-width:100% !important;
height:auto !important;
display:block !important;
}

.footer-info{
text-align:right !important;
}

.footer-info p{
margin:0 0 10px !important;
color:#d0d0d0 !important;
font-size:15px !important;
}

.footer-info a{
color:#fff !important;
font-weight:700 !important;
text-decoration:none !important;
}

.footer-copy{
margin-top:50px !important;
padding-top:22px !important;
border-top:1px solid rgba(255,255,255,.08) !important;
text-align:center !important;
font-size:14px !important;
color:#8d8d8d !important;
letter-spacing:.04em !important;
}

.footer-copy span{
color:#ff8a00 !important;
font-weight:700 !important;
}

@media(max-width:768px){

.footer{
padding:70px 20px 25px !important;
}

.footer-content{
flex-direction:column !important;
text-align:center !important;
}

.footer-brand{
justify-content:center !important;
}

.footer-brand img{
width:260px !important;
}

.footer-info{
text-align:center !important;
}

}
/* FIX SOLO MOBILE - MENU */

@media(max-width:768px){

.menu-toggle{
display:flex !important;
flex-direction:column !important;
gap:5px !important;
background:transparent !important;
border:0 !important;
cursor:pointer !important;
z-index:1000000 !important;
}

.menu-toggle span{
display:block !important;
width:30px !important;
height:3px !important;
background:#fff !important;
border-radius:10px !important;
}

.nav{
display:none !important;
position:absolute !important;
top:100% !important;
left:0 !important;
right:0 !important;
width:100% !important;
background:rgba(0,0,0,.96) !important;
padding:20px 24px !important;
flex-direction:column !important;
gap:14px !important;
z-index:999999 !important;
}

.nav.open{
display:flex !important;
}

.nav a{
display:block !important;
color:#fff !important;
font-size:15px !important;
font-weight:900 !important;
padding:12px 0 !important;
border-bottom:1px solid rgba(255,255,255,.12) !important;
}

}