/* Refinamiento común. Conserva los componentes y los tokens del sitio. */
:root { --fm-section-space:clamp(3.5rem,6.5vw,6.5rem); }
body:not(.fm-profile) .container { max-width:1440px; }
.hm-section { padding-block:var(--fm-section-space); }
.hm-h2 { line-height:1.08; text-wrap:balance; }
.hm-head { align-items:start; gap:2rem 4rem; }
.hm-head .hm-lead { align-self:start; }
.hm-rail__idx,.hm-rail__tag { color:var(--gray-500); }
.hm-section--dark .hm-rail__idx,.hm-section--dark .hm-rail__tag { color:var(--gray-300); }
.hm-prod__desc,.hm-body { color:var(--gray-500); }
.hm-section--dark .hm-body,.hm-section--dark .hm-point p { color:var(--gray-300); }
.hm-prod__tag,.hm-prod__spec s { color:var(--gray-500); }
.hm-section--dark .hm-prod__tag,.hm-section--dark .hm-prod__spec s { color:var(--gray-300); }
.fm-interior { min-width:0; }
.fm-interior .hm-hero:not(.hm-hero--product) { min-height:0; padding-top:10rem; padding-bottom:4rem; }
.fm-interior .hm-hero__title { max-width:22ch; font-size:clamp(2.75rem,5.5vw,5.5rem); line-height:1.04; }
.fm-interior .hm-hero__row { align-items:start; }
.fm-interior .hm-hero__bg img { opacity:.55; }
.fm-interior .hm-page-nav { border-bottom:1px solid var(--hair); }
.fm-interior .hm-page-nav a { min-height:48px; display:inline-flex; align-items:center; }
.fm-interior main section[id] { scroll-margin-top:8rem; }
.hm-cta { text-align:left; }
.hm-cta .hm-cta__h { margin-left:0; max-width:22ch; }
.hm-cta .hm-cta__p { margin-left:0; max-width:60ch; }
.hm-cta .hm-cta__actions,.hm-cta .hm-cta__stats { justify-content:flex-start; }
.footer-site { display:grid; grid-template-columns:1fr 1fr; column-gap:1.5rem; align-content:start; }
.footer-site h2 { grid-column:1/-1; }
.footer-cols { grid-template-columns:1fr 2fr 1.5fr 1fr; }
.footer-col a { min-height:32px; }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid currentColor; outline-offset:4px; }

/* Catálogo: producto principal y dos alternativas comparables. */
.fm-products #catalog .hm-prods { grid-template-columns:1fr 1fr; gap:3rem; }
.fm-products #catalog .hm-prod:first-child { grid-column:1/-1; display:grid; grid-template-columns:1.3fr 1fr; column-gap:3rem; border-top:0; padding-top:0; }
.fm-products #catalog .hm-prod:first-child img { grid-column:1; grid-row:1/6; height:100%; min-height:380px; margin:0; object-fit:cover; }
.fm-products #catalog .hm-prod:first-child > :not(img) { grid-column:2; }
.fm-products #catalog .hm-prod__image { aspect-ratio:16/9; }
.fm-products #catalog .hm-prod:first-child .hm-prod__name { font-size:clamp(2rem,3vw,3rem); }
.fm-products #comparison .hm-head { grid-template-columns:1fr; max-width:52rem; }
.fm-products #comparison .hm-prods { gap:2.5rem; margin-top:2.5rem!important; }
.fm-products #comparison .hm-prod { padding:2rem; border-top:1px solid var(--hair); border-right:1px solid var(--hair); }
.fm-products #comparison .hm-prod:first-child { padding-left:0; }
.fm-products #comparison .hm-prod:last-child { border-right:0; }

/* Fichas: especificaciones primero, documentos como índice, compra como resumen. */
.fm-interior .hm-hero--product .hm-hero__title { font-size:clamp(2.5rem,4.1vw,4.2rem); max-width:18ch; }
.fm-interior .hm-hero--product .hm-hero__bg img { opacity:1; }
.fm-interior #specifications .hm-head { padding-bottom:1.5rem; border-bottom:1px solid var(--hair); }
.fm-interior .spec-table { box-shadow:none; }
.fm-interior .spec-table th[scope="row"] { font-size:.75rem; letter-spacing:.02em; }
.fm-interior #documents { background:var(--white); padding-top:3rem; }
.fm-interior #documents .hm-head { grid-template-columns:.8fr 1.2fr; }
.fm-interior #documents .product-card { grid-template-columns:1.1fr 1.5fr auto; padding-block:1.75rem; }
.fm-interior #documents .card-cta { white-space:normal; }
.fm-interior #buying .hm-buying { border-top:1px solid var(--hair); padding:2rem 0; background:transparent; }
.fm-product-alloys #specifications .hm-prod__name { font-size:1.75rem; }
.fm-product-polypropylene #specifications .hm-head { grid-template-columns:1fr; max-width:55rem; }

/* Proceso: cada etapa tiene su número, explicación y fotografía. */
.fm-process #overview .hm-head { grid-template-columns:1fr; max-width:54rem; }
.fm-process #overview .hm-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2rem; padding:0; }
.fm-process #overview .hm-steps::before,.fm-process #overview .hm-step::before { display:none; }
.fm-process #overview .hm-step { border-top:1px solid var(--hair); padding-top:1.5rem; }
.fm-stage { grid-template-columns:5rem 1fr 1fr; gap:2rem; align-items:start; padding-block:3rem; }
.fm-stage__image { grid-column:3; grid-row:1; aspect-ratio:4/3; margin-top:0; }
.fm-stage:not(:has(.fm-stage__image)) .fm-stage__text { grid-column:2/-1; }
.fm-stage:nth-child(even) { background:var(--gray-bg); padding-inline:2rem; }

/* Logística: secuencia, horarios y condiciones en composiciones distintas. */
.fm-logistics #shipping .hm-step { grid-template-columns:4rem 1fr 1.4fr; }
.fm-logistics #shipping .hm-step__idx { font-size:2rem; }
.fm-logistics #transit .hm-head { grid-template-columns:1fr; max-width:54rem; }
.fm-logistics #transit .hm-stat { padding-block:2rem; }
.fm-logistics #transit .hm-stat__num { font-size:3rem; }
.fm-logistics #trade-terms .hm-prods { grid-template-columns:1fr 1fr; gap:2rem 4rem; }
.fm-logistics #packaging .spec-table-wrap { max-width:none; }
.fm-logistics #shipping-questions .container { max-width:1100px; }

/* Empresa: historia, campus y acreditaciones. */
.fm-about #company .hm-head { grid-template-columns:1fr; max-width:54rem; }
.fm-about #heritage .hm-two { grid-template-columns:1.3fr 1fr; gap:4rem; }
.fm-about #heritage .hm-two__img { aspect-ratio:4/3; }
.fm-about #campus .fm-campus-photo img { height:auto; aspect-ratio:2.3; }
.fm-about #campus .hm-stats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 3rem; }
.fm-about #certifications .hm-prod { display:grid; grid-template-columns:1fr; padding:2rem; background:var(--gray-bg); border-top:2px solid var(--black); }
.fm-about #certifications .hm-prod__name { font-size:2rem; }
.fm-about #people .hm-two { grid-template-columns:1fr 1.3fr; }

/* Materiales y controles ambientales. */
.fm-sustainability .fm-materials { list-style:none; padding:0; gap:0; border-bottom:1px solid var(--hair); }
.fm-sustainability .fm-materials li { padding:2rem; border-right:1px solid var(--hair); }
.fm-sustainability .fm-materials li:first-child { padding-left:0; }
.fm-sustainability .fm-materials li:last-child { border-right:0; }
.fm-sustainability .fm-materials__symbol { font-size:4.5rem; }
.fm-sustainability #controls .hm-head { grid-template-columns:1fr; max-width:55rem; }
.fm-sustainability #impact .hm-head { grid-template-columns:1fr 1.2fr; }

/* Compradores: requisitos y documentación tienen jerarquías propias. */
.fm-industries-batteries #requirements .hm-head { grid-template-columns:1fr; max-width:58rem; }
.fm-industries-batteries .bm-grid { border:0; background:transparent; gap:2rem 3rem; }
.fm-industries-batteries .bm-cell { border-top:1px solid var(--hair); padding:2rem 0; }
.fm-industries-batteries #documentation .hm-prods { grid-template-columns:1fr; gap:0; }
.fm-industries-batteries #documentation .hm-prod { display:grid; grid-template-columns:1fr 1.4fr; column-gap:3rem; padding-block:2rem; }
.fm-industries-brokers #partnership .hm-prods { grid-template-columns:1fr; gap:0; }
.fm-industries-brokers #partnership .hm-prod { display:grid; grid-template-columns:1fr 1.5fr; gap:1rem 3rem; padding-block:2rem; }
.fm-industries-brokers #partnership .hm-prod__tag { grid-column:1/-1; }
.fm-industries-brokers #partnership .hm-prod__name { margin:0; }
.fm-industries-brokers #product-range .hm-prods { gap:2.5rem; }

/* Compliance: el paquete documental se lee como un inventario. */
.fm-compliance #kyc .hm-stats { display:block; background:transparent; border:0; }
.fm-compliance #kyc .hm-stat { display:grid; grid-template-columns:3rem 1fr 2fr; gap:2rem; border:0; border-top:1px solid var(--hair); padding:1.5rem 0; align-items:baseline; }
.fm-compliance #kyc .hm-stat__num { grid-column:1; grid-row:1; font:1rem var(--mono); }
.fm-compliance #kyc .hm-stat__lbl { grid-column:2; grid-row:1; margin:0; font-size:1.15rem; font-family:inherit; text-transform:none; letter-spacing:0; color:var(--black); }
.fm-compliance #kyc .hm-stat__note { grid-column:3; grid-row:1; margin:0; max-width:60ch; font-size:1rem; }
.fm-compliance #scope .hm-head { grid-template-columns:1fr; max-width:55rem; }
.fm-compliance #questions .container { max-width:1100px; }

/* Biblioteca y contacto: herramientas de trabajo. */
.fm-resources #library .hm-head { grid-template-columns:1fr; max-width:55rem; }
.fm-resources main .hm-doc:hover { transform:none; box-shadow:none; background:var(--gray-bg); }
.fm-resources main .hm-doc { padding-inline:1rem; }
.fm-resources .filter-bar { gap:.75rem; }
.fm-resources .filter-tab { min-height:44px; }
.fm-contact .fm-enquiry { grid-template-columns:1fr 1.5fr; }
.fm-contact .fm-enquiry .hm-head { position:sticky; top:9rem; }
.fm-contact .fm-form { background:var(--white); padding:2rem; border-top:2px solid var(--black); }
.fm-contact .fm-form__types label,.fm-contact .fm-form__field input,.fm-contact .fm-form__field select,.fm-contact .fm-form__field textarea { border-radius:0; }
.fm-contact #direct-lines .hm-prod__name { font-size:clamp(1.4rem,2vw,2rem); }
.fm-contact #next-steps .hm-stat__num { font-size:1.5rem; margin-bottom:1rem; }

/* Lectura legal, perfiles y documentos privados. */
.fm-legal-layout .editorial-col p { line-height:1.8; }
.fm-legal-index { background:var(--gray-bg); padding:1.5rem; border-top:2px solid var(--black); }
.fm-legal-index a { min-height:44px; }
.fm-404 .error-page { min-height:75svh; }
.fm-404 .error-num { border-bottom:1px solid var(--hair); padding-bottom:1.5rem; margin-bottom:1.5rem; }
.fm-profile .card { border-radius:0; box-shadow:none; border-top:3px solid var(--black); }
.fm-profile .identity { align-items:flex-start; text-align:left; }
.fm-profile .avatar { border-radius:2px; width:140px; height:160px; }
.fm-profile .contacts .meta-label { color:var(--gray-500); }
.fm-profile .contacts a { min-height:80px; }
.fm-corporate .hm-head { grid-template-columns:1.1fr 1fr; }
.fm-corporate .hm-steps--vert { border-left:1px solid var(--hair); padding-left:2rem; }
.fm-corporate .hm-stats { border-radius:0; }
.fm-corporate .hm-stat { padding:2rem; }
.fm-corporate .hm-two { gap:4rem; align-items:start; }
.fm-corporate .hm-prod { border-radius:0; padding-top:2rem; }

@media(max-width:1100px) {
 .footer-cols { grid-template-columns:1fr 1fr; }
 .fm-stage { grid-template-columns:4rem 1fr; }
 .fm-stage__image { grid-column:2; grid-row:auto; aspect-ratio:16/9; }
 .fm-contact .fm-enquiry { grid-template-columns:1fr; }
 .fm-contact .fm-enquiry .hm-head { position:static; }
}
@media(max-width:820px) {
 .hm-head,.fm-corporate .hm-head { grid-template-columns:1fr; gap:1.5rem; }
 .fm-interior .hm-hero:not(.hm-hero--product) { padding-top:8rem; }
 .fm-interior .hm-hero__title { font-size:clamp(2.5rem,7vw,4rem); }
 .fm-interior #documents .hm-head { grid-template-columns:1fr; }
 .fm-about #heritage .hm-two,.fm-about #people .hm-two { grid-template-columns:1fr; }
 .fm-about #campus .hm-stats { grid-template-columns:1fr 1fr; }
 .fm-process #overview .hm-steps { grid-template-columns:1fr 1fr; }
 .fm-logistics #shipping .hm-step { grid-template-columns:3rem 1fr; }
 .fm-logistics #shipping .hm-step p { grid-column:2; }
 .fm-compliance #kyc .hm-stat { grid-template-columns:2rem 1fr; gap:.75rem 1rem; }
 .fm-compliance #kyc .hm-stat__note { grid-column:2; grid-row:2; }
 .fm-sustainability #impact .hm-head { grid-template-columns:1fr; }
}
@media(max-width:600px) {
 .footer-cols { grid-template-columns:1fr; }
 .footer-col a { min-height:40px; }
 .hm-rail__tag { display:none; }
 .hm-cta .hm-cta__h { font-size:clamp(2.25rem,9vw,3.5rem); }
 .fm-products #catalog .hm-prods { grid-template-columns:1fr; }
 .fm-products #catalog .hm-prod:first-child { display:flex; }
 .fm-products #catalog .hm-prod:first-child img { height:auto; min-height:0; aspect-ratio:4/3; margin-bottom:1.5rem; }
 .fm-products #comparison .hm-prod,.fm-products #comparison .hm-prod:first-child { padding:1.5rem 0; border-right:0; }
 .fm-interior #documents .product-card { grid-template-columns:1fr; }
 .fm-stage { grid-template-columns:1fr; padding-block:2rem; }
 .fm-stage__image,.fm-stage:not(:has(.fm-stage__image)) .fm-stage__text { grid-column:1; }
 .fm-stage:nth-child(even) { padding-inline:1rem; }
 .fm-logistics #trade-terms .hm-prods,.fm-about #campus .hm-stats { grid-template-columns:1fr; }
 .fm-about #campus .fm-campus-photo img { aspect-ratio:4/3; }
 .fm-sustainability .fm-materials { grid-template-columns:1fr; }
 .fm-sustainability .fm-materials li { padding:1.5rem 0; border-right:0; }
 .fm-sustainability .fm-materials__symbol { font-size:3rem; }
 .fm-industries-batteries #documentation .hm-prod,.fm-industries-brokers #partnership .hm-prod { grid-template-columns:1fr; gap:1rem; }
 .fm-contact .fm-form { padding:1.25rem; }
 .fm-corporate .hm-two { gap:2rem; }
 .fm-corporate .hm-stat { padding:1.5rem; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .fade-up,.hm-doc,.hm-prod { animation:none!important; transition:none!important; transform:none!important; }
}
@media print {
 .fm-contact .fm-enquiry .hm-head,.fm-legal-index { position:static; }
 .hm-section { padding-block:2rem; }
}
/* La navegación interior siempre tiene una superficie legible. */
.fm-interior .navbar.page-navbar { background:var(--white); }
.fm-interior .navbar.page-navbar .nav-links a { color:var(--gray-500); }
