/* 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: 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: 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: 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: flex !important;
      grid-template-columns: none !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;
  }
}
