/* Secciones de la home: servicios, vencimientos, +40, reseñas, contacto */
.svc-head{margin-bottom:28px;max-width:640px}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px}
.svc-feature{grid-row:span 2;overflow:hidden;display:flex;flex-direction:column}
.svc-feature .ph-img{height:260px;overflow:hidden}
.svc-feature img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;transition:transform .7s var(--ease)}
.svc-feature:hover img{transform:scale(1.05)}
.svc-body{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.svc-body .link-arrow{margin-top:auto;padding-top:12px}
.svc-num{font-size:12px;font-weight:600;color:var(--signal);letter-spacing:.08em}
.svc-card{padding:22px;display:flex;flex-direction:column;gap:8px}
.svc-card.with-img{display:grid;grid-template-columns:1fr 96px;gap:16px;align-items:start}
.svc-card.with-img>div{display:flex;flex-direction:column;gap:8px}
.svc-card.with-img img{width:96px;height:96px;object-fit:cover;border-radius:var(--r-ctl)}
.svc-card h3{font-size:19px;line-height:1.2}
.svc-feature h3{font-size:22px;line-height:1.2}
.svc-body p,.svc-card p{color:var(--muted);font-size:15px;text-wrap:pretty}
.svc-card .link-arrow{font-size:15px}

.venc{border-radius:var(--r-card);background:var(--brand-100);padding:clamp(22px,3vw,36px)}
.venc h2{font-size:clamp(22px,2.4vw,30px);line-height:1.15;letter-spacing:-.015em;margin:10px 0 20px;max-width:620px}
.venc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}
.venc-item{background:var(--surface);border-radius:var(--r-ctl);padding:16px;transition:transform .3s var(--ease)}
.venc-item:hover{transform:translateY(-3px)}
.venc-item b{display:block;font-size:30px;font-weight:500;letter-spacing:-.02em;line-height:1}
.venc-item span{display:block;font-size:14px;color:var(--muted);margin-top:6px}
.venc-cta{background:var(--ink);color:var(--on-ink);border-radius:var(--r-ctl);padding:16px;display:flex;flex-direction:column;justify-content:space-between;gap:10px;font-weight:500;transition:background .2s,transform .3s var(--ease)}
.venc-cta:hover{background:var(--brand-700);color:var(--on-ink);transform:translateY(-3px)}
.venc-cta .ph{font-size:24px;color:var(--signal-soft);transform-origin:50% 0;animation:bell 4s ease-in-out infinite}
.venc small{display:block;font-size:12px;color:var(--muted);margin-top:12px}

.band-ink .grid-2{align-items:center}
.big40{font-size:clamp(72px,9vw,128px);font-weight:500;letter-spacing:-.05em;line-height:.85}
.band-ink h2{font-size:clamp(20px,2vw,26px);margin-top:12px;color:var(--surface)}
.band-ink p{margin-top:16px;font-size:clamp(15px,1.3vw,17px);color:var(--on-ink-muted);max-width:480px;text-wrap:pretty}
.certs{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.certs span{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--r-ctl);box-shadow:inset 0 0 0 1px #3A5590;font-size:13px;font-weight:500}
.certs .ph{font-size:18px;color:var(--signal-soft)}

.rev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;align-items:stretch}
.rev{padding:24px;display:flex;flex-direction:column;gap:10px}
.rev .stars{color:var(--star);letter-spacing:2px}
.rev p{font-size:15px;line-height:1.55;text-wrap:pretty}
.rev-by{margin-top:auto;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.rev-by i{width:32px;height:32px;border-radius:50%;background:var(--brand-100);display:grid;place-items:center;font:600 14px var(--font);color:var(--brand);font-style:normal}
.score{padding:24px;display:flex;flex-direction:column;gap:6px}
.score-num{display:flex;align-items:baseline;gap:10px;margin-top:8px}
.score-num b{font-size:56px;font-weight:500;letter-spacing:-.03em;line-height:1}
.score-num span{color:var(--star);font-size:18px;letter-spacing:2px}
.score small{font-size:14px;color:var(--muted)}
.score .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:16px}
.score .btn{height:40px;padding:0 14px;font-size:14px}

.contact-list{display:flex;flex-direction:column;gap:12px;font-size:15px;margin:20px 0 0;padding:0}
.contact-list li{display:flex;gap:10px;align-items:center;list-style:none}
.contact-list .ph{font-size:20px;color:var(--brand);flex:none}
.contact-list .ph-whatsapp-logo{color:var(--wa-text)}
.contact-list a{color:var(--ink)}
.contact-list a:hover{color:var(--brand)}
.contact-list .mail{word-break:break-all}
.contact-fig{margin:0;position:relative;min-height:280px;border-radius:var(--r-card);overflow:hidden}
.contact-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.contact-fig a{position:absolute;left:14px;bottom:14px;height:40px;padding:0 14px;border-radius:var(--r-ctl);background:var(--surface);color:var(--ink);display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;transition:transform .25s var(--ease)}
.contact-fig a:hover{transform:translateY(-2px);color:var(--brand)}
