/* 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,
  .future-section,
  .about-section,
  .courses-section,
  .launchpad-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,
  .future-section,
  .about-section,
  .launchpad-section,
  .instructors,
  .faq,
  .course-hero,
  .roadmap-section,
  .enrollment-section,
  .mentor-section {
    grid-template-columns: 1fr !important;
  }

  .course-grid,
  .launchpad-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: 122px !important;
    height: 44px !important;
  }

  .brand img {
    width: 132px !important;
    height: auto !important;
    max-height: 52px !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;
  }

  .launchpad-page .header-actions {
    grid-template-columns: auto auto !important;
    justify-content: start !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,
  .future-section,
  .about-section,
  .courses-section,
  .launchpad-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,
  .future-copy,
  .launchpad-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,
  .future-copy h2,
  .launchpad-copy h3,
  .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,
  .future-copy p,
  .launchpad-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: cover !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: flex !important;
    min-height: 0 !important;
    padding: 14px 0 !important;
    border-radius: 24px !important;
    background: linear-gradient(135deg, #fbfaff, #effffc) !important;
  }

  .category-carousel .arrow,
  .category-carousel .side-arrow {
    display: none !important;
  }

  .category-track,
  .category-carousel {
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  .category-track,
  .category-carousel:not(:has(.category-track)) {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 14px !important;
    padding: 4px 14px 12px !important;
  }

  .category-carousel > .category-item {
    width: auto !important;
    min-width: 0 !important;
  }

  .category-item {
    flex: none !important;
    width: 196px !important;
    min-width: 196px !important;
    min-height: 238px !important;
    padding: 14px !important;
    border-radius: 22px !important;
  }

  .category-item h3 {
    min-height: 44px !important;
    margin-bottom: 14px !important;
    font-size: 17px !important;
    line-height: 1.18 !important;
    overflow-wrap: normal !important;
  }

  .category-art {
    width: 146px !important;
    height: 98px !important;
    margin-bottom: 14px !important;
  }

  .category-count {
    margin-bottom: 11px !important;
    font-size: 9px !important;
  }

  .category-explore {
    min-height: 40px !important;
    font-size: 12px !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: cover !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: flex !important;
      grid-template-columns: none !important;
    }
  }
}

/* Final mobile comfort override: this must be the last homepage mobile block. */
@media (max-width: 640px) {
  body:has(.hero#home) .site-header {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px 10px !important;
    padding: max(10px, env(safe-area-inset-top)) 14px 10px !important;
  }

  body:has(.hero#home) .site-header::before {
    content: none !important;
  }

  body:has(.hero#home) .site-header .brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  body:has(.hero#home) .site-header .join-us {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 70px !important;
    min-height: 36px !important;
  }

  body:has(.hero#home) .site-header .nav {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    width: 100% !important;
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding: 2px 0 0 !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
  }

  body:has(.hero#home) .site-header .nav::-webkit-scrollbar {
    display: none !important;
  }

  body:has(.hero#home) .site-header .nav a {
    min-height: 34px !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    background: #f1f6ff !important;
    color: #17345f !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }

  body:has(.hero#home) .site-header .nav a.active {
    background: #0865d8 !important;
    color: #fff !important;
  }

  body:has(.hero#home) .site-header .login {
    display: none !important;
  }

  body:has(.hero#home) .course-grid,
  body:has(.hero#home) .pcat-overflow-mask,
  body:has(.hero#home) .tabs {
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
    scrollbar-width: none !important;
  }

  body:has(.hero#home) .course-grid::-webkit-scrollbar,
  body:has(.hero#home) .pcat-overflow-mask::-webkit-scrollbar,
  body:has(.hero#home) .tabs::-webkit-scrollbar {
    display: none !important;
  }

  body:has(.hero#home) .pcat-wrap {
    width: min(74vw, 252px) !important;
    flex-basis: min(74vw, 252px) !important;
    min-height: 312px !important;
  }

  body:has(.hero#home) .pcat-glass {
    min-height: 312px !important;
  }

  body:has(.hero#home) .course-card {
    flex: 0 0 min(84vw, 340px) !important;
  }

  body:has(.hero#home) .future-section,
  body:has(.hero#home) .about-section,
  body:has(.hero#home) .launchpad-section,
  body:has(.hero#home) .subscribe,
  body:has(.hero#home) .instructors,
  body:has(.hero#home) .home-testimonials,
  body:has(.hero#home) .faq,
  body:has(.hero#home) .journey,
  body:has(.hero#home) .news,
  body:has(.hero#home) .stats {
    width: calc(100% - 28px) !important;
    margin-inline: auto !important;
  }
}

/* Mobile comfort v2: keep controls real, tappable, and stable. */
@media (max-width: 640px) {
  html {
    scroll-padding-top: 104px !important;
  }

  body {
    min-width: 0 !important;
    overflow-x: hidden !important;
    -webkit-tap-highlight-color: rgba(8, 101, 216, .12) !important;
  }

  button,
  a,
  input,
  select,
  textarea {
    touch-action: manipulation !important;
  }

  body:has(.hero#home) .site-header {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px 10px !important;
    padding: max(10px, env(safe-area-inset-top)) 14px 10px !important;
  }

  body:has(.hero#home) .site-header::before {
    content: none !important;
  }

  body:has(.hero#home) .site-header .brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
  }

  body:has(.hero#home) .site-header .join-us {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 70px !important;
    min-height: 36px !important;
  }

  body:has(.hero#home) .site-header .nav {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    width: 100% !important;
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain !important;
    padding: 2px 0 0 !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
  }

  body:has(.hero#home) .site-header .nav::-webkit-scrollbar {
    display: none !important;
  }

  body:has(.hero#home) .site-header .nav a {
    min-height: 34px !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    background: #f1f6ff !important;
    color: #17345f !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    scroll-snap-align: start !important;
    white-space: nowrap !important;
  }

  body:has(.hero#home) .site-header .nav a.active {
    background: #0865d8 !important;
    color: #fff !important;
  }

  body:has(.hero#home) .site-header .search {
    grid-row: 2 !important;
    min-height: 46px !important;
  }

  body:has(.hero#home) .site-header .category-btn,
  body:has(.hero#home) .site-header .search-btn {
    min-height: 44px !important;
  }

  body:has(.hero#home) .site-header .search input {
    min-height: 44px !important;
    padding-inline: 4px !important;
  }

  body:has(.hero#home) main {
    gap: 18px !important;
  }

  body:has(.hero#home) .hero {
    padding: 34px 18px 24px !important;
  }

  body:has(.hero#home) .hero-copy::before {
    min-height: 30px !important;
    margin-bottom: 14px !important;
  }

  body:has(.hero#home) .hero-buttons .btn {
    min-height: 50px !important;
    box-shadow: 0 14px 28px rgba(8, 101, 216, .18) !important;
  }

  body:has(.hero#home) .hero-buttons .btn.yellow {
    min-height: 38px !important;
    box-shadow: none !important;
  }

  body:has(.hero#home) .future-section,
  body:has(.hero#home) .about-section,
  body:has(.hero#home) .launchpad-section,
  body:has(.hero#home) .subscribe,
  body:has(.hero#home) .instructors,
  body:has(.hero#home) .home-testimonials,
  body:has(.hero#home) .faq,
  body:has(.hero#home) .journey,
  body:has(.hero#home) .news,
  body:has(.hero#home) .stats {
    width: calc(100% - 28px) !important;
    margin-inline: auto !important;
    border-radius: 24px !important;
    box-shadow: 0 12px 34px rgba(15, 45, 91, .07) !important;
  }

  body:has(.hero#home) .future-section,
  body:has(.hero#home) .about-section,
  body:has(.hero#home) .launchpad-section,
  body:has(.hero#home) .subscribe,
  body:has(.hero#home) .instructors,
  body:has(.hero#home) .faq,
  body:has(.hero#home) .journey,
  body:has(.hero#home) .news {
    padding: 26px 18px !important;
  }

  body:has(.hero#home) .pcat-overflow-mask,
  body:has(.hero#home) .course-grid,
  body:has(.hero#home) .tabs,
  body:has(.hero#home) .course-tab-shell .tabs {
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
    scrollbar-width: none !important;
  }

  body:has(.hero#home) .pcat-overflow-mask::-webkit-scrollbar,
  body:has(.hero#home) .course-grid::-webkit-scrollbar,
  body:has(.hero#home) .tabs::-webkit-scrollbar,
  body:has(.hero#home) .course-tab-shell .tabs::-webkit-scrollbar {
    display: none !important;
  }

  body:has(.hero#home) .pcat-wrap {
    width: min(74vw, 252px) !important;
    flex-basis: min(74vw, 252px) !important;
    min-height: 312px !important;
  }

  body:has(.hero#home) .pcat-glass {
    min-height: 312px !important;
    padding: 12px 12px 14px !important;
  }

  body:has(.hero#home) .pcat-art-wrap {
    height: 154px !important;
    margin-bottom: 18px !important;
  }

  body:has(.hero#home) .pcat-glass h3 {
    min-height: 48px !important;
    max-height: 48px !important;
    font-size: 16px !important;
  }

  body:has(.hero#home) .pcat-btn {
    min-height: 34px !important;
    padding-inline: 14px !important;
  }

  body:has(.hero#home) .tabs button {
    min-height: 36px !important;
    padding-inline: 14px !important;
  }

  body:has(.hero#home) .course-card {
    flex-basis: min(84vw, 340px) !important;
  }

  body:has(.hero#home) .course-meta {
    gap: 8px !important;
  }

  body:has(.hero#home) .course-meta span {
    max-width: 58% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body:has(.hero#home) .course-bottom {
    min-height: 44px !important;
    align-items: center !important;
  }

  body:has(.hero#home) .launchpad-plan-grid,
  body:has(.hero#home) .journey-features,
  body:has(.hero#home) .apply-cards,
  body:has(.hero#home) .news-grid,
  body:has(.hero#home) .instructor-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body:has(.hero#home) .launchpad-plan-card,
  body:has(.hero#home) .journey-features article,
  body:has(.hero#home) .apply-cards article,
  body:has(.hero#home) .news-grid article {
    min-height: 0 !important;
    border-radius: 20px !important;
  }

  body:has(.hero#home) .subscribe {
    display: grid !important;
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }

  body:has(.hero#home) .subscribe-person {
    display: none !important;
  }

  body:has(.hero#home) .subscribe-form {
    justify-content: center !important;
  }

  body:has(.hero#home) .subscribe-form .whatsapp-join {
    width: 100% !important;
    max-width: 320px !important;
    min-height: 46px !important;
  }

  body:has(.hero#home) .flying-reviews {
    overflow: hidden !important;
  }

  body:has(.hero#home) .flying-review-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    animation: none !important;
    transform: none !important;
  }

  body:has(.hero#home) .flying-review-card {
    width: 100% !important;
    min-width: 0 !important;
  }

  body:has(.hero#home) .simple-footer {
    border-radius: 26px 26px 0 0 !important;
    padding-bottom: calc(44px + env(safe-area-inset-bottom)) !important;
  }

  body:has(.hero#home) .footer-quick-pages,
  body:has(.hero#home) .footer-policy-links {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px 14px !important;
  }

  body:has(.hero#home) .footer-quick-pages a,
  body:has(.hero#home) .footer-policy-links a {
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  body:has(.hero#home) .whatsapp-float {
    right: 14px !important;
    bottom: calc(14px + env(safe-area-inset-bottom)) !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
  }
}

@media (max-width: 390px) {
  body:has(.hero#home) .site-header .brand img {
    width: 118px !important;
  }

  body:has(.hero#home) .site-header .join-us {
    min-width: 62px !important;
    padding-inline: 10px !important;
  }

  body:has(.hero#home) .hero-copy h1,
  body:has(.hero#home) .hero-copy .job-headline {
    font-size: 27px !important;
  }

  body:has(.hero#home) .pcat-wrap {
    width: 78vw !important;
    flex-basis: 78vw !important;
  }
}

/* Homepage mobile app-style polish. Scoped so desktop and LMS pages stay unchanged. */
@media (max-width: 640px) {
  body:has(.hero#home) {
    background: #f6f8fc !important;
  }

  body:has(.hero#home) main {
    display: grid !important;
    gap: 16px !important;
  }

  body:has(.hero#home) .site-header {
    min-height: 64px !important;
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 14px !important;
    border-bottom: 1px solid rgba(21, 20, 45, .08) !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 10px 30px rgba(21, 20, 45, .06) !important;
  }

  body:has(.hero#home) .site-header::before {
    content: "\2630" !important;
    grid-column: 1 !important;
    width: 34px !important;
    height: 34px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 12px !important;
    color: #0b66d8 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    background: #eef5ff !important;
  }

  body:has(.hero#home) .site-header .brand {
    grid-column: 2 !important;
    width: auto !important;
    height: 38px !important;
    justify-self: start !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  body:has(.hero#home) .site-header .brand img {
    width: 132px !important;
    max-height: 36px !important;
    object-fit: cover !important;
  }

  body:has(.hero#home) .site-header .nav,
  body:has(.hero#home) .site-header .login {
    display: none !important;
  }

  body:has(.hero#home) .site-header .header-actions {
    display: contents !important;
  }

  body:has(.hero#home) .site-header .join-us {
    position: static !important;
    grid-column: 3 !important;
    width: auto !important;
    min-width: 68px !important;
    height: 34px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    background: #0865d8 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
  }

  body:has(.hero#home) .site-header .search {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    height: 46px !important;
    margin-top: 6px !important;
    border: 1px solid rgba(21, 20, 45, .10) !important;
    border-radius: 14px !important;
    background: #f9fbff !important;
    box-shadow: none !important;
  }

  body:has(.hero#home) .site-header .category-btn,
  body:has(.hero#home) .site-header .search-btn {
    width: 44px !important;
    flex-basis: 44px !important;
  }

  body:has(.hero#home) .site-header .search input {
    font-size: 12px !important;
  }

  body:has(.hero#home) .hero {
    width: calc(100% - 28px) !important;
    margin: 14px auto 0 !important;
    min-height: 0 !important;
    padding: 42px 18px 28px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    border-radius: 28px !important;
    background:
      radial-gradient(circle at 18% 0%, rgba(8, 101, 216, .12), transparent 34%),
      linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    box-shadow: 0 18px 44px rgba(15, 45, 91, .10) !important;
    overflow: hidden !important;
  }

  body:has(.hero#home) .hero .scribble,
  body:has(.hero#home) .hero-art {
    display: none !important;
  }

  body:has(.hero#home) .hero-copy {
    margin: 0 !important;
    text-align: center !important;
  }

  body:has(.hero#home) .hero-copy::before {
    content: "New Cohort Starts in 3 Days" !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 28px !important;
    padding: 0 12px !important;
    margin-bottom: 16px !important;
    border-radius: 999px !important;
    background: #fff4ce !important;
    color: #8a5a00 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
  }

  body:has(.hero#home) .hero-copy h1,
  body:has(.hero#home) .hero-copy .job-headline {
    max-width: 310px !important;
    margin: 0 auto 14px !important;
    color: #06152e !important;
    font-size: clamp(27px, 8.5vw, 34px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.02em !important;
  }

  body:has(.hero#home) .hero-copy mark {
    color: #0865d8 !important;
    background: transparent !important;
  }

  body:has(.hero#home) .hero-copy p {
    max-width: 310px !important;
    margin: 0 auto 22px !important;
    color: #526174 !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
    overflow-wrap: normal !important;
  }

  body:has(.hero#home) .hero-buttons {
    display: grid !important;
    gap: 12px !important;
    max-width: 340px !important;
    margin: 0 auto !important;
  }

  body:has(.hero#home) .hero-buttons .btn {
    width: 100% !important;
    min-height: 52px !important;
    border-radius: 999px !important;
    justify-content: center !important;
    font-size: 12px !important;
  }

  body:has(.hero#home) .hero-buttons .btn.yellow {
    min-height: 32px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #0865d8 !important;
  }

  body:has(.hero#home) .hero-copy::after {
    content: "15k+ Success Stories  \A  94% Placement Rate" !important;
    white-space: pre !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    max-width: 340px !important;
    margin: 28px auto 0 !important;
    padding: 0 !important;
    color: #06152e !important;
    font-size: 13px !important;
    font-weight: 800 !important;
  }

  body:has(.hero#home) .future-section,
  body:has(.hero#home) .about-section,
  body:has(.hero#home) .launchpad-section,
  body:has(.hero#home) .subscribe,
  body:has(.hero#home) .instructors,
  body:has(.hero#home) .home-testimonials,
  body:has(.hero#home) .faq,
  body:has(.hero#home) .journey,
  body:has(.hero#home) .news {
    width: calc(100% - 28px) !important;
    margin-inline: auto !important;
    border-radius: 24px !important;
    background: #fff !important;
  }

  body:has(.hero#home) .categories-section,
  body:has(.hero#home) .courses-section {
    width: 100% !important;
    padding: 30px 0 10px !important;
    background: transparent !important;
  }

  body:has(.hero#home) .section-title {
    width: calc(100% - 36px) !important;
    margin: 0 auto 16px !important;
    text-align: left !important;
  }

  body:has(.hero#home) .section-title .pill {
    display: none !important;
  }

  body:has(.hero#home) .section-title h2 {
    margin: 0 0 4px !important;
    color: #06152e !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    letter-spacing: -.01em !important;
  }

  body:has(.hero#home) .section-title p {
    color: #526174 !important;
    font-size: 12px !important;
  }

  body:has(.hero#home) .pcat-overflow-mask,
  body:has(.hero#home) .category-carousel {
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    padding: 0 !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  body:has(.hero#home) .pcat-track {
    gap: 14px !important;
    padding: 4px 18px 20px !important;
    animation: none !important;
    scroll-snap-type: x mandatory !important;
  }

  body:has(.hero#home) .pcat-wrap {
    width: 232px !important;
    min-height: 308px !important;
    flex: 0 0 232px !important;
    scroll-snap-align: start !important;
  }

  body:has(.hero#home) .pcat-glass {
    min-height: 308px !important;
    border-radius: 22px !important;
    box-shadow: 0 16px 36px rgba(15, 45, 91, .10) !important;
  }

  body:has(.hero#home) .pcat-clone {
    display: none !important;
  }

  body:has(.hero#home) .course-tab-shell {
    width: 100% !important;
    margin: 0 !important;
  }

  body:has(.hero#home) .course-tab-shell .tabs,
  body:has(.hero#home) .tabs {
    width: 100% !important;
    padding: 0 18px 12px !important;
    gap: 8px !important;
    overflow-x: auto !important;
  }

  body:has(.hero#home) .tabs button {
    min-height: 34px !important;
    flex: 0 0 auto !important;
    border-radius: 999px !important;
    font-size: 11px !important;
  }

  body:has(.hero#home) .course-grid {
    width: 100% !important;
    display: flex !important;
    gap: 16px !important;
    padding: 0 18px 26px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
  }

  body:has(.hero#home) .course-card {
    flex: 0 0 82vw !important;
    max-width: 330px !important;
    min-height: 0 !important;
    padding: 10px 10px 14px !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 18px 40px rgba(15, 45, 91, .12) !important;
    scroll-snap-align: start !important;
  }

  body:has(.hero#home) .course-visual {
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    border-radius: 16px !important;
  }

  body:has(.hero#home) .course-card h3 {
    min-height: 0 !important;
    margin: 12px 4px 8px !important;
    color: #06152e !important;
    font-size: 18px !important;
    line-height: 1.22 !important;
  }

  body:has(.hero#home) .course-meta,
  body:has(.hero#home) .course-card p,
  body:has(.hero#home) .course-bottom {
    margin-inline: 4px !important;
  }

  body:has(.hero#home) .course-bottom a {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    color: transparent !important;
    font-size: 0 !important;
  }

  body:has(.hero#home) .course-bottom a::after {
    content: "\2192" !important;
    color: #fff !important;
    font-size: 17px !important;
  }

  body:has(.hero#home) .stats {
    width: calc(100% - 28px) !important;
    margin: 0 auto !important;
    padding: 16px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    border-radius: 22px !important;
    background: #fff !important;
  }

  body:has(.hero#home) .stats div {
    min-height: 82px !important;
    border-radius: 18px !important;
    background: #f6f9ff !important;
  }
}

@media (max-width: 720px) {
  .future-section,
  .launchpad-section {
    width: 100% !important;
    margin: 0 !important;
    padding: 42px 16px !important;
  }

  .future-section,
  .launchpad-hero {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .future-section::before,
  .future-card {
    display: none !important;
  }

  .future-media img {
    width: 100% !important;
    height: 236px !important;
    border: 6px solid #fff !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 42px rgba(26, 22, 58, .14) !important;
  }

  .launchpad-hero,
  .launchpad-grid {
    width: 100% !important;
  }

  .launchpad-hero {
    margin: 22px 0 18px !important;
    padding: 18px !important;
    border-radius: 22px !important;
  }

  .launchpad-detail-page .launchpad-hero {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 18px !important;
    overflow: hidden !important;
  }

  .launchpad-detail-page .launchpad-copy {
    width: calc(100vw - 112px) !important;
    max-width: calc(100vw - 112px) !important;
    min-width: 0 !important;
  }

  .launchpad-detail-page .launchpad-copy h1 {
    font-size: clamp(32px, 10vw, 42px) !important;
    line-height: 1.08 !important;
  }

  .launchpad-detail-page .launchpad-copy p {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  .launchpad-detail-page .launchpad-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .launchpad-detail-page .launchpad-actions .btn {
    width: 100% !important;
    min-width: 0 !important;
  }

  .launchpad-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .launchpad-photo,
  .launchpad-photo img {
    min-height: 210px !important;
  }

  .launchpad-trust {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 0 -14px 32px !important;
    padding: 18px 14px !important;
    text-align: center !important;
  }

  .launchpad-trust span {
    grid-column: 1 / -1 !important;
  }

  .launchpad-path,
  .launchpad-stories,
  .launchpad-support,
  .launchpad-final {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin-top: 28px !important;
  }

  .path-price-card,
  .path-tools-card,
  .launchpad-form {
    padding: 20px !important;
    border-radius: 20px !important;
  }

  .tool-pills,
  .story-cards,
  .form-grid,
  .path-metrics {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .launchpad-final {
    min-height: 0 !important;
    padding: 28px 18px !important;
  }

  .launchpad-final h3 {
    font-size: 27px !important;
  }

  .journey-features article {
    min-height: 168px !important;
    padding: 22px 18px !important;
    background: rgba(255, 255, 255, .12) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    border-radius: 20px !important;
  }

  .launchpad-plans,
  .home-plan-preview {
    padding: 34px 14px 44px !important;
    background:
      radial-gradient(circle at 12% 14%, rgba(255, 195, 41, .14), transparent 28%),
      linear-gradient(180deg, #fffaf0 0%, #ffffff 46%, #f7f9ff 100%) !important;
  }

  .launchpad-plan-heading {
    gap: 12px !important;
    margin-bottom: 24px !important;
  }

  .launchpad-plan-heading h1,
  .launchpad-plan-heading h2 {
    font-size: clamp(30px, 10vw, 42px) !important;
    line-height: 1.08 !important;
    text-align: center !important;
    color: #15142d !important;
  }

  .launchpad-plan-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .launchpad-plan-card {
    min-height: 0 !important;
    padding: 24px 22px !important;
    border-radius: 10px !important;
  }

  .launchpad-plan-card strong {
    font-size: 32px !important;
  }

  .launchpad-plan-card li {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }
}

/* Final responsive marketplace category rail */
@media (max-width: 760px) {
  .categories-section {
    padding-top: 30px !important;
  }

  .category-carousel {
    width: 100% !important;
    margin-top: 22px !important;
    padding: 10px 0 22px !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  .category-carousel::before {
    inset: 26px 10px 12px !important;
    border-radius: 28px !important;
  }

  .category-track,
  .category-carousel:not(:has(.category-track)) {
    gap: 16px !important;
    padding: 18px 18px 26px !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x proximity !important;
  }

  .category-item {
    flex: 0 0 204px !important;
    width: 204px !important;
    min-width: 204px !important;
    min-height: 236px !important;
    padding: 16px 14px 15px !important;
    overflow: hidden !important;
    overflow: clip !important;
    border-radius: 26px !important;
  }

  .category-art {
    width: 90px !important;
    height: 90px !important;
    margin-bottom: 8px !important;
    border-width: 7px !important;
  }

  .category-count {
    margin-bottom: 10px !important;
    padding: 5px 10px !important;
    font-size: 8.5px !important;
  }

  .category-item h3 {
    min-height: 40px !important;
    margin-bottom: 11px !important;
    font-size: 15px !important;
    line-height: 1.16 !important;
  }

  .category-explore {
    min-height: 38px !important;
    border-radius: 19px !important;
    font-size: 12px !important;
  }
}

/* Final deployment guardrails. Keep this block last. */
@media (max-width: 1180px) {
  .site-header {
    height: auto !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    row-gap: 10px !important;
    padding-block: 14px !important;
  }

  .site-header .brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .site-header .header-actions {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .site-header .nav {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }

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

  .search {
    width: min(330px, 48vw) !important;
    min-width: 0 !important;
  }
}

@media (max-width: 900px) {
  .site-header {
    grid-template-columns: 1fr !important;
    justify-items: start !important;
  }

  .site-header .brand,
  .site-header .header-actions,
  .site-header .nav {
    grid-column: 1 !important;
  }

  .site-header .header-actions {
    grid-row: 2 !important;
    justify-self: stretch !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    gap: 8px !important;
  }

  .site-header .nav {
    grid-row: 3 !important;
    justify-content: flex-start !important;
  }

  .launchpad-page .site-header .header-actions,
  .campus-page .site-header .header-actions {
    grid-template-columns: auto auto !important;
  }
}

@media (max-width: 760px) {
  .site-header {
    grid-template-columns: auto auto auto !important;
    justify-content: space-between !important;
    column-gap: 8px !important;
    padding: 10px 12px 12px !important;
    position: sticky !important;
    padding-top: 10px !important;
  }

  .site-header .brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .site-header .header-actions {
    display: contents !important;
  }

  .site-header .search {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }

  .site-header .login {
    position: absolute !important;
    top: 12px !important;
    right: 94px !important;
    width: 64px !important;
    min-width: 64px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 8px !important;
    border-radius: 14px !important;
  }

  .site-header .join-us {
    position: absolute !important;
    top: 12px !important;
    left: 142px !important;
    right: auto !important;
    width: 74px !important;
    min-width: 74px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 8px !important;
    border-radius: 14px !important;
    font-size: 11px !important;
  }

  .site-header .launchpad-header-cta {
    width: 74px !important;
    min-width: 74px !important;
    padding: 0 8px !important;
  }

  .site-header .nav {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    padding-top: 2px !important;
  }

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

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

  .search {
    width: 100% !important;
  }

  .hero-copy p {
    overflow-wrap: anywhere !important;
  }

  .hero-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
  }

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

  .course-grid {
    width: 100% !important;
    max-width: 100% !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;
    overflow: hidden !important;
    border-radius: 18px !important;
  }

  .course-visual {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    flex: 0 0 auto !important;
  }

  .course-visual img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    right: auto !important;
  }

  .course-card h3 {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: -webkit-box !important;
    overflow: hidden !important;
    line-height: 1.32 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  .course-card p {
    height: auto !important;
    white-space: nowrap !important;
  }

  .pcat-overflow-mask {
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    padding-bottom: 6px !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .pcat-track {
    width: max-content !important;
    display: flex !important;
    grid-template-columns: none !important;
    gap: 14px !important;
    padding: 16px 18px 28px !important;
    animation: none !important;
    scroll-snap-type: x proximity !important;
  }

  .pcat-wrap {
    width: 198px !important;
    height: auto !important;
    min-height: 292px !important;
    flex: 0 0 198px !important;
    scroll-snap-align: center !important;
  }

  .pcat-glass {
    min-height: 292px !important;
  }

  .launchpad-plan-grid {
    grid-template-columns: 1fr !important;
  }

  .launchpad-plan-card {
    min-height: 0 !important;
  }
}

/* Must remain last: homepage mobile app-style guard. */
@media (max-width: 640px) {
  body:has(.hero#home) {
    background: #f6f8fc !important;
    overflow-x: hidden !important;
  }

  body:has(.hero#home) .site-header {
    min-height: 64px !important;
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 14px !important;
    background: rgba(255, 255, 255, .96) !important;
    border-bottom: 1px solid rgba(21, 20, 45, .08) !important;
    box-shadow: 0 10px 30px rgba(21, 20, 45, .06) !important;
  }

  body:has(.hero#home) .site-header::before {
    content: "\2630" !important;
    grid-column: 1 !important;
    width: 34px !important;
    height: 34px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 12px !important;
    background: #eef5ff !important;
    color: #0b66d8 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
  }

  body:has(.hero#home) .site-header .brand {
    position: static !important;
    grid-column: 2 !important;
    width: auto !important;
    height: 38px !important;
    justify-self: start !important;
  }

  body:has(.hero#home) .site-header .brand img {
    width: 132px !important;
    max-height: 36px !important;
    object-fit: cover !important;
  }

  body:has(.hero#home) .site-header .nav,
  body:has(.hero#home) .site-header .login {
    display: none !important;
  }

  body:has(.hero#home) .site-header .header-actions {
    display: contents !important;
  }

  body:has(.hero#home) .site-header .join-us {
    position: static !important;
    grid-column: 3 !important;
    width: auto !important;
    min-width: 68px !important;
    height: 34px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    background: #0865d8 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
  }

  body:has(.hero#home) .site-header .search {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    height: 46px !important;
    margin-top: 6px !important;
    border: 1px solid rgba(21, 20, 45, .10) !important;
    border-radius: 14px !important;
    background: #f9fbff !important;
    box-shadow: none !important;
  }

  body:has(.hero#home) .hero {
    width: calc(100% - 28px) !important;
    margin: 14px auto 0 !important;
    min-height: 0 !important;
    padding: 42px 18px 28px !important;
    border-radius: 28px !important;
    background: radial-gradient(circle at 18% 0%, rgba(8,101,216,.12), transparent 34%), linear-gradient(180deg, #fff 0%, #f8fbff 100%) !important;
    box-shadow: 0 18px 44px rgba(15, 45, 91, .10) !important;
  }

  body:has(.hero#home) .hero-art,
  body:has(.hero#home) .hero .scribble {
    display: none !important;
  }

  body:has(.hero#home) .hero-copy {
    margin: 0 !important;
    text-align: center !important;
  }

  body:has(.hero#home) .hero-copy h1,
  body:has(.hero#home) .hero-copy .job-headline {
    max-width: 310px !important;
    margin: 0 auto 14px !important;
    color: #06152e !important;
    font-size: clamp(27px, 8.5vw, 34px) !important;
    line-height: 1.12 !important;
  }

  body:has(.hero#home) .hero-copy p {
    max-width: 310px !important;
    margin: 0 auto 22px !important;
    color: #526174 !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
  }

  body:has(.hero#home) .hero-buttons {
    display: grid !important;
    gap: 12px !important;
    max-width: 340px !important;
    margin: 0 auto !important;
  }

  body:has(.hero#home) .hero-buttons .btn {
    width: 100% !important;
    min-height: 52px !important;
    border-radius: 999px !important;
    justify-content: center !important;
  }

  body:has(.hero#home) .section-title {
    width: calc(100% - 36px) !important;
    margin: 0 auto 16px !important;
    text-align: left !important;
  }

  body:has(.hero#home) .section-title h2 {
    margin: 0 0 4px !important;
    color: #06152e !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
  }

  body:has(.hero#home) .pcat-track {
    gap: 14px !important;
    padding: 4px 18px 20px !important;
    animation: none !important;
    scroll-snap-type: x mandatory !important;
  }

  body:has(.hero#home) .pcat-wrap {
    width: 232px !important;
    min-height: 308px !important;
    flex: 0 0 232px !important;
    scroll-snap-align: start !important;
  }

  body:has(.hero#home) .pcat-clone {
    display: none !important;
  }

  body:has(.hero#home) .course-grid {
    width: 100% !important;
    display: flex !important;
    gap: 16px !important;
    padding: 0 18px 26px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
  }

  body:has(.hero#home) .course-card {
    flex: 0 0 82vw !important;
    max-width: 330px !important;
    padding: 10px 10px 14px !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 18px 40px rgba(15, 45, 91, .12) !important;
    scroll-snap-align: start !important;
  }

  body:has(.hero#home) .course-visual {
    aspect-ratio: 16 / 10 !important;
    border-radius: 16px !important;
  }
}

/* End-of-file mobile comfort winner. Keep this block last. */
@media (max-width: 640px) {
  body:has(.hero#home) .site-header {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px 10px !important;
    padding: max(10px, env(safe-area-inset-top)) 14px 10px !important;
  }

  body:has(.hero#home) .site-header::before {
    content: none !important;
  }

  body:has(.hero#home) .site-header .brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  body:has(.hero#home) .site-header .join-us {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 70px !important;
    min-height: 36px !important;
  }

  body:has(.hero#home) .site-header .nav {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding-top: 2px !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
  }

  body:has(.hero#home) .site-header .nav::-webkit-scrollbar {
    display: none !important;
  }

  body:has(.hero#home) .site-header .nav a {
    min-height: 34px !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    background: #f1f6ff !important;
    color: #17345f !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }

  body:has(.hero#home) .site-header .nav a.active {
    background: #0865d8 !important;
    color: #fff !important;
  }

  body:has(.hero#home) .site-header .login {
    display: none !important;
  }

  body:has(.hero#home) .course-grid,
  body:has(.hero#home) .pcat-overflow-mask,
  body:has(.hero#home) .tabs {
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
    scrollbar-width: none !important;
  }

  body:has(.hero#home) .course-grid::-webkit-scrollbar,
  body:has(.hero#home) .pcat-overflow-mask::-webkit-scrollbar,
  body:has(.hero#home) .tabs::-webkit-scrollbar {
    display: none !important;
  }

  body:has(.hero#home) .pcat-wrap {
    width: min(74vw, 252px) !important;
    flex-basis: min(74vw, 252px) !important;
    min-height: 312px !important;
  }

  body:has(.hero#home) .pcat-glass {
    min-height: 312px !important;
  }

  body:has(.hero#home) .course-card {
    flex: 0 0 min(84vw, 340px) !important;
  }

  body:has(.hero#home) .whatsapp-float {
    right: 14px !important;
    bottom: calc(14px + env(safe-area-inset-bottom)) !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
  }
}

/* Absolute final mobile comfort pass. This intentionally wins over all older mobile blocks. */
@media (max-width: 640px) {
  body:has(.hero#home) main {
    display: grid !important;
    gap: 14px !important;
    overflow-x: hidden !important;
  }

  body:has(.hero#home) .hero,
  body:has(.hero#home) .future-section,
  body:has(.hero#home) .about-section,
  body:has(.hero#home) .launchpad-section,
  body:has(.hero#home) .subscribe,
  body:has(.hero#home) .instructors,
  body:has(.hero#home) .home-testimonials,
  body:has(.hero#home) .faq,
  body:has(.hero#home) .journey,
  body:has(.hero#home) .news,
  body:has(.hero#home) .stats {
    width: calc(100% - 24px) !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }

  body:has(.hero#home) .hero {
    display: block !important;
    padding: 24px 16px 20px !important;
    border-radius: 22px !important;
    gap: 0 !important;
  }

  body:has(.hero#home) .hero-copy::after,
  body:has(.hero#home) .hero-art,
  body:has(.hero#home) .future-media,
  body:has(.hero#home) .video-blob,
  body:has(.hero#home) .faq-art,
  body:has(.hero#home) .subscribe-person {
    display: none !important;
  }

  body:has(.hero#home) .hero h1 {
    max-width: 12ch !important;
    margin: 10px auto 12px !important;
    font-size: clamp(28px, 9vw, 38px) !important;
    line-height: .98 !important;
  }

  body:has(.hero#home) .hero p {
    max-width: 30ch !important;
    margin: 0 auto 18px !important;
    font-size: 12.5px !important;
    line-height: 1.55 !important;
  }

  body:has(.hero#home) .categories-section,
  body:has(.hero#home) .courses-section {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 18px 0 4px !important;
  }

  body:has(.hero#home) .section-title {
    margin: 0 14px 10px !important;
  }

  body:has(.hero#home) .section-title h2 {
    font-size: 20px !important;
    line-height: 1.15 !important;
  }

  body:has(.hero#home) .pill {
    display: none !important;
  }

  body:has(.hero#home) .pcat-track {
    gap: 12px !important;
    padding: 2px 14px 12px !important;
  }

  body:has(.hero#home) .pcat-wrap {
    width: min(72vw, 240px) !important;
    flex-basis: min(72vw, 240px) !important;
    min-height: 286px !important;
  }

  body:has(.hero#home) .pcat-glass {
    min-height: 286px !important;
    padding: 10px 10px 12px !important;
  }

  body:has(.hero#home) .pcat-art-wrap {
    height: 138px !important;
    margin-bottom: 12px !important;
  }

  body:has(.hero#home) .pcat-glass h3 {
    min-height: 44px !important;
    margin: 0 0 10px !important;
    font-size: 17px !important;
    line-height: 1.14 !important;
  }

  body:has(.hero#home) .tabs {
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 14px 8px !important;
  }

  body:has(.hero#home) .course-grid {
    gap: 12px !important;
    padding: 0 14px 18px !important;
  }

  body:has(.hero#home) .course-card {
    flex: 0 0 min(82vw, 320px) !important;
    max-width: 320px !important;
    min-height: 0 !important;
    padding: 9px 9px 12px !important;
  }

  body:has(.hero#home) .course-visual {
    aspect-ratio: 16 / 9 !important;
  }

  body:has(.hero#home) .future-section,
  body:has(.hero#home) .about-section,
  body:has(.hero#home) .launchpad-section,
  body:has(.hero#home) .subscribe,
  body:has(.hero#home) .instructors,
  body:has(.hero#home) .home-testimonials,
  body:has(.hero#home) .faq,
  body:has(.hero#home) .journey,
  body:has(.hero#home) .news {
    padding: 20px 14px !important;
    border-radius: 20px !important;
  }

  body:has(.hero#home) .launchpad-plan-grid,
  body:has(.hero#home) .journey-features,
  body:has(.hero#home) .apply-cards,
  body:has(.hero#home) .news-grid,
  body:has(.hero#home) .instructor-grid,
  body:has(.hero#home) .faq-content {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body:has(.hero#home) .stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 12px !important;
  }

  body:has(.hero#home) .flying-review-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    transform: none !important;
    animation: none !important;
  }

  body:has(.hero#home) .flying-review-card:nth-of-type(n+4) {
    display: none !important;
  }

  body:has(.hero#home) .simple-footer {
    min-height: 0 !important;
    padding: 32px 16px calc(56px + env(safe-area-inset-bottom)) !important;
    border-radius: 22px 22px 0 0 !important;
  }
}

@media (max-width: 390px) {
  body:has(.hero#home) .site-header .brand img {
    width: 112px !important;
  }

  body:has(.hero#home) .hero h1 {
    font-size: 26px !important;
  }

  body:has(.hero#home) .pcat-wrap {
    width: 78vw !important;
    flex-basis: 78vw !important;
    min-height: 276px !important;
  }

  body:has(.hero#home) .pcat-glass {
    min-height: 276px !important;
  }

  body:has(.hero#home) .course-card {
    flex-basis: 86vw !important;
  }
}

@media (max-width: 640px) {
/* Mentor showcase mobile overrides */
body:has(.hero#home) .instructors.mentor-showcase {
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  padding: 52px 16px 38px !important;
  gap: 22px !important;
}
body:has(.hero#home) .mentor-showcase-intro h2 {
  font-size: 36px !important;
  line-height: 1.02 !important;
}
body:has(.hero#home) .mentor-stats,
body:has(.hero#home) .mentor-card-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
}
body:has(.hero#home) .mentor-feature-card {
  display: grid !important;
  grid-template-columns: 1fr !important;
  min-height: 0 !important;
  padding: 20px !important;
  border-radius: 22px !important;
}
body:has(.hero#home) .mentor-feature-photo {
  width: 168px !important;
  order: -1 !important;
}
body:has(.hero#home) .mentor-section-head {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 12px !important;
}
body:has(.hero#home) .mentor-card-grid .mentor-card {
  display: grid !important;
  grid-template-columns: 78px minmax(0, 1fr) !important;
  gap: 14px !important;
  padding: 12px !important;
}
body:has(.hero#home) .mentor-card .avatar-lg {
  width: 78px !important;
  height: 78px !important;
  object-fit: cover !important;
}
body:has(.hero#home) .mentor-card h3,
body:has(.hero#home) .mentor-card p,
body:has(.hero#home) .mentor-card b {
  white-space: normal !important;
}
}

@media (max-width: 640px) {
  body:has(.hero#home) .mentor-feature-wide,
  body:has(.hero#home) .mentor-card-strip,
  body:has(.hero#home) .mentor-stat-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  body:has(.hero#home) .mentor-tile-photo {
    height: 154px !important;
  }
  body:has(.hero#home) .mentor-logo {
    height: 30px !important;
  }
}