/* Strictly scoped: no rules affecting Elementor, body, h2, buttons, etc. */
.ecolif-piloto { --ecolif-ink:#163c31; --ecolif-accent:#82b88b; --ecolif-paper:#f3f7f0; color:var(--ecolif-ink); background:var(--ecolif-paper); padding:clamp(48px,8vw,100px) 20px; }
.ecolif-piloto, .ecolif-piloto * { box-sizing:border-box; }
.ecolif-piloto__container { width:min(1120px,100%); margin-inline:auto; }
.ecolif-piloto__intro { max-width:690px; margin-bottom:32px; }
.ecolif-piloto__eyebrow { margin:0 0 14px; font:700 12px/1.4 system-ui,sans-serif; letter-spacing:.13em; }
.ecolif-piloto__title { margin:0 0 14px; color:inherit; font:700 clamp(32px,5vw,58px)/1.1 system-ui,sans-serif; letter-spacing:-.035em; }
.ecolif-piloto__subtitle { margin:0; color:inherit; opacity:.82; font:400 17px/1.6 system-ui,sans-serif; }
.ecolif-piloto__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.ecolif-piloto__card { padding:28px; border:1px solid rgba(22,60,49,.12); border-radius:16px; background:#fff; min-width:0; }
.ecolif-piloto__icon { display:inline-flex; width:46px; height:46px; padding:9px; border-radius:13px; background:#e6f2e4; }
.ecolif-piloto__icon svg { width:100%; height:100%; }
.ecolif-piloto__number { display:block; margin:22px 0 10px; font:600 12px/1.4 system-ui,sans-serif; opacity:.6; }
.ecolif-piloto__card-title { margin:0 0 8px; color:inherit; font:700 23px/1.2 system-ui,sans-serif; }
.ecolif-piloto__card-text { margin:0; color:inherit; font:400 15px/1.5 system-ui,sans-serif; opacity:.76; }
.ecolif-piloto[data-ecolif-js="ready"] .ecolif-piloto__card.ecolif-is-pending { opacity:0; transform:translateY(18px); }
.ecolif-piloto[data-ecolif-js="ready"] .ecolif-piloto__card.ecolif-is-visible { opacity:1; transform:translateY(0); transition:opacity .6s ease,transform .6s ease; }
@media(max-width:760px) { .ecolif-piloto__grid { grid-template-columns:1fr; } .ecolif-piloto__card { padding:24px; } }
@media(prefers-reduced-motion:reduce) { .ecolif-piloto .ecolif-piloto__card { opacity:1!important; transform:none!important; transition:none!important; } }
