/* PRECISIÓN MX — v3 */
:root{--bg:#05090d;--bg2:#08111a;--panel:#0b151f;--panel2:#101b26;--text:#f5f8fb;--muted:#a8b4c1;--blue:#087ff5;--blue2:#005fc7;--line:#203241;--max:1180px;--shadow:0 20px 55px rgba(0,0,0,.32)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(2,7,11,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06)}.nav-wrap{height:82px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;min-width:210px}.brand img{width:190px;height:auto}.main-nav{margin-left:auto;display:flex;align-items:center;gap:26px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.main-nav>a:not(.btn){padding:30px 0 24px;border-bottom:3px solid transparent}.main-nav>a:not(.btn):hover{color:#5cb1ff;border-color:var(--blue)}.nav-toggle{display:none;margin-left:auto;border:1px solid var(--line);background:#08111a;color:#fff;border-radius:8px;font-size:25px;padding:5px 11px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;border:0;border-radius:4px;padding:14px 22px;font-weight:850;letter-spacing:.01em;box-shadow:0 12px 24px rgba(0,101,211,.18);cursor:pointer}.btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn-small{font-size:12px;padding:13px 18px}.btn-outline{background:rgba(4,11,18,.55);border:1px solid #b9c4ce;box-shadow:none}.hero{min-height:560px;position:relative;overflow:hidden;display:flex;align-items:center;background:#03070b}.hero-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,#02070b 0%,rgba(2,7,11,.96) 30%,rgba(2,7,11,.38) 58%,rgba(2,7,11,.10) 100%),url('../img/hero-machining.webp');background-position:center right;background-size:cover}.hero-content{position:relative;z-index:2}.hero-copy{max-width:600px;padding:70px 0 90px}.eyebrow{margin:0 0 7px;color:#59b5ff;font-size:12px;text-transform:uppercase;letter-spacing:.17em;font-weight:850}.hero h1{margin:0;font-size:clamp(45px,6vw,75px);line-height:.98;text-transform:uppercase;max-width:690px;letter-spacing:-.035em}.hero h1 span{display:block;color:#0786ff}.title-line,.head-line{height:3px;width:55px;background:var(--blue);margin:22px 0}.hero-lead{max-width:370px;font-size:21px;color:#f2f5f8;margin:0 0 29px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.hero-angle{position:absolute;right:-70px;bottom:-75px;width:420px;height:150px;background:linear-gradient(135deg,transparent 0 35%,#023c7b 36% 48%,#087ff5 49% 72%,#063e7a 73%);transform:skewX(-25deg);opacity:.95}.section{padding:76px 0}.services-section{background:linear-gradient(180deg,#07111a,#081018)}.section-dark{background:radial-gradient(circle at 85% 20%,rgba(8,127,245,.08),transparent 30%),linear-gradient(180deg,#07101a,#09131d)}.section-head{margin-bottom:34px}.section-head.centered{text-align:center}.section-head.centered .head-line{margin:15px auto 0}.section-head h2{font-size:clamp(28px,4vw,40px);line-height:1.1;margin:0;text-transform:uppercase}.section-head h2 span{color:var(--blue)}.section-head p:last-child{max-width:760px;margin:16px auto 0;color:var(--muted)}.cards.four{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.service-card{text-align:center;padding:30px 26px;border-right:1px solid rgba(255,255,255,.09)}.service-card:last-child{border-right:0}.service-card .icon{font-size:52px;color:var(--blue);height:65px;line-height:65px}.service-card h3{font-size:19px;text-transform:uppercase;margin:15px 0 10px}.service-card p{margin:0;color:#c2cad2;font-size:14px}.intro-copy{max-width:900px;margin:0 auto 35px;text-align:center;color:#bcc7d1;font-size:16px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.feature{text-align:center;padding:26px 24px;border-right:1px solid rgba(255,255,255,.1)}.feature:last-child{border-right:0}.feature-icon{font-size:42px;color:var(--blue)}.feature strong{display:block;font-size:18px;text-transform:uppercase;margin:10px 0}.feature span{display:block;color:#b9c4cf;font-size:14px}.capabilities-section{background:#050b11}.split{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:start}.check-list{list-style:none;padding:0;margin:0}.check-list li{padding:12px 0 12px 35px;border-bottom:1px solid rgba(255,255,255,.06);position:relative;color:#d7dee5}.check-list li:before{content:'✓';position:absolute;left:4px;color:#0c91ff;font-weight:900}.materials-box{background:linear-gradient(145deg,#09141e,#07101a);border:1px solid #344657;border-radius:6px;padding:30px;box-shadow:var(--shadow)}.materials-box h3{color:#299bff;text-transform:uppercase;margin-top:0}.muted{color:var(--muted)}.works-section{padding-bottom:85px}.gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.gallery-item{margin:0;background:#0b131b;border:1px solid rgba(255,255,255,.08);overflow:hidden;border-radius:4px;position:relative;box-shadow:var(--shadow)}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .25s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item figcaption{padding:12px 10px;font-size:13px;font-weight:700;text-align:center}.quote-section{background:linear-gradient(120deg,#073e7f,#07172a 46%,#06111b);border-top:1px solid rgba(8,127,245,.35);border-bottom:1px solid rgba(8,127,245,.35)}.quote-layout{grid-template-columns:.8fr 1.2fr;align-items:center}.quote-copy h2{font-size:42px;text-transform:uppercase;margin:5px 0 12px}.quote-copy>p:not(.eyebrow){color:#d1d9e0}.contact-direct{display:grid;gap:10px;margin-top:27px}.contact-direct a{border:1px solid rgba(255,255,255,.22);padding:13px 15px;border-radius:4px;background:rgba(2,10,17,.25)}.contact-direct strong,.contact-direct span{display:block}.contact-direct span{color:#cbd5de}.quote-form{background:#071019;border:1px solid #294256;padding:28px;border-radius:7px;box-shadow:var(--shadow)}.quote-form label{display:block;font-size:13px;font-weight:750;margin-bottom:15px;color:#e6edf3}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.quote-form input,.quote-form textarea{width:100%;margin-top:6px;background:#0b1721;border:1px solid #2d4254;border-radius:4px;color:#fff;padding:12px 13px;font:inherit;outline:none}.quote-form input:focus,.quote-form textarea:focus{border-color:#128eff;box-shadow:0 0 0 3px rgba(18,142,255,.12)}.quote-form textarea{resize:vertical;min-height:125px}.file-field small,.form-note{display:block;margin-top:7px;color:#8fa0ae;font-weight:400}.consent{display:flex!important;gap:10px;align-items:flex-start}.consent input{width:auto;margin:3px 0 0!important}.hp-field{position:absolute;left:-9999px}.form-submit{width:100%;margin-top:4px}.form-status{display:none;margin:0 0 16px;padding:12px 14px;border-radius:4px;font-size:14px}.form-status.ok{display:block;background:#0b3d28;border:1px solid #147148;color:#dffbeb}.form-status.error{display:block;background:#4a1717;border:1px solid #8c2d2d;color:#ffe7e7}.contact-section{background:#050a0f}.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.contact-grid>*{background:#09131c;border:1px solid #253746;border-radius:5px;padding:20px}.contact-grid strong,.contact-grid span{display:block}.contact-grid span{margin-top:5px;color:#bac6d0;font-size:14px}.site-footer{background:#020609;border-top:1px solid #1a2a37;padding:40px 0 25px}.footer-wrap{display:grid;grid-template-columns:1.1fr 1.4fr 1fr;gap:30px;align-items:start}.footer-brand img{width:185px}.footer-brand p{color:#8495a4;font-size:13px}.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:7px 18px;color:#c0cad4;font-size:13px}.footer-links a:hover{color:#3ba2ff}.footer-copy{text-align:right;color:#718291;font-size:12px}.floating-wa{position:fixed;right:20px;bottom:20px;z-index:40;width:56px;height:56px;border-radius:50%;background:#1fbf58;display:grid;place-items:center;font-weight:900;color:white;box-shadow:0 15px 30px rgba(0,0,0,.35)}
@media(max-width:960px){.main-nav{position:absolute;top:82px;left:0;right:0;background:#03090e;border-bottom:1px solid #1c2c39;padding:18px 20px 24px;display:none;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav>a:not(.btn){padding:14px 4px;border-bottom:1px solid #13232e}.nav-toggle{display:block}.cards.four,.feature-grid{grid-template-columns:1fr 1fr}.service-card:nth-child(2){border-right:0}.feature:nth-child(2){border-right:0}.gallery{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:1fr 1fr}.footer-wrap{grid-template-columns:1fr 1fr}.footer-copy{text-align:left}.hero{min-height:520px}}
@media(max-width:680px){.container{width:min(100% - 28px,var(--max))}.nav-wrap{height:72px}.brand img{width:165px}.main-nav{top:72px}.hero{min-height:570px;align-items:flex-end}.hero-bg{background-image:linear-gradient(180deg,rgba(2,7,11,.38),#02070b 63%,#02070b 100%),url('../img/hero-machining.webp');background-position:61% top}.hero-copy{padding:235px 0 55px}.hero h1{font-size:45px}.hero-lead{font-size:18px}.hero-angle{display:none}.section{padding:58px 0}.cards.four,.feature-grid,.split,.form-grid,.contact-grid,.footer-wrap{grid-template-columns:1fr}.service-card,.feature{border-right:0;border-bottom:1px solid rgba(255,255,255,.09)}.gallery{grid-template-columns:1fr 1fr}.quote-layout{gap:32px}.quote-copy h2{font-size:34px}.quote-form{padding:21px}.footer-links{grid-template-columns:1fr 1fr}.floating-wa{width:52px;height:52px}.gallery-item figcaption{font-size:12px}}

/* v4 — Galería de piezas de referencia */
.reference-works-section{background:#eef1f5;color:#0b1b30;border-top:1px solid #d8e0e8;border-bottom:1px solid #d8e0e8}
.reference-works-section .eyebrow{color:#0875d1}
.reference-works-section .section-head h2{color:#0a1c32}
.reference-works-section .section-head p:last-child{color:#566372}
.reference-gallery{grid-template-columns:repeat(3,1fr);gap:18px}
.reference-gallery .gallery-item{background:#fff;border:1px solid #d6dde5;box-shadow:0 12px 30px rgba(8,24,42,.10);border-radius:7px}
.reference-gallery .gallery-item img{aspect-ratio:3/2}
.reference-gallery .gallery-item figcaption{padding:13px 12px 15px;color:#0c1c31;background:#fff}
.reference-gallery .gallery-item figcaption strong{display:block;font-size:14px;text-transform:uppercase}
.reference-gallery .gallery-item figcaption span{display:block;margin-top:2px;font-size:12px;font-weight:500;color:#5f6b78}
.reference-note{max-width:930px;margin:22px auto 0;text-align:center;color:#687482;font-size:12px;line-height:1.5}
@media(max-width:960px){.reference-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.reference-gallery{grid-template-columns:1fr}}


/* v5 — Aviso de Privacidad */
.consent a{color:#63b8ff;text-decoration:underline;text-underline-offset:2px}.consent a:hover{color:#a5d8ff}
.privacy-header{position:relative}.privacy-nav{margin-left:auto}.privacy-main{background:#eef1f5;color:#182738;min-height:70vh}.privacy-hero{padding:58px 0 28px;background:linear-gradient(135deg,#07111a,#0a2742);color:#fff}.privacy-hero h1{font-size:clamp(36px,5vw,54px);margin:4px 0 8px;text-transform:uppercase}.privacy-updated{color:#a8b9c8;margin:0}.privacy-container{max-width:900px}.privacy-content-section{padding-top:42px}.privacy-card{background:#fff;border:1px solid #d6dee6;border-radius:8px;padding:42px 48px;box-shadow:0 18px 50px rgba(9,28,47,.10)}.privacy-card h2{color:#0a3157;margin:34px 0 12px;font-size:23px}.privacy-card h2:first-child{margin-top:0}.privacy-card p,.privacy-card li{color:#435261;line-height:1.72}.privacy-card a{color:#0875d1;text-decoration:underline;text-underline-offset:2px}.privacy-card ul{padding-left:23px}.privacy-contact-box{margin-top:38px;background:#eef6fd;border-left:4px solid #087ff5;padding:21px 23px;border-radius:4px;display:grid;gap:5px}.privacy-contact-box strong{color:#0a3157}.privacy-contact-box span{color:#526271}.privacy-footer{margin-top:0}
@media(max-width:680px){.privacy-card{padding:27px 22px}.privacy-hero{padding:42px 0 22px}.privacy-nav .btn{padding:10px 12px;font-size:11px}}
