/* ============================================================
   Responsive — Premium Layout
   ============================================================ */

@media (max-width: 1023px) {
    .programs-showcase--listing {
        grid-template-columns: repeat(2, 1fr);
    }

    .news-grid--listing {
        grid-template-columns: repeat(2, 1fr);
    }

    .related-news-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .experience-card__image {
        height: 220px;
    }
}

@media (max-width: 1100px) {
    .nav-link {
        padding: 10px 10px;
        font-size: 0.8125rem;
    }

    .nav-cta {
        height: 48px;
        padding: 0 22px;
    }

    .navbar-logo { height: 52px; }

    .hero-split {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .hero {
        max-height: none;
        min-height: auto;
        padding: 100px 0 64px;
    }

    .hero-stage {
        max-width: 400px;
        min-height: 340px;
    }

    .hero-lead,
    .hero-poem {
        margin-inline: auto;
    }

    .hero-cta-row {
        justify-content: center;
    }

    .hero-microcopy { text-align: center; }

    .hero-copy { text-align: center; }

    .hero-brand {
        justify-content: center;
    }

    .stats-showcase {
        grid-template-columns: 1fr;
    }

    .pillars-showcase,
    .about-human {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .about-human-quote { order: -1; }

    .about-principles-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .journey-map-lines { display: none; }

    .journey-map-canvas {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
        min-height: auto;
        max-width: 680px;
        padding-bottom: 8px;
    }

    .journey-compass-hub {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        grid-column: 1 / -1;
        justify-self: center;
        width: 200px;
        height: 200px;
        margin-bottom: 8px;
    }

    .journey-card {
        position: relative;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: 100%;
        translate: none !important;
        scale: none !important;
        animation: none;
        padding: 18px 20px;
    }

    .journey-card:hover {
        translate: none;
        scale: none;
        transform: translateY(-4px);
    }

    .journey-card--5 {
        grid-column: 1 / -1;
        max-width: 320px;
        justify-self: center;
    }

    .why-orbit {
        min-height: auto;
        flex-direction: column;
        gap: 18px;
        margin-bottom: 40px;
        padding: 0;
    }

    .why-orbit__svg,
    .why-orbit__track {
        display: none;
    }

    .why-distractions {
        display: flex;
        flex-direction: column;
        gap: 14px;
        width: 100%;
    }

    .why-distraction {
        position: static;
        width: 100%;
        animation: none;
    }

    .why-distraction:hover {
        transform: translateY(-4px);
    }

    .why-compass {
        width: min(260px, 78vw);
        height: min(260px, 78vw);
        margin-bottom: 8px;
    }

    .why-pillars {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .why-glow--1,
    .why-glow--2 {
        width: 260px;
        height: 260px;
    }

    .community-hero,
    .contact-premium,
    .news-magazine {
        grid-template-columns: 1fr;
        max-height: none;
    }

    .news-card--compact .news-card__link {
        grid-template-columns: 32% 1fr;
    }

    .news-card--compact .news-picture--4x3 {
        aspect-ratio: auto;
        height: 100%;
    }

    .contact-type-rows {
        grid-template-columns: 1fr;
    }

    .community-hero {
        display: flex;
        flex-direction: column;
    }

    .community-intro { order: 1; }
    .community-benefits { order: 2; }
    .community-visual { order: 3; }
    .community-cta { order: 4; }
    .community-stats { order: 5; }

    .community-intro,
    .community-benefits,
    .community-stats,
    .community-cta,
    .community-visual {
        grid-column: auto;
        grid-row: auto;
        width: 100%;
    }

    .roadmap-track {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }

    .roadmap-card {
        padding: 22px 14px 20px;
    }

    .roadmap-card__desc {
        font-size: var(--font-size-xs);
    }

    .roadmap-path-wrap { display: none; }

    .team-carousel__stage {
        gap: 8px;
    }

    .team-carousel__btn {
        width: 40px;
        height: 40px;
    }

    .experiences-grid--preview {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Footer — tablet 2 columns */
    .footer-layout {
        grid-template-columns: 1fr 1fr;
        gap: 32px 40px;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }

    .footer-desc {
        max-width: 480px;
    }
}

@media (max-width: 768px) {
    .section { padding: 64px 0; }
    .container { padding: 0 20px; }

    /* Navbar — Mobile Drawer */
    .navbar-float {
        margin-top: 16px;
        padding: 0 16px;
    }

    .navbar-card {
        height: 64px;
        grid-template-columns: 1fr auto;
        padding: 0 8px 0 16px;
    }

    .navbar-logo { height: 48px; }

    .navbar-toggler { display: flex; }

    .navbar-menu {
        display: flex;
        position: fixed;
        inset: 0;
        grid-column: unset;
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch;
        gap: 0;
        background: rgba(255, 255, 255, 0.97);
        backdrop-filter: blur(28px);
        -webkit-backdrop-filter: blur(28px);
        z-index: calc(var(--z-header) + 1);
        padding: 28px 32px 40px;
        opacity: 0;
        visibility: hidden;
        transform: translateX(100%);
        transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease, visibility 0.3s ease;
    }

    .navbar-menu.active {
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
    }

    .navbar-drawer-header {
        display: flex;
        align-items: center;
        justify-content: center;
        padding-bottom: 36px;
        margin-bottom: 8px;
        border-bottom: 1px solid rgba(0, 32, 107, 0.08);
    }

    .navbar-logo--drawer {
        height: 52px;
        justify-self: unset;
    }

    .navbar-logo--drawer .logo-img { display: block; }

    .navbar-links {
        flex: 1;
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        padding: 24px 0;
        overflow-y: auto;
        grid-column: unset;
        justify-self: unset;
    }

    .nav-link {
        color: var(--color-text);
        font-size: var(--font-size-xl);
        font-weight: 600;
        padding: 16px 20px;
        border-radius: var(--radius-md);
        text-align: center;
    }

    .nav-link::after { display: none; }

    .nav-link:hover {
        color: var(--primary-blue);
        transform: translateY(-2px);
        background: rgba(0, 65, 209, 0.05);
    }

    .nav-link.active {
        color: var(--primary-blue);
        background: rgba(0, 65, 209, 0.1);
        box-shadow: none;
    }

    .nav-link.active::before {
        bottom: 10px;
        width: 5px;
        height: 5px;
    }

    .navbar.scrolled .nav-link { color: var(--color-text); }

    .nav-cta {
        position: static;
        transform: none;
        justify-content: center;
        width: 100%;
        height: 52px;
        padding: 0 32px;
        font-size: var(--font-size-lg);
        margin-top: auto;
        grid-column: unset;
        justify-self: unset;
        background: linear-gradient(135deg, #0041D1, #3574FF);
        color: #FFFFFF;
        border-color: transparent;
    }

    .nav-cta:hover {
        transform: translateY(-2px);
        background: linear-gradient(135deg, #0041D1, #3574FF);
        box-shadow: 0 16px 44px rgba(0, 65, 209, 0.45);
    }

    .navbar-toggler.active .bar:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }
    .navbar-toggler.active .bar:nth-child(2) { opacity: 0; }
    .navbar-toggler.active .bar:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    /* Hero */
    .hero {
        padding: 108px 0 56px;
    }

    .hero-headline {
        font-size: clamp(2rem, 8vw, 2.75rem);
    }

    .hero-logo { height: 44px; }

    .hero-stage {
        max-width: 340px;
        min-height: 300px;
    }

    .hero-preview-card {
        width: 52%;
        right: 0;
    }

    .hero-preview-media { height: 110px; }

    .hero-chip {
        padding: 6px 12px;
        font-size: var(--font-size-xs);
    }

    .hero-mini-stat {
        padding: 8px 12px;
        min-width: 72px;
    }

    .hero-mini-stat strong { font-size: var(--font-size-base); }

    /* Stats */
    .stats-grid {
        grid-template-columns: 1fr;
    }

    .stat-block--featured .stat-value {
        font-size: clamp(2.5rem, 12vw, 4rem);
    }

    /* About Journey Map — mobile vertical stack */
    .journey-map-canvas {
        grid-template-columns: 1fr;
        max-width: 400px;
    }

    .journey-compass-hub {
        width: 180px;
        height: 180px;
    }

    .about-human-frame {
        min-height: 280px;
        border-radius: var(--radius-xl);
    }

    .about-human-frame img { min-height: 280px; }

    .about-principles-grid {
        grid-template-columns: 1fr;
    }

    /* Pillars */
    .pillar-block { padding: 40px 28px; }

    /* Experiences */
    .experiences-grid,
    .experiences-grid--preview,
    .experiences-grid--listing,
    .experiences-grid--related {
        grid-template-columns: 1fr;
    }

    .experience-card__image {
        height: 200px;
    }

    .experiences-filter {
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 8px;
        -webkit-overflow-scrolling: touch;
    }

    .experiences-filter__tab {
        flex-shrink: 0;
    }

    .news-filter {
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 8px;
        -webkit-overflow-scrolling: touch;
    }

    .news-filter__tab {
        flex-shrink: 0;
    }

    .experience-details__cover .image-card {
        min-height: 220px;
    }

    .experience-details__gallery-grid {
        grid-template-columns: 1fr;
    }

    .inner-page-hero {
        min-height: 320px;
        padding: 104px 0 40px;
    }

    .inner-page-hero__compass,
    .inner-page-hero__arrow--2 {
        display: none;
    }

    .inner-page-hero__arrow--1 {
        width: 24px;
        top: 20%;
        right: 6%;
        opacity: 0.6;
    }

    .inner-page-hero__path {
        width: 70px;
        bottom: 18%;
        right: 6%;
    }

    .inner-page-hero__title {
        font-size: clamp(1.65rem, 7vw, 2.25rem);
    }

    /* Programs */
    .programs-showcase,
    .programs-showcase--marketplace,
    .programs-showcase--listing {
        grid-template-columns: 1fr;
    }

    .funnel-steps__grid {
        grid-template-columns: 1fr;
    }

    .section-funnel-cta__inner {
        flex-direction: column;
        text-align: center;
    }

    .section-funnel-cta__actions {
        justify-content: center;
        width: 100%;
    }

    .programs-trust {
        flex-direction: column;
        align-items: flex-start;
    }

    .programs-carousel__stage {
        gap: 8px;
    }

    .programs-carousel__btn {
        width: 38px;
        height: 38px;
    }

    .programs-carousel__viewport {
        padding-bottom: 36px;
    }

    /* Roadmap — vertical journey */
    .roadmap-header {
        margin-bottom: 48px;
    }

    .roadmap-path-wrap {
        display: none;
    }

    .roadmap-track {
        display: flex;
        flex-direction: column;
        gap: 0;
        position: relative;
        padding-inline: 8px;
    }

    .roadmap-track::before {
        content: '';
        position: absolute;
        top: 32px;
        bottom: 32px;
        right: 28px;
        width: 2px;
        background: repeating-linear-gradient(
            to bottom,
            rgba(197, 215, 255, 0.45) 0,
            rgba(197, 215, 255, 0.45) 6px,
            transparent 6px,
            transparent 14px
        );
        z-index: 0;
    }

    .roadmap-card {
        display: grid;
        grid-template-columns: 56px 1fr;
        grid-template-rows: auto auto auto;
        grid-template-areas:
            "icon num"
            "icon title"
            "icon desc";
        text-align: right;
        gap: 4px 16px;
        padding: 24px 20px;
        width: 100%;
        margin-bottom: 16px;
        position: relative;
        z-index: 1;
    }

    .roadmap-card:last-child {
        margin-bottom: 0;
    }

    .roadmap-card:hover {
        transform: translateY(-4px);
    }

    .roadmap-card__num {
        grid-area: num;
        text-align: right;
        margin-bottom: 0;
        font-size: var(--font-size-sm);
    }

    .roadmap-card__icon {
        grid-area: icon;
        margin: 0;
        width: 52px;
        height: 52px;
        flex-shrink: 0;
    }

    .roadmap-card__icon img {
        width: 22px;
        height: 22px;
    }

    .roadmap-card__title {
        grid-area: title;
        text-align: right;
        font-size: var(--font-size-xl);
        margin-bottom: 4px;
    }

    .roadmap-card__desc {
        grid-area: desc;
        text-align: right;
        font-size: var(--font-size-base);
        color: rgba(255, 255, 255, 0.9);
    }

    .roadmap-result-card {
        padding: 28px 24px;
    }

    .roadmap-result-text {
        font-size: var(--font-size-lg);
    }

    /* Impact */
    .impact-compare {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .impact-bridge {
        width: 100%;
        padding: 12px 0;
    }

    .impact-bridge__path--desktop { display: none; }

    .impact-bridge__path--mobile {
        display: block;
        width: 56px;
        height: 80px;
    }

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

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

    .impact-shift { padding: 18px 20px; }

    /* Team */
    .team-member-card {
        padding: 20px 14px 18px;
    }

    .team-avatar__ring {
        width: 90px;
        height: 90px;
    }

    /* Partners */
    .partners {
        padding: 44px 0;
    }

    .partners .section-header {
        margin-bottom: 20px;
    }

    .partners-marquee--row2 {
        display: none;
    }

    .partners-carousel {
        gap: 0;
    }

    .partners-marquee__viewport {
        overflow-x: auto;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
        -ms-overflow-style: none;
        cursor: default;
        touch-action: pan-x pan-y;
    }

    .partners-marquee__viewport::-webkit-scrollbar {
        display: none;
    }

    .partners-marquee__track.is-animated,
    .partners-marquee__track.is-scrollable {
        animation: none;
        transform: none;
    }

    .partners-marquee__group {
        padding-inline: 16px;
    }

    .partners-marquee__group:first-child {
        padding-inline-start: 20px;
    }

    .partners-marquee__group:last-child {
        padding-inline-end: 20px;
    }

    .partner-card {
        width: 120px;
        scroll-snap-align: start;
    }

    .partner-card__inner {
        min-height: 96px;
        padding: 14px 12px 12px;
        gap: 8px;
    }

    .partner-card__logo {
        height: 48px;
    }

    .partner-card__logo img {
        max-height: 48px;
    }

    .partners-marquee__fade {
        width: 32px;
    }

    /* Community */
    .community-hero {
        gap: 24px;
    }

    .community-intro,
    .community-benefits,
    .community-stats,
    .community-cta,
    .community-visual {
        text-align: center;
    }

    .community-lead {
        margin-inline: auto;
    }

    .community-benefits {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .community-benefit {
        text-align: start;
    }

    .community-stats {
        flex-direction: column;
        gap: 14px;
        padding: 16px 20px;
    }

    .community-stat {
        padding: 0;
    }

    .community-stat:not(:last-child) {
        border-inline-end: none;
        padding-bottom: 14px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }

    .community-cta {
        justify-content: center;
    }

    .community-cta .btn {
        width: 100%;
        max-width: 320px;
        justify-content: center;
    }

    .community-join__row {
        text-align: start;
    }

    .community-join__info {
        align-items: center;
    }

    .community-join .social-icon {
        flex-shrink: 0;
    }

    .community-scene__compass {
        width: 56px;
        height: 56px;
        bottom: 8%;
        left: 4%;
    }

    .community-scene__compass-mark {
        width: 32px;
        height: 32px;
    }

    /* News */
    .news-magazine {
        grid-template-columns: 1fr;
        max-height: none;
    }

    .news-featured-media {
        flex: 0 0 auto;
    }

    .news-card--compact .news-card__link {
        grid-template-columns: 1fr;
    }

    .news-card--compact .news-card-media {
        max-height: 180px;
    }

    .news-card--compact .news-picture--4x3 {
        aspect-ratio: 16 / 9;
        height: auto;
    }

    .news-grid--listing {
        grid-template-columns: 1fr;
    }

    .related-news-grid {
        grid-template-columns: 1fr;
    }

    .related-news {
        margin-top: 48px;
        padding-top: 36px;
    }

    .news-magazine {
        margin-bottom: 0;
    }

    .news-section-footer {
        margin-top: 32px;
        padding-top: 0;
    }

    .btn-news-browse {
        width: auto;
        max-width: 90%;
    }

    .news-page-header {
        margin-bottom: 28px;
    }

    .news-details__cover .image-card {
        min-height: 220px;
    }

    /* Contact */
    .contact.section { padding: 56px 0; }

    .contact-header { margin-bottom: 28px; }

    .contact-premium {
        display: flex;
        flex-direction: column;
        gap: 28px;
    }

    .contact-info { order: 1; }
    .contact-form-glass { order: 2; }

    .contact-form .form-row {
        grid-template-columns: 1fr;
    }

    .contact-type-rows {
        grid-template-columns: 1fr 1fr;
    }

    .contact-form-glass { padding: 24px 20px; }

    .contact-social-icons {
        gap: 8px;
    }

    /* Footer — mobile centered */
    .footer {
        padding: 40px 0 24px;
    }

    .footer-cta__card {
        border-radius: 24px;
        padding: 24px 20px;
    }

    .footer-cta__actions {
        flex-direction: column;
        width: 100%;
    }

    .footer-cta__actions .btn {
        width: 100%;
        justify-content: center;
    }

    .final-cta {
        padding: 48px 0;
    }

    .final-cta__content {
        padding: 32px 20px;
    }

    .final-cta__actions {
        flex-direction: column;
        width: 100%;
    }

    .final-cta__actions .btn {
        width: 100%;
        justify-content: center;
    }

    .footer-layout {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 28px;
    }

    .footer-brand__logo-wrap,
    .footer-brand__compass {
        margin-inline: auto;
    }

    .footer-desc {
        margin-inline: auto;
        max-width: 340px;
    }

    .footer-social {
        justify-content: center;
    }

    .footer-contact-rows {
        align-items: center;
    }

    .footer-contact-row {
        justify-content: center;
    }

    .footer-bottom {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 10px;
    }

    .footer-bottom__copy,
    .footer-bottom__tagline {
        justify-self: center;
    }

    .footer-scene__compass {
        display: none;
    }

    .sticky-join-btn {
        bottom: 20px;
        left: 20px;
        padding: 12px 24px;
        font-size: var(--font-size-sm);
        animation: stickyFloatMobile 3s ease-in-out infinite, stickyPulse 5s ease-in-out infinite;
    }

    .sticky-join-btn__icon {
        font-size: 16px;
    }

    .sticky-join-btn__desktop { display: none; }
    .sticky-join-btn__mobile { display: inline-flex; }

    .program-details__layout {
        grid-template-columns: 1fr;
    }

    .program-enroll-card {
        display: none;
    }

    .program-enroll-bar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 95;
        padding: 12px 16px;
        padding-bottom: max(12px, env(safe-area-inset-bottom));
        background: var(--white);
        border-top: 1px solid rgba(0, 65, 209, 0.12);
        box-shadow: 0 -4px 24px rgba(0, 32, 107, 0.12);
    }

    .program-enroll-bar__info {
        display: flex;
        flex-direction: column;
        gap: 2px;
        min-width: 0;
    }

    .program-enroll-bar__name {
        font-size: var(--font-size-sm);
        font-weight: 700;
        color: var(--dark-blue);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .program-enroll-bar__status {
        font-size: var(--font-size-xs);
        color: var(--primary-blue);
        font-weight: 500;
    }

    .program-enroll-bar__btn {
        flex-shrink: 0;
        padding: 10px 20px;
        font-size: var(--font-size-sm);
    }

    body.has-program-enroll-bar {
        padding-bottom: 72px;
    }

    .find-path {
        padding: clamp(48px, 8vw, 64px) 0;
    }

    .find-path__layout {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .find-path__desc {
        max-width: none;
    }

    .find-path__cards {
        grid-template-columns: 1fr;
    }

    .find-path__cta {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .find-path__cta-actions {
        flex-direction: column;
        width: 100%;
    }

    .find-path__cta-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .hero-trust-line {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .hero-headline { font-size: 2rem; }

    .hero-cta-row {
        flex-direction: column;
        width: 100%;
    }

    .hero-cta-row .btn {
        width: 100%;
        justify-content: center;
    }

    .hero-stage {
        max-width: 300px;
        min-height: 280px;
    }

    .hero-chip--2 { left: 0; }

    .hero-mini-stat--1 { top: 12%; left: 2%; }
    .hero-mini-stat--2 { bottom: 6%; left: 6%; }

    .hero-poem {
        text-align: right;
        margin-inline: 0;
    }


    .pillar-block-number { font-size: 2.5rem; }
}

@media (prefers-reduced-motion: reduce) {
    .sticky-join-btn {
        animation: none;
    }
}
