 :root {
            --navy: #071d49;
            --navy2: #0d3475;
            --blue: #173f84;
            --gold: #ffbd16;
            --gold2: #e6a600;
            --white: #fff;
            --text: #17294b;
            --muted: #687791;
            --light: #f5f8fd;
            --line: #dfe7f2;
            --shadow: 0 18px 50px rgba(4, 24, 58, .14);
        }

        * {
            box-sizing: border-box
        }

        html {
            scroll-behavior: smooth
        }

        body {
            margin: 0;
            font-family: Inter, Arial, sans-serif;
            color: var(--text);
            background: var(--light);
            line-height: 1.55
        }

        a {
            text-decoration: none;
            color: inherit
        }

        img {
            max-width: 100%;
            display: block
        }

        .container {
            width: min(1180px, 92%);
            margin: auto
        }

        section {
            padding: 88px 0
        }

        h1,
        h2,
        h3,
        p {
            margin-top: 0
        }

        .eyebrow {
            color: var(--gold2);
            font-size: 12px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: 2px
        }

        .section-head {
            max-width: 760px;
            text-align: center;
            margin: 0 auto 42px
        }

        .section-head h2 {
            font-size: clamp(32px, 4vw, 52px);
            line-height: 1.05;
            margin: 12px 0;
            color: var(--navy)
        }

        .section-head p {
            color: var(--muted);
            font-size: 17px
        }

        /* NAVBAR */
        .nav{
            position:fixed;
            z-index:1000;
            top:0;left:0;right:0;
            background:#fff;
            border-bottom:1px solid #e5eaf2;
            box-shadow:0 5px 22px rgba(0,0,0,.07)
        }

        .nav-inner{
            min-height:82px;
            display:grid;
            grid-template-columns:minmax(330px,1fr) auto minmax(180px,1fr);
            align-items:center;
            gap:22px
        }

        .nav-brand-group{
            display:flex;
            align-items:center;
            gap:16px;
            justify-self:start;
            min-width:0
        }

        .nav-logo{
            display:flex;
            align-items:center;
            justify-content:center;
            flex:0 0 auto;
            background:#fff;
            overflow:hidden
        }

        .nav-logo img{
            display:block;
            width:auto;
            height:auto;
            max-width:100%;
            object-fit:contain
        }

        .nav-logo.aerovia img{
            width:145px;
            max-height:48px
        }

        .nav-logo.cedcaersa{
            padding-left:16px;
            border-left:1px solid #dce3ee
        }

        .nav-logo.cedcaersa img{
            width:185px;
            max-height:58px
        }

        .links{
            display:flex;
            align-items:center;
            justify-content:center;
            gap:25px;
            justify-self:center;
            white-space:nowrap
        }

        .links a{
            position:relative;
            font-size:13px;
            font-weight:800;
			text-transform: uppercase;
            color:var(--navy);
            transition:color .25s ease
        }

        .links a:after{
            content:"";
            position:absolute;
            left:0;
            bottom:-8px;
            width:0;
            height:2px;
            border-radius:2px;
            background:var(--gold);
            transition:width .25s ease
        }

        .links a:hover{
            color:var(--gold2)
        }

        .links a:hover:after{
            width:100%
        }

        .nav-cta{
            justify-self:end
        }

        .nav-cta,.btn{
            position:relative;
            isolation:isolate;
            overflow:hidden;
            display:inline-flex;
            align-items:center;
            justify-content:center;
            padding:12px 20px;
            border-radius:999px;
            font-weight:900;
            cursor:pointer;
            border:1px solid transparent;
            transition:transform .3s ease,box-shadow .3s ease,color .3s ease
        }

        .nav-cta:before,.btn:before{
            content:"";
            position:absolute;
            z-index:-1;
            top:0;bottom:0;left:0;
            width:0;
            background:var(--gold2);
            transition:width .45s cubic-bezier(.2,.7,.2,1)
        }

        .nav-cta,.btn.gold{
            background:var(--gold);
            color:var(--navy)
        }

        .btn:not(.gold){
            background:rgba(255,255,255,.08);
            color:#fff;
            border-color:rgba(255,255,255,.35)
        }

        .nav-cta:hover:before,.btn:hover:before{
            width:100%
        }

        .nav-cta:hover,.btn:hover{
            transform:translateY(-2px);
            box-shadow:0 12px 28px rgba(4,24,58,.18)
        }

        .btn:not(.gold):hover{
            color:var(--navy)
        }

        .menu{
            display:none;
            background:none;
            border:0;
            font-size:27px;
            line-height:1;
            color:var(--navy);
            cursor:pointer
        }

        /* HERO */
        .hero {
            min-height: 94vh;
            display: grid;
            place-items: center;
            position: relative;
            overflow: hidden;
            color: #fff;
            background: #061a3b
        }

        .hero-bg {
            position: absolute;
            inset: 0;
            background: linear-gradient(90deg, rgba(3, 15, 37, .88), rgba(5, 27, 64, .42)), url("../hero.png") center/cover;
            animation: heroZoom 14s ease-in-out infinite alternate
        }

        .hero-content {
            position: relative;
            z-index: 2;
            padding-top: 105px;
            display: grid;
            grid-template-columns: 1.08fr .92fr;
            gap: 45px;
            align-items: center
        }

        .hero h1 {
            font-size: clamp(42px, 6vw, 76px);
            line-height: .98;
            letter-spacing: -3px;
            margin: 15px 0 20px
        }

        .hero h1 span {
            color: var(--gold)
        }

        .hero p {
            font-size: 18px;
            color: #e1e9f7;
            max-width: 700px
        }

        .actions {
            display: flex;
            gap: 12px;
            flex-wrap: wrap;
            margin-top: 26px
        }

        .btn {
            border: 1px solid rgba(255, 255, 255, .35);
            color: #fff;
            background: rgba(255, 255, 255, .08)
        }

        .hero-card {
            background: rgba(7, 25, 56, .62);
            border: 1px solid rgba(255, 255, 255, .18);
            padding: 18px;
            border-radius: 25px;
            backdrop-filter: blur(9px);
            box-shadow: var(--shadow)
        }

        .hero-card img {
            width: 100%;
            aspect-ratio: 16/10;
            object-fit: cover;
            border-radius: 17px
        }

        .stats {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 10px;
            margin-top: 12px
        }

        .stat {
            background: rgba(255, 255, 255, .09);
            padding: 13px;
            border-radius: 14px;
            text-align: center
        }

        .stat strong {
            display: block;
            color: var(--gold);
            font-size: 21px
        }

        .stat span {
            font-size: 11px;
            color: #d9e4f5
        }

        /* COMMON */
        .dark {
            background: linear-gradient(135deg, #061b40, #103b7c);
            color: #fff
        }

        .dark .section-head h2 {
            color: #fff
        }

        .dark .section-head p {
            color: #cbd8eb
        }

        .cards {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px
        }

        .card {
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 22px;
            padding: 25px;
            box-shadow: 0 10px 30px rgba(15, 37, 72, .07)
        }

        .card h3 {
            color: var(--navy);
            margin: 12px 0 7px;
            font-size: 20px
        }

        .card p {
            color: var(--muted);
            margin: 0
        }

        .icon {
            width: 48px;
            height: 48px;
            border-radius: 14px;
            display: grid;
            place-items: center;
            background: #fff1c9;
            color: #9a6800;
            font-weight: 900
        }

        .pills {
            display: flex;
            flex-wrap: wrap;
            gap: 9px;
            margin-top: 20px
        }

        .pill {
            padding: 9px 12px;
            border-radius: 999px;
            background: #fff0c3;
            color: #765000;
            font-weight: 800;
            font-size: 13px
        }

        .dark .card {
            background: rgba(255, 255, 255, .96)
        }

        /* SECTION 1: PROGRAM */
        .program-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 20px
        }

        .phase-tabs {
            display: flex;
            gap: 10px;
            margin-bottom: 20px
        }

        .phase-btn {
            flex: 1;
            border: 1px solid rgba(255, 255, 255, .2);
            background: rgba(255, 255, 255, .07);
            color: #fff;
            padding: 15px;
            border-radius: 15px;
            font-weight: 900;
            cursor: pointer
        }

        .phase-btn.active {
            background: var(--gold);
            color: var(--navy);
            border-color: var(--gold)
        }

        .phase-panel {
            display: none;
            background: rgba(255, 255, 255, .08);
            border: 1px solid rgba(255, 255, 255, .12);
            border-radius: 24px;
            padding: 30px
        }

        .phase-panel.active {
            display: block;
            animation: fade .35s ease
        }

        .phase-panel h3 {
            font-size: 28px;
            margin-bottom: 10px
        }

        .phase-panel p {
            color: #cfdbed
        }

        .phase-panel li {
            margin: 10px 0;
            color: #e2e9f5
        }

        .partner {
            background: #fff;
            border-radius: 24px;
            padding: 30px;
            color: var(--text);
            height: 100%
        }

        .partner h3 {
            color: var(--navy);
            font-size: 27px
        }

        .partner p {
            color: var(--muted)
        }

        .partner strong {
            color: var(--navy)
        }

        /* SECTION 2: ROADMAP + DURATION */
        .roadmap-wrap {
            overflow: hidden
        }

        .roadmap-track {
            display: flex;
            gap: 18px;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            padding: 8px 3px 20px;
            scrollbar-width: none
        }

        .roadmap-track::-webkit-scrollbar {
            display: none
        }

        .stage {
            min-width: calc(33.333% - 12px);
            scroll-snap-align: start;
            border-radius: 22px;
            padding: 27px;
            background: #fff;
            border: 1px solid var(--line);
            box-shadow: var(--shadow)
        }

        .stage .num {
            font-size: 14px;
            font-weight: 900;
            color: var(--gold2)
        }

        .stage h3 {
            font-size: 25px;
            color: var(--navy);
            margin: 7px 0
        }

        .stage p {
            color: var(--muted)
        }

        .stage ul {
            padding-left: 19px;
            color: #53637d
        }

        .roadmap-controls {
            display: flex;
            justify-content: center;
            gap: 10px;
            margin-top: 8px
        }

        .roadmap-controls button,
        .life-controls button {
            border: 0;
            background: var(--navy);
            color: #fff;
            width: 42px;
            height: 42px;
            border-radius: 50%;
            cursor: pointer
        }

        .duration {
            margin-top: 55px;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 18px
        }

        .duration-card {
            padding: 30px;
            border-radius: 23px;
            background: linear-gradient(145deg, #103c7d, #071d45);
            color: #fff;
            text-align: center;
            box-shadow: var(--shadow)
        }

        .duration-card strong {
            display: block;
            font-size: 42px;
            color: var(--gold);
            line-height: 1
        }

        .duration-card span {
            display: block;
            margin-top: 9px;
            color: #cbd8eb;
            font-weight: 800
        }

        /* SECTION 3: WHY / CAREER / ADMISSION AS SCROLLING CONTENT */
        .info-strip {
            overflow: hidden;
            background: var(--navy);
            border-radius: 28px;
            padding: 10px 0
        }

        .info-track {
            display: flex;
            width: max-content;
            animation: marquee 28s linear infinite
        }

        .info-item {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 19px 28px;
            color: #fff;
            white-space: nowrap;
            font-weight: 800
        }

        .info-item i {
            width: 38px;
            height: 38px;
            border-radius: 50%;
            display: grid;
            place-items: center;
            background: var(--gold);
            color: var(--navy);
            font-style: normal
        }

        .sub-block {
            margin-top: 45px
        }

        .sub-block h3 {
            text-align: center;
            color: var(--navy);
            font-size: 29px;
            margin-bottom: 18px
        }

        .admission-strip {
            border-radius: 25px;
            background: #fff;
            border: 1px solid var(--line);
            overflow: hidden
        }

        .admission-track {
            display: flex;
            width: max-content;
            animation: marquee 25s linear infinite
        }

        .admission-item {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 20px 28px;
            white-space: nowrap;
            color: var(--navy);
            font-weight: 900
        }

        .admission-item b {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            display: grid;
            place-items: center;
            background: #fff0c3;
            color: #8a5b00
        }

        /* LIFE CAROUSEL */
        .life-carousel {
            position: relative
        }

        .life-window {
            overflow: hidden;
            border-radius: 28px;
            box-shadow: var(--shadow)
        }

        .life-track {
            display: flex;
            transition: transform .8s ease
        }

        .life-slide {
            min-width: 100%;
            position: relative;
            height: 500px
        }

        .life-slide img {
            width: 100%;
            height: 100%;
            object-fit: cover
        }

        .life-caption {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            padding: 55px 35px 28px;
            background: linear-gradient(transparent, rgba(0, 0, 0, .78));
            color: #fff
        }

        .life-caption h3 {
            margin: 0 0 5px;
            font-size: 30px;
            color: var(--gold)
        }

        .life-caption p {
            margin: 0;
            max-width: 700px
        }

        .life-controls {
            display: flex;
            justify-content: center;
            gap: 10px;
            margin-top: 15px
        }

        .dots {
            display: flex;
            justify-content: center;
            gap: 7px;
            margin-top: 12px
        }

        .dot {
            width: 8px;
            height: 8px;
            border: 0;
            border-radius: 50%;
            background: #b7c3d6;
            cursor: pointer
        }

        .dot.active {
            background: var(--gold2);
            width: 22px;
            border-radius: 8px
        }

        /* CONTACT */
        .contact {
            background: #edf3fa
        }

        .contact-grid {
            display: grid;
            grid-template-columns: .8fr 1.2fr;
            gap: 30px;
            align-items: stretch
        }

        .contact-copy {
            background: linear-gradient(135deg, #061a3d, #123e7e);
            border-radius: 28px;
            padding: 42px;
            color: #fff
        }

        .contact-copy h2 {
            font-size: clamp(34px, 4vw, 52px);
            line-height: 1.05
        }

        .contact-copy p {
            color: #cdd9eb
        }

        .contact-copy li {
            margin: 13px 0;
            color: #e0e8f5
        }

        .form-card {
            background: #fff;
            border-radius: 28px;
            padding: 16px;
            box-shadow: var(--shadow);
            min-height: 600px
        }

        .form-card iframe {
            width: 100%;
            height: 590px;
            border: 0;
            border-radius: 18px
        }

        /* FOOTER */
        footer {
            background: #04132d;
            color: #bdc9dc;
            padding: 35px 0 0
        }

        .footer-top {
            display: grid;
            grid-template-columns: 1.3fr 1fr 1fr;
            gap: 30px;
            padding-bottom: 28px
        }

        .footer-brand img {
            width: 180px;
            margin-bottom: 13px
        }

        .footer-brand p {
            max-width: 390px;
            font-size: 13px
        }

        .footer-logos {
            display: flex;
            align-items: center;
            gap: 16px;
            flex-wrap: wrap
        }

        .footer-ced {
            color: #fff;
            display: flex;
            align-items: center;
            gap: 8px
        }

        .footer-ced svg {
            width: 40px
        }

        .footer-ced strong {
            font-size: 15px
        }

        .footer-links h4 {
            color: #fff;
            margin: 0 0 12px
        }

        .footer-links a {
            display: block;
            font-size: 13px;
            margin: 7px 0;
            color: #c8d4e7
        }

        .footer-bottom {
            border-top: 1px solid rgba(255, 255, 255, .13);
            padding: 15px 0;
            text-align: center;
            font-size: 12px
        }

        /* POLISHED HOVER EFFECTS */
        .card,.stage,.partner,.duration-card,.hero-card,.form-card{
            transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease
        }

        .card:hover,.stage:hover,.partner:hover,.duration-card:hover,.hero-card:hover,.form-card:hover{
            transform:translateY(-8px);
            box-shadow:0 24px 55px rgba(4,24,58,.18)
        }

        .hero-card img,.life-slide img{
            transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .45s ease
        }

        .hero-card:hover img,.life-slide:hover img{
            transform:scale(1.055);
            filter:saturate(1.08)
        }

        /* LIFE IN ECUADOR - bottom-center readable overlay */
        .life-slide{
            overflow:hidden
        }

        .life-caption{
            left:50%;
            right:auto;
            bottom:20px;
            width:min(88%,760px);
            transform:translateX(-50%);
            padding:22px 28px 18px;
            text-align:center;
            border-radius:18px;
            background:linear-gradient(180deg,rgba(3,14,34,.08),rgba(3,14,34,.92));
            backdrop-filter:blur(4px);
            text-shadow:0 2px 10px rgba(0,0,0,.5)
        }

        .life-caption h3{
            margin:0 0 6px;
            font-size:30px;
            color:#fff
        }

        .life-caption p{
            margin:0 auto;
            max-width:680px;
            color:#fff;
            font-size:15px
        }

        /* FOOTER */
        .footer-top{
            display:grid;
            grid-template-columns:1.35fr 1fr;
            gap:30px;
            align-items:center;
            padding-bottom:28px
        }

        .footer-logo-box{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            gap:18px;
            padding:12px 16px;
            background:#fff;
            border-radius:14px
        }

        .footer-logo-box img{
            display:block;
            width:auto;
            height:48px;
            max-width:190px;
            object-fit:contain
        }

        .footer-brand p{
            max-width:430px;
            margin:15px 0 0;
            font-size:13px
        }

        .footer-menu-wrap{
            justify-self:end
        }

        .footer-links{
            display:flex;
            flex-wrap:wrap;
            align-items:center;
            justify-content:flex-end;
            gap:10px 22px
        }

        .footer-links h4{
            display:none
        }

        .footer-links a{
            display:inline-block;
            margin:0;
            font-size:13px;
            color:#fff;
            position:relative;
            transition:color .25s ease
        }

        .footer-links a:hover{
            color:var(--gold)
        }

        .footer-links a:after{
            content:"";
            position:absolute;
            left:0;
            bottom:-5px;
            width:0;
            height:2px;
            background:var(--gold);
            transition:width .25s ease
        }

        .footer-links a:hover:after{
            width:100%
        }

        .footer-ced{
            display:none
        }

        /* MOBILE */
        .mobile-sticky-cta{
            display:none
        }

        @media(max-width:1050px){
            .nav-inner{
                grid-template-columns:minmax(290px,1fr) auto;
                min-height:74px
            }

            .links{
                position:absolute;
                display:none;
                top:74px;
                left:0;
                right:0;
                padding:18px 5%;
                background:#fff;
                flex-direction:column;
                align-items:flex-start;
                gap:16px;
                box-shadow:0 14px 30px rgba(0,0,0,.10)
            }

            .links.open{
                display:flex
            }

            .nav-cta{
                display:none
            }

            .menu{
                display:block;
                justify-self:end
            }

            .hero-content,.program-grid,.contact-grid{
                grid-template-columns:1fr
            }

            .hero{
                min-height:1000px
            }

            .hero-content{
                padding-top:95px
            }

            .cards,.duration{
                grid-template-columns:1fr 1fr
            }

            .stage{
                min-width:70%
            }

            .footer-top{
                grid-template-columns:1fr;
                text-align:center
            }

            .footer-logo-box{
                margin:0 auto
            }

            .footer-menu-wrap{
                justify-self:center;
                width:100%
            }

            .footer-links{
                justify-content:center
            }
        }

        @media(max-width:620px){
            section{
                padding:68px 0
            }

            body{
                padding-bottom:76px
            }

            .nav-inner{
                min-height:68px;
                grid-template-columns:1fr auto;
                gap:8px
            }

            .nav-brand-group{
                gap:8px
            }

            .nav-logo.aerovia img{
                width:112px;
                max-height:40px
            }

            .nav-logo.cedcaersa{
                padding-left:8px
            }

            .nav-logo.cedcaersa img{
                width:118px;
                max-height:42px
            }

            .links{
                top:68px;
                padding:18px 6%;
            }

            .hero{
                min-height:900px
            }

            .hero h1{
                letter-spacing:-2px
            }

            .hero p{
                font-size:16px
            }

            .hero-card{
                padding:13px
            }

            .stats{
                grid-template-columns:1fr
            }

            .cards,.duration{
                grid-template-columns:1fr
            }

            .stage{
                min-width:88%
            }

            .life-slide{
                height:390px
            }

            .life-caption{
                bottom:14px;
                width:90%;
                padding:17px 14px 14px;
                border-radius:15px
            }

            .life-caption h3{
                font-size:23px
            }

            .life-caption p{
                font-size:13px;
                line-height:1.45
            }

            .contact-copy{
                padding:30px 23px
            }

            .form-card{
                padding:8px
            }

            .form-card iframe{
                height:650px
            }

            .footer-logo-box{
                gap:9px;
                padding:10px
            }

            .footer-logo-box img{
                height:38px;
                max-width:135px
            }

            .footer-links{
                gap:9px 15px
            }

            .footer-links a{
                font-size:12px
            }

            .mobile-sticky-cta{
                position:fixed;
                z-index:2000;
                display:flex;
                left:12px;
                right:12px;
                bottom:12px;
                padding:6px;
                background:rgba(4,19,45,.95);
                border:1px solid rgba(255,255,255,.14);
                border-radius:18px;
                box-shadow:0 15px 40px rgba(0,0,0,.28);
                backdrop-filter:blur(10px)
            }

            .mobile-sticky-cta .btn{
                width:100%;
                padding:13px 18px;
                background:var(--gold);
                color:var(--navy)
            }
        }

        /* ANIMATION */
        @keyframes heroZoom {
            from {
                transform: scale(1)
            }

            to {
                transform: scale(1.1)
            }
        }

        @keyframes marquee {
            from {
                transform: translateX(0)
            }

            to {
                transform: translateX(-50%)
            }
        }

        @keyframes fade {
            from {
                opacity: 0;
                transform: translateY(8px)
            }

            to {
                opacity: 1;
                transform: none
            }
        }

        @media(max-width:950px) {
            .links {
                display: none
            }

            .menu {
                display: block
            }

            .cedcaersa-logo {
                display: none
            }

            .hero-content,
            .program-grid,
            .contact-grid {
                grid-template-columns: 1fr
            }

            .hero {
                min-height: 1000px
            }

            .hero-content {
                padding-top: 95px
            }

            .cards,
            .duration {
                grid-template-columns: 1fr 1fr
            }

            .stage {
                min-width: 70%
            }

            .footer-top {
                grid-template-columns: 1fr 1fr
            }
        }

        @media(max-width:620px) {
            section {
                padding: 68px 0
            }

            .nav-inner {
                height: 68px
            }

            .brand img {
                width: 155px
            }

            .hero {
                min-height: 900px
            }

            .hero h1 {
                letter-spacing: -2px
            }

            .hero p {
                font-size: 16px
            }

            .hero-card {
                padding: 13px
            }

            .stats {
                grid-template-columns: 1fr
            }

            .cards,
            .duration {
                grid-template-columns: 1fr
            }

            .stage {
                min-width: 88%
            }

            .life-slide {
                height: 390px
            }

            .life-caption h3 {
                font-size: 24px
            }

            .life-caption {
                padding: 50px 22px 20px
            }

            .contact-copy {
                padding: 30px 23px
            }

            .form-card {
                padding: 8px
            }

            .form-card iframe {
                height: 650px
            }

            .footer-top {
                grid-template-columns: 1fr
            }
        }
		
		
		
/* =========================================
   YOUR JOURNEY TO THE COCKPIT
========================================= */

.journey-section {
    background: #f5f8fd;
    position: relative;
    overflow: hidden;
}

.journey-timeline {
    max-width: 850px;
    margin: 0 auto;
    position: relative;
}

/* Vertical connecting line */
.journey-timeline:before {
    content: "";
    position: absolute;
    left: 35px;
    top: 35px;
    bottom: 35px;
    width: 2px;
    background: linear-gradient(
        to bottom,
        var(--gold),
        #b9c7dc,
        var(--gold)
    );
}

.journey-step {
    position: relative;
    display: flex;
    align-items: center;
    gap: 25px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 25px 30px;
    margin: 0;
    box-shadow: 0 10px 30px rgba(15, 37, 72, .07);
    transition: all .35s ease;
    z-index: 2;
}

.journey-step:hover {
    transform: translateX(8px);
    border-color: rgba(255, 189, 22, .55);
    box-shadow: 0 20px 45px rgba(4, 24, 58, .14);
}

.journey-icon {
    width: 70px;
    height: 70px;
    flex: 0 0 70px;
    display: grid;
    place-items: center;
    background: #fff8df;
    border: 3px solid var(--gold);
    border-radius: 50%;
    font-size: 28px;
    position: relative;
    z-index: 3;
}

.journey-content {
    flex: 1;
}

.journey-country,
.journey-stage {
    display: inline-block;
    color: var(--gold2);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.journey-content h3 {
    color: var(--navy);
    font-size: 24px;
    margin: 0 0 6px;
    line-height: 1.2;
}

.journey-content p {
    color: var(--muted);
    margin: 0;
    font-size: 15px;
}

.journey-content p span {
    color: var(--gold2);
    font-weight: 900;
    padding: 0 5px;
}

.journey-arrow {
    width: 70px;
    height: 48px;
    display: grid;
    place-items: center;
    margin: 0;
    color: var(--gold2);
    font-size: 30px;
    font-weight: 900;
    position: relative;
    z-index: 3;
}

.journey-step.final {
    background: linear-gradient(135deg, #071d49, #103b7c);
    border-color: transparent;
}

.journey-step.final .journey-icon {
    background: var(--gold);
    border-color: #fff;
}

.journey-step.final .journey-content h3 {
    color: #fff;
}

.journey-step.final .journey-country {
    color: var(--gold);
}

/* =========================================
   TABLET
========================================= */

@media (max-width: 768px) {

    .journey-timeline {
        max-width: 100%;
    }

    .journey-timeline:before {
        left: 28px;
    }

    .journey-step {
        gap: 18px;
        padding: 20px;
        border-radius: 18px;
    }

    .journey-icon {
        width: 56px;
        height: 56px;
        flex-basis: 56px;
        font-size: 23px;
    }

    .journey-content h3 {
        font-size: 20px;
    }

    .journey-content p {
        font-size: 14px;
    }

    .journey-arrow {
        width: 56px;
        height: 40px;
        font-size: 25px;
    }
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 620px) {

    .journey-section {
        padding: 68px 0;
    }

    .journey-timeline:before {
        left: 24px;
        top: 28px;
        bottom: 28px;
    }

    .journey-step {
        gap: 15px;
        padding: 18px 16px;
        border-radius: 16px;
    }

    .journey-icon {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
        font-size: 20px;
        border-width: 2px;
    }

    .journey-content h3 {
        font-size: 17px;
    }

    .journey-country,
    .journey-stage {
        font-size: 10px;
        letter-spacing: 1.5px;
    }

    .journey-content p {
        font-size: 13px;
        line-height: 1.5;
    }

    .journey-arrow {
        width: 48px;
        height: 34px;
        font-size: 22px;
    }
}






/* =========================================
   WHY AEROVIA
========================================= */

.why-aerovia {
    background: #fff;
    position: relative;
    overflow: hidden;
}

.why-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.why-card {
    position: relative;
    padding: 30px 25px;
    min-height: 340px;
    background: #f7f9fd;
    border: 1px solid var(--line);
    border-radius: 24px;
    overflow: hidden;
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease,
        background .35s ease;
}

/* Large background number */
.why-number {
    position: absolute;
    top: -18px;
    right: 10px;
    font-size: 105px;
    line-height: 1;
    font-weight: 900;
    color: rgba(7, 29, 73, .035);
    pointer-events: none;
}

/* Icon */
.why-icon {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    background: #fff1c9;
    border: 1px solid rgba(255, 189, 22, .45);
    border-radius: 18px;
    font-size: 27px;
    margin-bottom: 25px;
    transition: transform .35s ease;
}

.why-card h3 {
    position: relative;
    z-index: 2;
    color: var(--navy);
    font-size: 21px;
    line-height: 1.2;
    margin: 0 0 14px;
}

.why-card p {
    position: relative;
    z-index: 2;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.65;
    margin: 0;
}

/* Gold bottom accent */
.why-card:after {
    content: "";
    position: absolute;
    left: 25px;
    bottom: 0;
    width: 45px;
    height: 4px;
    border-radius: 5px 5px 0 0;
    background: var(--gold);
    transition: width .35s ease;
}

.why-card:hover {
    transform: translateY(-8px);
    background: #fff;
    border-color: rgba(255, 189, 22, .5);
    box-shadow: 0 24px 50px rgba(4, 24, 58, .13);
}

.why-card:hover .why-icon {
    transform: translateY(-4px) scale(1.05);
}

.why-card:hover:after {
    width: calc(100% - 50px);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1050px) {

    .why-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .why-card {
        min-height: 300px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 620px) {

    .why-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .why-card {
        min-height: auto;
        padding: 25px 22px;
        border-radius: 20px;
    }

    .why-icon {
        width: 55px;
        height: 55px;
        border-radius: 15px;
        font-size: 24px;
        margin-bottom: 20px;
    }

    .why-card h3 {
        font-size: 19px;
    }

    .why-card p {
        font-size: 14px;
    }

    .why-number {
        font-size: 85px;
    }
}



/* =========================================
   TRAIN IN ECUADOR
========================================= */

.ecuador-section {
    background: #f5f8fd;
    position: relative;
    overflow: hidden;
}

.ecuador-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 65px;
    align-items: center;
}

/* IMAGE */
.ecuador-visual {
    position: relative;
}

.ecuador-image {
    position: relative;
    overflow: hidden;
    border-radius: 30px;
    box-shadow: 0 25px 60px rgba(4, 24, 58, .18);
}

.ecuador-image:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        transparent 55%,
        rgba(3, 15, 37, .72)
    );
    pointer-events: none;
}

.ecuador-image img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    transition: transform .7s cubic-bezier(.2,.7,.2,1);
}

.ecuador-image:hover img {
    transform: scale(1.05);
}

/* IMAGE BADGE */
.ecuador-badge {
    position: absolute;
    z-index: 2;
    left: 25px;
    bottom: 25px;
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 10px;
    align-items: center;
    padding: 14px 18px;
    background: rgba(7, 29, 73, .88);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 15px;
    color: #fff;
    backdrop-filter: blur(8px);
}

.ecuador-badge span {
    grid-row: span 2;
    font-size: 27px;
}

.ecuador-badge strong {
    font-size: 13px;
    letter-spacing: 1.5px;
}

.ecuador-badge small {
    color: #cbd8eb;
    font-size: 11px;
}


/* CONTENT */
.ecuador-content {
    max-width: 650px;
}

.ecuador-content h2 {
    color: var(--navy);
    font-size: clamp(32px, 4vw, 50px);
    line-height: 1.05;
    margin: 12px 0 18px;
    letter-spacing: -1.5px;
}

.ecuador-content h2 span {
    display: block;
    color: var(--navy2);
}

.ecuador-content > p {
    color: var(--muted);
    font-size: 16px;
    line-height: 1.7;
}

.ecuador-content .ecuador-lead {
    color: var(--navy);
    font-size: 19px;
    font-weight: 700;
    margin-bottom: 12px;
}


/* TRAINING LIST */
.training-list {
    margin-top: 30px;
}

.training-list h3 {
    color: var(--navy);
    font-size: 20px;
    margin-bottom: 15px;
}

.training-items {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.training-item {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    color: var(--navy);
    font-size: 13px;
    font-weight: 800;
    transition: all .3s ease;
}

.training-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    background: #fff1c9;
    border-radius: 9px;
    font-size: 17px;
}

.training-item:hover {
    transform: translateY(-3px);
    border-color: rgba(255, 189, 22, .55);
    box-shadow: 0 10px 25px rgba(4,24,58,.08);
}


/* INTERNATIONAL BOX */
.international-box {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-top: 25px;
    padding: 20px;
    background: linear-gradient(
        135deg,
        #071d49,
        #103b7c
    );
    border-radius: 18px;
    color: #fff;
}

.international-icon {
    width: 45px;
    height: 45px;
    flex: 0 0 45px;
    display: grid;
    place-items: center;
    background: var(--gold);
    color: var(--navy);
    border-radius: 12px;
    font-size: 21px;
}

.international-box h3 {
    margin: 0 0 5px;
    font-size: 18px;
    color: #fff;
}

.international-box p {
    margin: 0;
    color: #cbd8eb;
    font-size: 13px;
    line-height: 1.55;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 950px) {

    .ecuador-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .ecuador-image {
        max-width: 600px;
        margin: 0 auto;
    }

    .ecuador-content {
        max-width: 100%;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 620px) {

    .ecuador-section {
        padding: 68px 0;
    }

    .ecuador-grid {
        gap: 30px;
    }

    .ecuador-image {
        border-radius: 22px;
    }

    .ecuador-image img {
        aspect-ratio: 1 / 1;
    }

    .ecuador-badge {
        left: 15px;
        bottom: 15px;
        padding: 11px 14px;
    }

    .ecuador-content h2 {
        font-size: 31px;
        letter-spacing: -.8px;
    }

    .ecuador-content .ecuador-lead {
        font-size: 17px;
    }

    .training-items {
        grid-template-columns: 1fr;
    }

    .training-item {
        padding: 11px 12px;
    }

    .international-box {
        padding: 17px;
    }

    .international-icon {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }
}






/* =========================================
   START YOUR PILOT JOURNEY
========================================= */

.pilot-journey-cta {
    position: relative;
    overflow: hidden;
    padding: 90px 0;
    background:
        linear-gradient(
            135deg,
            rgba(4, 18, 48, .97),
            rgba(12, 52, 117, .96)
        );
    color: #fff;
}

/* Decorative background elements */
.pilot-journey-cta:before {
    content: "";
    position: absolute;
    width: 480px;
    height: 480px;
    right: -180px;
    top: -220px;
    border-radius: 50%;
    border: 1px solid rgba(255, 189, 22, .18);
}

.pilot-journey-cta:after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    left: -150px;
    bottom: -170px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .08);
}

.pilot-journey-inner {
    position: relative;
    z-index: 2;
    max-width: 1000px;
    margin: auto;
    text-align: center;
}

.pilot-journey-content .eyebrow {
    color: var(--gold);
}

.pilot-journey-content h2 {
    max-width: 850px;
    margin: 12px auto 18px;
    color: #fff;
    font-size: clamp(36px, 5vw, 62px);
    line-height: 1.02;
    letter-spacing: -2px;
}

.pilot-journey-lead {
    max-width: 720px;
    margin: 0 auto;
    color: #d8e3f3;
    font-size: 18px;
    line-height: 1.65;
}


/* JOURNEY PATH */

.journey-path {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 32px auto;
}

.journey-path span {
    padding: 12px 17px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    backdrop-filter: blur(5px);
}

.journey-path b {
    color: var(--gold);
    font-size: 20px;
}


/* DESCRIPTION */

.pilot-journey-text {
    max-width: 730px;
    margin: 0 auto;
    color: #c7d5e9;
    font-size: 15px;
    line-height: 1.7;
}


/* CTA HEADING */

.pilot-journey-content h3 {
    margin: 30px 0 15px;
    color: var(--gold);
    font-size: 20px;
}


/* BUTTONS */

.pilot-journey-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.pilot-journey-actions .btn {
    min-width: 150px;
}

.pilot-journey-actions .btn:not(.gold) {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.4);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 768px) {

    .pilot-journey-cta {
        padding: 75px 0;
    }

    .pilot-journey-content h2 {
        letter-spacing: -1px;
    }

    .journey-path {
        gap: 8px;
    }

    .journey-path b {
        display: none;
    }

    .journey-path span {
        font-size: 12px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 620px) {

    .pilot-journey-cta {
        padding: 65px 0;
    }

    .pilot-journey-content h2 {
        font-size: 34px;
        line-height: 1.08;
    }

    .pilot-journey-lead {
        font-size: 16px;
    }

    .journey-path {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        margin: 25px auto;
    }

    .journey-path span {
        width: 100%;
        text-align: center;
        padding: 11px 12px;
    }

    .pilot-journey-text {
        font-size: 14px;
    }

    .pilot-journey-content h3 {
        font-size: 18px;
    }

    .pilot-journey-actions {
        flex-direction: column;
        width: 100%;
    }

    .pilot-journey-actions .btn {
        width: 100%;
        max-width: 300px;
    }
}





/* =========================================
   ABOUT AEROVIA
========================================= */

.about-aerovia {
    background: #fff;
    position: relative;
    overflow: hidden;
}

.about-grid {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 70px;
    align-items: start;
}


/* =========================================
   LEFT CONTENT
========================================= */

.about-intro h2 {
    color: var(--navy);
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.05;
    letter-spacing: -1.5px;
    margin: 12px 0 20px;
}

.about-intro > p {
    color: var(--muted);
    font-size: 16px;
    line-height: 1.7;
}

.about-intro .about-lead {
    color: var(--text);
    font-size: 18px;
    line-height: 1.65;
    font-weight: 500;
}


/* =========================================
   OUR APPROACH
========================================= */

.about-approach {
    margin-top: 35px;
    padding: 28px;
    background: linear-gradient(
        135deg,
        #071d49,
        #103b7c
    );
    border-radius: 22px;
    color: #fff;
    position: relative;
    overflow: hidden;
}

.about-approach:after {
    content: "✈";
    position: absolute;
    right: -15px;
    bottom: -35px;
    font-size: 130px;
    line-height: 1;
    color: rgba(255, 255, 255, .045);
    transform: rotate(-12deg);
}

.about-approach-label {
    position: relative;
    z-index: 2;
    color: var(--gold);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.about-approach h3 {
    position: relative;
    z-index: 2;
    color: #fff;
    font-size: 28px;
    margin: 8px 0 12px;
}

.about-approach p {
    position: relative;
    z-index: 2;
    color: #cbd8eb;
    font-size: 14px;
    line-height: 1.65;
    margin-bottom: 10px;
}

.about-actions {
    position: relative;
    z-index: 3;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.about-outline-btn {
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.35) !important;
}


/* =========================================
   RIGHT CONTENT
========================================= */

.about-heading {
    margin-bottom: 22px;
}

.about-heading span {
    color: var(--navy);
    font-size: 24px;
    font-weight: 900;
}


/* Individual items */

.about-item {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 18px;
    padding: 23px 0;
    border-bottom: 1px solid var(--line);
    transition: transform .3s ease;
}

.about-item:first-of-type {
    padding-top: 5px;
}

.about-item:last-child {
    border-bottom: 0;
}

.about-item:hover {
    transform: translateX(7px);
}

.about-item-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    background: #fff1c9;
    border: 1px solid rgba(255, 189, 22, .4);
    border-radius: 16px;
    font-size: 25px;
}

.about-item h3 {
    color: var(--navy);
    font-size: 20px;
    line-height: 1.2;
    margin: 0 0 7px;
}

.about-item p {
    color: var(--muted);
    font-size: 14px;
    line-height: 1.65;
    margin: 0;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 950px) {

    .about-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .about-intro h2 {
        max-width: 700px;
    }

    .about-approach {
        max-width: 700px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 620px) {

    .about-aerovia {
        padding: 68px 0;
    }

    .about-grid {
        gap: 35px;
    }

    .about-intro h2 {
        font-size: 32px;
        letter-spacing: -.8px;
    }

    .about-intro .about-lead {
        font-size: 16px;
    }

    .about-intro > p {
        font-size: 14px;
    }

    .about-approach {
        padding: 23px 20px;
        border-radius: 18px;
    }

    .about-approach h3 {
        font-size: 24px;
    }

    .about-actions {
        flex-direction: column;
    }

    .about-actions .btn {
        width: 100%;
    }

    .about-heading span {
        font-size: 21px;
    }

    .about-item {
        grid-template-columns: 48px 1fr;
        gap: 14px;
        padding: 19px 0;
    }

    .about-item-icon {
        width: 48px;
        height: 48px;
        border-radius: 13px;
        font-size: 21px;
    }

    .about-item h3 {
        font-size: 18px;
    }

    .about-item p {
        font-size: 13px;
    }
}

.about-item-icon svg {
    width: 32px;
    height: auto;
    display: block;
}




/* =========================================
   PROGRAM SECTION
========================================= */

.program-section {
    background: #f5f8fd;
    position: relative;
    overflow: hidden;
}

.program-head {
    max-width: 850px;
}

.program-head h2 {
    font-size: clamp(36px, 5vw, 58px);
}

.program-tagline {
    color: var(--navy) !important;
    font-size: 20px !important;
    font-weight: 800;
}


/* =========================================
   SUBHEADINGS
========================================= */

.program-subheading {
    margin: 50px 0 22px;
}

.program-subheading span {
    display: inline-block;
    color: var(--navy);
    font-size: 22px;
    font-weight: 900;
}


/* =========================================
   PHASES
========================================= */

.program-phases {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
}

.program-phase {
    padding: 32px;
    border-radius: 25px;
    border: 1px solid var(--line);
    background: #fff;
    box-shadow: var(--shadow);
    transition: transform .35s ease, box-shadow .35s ease;
}

.program-phase:hover {
    transform: translateY(-7px);
    box-shadow: 0 25px 55px rgba(4,24,58,.15);
}

.program-phase.phase-india {
    border-top: 5px solid var(--gold);
}

.program-phase.phase-ecuador {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(
        135deg,
        #071d49,
        #103b7c
    );
}

.program-phase-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.phase-label {
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 2px;
    color: var(--gold2);
}

.phase-country {
    padding: 7px 11px;
    border-radius: 999px;
    background: #fff1c9;
    color: var(--navy);
    font-size: 12px;
    font-weight: 900;
}

.phase-ecuador .phase-country {
    background: rgba(255,255,255,.12);
    color: #fff;
}

.program-phase h3 {
    margin: 0 0 12px;
    color: var(--navy);
    font-size: 29px;
}

.phase-ecuador h3 {
    color: #fff;
}

.program-phase > p {
    color: var(--muted);
    line-height: 1.7;
}

.phase-ecuador > p {
    color: #cbd8eb;
}

.program-phase ul {
    margin: 20px 0;
    padding-left: 20px;
}

.program-phase li {
    margin: 9px 0;
    color: var(--text);
    font-weight: 600;
}

.phase-outcome {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: 25px;
    padding: 17px;
    border-radius: 14px;
    background: #f5f8fd;
    border-left: 4px solid var(--gold);
}

.phase-outcome strong {
    color: var(--navy);
    font-size: 13px;
}

.phase-outcome span {
    color: var(--muted);
    font-size: 13px;
}

.phase-highlight {
    margin-top: 25px;
    padding: 17px;
    border-radius: 14px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.15);
    color: var(--gold);
    font-weight: 900;
}


/* =========================================
   FLIGHT PATHWAY
========================================= */

.flight-pathway {
    margin-top: 20px;
}

.flight-steps {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    max-width: 850px;
    margin: auto;
}

.flight-step {
    display: grid;
    grid-template-columns: 48px 55px 1fr;
    align-items: center;
    gap: 15px;
    padding: 19px 22px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 17px;
    transition: all .3s ease;
}

.flight-step:hover {
    transform: translateX(7px);
    border-color: rgba(255,189,22,.55);
    box-shadow: 0 12px 30px rgba(4,24,58,.09);
}

.flight-step-number {
    color: var(--gold2);
    font-size: 13px;
    font-weight: 900;
}

.flight-step-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    background: #fff1c9;
    border-radius: 13px;
    font-size: 22px;
}

.flight-step span {
    color: var(--gold2);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1.5px;
}

.flight-step h3 {
    color: var(--navy);
    font-size: 18px;
    margin: 3px 0 0;
}

.flight-step-arrow {
    height: 35px;
    display: grid;
    place-items: center;
    color: var(--gold2);
    font-size: 25px;
    font-weight: 900;
}


/* =========================================
   STRUCTURED PATHWAY
========================================= */

.structured-path {
    margin-top: 55px;
}

.structured-track {
    display: grid;
    grid-template-columns: 1fr 35px 1fr 35px 1.2fr 35px 1fr;
    align-items: center;
    gap: 10px;
}

.structured-item {
    min-height: 120px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: 0 8px 25px rgba(15,37,72,.06);
}

.structured-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: grid;
    place-items: center;
    background: #fff1c9;
    border-radius: 13px;
    font-size: 21px;
}

.structured-item strong {
    display: block;
    color: var(--navy);
    font-size: 14px;
    line-height: 1.3;
}

.structured-item span {
    display: block;
    margin-top: 5px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.4;
}

.structured-arrow {
    text-align: center;
    color: var(--gold2);
    font-size: 24px;
    font-weight: 900;
}


/* =========================================
   SUPPORT
========================================= */

.program-support {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 45px;
    align-items: center;
    margin-top: 65px;
    padding: 38px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 27px;
    box-shadow: var(--shadow);
}

.support-intro h2 {
    color: var(--navy);
    font-size: 34px;
    margin: 10px 0;
}

.support-intro p {
    color: var(--muted);
    font-size: 14px;
    line-height: 1.65;
}

.support-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.support-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px;
    border-radius: 12px;
    background: #f5f8fd;
    color: var(--navy);
    font-size: 13px;
}

.support-item span {
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
    display: grid;
    place-items: center;
    background: var(--gold);
    color: var(--navy);
    border-radius: 50%;
    font-weight: 900;
}


/* =========================================
   PROGRAM CTA
========================================= */

.program-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 55px;
    padding: 35px 40px;
    border-radius: 25px;
    background: linear-gradient(
        135deg,
        #071d49,
        #103b7c
    );
    color: #fff;
}

.program-cta .eyebrow {
    color: var(--gold);
}

.program-cta h2 {
    margin: 8px 0 0;
    color: #fff;
    font-size: 30px;
}

.program-cta-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    flex-shrink: 0;
}

.program-download {
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1050px) {

    .structured-track {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .structured-arrow {
        transform: none;
    }

    .structured-item {
        min-height: auto;
    }
}

@media (max-width: 850px) {

    .program-phases {
        grid-template-columns: 1fr;
    }

    .program-support {
        grid-template-columns: 1fr;
    }

    .program-cta {
        flex-direction: column;
        align-items: flex-start;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 620px) {

    .program-section {
        padding: 68px 0;
    }

    .program-head h2 {
        font-size: 34px;
    }

    .program-tagline {
        font-size: 17px !important;
    }

    .program-subheading {
        margin-top: 38px;
    }

    .program-subheading span {
        font-size: 20px;
    }

    .program-phase {
        padding: 23px 20px;
        border-radius: 19px;
    }

    .program-phase h3 {
        font-size: 24px;
    }

    .program-phase-top {
        align-items: flex-start;
        flex-direction: column;
        gap: 9px;
    }

    .flight-step {
        grid-template-columns: 35px 45px 1fr;
        gap: 10px;
        padding: 15px;
    }

    .flight-step-icon {
        width: 42px;
        height: 42px;
        font-size: 19px;
    }

    .flight-step h3 {
        font-size: 16px;
    }

    .flight-step span {
        font-size: 9px;
    }

    .program-support {
        margin-top: 45px;
        padding: 24px 18px;
        border-radius: 20px;
    }

    .support-intro h2 {
        font-size: 28px;
    }

    .support-list {
        grid-template-columns: 1fr;
    }

    .program-cta {
        margin-top: 40px;
        padding: 27px 21px;
        border-radius: 20px;
    }

    .program-cta h2 {
        font-size: 25px;
    }

    .program-cta-actions {
        width: 100%;
        flex-direction: column;
    }

    .program-cta-actions .btn {
        width: 100%;
    }
}





/* =========================================================
   ECUADOR FLIGHT TRAINING SECTION
========================================================= */

.ecuador-training-section {
    position: relative;
    padding: 110px 0;
    background:
        linear-gradient(180deg, #f7faff 0%, #ffffff 55%, #f5f8fd 100%);
    overflow: hidden;
}

.ecuador-training-section::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: rgba(23, 63, 132, 0.045);
    top: -180px;
    right: -160px;
    pointer-events: none;
}

.ecuador-training-head {
    max-width: 850px;
    margin: 0 auto 70px;
    text-align: center;
}

.ecuador-eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--gold2);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 3px;
}

.ecuador-training-head h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 0;
    color: var(--navy);
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.1;
    font-weight: 800;
}

.ecuador-flag-icon {
    width: 42px;
    height: 28px;
    display: inline-flex;
    flex: 0 0 auto;
}

.ecuador-flag-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.ecuador-training-subtitle {
    margin: 18px 0 14px;
    color: var(--blue);
    font-size: 21px;
    font-weight: 700;
}

.ecuador-training-intro {
    max-width: 760px;
    margin: 8px auto 0;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.8;
}


/* =========================================================
   SECTION LABEL
========================================================= */

.ecuador-section-label {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 34px;
}

.ecuador-section-label span {
    height: 1px;
    flex: 1;
    background: var(--line);
}

.ecuador-section-label h3 {
    margin: 0;
    color: var(--navy);
    font-size: 22px;
    font-weight: 800;
    white-space: nowrap;
}


/* =========================================================
   FLIGHT PATHWAY
========================================================= */

.ecuador-pathway {
    margin-bottom: 100px;
}

.ecuador-pathway-track {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 0;
}

.ecuador-pathway-item {
    position: relative;
    width: 170px;
    min-height: 155px;
    padding: 25px 16px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    text-align: center;
    box-shadow: 0 12px 35px rgba(4, 24, 58, 0.07);
    transition: 0.3s ease;
    z-index: 2;
}

.ecuador-pathway-item:hover {
    transform: translateY(-7px);
    border-color: rgba(23, 63, 132, 0.22);
    box-shadow: 0 18px 40px rgba(4, 24, 58, 0.12);
}

.ecuador-pathway-number {
    width: 36px;
    height: 36px;
    margin: 0 auto 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--navy);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.ecuador-pathway-content h4 {
    margin: 0 0 7px;
    color: var(--navy);
    font-size: 16px;
    font-weight: 800;
}

.ecuador-pathway-content p {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
}

.ecuador-pathway-line {
    width: 32px;
    height: 2px;
    margin-top: 45px;
    background: var(--gold);
    position: relative;
}

.ecuador-pathway-line::after {
    content: "›";
    position: absolute;
    right: -3px;
    top: 50%;
    transform: translateY(-53%);
    color: var(--gold2);
    font-size: 22px;
    font-weight: 800;
}


/* =========================================================
   WHY TRAIN IN ECUADOR
========================================================= */

.ecuador-why {
    margin-bottom: 90px;
}

.ecuador-benefits-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.ecuador-benefit-card {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 28px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: 0 12px 35px rgba(4, 24, 58, 0.06);
    transition: 0.3s ease;
}

.ecuador-benefit-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 42px rgba(4, 24, 58, 0.11);
}

.ecuador-benefit-icon {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #edf3fc;
    color: var(--blue);
    font-size: 24px;
}

.ecuador-benefit-card h4 {
    margin: 2px 0 8px;
    color: var(--navy);
    font-size: 17px;
    font-weight: 800;
}

.ecuador-benefit-card p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   STUDENT LIFE
========================================================= */

.ecuador-student-life {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    min-height: 390px;
    margin-bottom: 70px;
    overflow: hidden;
    border-radius: 24px;
    background: var(--navy);
    box-shadow: var(--shadow);
}

.ecuador-student-life-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 55px;
}

.ecuador-mini-label {
    margin-bottom: 13px;
    color: var(--gold);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
}

.ecuador-student-life-content h3 {
    margin: 0 0 16px;
    color: #fff;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.15;
}

.ecuador-student-life-content p {
    max-width: 460px;
    margin: 0 0 28px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 15px;
    line-height: 1.8;
}

.ecuador-life-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    width: fit-content;
    padding: 13px 20px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 8px;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.3px;
    text-decoration: none;
    transition: 0.3s ease;
}

.ecuador-life-btn span {
    color: var(--gold);
    font-size: 18px;
    transition: 0.3s ease;
}

.ecuador-life-btn:hover {
    background: #fff;
    color: var(--navy);
}

.ecuador-life-btn:hover span {
    transform: translateX(4px);
}

.ecuador-student-life-visual {
    position: relative;
    min-height: 390px;
    overflow: hidden;
}

.ecuador-student-life-visual img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.ecuador-visual-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(7, 29, 73, 0.35),
            rgba(7, 29, 73, 0.03)
        );
}

.ecuador-visual-badge {
    position: absolute;
    right: 25px;
    bottom: 25px;
    display: flex;
    flex-direction: column;
    padding: 15px 18px;
    border-radius: 10px;
    background: rgba(7, 29, 73, 0.88);
    backdrop-filter: blur(8px);
}

.ecuador-visual-badge strong {
    color: var(--gold);
    font-size: 13px;
    letter-spacing: 1.5px;
}

.ecuador-visual-badge span {
    margin-top: 3px;
    color: #fff;
    font-size: 11px;
}


/* =========================================================
   FINAL CTA
========================================================= */

.ecuador-final-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 38px 42px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: 0 12px 35px rgba(4, 24, 58, 0.07);
}

.ecuador-final-cta > div {
    flex: 1;
}

.ecuador-final-cta span {
    display: block;
    margin-bottom: 8px;
    color: var(--gold2);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}

.ecuador-final-cta h3 {
    margin: 0 0 7px;
    color: var(--navy);
    font-size: clamp(23px, 2.5vw, 32px);
    line-height: 1.2;
}

.ecuador-final-cta p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

    .ecuador-pathway-track {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }

    .ecuador-pathway-item {
        width: auto;
    }

    .ecuador-pathway-line {
        display: none;
    }
}


@media (max-width: 800px) {

    .ecuador-training-section {
        padding: 80px 0;
    }

    .ecuador-training-head {
        margin-bottom: 50px;
    }

    .ecuador-training-head h2 {
        font-size: 36px;
    }

    .ecuador-section-label h3 {
        font-size: 19px;
    }

    .ecuador-benefits-grid {
        grid-template-columns: 1fr;
    }

    .ecuador-student-life {
        grid-template-columns: 1fr;
    }

    .ecuador-student-life-visual {
        min-height: 320px;
        order: -1;
    }

    .ecuador-student-life-content {
        padding: 40px 30px;
    }

    .ecuador-final-cta {
        align-items: flex-start;
        flex-direction: column;
        padding: 32px;
    }

}


@media (max-width: 620px) {

    .ecuador-training-section {
        padding: 65px 0;
    }

    .ecuador-training-head h2 {
        font-size: 31px;
        gap: 9px;
    }

    .ecuador-flag-icon {
        width: 36px;
        height: 24px;
    }

    .ecuador-training-subtitle {
        font-size: 18px;
    }

    .ecuador-training-intro {
        font-size: 14px;
        line-height: 1.7;
    }

    .ecuador-section-label {
        gap: 12px;
    }

    .ecuador-section-label h3 {
        font-size: 17px;
    }

    .ecuador-pathway-track {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .ecuador-pathway-item {
        min-height: auto;
        display: flex;
        align-items: center;
        gap: 15px;
        padding: 17px;
        text-align: left;
    }

    .ecuador-pathway-number {
        width: 34px;
        height: 34px;
        margin: 0;
        flex: 0 0 34px;
    }

    .ecuador-pathway-content h4 {
        margin-bottom: 3px;
    }

    .ecuador-benefit-card {
        padding: 22px;
        gap: 15px;
    }

    .ecuador-benefit-icon {
        width: 45px;
        height: 45px;
        flex-basis: 45px;
        font-size: 20px;
    }

    .ecuador-student-life-visual {
        min-height: 250px;
    }

    .ecuador-student-life-content {
        padding: 32px 24px;
    }

    .ecuador-visual-badge {
        right: 15px;
        bottom: 15px;
    }

    .ecuador-final-cta {
        padding: 27px 22px;
    }

    .ecuador-final-cta .btn {
        width: 100%;
        justify-content: center;
    }
}




/* =========================================================
   FAQ SECTION
========================================================= */

.faq-section {
    position: relative;
    padding: 110px 0;
    background: #fff;
    overflow: hidden;
}

.faq-section::before {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: rgba(23, 63, 132, 0.035);
    top: -250px;
    right: -200px;
    pointer-events: none;
}


/* =========================================================
   FAQ HEADER
========================================================= */

.faq-header {
    max-width: 780px;
    margin: 0 auto 55px;
    text-align: center;
}

.faq-eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--gold2);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 3px;
}

.faq-header h2 {
    margin: 0 0 17px;
    color: var(--navy);
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.1;
    font-weight: 800;
}

.faq-header p {
    max-width: 700px;
    margin: 0 auto;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.8;
}


/* =========================================================
   FAQ ACCORDION
========================================================= */

.faq-wrapper {
    max-width: 980px;
    margin: 0 auto;
}

.faq-item {
    margin-bottom: 12px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    transition: border-color 0.3s ease,
                box-shadow 0.3s ease;
}

.faq-item:hover {
    border-color: rgba(23, 63, 132, 0.25);
}

.faq-item.active {
    border-color: rgba(23, 63, 132, 0.2);
    box-shadow: 0 12px 35px rgba(4, 24, 58, 0.07);
}

.faq-question {
    width: 100%;
    display: grid;
    grid-template-columns: 48px 1fr 40px;
    align-items: center;
    gap: 18px;
    padding: 22px 24px;
    border: 0;
    background: transparent;
    color: var(--navy);
    text-align: left;
    cursor: pointer;
}

.faq-number {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f0f4fa;
    color: var(--blue);
    font-size: 11px;
    font-weight: 800;
    transition: 0.3s ease;
}

.faq-item.active .faq-number {
    background: var(--navy);
    color: #fff;
}

.faq-question-text {
    font-size: 16px;
    line-height: 1.45;
    font-weight: 700;
}

.faq-toggle {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f5f7fb;
    color: var(--navy);
    font-size: 22px;
    line-height: 1;
    transition: 0.3s ease;
}

.faq-item.active .faq-toggle {
    background: var(--gold);
    color: var(--navy);
    transform: rotate(45deg);
}

.faq-answer {
    display: none;
    padding: 0 82px 25px;
}

.faq-item.active .faq-answer {
    display: block;
}

.faq-answer p {
    margin: 0 0 13px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.8;
}

.faq-answer p:last-child {
    margin-bottom: 0;
}

.faq-answer ul {
    margin: 10px 0 0;
    padding-left: 20px;
    color: var(--muted);
}

.faq-answer li {
    margin-bottom: 7px;
    padding-left: 4px;
    font-size: 14px;
    line-height: 1.6;
}

.faq-answer li::marker {
    color: var(--gold2);
}


/* =========================================================
   TRAINING PATH INSIDE FAQ
========================================================= */

.faq-training-path {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin-top: 17px;
}

.faq-training-path span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 11px;
    border-radius: 6px;
    background: #f1f5fb;
    color: var(--navy);
    font-size: 11px;
    font-weight: 800;
}

.faq-training-path i {
    color: var(--gold2);
    font-size: 16px;
    font-style: normal;
    font-weight: 800;
}

.faq-note {
    display: inline-block;
    margin-top: 4px;
    padding: 9px 13px;
    border-left: 3px solid var(--gold);
    background: #fff9e8;
    color: var(--muted);
    font-size: 12px;
}


/* =========================================================
   FAQ CTA
========================================================= */

.faq-cta {
    max-width: 1100px;
    margin: 70px auto 0;
    padding: 45px 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    border-radius: 22px;
    background:
        linear-gradient(
            120deg,
            var(--navy) 0%,
            var(--navy2) 100%
        );
    box-shadow: var(--shadow);
    position: relative;
    overflow: hidden;
}

.faq-cta::after {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    right: -100px;
    top: -120px;
    border-radius: 50%;
    border: 45px solid rgba(255, 189, 22, 0.08);
}

.faq-cta-content {
    position: relative;
    z-index: 1;
    max-width: 620px;
}

.faq-cta-eyebrow {
    display: block;
    margin-bottom: 9px;
    color: var(--gold);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}

.faq-cta h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(25px, 3vw, 36px);
    line-height: 1.2;
}

.faq-cta p {
    max-width: 580px;
    margin: 0;
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    line-height: 1.7;
}

.faq-cta-actions {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    min-width: 250px;
}

.faq-cta-actions .btn {
    justify-content: center;
}

.faq-expert-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 48px;
    padding: 12px 18px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 8px;
    color: #fff;
    text-decoration: none;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    transition: 0.3s ease;
}

.faq-expert-btn span {
    color: var(--gold);
    font-size: 17px;
    transition: 0.3s ease;
}

.faq-expert-btn:hover {
    background: #fff;
    color: var(--navy);
}

.faq-expert-btn:hover span {
    transform: translateX(4px);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 800px) {

    .faq-section {
        padding: 80px 0;
    }

    .faq-header {
        margin-bottom: 40px;
    }

    .faq-question {
        grid-template-columns: 42px 1fr 36px;
        gap: 14px;
        padding: 19px;
    }

    .faq-number {
        width: 34px;
        height: 34px;
    }

    .faq-question-text {
        font-size: 14px;
    }

    .faq-answer {
        padding: 0 19px 22px 75px;
    }

    .faq-cta {
        flex-direction: column;
        align-items: flex-start;
        padding: 38px 32px;
    }

    .faq-cta-actions {
        width: 100%;
        max-width: 350px;
    }
}


@media (max-width: 620px) {

    .faq-section {
        padding: 65px 0;
    }

    .faq-header h2 {
        font-size: 32px;
    }

    .faq-header p {
        font-size: 14px;
    }

    .faq-question {
        grid-template-columns: 34px 1fr 32px;
        gap: 10px;
        padding: 17px 14px;
    }

    .faq-number {
        width: 30px;
        height: 30px;
        font-size: 9px;
    }

    .faq-question-text {
        font-size: 13px;
    }

    .faq-toggle {
        width: 30px;
        height: 30px;
        font-size: 19px;
    }

    .faq-answer {
        padding: 0 14px 20px 58px;
    }

    .faq-answer p,
    .faq-answer li {
        font-size: 13px;
    }

    .faq-training-path {
        gap: 5px;
    }

    .faq-training-path span {
        font-size: 10px;
    }

    .faq-training-path i {
        display: none;
    }

    .faq-cta {
        margin-top: 50px;
        padding: 30px 22px;
        border-radius: 17px;
    }

    .faq-cta-actions {
        max-width: none;
    }

    .faq-expert-btn {
        font-size: 11px;
    }
}






/* =========================================================
   CONTACT / ENQUIRY
========================================================= */

.contact {
    padding: 100px 0;
    background: var(--light);
}

.contact-grid {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 70px;
    align-items: center;
}


/* =========================================================
   CONTACT LEFT / TALK TO AEROVIA
========================================================= */

.contact-copy {
    max-width: 500px;
    padding: 45px 42px;
    border-radius: 24px;
    background: linear-gradient(
        145deg,
        #111d55 0%,
        #263d82 100%
    );
    color: #fff;
    box-shadow: 0 18px 45px rgba(4, 24, 58, 0.16);
}

.contact-copy .eyebrow {
    color: var(--gold);
}

.contact-copy h2 {
    margin: 10px 0 18px;
    color: #ffffff !important;
    font-size: clamp(36px, 4vw, 52px);
    line-height: 1.1;
    font-weight: 800;
}

.contact-copy > p {
    margin: 0 0 32px;
    color: rgba(255, 255, 255, 0.78) !important;
    font-size: 15px;
    line-height: 1.8;
}


/* =========================================================
   CONTACT DETAILS
========================================================= */

.contact-details {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.contact-details li {
    display: flex;
    align-items: center;
    gap: 15px;
}

.contact-detail-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;
    background: #fff;

    color: var(--navy);
    font-size: 20px;

    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.contact-details li strong,
.contact-details li > div > span {
    display: block;
}

.contact-details li strong {
    margin-bottom: 4px;
    color: #ffffff !important;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.contact-details li a,
.contact-details li > div > span {
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 14px;
    line-height: 1.5;
    text-decoration: none;
}

.contact-details li a:hover {
    color: var(--gold) !important;
}


/* =========================================================
   FORM CARD
========================================================= */

.form-card {
    padding: 38px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    box-shadow: var(--shadow);
}

.enquiry-header {
    margin-bottom: 28px;
}

.enquiry-label {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--gold2);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.enquiry-header h3 {
    margin: 0 0 7px;
    color: var(--navy);
    font-size: 28px;
}

.enquiry-header p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.6;
}


/* =========================================================
   FORM
========================================================= */

.aerovia-enquiry-form {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.form-field {
    min-width: 0;
}

.form-field:nth-last-of-type(2),
.form-field:last-of-type {
    grid-column: 1 / -1;
}

.form-field label {
    display: block;
    margin-bottom: 7px;
    color: var(--navy);
    font-size: 12px;
    font-weight: 700;
}

.form-field label > span {
    margin-left: 3px;
    color: #d52b2b;
}

.form-field input[type="text"],
.form-field input[type="tel"],
.form-field input[type="email"],
.form-field textarea {
    width: 100%;
    box-sizing: border-box;

    padding: 13px 15px;

    border: 1px solid var(--line);
    border-radius: 8px;

    outline: none;

    background: #fff;
    color: var(--text);

    font-family: inherit;
    font-size: 13px;

    transition: .25s ease;
}

.form-field textarea {
    resize: vertical;
    min-height: 105px;
}

.form-field input:focus,
.form-field textarea:focus {
    border-color: var(--blue);
    box-shadow: 0 0 0 3px rgba(23, 63, 132, .08);
}

.form-field input::placeholder,
.form-field textarea::placeholder {
    color: #9aa7ba;
}


/* =========================================================
   CHECKBOX OPTIONS
========================================================= */

.enquiry-options {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 9px;
}

.enquiry-option {
    display: flex !important;
    align-items: center;

    gap: 9px;
    margin: 0 !important;
    padding: 10px 11px;

    border: 1px solid var(--line);
    border-radius: 7px;

    background: #fafcff;

    cursor: pointer;
    transition: .2s ease;
}

.enquiry-option:hover {
    border-color: rgba(23, 63, 132, .3);
    background: #f5f8fd;
}

.enquiry-option input {
    width: 15px;
    height: 15px;
    margin: 0;

    accent-color: var(--blue);
}

.enquiry-option span {
    margin: 0 !important;
    color: var(--muted);
    font-size: 11px;
    font-weight: 600;
}


/* =========================================================
   SUBMIT
========================================================= */

.enquiry-submit {
    grid-column: 1 / -1;
    width: 100%;
    justify-content: center;

    border: 0;
    cursor: pointer;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 900px) {

    .contact {
        padding: 80px 0;
    }

    .contact-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .contact-copy {
        max-width: 650px;
    }

}


@media (max-width: 620px) {

    .contact {
        padding: 65px 0;
    }

    .contact-copy {
        padding: 35px 25px;
        border-radius: 20px;
    }

    .contact-copy h2 {
        font-size: 34px;
    }

    .contact-copy > p {
        font-size: 14px;
    }

    .form-card {
        padding: 25px 20px;
        border-radius: 16px;
    }

    .enquiry-header h3 {
        font-size: 24px;
    }

    .aerovia-enquiry-form {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .form-field:nth-last-of-type(2),
    .form-field:last-of-type {
        grid-column: auto;
    }

    .enquiry-options {
        grid-template-columns: 1fr;
    }

}




/* =========================================================
   APPLY NOW MODAL
========================================================= */

.apply-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;

    display: none;
    align-items: center;
    justify-content: center;

    padding: 25px;

    opacity: 0;
    visibility: hidden;

    transition:
        opacity .3s ease,
        visibility .3s ease;
}

.apply-modal.active {
    display: flex;
    opacity: 1;
    visibility: visible;
}


/* Overlay */

.apply-modal-overlay {
    position: absolute;
    inset: 0;

    background: rgba(4, 18, 48, 0.78);

    backdrop-filter: blur(7px);
}


/* Dialog */

.apply-modal-dialog {
    position: relative;
    z-index: 2;

    width: min(900px, 100%);
    max-height: calc(100vh - 50px);

    overflow-y: auto;

    padding: 42px;

    border-radius: 22px;

    background: #fff;

    box-shadow:
        0 30px 90px rgba(0, 0, 0, 0.28);

    transform: translateY(25px) scale(.98);

    transition: transform .3s ease;

    scrollbar-width: thin;
}

.apply-modal.active .apply-modal-dialog {
    transform: translateY(0) scale(1);
}


/* Close */

.apply-modal-close {
    position: absolute;
    top: 18px;
    right: 20px;

    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 50%;

    background: #f2f5fa;

    color: var(--navy);

    font-size: 27px;
    line-height: 1;

    cursor: pointer;

    transition: .25s ease;
}

.apply-modal-close:hover {
    background: var(--navy);
    color: #fff;
}


/* =========================================================
   MODAL HEADER
========================================================= */

.apply-modal-header {
    max-width: 720px;
    margin-bottom: 35px;
    padding-right: 40px;
}

.apply-modal-eyebrow {
    display: inline-block;

    margin-bottom: 10px;

    color: var(--gold2);

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 2.5px;
}

.apply-modal-header h2 {
    margin: 0 0 10px;

    color: var(--navy);

    font-size: clamp(30px, 4vw, 43px);
    line-height: 1.1;

    font-weight: 800;
}

.apply-modal-header h3 {
    margin: 0 0 10px;

    color: var(--blue);

    font-size: 17px;
    line-height: 1.5;

    font-weight: 700;
}

.apply-modal-header p {
    margin: 6px 0 0;

    color: var(--muted);

    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   FORM SECTION
========================================================= */

.apply-form-section {
    margin-bottom: 32px;

    padding: 27px;

    border: 1px solid var(--line);
    border-radius: 15px;

    background: #fbfcff;
}

.apply-form-section-title {
    display: flex;
    align-items: center;

    gap: 12px;

    margin-bottom: 22px;
}

.apply-form-section-title > span {
    width: 31px;
    height: 31px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--navy);
    color: #fff;

    font-size: 10px;
    font-weight: 800;
}

.apply-form-section-title h4 {
    margin: 0;

    color: var(--navy);

    font-size: 17px;

    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .4px;
}


/* =========================================================
   FORM GRID
========================================================= */

.apply-form-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 19px;
}

.apply-field {
    min-width: 0;
}

.apply-field-full {
    grid-column: 1 / -1;
}

.apply-field > label {
    display: block;

    margin-bottom: 7px;

    color: var(--navy);

    font-size: 12px;
    font-weight: 700;
}

.apply-field > label > span {
    color: #d52b2b;
    margin-left: 2px;
}


/* Inputs */

.apply-field input[type="text"],
.apply-field input[type="tel"],
.apply-field input[type="email"],
.apply-field select {
    width: 100%;
    box-sizing: border-box;

    min-height: 46px;

    padding: 12px 14px;

    border: 1px solid var(--line);
    border-radius: 8px;

    outline: none;

    background: #fff;
    color: var(--text);

    font-family: inherit;
    font-size: 13px;

    transition: .25s ease;
}

.apply-field select {
    cursor: pointer;
}

.apply-field input:focus,
.apply-field select:focus {
    border-color: var(--blue);

    box-shadow:
        0 0 0 3px rgba(23, 63, 132, .08);
}

.apply-field input::placeholder {
    color: #9aa7ba;
}


/* =========================================================
   RADIO GROUP
========================================================= */

.apply-radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.apply-radio {
    display: inline-flex !important;
    align-items: center;

    gap: 8px;

    margin: 0 !important;
    padding: 10px 13px;

    border: 1px solid var(--line);
    border-radius: 8px;

    background: #fff;

    cursor: pointer;

    transition: .2s ease;
}

.apply-radio:hover {
    border-color: rgba(23, 63, 132, .3);
    background: #f5f8fd;
}

.apply-radio input {
    width: 15px;
    height: 15px;

    margin: 0;

    accent-color: var(--blue);
}

.apply-radio span {
    color: var(--muted);

    font-size: 12px;
    font-weight: 600;
}


/* =========================================================
   PILOT GOAL
========================================================= */

.apply-goal-options {
    display: grid;
    gap: 9px;
}

.apply-goal-option {
    display: flex !important;
    align-items: center;

    gap: 10px;

    margin: 0 !important;
    padding: 12px 14px;

    border: 1px solid var(--line);
    border-radius: 8px;

    background: #fff;

    cursor: pointer;

    transition: .2s ease;
}

.apply-goal-option:hover {
    border-color: rgba(23, 63, 132, .3);
    background: #f5f8fd;
}

.apply-goal-option input {
    width: 16px;
    height: 16px;

    margin: 0;

    flex: 0 0 auto;

    accent-color: var(--blue);
}

.apply-goal-option span {
    color: var(--muted);

    font-size: 13px;
    font-weight: 600;
}


/* =========================================================
   SUBMIT
========================================================= */

.apply-form-submit {
    text-align: center;
}

.apply-form-submit .btn {
    min-width: 230px;

    justify-content: center;

    border: 0;

    cursor: pointer;
}

.apply-form-submit p {
    margin: 12px 0 0;

    color: var(--muted);

    font-size: 11px;
}


/* =========================================================
   BODY LOCK
========================================================= */

body.apply-modal-open {
    overflow: hidden;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 700px) {

    .apply-modal {
        padding: 12px;
    }

    .apply-modal-dialog {
        max-height: calc(100vh - 24px);

        padding: 30px 20px;

        border-radius: 17px;
    }

    .apply-modal-close {
        top: 12px;
        right: 12px;

        width: 36px;
        height: 36px;
    }

    .apply-modal-header {
        padding-right: 35px;
        margin-bottom: 25px;
    }

    .apply-modal-header h2 {
        font-size: 30px;
    }

    .apply-modal-header h3 {
        font-size: 15px;
    }

    .apply-modal-header p {
        font-size: 13px;
    }

    .apply-form-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .apply-field-full {
        grid-column: auto;
    }

    .apply-form-section {
        padding: 20px 16px;
        margin-bottom: 20px;
    }

    .apply-radio-group {
        flex-direction: column;
        align-items: stretch;
    }

    .apply-radio {
        width: 100%;
        box-sizing: border-box;
    }

    .apply-form-submit .btn {
        width: 100%;
    }

}