@media (max-width: 1199px) {
    .hackathon-winner .winner-profile .detail-header,
    .hackathon-winner .honorable-header{
        padding: 25px 25px 20px;
    }
    .hackathon-winner .winner-profile .detail-body,
    .hackathon-winner .detail-sidebar,
    .hackathon-winner .honorable-project{
        padding: 25px;
    }
    .hackathon-winner .project-info {
        padding-right: 20px;
    }
    .hackathon-winner .project-judges {
        padding-left: 20px;
    }
    .nav-links{
        gap: 1.5rem;
    }
}

/* Tablet and below: show hamburger, collapse nav into menu */
@media (max-width: 991px) {
    .shift-section{
        padding-left: 20px;
        padding-right: 20px;
    }
    .why-now-section .play-btn{
        width: 50px;
        height: 50px;
    }
    .why-now-section .play-btn img{
        max-width: 20px;
    }
    .secure-spot .register-inner{
        flex-direction: column;
    }
    .secure-spot .register-left,
    .secure-spot .register-cards{
        width: 100%;
    }
    .hackathon-winner .winner-profile .detail-card.first .detail-sidebar{
        border-bottom-color: var(--color-primary-dark-opacity);
    }
    .hackathon-winner .detail-sidebar{
        border-bottom: 1px solid;
        border-radius: none;
    }
    .hackathon-winner .winner-profile .detail-content,
    .hackathon-winner .honorable-project{
        grid-template-columns: 1fr;
    }
    .hackathon-winner .winner-profile .winner-image{
        max-width: 295px;
        max-height: unset;
    }
    .hackathon-winner .winner-profile .detail-card:not(.first) .detail-sidebar{
        border-right: none;
    }
    .hackathon-winner .project-info{
        padding-right: 0;
        padding-bottom: 20px;
        border-bottom: 1px solid var(--color-gray-200);
        border-right: none;
    }
    .hackathon-winner .project-judges{
        padding-left: 28px;
        padding-top: 20px;
    }

}
@media (max-width: 968px) {
    /* Banner hidden on mobile; header is nav-only */
    #mission,
    #team,
    #research,
    #work,
    #talent,
    #contact,
    #overview,
    #challenges,
    #prizes,
    #schedule,
    #register {
        scroll-margin-top: 6rem;
    }

    .nav-container {
        flex-wrap: wrap;
    }

    .nav-toggle {
        display: flex;
        order: 2;
        margin-left: auto;
    }

    .nav-links {
        display: none;
        order: 3;
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 1rem 0 0;
        margin-top: 0.5rem;
        border-top: 1px solid var(--color-gray-200);
    }

    .nav.nav-mobile-open .nav-links {
        display: flex;
    }

    .nav-links a,
    .nav-links .nav-dropdown > a {
        padding: 0.875rem 0;
        font-size: 1rem;
        border-bottom: 1px solid var(--color-gray-200);
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    .nav-links .nav-dropdown .dropdown-content {
        position: static;
        box-shadow: none;
        border: none;
        border-radius: 0;
        padding: 0 0 0 1rem;
        margin: 0 0 0.5rem;
        max-height: none;
        background: var(--color-gray-100);
        border-left: 3px solid var(--color-primary);
    }

    .nav-links .nav-dropdown.open .dropdown-content {
        display: block;
    }

    .nav-links .nav-cta {
        margin-top: 0.5rem;
        text-align: center;
        justify-content: center;
    }

    .shift-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .shift-arrow {
        transform: rotate(90deg);
        text-align: center;
    }

    .shift-card,
    .shift-thesis {
        padding: 2rem;
    }

    .why-now-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .why-now-card,
    .why-now-statement {
        padding: 2rem;
    }

    .mission-impact {
        grid-template-columns: 1fr;
    }

    .impact-item {
        padding: 1.5rem;
    }

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

    .belief-card {
        padding: 2rem;
    }

    .team-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .team-member {
        padding: 2rem;
    }

    .research-areas {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .research-area {
        padding: 2rem;
    }

    .india-pillars {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .footer-content {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .container {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    /* Hide top banner on mobile/tablet */
    .top-banner {
        display: none !important;
    }

    /* Header is nav-only on mobile, so less top padding */
    body.has-top-banner .hero {
        padding-top: 6rem;
    }

    .why-now-section .why-now-grid.deep-dive,
    .why-now-section .belief-grid{grid-template-columns: repeat(2, 1fr); column-gap: 1.5rem; row-gap: 2rem;}
}
/* Small tablet / large phone */
@media (max-width: 768px) {
    .section-title {
        font-size: clamp(1.5rem, 4vw, 2.25rem);
    }

    .lead-text {
        font-size: 1.125rem;
    }

    .body-text {
        font-size: 1rem;
    }

    .contact-section {
        padding: 4rem 0;
    }

    .contact-content h2 {
        font-size: 1.75rem;
    }

    .contact-content p {
        font-size: 1.1rem;
    }

    .hackathon-modal-body {
        padding: 2rem 1.5rem;
    }

    .shift-section .cards-row {
        flex-direction: column;
        gap: 35px;
    }
    
    .shift-section .shift-container{
        -webkit-transform: rotate(90deg); 
        -ms-transform: rotate(90deg); 
        transform: rotate(90deg);
    }

    .shift-section .card-past, .shift-section .card-new{
        max-width: 100%;
        width: 100%;
    }
    .secure-spot .register-cards {
        grid-template-columns: repeat(2, 1fr);
    }
    .about-school .support-banner{
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 640px) {
    #mission,
    #team,
    #research,
    #work,
    #talent,
    #contact,
    #overview,
    #challenges,
    #prizes,
    #schedule,
    #register {
        scroll-margin-top: 6.5rem;
    }

    html {
        -webkit-text-size-adjust: 100%;
    }

    body {
        touch-action: pan-y;
        background-attachment: scroll;
    }

    .container {
        padding-left: 1rem;
        padding-right: 1rem;
        max-width: 100%;
    }

    .container > * {
        min-width: 0;
        max-width: 100%;
    }

    .nav-container {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    /* Banner hidden on mobile; hero only needs to clear nav */
    .hero {
        padding: 6rem 0 4rem;
        padding-top: max(6rem, calc(6rem + env(safe-area-inset-top, 0px)));
        min-height: auto;
    }

    .hero .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .hero-content {
        padding-top: 0;
        width: 100%;
    }

    .hero-title {
        font-size: 1.5rem;
        line-height: 1.4;
        margin-bottom: 1rem;
        overflow-wrap: break-word;
        word-wrap: break-word;
    }

    .hero-subtitle {
        font-size: 0.95rem;
        line-height: 1.6;
        margin-bottom: 2rem;
        overflow-wrap: break-word;
        word-wrap: break-word;
    }

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

    .hero-cta .btn {
        width: 100%;
        text-align: center;
        min-width: 0;
    }

    .shift-card,
    .shift-thesis {
        padding: 1.5rem;
    }

    .thesis-statement {
        font-size: 1.1rem;
    }

    .milestone-text {
        padding: 1.5rem;
    }

    section {
        padding: var(--spacing-lg) 0;
    }

    .footer-links {
        grid-template-columns: 1fr;
    }

    .footer-content {
        gap: 2rem;
    }

    .why-now-section .why-now-grid.deep-dive,
    .why-now-section .belief-grid{grid-template-columns: 1fr;}
    .shift-section  .shift-container {
      flex-direction: row;
      padding: 0;
    }
 
   .shift-section .arrow-svg {
      transform: rotate(90deg);
      width: 52px;
    }

    .modal-content {
        width: 95%;
    }

    .close-btn {
        width: 36px;
        height: 36px;
        font-size: 20px;
    }
    .hackathon-lean-modal .modal-content{
        width: 94%;
    }

}

/* Very small phones - hero clears nav only (banner hidden on mobile) */
@media (max-width: 480px) {
    .hero {
        padding-top: max(6.5rem, calc(6.5rem + env(safe-area-inset-top, 0px)));
    }
    .hero-iisc .partner-row img{
        max-height: 26px;
    }
}

@media (max-width: 380px) {
    .container {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    .hero {
        padding-top: max(7rem, calc(7rem + env(safe-area-inset-top, 0px)));
    }

    .hero-title {
        font-size: 1.35rem;
    }

    .btn {
        padding: 0.875rem 1.25rem;
        font-size: 0.8125rem;
    }
}