/* 03 · Edición técnica — Sala de máquinas palette, Inter only */
:root{--graphite:#1C1F22;--concrete:#E6E4DF;--steel:#3A5A78;--signal:#D8B24C;--plate:#D7D4CD;--rule:#3A3F45;--soft:#D6D9DC;--dim:#B9BDC1;--focus:var(--steel)}
html{scroll-padding-top:24px}
:focus-visible{outline-color:var(--focus)}
.review-bar,.masthead,.opening,.equivalence,.process-band,.contact-section,.colophon{--focus:var(--signal)}
.contact-section .enquiry{--focus:var(--steel)}
h1,h2,h3{font-family:var(--font-sans);font-weight:800;letter-spacing:-.025em}
h2{font-size:clamp(32px,4vw,52px);line-height:1.05;margin-bottom:24px}
h2 em{color:var(--steel)}
.process-band h2 em{color:var(--soft)}
.contact-section h2 em,.opening h1 em{color:var(--signal)}
.lead{font-size:20px;line-height:1.5}
[class*=layout]>*,[class*=grid]>*,.hero-columns>*,.measure-index>*{min-width:0}

/* Overlines + chapter rail */
.overline{display:block;margin:0 0 16px;font:700 12px/1.4 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}
.chapter-heading p.overline,.side-heading p.overline,.band-heading p.overline,.role-layout>div>p.overline,.faq-layout>div>p.overline,.contact-copy>p.overline{display:inline-block;background:var(--signal);color:var(--graphite);padding:4px 8px;border-radius:2px}

/* Buttons + links */
.action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 24px;border-radius:4px;border:2px solid transparent;font-weight:700;font-size:16px;text-decoration:none}
.action.solid{background:var(--signal);color:var(--graphite)}
.action.solid:hover{background:#E4C468}
.action.outlined{border-color:var(--graphite);color:var(--graphite)}
.action.outlined:hover{background:var(--graphite);color:#fff}
.action[disabled]{opacity:.6;cursor:not-allowed}
.quiet-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;color:var(--steel)}
.quiet-link:hover{color:var(--graphite)}

/* Review bar + masthead */
.review-bar{background:#111417;color:var(--dim);font-size:13px}
.review-bar .shell{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-block:8px}
.review-bar a{color:#fff}
.masthead{background:var(--graphite);color:#fff;border-bottom:1px solid var(--rule)}
.masthead-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;min-height:72px}
.wordmark{display:inline-flex;align-items:center;gap:8px;font:800 22px/1 var(--font-sans);letter-spacing:-.02em;text-decoration:none;color:#fff}
.wordmark span{color:var(--signal)}
.wordmark .wordmark-dot{margin-left:-8px}
#navigation{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 24px;font-size:15px;font-weight:600}
#navigation a{text-decoration:none;padding-block:8px}
#navigation a:hover{text-decoration:underline}
#navigation .nav-action{background:var(--signal);color:var(--graphite);padding:8px 16px;border-radius:4px}

/* Hero */
.opening{background:var(--graphite);color:#fff;padding-top:56px}
.opening .overline{color:var(--signal)}
.opening h1{font-size:clamp(40px,5vw,72px);line-height:1.02;max-width:20ch}
.hero-columns{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;margin-top:40px;padding-top:32px;border-top:1px solid var(--rule)}
.hero-lead{font-size:20px;line-height:1.5;color:var(--soft);max-width:56ch}
.hero-scope{font-size:16px;color:var(--dim);margin:0}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.opening .quiet-link{color:#fff}
.hero-note{margin:24px 0 0;font-size:14px;color:var(--dim);border-left:4px solid var(--signal);padding-left:16px;max-width:48ch}
.hero-media{margin:56px 0 0;border-top:8px solid var(--signal)}
.hero-media img{width:100%;height:300px;object-fit:cover;object-position:50% 55%}
.hero-media figcaption{font-size:13px;color:var(--dim);padding:12px 0 16px;border-top:1px solid var(--rule)}
.hero-media figcaption .shell{display:block}

/* Chapters */
.chapter{padding-block:88px}
.chapter+.chapter{border-top:1px solid var(--line)}
.chapter-heading{max-width:820px;margin-bottom:48px}
.side-heading,.band-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end;max-width:none;margin-bottom:48px}
.side-heading>p,.band-heading>p{font-size:17px;color:var(--muted);max-width:52ch;margin:0 0 24px}
.band-heading>p{color:#E3E9EF}

/* 01 Actuaciones: two-column index strips */
.filter-bar button{border-color:#8F8B82;border-radius:4px;font-weight:600}
.filter-bar button:hover{background:var(--plate)}
.filter-bar button[aria-pressed=true]{background:var(--graphite);color:#fff}
.filter-bar .all-measures-label{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid #8F8B82;border-radius:4px;background:var(--graphite);color:#fff;font-size:14px;font-weight:600}
.filter-status{font-size:14px}
.measure-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;border-bottom:2px solid var(--graphite)}
.measure-index article{display:grid;grid-template-columns:48px minmax(0,1fr) 44px;grid-template-areas:"n b a" "n s a";gap:8px 16px;align-items:start;padding:24px 0;border-top:2px solid var(--graphite)}
.measure-number{grid-area:n;font:800 20px/1.3 var(--font-sans);color:var(--steel)}
.measure-index article>div{grid-area:b}
.measure-index h3{font-size:20px;line-height:1.3;font-weight:700;margin-bottom:8px}
.measure-index p{font-size:16px;color:var(--muted);margin:0}
.sector-label{grid-area:s;font:700 12px/1.4 var(--font-sans);letter-spacing:.12em;color:var(--muted)}
.measure-index article>a{grid-area:a;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--graphite);border-radius:4px;text-decoration:none;font-size:20px}
.measure-index article>a:hover{background:var(--signal)}
.section-end{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;margin-top:32px;font-size:16px;color:var(--muted)}
.section-end p{margin:0}

/* 02 Sistema: definition + large pullout */
.definition-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:64px;align-items:start}
.definition-text p{font-size:17px}
.definition-text .lead{font-size:20px;font-weight:600}
.equivalence{background:var(--graphite);color:#fff;border-radius:24px;padding:40px;box-shadow:8px 8px 0 #C9C6BE}
.equivalence .overline{color:var(--signal)}
.equivalence-formula{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 24px;font:800 clamp(40px,6vw,84px)/1 var(--font-sans);letter-spacing:-.03em;margin:16px 0 24px}
.equivalence-formula .equal{color:var(--signal)}
.equivalence p{font-size:16px;color:var(--soft)}
.equivalence-note{font-size:16px;color:var(--soft);border-top:1px solid var(--rule);padding-top:16px}
.equivalence-note strong{color:var(--signal)}

/* 03 Compensación: document spread */
.exchange-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:#fff;border:2px solid var(--graphite);border-radius:24px;box-shadow:8px 8px 0 #C9C6BE}
.exchange-grid article{padding:40px}
.exchange-grid article+article{border-left:2px dashed var(--graphite)}
.exchange-label{display:inline-block;font:700 12px/1.4 var(--font-sans);letter-spacing:.12em;color:#fff;background:var(--steel);padding:4px 8px;border-radius:2px;margin-bottom:24px}
.exchange-grid h3{font-size:28px;line-height:1.15;margin-bottom:16px}
.exchange-grid p{font-size:17px;margin:0}
.exchange-note{margin:40px 0 0;max-width:72ch;font-size:17px;border-left:4px solid var(--signal);padding-left:16px}

/* 04 Proceso: four connected columns */
.process-band{background:var(--steel);color:#fff;padding-block:88px}
.process-line{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.process-line li{position:relative;padding:40px 32px 0 0;border-top:2px solid rgba(255,255,255,.55)}
.process-line li::before{content:"";position:absolute;left:0;top:-9px;width:16px;height:16px;background:var(--signal);border:2px solid var(--graphite)}
.step-label{display:inline-block;font:700 12px/1.4 var(--font-sans);letter-spacing:.1em;background:var(--graphite);color:#fff;padding:4px 8px;border-radius:2px;margin-bottom:16px}
.process-line h3{font-size:20px;line-height:1.25;font-weight:700;margin-bottom:16px}
.process-line p{font-size:16px;color:#E3E9EF;margin:0}
.process-note{margin:48px 0 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.35);font-size:16px;max-width:72ch}

/* 05 Papel: plate background + numbered accordion */
.stone-section{background:var(--plate);padding-block:88px;border-block:1px solid var(--line)}
.role-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.role-layout p:not(.overline){font-size:17px}
.role-layout .lead{font-size:20px}
summary{list-style:none;display:flex;align-items:center;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";flex:none;margin-left:auto;display:grid;place-items:center;width:32px;height:32px;border:1px solid currentColor;border-radius:4px;font-weight:700;line-height:1}
details[open]>summary::after{content:"–"}
.role-accordion{counter-reset:role;background:#fff;border:2px solid var(--graphite);border-radius:24px;padding:8px 24px}
.role-accordion details+details,.faq-list details{border-top:1px solid var(--line)}
.role-accordion summary,.faq-list summary{padding:20px 0;font-size:18px;font-weight:700;line-height:1.35}
.role-accordion summary::before,.faq-list summary::before{flex:none;font:700 12px/1.4 var(--font-sans);letter-spacing:.1em;color:var(--steel)}
.role-accordion summary::before{counter-increment:role;content:counter(role,decimal-leading-zero)}
.role-accordion p,.faq-list p{font-size:16px;color:var(--muted);margin:0 0 24px;max-width:64ch}

/* Profesionales */
.installer-feature{display:grid;grid-template-columns:160px minmax(0,1fr);margin-top:88px;background:#fff;border:2px solid var(--graphite);border-radius:24px;box-shadow:8px 8px 0 #C9C6BE}
.feature-marker{display:grid;place-items:center;background:var(--signal);color:var(--graphite);font:800 24px/1 var(--font-sans);border-radius:22px 0 0 22px}
.installer-feature>div:last-child{padding:48px}
.installer-feature p:not(.overline){font-size:17px;max-width:56ch}

/* 06 FAQ: ordered technical notes */
.faq-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:64px;align-items:start}
.faq-list{counter-reset:note;border-block:2px solid var(--graphite)}
.faq-list details:first-child{border-top:0}
.faq-list summary::before{counter-increment:note;content:"N." counter(note,decimal-leading-zero)}
.faq-list details>a{display:inline-block;margin:0 0 24px;color:var(--steel);font-weight:600}

/* 07 Contacto: graphite with concrete form */
.contact-section{background:var(--graphite);color:#fff;padding-block:88px}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:64px;align-items:start}
.contact-copy .lead{color:var(--soft)}
.contact-copy .next-steps{list-style:none;margin:32px 0;padding:0}
.next-steps li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:16px 0;border-top:1px solid var(--rule)}
.next-steps span{font-weight:800;color:var(--signal)}
.next-steps p{margin:0;color:var(--soft)}
.contact-copy .contact-limit{font-size:14px;color:var(--dim)}
.enquiry{background:var(--concrete);color:var(--graphite);border-radius:24px;border-top:8px solid var(--signal);padding:40px}
.form-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}
.form-heading h3{font-size:24px}
.demo-tag{font:700 12px/1.4 var(--font-sans);letter-spacing:.12em;border:2px solid var(--graphite);padding:4px 8px}
.enquiry .form-intro,.enquiry .privacy-note{font-size:14px;color:var(--muted)}
.enquiry .privacy-note a{color:var(--steel)}
.field input:not([type=checkbox]),.field select,.field textarea{border-color:#8F8B82;border-radius:4px;background:#fff}
.enquiry .optional-context{border-color:#A9A59B}
.enquiry .optional-context summary{font-weight:600}
.enquiry .form-message:not(:empty){background:#fff;border-radius:4px;border-left:8px solid var(--signal)}

/* 08 Fuentes */
.source-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.source-index a{display:flex;flex-direction:column;gap:8px;padding:24px;background:#fff;border-top:4px solid var(--graphite);border-radius:0 0 8px 8px;text-decoration:none}
.source-index a:hover{border-top-color:var(--signal);background:#F5F3ED}
.source-index span:first-child{font:700 12px/1.4 var(--font-sans);letter-spacing:.12em;color:var(--steel)}
.source-index strong{font-size:20px;line-height:1.25}
.source-index span:last-child{font-size:14px;color:var(--muted)}
.source-date{margin:32px 0 0;font-size:14px;color:var(--muted)}

/* Footer */
.colophon{background:var(--graphite);color:var(--soft);padding:64px 0 32px}
.footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px}
.footer-claim{margin:16px 0 0;font-size:20px;font-weight:600;color:#fff;max-width:28ch}
.footer-links{display:flex;flex-direction:column;gap:4px}
.footer-links a{color:#fff;font-weight:600;min-height:44px;display:flex;align-items:center}
.footer-scope{margin:40px 0 0;padding-top:24px;border-top:1px solid var(--rule);font-size:14px;max-width:80ch}
.legal-disclosure{margin-top:24px;border-block:1px solid var(--rule)}
.legal-disclosure summary{color:#fff;font-weight:600}
.legal-disclosure p{font-size:14px;color:var(--dim)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-top:24px;font-size:13px;color:var(--dim)}

@media(prefers-reduced-motion:no-preference){.measure-index article>a:hover,.source-index a:hover{transform:translate(2px,-2px)}}

/* Desktop chapter rail */
@media(min-width:960px){
 .chapter,.process-band>.shell,.role-layout,.contact-layout{position:relative;padding-left:88px}
 .chapter{--rt:88px;--rb:88px}
 .chapter::before,.process-band>.shell::before,.role-layout::before,.contact-layout::before{content:"";position:absolute;left:15px;top:var(--rt,0);bottom:var(--rb,0);width:2px;background:var(--signal)}
 .chapter-heading p.overline,.side-heading p.overline,.band-heading p.overline,.role-layout>div>p.overline,.faq-layout>div>p.overline,.contact-copy>p.overline{position:absolute;left:0;top:var(--rt,0);margin:0;padding:16px 8px;writing-mode:vertical-rl}
}

/* Tablet + mobile */
@media(max-width:959px){
 #navigation{width:100%;justify-content:flex-start;padding-bottom:16px}
 .js #navigation.is-open a{border-top:1px solid var(--rule)}
 .js #navigation.is-open .nav-action{justify-content:center;margin-top:8px;border:0}
 .chapter,.process-band,.stone-section,.contact-section{padding-block:64px}
 .installer-feature{margin-top:64px}
 .side-heading,.band-heading,.definition-layout,.role-layout,.faq-layout,.contact-layout{grid-template-columns:minmax(0,1fr);gap:32px}
 .side-heading>p,.band-heading>p{margin:0}
 .process-line{grid-template-columns:minmax(0,1fr);margin-left:8px}
 .process-line li{border-top:0;border-left:2px solid rgba(255,255,255,.55);padding:0 0 40px 32px}
 .process-line li:last-child{padding-bottom:0}
 .process-line li::before{left:-9px;top:0}
 .source-index{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:719px){
 .opening{padding-top:40px}
 .opening h1{font-size:clamp(32px,8.6vw,44px);line-height:1.05}
 .hero-columns{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:24px;padding-top:24px}
 .hero-lead{font-size:18px}
 .hero-actions .action{flex:1 1 100%}
 .hero-media{margin-top:40px}
 .hero-media img{height:160px}
 .measure-index{grid-template-columns:minmax(0,1fr)}
 .measure-index article{grid-template-columns:40px minmax(0,1fr) 44px}
 .exchange-grid{grid-template-columns:minmax(0,1fr)}
 .exchange-grid article,.equivalence,.enquiry{padding:24px}
 .exchange-grid article+article{border-left:0;border-top:2px dashed var(--graphite)}
 .installer-feature{grid-template-columns:minmax(0,1fr)}
 .feature-marker{min-height:64px;border-radius:22px 22px 0 0}
 .installer-feature>div:last-child{padding:24px}
 .role-accordion{padding:8px 16px}
 .source-index{grid-template-columns:minmax(0,1fr)}
 .lead{font-size:18px}
}
/* Integration: consistent wordmark and early mobile action. */
.wordmark{gap:0}.wordmark>img{margin-right:12px}.wordmark .wordmark-dot{margin-left:0}
@media(max-width:380px){
 .masthead-inner{column-gap:8px}
 .masthead .wordmark{font-size:18px}
 .masthead .menu-button{padding-inline:12px}
}
@media(min-width:960px){.opening h1{font-size:64px;max-width:none}}
@media(max-width:719px){
.opening{padding-top:32px}
.review-bar .shell{gap:4px 8px;padding-block:8px}
.hero-copy{display:flex;flex-direction:column;align-items:stretch}
.hero-columns,.hero-text,.hero-cta{display:contents}
.hero-copy>.overline{order:0}.opening h1{order:1;margin-bottom:24px}
.hero-lead{order:2;font-size:16px;line-height:1.6}
.hero-actions{order:3;margin:0 0 24px;gap:12px 16px}
.hero-scope{order:4;font-size:16px;line-height:1.6;margin:0 0 16px}
.hero-note{order:5;font-size:13px;line-height:1.6;margin:0}
.hero-actions .action{width:100%;padding-inline:16px}
.hero-actions .quiet-link{font-size:16px}
}

/* Compact closing enquiry route, shared by the selected page pair. */
.closing-cta{background:var(--graphite);color:#fff;padding-block:48px;border-top:8px solid var(--signal);--focus:var(--signal)}
.closing-layout{display:flex;align-items:center;justify-content:space-between;gap:32px 48px}
.closing-layout>div{min-width:0}
.closing-cta .overline{color:var(--signal)}
.closing-cta h2{font-size:clamp(28px,3vw,40px);margin-bottom:16px}
.closing-cta h2 em{color:var(--signal)}
.closing-cta p:not(.overline){margin:0;color:var(--soft);font-size:16px}
.closing-cta .action{flex:none}
@media(max-width:719px){.closing-layout{align-items:stretch;flex-direction:column;gap:24px}.closing-cta .action{width:100%}}

