/* =========================================================
   SILCANYON
   Responsive Styles
========================================================= */


/* =========================================================
   LARGE TABLET
========================================================= */

@media (max-width: 1100px) {


    .container {

        width: min(
            calc(100% - 50px),
            var(--container)
        );

    }


    .desktop-nav {

        gap: 22px;

    }


    .header-cta {

        display: none;

    }


    .intro-grid {

        gap: 60px;

    }


    .value-card {

        padding: 45px 30px;

    }


    .footer-top {

        gap: 40px;

    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {


    .section {

        padding: 100px 0;

    }


    /* Header */

    .desktop-nav {

        display: none;

    }


    .menu-toggle {

        display: flex;

    }


    .mobile-nav {

        position: absolute;

        top: 92px;

        left: 0;

        width: 100%;

        display: block;

        background: rgba(12, 23, 17, 0.98);

        backdrop-filter: blur(20px);

        max-height: 0;

        overflow: hidden;

        transition: max-height 0.4s ease;

    }


    .site-header.scrolled .mobile-nav {

        background: rgba(255, 255, 255, 0.98);

    }


    .mobile-nav.open {

        max-height: 600px;

    }


    .mobile-nav-inner {

        display: flex;

        flex-direction: column;

        padding: 20px 25px 30px;

    }


    .mobile-link {

        padding: 16px 0;

        border-bottom: 1px solid rgba(255, 255, 255, 0.1);

        color: white;

        font-family: "Manrope", sans-serif;

        font-size: 18px;

        font-weight: 600;

    }


    .site-header.scrolled .mobile-link {

        color: var(--color-black);

        border-color: var(--color-border);

    }


    .mobile-cta {

        display: flex;

        justify-content: space-between;

        align-items: center;

        margin-top: 20px;

        padding: 17px 20px;

        border-radius: 100px;

        background: #009FE3;

        color: white;

        font-size: 13px;

        font-weight: 700;

    }


    /* Hero */

    .hero {

        min-height: 850px;

    }


    .hero-meta {

        margin-top: 50px;

    }


    /* Intro */

    .intro-grid {

        grid-template-columns: 1fr;

        gap: 20px;

    }


    .intro-copy {

        padding-top: 0;

    }


    /* Values */

    .value-grid {

        grid-template-columns: 1fr;

    }


    .value-card {

        min-height: auto;

        padding: 40px;

        border-left: 1px solid var(--color-border);

        border-bottom: 1px solid var(--color-border);

    }


    .value-card h3 {

        margin-top: 40px;

    }


    /* Services */

    .services-grid {

        grid-template-columns: 1fr;

    }


    .service-card-large {

        grid-row: auto;

    }


    .service-card {

        min-height: 360px;

    }


    /* Approach */

    .approach-item {

        grid-template-columns: 70px 1fr;

        gap: 20px;

        padding: 35px 0;

    }


    .approach-description {

        grid-column: 2;

    }


    /* Projects */

    .projects-grid {

        grid-template-columns: 1fr;

    }


    .project-card-wide {

        grid-column: auto;

    }


    /* Impact */

    .impact-grid {

        grid-template-columns: repeat(2, 1fr);

    }


    .impact-item:nth-child(3) {

        border-left: 1px solid rgba(255, 255, 255, 0.18);

    }


    /* Philosophy */

    .philosophy-grid {

        grid-template-columns: 1fr;

        gap: 25px;

    }


    /* Footer */

    .footer-top {

        grid-template-columns: 1fr 1fr;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {


    .container {

        width: calc(100% - 36px);

    }


    .section {

        padding: 75px 0;

    }


    h2 {

        font-size: 42px;

    }


    /* Header */

    .header-inner {

        height: 78px;

    }


    .mobile-nav {

        top: 78px;

    }


    /* Hero */

    .hero {

        min-height: 760px;

    }


    .hero-container {

        padding-top: 80px;

    }


    .hero h1 {

        font-size: 49px;

    }


    .hero-description {

        font-size: 15px;

        line-height: 1.7;

    }


    .hero-actions {

        flex-direction: column;

        align-items: stretch;

    }


    .hero-actions .btn {

        width: 100%;

    }


    .hero-meta {

        display: grid;

        grid-template-columns: 1fr;

        gap: 13px;

        margin-top: 45px;

    }


    .hero-scroll {

        display: none;

    }


    /* Intro */

    .large-copy {

        font-size: 21px;

    }


    /* Services */

    .section-top {

        flex-direction: column;

        align-items: flex-start;

        gap: 15px;

        margin-bottom: 45px;

    }


    .service-card {

        min-height: 390px;

        padding: 30px;

    }


    .service-card-large {

        padding: 0;

    }


    .service-card-large .service-content {

        padding: 30px;

    }


    .service-content h3 {

        margin-top: 45px;

        font-size: 28px;

    }


    /* Image statement */

    .image-statement {

        min-height: 600px;

    }


    .statement-content h2 {

        font-size: 43px;

    }


    /* Approach */

    .approach-item {

        grid-template-columns: 45px 1fr;

    }


    .approach-title h3 {

        font-size: 29px;

    }


    .approach-description {

        grid-column: 2;

    }


    /* Projects */

    .project-image,
    .project-card:not(.project-card-wide) .project-image {

        height: 390px;

    }


    .project-bottom h3 {

        font-size: 27px;

    }


    .project-details {

        gap: 25px;

        flex-wrap: wrap;

    }


    /* Impact */

    .impact-section {

        padding: 80px 0;

    }


    .impact-header {

        margin-bottom: 50px;

    }


    .impact-grid {

        grid-template-columns: 1fr;

    }


    .impact-item {

        min-height: 280px;

        border-left: 1px solid rgba(255, 255, 255, 0.18);

        border-bottom: 1px solid rgba(255, 255, 255, 0.18);

    }


    /* Philosophy */

    .philosophy-content blockquote {

        font-size: 34px;

    }


    /* CTA */

    .final-cta {

        min-height: 600px;

    }


    .final-cta-content h2 {

        font-size: 48px;

    }


    /* Footer */

    .site-footer {

        padding-top: 70px;

    }


    .footer-top {

        grid-template-columns: 1fr;

        gap: 45px;

        padding-bottom: 50px;

    }


    .footer-bottom {

        flex-direction: column;

        align-items: flex-start;

        gap: 15px;

    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 400px) {


    .container {

        width: calc(100% - 28px);

    }


    .hero h1 {

        font-size: 43px;

    }


    h2 {

        font-size: 37px;

    }


    .value-card {

        padding: 35px 25px;

    }


    .project-bottom {

        left: 20px;

        right: 20px;

    }


    .project-bottom h3 {

        font-size: 24px;

    }

}