@media (max-width: 1199.98px) {
    .desktop-nav.d-lg-grid { display: none !important; }
    .mobile-nav.d-lg-none { display: flex !important; min-height: 64px; }
    .nav-is-sticky .site-header::after { height: 64px; }
    .nav-side { gap: .1rem; }
    .nav-link { padding-inline: .3rem; font-size: 16px; }
    .desktop-nav .btn-sm { padding-inline: .75rem; }
    .mega-menu { left: -94px; width: calc(100vw - 3rem); }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-about { grid-row: span 2; }
    .facility-grid { grid-template-columns: repeat(2,1fr); }
    .learning-timeline { grid-template-columns: repeat(2,1fr); }
    .community-grid { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 991.98px) {
    .announcement-inner { gap: .6rem; }
    .announcement-main { font-size: .75rem; }
    .announcement-date { font-size: .78rem; }
    .announcement-button { padding: .28rem .7rem; font-size: .68rem; }
    .min-vh-75 { min-height: 620px; }
    .hero-section { text-align: center; }
    .hero-content .d-flex { justify-content: center; }
    .hero-lead { margin-inline: auto; }
    .trust-strip .col-6:nth-child(2) { border-right: 0; }
    .trust-strip .col-6:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.14); }
    .stats-grid { grid-template-columns: repeat(2,1fr); }
    .stats-grid div:nth-child(2) { border-right: 0; }
    .mission-panel { grid-template-columns: 1fr; }
    .mission-gallery { width: min(100%,650px); margin-inline: auto; }
    .category-grid, .healing-grid { grid-template-columns: repeat(2,1fr); }
    .platform-inner { grid-template-columns: repeat(2,1fr); }
    .platform-inner > span { grid-column: 1/-1; margin-bottom: .5rem; text-align: center; }
    .detailed-course, .detailed-course.is-reversed { grid-template-columns: 1fr; }
    .detailed-course.is-reversed .course-art, .detailed-course.is-reversed .detailed-course-copy { grid-column: 1; grid-row: auto; }
    .course-art { width: min(100%,570px); margin-inline: auto; }
    .reach-layout { grid-template-columns: 1fr; }
    .reach-map-wrap, .reach-map-wrap iframe { min-height: 480px; }
    .ayurveda-panel { grid-template-columns: 1fr; }
    .ayurveda-visual { min-height: 600px; }
    .retreat-layout { grid-template-columns: 1fr; }
    .retreat-cards { max-width: 760px; margin-inline: auto; }
    .online-panel { grid-template-columns: 1fr; }
    .online-visual { width: min(100%,700px); margin-inline: auto; }
    .teacher-carousel-track { grid-auto-columns: calc((100% - 1rem)/2); }
    .moments-grid { grid-template-columns: 1fr 1fr; }
    .yoga-masonry-gallery { grid-template-columns: repeat(4,1fr); grid-auto-rows: 165px; }
    .yoga-gallery-item:nth-child(3),.yoga-gallery-item:nth-child(6),.yoga-gallery-item:nth-child(9),.yoga-gallery-item:nth-child(15) { grid-column: span 1; }
    .moments-grid .moment-card:first-child { grid-column: 1/-1; }
    .testimonial-scroll { grid-auto-columns: calc((100% - 1rem)/2); }
    .community-scroll,.reels-scroll { grid-auto-columns: calc((100% - 2rem)/3); }
}

@media (max-width: 767.98px) {
    .footer-grid { grid-template-columns: 1fr; }
    .footer-about { grid-row: auto; }
    .footer-column { padding-top: 0; }
    .footer-bottom .container { justify-content: center !important; text-align: center; }
    .category-grid, .healing-grid, .benefit-grid, .learning-timeline { grid-template-columns: 1fr; }
    .date-row { grid-template-columns: 1fr 1fr; }
    .date-row a { justify-content: flex-start; }
    .facility-grid { grid-template-columns: 1fr; }
    .facility-carousel-track figure,.facility-carousel-track img { min-height: 300px; }
    .facility-grid article { min-height: 360px; }
    .online-copy ul { grid-template-columns: 1fr; }
    .community-grid { grid-template-columns: repeat(2,1fr); }
    .testimonial-intro { padding-right: 0; }
    .community-scroll,.reels-scroll { grid-auto-columns: calc((100% - 1rem)/2); }
}

@media (max-width: 575.98px) {
    :root { --body-font-size: 15px; --section-space: 2.75rem; }
    .announcement-bar { padding: .42rem 2.7rem .42rem .25rem; }
    .announcement-inner { display: grid; grid-template-columns: 1fr auto; gap: 0 .5rem; text-align: left; }
    .announcement-main { font-size: .65rem; }
    .announcement-date { grid-column: 1; font-size: .67rem; }
    .announcement-button { grid-column: 2; grid-row: 1 / span 2; }
    .announcement-close { right: .45rem; width: 27px; height: 27px; }
    .mobile-nav { min-height: 60px; padding-inline: .5rem; }
    .nav-is-sticky .site-header::after { height: 60px; }
    .mobile-nav > .btn { padding: .55rem .75rem; font-size: .72rem; }
    .brand-mobile img { width: 90px; }
    .hero-section { min-height: calc(100vh - 112px); }
    .min-vh-75 { min-height: calc(100vh - 112px); padding-block: 4rem; }
    .hero-content h1 { font-size: clamp(2.6rem, 13vw, 4rem); }
    .hero-content .btn { width: 100%; }
    .trust-strip .col-6 { min-height: 92px; }
    .section-heading { align-items: flex-start !important; }
    .site-footer { padding-top: 3rem; }
    .footer-about { padding: 1.6rem 1.25rem; }
    .footer-column h2 { font-size: 1.45rem; }
    .footer-tags { justify-content: flex-start; margin-block: 2rem; }
    .footer-legal { justify-content: center; row-gap: .4rem; }
    .hero-carousel, .hero-carousel .carousel-item, .hero-slide-content { min-height: 640px; }
    .hero-slide-content { text-align: center; }
    .hero-overlay { background: rgba(39,9,21,.69); }
    .hero-kicker { justify-content: center; }
    .hero-actions { justify-content: center; }
    .hero-actions .btn { width: 100%; }
    .stats-grid div { min-height: 92px; padding: .8rem; text-align: center; }
    .temple-visual { width: 100%; margin-top: 2.7rem; padding: 7px; }
    .temple-finial { top: -2rem; width: 48px; height: 48px; font-size: 1.35rem; }
    .experience-seal { right: .5rem; bottom: -1rem; width: 130px; height: 130px; }
    .mission-gallery { min-height: 455px; padding: .6rem 1.6rem 2rem 0; }
    .mission-image-primary,.mission-image-primary img { min-height: 420px; }
    .mission-image-secondary { width: 45%; }
    .mission-emblem { top: .2rem; right: -.2rem; width: 98px; height: 98px; padding: .65rem; }
    .mission-emblem strong { font-size: 1.4rem; }
    .mission-emblem span { font-size: 10px; }
    .mission-values { grid-template-columns: 1fr; }
    .detailed-course { padding: 1rem; border-radius: 1.25rem; }
    .course-art { min-height: 420px; padding: .7rem; }
    .course-art-frame, .course-art-frame img { min-height: 390px; }
    .course-inclusions { grid-template-columns: 1fr; }
    .room-prices { grid-template-columns: 1fr; }
    .room-prices span { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
    .room-prices span:last-child { border-bottom: 0; }
    .course-actions { align-items: stretch; flex-direction: column; text-align: center; }
    .reach-item { grid-template-columns: 52px 1fr; padding: .85rem; }
    .reach-icon { width: 48px; height: 50px; font-size: 1.2rem; }
    .reach-help { grid-template-columns: auto 1fr; }
    .reach-help a { grid-column: 1/-1; justify-content: center; padding-top: .55rem; border-top: 1px solid rgba(255,255,255,.13); }
    .reach-map-wrap, .reach-map-wrap iframe { min-height: 420px; }
    .ayurveda-panel { border-radius: 1.25rem; }
    .ayurveda-copy { padding: 1.3rem; }
    .ayurveda-highlights { grid-template-columns: 1fr; }
    .ayurveda-visual { min-height: 510px; padding-inline: 1rem; }
    .ayurveda-quote { top: 1rem; right: 1rem; left: 1rem; }
    .date-row { grid-template-columns: 1fr; }
    .platform-inner { grid-template-columns: 1fr 1fr; }
    .platform-inner > div { text-align: center; }
    .source-section { background-attachment: scroll; }
    .retreat-cards { grid-template-columns: 1fr; }
    .retreat-card,.retreat-card:nth-child(2) { min-height: 520px; margin-top: 0; }
    .retreat-experiences { grid-template-columns: 1fr; }
    .online-panel { padding: 1rem; border-radius: 1.25rem; }
    .online-visual { padding: 1.8rem .25rem; }
    .online-device-screen img { min-height: 390px; }
    .online-facts { grid-template-columns: 1fr; }
    .online-actions { align-items: stretch; flex-direction: column; text-align: center; }
    .online-card-top { right: -.35rem; }
    .online-card-bottom { left: -.35rem; }
    .teacher-carousel-track { grid-auto-columns: 88%; }
    .moments-grid { grid-template-columns: 1fr; }
    .moments-grid .moment-card:first-child { grid-column: auto; }
    .moment-card img { min-height: 260px; }
    .yoga-masonry-gallery { grid-template-columns: repeat(3,1fr); grid-auto-rows: 125px; gap: .45rem; }
    .yoga-gallery-item:nth-child(n) { grid-column: span 1; grid-row: span 1; }
    .yoga-gallery-item { border-radius: .55rem; }
    .yoga-gallery-caption { right: .45rem; bottom: .45rem; left: .45rem; }
    .yoga-gallery-caption small { display: none; }
    .yoga-gallery-caption strong { display: -webkit-box; overflow: hidden; font-family: var(--body-font); font-size: 10px; line-height: 1.2; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
    .yoga-gallery-zoom { top: .35rem; right: .35rem; width: 27px; height: 27px; border-width: 2px; font-size: .95rem; opacity: 1; transform: none; }
    .yoga-gallery-modal-stage { grid-template-columns: 44px 1fr 44px; min-height: 65vh; padding: .5rem; }
    .gallery-modal-prev,.gallery-modal-next { width: 38px; height: 38px; }
    .teacher-card div { right: .35rem; bottom: .35rem; left: .35rem; padding: .65rem; }
    .teacher-card h3 { font-size: 1rem; }
    .blog-section .section-heading { display: block !important; }
    .testimonial-scroll,.community-scroll { grid-auto-columns: 88%; }
    .reels-scroll { grid-auto-columns: 78%; }
    .instagram-track a { width: 190px; }
    .facility-content { grid-template-columns: 1fr; }
    .facility-number { width: 48px; height: 48px; }
    .facility-carousel-track figure,.facility-carousel-track img { min-height: 300px; }
    .popup-enquiry-form { grid-template-columns: 1fr; padding: 1.25rem; }
    .popup-submit,.popup-form-note { grid-column: 1; }
    .enquiry-popup-head { grid-template-columns: 48px 1fr; gap: .7rem; padding: 1.15rem 3.6rem 1.15rem 1.1rem; }
    .enquiry-popup-head > span { width: 46px; height: 46px; font-size: 1.25rem; }
    .enquiry-popup-head p { font-size: 14px !important; }
    .veda-popup-close { top: .55rem; right: .55rem; width: 38px; height: 38px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
