/*==========================================================
    RESPONSIVE PART 1
    GLOBAL + HEADER + HERO
==========================================================*/

/*==================================
1400px
==================================*/

@media (max-width:1400px){

.container{

    max-width:1200px;

    padding:0 32px;

}

.hero-left h1{

    font-size:72px;

}

.hero-description{

    font-size:19px;

    max-width:560px;

}

.hero-image{

    height:620px;

}

.campus-heading h2,
.wr-heading h2{

    font-size:64px;

}

.rw-heading h2{

    font-size:60px;

}

}


/*==================================
1200px
==================================*/

@media (max-width:1200px){

section{

    padding:90px 0;

}

.container{

    padding:0 28px;

}

/* Header */

.menu{

    gap:28px;

}

.partner-btn{

    padding:12px 22px;

}

/* Hero */

.hero{

    padding:120px 0 80px;

}

.hero-container{

    grid-template-columns:1fr 1fr;

    gap:40px;

}

.hero-left h1{

    font-size:60px;

    letter-spacing:-2px;

}

.hero-description{

    font-size:17px;

}

.hero-image{

    height:540px;

}

.hero-right::before{

    width:700px;

    height:700px;

    top:-60px;

    left:-70px;

}

}


/*==================================
992px
==================================*/

@media (max-width:992px){

.container{

    padding:0 24px;

}

.header{

    backdrop-filter:none;

}

.nav{

    height:70px;

}

/* Hide Desktop Navigation */

.menu{

    display:none;

}

.partner-btn{

    display:none;

}

/* Show Mobile Toggle */

.mobile-toggle{

    display:flex;

}

/* Hero */

.hero{

    min-height:auto;

    padding:120px 0 70px;

}

.hero-container{

    grid-template-columns:1fr;

    gap:60px;

}

.hero-left{

    text-align:center;

}

.hero-left h1{

    font-size:54px;

}

.hero-description{

    margin-inline:auto;

}

.hero-buttons{

    justify-content:center;

    flex-wrap:wrap;

}

.hero-right{

    max-width:700px;

    margin:auto;

}

.hero-image{

    height:500px;

}

.hero-right::before,

.hero::after{

    display:none;

}

.hero-badge{

    transform:scale(.90);

}

.badge-top{

    left:20px;

}

.badge-left{

    left:10px;

}

.badge-right{

    right:10px;

}

}


/*==================================
768px
==================================*/

@media (max-width:768px){

.container{

    padding:0 20px;

}

.hero{

    padding:100px 0 60px;

}

.hero-left h1{

    font-size:42px;

    line-height:1.12;

}

.hero-description{

    font-size:16px;

}

.hero-buttons{

    flex-direction:column;

    gap:16px;

}

.hero-buttons .btn{

    width:100%;

}

.hero-image{

    height:400px;

}

.hero-badge{

    transform:scale(.82);

}

}


/*==================================
480px
==================================*/

@media (max-width:480px){

.container{

    padding:0 16px;

}

.hero{

    padding:90px 0 50px;

}

.hero-left h1{

    font-size:34px;

}

.hero-description{

    font-size:15px;

}

.hero-image{

    height:310px;

}

.hero-badge{

    position:relative;

    transform:none;

    margin:12px 0;

}

.badge-top,

.badge-left,

.badge-right{

    position:relative;

    inset:auto;

}

}

/*==========================================================
    RESPONSIVE PART 2
    PROBLEM + CAMPUS + WORKS
==========================================================*/


/*==================================
992px
==================================*/

@media (max-width:992px){

/*=========================
Problem
=========================*/

.problem-grid{

    grid-template-columns:1fr;

    gap:48px;

}

.problem-card{

    max-width:720px;

    margin:auto;

}

.problem-image{

    order:-1;

    max-width:650px;

    margin:auto;

}

.problem-footer{

    text-align:center;

}


/*=========================
Campus One
=========================*/

.campus-grid{

    grid-template-columns:1fr;

    gap:60px;

}

.campus-left{

    text-align:center;

}

.campus-heading{

    max-width:700px;

    margin-inline:auto;

}

.campus-illustration{

    max-width:650px;

    margin:auto;

}

.timeline{

    max-width:680px;

    margin:auto;

}

.promise-card{

    padding:22px;

}


/*=========================
Works
=========================*/

.rw-timeline{

    gap:28px;

}

.rw-item{

    grid-template-columns:72px 1fr;

    gap:20px;

}

.rw-card{

    padding:22px;

}

}



/*==================================
768px
==================================*/

@media (max-width:768px){

/*=========================
Problem
=========================*/

.problem{

    padding:70px 0;

}

.section-title{

    font-size:38px;

    line-height:1.15;

}

.problem-grid{

    gap:36px;

}

.problem-card{

    padding:22px;

}

.problem-content{

    font-size:15px;

}

.problem-number{

    width:52px;

    height:52px;

}


/*=========================
Campus
=========================*/

.campus-one{

    padding:70px 0;

}

.campus-heading h2{

    font-size:38px;

}

.campus-tag{

    margin-inline:auto;

}

.timeline{

    gap:18px;

}

.promise-card{

    padding:20px;

}

.promise-number{

    width:48px;

    height:48px;

}


/*=========================
Works
=========================*/

.rw-section{

    padding:70px 0;

}

.rw-heading h2{

    font-size:38px;

}

.rw-item{

    grid-template-columns:1fr;

}

.rw-icon{

    margin-bottom:12px;

}

.rw-card{

    padding:20px;

}

}



/*==================================
480px
==================================*/

@media (max-width:480px){

/* Problem */

.section-title{

    font-size:30px;

}

.problem-card{

    padding:18px;

}

.problem-number{

    width:44px;

    height:44px;

}

/*==========================================================
WHY RYTHON RESPONSIVE
==========================================================*/

@media (max-width:1400px){

.wr-heading{

    margin-bottom:80px;

}

.wr-heading h2{

    font-size:64px;

}

.wr-heading h2 span{

    font-size:54px;

}

}

@media (max-width:1200px){

.why-rython{

    padding:110px 0;

}

.wr-heading{

    max-width:860px;

    margin-bottom:70px;

}

.wr-heading h2{

    font-size:56px;

}

.wr-heading h2 span{

    font-size:46px;

}

.wr-heading p{

    font-size:18px;

}

.wr-grid{

    gap:20px;

}

.wr-card{

    padding:24px;

}

}

@media (max-width:992px){

.why-rython{

    padding:90px 0;

}

.wr-heading{

    margin-bottom:60px;

}

.wr-grid{

    grid-template-columns:1fr;

    max-width:760px;

    margin:auto;

}

.wr-card{

    padding:28px;

}

}

@media (max-width:768px){

.why-rython{

    padding:70px 0;

}

.wr-heading{

    margin-bottom:50px;

}

.wr-tag{

    font-size:12px;

    letter-spacing:2px;

}

.wr-heading h2{

    font-size:42px;

    line-height:1.15;

}

.wr-heading h2 span{

    font-size:34px;

    margin-top:10px;

}

.wr-heading p{

    font-size:16px;

    line-height:1.8;

}

.wr-card{

    padding:22px;

    border-radius:22px;

}

.wr-top{

    gap:14px;

    margin-bottom:18px;

}

.wr-title h3{

    font-size:22px;

}

.wr-card p{

    font-size:15px;

}

.wr-icon{

    width:54px;

    height:54px;

}

.wr-icon svg{

    width:24px;

    height:24px;

}

}

@media (max-width:480px){

.why-rython{

    padding:60px 0;

}

.wr-heading h2{

    font-size:32px;

}

.wr-heading h2 span{

    font-size:28px;

}

.wr-heading p{

    font-size:15px;

}

.wr-card{

    padding:18px;

}

.wr-title h3{

    font-size:20px;

}

.wr-card p{

    font-size:14px;

}

.wr-icon{

    width:48px;

    height:48px;

    border-radius:14px;

}

.wr-icon svg{

    width:22px;

    height:22px;

}

}


/* Campus */

.campus-heading h2{

    font-size:30px;

}

.promise-card{

    padding:18px;

}

.promise-content h4{

    font-size:17px;

}


/* Works */

.rw-heading h2{

    font-size:30px;

}

.rw-card{

    padding:18px;

}

.rw-phase{

    font-size:13px;

}

}

/*==========================================================
FOOTER RESPONSIVE IMPROVEMENTS
==========================================================*/

@media (max-width:1200px){

.footer-main{

    gap:40px;

}

.footer-logo img{

    width:165px;

}

.footer-description{

    font-size:15px;

}

}


@media (max-width:992px){

.site-footer{

    padding:80px 0 30px;

}

.footer-top{

    margin-bottom:50px;

}

.footer-main{

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:40px;

}

.footer-brand{

    grid-column:1/-1;

    text-align:center;

    max-width:680px;

    margin:auto;

}

.footer-description{

    margin-inline:auto;

}

.footer-email{

    justify-content:center;

}

}


@media (max-width:768px){

.site-footer{

    padding:65px 0 24px;

}

.footer-main{

    grid-template-columns:1fr;

    gap:36px;

}

.footer-column{

    text-align:center;

}

.footer-column li{

    justify-content:center;

}

.footer-bottom{

    flex-direction:column;

    gap:24px;

}

.footer-social{

    justify-content:center;

}

.footer-copyright{

    text-align:center;

}

}


@media (max-width:576px){

.site-footer .container{

    padding:0 18px;

}

.footer-logo img{

    width:150px;

}

.footer-description{

    font-size:15px;

    line-height:1.8;

}

.footer-email{

    width:100%;

    justify-content:center;

    padding:16px;

}

.footer-email span{

    font-size:14px;

}

.footer-social{

    gap:14px;

}

.footer-social a{

    width:40px;

    height:40px;

}

}


@media (max-width:420px){

.footer-top{

    gap:12px;

}

.footer-line{

    width:32px;

}

.footer-label{

    font-size:10px;

}

.footer-column h4{

    font-size:17px;

}

.footer-column a{

    font-size:14px;

}

.footer-column li span{

    font-size:14px;

}

.footer-copyright p{

    font-size:14px;

}

.footer-copyright span{

    font-size:13px;

}

}

/*==========================================================
    RESPONSIVE
==========================================================*/

/*==========================
1200px
==========================*/

@media (max-width:1200px){

    .ecosystem-shell{

        padding:0 24px;

    }

    .rython-ecosystem h1{

        font-size:58px;

    }

    .section-description{

        font-size:17px;

    }

    .ecosystem-layout{

        grid-template-columns:1fr;

        gap:48px;

    }

    .quote-panel{

        max-width:720px;

        margin:auto;

        text-align:center;

    }

    .quote-icon{

        margin-inline:auto;

    }

    .ecosystem-stage{

        height:700px;

    }

    .feature-strip{

        grid-template-columns:repeat(2,1fr);

    }

}

/*==========================
992px
==========================*/

@media (max-width:992px){

    .rython-ecosystem{

        padding:90px 0;

    }

    .rython-ecosystem h1{

        font-size:50px;

    }

    .ecosystem-stage{

        height:660px;

    }

    .module{

        width:220px;

        min-height:160px;

        padding:48px 18px 18px;

    }

    .module h2{

        font-size:21px;

    }

    .logo-card{

        width:140px;

        height:140px;

    }

}

/*==========================
768px
==========================*/

@media (max-width:768px){

    .rython-ecosystem{

        padding:70px 0;

    }

    .ecosystem-shell{

        padding:0 20px;

    }

    .rython-ecosystem h1{

        font-size:40px;

    }

    .section-description{

        font-size:16px;

    }

    .ecosystem-stage{

        display:flex;

        flex-direction:column;

        align-items:center;

        gap:20px;

        height:auto;

    }

    .connection-map{

        display:none;

    }

    .center-system{

        position:relative;

        top:auto;

        left:auto;

        transform:none;

        margin-bottom:10px;

    }

    .module{

        position:relative;

        top:auto;

        left:auto;

        transform:none;

        width:100%;

        max-width:420px;

    }

    .module:hover{

        transform:translateY(-6px);

    }

    .feature-strip{

        grid-template-columns:1fr;

    }

    .feature-strip article{

        border-right:none;

        border-bottom:1px solid rgba(255,255,255,.08);

    }

    .feature-strip article:last-child{

        border-bottom:none;

    }

}

/*==========================
480px
==========================*/

@media (max-width:480px){

    .ecosystem-shell{

        padding:0 16px;

    }

    .rython-ecosystem h1{

        font-size:32px;

    }

    .section-description{

        font-size:15px;

    }

    .logo-card{

        width:120px;

        height:120px;

    }

    .logo-card img{

        width:70px;

    }

    .module{

        padding:46px 18px 18px;

    }

    .module-icon{

        width:54px;

        height:54px;

    }

    .module-icon svg{

        width:24px;

        height:24px;

    }

    .module h2{

        font-size:19px;

    }

    .module p{

        font-size:14px;

    }

    .feature-strip article{

        padding:20px 16px;

    }

    .feature-strip span{

        width:54px;

        height:54px;

    }

    .feature-strip h3{

        font-size:17px;

    }

    .feature-strip p{

        font-size:14px;

    }

}

/*==========================
Reduced Motion
==========================*/

@media (prefers-reduced-motion:reduce){

    .module,
    .logo-card,
    .feature-strip article,
    .quote-panel{

        animation:none !important;

        transition:none !important;

    }

}