/* ══════════════════════════════════════════
   QUIENES SOMOS PAGE
══════════════════════════════════════════ */
.qs-hero{ min-height:0;display:block;background:var(--navy);padding:140px 5% 80px;position:relative;overflow:hidden; }
.qs-hero-inner{ max-width:1100px;margin:0 auto;position:relative; }
.hero-shape{ position:absolute;border-radius:50%;pointer-events:none; }
.hero-shape-1{ width:600px;height:600px;background:radial-gradient(circle,rgba(var(--blue-rgb), 0.25) 0%,transparent 70%);top:-100px;right:-100px; }
.hero-shape-2{ width:400px;height:400px;background:radial-gradient(circle,rgba(var(--blue-rgb), 0.15) 0%,transparent 70%);bottom:-50px;left:10%; }

/* Columna izquierda: texto */
.qs-hero-content{ position:relative;z-index:1;max-width:580px;display:inline-block; }
@keyframes pulse{ 0%,100%{opacity:1} 50%{opacity:.3} }
.qs-hero h1{ font-family:'Syne',sans-serif;font-size:clamp(2.8rem,5vw,4.2rem);font-weight:800;color:var(--white)!important;line-height:1.1;margin-bottom:24px;letter-spacing:-.02em; }
.qs-hero h1 span{ color:var(--blue-light)!important; }
.qs-hero p{ font-size:17px;color:rgba(var(--white-rgb), 0.6)!important;line-height:1.7;margin-bottom:40px;max-width:500px;font-weight:300; }
.hero-stats{ display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }
.hero-stat{ background:rgba(var(--white-rgb), 0.06);border:1px solid rgba(var(--white-rgb), 0.1);border-radius:14px;padding:20px;text-align:center; }
.hero-stat-num{ font-family:'Syne',sans-serif;font-size:2rem;font-weight:900;color:var(--white);display:block;line-height:1; }
.hero-stat-label{ font-size:12px;color:rgba(var(--white-rgb), 0.5);margin-top:6px;font-weight:400; }

/* Columna derecha: card MVV */
.qs-hero-card{ position:absolute;z-index:1;right:0;width:280px;background:rgba(var(--white-rgb), 0.06);border:1px solid rgba(var(--white-rgb), 0.1);border-radius:20px;padding:28px;backdrop-filter:blur(10px);display:flex;flex-direction:column;justify-content:center;gap:20px;overflow:hidden; }
.mvv-card-label{ font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(var(--white-rgb), 0.6);margin-bottom:4px; }
.mvv-item{ border-top:1px solid rgba(var(--white-rgb), 0.08);padding-top:16px; }
.mvv-item:first-of-type{ border-top:none;padding-top:0; }
.mvv-title{ font-family:'Syne',sans-serif;font-size:12px;font-weight:800;color:var(--blue-lighter);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px; }
.mvv-text{ font-size:14px;color:rgba(var(--white-rgb), 0.65);line-height:1.75;font-weight:300;text-align:justify; }

@media(max-width:960px){
  .qs-hero{ padding:120px 5% 60px;min-height:auto; }
  .qs-hero-content{ max-width:100%; }
  .qs-hero-card{ position:relative;right:auto;width:100%;height:auto!important;margin-top:32px; }
  .hero-stats{ grid-template-columns:repeat(3,1fr); }
}
@media(max-width:600px){
  .qs-hero h1{ font-size:clamp(2rem,8vw,2.8rem); }
  .hero-stats{ grid-template-columns:repeat(3,1fr); }
  .qs-hero-card{ padding:20px; }
}

/* QUIÉNES SOMOS */
  #quienes{ padding:100px 5% 60px;background:var(--white); }
  .quienes-inner{ max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center; }
  .section-body{ font-size:15px;color:var(--gray);line-height:1.85;font-weight:300;margin-bottom:16px; }
  /* Timeline visual */
  .timeline{ display:flex;flex-direction:column;gap:0; }
  .tl-item{ display:flex;gap:20px;position:relative; }
  .tl-item:not(:last-child) .tl-line{ position:absolute;left:19px;top:40px;bottom:-10px;width:2px;background:var(--gray-light); }
  .tl-dot{ width:40px;height:40px;border-radius:50%;background:var(--blue-pale);border:3px solid var(--white);box-shadow:0 0 0 2px var(--blue-pale);display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1;font-family:'Syne',sans-serif;font-size:13px;font-weight:800;color:var(--blue); }
  .tl-content{ padding:8px 0 28px; }
  .tl-year{ font-size:11px;font-weight:700;color:var(--blue);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px; }
  .tl-title{ font-family:'Syne',sans-serif;font-size:15px;font-weight:800;color:var(--navy);margin-bottom:4px; }
  .tl-desc{ font-size:13px;color:var(--gray);line-height:1.6;font-weight:300; }

/* VALORES */
  #valores{ padding:80px 5%;background:var(--navy); }
  .valores-inner{ max-width:1100px;margin:0 auto; }
  #valores .section-tag{ color:var(--blue-lighter);text-align:center; }
  #valores .section-title{ color:var(--white);text-align:center;margin-bottom:8px; }
  #valores .section-sub{ margin-bottom:48px; }
  .valores-grid{ display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px; }
  .valor-card{ background:rgba(var(--white-rgb), 0.05);border:1px solid rgba(var(--white-rgb), 0.09);border-radius:16px;padding:28px;transition:transform .3s,box-shadow .3s,border-left .3s;border-left:3px solid transparent;position:relative;overflow:hidden; }
  .valor-card:hover{ transform:translateY(-6px);box-shadow:0 16px 40px rgba(var(--navy-rgb), 0.4);border-left:3px solid var(--blue-light);background:rgba(var(--white-rgb), 0.08); }
  .valor-card:hover .valor-icon{ background:var(--blue);transform:scale(1.1); }
  .valor-icon{ width:48px;height:48px;border-radius:12px;background:rgba(var(--blue-rgb), 0.3);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:16px;transition:background .3s,transform .3s; }
  .valor-title{ font-family:'Syne',sans-serif;font-size:16px;font-weight:800;color:var(--white);margin-bottom:8px; }
  .valor-desc{ font-size:13px;color:rgba(var(--white-rgb), 0.5);line-height:1.7;font-weight:300; }

/* RESEÑAS SLIDER */
  #resenas{ padding:80px 0 40px;background:var(--white); }
  .resenas-inner{ max-width:1100px;margin:0 auto;padding:0 5%; }
  .resenas-inner .section-tag{ text-align:center; }
  .resenas-inner .section-title{ text-align:center;margin-bottom:12px; }
  /* Slider */
  #resenas .slider-wrap{ position:relative;overflow:hidden;display:flex;justify-content:center;width:100%; }
  #resenas .slider-track{ display:flex;gap:20px;transition:transform .5s cubic-bezier(0.4,0,0.2,1);width:100%;animation:none; }
  .review-card{ background:var(--off-white);border:1px solid var(--gray-light);border-radius:16px;padding:24px;flex-shrink:0;transition:box-shadow .25s;word-wrap:break-word; }
  .review-card:hover{ box-shadow:0 8px 24px rgba(var(--blue-rgb), 0.08); }
  .review-text{ overflow:visible;display:block; }
  .review-stars{ display:flex;gap:3px;margin-bottom:14px; }
  .review-stars span{ color:var(--warning);font-size:16px; }
  .review-text{ font-size:14px;color:#444;line-height:1.75;font-weight:300;margin-bottom:18px;font-style:italic; }
  .review-author{ display:flex;align-items:center;gap:12px; }
  .review-avatar{ width:38px;height:38px;border-radius:50%;background:var(--blue);color:var(--white);font-family:'Syne',sans-serif;font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0; }
  .review-name{ font-family:'Syne',sans-serif;font-size:13px;font-weight:700;color:var(--navy); }
  .review-branch{ font-size:11px;color:var(--gray);margin-top:2px; }
  /* Controles */
  .slider-controls{ display:flex;justify-content:center;align-items:center;gap:16px;margin-top:32px; }
  .slider-btn{ width:44px;height:44px;border-radius:50%;border:1px solid var(--gray-light);background:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s; }
  .slider-btn:hover{ background:var(--navy);border-color:var(--navy); }
  .slider-btn:hover svg{ stroke:var(--white); }
  .slider-btn svg{ width:18px;height:18px;stroke:var(--navy); }
  .slider-dots{ display:flex;gap:8px; }
  /* Google badge */
  .google-badge{ display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:24px; }
  .google-badge svg{ width:22px;height:22px; }
  .google-badge span{ font-size:13px;color:var(--gray);font-weight:500; }
  .google-rating{ font-family:'Syne',sans-serif;font-size:15px;font-weight:800;color:var(--navy);font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum","tnum"; }

/* CTA FINAL */
  #cta-final{ padding:40px 5% 60px;background:var(--white); }
  #cta-final-card{ background:var(--navy);border-radius:20px;padding:44px 52px;display:flex;align-items:center;justify-content:space-between;gap:40px;max-width:1100px;margin:0 auto; }
  #cta-final-card .cta-text h2{ font-family:'DM Sans',sans-serif;font-size:clamp(1.4rem,2.5vw,1.9rem);font-weight:800;color:var(--white);margin-bottom:8px;text-align:left; }
  #cta-final-card .cta-text p{ font-size:15px;color:rgba(var(--white-rgb), 0.55);font-weight:300;text-align:left;margin:0; }
  #cta-final-card .cta-btns{ display:flex;gap:12px;flex-shrink:0; }

/* Quienes somos responsive */
@media(max-width:900px){
  .quienes-inner{ grid-template-columns:1fr; }
  .valores-grid{ grid-template-columns:1fr 1fr; }
  .sucursales-grid{ grid-template-columns:1fr; }
  #resenas .review-card{ min-width:calc(50% - 10px); }
  #cta-final-card{ flex-direction:column;text-align:center;padding:32px 24px; }
}
@media(max-width:600px){
  .valores-grid{ grid-template-columns:1fr; }
  .hero-stats{ grid-template-columns:1fr 1fr 1fr; }
  #resenas .review-card{ min-width:calc(85% - 10px); }
  #cta-final-card .cta-text h2,
  #cta-final-card .cta-text p{ text-align:center; }
  #cta-final-card .cta-btns{ flex-wrap:wrap;justify-content:center; }
}

