/* Internal V3 page-content responsive rules only. Header/footer responsive lives in shell.css. */
@media (max-width: 1024px) {
  .services-hero-grid {
    gap: var(--spacing-lg, 32px);
  }
  .services-hero-copy h1 {
    font-size: clamp(38px, 4vw, 48px);
  }
  
  .services-vision-grid {
    gap: var(--spacing-lg, 48px);
  }
  
  .services-capabilities-layout {
    gap: 40px;
  }
  .services-capability-panel-copy {
    flex: 0 0 46%;
  }
  .services-capability-panel-visual {
    flex: 0 0 54%;
  }
  .services-capability-panel {
    padding: 32px;
    gap: 24px;
  }
  .visual-editorial {
    padding: 16px;
  }
  
  .services-start {
    padding: 80px 0;
  }
  .services-start-grid {
    gap: 40px;
  }
  .diagnostic-header, .diagnostic-route {
    grid-template-columns: 8% 29% 5% 31% 5% 22%;
  }
  
  .services-faq-grid, .services-final-cta-grid {
    gap: 40px;
  }
  
  .services-method-header, .services-entry-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
  }
  .method-header-title, .method-header-text, .entry-header-title, .entry-header-text {
    flex: 1 1 auto;
    max-width: 100%;
  }
  .services-method-journey, .services-entry-paths {
    gap: 24px;
  }
}

@media (max-width: 768px) {
  .services-placeholder-block {
    min-height: 400px;
  }
  
  .services-hero-grid {
    grid-template-columns: 1fr;
    gap: var(--spacing-xl, 40px);
    min-height: auto;
  }
  
  .services-hero-copy {
    order: 1;
  }
  
  .services-hero-visual {
    order: 2;
    padding: 0 16px; /* Para evitar que las tarjetas sobresalgan en móviles */
  }
  
  .hero-card, .micro-ui {
    transform: scale(0.85);
  }
  
  .card-white {
    right: -2%;
  }
  
  .card-violet {
    left: -2%;
  }
  
  .services-vision-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  
  .services-vision-intro {
    position: static;
  }
  
  .vision-trajectory {
    left: 20px; /* Ajuste para alinear con los números más pequeños en móvil */
  }
  
  .services-capabilities {
    padding: 40px 0 80px;
  }
  .services-capabilities-layout {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .services-capabilities-tabs {
    display: none; /* Ocultar tabs desktop */
  }
  .services-capability-accordion {
    display: flex; /* Mostrar acordeón mobile */
    width: 100%;
    align-items: center;
    justify-content: space-between;
    background: #FFFFFF;
    border: 1px solid var(--color-border, #E2E8F0);
    padding: 20px 24px;
    margin-bottom: 8px;
    border-radius: 8px;
    cursor: pointer;
    text-align: left;
    transition: all 0.2s ease;
  }
  .services-capability-accordion.is-active {
    border-color: var(--color-primary, #1C53F0);
    background: rgba(28, 83, 240, 0.03);
    margin-bottom: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom: none;
  }
  .services-capability-accordion-number {
    font-size: 16px;
    font-weight: 700;
    color: var(--color-primary, #1C53F0);
    font-family: monospace;
    margin-right: 12px;
  }
  .services-capability-accordion-name {
    flex: 1;
    font-size: 16px;
    font-weight: 600;
    color: var(--color-violet, #281E5F);
  }
  .services-capability-accordion-icon {
    color: var(--color-violet, #281E5F);
    transition: transform 0.3s ease;
  }
  .services-capability-accordion.is-active .services-capability-accordion-icon {
    transform: rotate(180deg);
    color: var(--color-primary, #1C53F0);
  }
  .services-capability-panel {
    flex-direction: column;
    padding: 24px 24px 40px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    margin-bottom: 16px;
    gap: 32px;
  }
  .services-capability-panel.is-active {
    display: flex;
  }
  .services-capability-panel-copy {
    order: 1;
  }
  .services-capability-panel-visual {
    order: 2;
  }
  
  .services-start-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .services-start-intro {
    max-width: 580px;
  }
  
  /* Fallback to mobile structure for tables on 768px */
  .diagnostic-header {
    display: none;
  }
  .diagnostic-route {
    grid-template-columns: auto auto 1fr;
    gap: 4px 12px;
    padding: 20px 0;
    align-items: center;
  }
  .route-number {
    grid-column: 1;
    grid-row: 1;
    align-self: flex-start;
  }
  .route-challenge {
    grid-column: 2 / -1;
    grid-row: 1;
    padding-right: 0;
    margin-bottom: 8px;
  }
  .route-arrow {
    display: none;
  }
  .route-capability {
    grid-column: 2;
    grid-row: 2;
    padding-left: 0;
    border-left: none;
  }
  .diagnostic-route::after {
    content: "→";
    grid-column: 3;
    grid-row: 2;
    color: var(--color-primary, #1C53F0);
    margin: 0 12px;
  }
  .route-result {
    grid-column: 4;
    grid-row: 2;
    justify-self: flex-start;
  }
  
  .services-method-journey {
    grid-template-columns: repeat(2, 1fr);
  }
  .method-step-04, .method-step-05, .method-step-06 {
    grid-column: auto;
    grid-row: auto;
  }
  .method-trajectory-svg {
    display: none;
  }
  .services-method-cycle, .services-entry-cycle {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }
  .cycle-sequence, .entry-cycle-sequence {
    justify-content: center;
  }
  
  .services-entry-paths {
    grid-template-columns: repeat(2, 1fr);
  }
  .entry-path-01, .entry-path-02, .entry-path-03, .entry-path-04 {
    grid-column: span 1;
  }
  
  .services-faq-grid, .services-final-cta-grid {
    grid-template-columns: 1fr;
    gap: 64px;
  }
  .faq-editorial-lines {
    margin-top: 40px;
  }
  .services-final-cta-visual {
    min-height: 380px;
  }
}

@media (max-width: 430px) {
  .services-hero-actions {
    flex-direction: column;
    width: 100%;
  }
  
  .services-hero-actions .btn {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
  
  .vision-principle {
    gap: 20px;
    padding: 24px 0;
  }
  
  .principle-highlight {
    margin: 0 -16px;
    padding: 24px 16px;
  }
  
  .vision-principle-number {
    font-size: 30px;
    width: 40px;
  }
  
  .vision-trajectory {
    left: 14px;
  }
  
  .vision-connection-graphic {
    flex-wrap: wrap;
    font-size: 11px;
    gap: 8px;
  }
  
  .services-capabilities {
    padding: 32px 0 64px;
  }
  .services-capability-panel {
    padding: 16px 16px 32px;
  }
  .services-capability-accordion {
    padding: 16px;
  }
  .services-capability-accordion-number {
    font-size: 14px;
    margin-right: 8px;
  }
  .services-capability-accordion-name {
    font-size: 15px;
  }
  .visual-growth .v-node {
    min-width: 120px;
  }
  .visual-seo .v-pill {
    padding: 6px 16px;
  }
  .visual-data .v-grid-layout {
    gap: 8px;
  }
  .visual-data .v-box {
    padding: 12px 8px;
  }
  .visual-media .v-center {
    padding: 8px 16px;
  }
  
  .services-start {
    padding: 64px 0;
  }
  .services-start-diagnostic {
    padding: 12px;
  }
  .diagnostic-header {
    display: none;
  }
  .diagnostic-route {
    grid-template-columns: auto auto 1fr;
    gap: 4px 12px;
    padding: 20px 0;
  }
  .route-number {
    grid-column: 1;
    grid-row: 1;
    align-self: flex-start;
  }
  .route-challenge {
    grid-column: 2 / -1;
    grid-row: 1;
    padding-right: 0;
    margin-bottom: 8px;
  }
  .route-arrow {
    display: none;
  }
  .route-capability {
    grid-column: 2;
    grid-row: 2;
    display: flex;
    align-items: center;
    gap: 6px;
    padding-right: 0;
    padding-left: 0;
  }
  .route-capability::before {
    display: none;
  }
  .route-capability::after {
    content: "→";
    color: rgba(255, 255, 255, 0.3);
  }
  .route-result {
    grid-column: 3;
    grid-row: 2;
    text-align: left;
    justify-self: start;
  }
  .start-action .btn {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
  
  .services-method {
    padding: 80px 0;
  }
  .services-method-journey {
    grid-template-columns: 1fr;
    position: relative;
    padding-left: 16px;
  }
  .services-method-journey::before {
    content: '';
    position: absolute;
    top: 24px;
    bottom: 24px;
    left: 21px;
    width: 2px;
    background: rgba(28, 83, 240, 0.2);
    z-index: 1;
  }
  .method-step {
    padding: 24px 0 24px 24px;
  }
  .method-step-01 {
    padding-left: 24px;
    border-left: none;
  }
  .step-node {
    position: absolute;
    left: 0;
    top: 32px;
    margin: 0;
  }
  .method-step-06 .step-node {
    box-shadow: 0 0 0 4px #FFFFFF;
  }
  .cycle-sequence, .entry-cycle-sequence {
    flex-wrap: wrap;
    gap: 8px;
  }
  
  .services-entry-paths {
    grid-template-columns: 1fr;
  }
  
  .services-faq {
    padding: 64px 0 80px;
  }
  .faq-number {
    font-size: 16px;
  }
  .faq-question {
    font-size: 18px;
    padding-right: 16px;
  }
  .services-faq-panel {
    padding: 0 0 32px 10%;
  }
  
  .services-final-cta {
    padding: 80px 0;
  }
  .services-final-cta-actions {
    flex-direction: column;
    width: 100%;
  }
  .services-final-cta-actions .btn {
    width: 100%;
    justify-content: center;
  }
  .cta-micro-proof {
    flex-direction: column;
    align-items: flex-start;
  }
}
