/* =========================================================
   LANDING PAGE RESPONSIVE LAYER
   Paste at the END of the last loaded CSS file
   ========================================================= */

/* ---------- Global safety ---------- */
html,
body{
  width:100%;
  overflow-x:hidden;
}

img,
video{
  max-width:100%;
}

button,
a{
  -webkit-tap-highlight-color:transparent;
}

/* Large laptops */
@media(max-width:1200px){

  .nav,
  .sub-nav,
  .sec,
  .cred-section,
  .cta-sec,
  .footer,
  .footer-bottom{
    padding-left:32px;
    padding-right:32px;
  }

  .hero-content{
    padding-left:32px;
    padding-right:32px;
  }

  .hero-h1{
    font-size:42px;
  }

  .dept-row{
    grid-template-columns:4fr 3fr 4fr;
  }

  .cred-masonry{
    gap:12px;
  }
}

/* Tablets */
@media(max-width:992px){

  .nav{
    padding:0 24px;
    overflow-x:auto;
    scrollbar-width:none;
  }

  .nav::-webkit-scrollbar{
    display:none;
  }

  .nav-link{
    padding:20px 12px;
  }

  .nav-apply{
    margin-left:12px;
  }

  .sub-nav{
    top:57px;
    padding:0 24px;
    overflow-x:auto;
    scrollbar-width:none;
  }

  .sub-nav::-webkit-scrollbar{
    display:none;
  }

  .sub-nav-label{
    display:none;
  }

  .sub-nav-link{
    padding:14px 14px;
  }

  .hero{
    min-height:620px;
  }

  .hero-content{
    max-width:620px;
    padding:88px 32px;
  }

  .hero-h1{
    font-size:38px;
  }

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

  .stat:nth-child(2){
    border-right:none;
  }

  .stat:nth-child(1),
  .stat:nth-child(2){
    border-bottom:0.5px solid #E5E2D9;
  }

  .prog-wrap{
    grid-template-columns:1fr;
  }

  .dept-row{
    grid-template-columns:1fr 1fr;
    gap:12px;
  }

  .dept-content{
    grid-column:1 / -1;
  }

  .fac-grid,
  .news-grid{
    grid-template-columns:1fr;
  }

  .fac-card,
  .news-card{
    max-width:680px;
  }

  .cred-masonry{
    grid-template-columns:1fr;
  }

  .cred-masonry > div{
    margin-top:0 !important;
  }

  .city-intro{
    grid-template-columns:1fr;
    gap:20px;
  }

  .mosaic{
    grid-template-columns:1fr;
    grid-template-rows:auto;
  }

  .mos-left{
    grid-row:auto;
    height:360px;
  }

  .mos-right-grid{
    grid-template-rows:220px 220px;
  }

  .city-facts-strip{
    grid-template-columns:repeat(2,1fr);
  }
}

/* Mobile */
@media(max-width:768px){

  .nav{
    padding:0 18px;
  }

  .nav-logo{
    min-width:max-content;
  }

  .nav-link{
    font-size:12px;
    padding:18px 10px;
  }

  .nav-apply{
    font-size:12px;
    padding:9px 14px;
  }

  .sub-nav{
    padding:0 18px;
  }

  .sub-nav-link{
    font-size:12px;
    padding:13px 12px;
  }

  .hero{
    min-height:680px;
    align-items:flex-end;
  }

  .hero-video-overlay{
    background:linear-gradient(
      to bottom,
      rgba(10,22,40,.45),
      rgba(10,22,40,.86)
    );
  }

  .hero-content{
    padding:120px 22px 54px;
    max-width:100%;
  }

  .hero-eyebrow{
    font-size:10px;
    line-height:1.6;
  }

  .hero-h1{
    font-size:34px;
    line-height:1.15;
  }

  .hero-sub{
    font-size:15px;
    line-height:1.65;
    margin-bottom:28px;
  }

  .hero-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .hero-actions a,
  .hero-actions button{
    width:100%;
  }

  .btn-gold,
  .btn-ghost,
  .btn-navy,
  .btn-outline{
    width:100%;
    text-align:center;
    justify-content:center;
  }

  .hero-footnote{
    font-size:11px;
  }

  .sec,
  .cred-section,
  .cta-sec{
    padding:56px 22px;
  }

  .sec-h2{
    font-size:28px;
  }

  .sec-lead{
    font-size:15px;
    margin-bottom:32px;
  }

  .stats{
    grid-template-columns:1fr;
  }

  .stat{
    border-right:none;
    border-bottom:0.5px solid #E5E2D9;
  }

  .stat:last-child{
    border-bottom:none;
  }

  .stat-n{
    font-size:28px;
  }

  .prog-bsc,
  .prog-master{
    padding:26px 22px;
  }

  .prog-bsc-title,
  .prog-master-title{
    font-size:19px;
  }

  .prog-bsc-num,
  .prog-master-num{
    font-size:72px;
  }

  .dept-row{
    grid-template-columns:1fr;
    padding:14px 0 28px;
  }

  .dept-img-main{
    min-height:280px;
  }

  .dept-imgs-stack{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
  }

  .dept-img-sm{
    min-height:150px;
  }

  .dept-content{
    padding:24px 20px;
  }

  .dept-stats{
    grid-template-columns:1fr 1fr;
  }

  .dept-cta{
    width:100%;
    justify-content:center;
  }

  .fac-img{
    aspect-ratio:1.35 / 1;
  }

  .fac-body{
    padding:18px;
  }

  .news-media{
    height:220px;
  }

  .cred-card{
    padding:24px 20px;
  }

  .cred-title.xl{
    font-size:22px;
  }

  .cred-title.lg{
    font-size:19px;
  }

  .cred-deco{
    font-size:72px !important;
  }

  .mos-left{
    height:300px;
  }

  .mos-right-grid{
    grid-template-columns:1fr;
    grid-template-rows:220px 220px 220px 220px;
  }

  .city-facts-strip{
    grid-template-columns:1fr;
  }

  .cta-h2{
    font-size:30px;
  }

  .cta-row{
    flex-direction:column;
  }
}

/* Small phones */
@media(max-width:480px){

  .hero-content{
    padding-left:18px;
    padding-right:18px;
  }

  .hero-h1{
    font-size:30px;
  }

  .hero-sub{
    font-size:14px;
  }

  .sec,
  .cred-section,
  .cta-sec{
    padding-left:18px;
    padding-right:18px;
  }

  .eyebrow{
    font-size:10px;
    line-height:1.5;
  }

  .eyebrow::before{
    width:28px;
  }

  .sec-h2{
    font-size:25px;
  }

  .dept-imgs-stack{
    grid-template-columns:1fr;
  }

  .dept-img-main{
    min-height:230px;
  }

  .dept-img-sm{
    min-height:190px;
  }

  .dept-stats{
    grid-template-columns:1fr;
  }

  .news-media{
    height:190px;
  }

  .mos-left{
    height:240px;
  }

  .mos-right-grid{
    grid-template-rows:190px 190px 190px 190px;
  }

  .cta-h2{
    font-size:26px;
  }

  .footer{
    padding-left:18px;
    padding-right:18px;
  }

  .footer-bottom{
    padding-left:18px;
    padding-right:18px;
  }
}

