/* Final public-site responsive comfort layer.
   Loaded last so older desktop-heavy rules cannot override mobile usability. */

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

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

@media (max-width: 1024px) {
  body {
    overflow-x: hidden !important;
  }

  .site-header,
  .course-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    width: 100% !important;
    max-width: 100% !important;
    background: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: blur(14px) !important;
  }

  .hero,
  .about-section,
  .courses-section,
  .instructors,
  .stats,
  .home-testimonials,
  .faq,
  .journey,
  .news,
  .subscribe,
  .categories-section,
  .campus-hero,
  .ambassador-hero,
  .course-hero,
  .course-section,
  .roadmap-section,
  .enrollment-section,
  .mentor-section {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .hero,
  .about-section,
  .instructors,
  .faq,
  .course-hero,
  .roadmap-section,
  .enrollment-section,
  .mentor-section {
    grid-template-columns: 1fr !important;
  }

  .course-grid,
  .instructor-grid,
  .journey-features,
  .apply-cards,
  .news-grid,
  .curriculum-grid,
  .outcome-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  body {
    font-size: 14px !important;
    line-height: 1.5 !important;
    background: #ffffff !important;
  }

  .site-header {
    height: auto !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    gap: 10px !important;
    padding: 10px 12px 12px !important;
    border-bottom: 1px solid #e8e5f5 !important;
  }

  .brand {
    width: 44px !important;
    height: 44px !important;
  }

  .brand img {
    width: 82px !important;
    height: 82px !important;
  }

  .header-actions {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    gap: 8px !important;
    align-items: center !important;
  }

  .search {
    width: 100% !important;
    height: 42px !important;
    min-width: 0 !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 20px rgba(66, 50, 160, 0.08) !important;
  }

  .category-btn {
    width: 42px !important;
    flex: 0 0 42px !important;
    border-radius: 12px 0 0 12px !important;
  }

  .category-label,
  .category-btn .chev {
    display: none !important;
  }

  .search input {
    min-width: 0 !important;
    font-size: 13px !important;
  }

  .search-btn {
    width: 42px !important;
    flex: 0 0 42px !important;
  }

  .login,
  .join-us {
    min-width: 62px !important;
    height: 42px !important;
    padding: 0 10px !important;
    border-radius: 12px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
  }

  .nav {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding: 2px 0 0 !important;
    scrollbar-width: none !important;
  }

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

  .nav a {
    flex: 0 0 auto !important;
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    background: #f4f2ff !important;
    color: #272044 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
  }

  .nav a::after {
    display: none !important;
  }

  .hero,
  .about-section,
  .courses-section,
  .instructors,
  .stats,
  .home-testimonials,
  .faq,
  .journey,
  .news,
  .subscribe,
  .categories-section,
  .campus-hero,
  .ambassador-hero {
    min-height: 0 !important;
    padding: 28px 14px !important;
  }

  .hero {
    gap: 16px !important;
  }

  .hero-copy,
  .about-copy,
  .instructor-copy,
  .faq-copy,
  .section-title,
  .section-heading,
  .ambassador-copy,
  .campus-hero .ambassador-copy {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 0 16px !important;
    text-align: left !important;
  }

  .hero-copy h1,
  .hero-copy .job-headline,
  .about-copy h2,
  .instructor-copy h2,
  .faq-copy h2,
  .section-title h2,
  .section-heading h2,
  .ambassador-copy h1,
  .campus-hero .ambassador-copy h1 {
    font-size: clamp(27px, 9vw, 38px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.03em !important;
    margin: 8px 0 !important;
  }

  .hero-copy p,
  .about-copy p,
  .instructor-copy p,
  .faq-copy p,
  .section-title p,
  .section-heading p {
    max-width: none !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
  }

  .hero-buttons,
  .course-toolbar,
  .tabs,
  .course-hero-actions {
    width: 100% !important;
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding-bottom: 4px !important;
    scrollbar-width: none !important;
  }

  .hero-buttons .btn,
  .tabs button,
  .primary-action,
  .secondary-action {
    flex: 0 0 auto !important;
    min-height: 42px !important;
  }

  .hero-art,
  .hero-3d-stage,
  .skill-map,
  .video-blob,
  .faq-art {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 260px !important;
    max-height: 320px !important;
    margin: 0 !important;
    transform: none !important;
  }

  .map-card {
    width: min(100%, 270px) !important;
    min-height: 0 !important;
    padding: 18px !important;
    border-radius: 18px !important;
  }

  .map-card h2 {
    font-size: 22px !important;
    line-height: 1.1 !important;
  }

  .map-card p {
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  .map-chip,
  .map-tag,
  .scribble,
  .hero::after,
  .faq-float-chip {
    display: none !important;
  }

  .category-carousel,
  .category-track {
    width: 100% !important;
    max-width: 100% !important;
  }

  .category-track {
    gap: 12px !important;
    overflow-x: auto !important;
    padding: 0 0 8px !important;
  }

  .category-item {
    flex: 0 0 118px !important;
    min-height: 118px !important;
    padding: 12px 8px !important;
    border-radius: 18px !important;
  }

  .course-grid,
  .instructor-grid,
  .journey-features,
  .apply-cards,
  .news-grid,
  .curriculum-grid,
  .outcome-grid,
  .stats {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    min-height: 0 !important;
  }

  .course-card {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 12px !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 24px rgba(38, 31, 84, .08) !important;
  }

  .course-visual {
    flex: 0 0 122px !important;
    height: 122px !important;
    border-radius: 14px !important;
  }

  .course-visual img {
    right: 0 !important;
    width: 70% !important;
  }

  .course-visual-tag,
  .course-visual-chip {
    left: 11px !important;
    max-width: 92px !important;
    padding: 5px 8px !important;
    font-size: 8px !important;
    box-shadow: 2px 2px 0 rgba(17, 16, 34, .72) !important;
  }

  .course-visual-tag {
    top: 12px !important;
  }

  .course-visual-chip {
    top: 40px !important;
  }

  .course-meta {
    margin: 9px 0 7px !important;
  }

  .course-card h3 {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 7px !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    -webkit-line-clamp: 2 !important;
  }

  .course-card p {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 10px !important;
    font-size: 10px !important;
  }

  .course-bottom {
    margin-top: 0 !important;
  }

  .course-bottom a {
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 14px !important;
  }

  .course-bottom strong {
    font-size: 14px !important;
  }

  .instructor-grid article {
    display: grid !important;
    grid-template-columns: 78px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: center !important;
    min-height: 0 !important;
    padding: 12px !important;
    border: 1px solid #eeeaf8 !important;
    border-radius: 18px !important;
    background: #fff !important;
  }

  .instructor-grid .avatar-lg,
  .instructor-grid img {
    width: 78px !important;
    height: 78px !important;
    object-fit: contain !important;
  }

  .flying-review-row {
    animation: none !important;
    transform: none !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .flying-review-card {
    width: 100% !important;
    min-width: 0 !important;
  }

  .home-testimonials {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
    background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
  }

  .home-testimonials::before,
  .flying-reviews::before,
  .flying-reviews::after,
  .flying-review-card::before {
    display: none !important;
    content: none !important;
  }

  .flying-reviews {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: grid !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    cursor: default !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }

  .flying-review-row,
  .flying-review-row.reverse {
    width: 100% !important;
    min-width: 0 !important;
    display: contents !important;
    animation: none !important;
    transform: none !important;
  }

  .flying-review-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    display: grid !important;
    gap: 14px !important;
    padding: 18px !important;
    overflow: visible !important;
    border: 1px solid #e6eaf5 !important;
    border-radius: 20px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 28px rgba(31, 42, 90, 0.08) !important;
    transform: none !important;
  }

  .flying-review-card:nth-of-type(n + 7) {
    display: none !important;
  }

  .flying-review-card.pink,
  .flying-review-card.blue,
  .flying-review-card:nth-child(even) {
    background: #ffffff !important;
  }

  .stars {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    color: #f5b400 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .stars span {
    flex: 0 0 auto !important;
    padding: 5px 8px !important;
    border-radius: 999px !important;
    background: #eef2ff !important;
    color: #3b66f5 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
  }

  .flying-review-card p {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    color: #202033 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
    display: block !important;
  }

  .review-author {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
    margin-top: 0 !important;
  }

  .review-author b {
    width: 46px !important;
    height: 46px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: #3468ef !important;
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 900 !important;
  }

  .review-author span {
    min-width: 0 !important;
  }

  .review-author strong,
  .review-author small {
    display: block !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  .review-author strong {
    color: #171631 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
  }

  .review-author small {
    margin-top: 3px !important;
    color: #74758a !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
  }

  .simple-footer,
  .footer,
  footer {
    padding: 28px 14px !important;
  }
}

@media (max-width: 380px) {
  .header-actions {
    grid-template-columns: minmax(0, 1fr) 62px 62px !important;
  }

  .login,
  .join-us {
    min-width: 0 !important;
    padding: 0 7px !important;
    font-size: 10px !important;
  }

  .course-visual {
    flex-basis: 108px !important;
    height: 108px !important;
  }
}

/* Final cleanup for the latest mobile recording. */
@media (max-width: 720px) {
  .reveal,
  .reveal.from-left,
  .reveal.from-right,
  .reveal.zoom-in,
  .scroll-up .reveal,
  .scroll-up .reveal.from-left,
  .scroll-up .reveal.from-right {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }

  .hero {
    display: block !important;
    padding: 22px 16px 28px !important;
    overflow: hidden !important;
  }

  .hero-copy {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
  }

  .hero-copy h1,
  .hero-copy .job-headline {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-indent: 0 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  .hero-copy p {
    width: 100% !important;
    margin-top: 14px !important;
  }

  .hero-buttons {
    margin-top: 16px !important;
  }

  .hero-buttons .btn.primary {
    width: 100% !important;
    justify-content: center !important;
  }

  .categories-section {
    padding-top: 28px !important;
  }

  .category-carousel {
    display: block !important;
    padding: 14px !important;
    border-radius: 22px !important;
    background: linear-gradient(135deg, #fbfaff, #effffc) !important;
  }

  .category-carousel .arrow,
  .category-carousel .side-arrow {
    display: none !important;
  }

  .category-track,
  .category-carousel {
    overflow: visible !important;
  }

  .category-track,
  .category-carousel:not(:has(.category-track)) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .category-carousel > .category-item {
    width: auto !important;
    min-width: 0 !important;
  }

  .category-item {
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 104px !important;
    padding: 10px 6px !important;
    border-radius: 16px !important;
  }

  .category-item h3 {
    font-size: 10px !important;
    line-height: 1.18 !important;
    overflow-wrap: anywhere !important;
  }

  .category-item p {
    font-size: 10px !important;
  }

  .category-item .cat-icon,
  .cat-icon {
    width: 54px !important;
    height: 54px !important;
    margin-bottom: 8px !important;
  }

  .video-blob {
    min-height: 220px !important;
    max-height: 260px !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
  }

  .about-main {
    width: min(76vw, 260px) !important;
    max-height: 230px !important;
    object-fit: contain !important;
  }

  .about-shape {
    width: min(92vw, 330px) !important;
    height: auto !important;
  }

  .student-group {
    max-width: 92px !important;
  }

  .home-testimonials .section-title {
    margin-bottom: 12px !important;
  }

  .flying-review-row.reverse {
    display: none !important;
  }

  .flying-review-row:not(.reverse) .flying-review-card:nth-of-type(n + 5) {
    display: none !important;
  }

  .faq {
    padding-top: 28px !important;
  }

  .faq-art {
    display: none !important;
  }

  .faq-copy {
    margin-bottom: 0 !important;
  }

  .accordion details {
    padding: 14px 0 !important;
  }

  .accordion summary {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  .accordion p {
    font-size: 12px !important;
    line-height: 1.55 !important;
  }
}

@supports not selector(:has(*)) {
  @media (max-width: 720px) {
    .category-carousel {
      display: grid !important;
      grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
  }
}
