:root{--bg:#081019;--panel:#111e2a;--blue:#1686d9;--ice:#72c5ff;--muted:#b4c2ce;--line:#293c4d;--green:#20bd70}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--bg);color:#f5f8fb;font:16px/1.7 system-ui,-apple-system,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(1160px,calc(100% - 36px));margin:auto}header{position:sticky;top:0;z-index:20;background:#081019eF;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:54px;height:54px;object-fit:contain}.brand strong{letter-spacing:.13em}.brand small{display:block;color:#9fb0bf;font-size:.72rem}.links{display:flex;gap:24px;color:#c8d4de}.links a:hover{color:var(--ice)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:10px;border:1px solid transparent;font-weight:750;transition:.25s;cursor:pointer}.primary{background:linear-gradient(135deg,#0878c5,#249bec);box-shadow:0 8px 26px #0878c533}.primary:hover,.outline:hover{transform:translateY(-3px)}.outline{border-color:#52687b;background:#ffffff08}.hero{min-height:640px;display:flex;align-items:center;position:relative;isolation:isolate}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#060b12f5 0%,#060b12d9 48%,#060b1270),linear-gradient(0deg,var(--bg),transparent 25%),url('https://images.unsplash.com/photo-1567789884554-0b844b597180?auto=format&fit=crop&w=1900&q=85') center/cover}.hero:after{content:"";position:absolute;z-index:-1;right:-160px;top:12%;width:440px;height:440px;border:1px solid #72c5ff26;border-radius:50%;box-shadow:0 0 0 55px #72c5ff08,0 0 0 110px #72c5ff05;animation:spin 28s linear infinite}.hero-content{padding:95px 0;max-width:790px}.kicker{color:var(--ice);font-size:.76rem;letter-spacing:.17em;text-transform:uppercase;font-weight:800;margin-bottom:18px}.kicker:before{content:"";display:inline-block;width:27px;height:2px;background:var(--ice);vertical-align:middle;margin-right:10px}h1{font-size:clamp(2.7rem,6.3vw,5.25rem);line-height:1.04;letter-spacing:-.04em;margin-bottom:22px}h1 span{color:var(--ice)}.hero p{max-width:650px;color:#d1dce5;font-size:1.1rem;margin-bottom:28px}.actions{display:flex;gap:12px;flex-wrap:wrap}.note{margin-top:30px;color:#c0cbd5;font-size:.9rem}.stats{margin-top:-38px;position:relative;z-index:2}.statsbox{display:grid;grid-template-columns:repeat(3,1fr);background:#101c28f2;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 20px 50px #0005}.stat{padding:20px 24px;display:flex;gap:13px;align-items:center}.stat+.stat{border-left:1px solid var(--line)}.ico{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;border-radius:12px;background:#1686d922;color:var(--ice);font-size:1.35rem}.stat strong,.stat small{display:block}.stat small{color:var(--muted);font-size:.82rem}section{padding:90px 0}.heading{max-width:720px;margin-bottom:35px}.heading .kicker{margin-bottom:9px}.heading h2,.about h2{font-size:clamp(2rem,4vw,3.15rem);line-height:1.13;letter-spacing:-.03em;margin-bottom:14px}.heading p,.about p{color:var(--muted)}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service{padding:25px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#152432,#0d1721);min-height:220px;position:relative;overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s}.service:after{content:"";position:absolute;right:-50px;bottom:-70px;width:140px;height:140px;border:1px solid #72c5ff20;border-radius:50%}.service:hover{transform:translateY(-7px);border-color:#72c5ff80;box-shadow:0 18px 36px #0004}.service .ico{margin-bottom:18px}.service h3{margin-bottom:8px}.service p{font-size:.92rem;color:var(--muted)}.gallery-section{background:linear-gradient(#0d1721,#081019);border-block:1px solid var(--line)}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.photo{grid-column:auto;position:relative;min-height:0;height:270px;border:1px solid #2b4052;border-radius:16px;overflow:hidden;background:#13202c;box-shadow:0 10px 24px #0002;isolation:isolate;transition:transform .3s,border-color .3s,box-shadow .3s}.photo:nth-child(1),.photo:nth-child(4){grid-column:auto}.photo:hover{transform:translateY(-5px);border-color:#72c5ff99;box-shadow:0 18px 34px #0005}.photo img{width:100%;height:100%;min-height:0;object-fit:cover;opacity:.9;transition:transform .65s,opacity .3s}.photo:hover img{transform:scale(1.055);opacity:1}.photo:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#050a10e8);pointer-events:none}.photo figcaption{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:17px 18px;font-weight:750;font-size:.95rem;letter-spacing:.01em}.photo a{display:block;height:100%;min-height:0}.video-card{grid-column:auto;position:relative;border:1px solid #2b4052;border-radius:16px;overflow:hidden;background:linear-gradient(145deg,#13202c,#0b141e);box-shadow:0 10px 24px #0002;transition:transform .3s,border-color .3s,box-shadow .3s}.video-card:hover{transform:translateY(-4px);border-color:#72c5ff99;box-shadow:0 18px 34px #0005}.video-card video{display:block;width:100%;height:230px;object-fit:cover;background:#050a10}.video-card figcaption{padding:14px 16px;font-weight:700;color:#e8f1f8;border-top:1px solid #ffffff0a}.fine{color:#93a4b2;font-size:.83rem;margin-top:14px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.about-image{position:relative;min-height:430px;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:url('https://images.unsplash.com/photo-1581092160562-40aa08e78837?auto=format&fit=crop&w=1000&q=85') center/cover}.badge{position:absolute;bottom:18px;left:18px;right:18px;padding:16px;border:1px solid #ffffff2e;border-radius:12px;background:#07111dcc;backdrop-filter:blur(10px)}.badge span{display:block;color:var(--muted);font-size:.88rem}.about p{margin:0 0 15px}.checks{list-style:none;margin:22px 0}.checks li{margin:8px 0;color:#dce5ec}.checks li:before{content:"✓";color:var(--ice);font-weight:900;margin-right:10px}.contact{background:radial-gradient(ellipse at 90% 20%,#1686d91c,transparent 35%),#0b141e;border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:25px;align-items:start}form,.contact-card{padding:28px;border:1px solid var(--line);border-radius:18px;background:#111e2ae8}.form-sub,.contact-card>p{color:var(--muted);font-size:.9rem;margin-bottom:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}label{display:block;color:#dce5ec;font-size:.88rem;margin-bottom:14px}.full{grid-column:1/-1}input,textarea,select{width:100%;margin-top:6px;padding:12px;border:1px solid #35495a;border-radius:9px;background:#09121b;color:#f5f8fb;font:inherit;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--ice);box-shadow:0 0 0 3px #1686d922}textarea{min-height:115px;resize:vertical}input::placeholder,textarea::placeholder{color:#758797}.hint{color:#91a2b1;font-size:.8rem;margin:8px 0 18px}.contact-item{display:flex;gap:15px;padding:17px 0;border-bottom:1px solid var(--line);align-items:center}.contact-item .ico{width:54px;height:54px;border-radius:15px;background:linear-gradient(145deg,#16334a,#102538);border:1px solid #2d526b;color:#76ccff;box-shadow:inset 0 1px 0 #ffffff0c;transition:transform .25s,border-color .25s;}.contact-item:hover .ico{transform:translateY(-2px);border-color:#72c5ff80}.contact-item .ico svg{width:24px;height:24px;display:block;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.contact-item strong,.contact-item span{display:block}.contact-item span,.contact-item a{font-size:.9rem;color:var(--muted);overflow-wrap:anywhere}.contact-item a:hover{color:var(--ice)}.channel{width:100%;margin-top:20px}footer{border-top:1px solid var(--line);padding:25px 0;color:#8b9aa7;font-size:.84rem}.foot{display:flex;justify-content:space-between;gap:15px}.foot strong{color:#e1eaf1;letter-spacing:.1em}.credit{margin-left:auto;color:#8b9aa7}.credit a{color:#72c5ff;font-weight:750}.credit a:hover{color:#fff;text-decoration:underline}.float{position:fixed;z-index:30;right:20px;bottom:20px;width:57px;height:57px;border-radius:50%;display:grid;place-items:center;background:var(--green);font-size:1.5rem;box-shadow:0 8px 25px #0006;transition:transform .2s}.float:hover{transform:translateY(-4px) scale(1.04)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.reveal.show{opacity:1;transform:none}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}@media(max-width:900px){.services{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:1fr}.hero{min-height:580px}}@media(max-width:700px){.links{display:none}.hero{min-height:600px}.hero-content{padding:80px 0}.statsbox{grid-template-columns:1fr}.stat+.stat{border-left:0;border-top:1px solid var(--line)}section{padding:70px 0}.about-grid{grid-template-columns:1fr;gap:28px}.about-image{min-height:330px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.photo,.photo:nth-child(1),.photo:nth-child(4),.video-card{grid-column:auto}.photo{height:230px}.video-card video{height:200px}.foot{flex-direction:column}.nav{min-height:70px}}@media(max-width:480px){.wrap{width:calc(100% - 26px)}.brand img{width:44px;height:44px}.brand strong{font-size:.9rem}.brand small{font-size:.64rem}.nav>.btn{font-size:.8rem;padding:10px}.hero h1{font-size:2.65rem}.actions .btn{width:100%}.services{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo,.photo:nth-child(1),.photo:nth-child(4),.video-card{grid-column:auto}.photo{height:190px}.photo figcaption{padding:12px;font-size:.82rem}.video-card video{height:160px}.video-card figcaption{padding:11px;font-size:.84rem}.form-grid{grid-template-columns:1fr}form,.contact-card{padding:20px}.float{width:52px;height:52px;right:14px;bottom:14px}}

[hidden]{display:none!important}.gallery-more-wrap{display:flex;justify-content:center;margin:22px 0 34px}.gallery-toggle{min-width:180px;color:#e8f4ff}.gallery-toggle:hover{border-color:var(--ice);background:#1686d91a}

/* Detalles animados inspirados en tuercas, engranajes y mecanizado */
.machine-decor{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.hero-content{position:relative;z-index:1}
.floating-nut{position:absolute;display:block;width:74px;height:74px;opacity:.26;border:5px solid #72c5ff;background:linear-gradient(145deg,#d6e3ed22,#1686d911);clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%);filter:drop-shadow(0 0 12px #1686d955);animation:nutFloat 9s ease-in-out infinite,nutSpin 22s linear infinite}
.floating-nut:after{content:"";position:absolute;inset:22%;border:4px solid #72c5ff;border-radius:50%;background:#081019}
.nut-one{right:12%;top:20%;width:94px;height:94px;animation-delay:-2s}
.nut-two{right:31%;bottom:12%;width:44px;height:44px;opacity:.18;animation-delay:-5s}
.nut-three{left:5%;bottom:18%;width:58px;height:58px;opacity:.16;animation-delay:-3s}
.floating-gear{position:absolute;color:#72c5ff;opacity:.12;font-size:clamp(8rem,18vw,17rem);line-height:1;right:-2%;bottom:-8%;animation:spin 50s linear infinite}
.spark{position:absolute;color:#9edcff;font-size:1.6rem;opacity:.6;animation:sparkPulse 3s ease-in-out infinite}
.spark-one{right:25%;top:24%}.spark-two{right:9%;bottom:28%;animation-delay:1.4s}
.contact-icon{background:linear-gradient(145deg,#153a55,#102536);border:1px solid #72c5ff55;box-shadow:inset 0 1px 0 #ffffff18,0 6px 18px #0003;transition:transform .3s,box-shadow .3s,border-color .3s}
.contact-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px #72c5ff30)}
.contact-item:hover .contact-icon{transform:translateY(-3px) rotate(-5deg);border-color:#72c5ff;box-shadow:0 0 0 4px #1686d91c,0 8px 22px #0004}
.contact-item{transition:background .25s,padding .25s;border-radius:10px;padding-left:10px;padding-right:10px}
.contact-item:hover{background:#72c5ff08}
.service .ico{position:relative;transition:transform .35s;box-shadow:inset 0 1px 0 #ffffff12}
.service:hover .ico{transform:rotate(-8deg) scale(1.08)}
.btn{position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:-80%;left:-40%;width:25%;height:260%;background:#ffffff25;transform:rotate(25deg) translateX(-220%);transition:transform .6s}.btn:hover:before{transform:rotate(25deg) translateX(700%)}
.photo,.video-card{transition:transform .35s,border-color .35s,box-shadow .35s}.photo:hover,.video-card:hover{transform:translateY(-5px);border-color:#72c5ff80;box-shadow:0 18px 36px #0005}
@keyframes nutFloat{0%,100%{translate:0 0}50%{translate:0 -18px}}
@keyframes nutSpin{to{rotate:360deg}}
@keyframes sparkPulse{0%,100%{opacity:.18;scale:.7}50%{opacity:.8;scale:1.15}}
@media(max-width:700px){.floating-nut{opacity:.13}.nut-one{right:4%;top:12%;width:60px;height:60px}.floating-gear{right:-20%;bottom:2%;opacity:.07}.spark{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
