:root{--navy:#0b1723;--ink:#101820;--cream:#f1efe9;--light:#eef1f3;--steel:#7a858f;--line:rgba(24,37,54,.14);--max:1235px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:Arial,Helvetica,sans-serif}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}
.site-header{position:fixed;z-index:20;top:0;left:0;right:0;height:88px!important;min-height:88px!important;padding:0 5.2vw;display:flex;align-items:center;gap:30px;background:rgba(241,239,233,.98);border-bottom:1px solid rgba(16,24,32,.10)}
.brand{display:flex;align-items:center;gap:28px;height:100%;flex-shrink:0}.brand-mark{width:96px!important;height:58px!important;object-fit:contain;display:block}.brand-divider{width:1px;height:62px;background:rgba(16,24,32,.34);display:block}.brand-wordmark{width:330px!important;height:auto;display:block}
.desktop-nav{display:flex;gap:31px;margin-left:auto}.desktop-nav a{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.075em}.btn{display:inline-flex;align-items:center;justify-content:center;background:#17283a;color:#fff;padding:15px 24px;border:1px solid #17283a;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;transition:.25s}.btn:hover{background:#26394d;transform:translateY(-2px)}.btn-small{padding:14px 20px}.menu-btn{display:none;border:0;background:none;font-size:24px;color:var(--navy)}
.hero{min-height:100vh;position:relative;display:flex;align-items:center;background:#0b1723;color:#fff;overflow:hidden;padding-top:88px}.hero-media{display:none}.hero-grid{position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(155,177,193,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(155,177,193,.10) 1px,transparent 1px),linear-gradient(135deg,transparent 0 49.88%,rgba(190,207,219,.075) 49.96% 50.04%,transparent 50.12%),linear-gradient(45deg,transparent 0 49.88%,rgba(190,207,219,.045) 49.96% 50.04%,transparent 50.12%);background-size:64px 64px,64px 64px,760px 760px,920px 920px;background-position:0 0,0 0,40px -55px,110px 70px}.hero-grid:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 92% 56%,transparent 0 150px,rgba(190,207,219,.18) 151px 152px,transparent 153px 100%);opacity:.8}
.hero-content{position:relative;z-index:2;width:min(1235px,calc(100% - 48px));margin:0 auto;padding:74px 0 105px;transform:translateX(7.5vw)}.eyebrow,.section-tag{font-size:11px;letter-spacing:.16em;font-weight:700;text-transform:uppercase}.hero h1{font-family:'Trebuchet MS',Arial,sans-serif;font-size:clamp(78px,5.65vw,104px);line-height:.87;letter-spacing:-.062em;margin:19px 0 28px;max-width:1100px;transform:scaleX(1.04);transform-origin:left center}.hero h1 span{color:#dce2e6}.lead{font-size:19px;margin:0 0 12px;font-weight:500}.hero-copy{color:#d2d9de;max-width:610px;line-height:1.65;font-size:15px}.actions{display:flex;gap:28px;align-items:center;margin-top:36px}.text-link{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.text-link span{margin-left:7px}
.hero-geometry{position:absolute;inset:0;pointer-events:none;z-index:1}.tech-circle{position:absolute;right:4.2%;top:43%;width:330px;height:330px;border:1px dashed rgba(190,207,219,.19);border-radius:50%}.tech-circle:before,.tech-circle:after{content:"";position:absolute;background:rgba(190,207,219,.19)}.tech-circle:before{width:44px;height:1px;left:calc(50% - 22px);top:50%}.tech-circle:after{height:44px;width:1px;left:50%;top:calc(50% - 22px)}.tech-crosshair{position:absolute;width:38px;height:38px}.tech-crosshair:before,.tech-crosshair:after{content:"";position:absolute;background:rgba(190,207,219,.17)}.tech-crosshair:before{width:38px;height:1px;top:19px}.tech-crosshair:after{height:38px;width:1px;left:19px}.crosshair-a{left:2%;top:62%}.crosshair-b{right:15%;top:24%}.tech-frame{position:absolute;border:1px solid rgba(190,207,219,.075)}.frame-a{left:0;bottom:12%;width:185px;height:160px;border-left:0}.frame-b{right:0;top:10%;width:160px;height:150px;border-right:0;border-top:0}
/* Everything below the hero is intentionally inherited from V7. */
.section{padding:110px max(6vw,24px);max-width:var(--max);margin:auto}.light{max-width:none;background:var(--light);padding-left:max(6vw,24px);padding-right:max(6vw,24px)}.section-tag{color:var(--steel);border-top:1px solid var(--line);padding-top:16px;margin-bottom:55px}.intro-grid,.section-head,.machine-grid,.cta-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.intro h2,.section h2,.cta h2,.contact h2{font-family:'Trebuchet MS',Arial,sans-serif;font-size:clamp(40px,5vw,68px);line-height:.98;letter-spacing:-.05em;margin:0}.intro h2 em,.section h2 em,.cta h2 em,.contact h2 em{font-style:normal;color:var(--steel)}.intro-grid p,.section-head>p,.machine-copy>p{line-height:1.8;max-width:520px;color:#4e5962}.arrow-link{display:inline-block;margin-top:18px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.process-images{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:65px}.process-images figure{margin:0}.process-images img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.85)}figcaption{font-size:10px;letter-spacing:.12em;margin-top:12px;color:var(--steel)}figcaption b{color:var(--navy);margin-right:7px}.section-head{margin-bottom:55px}.cards{display:grid;gap:16px}.cards.four{grid-template-columns:repeat(4,1fr)}.cards article{border-top:2px solid var(--navy);padding:25px 5px 30px}.cards article span{font-size:11px;color:var(--steel)}.cards h3{font-family:'Trebuchet MS',Arial,sans-serif;font-size:21px;margin:35px 0 12px}.cards p{font-size:14px;line-height:1.65;color:#5d6871}.machine{background:var(--cream)}.machine-grid{align-items:center}.machine-image img{width:100%;aspect-ratio:4/3;object-fit:cover}.machine-copy h2{margin:18px 0}.specs{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);margin-top:35px}.specs div{padding:18px 10px 18px 0;border-bottom:1px solid var(--line)}.specs strong{display:block;font-family:'Trebuchet MS',Arial,sans-serif;font-size:21px}.specs small{color:var(--steel);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.note{font-size:10px!important;color:var(--steel)!important}.equipment-strip{margin-top:70px;background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr 1fr}.equipment-strip img{height:100%;width:100%;object-fit:cover}.equipment-strip>div:last-child{padding:55px}.equipment-strip .eyebrow{color:#aab5bd}.equipment-strip h3{font-family:'Trebuchet MS',Arial,sans-serif;font-size:35px;line-height:1.05;margin:16px 0}.equipment-strip p:last-child{color:#bec7ce;line-height:1.7}.materials{display:grid;grid-template-columns:1fr .75fr;gap:7vw;align-items:stretch}.material-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.material-list span{font-family:'Trebuchet MS',Arial,sans-serif;font-size:22px;padding:23px 10px 23px 0;border-bottom:1px solid var(--line)}.materials img{width:100%;height:100%;min-height:330px;object-fit:cover}.sectors{background-color:var(--navy);background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(135deg,transparent 0 49.6%,rgba(255,255,255,.035) 49.8% 50.2%,transparent 50.4%);background-size:55px 55px,55px 55px,220px 220px;color:#fff;max-width:none;padding-left:max(6vw,24px);padding-right:max(6vw,24px)}.sectors .section-tag{color:#9eabb5;border-color:rgba(255,255,255,.15)}.sectors .section-head>p{color:#b9c2c8}.sector-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(255,255,255,.2)}.sector-grid div{font-family:'Trebuchet MS',Arial,sans-serif;font-size:28px;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.2)}.sector-grid div:nth-child(odd){margin-right:5vw}.workflow h2{margin-bottom:60px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.steps div{border-top:2px solid var(--navy);padding-top:20px}.steps b{font-size:11px;color:var(--steel)}.steps h3{font-family:'Trebuchet MS',Arial,sans-serif;font-size:19px;margin:28px 0 10px}.steps p{font-size:13px;line-height:1.7;color:#5d6871}.cta{background-color:var(--navy);background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(135deg,transparent 0 49.6%,rgba(255,255,255,.04) 49.8% 50.2%,transparent 50.4%);background-size:55px 55px,55px 55px,220px 220px;color:#fff;padding:110px max(6vw,24px)}.cta-grid{max-width:var(--max);margin:auto;align-items:end}.cta .eyebrow{color:#aeb8c0}.cta p:not(.eyebrow){color:#bec7ce;line-height:1.7}.cta .btn{background:var(--cream);color:var(--navy);border-color:var(--cream)}.contact{background:var(--cream)}.contact-details{border-top:1px solid var(--line)}.contact-details>a{display:block;padding:23px 0;border-bottom:1px solid var(--line)}.contact-details small{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--steel);font-size:10px;margin-bottom:7px}.contact-details strong{font-family:'Trebuchet MS',Arial,sans-serif;font-size:19px}.contact-details span{display:block;color:var(--steel);font-size:11px;margin-top:9px}.contact-details a:hover strong,.contact-details a:hover span{color:#536a7e}footer{padding:25px 6vw;background:#0e1721;color:#cbd2d7;display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.08em}footer div{display:flex;gap:25px}footer b{color:#fff}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1300px){.hero-content{transform:translateX(4vw)}.brand-wordmark{width:280px!important}.brand-mark{width:88px!important}.desktop-nav{gap:23px}.site-header{padding:0 3.8vw}}
@media(max-width:1100px){.desktop-nav{gap:18px}.brand{gap:18px}.brand-wordmark{width:230px!important}.site-header{height:78px!important;min-height:78px!important}.brand-mark{width:76px!important;height:50px!important}.brand-divider{height:48px}.hero{padding-top:78px}.hero-content{padding-left:28px;padding-right:28px;transform:none}.hero h1{transform:none}.tech-circle{right:-80px}}
@media(max-width:900px){.desktop-nav,.site-header>.btn-small{display:none}.menu-btn{display:block;margin-left:auto}.site-header{height:68px!important;min-height:68px!important}.brand{gap:11px}.brand-mark{width:60px!important;height:44px!important}.brand-divider{height:36px}.brand-wordmark{width:190px!important}.hero{padding-top:68px}.hero-content{padding:72px 28px 70px;transform:none}.hero h1{font-size:clamp(46px,9vw,68px)}.lead{font-size:17px}.intro-grid,.section-head,.machine-grid,.cta-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.cards.four{grid-template-columns:1fr 1fr}.process-images{grid-template-columns:1fr;gap:30px}.process-images img{aspect-ratio:16/9}.materials{grid-template-columns:1fr}.materials img{min-height:280px}.steps{grid-template-columns:1fr 1fr}.equipment-strip{grid-template-columns:1fr}.equipment-strip img{aspect-ratio:16/9}.sector-grid div{font-size:23px}.tech-circle{width:260px;height:260px;right:-100px;top:55%}}
@media(max-width:560px){.site-header{padding:0 18px}.brand{gap:7px}.brand-mark{width:50px!important;height:36px!important}.brand-divider{height:27px}.brand-wordmark{width:150px!important}.section{padding:80px 20px}.hero-content{padding:72px 20px 65px}.hero h1{font-size:44px}.lead{font-size:16px}.actions{flex-direction:column;align-items:flex-start}.tech-circle{width:190px;height:190px;right:-95px;top:63%}}


/* V9 — ajuste fino del header y hero para igualar la referencia */
@media(min-width:1101px){
.site-header{height:60px!important;min-height:60px!important;padding:0 4.1vw;}
.brand{gap:24px;}
.brand-mark{width:65px!important;height:48px!important;}
.brand-divider{height:43px;}
.brand-wordmark{width:220px!important;}
.desktop-nav{gap:27px;}
.hero{padding-top:60px;}
.hero-content{padding-top:112px;padding-bottom:95px;transform:translateX(7.5vw);}
.hero h1{font-size:clamp(54px,4.15vw,74px);line-height:.9;letter-spacing:-.058em;max-width:900px;transform:scaleX(1.02);margin:19px 0 28px;}
.tech-circle{right:5.3%;top:42%;width:300px;height:300px;border-color:rgba(190,207,219,.16);}
.tech-circle:before,.tech-circle:after{background:rgba(190,207,219,.16);}
.hero-grid{opacity:.17;}
.hero-grid:after{opacity:.65;}
}

/* V10 — ajuste final de escala y posición del hero */
@media(min-width:1101px){
  .hero-content{transform:translateX(6.3vw);}
  .hero h1{font-size:clamp(58px,4.5vw,80px);}
}

/* V11 — imágenes de apoyo en tarjetas de servicios */
.cards.four article{
  min-height:390px;
  padding:25px 5px 0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.cards.four article .card-copy{position:relative;z-index:2;min-height:125px;}
.cards.four article h3{margin:35px 0 12px;}
.cards.four article p{margin:0;max-width:330px;}
.cards.four article img{
  width:100%;
  height:210px;
  object-fit:cover;
  display:block;
  margin-top:auto;
  filter:grayscale(.12) saturate(.72) contrast(.92);
  opacity:.72;
}
@media(max-width:900px){
  .cards.four article{min-height:0;padding-bottom:0;}
  .cards.four article .card-copy{min-height:120px;}
  .cards.four article img{height:220px;}
}
@media(max-width:560px){
  .cards.four article .card-copy{min-height:0;}
  .cards.four article img{height:210px;margin-top:24px;}
}

/* V31 — páginas legales y enlaces legales en footer */
.legal-page{min-height:100vh;background:var(--cream);padding:150px max(6vw,24px) 90px;}
.legal-wrap{max-width:900px;margin:0 auto;}
.legal-page .section-tag{margin-bottom:35px;}
.legal-page h1{font-family:'Trebuchet MS',Arial,sans-serif;font-size:clamp(42px,5vw,68px);line-height:.98;letter-spacing:-.04em;margin:0 0 55px;}
.legal-page h2{font-family:'Trebuchet MS',Arial,sans-serif;font-size:24px;line-height:1.1;margin:42px 0 14px;}
.legal-page p,.legal-page li{font-size:15px;line-height:1.8;color:#4e5962;}
.legal-page ul{padding-left:22px;}
.legal-back{display:inline-block;margin-top:42px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;}
.legal-links{display:flex;gap:14px;align-items:center;}
.legal-links a{text-decoration:underline;text-underline-offset:3px;}
@media(max-width:700px){.legal-page{padding-top:120px}.legal-page h1{margin-bottom:40px}.legal-links{flex-wrap:wrap;gap:10px 14px}footer{gap:18px;align-items:flex-start}footer div{flex-direction:column;gap:9px}}
