/* SEC: hero técnico, lista de servicios, tabla de instrumentos y galería */
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.hero { padding-top: clamp(40px, 7vw, 96px); }
.hero-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(28px, 6vw, 80px); align-items: center; }
.hero-copy h1 { max-width: 16ch; margin-bottom: 26px; }
.hero-copy .lead { color: #c9d0d1; margin-bottom: 34px; }
.hero-photo { max-width: 380px; justify-self: end; width: 100%; }
.hero-photo img { width: 100%; max-height: 560px; object-fit: cover; object-position: top; border-radius: var(--radius); }
.facts { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: clamp(40px, 6vw, 72px); border-top: 1px solid var(--ink-3); }
.facts li { padding: 22px 16px 24px 0; font-size: .98rem; letter-spacing: .03em; color: #dfe4e5; }
.facts li + li { padding-left: 20px; border-left: 1px solid var(--ink-3); }
@media (max-width: 900px) {
  .hero-grid { grid-template-columns: 1fr; }
  .hero-photo { justify-self: start; max-width: 100%; }
  .hero-photo img { max-height: 360px; object-position: center 40%; }
  .facts { grid-template-columns: 1fr 1fr; }
  .facts li:nth-child(3) { padding-left: 0; border-left: 0; }
  .facts li:nth-child(n+3) { border-top: 1px solid var(--ink-3); }
}

.split { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(28px, 6vw, 88px); align-items: start; }
.split h2 { max-width: 18ch; }
@media (max-width: 860px) { .split { grid-template-columns: 1fr; } }
.section-head { margin-bottom: clamp(32px, 5vw, 56px); display: grid; gap: 14px; }

.svc-list { display: grid; grid-template-columns: 1fr 1fr; column-gap: clamp(28px, 5vw, 72px); border-top: 2px solid var(--green); }
.svc-list li { padding-block: 22px; border-bottom: 1px solid rgba(21,25,26,.16); display: grid; gap: 4px; }
.svc-list strong { font-weight: 500; }
.svc-list span { color: #454d50; font-size: .95rem; line-height: 1.6; }
@media (max-width: 760px) { .svc-list { grid-template-columns: 1fr; } }

.meas { display: grid; grid-template-columns: 1.3fr .7fr; gap: clamp(28px, 6vw, 80px); align-items: start; }
.meas h2 { margin-bottom: 18px; max-width: 20ch; }
.meas .lead { color: #c9d0d1; margin-bottom: 32px; }
.meas figure img { width: 100%; border-radius: var(--radius); }
.meas figcaption { color: var(--muted-on-dark); font-size: .88rem; padding-top: 10px; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: .96rem; }
th, td { text-align: left; padding: 16px 16px 16px 0; border-bottom: 1px solid var(--ink-3); vertical-align: top; }
thead th { font-weight: 500; color: var(--muted-on-dark); font-size: .85rem; border-bottom: 2px solid var(--green-hi); }
tbody th { font-weight: 500; color: #fff; }
td { color: #c9d0d1; }
@media (max-width: 900px) { .meas { grid-template-columns: 1fr; } .meas figure { max-width: 460px; } }

.gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; align-items: start; }
.gallery figure { margin: 0; }
.gallery img { width: 100%; height: 340px; object-fit: cover; border-radius: var(--radius); }
.gallery .g-wide { grid-column: span 2; }
.gallery .g-wide img { height: 340px; }
.gallery figcaption { font-size: .88rem; color: #454d50; padding-top: 8px; }
.zoom:hover img { filter: brightness(1.06); }
@media (max-width: 860px) { .gallery { grid-template-columns: 1fr 1fr; } .gallery img, .gallery .g-wide img { height: 240px; } }
@media (max-width: 520px) { .gallery { grid-template-columns: 1fr; } .gallery .g-wide { grid-column: auto; } }

.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(24px, 3vw, 44px); }
.steps li { display: grid; gap: 10px; align-content: start; }
.steps .n { font-size: 2.6rem; font-weight: 300; color: var(--green); line-height: 1; }
.steps p { color: #454d50; font-size: .95rem; }
@media (max-width: 960px) { .steps { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .steps { grid-template-columns: 1fr; } }

.band-eb { padding-block: clamp(40px, 6vw, 72px); }
.band-flex { display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: center; justify-content: space-between; }
.band-flex .lead { color: #c9d0d1; margin-top: 10px; }

.importa-l { display: grid; gap: 28px; }
.importa-l img { width: 100%; max-width: 300px; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 35%; border-radius: var(--radius); }
