/* ============================================================
   Canvas Signature Heritage — Responsive
   csh-responsive.css
   ============================================================ */

/* ─────────────────────────────────────────────
   1400px — Wide layout adjustments
───────────────────────────────────────────── */
@media (max-width: 1400px) {
    :root {
        --section-v: 100px;
    }

    .csh-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .csh-portal-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .csh-values-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ─────────────────────────────────────────────
   1200px — Reduced columns
───────────────────────────────────────────── */
@media (max-width: 1200px) {
    .csh-container {
        padding-left: 32px;
        padding-right: 32px;
    }

    .csh-header__inner {
        padding: 0 32px;
    }

    .csh-editorial__content {
        padding: 64px 56px;
    }

    .csh-footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }

    .csh-grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }

    .csh-team-grid {
        grid-template-columns: 1fr;
    }

    .csh-team-card--featured {
        grid-column: auto;
    }
}

/* ─────────────────────────────────────────────
   1024px — Tablet landscape
───────────────────────────────────────────── */
@media (max-width: 1024px) {
    :root {
        --section-v: 80px;
    }

    /* Hide primary nav, show hamburger */
    .csh-nav        { display: none; }
    .csh-hamburger  { display: flex; }
    .csh-header__cta { display: none; }

    .csh-hero__headline {
        font-size: clamp(2.4rem, 6vw, 5.5rem);
    }

    .csh-editorial {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .csh-editorial--reverse {
        direction: ltr;
    }

    .csh-editorial__media {
        min-height: 400px;
    }

    .csh-editorial__content {
        padding: 60px 48px;
    }

    .csh-cta-band__inner {
        flex-direction: column;
        text-align: center;
    }

    .csh-cta-band__actions {
        justify-content: center;
    }

    .csh-split--60-40,
    .csh-split--40-60,
    .csh-split--equal {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .csh-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .csh-properties-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .csh-values-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .csh-portfolio-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        aspect-ratio: auto;
    }

    .csh-portfolio-item--large {
        grid-row: auto;
        aspect-ratio: 16/9;
    }

    .csh-portfolio-item {
        aspect-ratio: 16/9;
    }

    .csh-contact-info {
        padding-left: 0;
        border-top: 1px solid var(--border-dark);
        padding-top: 48px;
    }
}

/* ─────────────────────────────────────────────
   768px — Tablet portrait
───────────────────────────────────────────── */
@media (max-width: 768px) {
    :root {
        --section-v: 64px;
        --section-v-sm: 48px;
    }

    .csh-container {
        padding-left: 24px;
        padding-right: 24px;
    }

    .csh-header__inner {
        padding: 0 24px;
        height: 70px;
    }

    .csh-hero--fullscreen {
        min-height: 90vh;
    }

    .csh-hero--image {
        min-height: 60vh;
    }

    .csh-hero--short {
        min-height: 45vh;
    }

    .csh-hero__content {
        padding: 120px 0 80px;
    }

    .csh-hero__ctas {
        flex-direction: column;
        align-items: flex-start;
    }

    .csh-hero__ctas .csh-btn {
        width: auto;
    }

    .csh-services-grid {
        grid-template-columns: 1fr;
    }

    .csh-markets-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .csh-grid-3 {
        grid-template-columns: 1fr;
    }

    .csh-properties-grid {
        grid-template-columns: 1fr;
    }

    .csh-values-grid {
        grid-template-columns: 1fr;
    }

    .csh-portal-grid {
        grid-template-columns: 1fr;
    }

    .csh-footer__grid {
        grid-template-columns: 1fr;
    }

    .csh-footer__bottom-inner {
        flex-direction: column;
        text-align: center;
        gap: 16px;
    }

    .csh-footer__legal {
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
    }

    .csh-form__row--2col {
        grid-template-columns: 1fr;
    }

    .csh-split {
        gap: 32px;
    }

    .csh-section-header {
        margin-bottom: 40px;
    }

    .csh-team-card--featured {
        grid-template-columns: 1fr;
    }

    .csh-editorial__content {
        padding: 48px 32px;
    }
}

/* ─────────────────────────────────────────────
   576px — Mobile landscape
───────────────────────────────────────────── */
@media (max-width: 576px) {
    .csh-markets-grid {
        grid-template-columns: 1fr;
    }

    .csh-btn-group {
        flex-direction: column;
        align-items: flex-start;
    }

    .csh-cta-band__actions {
        flex-direction: column;
        width: 100%;
    }

    .csh-cta-band__actions .csh-btn {
        width: 100%;
        text-align: center;
    }

    .csh-hero__scroll { display: none; }

    .csh-editorial__content {
        padding: 40px 24px;
    }

    .csh-editorial__media {
        min-height: 280px;
    }

    .csh-values-grid,
    .csh-portal-grid,
    .csh-grid-3 {
        gap: 16px;
    }

    .csh-service-card {
        padding: 40px 28px;
    }

    .csh-service-row-item,
    .csh-info-card {
        padding: 32px 24px;
    }
}

/* ─────────────────────────────────────────────
   Reduced motion
───────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .csh-reveal {
        opacity: 1;
        transform: none;
    }

    .csh-fullbleed {
        background-attachment: scroll;
    }
}
