@media (max-width: 1024px) {
    .ctc-layout {
        grid-template-columns: 1fr 280px;
        gap: 28px;
    }

    .ctc-hero__title { font-size: 2rem; }
}

@media (max-width: 768px) {

    /* Hero */
    .ctc-hero {
        padding: 32px 0 24px;
    }

    .ctc-hero__title {
        font-size: 1.65rem;
    }

    .ctc-hero__sub {
        font-size: 0.82rem;
    }

    .ctc-section {
        padding: 28px 0 48px;
    }

    .ctc-layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .ctc-sidebar {
        position: static;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }

    .ctc-info-card {
        grid-column: 1 / -1;
        padding: 20px 18px;
    }

    .ctc-contact-items {
        padding: 16px 18px;
        gap: 12px;
    }

    .ctc-social-wrap {
        padding: 16px 18px;
    }

    .ctc-form-wrap {
        padding: 24px 20px;
    }

    .ctc-row {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .ctc-actions {
        flex-direction: column;
    }

    .ctc-btn {
        justify-content: center;
        width: 100%;
    }
}

@media (max-width: 420px) {

    .ctc-hero__title  { font-size: 1.4rem; }
    .ctc-hero__label  { font-size: 0.66rem; }

    .ctc-form-wrap    { padding: 18px 14px; }

    .ctc-sidebar {
        grid-template-columns: 1fr;
    }

    .ctc-info-card {
        grid-column: auto;
    }

    .ctc-input {
        font-size: 0.82rem;
        padding: 9px 12px;
    }

    .ctc-btn {
        font-size: 0.80rem;
        padding: 10px 16px;
    }

    .ctc-contact-label { font-size: 0.64rem; }
    .ctc-contact-value { font-size: 0.78rem; }
}