/* Shared responsive layer: loaded after page styles. Desktop rules remain untouched. */
:root{--red:#ff2026;--red-dark:#e60c12;--bg:#f3f3f3;}
html,body{max-width:100%;overflow-x:hidden;}
body,body *,button,input,select,textarea{font-family:'Sora';}

@media (max-width: 1950px){
  
  .hero{min-height:auto;padding:calc(var(--header-h) + 80px) 20px 60px;}
  .hero-left{width:100%;}
  .hero-right{width:100%;min-height:420px;}
  .hero-title{font-size:clamp(2rem,3.5vw,4rem);}
  .hero-para{font-size: 15px}
  .hero-buttons .btn{padding: 6px 5px 6px 15px; font-size: .6rem;}
  
}

@media (max-width: 1200px){
  
  .hero{min-height:auto;padding:calc(var(--header-h) + 100px) 20px 60px;}
  .hero-left{width:100%;}
  .hero-right{width:100%;min-height:420px;}
  .hero-title{font-size:clamp(2.5rem,4vw,4.5rem);}
  .hero-para{font-size: 13px}
  .hero-buttons .btn{padding: 6px 5px 6px 15px; font-size: .6rem;}
  
}

@media (max-width: 1024px){
  :root{--header-h:76px;}
  .site-header{top:20px;padding:0 16px;}
  .header-inner{padding:14px 18px;}
  .hero{min-height:auto;padding:calc(var(--header-h) + 60px) 20px 60px;}
  .hero-inner{grid-template-columns:1fr;gap:28px;}
  .hero-left{width:100%;}
  .hero-right{width:100%;min-height:420px;}
  .hero-title{font-size:clamp(2.6rem,7vw,4rem);}
  .about-inner,.features-inner,.contact-grid,.footer-grid{grid-template-columns:1fr !important;}
  .about-right{min-height:420px;}
  /* .course-visual__img{width:min(100%,500px)!important;height:auto!important;max-height:650px;object-fit:cover!important;} */
  .about-inner{height: auto;}
}

@media (max-width: 768px){
  :root{--header-h:68px;--radius-lg:28px;--radius-md:22px;--radius-sm:16px;}
  body{font-size:15px;}
  .site-header{top:10px;padding:0 10px;}
  .header-inner{border-radius:24px;padding:12px 14px;min-height:58px;}
  .logo-main{font-size:1.2rem;}
  .site-nav{position:fixed!important;top:82px!important;left:10px!important;right:10px!important;width:auto!important;max-width:none!important;}
  .hero{padding-left:16px;padding-right:16px;padding-bottom:48px;}
  .hero-title,.section-title{overflow-wrap:anywhere;}
  .hero-title{font-size:clamp(2.25rem,10vw,3.4rem);margin-bottom:18px;}
  .hero-para{font-size:.98rem;margin-bottom:26px;}
  .hero-buttons{gap:10px;}
  .btn{padding:13px 10px 13px 22px;font-size:.9rem;}
  .hero-right,.about-right{min-height:400px;}
  .features-grid,.courses-grid,.testimonials-grid,.blog-grid{grid-template-columns:1fr!important;}
  .section{padding-left:16px!important;padding-right:16px!important;}
  img{height:auto;}

  .courses-hero{min-height:680px!important;padding:100px 16px 50px;}
  .courses-hero-content{max-width:100%;}
  .hero-cards{width:min(100%,700px)!important;height:280px!important;margin-bottom:50px!important;}
  .hero-card{width:min(38vw,220px)!important;padding:10px!important;border-radius:18px!important;}
  .hero-card img{height:95px!important;}
  .hero-card h3{font-size:clamp(12px,2.5vw,17px)!important;margin-top:10px!important;}
  .hero-card-left{left:0!important;top:35px!important;}
  .hero-card-right{right:0!important;top:35px!important;}
  .hero-info-card{width:min(100%,430px)!important;margin-top:-45px!important;padding:28px 22px!important;border-radius:24px!important;}
  .hero-info-content h2{font-size:clamp(1.6rem,7vw,2.1rem)!important;}

  .szc-pl-hero{width:100%;}
  .szc-pl-hero__stage{min-height:360px;aspect-ratio:auto!important;}
  /* .szc-pl-hero__content{width:78%!important;top:8%!important;} */
  .szc-pl-section{padding-left:16px!important;padding-right:16px!important;}

  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
}

@media (max-width: 480px){
  .site-header{top:6px;padding:0 6px;}
  .header-inner{padding:10px 12px;border-radius:18px;}
  .logo-main{font-size:1.05rem;}
  .hero{padding:92px 14px 40px;}
  .hero-title{font-size:clamp(2rem,11vw,2.8rem);}
  .hero-buttons{flex-direction:column;align-items:stretch;}
  .hero-buttons .btn{justify-content:center;width:100%;white-space:normal;}
  .hero-right,.about-right{min-height:400px;}
  .section-title{font-size:clamp(1.9rem,9vw,2.5rem);}
  .courses-hero{min-height:620px!important;padding:85px 12px 35px!important;}
  .hero-cards{height:220px!important;margin-bottom:35px!important;}
  .hero-card{width:42vw!important;max-width:170px!important;padding:8px!important;}
  .hero-card img{height:70px!important;border-radius:11px!important;}
  .hero-card h3{font-size:11px!important;margin:7px 0 0!important;}
  .hero-card-left{top:28px!important;}
  .hero-card-right{top:28px!important;}
  .hero-info-card{margin-top:-20px!important;padding:22px 18px!important;}
  .szc-pl-hero__stage{min-height:320px;}
  /* .szc-pl-hero__content{width:90%!important;} */
  .about-inner{height: auto;}
}

/* =========================================================
   FINAL SMALL-SCREEN FITTING — HEADER, FOOTER & CONTENT
   These overrides intentionally affect tablet/mobile only.
   ========================================================= */
@media (max-width: 992px){
  .site-header{padding:0 12px;top:18px;}
  .header-inner{position:relative;width:100%;padding:14px 18px;}
  .main-nav{display:none;}
  .menu-toggle{display:flex;}
  .header-cta{display:none;}
  .main-nav.is-open{
    display:flex!important;position:absolute;top:calc(100% + 10px);left:0;right:0;
    width:100%;max-height:calc(100vh - 110px);overflow-y:auto;
    flex-direction:column;align-items:stretch;padding:14px;
    border-radius:24px;background:rgba(255,255,255,.98);box-shadow:0 18px 45px rgba(0,0,0,.18);
  }
  .main-nav.is-open .nav-link{width:100%;text-align:center;padding:13px 16px!important;}
  .site-header.nav-open .header-inner{border-radius:28px;}

  .site-footer{padding:75px 20px 28px;}
  .contact-card{padding:38px 32px;gap:30px;flex-wrap:wrap;}
  .contact-card__info,.map-card__info{width:100%;max-width:none;margin:0;}
  .footer-bottom{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px;padding-bottom:32px;}
}

@media (max-width: 768px){
  .site-header{top:10px;padding:0 10px;}
  .header-inner{min-height:62px;padding:11px 14px;border-radius:24px;}
  .logo-main{font-size:1.15rem;}
  .menu-toggle{width:42px;height:42px;}
  .main-nav.is-open{top:calc(100% + 8px);border-radius:20px;padding:10px;}
  .main-nav.is-open .nav-link{font-size:.94rem;}


  /* Home testimonials */
  .testimonials{padding:70px 0 85px;}
  .testimonials-inner{padding:0 16px;}
  .testi-viewport{overflow:visible;}
  .testi-track{gap:16px;overflow-x:auto;padding:6px 2px 16px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
  .testi-card{flex:0 0 min(86vw,360px);scroll-snap-align:start;padding:24px;border-radius:22px;}
  .testi-card__top{gap:12px;}

  /* Footer */
  .site-footer{padding:65px 16px 24px;}
  .contact-card{padding:28px 22px;border-radius:24px;margin-bottom:55px;}
  .footer-bottom{grid-template-columns:1fr 1fr;gap:28px 18px;padding-bottom:26px;}
  .footer-col a{overflow-wrap:anywhere;}
  .footer-copy{font-size:.82rem;line-height:1.6;}

  /* Placement page: ensure posters/cards are always visible and swipeable */
  .szc-pl-hero__grid{opacity:1!important;display:block!important;}
  .szc-pl-photo{display:block!important;}
  .szc-pl-posters{padding-left:0!important;padding-right:0!important;}
  .szc-pl-posters__track{display:flex!important;gap:14px!important;overflow-x:auto!important;padding:8px 4px 18px!important;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;}
  .szc-pl-posters__col{display:flex!important;flex-direction:column!important;gap:14px!important;min-width:min(76vw,330px)!important;scroll-snap-align:start;}
  .szc-pl-posters__col--down{margin-top:0!important;}
  .szc-pl-poster{display:block!important;opacity:1!important;transform:none!important;}
  .szc-pl-poster img{display:block!important;width:100%;height:auto;}
  .szc-pl-testi{padding:35px 16px 70px;}
  .szc-pl-testi__track{gap:14px;padding-bottom:14px;}
  .szc-pl-testi__card{flex-basis:min(82vw,320px);padding:22px 18px;}
}

@media (max-width: 480px){
  .site-header{padding:0 7px;top:7px;}
  .header-inner{padding:9px 11px;border-radius:19px;}
  .logo-main{font-size:1.02rem;}
  .logo-sub{font-size:.42rem;}
  .main-nav.is-open{max-height:calc(100vh - 80px);}

 
  .testimonials{padding:58px 0 70px;}
  .testi-card{flex-basis:calc(100vw - 32px);padding:21px 18px;}
  .testi-card__avatar{width:54px;height:54px;}

  .contact-card{padding:24px 18px;border-radius:20px;}
  .footer-bottom{grid-template-columns:1fr;gap:24px;}
  .footer-logo-col{margin-bottom:6px;}
  .spark--footer{right:8px;top:-32px;font-size:2.2rem;}

  .szc-pl-posters__col{min-width:82vw!important;}
  .szc-pl-testi__card{flex-basis:86vw;}
  .szc-pl-testi__reel{height:160px;}
}

/* =========================================================
   HOME PAGE FINAL QA — MOBILE ALIGNMENT, FAQ & OVERFLOW FIXES
   ========================================================= */
@media (max-width: 992px){
  /* Prevent accidental fixed-width elements from creating side scrolling. */
  main, section, .section, .section-inner, .container, .hero-inner,
  .about-inner, .features-inner, .placements-inner, .testimonials-inner,
  .faq-inner, .footer-inner { max-width:100%; }

  /* FAQ becomes a clean single-column layout on tablets and below. */
  .faq{padding:88px 20px;}
  .faq-inner{grid-template-columns:1fr!important;gap:34px;width:100%;}
  .faq-title{position:static!important;top:auto!important;max-width:680px;}
  .faq-list{width:100%;}
  .faq-item{width:100%;}
}

@media (max-width: 768px){
  /* General home-page alignment */
  .hero-inner,.about-inner,.features-inner,.placements-inner,.testimonials-inner,.faq-inner{
    width:100%;margin-left:auto;margin-right:auto;
  }
  .about,.features,.placements,.faq{padding-left:16px!important;padding-right:16px!important;}
  .about-left,.about-right,.features-copy,.features-grid,.placements-inner{min-width:0;}
  .section-title,.about-title,.features-title,.placements-title,.testimonials-title,.faq-title{
    max-width:100%;overflow-wrap:anywhere;word-break:normal;
  }

  /* FAQ */
  .faq{padding-top:72px!important;padding-bottom:72px!important;}
  .faq-inner{gap:28px!important;}
  .faq-title{font-size:clamp(2rem,9vw,2.8rem)!important;line-height:1.16!important;text-align:left;}
  .faq-list{gap:14px!important;}
  .faq-question{
    min-height:64px;padding:20px!important;gap:14px!important;
    font-size:clamp(.92rem,3.8vw,1rem)!important;line-height:1.45!important;
    align-items:flex-start!important;
  }
  .faq-question > span:first-child{flex:1 1 auto;min-width:0;overflow-wrap:anywhere;}
  .faq-icon{width:32px!important;height:32px!important;border-radius:9px!important;margin-top:0;}
  .faq-answer p{padding:0 20px 20px!important;font-size:.9rem!important;line-height:1.7!important;overflow-wrap:anywhere;}
  .faq-item.is-open .faq-answer{max-height:520px!important;}

  /* Home grids and visual cards stay inside their columns. */
  .features-grid,.courses-grid,.testimonials-grid,.blog-grid{width:100%;min-width:0;}
  .feature-card,.course-card,.testi-card,.blog-card{min-width:0;max-width:100%;}
}

@media (max-width: 480px){
  .about,.features,.placements,.faq{padding-left:14px!important;padding-right:14px!important;}
  .faq{padding-top:58px!important;padding-bottom:58px!important;}
  .faq-inner{gap:24px!important;}
  .faq-title{font-size:clamp(1.85rem,10vw,2.45rem)!important;}
  .faq-list{gap:12px!important;}
  .faq-item{border-radius:18px!important;}
  .faq-question{padding:17px 16px!important;gap:12px!important;font-size:.9rem!important;}
  .faq-icon{width:30px!important;height:30px!important;min-width:30px!important;}
  .faq-answer p{padding:0 16px 18px!important;font-size:.86rem!important;line-height:1.65!important;}

  /* Keep mobile text and buttons from clipping or misaligning. */
  h1,h2,h3,p,a,span,button{max-width:100%;}
  .btn{min-height:48px;align-items:center;}

}
