/* Revisión transversal: lectura, orientación y cotización. Octubre 2026. */
@font-face{font-family:Inter;src:url('/assets/fonts/inter-latin-variable.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
:root{--header-height:88px;--accent-readable:#e5e8e9;--font:'Inter','Segoe UI',sans-serif}
body{font-size:16px;line-height:1.7}
body[data-brand="metal"]{--accent-readable:#edb2ad}
body[data-brand="waterjet"]{--accent-readable:#accfe4}
body[data-brand="3d"]{--accent-readable:#f4d45d}
html{scroll-padding-top:calc(var(--header-height) + 88px)}
h1,h2,h3{text-wrap:balance;font-family:var(--font)}
p,li{overflow-wrap:break-word}
.site-header{height:var(--header-height)}
.header-inner{height:100%}
.main-logo{width:172px}
.main-nav{gap:22px}
.main-nav>a:not(.button){font-size:14px;min-height:48px;display:inline-flex;align-items:center;gap:12px}
.main-nav .nav-quote{border-bottom:1px solid #9ba8b1}
.main-nav .nav-quote:after{display:none}
.main-nav .button{font-size:13px}
.division-nav{top:var(--header-height)}
.division-nav nav a{min-height:48px;display:inline-flex;align-items:center}
.division-nav nav a:hover,.division-nav .division-quote>span{color:var(--accent-readable)}
.breadcrumbs{font-size:13px;line-height:1.6;letter-spacing:0;gap:9px;margin-bottom:24px}
.breadcrumbs a{display:inline-flex;align-items:center;min-height:32px}
.page-intro{padding-top:30px;padding-bottom:46px}
.page-intro>.breadcrumbs{margin-bottom:24px}
.page-intro>p,.project-intro>div>p{font-size:18px;line-height:1.7;max-width:70ch}
.eyebrow,.active-label{color:var(--accent-readable)}
.eyebrow{font-size:12px;line-height:1.6;letter-spacing:.12em}
.h-light .eyebrow{color:#505c64}
.water-capacity .eyebrow{color:#365365}
.water-sector-section,.water-capacity{--muted:#465a65;--accent-readable:#365365}
.metal-scope{--muted:#50595b;--accent-readable:#8d2929}
.trust-stat strong,.technical-steps article>span,.water-benefits article>span{color:var(--accent-readable)}
.text-link,.card-link{font-size:14px;line-height:1.5}
.button{min-height:50px;font-size:14px}
.actions{gap:18px 28px;flex-wrap:wrap;align-items:center}
.cta-actions{display:flex;flex-wrap:wrap;gap:20px 30px;align-items:center;margin-top:24px;max-width:580px}
.cta-band .cta-actions .text-link{margin:0}
.cta-band p{font-size:18px;line-height:1.65}
.h-hero{padding-block:48px 56px}
.h-hero-grid{gap:52px;align-items:center}
.h-hero h1{font-size:clamp(44px,4.5vw,68px);line-height:1.08}
.h-mosaic{grid-template-rows:290px 200px;gap:12px}
.h-mosaic-main img{object-position:center 46%}
.h-mosaic a>span,.print-hero-mosaic a>span{font-size:13px;padding:36px 16px 13px;background:linear-gradient(transparent,#101719e8)}
.h-specialty,.water-use-grid>a,.h-starts article,.print-starts article{transition:border-color .2s,background-color .2s}
.h-specialty:hover{border-color:#ffffff55}
.h-specialty-photo img,.project-photo img,.h-project-photo img{transition:transform .35s}
@media(hover:hover){.h-specialty:hover .h-specialty-photo img,.project-card:hover .project-photo img,.h-project-photo:hover img{transform:scale(1.025)}}
.service-copy p,.service-card .service-copy p{font-size:16px;line-height:1.7;min-height:0}
.service-copy h3{line-height:1.25;min-height:0;max-width:none}
.service-brand-label,.shared-service-label,.project-info>span{font-size:12px;color:var(--accent-readable)}
.project-info h3{font-size:25px;line-height:1.25}
.photo-tag{font-size:12px;line-height:1.5}
.article-copy{font-size:17px}
.article-copy p,.article-copy li{font-size:17px;line-height:1.8;max-width:72ch}
.article-copy h3{font-size:26px;margin-top:34px}
.check-list{font-size:16px;line-height:1.8}
.check-list li::before{color:var(--accent-readable)}
.quote-panel{border-top:3px solid var(--accent-readable)}
.quote-panel p,.quote-panel li{font-size:15px;line-height:1.75}
.quote-panel .button,.quote-panel .text-link{font-size:14px;white-space:normal}
.service-proof .section-heading p{font-size:17px}
.filter{min-height:44px;padding:10px 17px;font-size:14px}
.filters{flex-wrap:wrap;gap:10px}
.filter.active{color:#1c252b;background:#eef0ec;border-color:#eef0ec}
.result-count{font-size:14px}
.search{font-size:16px;min-height:48px}
.water-advantages p,.water-benefits p,.sector-card .card-link,.equipment-copy p{font-size:15px;line-height:1.7}
.sector-card>div>span:first-child,.water-materials-photo-grid .card-link{font-size:12px}
.water-quote-actions{gap:24px 36px}
.capacity-row span{font-size:14px;line-height:1.6}
.client-marquee-heading>span{font-size:11px;line-height:1.7}
.marquee-toggle{min-height:44px;font-size:13px}
.h-faq summary{position:relative;list-style:none;padding:8px 34px 8px 0;min-height:48px;display:flex;align-items:center}
.h-faq summary::-webkit-details-marker{display:none}
.h-faq summary:after{content:'+';position:absolute;right:2px;top:9px;font-size:25px;font-weight:400;line-height:1;color:currentColor}
.h-faq details[open] summary:after{content:'−'}
.h-faq details[open]{padding-bottom:24px}
.quote-form{scroll-margin-top:calc(var(--header-height) + 25px)}
.quote-form label{font-size:16px;line-height:1.5}
.quote-form input,.quote-form select,.quote-form textarea{font-size:16px;min-height:50px}
.quote-form textarea{min-height:145px}
.quote-required-note{font-size:14px!important;color:#bec9ce!important;margin:0 0 24px}
.quote-extra summary{min-height:48px;font-size:16px;padding-block:10px;cursor:pointer}
.form-feedback pre{font-size:15px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.contact-block .text-link{font-size:14px;margin-right:24px}
.footer-links a{font-size:14px;line-height:1.7;padding-block:5px;min-height:34px}
.footer-title{font-size:12px;line-height:1.6}
.dialog-close,.photo-prev,.photo-next{min-width:44px;min-height:44px}
.photo-prev:disabled,.photo-next:disabled{opacity:.45;cursor:default}
:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #f4d86a;outline-offset:4px}
.h-light :is(a,button,input,select,textarea,summary):focus-visible{outline-color:#335e78}
@media(min-width:1121px){.menu-toggle{display:none}.main-nav{display:flex;position:static;padding:0;background:transparent;border:0;flex-direction:row;align-items:center}.main-nav>a:not(.button){padding-block:14px;border:0}.main-nav>.nav-quote{border-bottom:1px solid #9ba8b1!important}.nav-divider{display:block}}
@media(max-width:1120px){
 :root{--header-height:78px}
 .menu-toggle{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 15px;font-size:15px}
 .main-nav{display:none;position:absolute;top:var(--header-height);left:0;right:0;padding:14px 6vw 100px;background:#20262b;border-bottom:1px solid #56636b;flex-direction:column;align-items:stretch;gap:0;min-height:calc(100dvh - var(--header-height));max-height:calc(100dvh - var(--header-height));overflow:auto;box-shadow:0 18px 30px #0005}
 .main-nav.open{display:flex}
 .main-nav>a:not(.button){font-size:17px;padding:13px 0;border-bottom:1px solid #ffffff24;min-height:50px;justify-content:space-between}
 .main-nav>a:after,.nav-divider{display:none}
 .main-nav .button{margin-top:18px;font-size:15px}
 body.menu-open{overflow:hidden}
 .h-hero-grid,.metal-hero-grid,.water-hero-grid{gap:32px}
 .h-mosaic{grid-template-rows:240px 180px}
 .division-nav>.container{flex-wrap:wrap;gap:0;padding-top:10px}
 .division-nav nav{order:3;width:100%;margin:0;justify-content:flex-start;gap:26px;overflow-x:auto;max-width:100%;padding-bottom:1px}
 .division-nav nav a{padding:11px 0;flex-shrink:0}
 .division-nav .division-quote{margin-left:auto}
 html{scroll-padding-top:calc(var(--header-height) + 116px)}
}
@media(max-width:700px){
 :root{--header-height:72px}
 .main-logo{width:154px}
 .h-hero{padding-block:32px 40px}
 .h-hero-grid{gap:30px}
 .h-hero h1{font-size:clamp(39px,9vw,53px);margin-block:18px 22px}
 .h-hero-copy>p{font-size:18px}
 .h-hero .actions{gap:16px 22px;flex-direction:row;align-items:center}
 .h-hero-copy .actions{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px 12px}
 .h-hero-copy .actions>.button{padding:12px 14px;gap:10px;font-size:13px;white-space:normal;line-height:1.4}
 .h-hero-copy .actions>.whatsapp-button>span:last-child{display:none}
 .h-hero-copy .actions>.text-link{font-size:13px;gap:10px;align-self:stretch;justify-content:space-between}
 .h-mosaic{grid-template-rows:225px 155px;gap:10px}
 .h-mosaic a>span{font-size:12px;padding:30px 10px 10px}
 .h-hero-signature{font-size:13px;line-height:1.6}
 .h-section{padding-block:48px}
 .h-heading h2{font-size:32px}
 .h-heading>p{font-size:17px}
 .breadcrumbs{font-size:12px;gap:8px;margin-bottom:18px}
 .page-intro{padding-top:22px;padding-bottom:32px}
 .page-intro>.breadcrumbs{margin-bottom:20px}
 .page-intro h1{font-size:clamp(36px,8.7vw,46px);line-height:1.13;overflow-wrap:normal;hyphens:auto}
 .page-intro>p,.project-intro>div>p{font-size:17px;line-height:1.75}
 .article-copy p,.article-copy li{font-size:16px;line-height:1.8}
 .article-copy h2{font-size:30px}
 .article-copy h3{font-size:24px}
 .service-copy p{font-size:16px!important}
 .quote-panel{padding:26px}
 .service-grid,.project-grid,.material-grid{min-width:0}
 .detail-layout>*{min-width:0}
 .division-nav nav{gap:24px;mask-image:linear-gradient(to right,#000 93%,transparent)}
 .division-nav nav a{font-size:13px;min-height:46px}
 .cta-band h2{font-size:38px}
 .cta-band p{font-size:17px}
 .cta-actions{align-items:flex-start;flex-direction:column;gap:18px;margin-top:24px}
 .cta-actions>.button{width:100%;margin:0}
 .cta-band .cta-actions .text-link{margin:0}
 .toolbar .search{width:100%;max-width:none}
 .form-grid{grid-template-columns:1fr}
 .contact-phone{font-size:31px}
 .contact-quick-links{gap:12px 24px}
 .contact-quick-links .text-link{font-size:14px}
 .h-faq summary{font-size:17px;line-height:1.5}
 .client-marquee-heading>span{font-size:10px}
 .footer-bottom{font-size:12px;gap:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}.h-specialty:hover img,.project-card:hover img,.h-project-photo:hover img{transform:none}}
