/* css/pages.css */
.hero{padding:120px 0;} 
.hero-container{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.hero-content h1{font-size:var(--fs-h1); margin-bottom:30px}
.hero-content p{font-size:1.15rem;color:var(--xp-blanco-soft);margin-bottom:32px}
.hero-image{position:relative}
.hero-slider{width:100%;aspect-ratio:3/4;position:relative;z-index:2;border:var(--border-1);overflow:hidden;border-radius:var(--radius-lg)}
.hero-slider img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:heroFade 28s infinite}
.hero-slider img:nth-child(1){animation-delay:0s}
.hero-slider img:nth-child(2){animation-delay:4s}
.hero-slider img:nth-child(3){animation-delay:8s}
.hero-slider img:nth-child(4){animation-delay:12s}
.hero-slider img:nth-child(5){animation-delay:16s}
.hero-slider img:nth-child(6){animation-delay:20s}
.hero-slider img:nth-child(7){animation-delay:24s}
@keyframes heroFade{0%{opacity:0}3%{opacity:1}25%{opacity:1}28%{opacity:0}100%{opacity:0}}

.rupipest-section{background-color:var(--xp-oscuro-base);padding:120px 0}
.rupipest-container{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.rupipest-text-badge-wrapper{display:flex;align-items:flex-start;gap:32px}
.rupipest-text-content{flex:1}
.rupipest-text-content p{font-size:1.15rem;color:var(--xp-blanco-soft); margin-bottom:30px}
.rupipest-badge{width:120px;height:120px;border-radius:var(--radius-full);border:3px solid var(--xp-rojo);box-shadow:var(--shadow-cta);transition:transform var(--t-base)}
.rupipest-badge:hover{transform:scale(1.05) rotate(5deg)}
.rupipest-image img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-lg);border:var(--border-1)}

.trust-ribbon{background-color:var(--xp-gris-tech);border-bottom:var(--border-1);border-top:var(--border-1);padding:40px 0}
.trust-container{display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;gap:48px}
.trust-brand{font-size:1.2rem;font-weight:var(--fw-bold);color:var(--xp-blanco-soft);text-transform:uppercase;letter-spacing:2px}

.services{background-color:var(--xp-oscuro-base);padding:120px 0}
.services-top{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-bottom:64px}
.services-image img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-lg);border:var(--border-1)}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}

.program-section{background-color:var(--xp-oscuro-base);padding:120px 0;border-top:var(--border-1)}
.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}

.about-section{background-color:var(--xp-oscuro-base);padding:120px 0}
.about-container{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.ceo-profile{display:flex;align-items:center;gap:16px;margin-bottom:32px}
.ceo-profile img{width:104px;height:104px;border-radius:var(--radius-full);object-fit:cover;border:var(--border-1)}
.ceo-info strong{font-size:1.1rem;color:var(--xp-blanco)}
.ceo-info span{font-size:0.95rem;color:var(--xp-blanco-soft)}
.about-image img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius-lg);border:var(--border-1)}

.location-section{display:flex;width:100%;background-color:var(--xp-oscuro-base)}
.location-info{width:50%;padding:100px 8%;display:flex;flex-direction:column;justify-content:center}
.contact-details{display:flex;flex-direction:column;gap:32px}
.contact-item{display:flex;align-items:center;gap:24px}
.contact-item i{color:var(--xp-rojo);font-size:1.5rem;width:24px;text-align:center}
.contact-item span,.contact-item a{font-size:1.15rem;color:var(--xp-blanco);text-decoration:none;transition:color var(--t-fast)}
.contact-item a:hover{color:var(--xp-rojo)}
.location-map{width:50%;border-left:3px solid var(--xp-rojo);display:flex}
.location-map iframe{flex-grow:1;width:100%;min-height:500px;border:none}

.social-proof-section{background-color:var(--xp-oscuro-base);padding:64px 0;border-top:3px solid var(--xp-rojo);border-bottom:3px solid var(--xp-rojo)}
.social-proof-header{text-align:center;margin-bottom:48px}
.clients-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:56px}
.client-logo{flex:0 1 170px;display:flex;justify-content:center;align-items:center}
.client-logo img{max-height:78px;width:auto;filter:grayscale(100%);opacity:0.55;transition:all var(--t-base)}
.client-logo img:hover{filter:grayscale(0%);opacity:1;transform:scale(1.08)}

@media (max-width:1024px){
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .program-grid{grid-template-columns:1fr;max-width:500px;margin:0 auto}
}
@media (max-width:768px){
  .hero-container,.rupipest-container,.about-container,.services-top{grid-template-columns:1fr}
  .location-section{flex-direction:column}
  .location-info{width:100%;padding:64px 24px}
  .location-map{width:100%;border-left:none;border-top:3px solid var(--xp-rojo)}
}
@media (max-width:480px){
  .services-grid{grid-template-columns:1fr}
}

/* hero badge */
.hero-badge { display:inline-flex;align-items:center;gap:8px;background:rgba(220,38,38,0.15);color:var(--xp-rojo);border:1px solid rgba(220,38,38,0.3);border-radius:999px;padding:6px 16px;font-size:0.8rem;font-weight:700;letter-spacing:0.3px;margin-bottom:18px; }

/* social proof extracted */
.clients-flex-wrapper { display:flex;flex-direction:column;align-items:center;width:100%; }
.clients-grid-top { order:1; }
.clients-toggle-btn { order:2;display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:24px auto 0;padding:0;background:none;border:1.5px solid var(--xp-rojo);border-radius:50%;color:var(--xp-rojo);cursor:pointer;transition:background 0.25s ease,color 0.25s ease,opacity 0.3s ease;flex-shrink:0;opacity:1;pointer-events:auto; }
.clients-toggle-icon { transition:transform 0.4s ease;font-size:15px; }
.clients-extra-wrapper { order:3;width:100%;display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.55s cubic-bezier(0.4,0,0.2,1);overflow:hidden; }
.clients-extra-inner { overflow:hidden;min-height:0; }
.clients-grid-bottom { margin-top:32px; }
.clients-toggle-btn-bottom { display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:28px auto 0;padding:0;background:none;border:1.5px solid var(--xp-rojo);border-radius:50%;color:var(--xp-rojo);cursor:pointer;transition:background 0.25s ease,color 0.25s ease;flex-shrink:0; }
.social-proof-more { order:4; }

/* FAQ Section */
.faq-section { padding:88px 0; background:var(--xp-gris-tech); }
.faq-container { max-width:820px; }
.faq-list { background:var(--xp-oscuro-base);border-radius:var(--radius-lg);padding:8px 28px;box-shadow:var(--shadow-card); }
.faq-item { border-bottom:var(--border-1); }
.faq-item:last-child { border-bottom:none; }
.faq-btn { width:100%;text-align:left;background:none;border:none;padding:22px 4px;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;font-family:inherit; }
.faq-question { font-weight:600;color:var(--xp-blanco);font-size:1.05rem; }
.faq-icon { color:var(--xp-rojo);flex-shrink:0;transition:transform 0.35s ease;font-size:0.9rem; }
.faq-panel { display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.4s ease;overflow:hidden; }
.faq-panel-inner { overflow:hidden;min-height:0; }
.faq-panel-inner p { margin:0;padding:0 32px 22px 4px;color:var(--xp-blanco-soft);line-height:1.65;font-size:0.96rem; }
.faq-more { text-align:center;color:var(--xp-blanco-soft);margin-top:32px;font-size:0.95rem; }
.faq-more a { color:var(--xp-rojo);font-weight:600;text-decoration:none; }

/* ================= PRODUCTOS PAGE ================= */
.product-hero { padding: 80px 0 60px; text-align: center; }
.product-hero__container { max-width: 800px; margin: 0 auto; }
.product-hero h1 { font-size: var(--fs-h1); margin-bottom: var(--sp-4); }
.product-hero p { font-size: 1.15rem; color: var(--xp-blanco-soft); margin-bottom: var(--sp-6); }

.products-benefits { padding: 40px 0 80px; }
.products-benefits__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-6); }
.product-benefit-box { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--sp-3); padding: var(--sp-4); }
.product-benefit-box i { font-size: 2rem; color: var(--xp-rojo); }
.product-benefit-box strong { font-size: 1.1rem; color: var(--xp-blanco); }
.product-benefit-box p { color: var(--xp-blanco-soft); font-size: 0.95rem; }

.product-features-banner { padding: 0 0 80px; }
.product-features-banner__inner { 
  background: var(--xp-gris-tech); 
  border-radius: var(--radius-lg); 
  padding: var(--sp-6) var(--sp-8); 
  display: grid; 
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); 
  gap: var(--sp-4);
  border: 1px solid rgba(255,255,255,0.05);
}
.product-features-banner__item { color: var(--xp-blanco); font-size: 0.95rem; display: flex; align-items: flex-start; gap: var(--sp-2); }
.product-features-banner__item i { color: var(--xp-rojo); margin-top: 4px; }
@media (min-width: 1024px) {
  .product-features-banner__item--full { grid-column: 1 / -1; margin-top: var(--sp-2); padding-top: var(--sp-4); border-top: 1px solid rgba(255,255,255,0.05); }
}

.products-catalog { padding: 0 0 100px; }
.products-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--sp-6);
  max-width: 1200px;
  margin: 0 auto;
}

.product-specs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-2);
  margin-top: auto;
  border-top: 1px solid rgba(255,255,255,0.05);
  padding-top: var(--sp-4);
}
.product-specs__item { display: flex; flex-direction: column; gap: 4px; }
.product-specs__label { font-size: 0.75rem; color: var(--xp-blanco-soft); text-transform: uppercase; letter-spacing: 0.5px; }
.product-specs__val { font-size: 0.85rem; color: var(--xp-blanco); font-weight: var(--fw-bold); }

.product-cta-final { background: var(--xp-oscuro-base); padding: 80px 0; border-top: 1px solid var(--xp-gris-tech); text-align: center; }
.product-cta-final__container { max-width: 700px; margin: 0 auto; }
.product-cta-final h2 { margin-bottom: var(--sp-4); }
.product-cta-final p { color: var(--xp-blanco-soft); margin-bottom: var(--sp-6); line-height: 1.6; }
.product-cta-final__contact { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--sp-4); margin-bottom: var(--sp-6); }
.product-cta-final__contact span { display: inline-flex; align-items: center; gap: var(--sp-2); color: var(--xp-blanco); font-weight: var(--fw-bold); }
.product-cta-final__contact i { color: var(--xp-rojo); }

@media (max-width: 768px) {
  .products-benefits__grid { grid-template-columns: 1fr; }
  .product-features-banner__inner { padding: var(--sp-4); }
}

/* ================= SERVICIOS PAGE ================= */
.services-hero { padding: 80px 0 60px; text-align: center; }
.services-hero__container { max-width: 800px; margin: 0 auto; }
.services-hero h1 { font-size: var(--fs-h1); margin-bottom: var(--sp-4); }
.services-hero p { font-size: 1.15rem; color: var(--xp-blanco-soft); margin-bottom: var(--sp-6); }

.services-detail-section { padding: 0 0 100px; }
.services-detail-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); gap: var(--sp-8); }

.service-detail-card {
  background: var(--xp-gris-tech);
  border-radius: var(--radius-lg);
  padding: var(--sp-8);
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
  border: 1px solid rgba(255,255,255,0.05);
  transition: transform var(--t-base), box-shadow var(--t-base);
  height: 100%;
}
.service-detail-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-card); }
.service-detail-card__icon {
  width: 72px; height: 72px;
  background: rgba(220, 38, 38, 0.15);
  border: 1px solid rgba(220, 38, 38, 0.3);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: var(--sp-2);
}
.service-detail-card__icon i { font-size: 2rem; color: var(--xp-rojo); }
.service-detail-card__title { font-family: var(--font-heading); font-weight: var(--fw-bold); color: var(--xp-blanco); font-size: 1.5rem; margin: 0; }
.service-detail-card__desc { color: var(--xp-blanco-soft); font-size: 1.05rem; line-height: 1.6; }
.service-detail-card__includes { margin-top: var(--sp-2); flex-grow: 1; }
.service-detail-card__includes h4 { color: var(--xp-blanco); font-size: 0.95rem; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: var(--sp-3); }
.service-detail-card__includes ul { list-style: none; padding: 0; margin: 0; }
.service-detail-card__includes li { 
  padding-left: 1.5rem; 
  position: relative; 
  color: var(--xp-blanco-soft); 
  margin-bottom: var(--sp-3);
}
.service-detail-card__includes li::before {
  content: "✓";
  color: var(--xp-rojo);
  position: absolute;
  left: 0;
  font-weight: bold;
}
.service-detail-card__cta { margin-top: var(--sp-4); align-self: flex-start; }

.process-section { padding: 80px 0; background: var(--xp-oscuro-base); border-top: 1px solid var(--xp-gris-tech); }
.text-center { text-align: center; }
.process-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--sp-6); margin-top: var(--sp-8); }
.process-step { display: flex; flex-direction: column; gap: var(--sp-2); }
.process-step__number { font-size: 3.5rem; color: var(--xp-rojo); font-family: var(--font-heading); font-weight: 700; opacity: 0.9; line-height: 1; margin-bottom: var(--sp-2); }
.process-step__title { color: var(--xp-blanco); font-size: 1.15rem; font-weight: var(--fw-bold); }
.process-step__desc { color: var(--xp-blanco-soft); font-size: 0.95rem; line-height: 1.6; }

.why-us-section { padding: 80px 0; }
.why-us-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--sp-6); margin-top: var(--sp-8); }
.why-us-card { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--sp-3); padding: var(--sp-6); background: var(--xp-gris-tech); border-radius: var(--radius-lg); border: 1px solid rgba(255,255,255,0.05); }
.why-us-card i { font-size: 2.5rem; color: var(--xp-rojo); margin-bottom: var(--sp-2); }
.why-us-card strong { font-size: 1.1rem; color: var(--xp-blanco); }
.why-us-card p { color: var(--xp-blanco-soft); font-size: 0.95rem; margin: 0; }

.services-cta-final { background: var(--xp-gris-tech); padding: 80px 0; border-top: 1px solid rgba(255,255,255,0.05); text-align: center; }
.services-cta-final__container { max-width: 600px; margin: 0 auto; }
.services-cta-final h2 { margin-bottom: var(--sp-4); }
.services-cta-final p { color: var(--xp-blanco-soft); margin-bottom: var(--sp-6); line-height: 1.6; }

@media (max-width: 768px) {
  .services-detail-grid { grid-template-columns: 1fr; }
  .service-detail-card { padding: var(--sp-6); }
  .process-grid { grid-template-columns: 1fr; gap: var(--sp-8); text-align: center; }
  .process-step { align-items: center; }
}

/* ================= NOSOTROS PAGE ================= */
.about-hero { padding: 80px 0 60px; text-align: center; }
.about-hero__container { max-width: 800px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; }
.about-hero h1 { font-size: var(--fs-h1); margin-bottom: var(--sp-4); }
.about-hero p { font-size: 1.15rem; color: var(--xp-blanco-soft); margin-bottom: var(--sp-6); }

.about-essence-section { padding: 40px 0 80px; }
.about-essence { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-8); align-items: center; }
.about-essence__content p { color: var(--xp-blanco-soft); font-size: 1.15rem; line-height: 1.6; }
.about-essence__img img { width: 100%; border-radius: var(--radius-lg); border: 1px solid rgba(255,255,255,0.05); }

.about-mission-section { padding: 80px 0; background: var(--xp-oscuro-base); border-top: 1px solid var(--xp-gris-tech); border-bottom: 1px solid var(--xp-gris-tech); }
.about-mission-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: var(--sp-6); }
.about-mission-card { background: var(--xp-gris-tech); border-radius: var(--radius-lg); padding: var(--sp-8); border: 1px solid rgba(255,255,255,0.05); display: flex; flex-direction: column; gap: var(--sp-3); }
.about-mission-card--accent { border-color: rgba(220, 38, 38, 0.3); background: rgba(220, 38, 38, 0.05); }
.about-mission-card__icon { font-size: 2.5rem; color: var(--xp-rojo); margin-bottom: var(--sp-2); }
.about-mission-card__title { font-family: var(--font-heading); font-size: 1.5rem; color: var(--xp-blanco); margin: 0; }
.about-mission-card__text { color: var(--xp-blanco-soft); font-size: 1.1rem; line-height: 1.6; margin: 0; }

.about-values-section { padding: 100px 0; }
.values-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--sp-6); margin-top: var(--sp-8); }
.value-card { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--sp-3); padding: var(--sp-6); background: var(--xp-gris-tech); border-radius: var(--radius-lg); border: 1px solid rgba(255,255,255,0.05); }
.value-card i { font-size: 2.5rem; color: var(--xp-rojo); margin-bottom: var(--sp-2); }
.value-card strong { font-size: 1.1rem; color: var(--xp-blanco); }
.value-card p { color: var(--xp-blanco-soft); font-size: 0.95rem; margin: 0; line-height: 1.5; }

.about-ceo-section { padding: 80px 0; background: var(--xp-oscuro-base); border-top: 1px solid var(--xp-gris-tech); }
.about-ceo { display: grid; grid-template-columns: 300px 1fr; gap: var(--sp-8); align-items: center; }
.about-ceo__photo { width: 100%; aspect-ratio: 1; border-radius: 50%; object-fit: cover; border: 3px solid var(--xp-rojo); box-shadow: var(--shadow-cta); }
.about-ceo__content p { color: var(--xp-blanco-soft); font-size: 1.1rem; line-height: 1.6; margin-bottom: var(--sp-6); }
.about-ceo__info { display: flex; flex-direction: column; gap: 4px; }
.about-ceo__info strong { font-size: 1.2rem; color: var(--xp-blanco); }
.about-ceo__info span { font-size: 1rem; color: var(--xp-rojo); font-weight: 600; }

.certifications-banner { background: var(--xp-gris-tech); padding: var(--sp-8) var(--sp-6); border-top: 1px solid rgba(255,255,255,0.05); border-bottom: 1px solid rgba(255,255,255,0.05); }
.certifications-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--sp-6); text-align: center; align-items: center; }
.certifications-banner__item { font-size: 1.1rem; font-weight: var(--fw-bold); color: var(--xp-blanco-soft); text-transform: uppercase; letter-spacing: 2px; }

.about-trust-section { padding: 100px 0; }
.trust-seal { text-align: center; max-width: 700px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; }
.trust-seal img { width: 180px; margin-bottom: var(--sp-6); filter: drop-shadow(0 10px 15px rgba(220,38,38,0.2)); transition: transform var(--t-base); }
.trust-seal:hover img { transform: scale(1.05) rotate(5deg); }
.trust-seal h2 { margin-bottom: var(--sp-4); }
.trust-seal p { color: var(--xp-blanco-soft); font-size: 1.15rem; line-height: 1.6; }

.about-cta-final { background: var(--xp-gris-tech); padding: 80px 0; text-align: center; border-top: 1px solid rgba(255,255,255,0.05); }
.about-cta-final__container { max-width: 600px; margin: 0 auto; }
.about-cta-final h2 { margin-bottom: var(--sp-4); }
.about-cta-final p { color: var(--xp-blanco-soft); margin-bottom: var(--sp-6); line-height: 1.6; }

@media (max-width: 768px) {
  .about-essence { grid-template-columns: 1fr; }
  .about-ceo { grid-template-columns: 1fr; text-align: center; }
  .about-ceo__photo-wrapper { text-align: center; }
  .about-ceo__photo { max-width: 220px; margin: 0 auto; }
  .about-ceo__content .divider-left { margin: 0 auto 24px; }
  .about-ceo__info { align-items: center; }
}
/* ================= CONTACTO PAGE ================= */
.contacto-hero { text-align: center; padding: var(--sp-16) var(--sp-6); }
.contacto-hero h1 { font-size: var(--fs-h1); margin: var(--sp-4) 0; }
.contacto-hero p { font-size: 1.15rem; color: var(--xp-blanco-soft); max-width: 600px; margin: 0 auto; }

.contact-layout {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: var(--sp-12);
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--sp-12) var(--sp-6);
}
@media (max-width: 900px) { .contact-layout { grid-template-columns: 1fr; gap: var(--sp-8); } }

.contact-form {
  background: var(--xp-gris-tech);
  padding: var(--sp-8);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255,255,255,0.05);
}
.form-group { margin-bottom: var(--sp-4); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4); }
@media (max-width: 600px) { .form-row { grid-template-columns: 1fr; } }

.contact-form label {
  display: block;
  margin-bottom: var(--sp-2);
  color: var(--xp-blanco);
  font-weight: 600;
  font-size: var(--fs-small);
}
.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  padding: var(--sp-3) var(--sp-4);
  background: var(--xp-oscuro-base);
  border: 1px solid var(--xp-gris-tech);
  border-radius: var(--radius-sm);
  color: var(--xp-blanco);
  font-family: var(--font-body);
  font-size: 1rem;
  transition: border-color var(--t-fast);
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus { outline: none; border-color: var(--xp-rojo); }
.contact-form textarea { resize: vertical; min-height: 120px; }
.contact-form__submit {
  width: 100%;
  padding: var(--sp-4);
  font-size: 1rem;
  cursor: pointer;
  margin-top: var(--sp-4);
  border: 0;
}
.contact-form__legal {
  font-size: 0.75rem;
  color: var(--xp-blanco-soft);
  margin-top: var(--sp-3);
  text-align: center;
}

.contact-info { padding: var(--sp-4); }
.contact-info h2 { margin-bottom: var(--sp-6); }
.contact-info__block {
  display: flex;
  gap: var(--sp-4);
  align-items: flex-start;
  padding: var(--sp-4) 0;
  border-bottom: 1px solid var(--xp-gris-tech);
}
.contact-info__block i {
  color: var(--xp-rojo);
  font-size: 1.25rem;
  width: 24px;
  margin-top: 4px;
  text-align: center;
}
.contact-info__block strong {
  display: block;
  color: var(--xp-blanco);
  margin-bottom: 4px;
  font-family: var(--font-heading);
}
.contact-info__block a,
.contact-info__block span {
  color: var(--xp-blanco-soft);
  text-decoration: none;
  transition: color var(--t-fast);
}
.contact-info__block a:hover { color: var(--xp-rojo); }
.contact-info__whatsapp {
  margin-top: var(--sp-8);
  padding: var(--sp-6);
  background: rgba(220, 38, 38, 0.08);
  border-radius: var(--radius-lg);
  text-align: center;
}
.contact-info__whatsapp p { margin-bottom: var(--sp-4); color: var(--xp-blanco); }

.contact-map {
  width: 100%;
  height: 450px;
  border-top: 1px solid var(--xp-gris-tech);
}
.contact-map iframe { width: 100%; height: 100%; border: 0; display: block; }
.hidden { display: none !important; }

.form-status {
  margin-top: var(--sp-4);
  padding: var(--sp-4);
  border-radius: var(--radius-md);
  font-size: 0.95rem;
  line-height: 1.5;
  display: none;
}
.form-status:not(:empty) { display: block; }
.form-status--success {
  background: rgba(34, 197, 94, 0.1);
  color: #4ade80;
  border: 1px solid rgba(34, 197, 94, 0.3);
}
.form-status--error {
  background: rgba(220, 38, 38, 0.1);
  color: #f87171;
  border: 1px solid rgba(220, 38, 38, 0.3);
}