/* Transformación Digital — Impacto en la operación.
   Comparator, divider, handle, captions and mobile legend come from /infraestructura-impacto.css + .js (reused as is).
   This file adds the section frame, photo framing and legibility overlays. */
.td-impact{--ix-ease:cubic-bezier(.2,.7,.2,1);position:relative;padding:clamp(80px,9vw,130px) 0 clamp(90px,10vw,140px)}
.td-impact-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,5vw,80px);align-items:end}
.td-impact-head h2{margin:0;font-size:clamp(2.1rem,3.4vw,3.2rem);font-weight:400;line-height:1.15;letter-spacing:-.04em;color:#f5f7ff}
.td-impact-line{display:block;text-wrap:balance}
.td-impact-intro{margin:0;max-width:480px;color:#a9b6cc;font-size:1rem;line-height:1.85}
.td-impact-compare{margin-top:clamp(44px,4.5vw,60px)}

/* Frame: the photos fill it completely */
.td-impact .ba{aspect-ratio:16/8.4;border-color:#ffffff14;background:#03051a}
.td-impact .ba-layer .td-impact-photo{display:block;width:100%;height:100%;object-fit:cover}
.td-impact-photo--before{object-position:45% 50%}
.td-impact-photo--after{object-position:50% 45%}

/* Legibility: a soft shade only on the side where each list sits */
.td-impact .ba-before::after{background:linear-gradient(90deg,#00010ee6 0%,#00010eb3 18%,#00010e4d 38%,transparent 56%),linear-gradient(180deg,#00010e40,transparent 30%,transparent 75%,#00010e66)}
.td-impact .ba-after::after{background:linear-gradient(270deg,#00010ee6 0%,#00010eb3 18%,#00010e4d 38%,transparent 56%),linear-gradient(180deg,#00010e40,transparent 30%,transparent 75%,#00010e66)}
.td-impact .ba-caption{z-index:2;top:clamp(26px,3vw,40px)}
.td-impact .ba-caption--before{left:clamp(24px,3vw,40px)}
.td-impact .ba-caption--after{right:clamp(24px,3vw,40px)}
.td-impact .ba-caption .mini-label{font-size:.72rem;letter-spacing:.18em;margin-bottom:4px}
.td-impact .ba-caption--before .mini-label{color:#c3cbdb}
.td-impact .ba-caption li{font-size:.92rem;text-shadow:0 1px 10px #00010ecc}
.td-impact .ba-caption--before li{color:#d0d6e2}

/* Reveal (td-page.js) */
.td-reveal-ready .td-impact [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ix-ease),transform .8s var(--ix-ease)}
.td-reveal-ready .td-impact [data-reveal].is-revealed{opacity:1;transform:none}

@media (max-width:1000px){
 .td-impact-head{grid-template-columns:minmax(0,1fr);align-items:start}
}
/* Tablet: lists move below the photo and become chips on it (mirrors the reused mobile treatment, from 900px). */
@media (max-width:900px){
 .td-impact .ba{aspect-ratio:4/3}
 .td-impact .ba .ba-caption{top:16px}
 .td-impact .ba .ba-caption--before{left:16px}
 .td-impact .ba .ba-caption--after{right:16px}
 .td-impact .ba .ba-caption ul{display:none}
 .td-impact .ba .ba-caption .mini-label{margin:0;padding:5px 10px;border-radius:20px;background:#00010eb3;font-size:.68rem}
 .td-impact .ba-before::after,.td-impact .ba-after::after{background:linear-gradient(180deg,#00010e99 0%,transparent 22%)}
 .td-impact .ba-legend{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}
 .td-impact .ba-legend .mini-label{font-size:.68rem;line-height:1.5;margin-bottom:10px}
 .td-impact .ba-legend ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
 .td-impact .ba-legend li{position:relative;padding-left:16px;font-size:.85rem;line-height:1.4}
 .td-impact .ba-legend li::before{content:"";position:absolute;left:0;top:.4em;width:7px;height:7px;border-radius:50%}
 .td-impact .ba-legend .ba-caption--before li{color:#aab2c4}
 .td-impact .ba-legend .ba-caption--before li::before{border:1px solid #7a8298}
 .td-impact .ba-legend .ba-caption--after li{color:#e6f4ff}
 .td-impact .ba-legend .ba-caption--after li::before{background:var(--cyan,#00b0d1)}
 .td-impact .ba-legend .ba-caption--after .mini-label{color:#7fe3ff}
}
@media (max-width:700px){
 .td-impact-head h2{font-size:clamp(1.85rem,7.4vw,2.4rem)}
 .td-impact .ba{aspect-ratio:1/1;border-radius:18px}
 .td-impact-photo--before{object-position:38% 50%}
 .td-impact-photo--after{object-position:46% 50%}
}
