/*
 * responsive.css — Media queries
 */

/* ── 1280px ──────────────────────────────────────── */
@media (max-width: 1280px) {
  .sc-grid  { grid-template-columns: repeat(2, 1fr); }
  .pkg-grid { grid-template-columns: 1fr 1fr; }
}

/* ── 1100px ──────────────────────────────────────── */
@media (max-width: 1100px) {
  nav { padding: 1rem 2rem; }
  .hero-left  { padding: 8rem 2.5rem 4rem; }
  .sp-left    { padding: 8rem 2.5rem 4rem 2.5rem; }
  .sp-section { padding: 5rem 2.5rem; }
  #servicios, #proceso, #nosotros { padding: 5rem 2.5rem; }
  .other-grid { grid-template-columns: 1fr 1fr; }
  .quote-layout { grid-template-columns: 1fr; }
  .quote-panel  { position: static; }
  .cot-hero     { padding: 9rem 2.5rem 3rem; }
  #contacto     { padding: 4rem 2.5rem 5rem; }
  .feat-grid    { grid-template-columns: 1fr 1fr; }
  .process-grid { grid-template-columns: 1fr; gap: 3rem; }
  .process-visual { display: none; }
}

/* ── 900px ───────────────────────────────────────── */
@media (max-width: 900px) {
  #hero     { grid-template-columns: 1fr; }
  .hero-right { display: none; }
  .hero-left  { min-height: 100vh; }
  .sp-hero    { grid-template-columns: 1fr; }
  .sp-right   { display: none; }
  .sp-left    { min-height: 100vh; }
  .pkg-grid   { grid-template-columns: 1fr; }
  footer      { flex-direction: column; text-align: center; gap: 1.5rem; }
  .other-services { padding: 4rem 1.5rem; }
  .sp-cta-banner  { padding: 5rem 1.5rem; }
}

/* ── 640px ───────────────────────────────────────── */
@media (max-width: 640px) {
  .nav-links  { display: none; }
  nav         { padding: 1rem 1.5rem; }
  h1          { font-size: clamp(2.8rem, 11vw, 4rem); }
  .hero-stats { gap: 1.5rem; flex-wrap: wrap; }
  .sc-grid    { grid-template-columns: 1fr; }
  .feat-grid  { grid-template-columns: 1fr; }
  .section-header { flex-direction: column; gap: 1rem; }
  .section-note   { max-width: 100%; text-align: left; }
  .sp-stats   { gap: 1.5rem; flex-wrap: wrap; }
  .qcard      { grid-template-columns: 36px 44px 1fr; }
  .qcard-price-wrap { display: none; }
  .qform-grid { grid-template-columns: 1fr; }
  .other-grid { grid-template-columns: 1fr 1fr; }
  .cta-contact-row { gap: 1.5rem; flex-wrap: wrap; }
  footer       { padding: 2.5rem 1.5rem; }
  #servicios, #proceso, #nosotros, .sp-section { padding: 4rem 1.5rem; }
  #contacto, .cot-page-section { padding: 3rem 1.5rem 4rem; }
  .sp-cta-banner { padding: 4rem 1.5rem; }
  .pkg-grid  { gap: 1rem; }
}

@media (max-width: 900px) {
  .hero-left    { padding: 9rem 2rem 5rem; }
  .slide-caption{
    position: relative;
    width: 100%;
    border-top: 1px solid rgba(139,92,246,.2);
    border-left: none;
    padding: 1.8rem 2rem;
  }
  .hero-controls { left: 2rem; }
  .hero-slide-label { display: none; }
}
@media (max-width: 640px) {
  .hero-left  { padding: 8rem 1.5rem 4rem; }
  .hero-stats { gap: 1.5rem; }
}
