/* ==========================================================================
   SERVICE DETAIL MASTER TEMPLATE - RESPONSIVE
   ========================================================================== */

/* 1280px */
@media (max-width: 1280px) {
    .service-detail-hero-grid,
    .sd-final-cta-grid {
        gap: 64px;
    }
}

/* 1024px */
@media (max-width: 1024px) {
    .service-detail-hero-grid {
        gap: 40px;
    }
    .service-detail-hero-visual {
        padding: 32px;
    }
    
    .challenges-matrix {
        grid-template-columns: repeat(2, 1fr);
    }
    .challenge-wide,
    .challenge-compact {
        grid-column: span 1;
    }

    .capabilities-matrix {
        grid-template-columns: 1fr;
    }
    .capabilities-visual-center {
        display: none; /* Hide visual matrix for simplicity on smaller screens */
    }

    .conn-row {
        gap: 32px;
    }
    .core-lines .line-h {
        left: -300px;
        width: 600px;
    }
    .core-lines .top-left { left: -150px; }
    .core-lines .top-right { left: 150px; }
    .core-lines .bottom-left { left: -150px; }
    .core-lines .bottom-right { left: 150px; }
}

/* 768px */
@media (max-width: 768px) {
    .service-detail-hero-grid {
        grid-template-columns: 1fr;
    }
    
    .service-detail-hero-copy {
        order: 1;
    }
    .service-detail-hero-visual {
        order: 2;
        min-height: 360px;
    }

    /* GP Hero Responsive */
    .gp-hero-system-surface {
        max-width: 320px;
    }
    
    .gp-hero-system-chip {
        transform: scale(0.85);
        padding: 6px 12px;
        font-size: 10px;
    }

    .chip-1 { transform: translate(-20%, -20%) scale(0.85); }
    .chip-2 { transform: translate(20%, -20%) scale(0.85); }
    .chip-3 { transform: translate(-20%, 20%) scale(0.85); }
    .chip-4 { transform: translate(20%, 20%) scale(0.85); }
    
    .gp-hero-system-surface:hover .chip-1 { transform: translate(-20%, -25%) scale(0.9); }
    .gp-hero-system-surface:hover .chip-2 { transform: translate(20%, -25%) scale(0.9); }
    .gp-hero-system-surface:hover .chip-3 { transform: translate(-20%, 15%) scale(0.9); }
    .gp-hero-system-surface:hover .chip-4 { transform: translate(20%, 15%) scale(0.9); }

    .gp-node-ring {
        width: 120px;
        height: 120px;
    }
    
    .gp-node-core {
        padding: 12px 16px;
        font-size: 11px;
    }
    
    .gp-hero-system-output {
        bottom: -16px;
        transform: scale(0.9);
    }

    .conn-row {
        grid-template-columns: 1fr;
    }
    .core-lines {
        display: none;
    }

    .metrics-orbit {
        display: none;
    }
    .metrics-core {
        flex-direction: column;
        gap: 8px;
    }
    .mc-arrow {
        transform: rotate(90deg);
    }

    .sd-final-cta-grid {
        grid-template-columns: 1fr;
        gap: 64px;
    }
}

/* 430px & 390px */
@media (max-width: 430px) {
    .service-breadcrumb li {
        font-size: 11px;
    }

    .service-detail-hero-actions {
        flex-direction: column;
        width: 100%;
    }
    .service-detail-hero-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .challenges-matrix {
        grid-template-columns: 1fr;
    }

    .service-detail-faq-panel {
        padding: 0 0 32px 10%;
    }
    .sd-faq-number {
        font-size: 16px;
    }
    .sd-faq-question {
        font-size: 17px;
        padding-right: 16px;
    }

    .sd-final-cta-actions {
        flex-direction: column;
        width: 100%;
    }
    .sd-final-cta-actions .btn {
        width: 100%;
        justify-content: center;
    }
}
