/* Estilo "heavy work" inspirado en la categoría Construction/Machinery de deepelementlab/openstyle (MIT). Fuente Oswald (SIL OFL 1.1), autoalojada. */
@font-face{font-family:Oswald;src:url(/fonts/oswald-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Oswald;src:url(/fonts/oswald-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--ink:#121212;--bg:#f1efe9;--steel:#2b2d2f;--yel:#ffcd11;--mut:#4a4d50;--hz:repeating-linear-gradient(-45deg,var(--yel) 0 14px,#111 14px 28px);--head:Oswald,Impact,"Arial Narrow",sans-serif}
*{box-sizing:border-box}
body{margin:0;font:17px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg) radial-gradient(#0000000d 1px,transparent 1.2px) 0 0/6px 6px}
main,footer,.signup{max-width:760px;margin:0 auto;padding:0 18px}
.top{background:#111;color:#fff;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:12px 18px 18px;gap:8px;position:relative}
.top::after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:var(--hz)}
.logo{color:#fff;font:700 1.7rem/1 var(--head);text-transform:uppercase;letter-spacing:.02em;text-decoration:none}.logo span{color:var(--yel)}
.top nav{display:flex;gap:6px}.top nav a{color:#fff;font:600 .95rem var(--head);text-transform:uppercase;letter-spacing:.04em;text-decoration:none;padding:10px 8px;min-height:44px;display:inline-flex;align-items:center;border-bottom:3px solid transparent}
.top nav a:hover{border-color:var(--yel);color:var(--yel)}
.disclosure{background:var(--yel);color:#111;border-bottom:3px solid #111;margin:0;padding:8px 18px;font-size:.88rem;font-weight:600;text-align:center}.disclosure a{color:#111}
h1,h2,h3{font-family:var(--head);text-transform:uppercase;letter-spacing:.01em;line-height:1.1}
h1{font-size:2.5rem;margin:28px 0 12px;padding-left:14px;border-left:10px solid var(--yel)}
h2{font-size:1.6rem;margin-top:36px;display:inline-block;background:#111;color:var(--yel);padding:4px 12px;transform:skew(-6deg)}
h3{font-size:1.25rem}
a{color:#0a4f7a;text-underline-offset:3px}.lead{font-size:1.12rem;color:var(--mut);font-weight:500}
.card{background:#fff;border:3px solid #111;border-radius:2px;padding:14px 16px;margin:16px 0;box-shadow:6px 6px 0 #111}
.card h3{margin:0 0 6px}.verify{font-size:.85rem;color:#7a5200;font-weight:600}
.btn-amz,.btn,.signup button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 20px;font:700 1.05rem var(--head);text-transform:uppercase;letter-spacing:.05em;text-decoration:none;border:3px solid #111;border-radius:2px;box-shadow:4px 4px 0 #111;cursor:pointer;transition:transform .1s,box-shadow .1s}
.btn-amz{background:var(--yel);color:#111}
.btn-amz:active,.btn:active,.signup button:active{transform:translate(4px,4px);box-shadow:none}
.btn-amz.pending{outline:3px dashed #c0392b;outline-offset:3px}
.todo{background:#fdecea;border:3px dashed #c0392b;border-radius:2px;padding:10px 14px;margin:16px 0;font-size:.93rem}
.todo-inline{display:block;color:#c0392b;font-size:.8rem;margin-top:4px}
.hub{display:grid;gap:14px}.hub a.card{display:block;text-decoration:none;color:inherit;border-left:12px solid var(--yel);transition:transform .1s,box-shadow .1s}
.hub a.card:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 #111}
.hub a.card strong{font:700 1.3rem/1.15 var(--head);text-transform:uppercase;color:#111}
.btn{background:#111;color:#fff}.wa{background:#1f8b4c;color:#fff}
table{border-collapse:collapse;width:100%;font-size:.95rem;background:#fff;border:3px solid #111}th{background:#111;color:var(--yel);font-family:var(--head);text-transform:uppercase}td,th{border:1px solid #999;padding:8px;text-align:center}
.signup{background:var(--steel);color:#fff;border-top:10px solid transparent;border-image:var(--hz) 10;padding:18px;margin-top:40px}
.signup a{color:var(--yel)}.signup h2,.signup h3{background:none;transform:none;padding:0;color:var(--yel)}
.signup form{display:flex;flex-wrap:wrap;gap:10px}.signup input{flex:1 1 200px;min-height:52px;padding:12px;border:3px solid #111;border-radius:2px;font-size:1rem}
.signup button{background:var(--yel);color:#111}
footer{margin-top:0;padding:24px 18px 34px;font-size:.9rem;color:#ccc;background:#111;max-width:none}footer a{color:var(--yel)}footer strong{font-family:var(--head);text-transform:uppercase;color:#fff}
.small{font-size:.8rem}.sr{position:absolute;left:-9999px}ul.check li{margin:4px 0}
@media(min-width:760px){h1{font-size:3.2rem}.hub{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* v3: maquinaria pesada genérica (sin marcas de terceros) */
:root{--rivet:radial-gradient(circle at 35% 35%,#d9dadb,#6b6e71 55%,#2a2c2e 70%);--plate:linear-gradient(180deg,#3a3d40,#232527)}
.top{border-top:4px solid var(--yel)}
.hero{position:relative;min-height:min(78vh,620px);min-height:min(78svh,620px);display:flex;align-items:flex-end;color:#fff;background:#0d0d0d;overflow:hidden;border-bottom:14px solid transparent;border-image:var(--hz) 14}
.hero--noimg,.band.hero--noimg{background:radial-gradient(ellipse at 70% 20%,#3b3420 0,#151515 55%,#0a0a0a 100%)}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0006 0,#0000 35%,#000c 75%,#000e 100%)}
.hero-in{position:relative;z-index:2;max-width:760px;margin:0 auto;padding:28px 18px 30px;width:100%}
.hero h1{color:#fff;border:0;padding:0;margin:8px 0 12px;font-size:clamp(2.6rem,12vw,5rem);line-height:.95;letter-spacing:-.005em;text-shadow:0 3px 0 #000}
.hero .lead{color:#e8e8e8;font-size:1.1rem;border-left:6px solid var(--yel);padding-left:12px}
.kicker{display:inline-flex;gap:8px;align-items:center;margin:0;background:var(--yel);color:#111;font:700 .95rem var(--head);text-transform:uppercase;letter-spacing:.08em;padding:6px 12px}
.kicker span{background:#111;color:var(--yel);padding:0 6px}
main{counter-reset:sec}
main>h2{counter-increment:sec}main>h2::before{content:counter(sec,decimal-leading-zero);color:#fff;margin-right:10px;opacity:.9}
.card,.hub a.card{position:relative;background:var(--plate);color:#eee;border:3px solid #111;border-left:12px solid var(--yel);padding:18px 22px;box-shadow:6px 6px 0 #000,inset 0 1px 0 #ffffff22}
.card::before,.card::after{content:"";position:absolute;top:7px;width:10px;height:10px;border-radius:50%;background:var(--rivet);box-shadow:0 calc(100% + 0px) 0 0 transparent}
.card::before{left:6px}.card::after{right:7px}
.card h3,.hub a.card strong{color:var(--yel)}.card a{color:var(--yel)}.card .verify{color:#ffd65a}
.card .todo,.card .todo-inline{color:#c0392b}
.btn-amz{background:var(--yel);font-size:1.1rem;min-height:56px;box-shadow:5px 5px 0 #000;border-width:3px}
.btn-amz:hover{filter:brightness(1.05)}
.band{position:relative;margin:30px -18px;min-height:240px;display:flex;align-items:flex-end;overflow:hidden;border-top:10px solid transparent;border-image:var(--hz) 10;background:#111}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band figcaption{position:relative;z-index:1;width:100%;padding:60px 18px 18px;color:#fff;background:linear-gradient(180deg,#0000,#000d 55%);font-weight:600}
.band figcaption a{color:var(--yel);font:700 1.4rem var(--head);text-transform:uppercase;text-decoration:none;display:block}
footer.plate{background:#111;padding:22px 14px 30px}
.plate-in{position:relative;max-width:760px;margin:0 auto;background:var(--plate);border:3px solid #000;border-radius:4px;padding:22px 26px;box-shadow:inset 0 0 0 2px #555,inset 0 2px 0 #ffffff26}
.plate-in::before,.plate-in::after{content:"";position:absolute;top:8px;width:12px;height:12px;border-radius:50%;background:var(--rivet);box-shadow:0 0 0 0 transparent}
.plate-in::before{left:8px}.plate-in::after{right:8px}
.plate-id{font:700 .8rem var(--head);letter-spacing:.14em;color:var(--yel);border-bottom:2px solid #555;padding-bottom:8px;margin-top:0}
@media(min-width:760px){.band{margin:30px 0}.hero{min-height:70vh}}
/* v4 motion */
.fx{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.hero::before{z-index:1}.fx{z-index:1}
.hero-bg{animation:kb 22s ease-in-out infinite alternate;will-change:transform;transform-origin:60% 40%}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.14) translate(-2%,-1%)}}
.fx-grid{position:absolute;inset:-40px;background-image:linear-gradient(#ffcd1114 1px,transparent 1px),linear-gradient(90deg,#ffcd1114 1px,transparent 1px);background-size:40px 40px;animation:grid 12s linear infinite;mask-image:linear-gradient(180deg,#000 0,#0000 70%)}
@keyframes grid{to{transform:translate(40px,40px)}}
.fx-gear{position:absolute;fill:#ffcd11;opacity:.22;animation:spin 18s linear infinite}
.fx-gear circle{fill:#0d0d0d}
.g1{width:180px;top:-60px;right:-50px}
.g2{width:110px;top:70px;right:95px;animation-direction:reverse;animation-duration:11s;opacity:.16}
@keyframes spin{to{transform:rotate(360deg)}}
.fx-crane{position:absolute;left:-10px;top:10px;width:min(55vw,360px)}
.fx-jib{transform-origin:70px 14px;animation:jib 9s ease-in-out infinite alternate}
.fx-hook{animation:hook 3.5s ease-in-out infinite alternate;transform-origin:250px 20px}
@keyframes jib{to{transform:rotate(-4deg)}}@keyframes hook{from{transform:rotate(-3deg)}to{transform:rotate(3deg)}}
.fx-sparks i{position:absolute;bottom:18%;left:var(--x);width:3px;height:3px;border-radius:50%;background:#ffcd11;box-shadow:0 0 6px #ff9d00;opacity:0;animation:spark var(--d) linear infinite var(--w)}
.fx-sparks i:nth-child(1){--x:12%;--d:5s;--w:0s}.fx-sparks i:nth-child(2){--x:28%;--d:6.5s;--w:1s}.fx-sparks i:nth-child(3){--x:44%;--d:4.5s;--w:2s}.fx-sparks i:nth-child(4){--x:58%;--d:7s;--w:.5s}.fx-sparks i:nth-child(5){--x:70%;--d:5.5s;--w:3s}.fx-sparks i:nth-child(6){--x:82%;--d:6s;--w:1.5s}.fx-sparks i:nth-child(7){--x:92%;--d:4.8s;--w:2.5s}.fx-sparks i:nth-child(8){--x:36%;--d:8s;--w:4s}
@keyframes spark{0%{opacity:0;transform:translate(0,0)}10%{opacity:.9}100%{opacity:0;transform:translate(30px,-260px)}}
.fx-badge{position:absolute;right:18px;top:200px;width:74px;height:74px;perspective:400px}
.cube{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:cube 10s linear infinite}
.cube b{position:absolute;inset:0;display:grid;place-items:center;background:#ffcd11;color:#111;border:3px solid #111;font:700 .8rem var(--head);letter-spacing:.04em}
.cube b:nth-child(1){transform:translateZ(37px)}.cube b:nth-child(2){transform:rotateY(90deg) translateZ(37px)}.cube b:nth-child(3){transform:rotateY(180deg) translateZ(37px)}.cube b:nth-child(4){transform:rotateY(-90deg) translateZ(37px)}
@keyframes cube{from{transform:rotateX(-14deg) rotateY(0)}to{transform:rotateX(-14deg) rotateY(360deg)}}
.fx-tape{position:absolute;left:-10%;right:-10%;bottom:0;height:12px;background:repeating-linear-gradient(-45deg,#ffcd11 0 14px,#111 14px 28px);background-size:40px 12px;animation:tape 1.6s linear infinite;opacity:.9}
@keyframes tape{to{background-position:40px 0}}
.hero-in{z-index:3}
@media(max-width:600px){.fx-badge{display:none}.g2{display:none}.fx-crane{opacity:.7}}
.card{transform:perspective(700px) rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .15s ease,box-shadow .15s}
.card:hover{--tz:1}.hub a.card:hover{transform:perspective(700px) rotateX(var(--rx,0)) rotateY(var(--ry,0)) translate(-3px,-3px)}
.card:not(:hover){--rx:0deg;--ry:0deg}
.btn-amz:hover,.btn:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 #000}
.rv{opacity:0;transform:translateY(28px)}.rv.in{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease}
.band img{animation:kb 26s ease-in-out infinite alternate}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}.card{transform:none!important}}
/* v6: fondo de soldadura solo en las zonas claras */
body{background:#0c0e11 radial-gradient(ellipse at 85% 25%,#1c2430 0,#0c0e11 60%) fixed;color:#e9e9e6}
#weldbg{position:fixed;inset:0;width:100vw;height:100vh;z-index:-1;pointer-events:none}
.weld-glow{position:fixed;left:88%;top:30%;width:520px;height:520px;margin:-260px;border-radius:50%;z-index:-1;pointer-events:none;background:radial-gradient(circle,#cfe6ff99 0,#5aa0ff33 14%,#ff8a1a22 32%,#0000 65%);opacity:calc(.5 + var(--f,.8)*.5)}
main{position:relative}
main>p,main li,main>ul,main>ol{color:#e9e9e6;text-shadow:0 1px 3px #000}
main a:not(.btn-amz):not(.btn):not(.card){color:var(--yel)}
.lead{color:#cfd2d4}main h1{color:#fff}
h2{box-shadow:0 0 0 2px var(--yel)}
.todo{background:#fdecea;color:#3a0d08}.todo a{color:#8a1c10}
table{color:#111}table a{color:#0a4f7a!important}
.verify{color:#ffd65a}
@media(prefers-reduced-motion:reduce){.weld-glow{opacity:.8}}
/* v7: efectos de tarjetas */
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
.card{background:radial-gradient(260px circle at var(--mx,50%) var(--my,0%),#ffffff1f,#0000 70%),linear-gradient(105deg,#0000 40%,#ffffff2e 50%,#0000 60%) -150% 0/250% 100% no-repeat,var(--plate);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background-position 0s}
.card::before,.card::after{animation:glint 4s ease-in-out infinite}
.card::after{animation-delay:2s}
@keyframes glint{0%,85%,100%{filter:brightness(1)}92%{filter:brightness(2.2) drop-shadow(0 0 4px #fff)}}
@media(hover:hover){
.card:hover,.hub a.card:hover{transform:perspective(700px) rotateX(var(--rx,0)) rotateY(var(--ry,0)) translateY(-6px) scale(1.015);box-shadow:12px 16px 0 #000,0 0 28px #ff9d0055;border-image:conic-gradient(from var(--a),#ffcd11,#ff7a00,#fff3b0,#ff7a00,#ffcd11) 1;animation:edge 1.6s linear infinite;background-position:0 0,150% 0,0 0;transition:transform .25s,box-shadow .25s,background-position .9s ease}
}
@keyframes edge{to{--a:360deg}}
.rv.card{opacity:0;transform:perspective(700px) translateY(40px) rotateX(18deg)}
.rv.in.card{opacity:1;transform:perspective(700px);transition:opacity .6s ease calc(var(--i,0)*.12s),transform .7s cubic-bezier(.2,.8,.2,1) calc(var(--i,0)*.12s);animation:shine 1.2s ease calc(.5s + var(--i,0)*.12s) 1 both}
@keyframes shine{from{background-position:0 0,-150% 0,0 0}to{background-position:0 0,150% 0,0 0}}
.card:active{transform:perspective(700px) scale(.97) translateY(2px)!important;box-shadow:2px 2px 0 #000,0 0 18px #ffcd1166!important;transition-duration:.08s}
@media(prefers-reduced-motion:reduce){.card,.card:hover{animation:none!important;border-image:none!important;transform:none!important}}
.aff-note{display:block;font-size:.78rem;color:#cfd2d4;margin-top:6px}
