/* Avato Premium Design System - Match Original Precisely */
:root {
    --primary: #CD1632;      /* Exact Original Red */
    --hover-red: #91202C;
    --navy: #0B1C3F;         /* Exact Original Navy */
    --navy-header: #0B1C3F;
    --text-dark: #0F192F;
    --text-light: #F6F5F8;
    --white: #FFFFFF;
    --bg-light: #F7F3F1;
    --accent: #C0A687;       /* Gold/Beige Accent */
    --icon-gold: #F5A623;    /* GSA Vibrant Gold-Orange Icon Color */
    
    --font-heading: 'Marcellus', serif;
    --font-body: 'Roboto', sans-serif;
    --font-accent: 'Roboto Slab', serif;
    
    --transition: all 0.3s cubic-bezier(.25,.8,.25,1);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-body);
    color: var(--text-dark);
    line-height: 1.7;
    background-color: var(--white);
    overflow-x: hidden;
}

h1, h2, h3, h4, .heading-font {
    font-family: var(--font-heading);
}

a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition);
}

ul {
    list-style: none;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

.section-padding {
    padding: 120px 0;
}

/* Background Textures */
.grunge-overlay {
    position: relative;
}

.grunge-overlay::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-image: url('assets/pattern-white.png'); /* We will mock this if missing */
    opacity: 0.1;
    pointer-events: none;
    z-index: 1;
}

/* Header & Top Bar */
.top-bar {
    background: var(--navy);
    color: var(--white);
    padding: 10px 0;
    font-size: 0.85rem;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.top-bar-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.contact-info {
    display: flex;
    gap: 2rem;
}

.contact-info span i {
    color: var(--primary);
    margin-right: 8px;
}

nav {
    position: absolute;
    top: 44px; /* Height of top bar */
    width: 100%;
    z-index: 1000;
    padding: 0.8rem 0;
    background: var(--white);
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    transition: background 0.3s ease, padding 0.3s ease;
}

/* Premium GSA Transparent Navbar for Hero Banner Integration */
.gsa-transparent-nav:not(.fixed) {
    background: transparent !important;
    box-shadow: none !important;
    border-bottom: none !important;
}

.logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    padding: 6px 16px;
    border-radius: 8px;
    transition: opacity 0.3s ease, max-width 0.3s ease, padding 0.3s ease;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    max-width: 200px;
}

/* Hide logo in transparent navbar until scrolled */
.gsa-transparent-nav:not(.fixed) .logo {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    max-width: 0;
    padding: 0;
    overflow: hidden;
}


nav.fixed {
    position: fixed;
    top: 0;
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from { transform: translateY(-100%); }
    to { transform: translateY(0); }
}

/* Fixed styles consolidated into base nav and .fixed class above */


.nav-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo img {
    height: 40px; /* Sleeker, highly proportional logo height inside brand card */
    width: auto;
    display: block;
}

/* Logo fixed blend removed */


.nav-links {
    display: flex;
    align-items: center;
    gap: clamp(1.5rem, 3vw, 3rem);
    margin-left: auto; /* Push menu items to the right since logo is removed */
}

.nav-links a {
    color: var(--text-dark);
    font-family: var(--font-heading);
    font-size: 1.05rem;
    font-weight: 500;
    text-transform: uppercase;
}

.start-btn {
    background: var(--primary);
    color: var(--white) !important;
    padding: 0.8rem 2rem;
    font-weight: 600;
    font-size: 0.9rem;
    letter-spacing: 1px;
}

.start-btn:hover {
    background: var(--hover-red);
}

/* Hero Section Redesigned as GSA Corporate Dashboard with Text Content */
.hero {
    position: relative;
    height: auto; /* Allow section to grow naturally with contents */
    min-height: 100vh; /* Maintain at least full screen viewport height */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    color: var(--navy);
    text-align: center; /* Center-aligned for elegant text layout */
    overflow: visible; /* Ensure showcase and bottom ribbon are always visible */
    padding-top: 140px; /* Increased space below the absolute transparent navbar for elegant breathing room */
    background: linear-gradient(to bottom, #EBF4F9 0%, #FFFBF5 55%, #FFFFFF 100%);
    z-index: 1;
}

/* Premium background image aligned perfectly to the right with responsive edge blur */
.hero::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    aspect-ratio: 1; /* Keep square to match the image aspect ratio */
    background-image: url('assets/gsa-banner-image-no-text.png');
    background-repeat: no-repeat;
    background-position: center, center;
    background-size: cover;
    z-index: 1;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.25) 20%, rgba(0, 0, 0, 0.7) 50%, rgba(0, 0, 0, 1) 80%);
    mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.25) 20%, rgba(0, 0, 0, 0.7) 50%, rgba(0, 0, 0, 1) 80%);
}

.hero-container {
    width: 100%;
    max-width: 1400px;
    padding: 0 4rem;
    margin: 0 auto;
    flex: 1;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 4;
}

.gsa-content-col {
    width: 55%; /* Refined column width for neat spacing */
    max-width: 760px;
    position: relative;
    z-index: 5;
    padding-top: 20px;
    padding-bottom: 40px;
    display: flex;
    flex-direction: column;
    align-items: center; /* Center-align children blocks like the pillars grid */
    text-align: center;
}

/* Titles */
.hero h1 {
    font-family: var(--font-body), sans-serif;
    font-size: clamp(1.6rem, 3.6vw, 3.1rem); /* Proportional and elegant */
    color: var(--navy);
    font-weight: 800; /* Extra bold matching reference mockup */
    line-height: 1.15;
    text-transform: uppercase;
    white-space: nowrap; /* Strictly force single line on desktop viewports */
    margin: 0 0 1rem 0;
    text-align: center;
}

.gsa-title-separator {
    display: flex;
    align-items: center;
    justify-content: center; /* Center the airplane and line separator */
    gap: 1rem;
    margin: 1.2rem auto;
    width: 100%;
    max-width: 600px;
}

.gsa-title-separator .gsa-line {
    flex: 0 1 120px;
    height: 2px;
    background: var(--accent);
}

.gsa-title-separator .gsa-airplane {
    color: var(--navy);
    font-size: 1.2rem;
    transform: rotate(45deg);
    display: inline-block;
}

.hero h2 {
    font-family: var(--font-body); /* Clean premium sans-serif typography matching reference */
    font-size: clamp(1rem, 2.2vw, 1.45rem); /* Highly optimized secondary heading size to fit on one line */
    color: var(--navy);
    font-weight: 800; /* Extra bold weighting to stand out clearly */
    letter-spacing: 2px; /* Sleek, spacious letter-spacing that fits elegantly */
    text-transform: uppercase;
    white-space: nowrap; /* Prevent text wrapping onto a second line */
    margin: 0 0 2rem 0;
    text-align: center;
}

.gsa-desc {
    font-size: 1.15rem;
    line-height: 1.75;
    color: #333333; /* Slightly darker and highly readable text */
    margin: 0 auto 2.5rem auto; /* Centered in column with clean bottom margin */
    max-width: 680px;
    text-align: center;
}

/* Core Pillars Grid - Redesigned as a Premium Unified Corporate Widget */
.gsa-pillars-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0; /* No gap to make it a unified horizontal block */
    margin-top: 2rem;
    margin-bottom: 3.5rem;
    width: 100%;
    max-width: 820px;
    background: var(--navy);
    border: 2px solid var(--accent); /* Solid gold/accent border matching reference */
    border-radius: 20px; /* Rounded corners as in reference image */
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(11, 28, 63, 0.25);
}

.gsa-pillar-card {
    background: transparent;
    border: none;
    position: relative; /* Position relative for the vertical separators */
    border-radius: 0;
    padding: 1.4rem 1rem; /* Sleeker, more compact padding matching reference */
    color: var(--white);
    text-align: center;
    transition: all 0.3s cubic-bezier(.25,.8,.25,1);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* Elegant gold vertical separators that do not touch top/bottom edges */
.gsa-pillar-card::after {
    content: '';
    position: absolute;
    right: 0;
    top: 25%;
    height: 50%;
    width: 1px;
    background-color: rgba(192, 166, 135, 0.45);
}

.gsa-pillar-card:last-child::after {
    display: none;
}

.gsa-pillar-card:hover {
    background: rgba(255, 255, 255, 0.05); /* Subtle white hover highlight */
}

.gsa-card-icon {
    width: 32px; /* Sleeker icon sizing matching reference image */
    height: 32px;
    color: var(--accent); /* Elegant warm gold stroke color matching reference */
    margin-bottom: 0.8rem;
    transition: all 0.3s cubic-bezier(.25,.8,.25,1);
}

.gsa-plane-icon {
    transform: rotate(45deg); /* Angled up-right airplane */
}

.gsa-pillar-card:hover .gsa-card-icon:not(.gsa-plane-icon) {
    transform: scale(1.12); /* Modern micro-scale glow animation */
    filter: drop-shadow(0 0 8px rgba(192, 166, 135, 0.6));
}

.gsa-pillar-card:hover .gsa-plane-icon {
    transform: rotate(45deg) scale(1.12); /* Maintain rotation while scaling on hover */
    filter: drop-shadow(0 0 8px rgba(192, 166, 135, 0.6));
}

.gsa-pillar-card .gsa-card-title {
    font-family: var(--font-body); /* Clean, premium sans-serif typography matching reference */
    font-size: 0.75rem; /* Compact size for two elegant lines */
    letter-spacing: 0.8px;
    line-height: 1.3;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--white) !important;
}

/* Airline Partners Showcase */
.gsa-airlines-showcase {
    background: #ffffff;
    width: 100%;
    padding: 3.5rem 4rem 2rem 4rem;
    border-top: 1.5px solid var(--accent); /* Thin gold line divider above the showcase */
    text-align: center;
    position: relative;
    z-index: 10;
}

.gsa-airlines-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    margin-bottom: 2.5rem;
}

.gsa-airlines-header .gsa-showcase-title {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    color: var(--navy);
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 700;
}

.gsa-airlines-header .gsa-line {
    flex: 0 1 120px;
    height: 2px;
    background: var(--accent);
}

.gsa-airlines-row {
    display: flex;
    align-items: center;
    justify-content: space-between; /* Spread evenly across the full width */
    gap: 1rem;
    margin-bottom: 2.5rem;
    flex-wrap: nowrap; /* Force single row on desktop */
    width: 100%;
    max-width: 1500px; /* Large screen stretch */
    margin-left: auto;
    margin-right: auto;
    padding: 0 2rem;
}

.gsa-airline-logo-box {
    flex: 1; /* Distribute space evenly */
    height: 75px; /* Larger logo container height */
    max-width: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    padding: 0;
    transition: var(--transition);
}

.gsa-airline-logo-box:hover {
    transform: scale(1.05);
}

.gsa-airline-logo {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
}

.gsa-airline-divider {
    width: 1.5px;
    height: 45px; /* Taller divider for visual balance */
    background-color: rgba(11, 28, 63, 0.2);
    align-self: center;
    flex-shrink: 0; /* Protect lines from shrinking */
}

.gsa-airlines-footer-text {
    font-size: 0.85rem;
    color: var(--navy);
    letter-spacing: 1.5px;
    text-transform: uppercase;
    font-weight: 600;
}

.gsa-airlines-footer-text span {
    color: var(--accent);
}

/* Curved SVG transition styling */
.gsa-footer-curve {
    position: absolute;
    top: -79px; /* Absolute overlap with bottom of showcase */
    left: 0;
    width: 100vw;
    height: 80px;
    margin-left: calc(-50vw + 50%);
    pointer-events: none;
    z-index: 12;
}

.gsa-footer-curve svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* Full Width Bottom Banner Bar */
.gsa-footer-bar {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    background-color: var(--navy);
    background-image: 
        linear-gradient(rgba(11, 28, 63, 0.93), rgba(11, 28, 63, 0.93)),
        url('assets/world-map-dots.png');
    background-repeat: no-repeat, no-repeat;
    background-position: center, center;
    background-size: cover, cover;
    border-top: 2px solid var(--accent); /* Elegant gold top border matching mockup */
    padding: 1.8rem 4rem 1.6rem 4rem; /* Balanced padding */
    display: flex;
    justify-content: center; /* Center items horizontally */
    align-items: center;
    gap: 1.8rem; /* Reduced gap between items and dividers for compact centering */
    color: var(--white);
    position: relative;
    z-index: 10;
}

.gsa-footer-divider {
    width: 1.5px;
    height: 35px;
    background-color: var(--accent); /* Sleek gold boundary divider matching reference */
    flex-shrink: 0;
    opacity: 0.7;
}

.gsa-footer-left {
    display: flex;
    gap: 1.8rem;
    align-items: center;
}

.gsa-footer-item {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.gsa-footer-icon {
    width: 28px; /* Slightly larger, prominent icon size matching mockup */
    height: 28px;
    color: var(--accent);
    flex-shrink: 0;
}

.gsa-footer-label {
    font-family: var(--font-body);
    font-size: 0.85rem;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    font-weight: 700;
}

.gsa-footer-right {
    font-family: var(--font-body);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    line-height: 1.35;
    text-align: left;
    text-transform: uppercase;
    color: var(--accent);
}

/* Premium GSA Hero Corporate Branding Styles */
.gsa-hero-logo {
    width: clamp(280px, 32vw, 420px); /* Enlarged logo width for high readability */
    margin: 0 auto 2.5rem auto; /* Centered in column */
    display: block;
}

.gsa-hero-logo img {
    width: 100%;
    height: auto;
    display: block;
}

/* Corner Vector Curves & Map Overlay */
.gsa-curve-top-left {
    position: absolute;
    top: 0;
    left: 0;
    width: clamp(280px, 22vw, 380px);
    height: auto;
    z-index: 3;
    pointer-events: none;
}

.gsa-curve-top-left svg {
    width: 100%;
    height: auto;
    display: block;
}

.gsa-curve-bottom-right {
    position: absolute;
    bottom: 0;
    right: 0;
    width: clamp(280px, 22vw, 380px);
    height: auto;
    z-index: 9;
    pointer-events: none;
}

.gsa-curve-bottom-right svg {
    width: 100%;
    height: auto;
    display: block;
}

.gsa-hero-map-overlay {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-image: url('assets/world-map-dots.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right top;
    opacity: 0.12; /* Faded dotted world map matching reference mockup */
    z-index: 2;
    pointer-events: none;
}

.gsa-desc-airplane-divider {
    display: flex;
    justify-content: flex-start;
    color: var(--accent);
    margin-bottom: 1.5rem;
}

.gsa-desc-airplane-divider svg {
    width: 20px;
    height: 20px;
    transform: rotate(45deg);
}

/* Premium Gold-Trimmed Curved Cockpit Frame Overlay */
.gsa-hero-cockpit-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 8;
    pointer-events: none;
}

.gsa-hero-cockpit-frame svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* Responsiveness overrides */
@media (max-width: 1024px) {
    .hero::before {
        display: none;
    }
    .hero {
        padding-top: 130px;
        background: linear-gradient(rgba(255,255,255,0.94), rgba(255,255,255,0.94)), url('assets/gsa-banner-image-no-text.png') no-repeat center right / cover;
    }
    .hero-container {
        padding: 0 2rem;
    }
    .gsa-content-col {
        width: 100%;
        max-width: 100%;
    }
    .hero h1, .hero h2 {
        white-space: normal; /* Allow text wrapping on mobile screens */
    }
    .gsa-pillars-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.2rem;
        background: transparent;
        border: none;
        border-radius: 0;
        box-shadow: none;
        overflow: visible;
        max-width: 100%;
    }
    .gsa-pillar-card {
        background: var(--navy);
        border: 1.5px solid var(--accent);
        border-right: 1.5px solid var(--accent); /* Override desktop border-right */
        border-radius: 12px;
        padding: 1.8rem 1rem;
        box-shadow: 0 4px 15px rgba(0,0,0,0.15);
    }
    .gsa-pillar-card::after {
        display: none; /* Hide desktop elegant separators on mobile */
    }
    .gsa-pillar-card:last-child {
        border-right: 1.5px solid var(--accent); /* Restore right border for last card */
    }
    .gsa-airlines-showcase {
        max-width: 100%;
        padding: 2.5rem 2rem;
    }
    .gsa-airline-divider {
        display: none; /* Hide dividers on tablet/mobile screens */
    }
    .gsa-airlines-row {
        flex-wrap: wrap;
        justify-content: center;
        gap: 2rem;
    }
    .gsa-airline-logo-box {
        min-width: 130px;
        flex: 0 1 auto;
    }
    .gsa-footer-bar {
        flex-direction: column;
        gap: 1.5rem;
        padding: 2rem;
    }
    .gsa-footer-left {
        flex-direction: column;
        gap: 1rem;
    }
    .gsa-footer-curve {
        display: none; /* Hide curved transition on mobile */
    }
    .gsa-footer-divider {
        display: none; /* Hide footer vertical dividers on mobile since stacked */
    }
    .gsa-curve-top-left, .gsa-curve-bottom-right {
        display: none; /* Hide curves on mobile for cleaner screen usage */
    }

    /* GSA About ("Who We Are") Section Responsive Overrides */
    .gsa-about-container {
        flex-direction: column;
        gap: 3rem;
        padding: 0 2rem 3rem 2rem;
    }
    .gsa-about-left {
        max-width: 100%;
        align-items: center;
        text-align: center;
    }
    .gsa-about-left .gsa-section-logo {
        justify-content: center;
    }
    .gsa-about-left .gsa-about-points {
        max-width: 100%;
    }
    .gsa-about-left .point-divider {
        width: 100%;
        margin: 1.2rem auto;
    }
    .gsa-about-left .gsa-about-point {
        justify-content: center;
    }
    .gsa-about-middle {
        width: 100%;
        height: auto;
        flex-direction: row;
        justify-content: center;
        gap: 1.5rem;
        position: relative;
        padding: 1.5rem 0;
    }
    .gsa-about-middle .gsa-circle-frame {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: clamp(90px, 22vw, 160px);
        height: clamp(90px, 22vw, 160px);
        border-width: 3px;
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
    }
    .gsa-about-middle .gsa-circle-frame:hover {
        transform: scale(1.08);
    }
    .gsa-about-middle .gsa-flight-path-bg {
        display: none; /* Hide flight path background behind row of circles on mobile */
    }
    .gsa-about-section::before {
        display: none; /* Hide full-bleed background on mobile */
    }
    .gsa-about-right {
        width: 100%;
        max-width: 100%;
        height: clamp(250px, 50vh, 400px);
        border-radius: 20px;
        background-image: url('assets/airplane-window-child.png');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        box-shadow: 0 10px 25px rgba(0,0,0,0.12);
        pointer-events: auto;
    }

    /* Redesigned Why Us Responsive Overrides */
    .gsa-why-us-section::before {
        display: none; /* Hide background plane on mobile */
    }
    .gsa-why-us-top {
        flex-direction: column;
        min-height: auto;
    }
    .gsa-why-us-left {
        max-width: 100%;
        padding: 60px 2rem 40px 2rem;
    }
    .gsa-why-us-right {
        height: 380px;
        min-height: 380px;
        margin: 0 2rem;
        border-radius: 20px;
        box-shadow: 0 10px 25px rgba(0,0,0,0.12);
        background-image: url('assets/airplane-front-tarmac.png');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
    .gsa-why-us-bottom-bar {
        flex-direction: column;
        gap: 1.8rem;
        padding: 3rem 2rem;
    }
    .gsa-why-us-value-card {
        max-width: 100%;
        width: 100%;
    }
    .gsa-value-divider {
        display: none;
    }
}

@media (max-width: 600px) {
    .gsa-pillars-grid {
        grid-template-columns: 1fr;
    }
    .gsa-airlines-row {
        justify-content: center;
        gap: 1rem;
    }
    .gsa-airline-logo-box {
        min-width: calc(50% - 1rem);
    }
}

/* ==========================================
   Who We Are (GSA About Section) Redesign 
   ========================================== */
.gsa-about-section {
    position: relative;
    background-color: #fcfcfc;
    /* Soft curve border transition above the section */
    border-top: 1px solid rgba(192, 166, 135, 0.25);
    padding: 100px 0 0 0; /* No bottom padding since footer is full-width bottom */
    overflow: hidden;
    z-index: 1;
}

/* Natively blended full-bleed airplane window background image */
.gsa-about-section::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 46vw; /* Occupy the right portion of the section */
    height: 100%;
    background-image: url('assets/airplane-window-child.png');
    background-repeat: no-repeat;
    background-position: right center;
    background-size: cover;
    z-index: 1;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.15) 15%, rgba(0, 0, 0, 0.8) 55%, rgba(0, 0, 0, 1) 100%);
    mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.15) 15%, rgba(0, 0, 0, 0.8) 55%, rgba(0, 0, 0, 1) 100%);
}

/* Gold curved stroke border divider at the top boundary */
.gsa-section-top-curve {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
    pointer-events: none;
    z-index: 2;
}

.gsa-about-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 3.5rem;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 4rem 4rem 4rem; /* Padding at bottom for spacing before footer bar */
    position: relative;
    z-index: 2; /* Float above full-bleed background image */
}

/* Left Column - Text details */
.gsa-about-left {
    flex: 1.4;
    max-width: 580px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Section logo heading */
.gsa-section-logo {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 1.5rem;
}

.gsa-section-logo img {
    height: 48px; /* High-res brand logo emblem */
    object-fit: contain;
}

/* Who We Are Title */
.gsa-about-title {
    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4.5vw, 3.8rem);
    font-weight: 700;
    line-height: 1.1;
    margin: 0 0 1.2rem 0;
}

.gsa-about-title .blue-text {
    color: #0072BC; /* Vibrant GSA Blue */
}

.gsa-about-title .navy-text {
    color: var(--navy); /* Deep Corporate Navy */
}

/* Subtitle paragraph */
.gsa-about-subtitle {
    font-family: var(--font-body);
    font-size: 1.15rem;
    font-weight: 500;
    line-height: 1.6;
    color: #1A2E5A; /* Deep greyish navy */
    margin-bottom: 2.5rem;
    max-width: 500px;
}

/* Points list */
.gsa-about-points {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 480px;
}

.gsa-about-point {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    text-align: left;
}

.point-icon-wrapper {
    width: 40px;
    height: 40px;
    background-color: var(--navy);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    flex-shrink: 0;
    box-shadow: 0 4px 10px rgba(11, 28, 63, 0.2);
    transition: var(--transition);
}

.gsa-about-point:hover .point-icon-wrapper {
    background-color: #0072BC; /* Interactive color shift */
    transform: rotate(10deg);
}

.point-icon-wrapper svg {
    width: 18px;
    height: 18px;
    stroke-width: 2.2; /* Thick outline strokes for sharp vector rendering */
}

.point-text {
    font-family: var(--font-body);
    font-size: 0.95rem;
    font-weight: 600;
    color: #333333;
    line-height: 1.5;
}

.point-divider {
    height: 1px;
    background: linear-gradient(90deg, var(--accent) 0%, rgba(192, 166, 135, 0.1) 100%);
    margin: 1.2rem 0;
    width: 90%;
    opacity: 0.75;
}

/* Middle Column - Overlapping Circles Grid */
.gsa-about-middle {
    position: relative;
    width: 280px;
    height: 500px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
}

.gsa-circle-frame {
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    border: 5px solid var(--white); /* Thick premium white border */
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.18); /* High 3D layered drop shadow */
    transition: all 0.4s cubic-bezier(.25,.8,.25,1);
}

.gsa-circle-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gsa-circle-frame:hover {
    transform: scale(1.08) translateY(-4px);
    z-index: 10 !important; /* Bring current circle to the absolute front on hover */
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.28);
}

/* Overlap positions */
.top-circle {
    top: 0;
    right: 5px;
    z-index: 2;
}

.middle-circle {
    top: 160px;
    left: 5px;
    z-index: 4; /* Middle sits on top of others */
}

.bottom-circle {
    bottom: 0;
    right: 5px;
    z-index: 2;
}

/* Flight Path SVG Background overlay behind the circles */
.gsa-flight-path-bg {
    position: absolute;
    top: 2%;
    left: 2%;
    width: 96%;
    height: 96%;
    opacity: 0.45;
    z-index: 1;
    pointer-events: none;
}

/* Right Column - Cabin Window Image with sweeping curve divider */
/* Right Column - Invisible spacer container reserving layout width on desktop */
.gsa-about-right {
    position: relative;
    flex: 1.3;
    height: 500px;
    background: transparent;
    pointer-events: none;
}

/* Sweep curve SVG on top of the child image to simulate airplane fuselage contours */
.gsa-right-gold-curve {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    pointer-events: none;
}

/* ==========================================
   Horizontal Footer Ribbon Bar (Ribbon Style)
   ========================================== */
.gsa-footer-bar {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    background: var(--navy);
    border-top: 2.5px solid var(--accent); /* Sleek gold boundary top line */
    padding: 1.5rem 6rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--white);
    position: relative;
    z-index: 10;
    box-shadow: 0 -10px 30px rgba(11,28,63,0.15);
}

.gsa-footer-left {
    display: flex;
    align-items: center;
    gap: 3rem;
    flex: 1;
}

.gsa-footer-item {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.gsa-footer-icon {
    width: 32px; /* Taller icon for high fidelity details */
    height: 32px;
    color: var(--icon-gold); /* GSA brand orange-gold color variable */
    flex-shrink: 0;
    transition: var(--transition);
}

.gsa-footer-item:hover .gsa-footer-icon {
    transform: scale(1.15);
    filter: drop-shadow(0 0 6px rgba(245, 166, 35, 0.7));
}

.gsa-footer-text-block {
    display: flex;
    flex-direction: column;
    text-align: left;
    line-height: 1.25;
}

.gsa-footer-line-1,
.gsa-footer-line-2 {
    font-family: var(--font-body);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--white);
}

/* consolidated into primary styles block */

.gsa-footer-right {
    font-family: var(--font-body);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    line-height: 1.35;
    text-align: left;
    text-transform: uppercase;
    color: var(--accent);
}

/* Why Legend Leagues Section Redesign */
.gsa-why-us-section {
    position: relative;
    background-color: #ffffff;
    padding: 100px 0 0 0;
    overflow: hidden;
    z-index: 1;
}

/* Natively blended tarmac plane background image on the right */
.gsa-why-us-section::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 48vw; /* Occupy the right portion of the section */
    height: 100%;
    background-image: url('assets/airplane-front-tarmac.png');
    background-repeat: no-repeat;
    background-position: right center;
    background-size: cover;
    z-index: 1;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.15) 15%, rgba(0, 0, 0, 0.8) 55%, rgba(0, 0, 0, 1) 100%);
    mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.15) 15%, rgba(0, 0, 0, 0.8) 55%, rgba(0, 0, 0, 1) 100%);
}

.gsa-why-us-top {
    display: flex;
    max-width: 100%;
    position: relative;
    min-height: 580px;
}

.gsa-why-us-left {
    flex: 1.1; /* Slightly larger flex value */
    max-width: 850px; /* Increased max-width to allow growth and balance on large viewports */
    padding: 0 4% 80px 8%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 5;
    background-color: #ffffff;
}

.gsa-why-us-right {
    flex: 1.2;
    position: relative;
    min-height: 580px;
    overflow: hidden;
}

/* Titles and Typography */
.gsa-why-us-title {
    font-family: var(--font-heading);
    font-size: clamp(2.3rem, 4vw, 3.5rem);
    font-weight: 700;
    line-height: 1.15;
    color: var(--navy);
    margin: 0 0 1.2rem 0;
}

.gsa-why-us-title .blue-text {
    color: #0072BC;
}

/* Custom 3-Dot Separator */
.gsa-why-us-separator {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 2rem;
    width: 100%;
}

.gsa-sep-line {
    height: 1.5px;
    background-color: var(--accent);
    width: 80px;
    display: inline-block;
}

.gsa-sep-dots {
    display: flex;
    gap: 6px;
}

.gsa-sep-dots::before,
.gsa-sep-dots::after,
.gsa-sep-dots-mid {
    content: '';
    width: 6px;
    height: 6px;
    background-color: #0072BC;
    transform: rotate(45deg);
    display: inline-block;
}

.gsa-why-us-intro {
    font-family: var(--font-body);
    font-size: 1.05rem;
    line-height: 1.7;
    color: #333333;
    margin-bottom: 2rem;
}

.gsa-why-us-intro .blue-highlight {
    color: #0072BC;
    font-weight: 700;
}

/* Icon Text Block */
.gsa-why-us-block {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    margin-top: 1rem;
}

.gsa-why-us-icon-wrapper {
    width: 48px;
    height: 48px;
    border: 1.8px solid #0072BC;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0072BC;
    flex-shrink: 0;
    box-shadow: 0 4px 10px rgba(0, 114, 188, 0.1);
    transition: var(--transition);
}

.gsa-why-us-block:hover .gsa-why-us-icon-wrapper {
    background-color: #0072BC;
    color: var(--white);
    transform: translateY(-2px);
}

.gsa-why-us-icon-wrapper svg {
    width: 22px;
    height: 22px;
}

.gsa-why-us-block-text {
    font-family: var(--font-body);
    font-size: 0.95rem;
    line-height: 1.6;
    color: #555555;
    margin: 0;
}

/* Bottom Navy Ribbon Bar */
.gsa-why-us-bottom-bar {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    background-color: var(--navy);
    border-top: 2.5px solid var(--accent);
    padding: 2.2rem 4rem;
    display: flex;
    justify-content: center; /* Center the points group */
    align-items: center;
    position: relative;
    z-index: 15;
    box-shadow: 0 -8px 25px rgba(11,28,63,0.12);
}

.gsa-why-us-value-card {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    flex: 0 1 auto; /* Fit content, do not stretch */
    width: auto;
}

.gsa-value-icon-wrapper {
    width: 42px;
    height: 42px;
    border: 2px solid #F5A623;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #F5A623;
    flex-shrink: 0;
    transition: var(--transition);
}

.gsa-why-us-value-card:hover .gsa-value-icon-wrapper {
    background-color: #F5A623;
    color: var(--navy);
    transform: scale(1.1);
}

.gsa-value-icon-wrapper svg {
    width: 20px;
    height: 20px;
}

.gsa-value-text-col {
    display: flex;
    flex-direction: column;
    text-align: left;
}

.gsa-value-title {
    font-family: var(--font-body);
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--white);
    margin: 0 0 0.3rem 0;
}

.gsa-value-desc {
    font-family: var(--font-body);
    font-size: 0.78rem;
    line-height: 1.35;
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
}

.gsa-value-divider {
    width: 1.5px;
    height: 45px;
    background-color: rgba(255, 255, 255, 0.18);
    margin: 0 1.5rem;
}

.section-label {
    color: var(--accent);
    font-size: 1.1rem;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 1.5rem;
    display: block;
}

/* SVG Divider */
.divider-pointed {
    position: relative;
    height: 0;
    width: 100%;
}

.divider-pointed svg {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 20px;
    fill: var(--navy);
}

/* Pricing Section Design */
.pricing-section {
    background-image: linear-gradient(rgba(11, 28, 63, 0.4), rgba(11, 28, 63, 0.4)), url('assets/pricing-bg.jpg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    color: var(--white);
    position: relative;
    padding: 10rem 0;
}

.pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
}

.price-card {
    background: var(--white);
    color: var(--navy);
    padding: 5rem 3.5rem 0rem 3.5rem; /* Padding bottom moved to button */
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 20px 50px rgba(0,0,0,0.1);
    transition: var(--transition);
    position: relative;
}

.price-card:hover {
    transform: translateY(-15px);
}

.card-label {
    display: block;
    color: #c0a687; /* Tan color */
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 2rem;
}

.card-price {
    font-family: var(--font-heading);
    font-size: 5rem;
    font-weight: 400;
    line-height: 1;
    margin-bottom: 2.5rem;
}

.card-price span {
    font-size: 1.2rem;
    font-family: var(--font-body);
}

.card-sep {
    width: 80%;
    border: none;
    border-top: 1px solid #ebebeb;
    margin-bottom: 2.5rem;
}

.card-desc {
    font-size: 0.95rem;
    color: #666;
    line-height: 1.8;
    margin-bottom: 4rem;
}

.btn-book {
    display: block;
    width: 100%;
    padding: 1.5rem;
    background: var(--primary);
    color: var(--white);
    font-family: var(--font-heading);
    font-size: 1.1rem;
    transition: var(--transition);
    text-align: center;
    margin-top: auto;
}

.btn-book:hover {
    background: var(--navy);
}

/* Animations */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.8s ease-out;
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Consolidated Media Queries Moved to Bottom */


/* Experience Section Styles */
#experience {
    position: relative !important;
    background: #ffffff !important;
    overflow: hidden !important;
    padding: 120px 0 !important;
}

#experience .dual-column-alt {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6rem !important;
    align-items: center !important;
    position: relative !important;
    z-index: 2 !important;
}

#experience .experience-image-wrapper {
    position: relative !important;
    box-shadow: 20px 20px 60px rgba(0,0,0,0.1) !important;
}

#experience .experience-image-wrapper img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

#experience .col-text {
    padding-left: 2rem !important;
}

#experience .exp-number {
    font-size: 8rem !important;
    line-height: 1 !important;
    color: #0B1C3F !important;
    margin-bottom: 0.5rem !important;
    font-weight: 400 !important;
    display: block !important;
    font-family: 'Marcellus', serif !important;
}

#experience .exp-title {
    font-size: 3.5rem !important;
    line-height: 1.1 !important;
    color: #0B1C3F !important;
    margin-bottom: 2rem !important;
    display: block !important;
    font-family: 'Marcellus', serif !important;
}

#experience .exp-desc {
    font-size: 1.1rem !important;
    color: #555 !important;
    line-height: 1.7 !important;
    margin-bottom: 3rem !important;
    max-width: 500px !important;
}

#experience .btn-partner {
    display: inline-block !important;
    padding: 1rem 3rem !important;
    background: #CD1632 !important;
    color: #ffffff !important;
    font-family: 'Marcellus', serif !important;
    font-weight: 500 !important;
    text-transform: none !important;
    text-decoration: none !important;
    transition: var(--transition) !important;
}

#experience .btn-partner:hover {
    background: #91202C !important;
    transform: translateY(-3px) !important;
}

#experience .grid-texture {
    position: absolute !important;
    top: 50px !important;
    right: 50px !important;
    width: 400px !important;
    height: 400px !important;
    background-image: 
        linear-gradient(to right, rgba(192, 166, 135, 0.1) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(192, 166, 135, 0.1) 1px, transparent 1px) !important;
    background-size: 30px 30px !important;
    z-index: 1 !important;
}

@media (max-width: 991px) {
    #experience .dual-column-alt {
        grid-template-columns: 1fr !important;
        gap: 4rem !important;
        text-align: center !important;
    }
    #experience .col-text {
        padding-left: 0 !important;
    }
    #experience .exp-desc {
        margin-left: auto !important;
        margin-right: auto !important;
    }
    #experience .exp-number {
        font-size: 6rem !important;
    }
    #experience .exp-title {
        font-size: 2.5rem !important;
    }
}

/* Partner Banner Section */
.partner-banner {
    position: relative;
    padding: 180px 0;
    text-align: center;
    color: var(--white);
    overflow: hidden;
}

.partner-banner-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto; height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    z-index: 0;
}

.partner-banner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
}

.partner-banner .container {
    position: relative;
    z-index: 2;
}

.banner-text {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 4.5vw, 4.2rem);
    line-height: 1.2;
    font-weight: 400;
    margin: 0;
    text-shadow: 0 4px 20px rgba(0,0,0,0.3);
}

@media (max-width: 768px) {
    .partner-banner {
        padding: 100px 0;
        background-attachment: scroll;
    }
    .banner-text {
        font-size: 2.2rem;
    }
}

/* ==========================================
   Industry Relationships & Network Section
   ========================================== */
#relationships {
    background-color: #ffffff;
    position: relative;
    overflow: hidden;
    padding: 100px 0;
}

/* Faded global map background overlay */
.gsa-relationships-bg-map {
    position: absolute;
    top: -50px;
    right: -50px;
    width: 600px;
    height: 600px;
    background-image: url('assets/world-map-dots.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    opacity: 0.15;
    pointer-events: none;
    z-index: 1;
}

#relationships .container {
    max-width: 1400px;
    padding: 0 4rem;
    position: relative;
    z-index: 2;
}

.relationships-header {
    margin-bottom: 3.5rem;
    text-align: left;
}

#relationships .section-label {
    display: block;
    font-family: var(--font-body);
    color: #C0A687; /* Gold accent color */
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    margin-bottom: 1rem;
}

#relationships .section-h2 {
    font-family: var(--font-body); /* Clean, high-impact sans-serif */
    font-size: clamp(2rem, 3.5vw, 2.7rem);
    font-weight: 800;
    line-height: 1.25;
    color: var(--navy);
    margin-bottom: 1.5rem;
    max-width: 900px;
}

.relationships-subtitle {
    font-family: var(--font-body);
    font-size: 1.12rem;
    color: #4A5568;
    line-height: 1.6;
    max-width: 950px;
    margin: 0;
}

.relationships-main-grid {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 4rem;
    width: 100%;
}

/* Left Grid of 6 Cards (2 columns x 3 rows) */
.gsa-relationships-grid {
    flex: 1.35;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}

.gsa-relationship-card {
    position: relative;
    background-color: #ffffff;
    border-radius: 16px;
    border: 1px solid rgba(0, 114, 188, 0.07);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    overflow: hidden;
    display: flex;
    min-height: 165px;
    transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.4s ease;
}

.gsa-relationship-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 114, 188, 0.08);
}

.gsa-card-content {
    flex: 1.2;
    padding: 1.6rem;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    position: relative;
}

.gsa-card-header {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    margin-bottom: 0.8rem;
}

.gsa-card-icon {
    width: 38px;
    height: 38px;
    background-color: var(--navy);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    flex-shrink: 0;
    box-shadow: 0 4px 10px rgba(11, 28, 63, 0.12);
}

.gsa-card-icon svg {
    width: 18px;
    height: 18px;
}

.gsa-card-title {
    font-family: var(--font-body);
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--navy);
    margin: 0;
    line-height: 1.25;
}

.gsa-card-desc {
    font-family: var(--font-body);
    font-size: 0.88rem;
    color: #4A5568;
    line-height: 1.45;
    margin: 0;
}

.gsa-card-bg-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    background-size: cover;
    background-position: center;
    z-index: 1;
    pointer-events: none;
    transition: transform 0.6s ease;
}

.gsa-relationship-card:hover .gsa-card-bg-image {
    transform: scale(1.05);
}

/* Smooth linear-gradient fade from white to transparent */
.gsa-card-bg-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: -1px;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.85) 15%, rgba(255, 255, 255, 0) 100%);
    z-index: 2;
}

/* Right Column - Single Tall Image with Sweeping Curve */
.gsa-relationships-right {
    flex: 1;
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(11, 28, 63, 0.12);
    height: auto;
    min-height: 520px;
}

.gsa-relationships-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gsa-relationships-curve {
    position: absolute;
    bottom: -1px;
    right: -1px;
    width: 102%;
    height: 60px;
    z-index: 3;
    pointer-events: none;
}

.gsa-relationships-curve svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* Media Queries Consolidated Below */


/* ==========================================================================
   Mobile Responsiveness
   ========================================================================== */

/* Hamburger Menu Toggle */
.mobile-menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 21px;
    cursor: pointer;
    z-index: 1001;
}

.mobile-menu-toggle span {
    display: block;
    height: 3px;
    width: 100%;
    background-color: var(--text-dark);
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    transform-origin: center right;
}

.mobile-menu-toggle.active span:nth-child(1) {
    transform: rotate(-45deg) translate(-2px, -1px);
}

.mobile-menu-toggle.active span:nth-child(2) {
    opacity: 0;
    transform: translateX(10px);
}

.mobile-menu-toggle.active span:nth-child(3) {
    transform: rotate(45deg) translate(-2px, 1px);
}

/* Contact Grid Default */
.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6rem;
}

@media (max-width: 1440px) {
    .container {
        max-width: 1240px;
    }
    nav {
        padding: 0.6rem 0;
    }
    .logo img {
        height: 38px;
    }
    .nav-links {
        gap: 2rem;
    }
    .hero {
        height: auto;
        min-height: 100vh;
        display: flex;
        align-items: center;
        padding-bottom: 60px;
    }
    .hero-content {
        margin-top: 0;
        padding-top: 120px;
    }
    .hero h1 {
        font-size: clamp(2rem, 6vw, 4.2rem);
        margin-bottom: 1.5rem;
    }
    .hero-stats {
        gap: 3rem;
        margin-top: 2rem;
    }
    #relationships .container {
        max-width: 1200px;
        padding: 0 2rem;
    }
}

@media (max-width: 1200px) {
    .container {
        max-width: 960px;
    }
    .hero-content {
        margin-top: 0;
        padding-top: 100px;
    }
    .hero h1 {
        font-size: clamp(2rem, 7vw, 3.8rem);
    }
    .hero-stats {
        gap: 2.5rem;
        margin-top: 2rem;
    }
}

@media (max-width: 1024px) {
    .section-padding {
        padding: 80px 0;
    }
    nav {
        padding: 1rem 0;
    }
    .logo img {
        height: 36px; /* Slightly more compact on mobile */
    }
    .mobile-menu-toggle {
        display: flex;
        margin-left: auto; /* Push hamburger to the right when logo is removed */
    }
    .nav-links {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: var(--navy);
        flex-direction: column;
        align-items: center;
        padding: 0;
        max-height: 0;
        overflow: hidden;
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: 0 20px 40px rgba(0,0,0,0.2);
        border-top: 1px solid rgba(255,255,255,0.05);
    }
    nav.fixed .nav-links {
        background-color: var(--navy);
    }
    .nav-links.mobile-active {
        max-height: 500px;
        padding: 1.5rem 0;
    }
    .nav-links li {
        width: 100%;
        text-align: center;
        opacity: 0;
        transform: translateY(10px);
        transition: all 0.3s ease;
    }
    .nav-links.mobile-active li {
        opacity: 1;
        transform: translateY(0);
    }
    /* Staggered animation for menu items */
    .nav-links.mobile-active li:nth-child(1) { transition-delay: 0.1s; }
    .nav-links.mobile-active li:nth-child(2) { transition-delay: 0.2s; }
    .nav-links.mobile-active li:nth-child(3) { transition-delay: 0.3s; }
    .nav-links.mobile-active li:nth-child(4) { transition-delay: 0.4s; }

    .nav-links li a {
        display: block;
        padding: 1rem 2rem;
        color: var(--white) !important;
        font-family: var(--font-heading);
        font-size: 1.1rem;
        letter-spacing: 1px;
        transition: var(--transition);
    }
    .nav-links li a:not(.start-btn):hover {
        background: rgba(255,255,255,0.05);
        color: var(--accent) !important;
    }
    .nav-links .start-btn {
        margin: 1rem auto;
        width: fit-content;
        min-width: 200px;
        display: inline-block;
    }
    .hero-content {
        margin-top: 0 !important;
        padding-top: 110px !important;
    }
    .hero h1 {
        font-size: clamp(2rem, 8vw, 3.5rem);
    }
    .services-center-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .dual-column {
        grid-template-columns: 1fr;
        gap: 4rem;
    }
    .col-right {
        padding-top: 0;
    }
    .pricing-grid {
        grid-template-columns: 1fr;
    }
    .relationships-main-grid {
        flex-direction: column;
        gap: 3rem;
    }
    .gsa-relationships-grid {
        width: 100%;
    }
    .gsa-relationships-right {
        width: 100%;
        height: 480px;
        min-height: auto;
    }
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 4rem;
    }
}

@media (max-width: 768px) {
    .top-bar-content {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 1rem;
        font-size: 0.75rem;
    }
    .contact-info {
        flex-direction: row;
        gap: 1rem;
        justify-content: center;
        flex-wrap: wrap;
    }
    .contact-info span i {
        margin-right: 4px;
    }
    .hero {
        height: auto;
        min-height: 100vh;
        padding-top: 110px !important;
        padding-bottom: 60px;
    }
    .hero-content {
        padding-top: 5px !important;
    }
    .hero h1 {
        font-size: 2.5rem;
    }
    .hero-stats {
        flex-direction: column;
        gap: 2rem;
    }
    .services-center-grid {
        grid-template-columns: 1fr;
    }
    .gsa-relationships-grid {
        grid-template-columns: 1fr;
    }
    #relationships .section-h2 {
        font-size: 1.8rem;
    }
}

/* Airline Partners Section */
.news-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    text-align: left;
    margin-top: 3rem;
}

.news-card {
    display: flex;
    border: 1px solid var(--accent);
    background: var(--white);
    transition: var(--transition);
}

.news-card:hover {
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    transform: translateY(-5px);
}

.news-img {
    flex: 0 0 45%;
    overflow: hidden;
}

.news-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.news-card:hover .news-img img {
    transform: scale(1.05);
}

.news-content {
    flex: 1;
    padding: 2.5rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.news-content h3 {
    font-family: var(--font-heading);
    font-size: 1.7rem;
    color: var(--navy);
    margin-bottom: 1rem;
    line-height: 1.3;
    font-weight: 400;
}

.news-content p {
    font-size: 0.95rem;
    color: #666;
    line-height: 1.6;
    margin: 0;
}

@media (max-width: 991px) {
    .news-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .news-card {
        flex-direction: column;
    }
    .news-img {
        height: 250px;
    }
}

/* Splash landing freeze and unlock styles removed to allow scrolling on startup */

/* ==========================================
   Home Page Main Footer & Copyright Sub-Footer 
   ========================================== */
.gsa-main-footer {
    background-color: var(--navy);
    width: 100%;
    position: relative;
    overflow: hidden;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.gsa-sub-footer {
    background-color: #08152e; /* Slightly darker navy background for copyright block */
    width: 100%;
    padding: 1.5rem 0;
    text-align: center;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.85rem;
    font-family: var(--font-body);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

/* ==========================================
   What We Do Section Redesign
   ========================================== */
.gsa-what-we-do-section {
    position: relative;
    background-color: #fcfcfc;
    border-top: 1px solid rgba(192, 166, 135, 0.25);
    padding: 100px 0 0 0;
    overflow: hidden;
    z-index: 1;
}

.gsa-what-we-do-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 4rem 4rem 4rem;
}

.gsa-what-we-do-main {
    display: flex;
    justify-content: space-between;
    gap: 4.5rem;
    align-items: stretch;
}

/* Left Column - Key points list */
.gsa-what-we-do-left {
    flex: 1;
    max-width: 450px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.gsa-what-we-do-title {
    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4.5vw, 3.8rem);
    font-weight: 700;
    line-height: 1.1;
    margin: 0 0 1.2rem 0;
}

.gsa-what-we-do-title .blue-text {
    color: #0072BC;
}

.gsa-what-we-do-title .navy-text {
    color: var(--navy);
}

/* Title separator airplane */
.gsa-what-we-do-separator {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
    width: 100%;
}

.gsa-what-we-do-separator .gsa-sep-line {
    height: 1.5px;
    background-color: var(--accent);
    width: 70px;
}

.gsa-what-we-do-separator .gsa-sep-airplane {
    color: #0072BC;
    font-size: 1.2rem;
    transform: rotate(45deg);
    display: inline-block;
}

.gsa-what-we-do-subtitle {
    font-family: var(--font-body);
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.5;
    color: var(--navy);
    margin-bottom: 2.5rem;
}

/* Key Points */
.gsa-what-we-do-points {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.gsa-what-we-do-point {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    text-align: left;
}

.gsa-what-we-do-point .point-icon-wrapper {
    width: 48px;
    height: 48px;
    background-color: var(--navy);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    flex-shrink: 0;
    box-shadow: 0 4px 10px rgba(11, 28, 63, 0.18);
    transition: var(--transition);
}

.gsa-what-we-do-point:hover .point-icon-wrapper {
    background-color: #0072BC;
    transform: rotate(10deg);
}

.gsa-what-we-do-point .point-icon-wrapper svg {
    width: 22px;
    height: 22px;
}

.point-vertical-divider {
    width: 1.5px;
    height: 35px;
    background-color: rgba(192, 166, 135, 0.45); /* elegant gold vertical divider */
    flex-shrink: 0;
    margin: 0 0.1rem;
}

.point-text-block {
    display: flex;
    flex-direction: column;
    text-align: left;
}

.point-bold-header {
    font-family: var(--font-body);
    font-size: 1.05rem;
    font-weight: 700;
    color: #0d4b91; /* Royal GSA Blue */
    margin: 0 0 0.25rem 0;
    line-height: 1.25;
}

.point-description {
    font-family: var(--font-body);
    font-size: 0.92rem;
    font-weight: 500;
    color: #333333;
    margin: 0;
    line-height: 1.35;
}

.gsa-what-we-do-point-divider {
    height: 1px;
    background-color: rgba(192, 166, 135, 0.35); /* solid elegant light gold border */
    margin: 1.2rem 0;
    width: 100%;
    opacity: 0.75;
}

/* Right Column - Plane header & Cards */
.gsa-what-we-do-right {
    flex: 2.2;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

.gsa-what-we-do-plane-header {
    width: 100%;
    height: 280px;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.gsa-what-we-do-plane-header img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.gsa-what-we-do-plane-header::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('assets/world-map-dots.png');
    background-size: cover;
    background-position: center;
    opacity: 0.12;
    pointer-events: none;
    z-index: 1;
}

/* Row of 4 Cards */
.gsa-what-we-do-cards-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.2rem;
    width: 100%;
}

.gsa-what-card-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.gsa-what-card {
    width: 100%;
    border-radius: 14px;
    overflow: hidden;
    background-color: var(--white);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    display: flex;
    flex-direction: column;
}

.gsa-what-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

.gsa-what-card-img {
    height: 135px;
    width: 100%;
    overflow: hidden;
    position: relative;
}

.gsa-what-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.gsa-what-card:hover .gsa-what-card-img img {
    transform: scale(1.08);
}

.gsa-what-card-label {
    background-color: var(--navy);
    padding: 0.8rem 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 58px;
    border-top: 1.5px solid var(--accent);
}

.gsa-what-card-label svg {
    width: 16px;
    height: 16px;
    color: #F5A623;
    flex-shrink: 0;
}

.gsa-what-card-label span {
    font-family: var(--font-body);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.8px;
    color: var(--white);
    text-transform: uppercase;
    line-height: 1.25;
}

.gsa-what-card-desc {
    font-family: var(--font-body);
    font-size: 0.78rem;
    line-height: 1.4;
    color: #666666;
    margin-top: 0.8rem;
    padding: 0 0.3rem;
}

/* ==========================================
   What We Do Section Mobile Responsiveness
   ========================================== */
@media (max-width: 1024px) {
    .gsa-what-we-do-container {
        padding: 0 2rem 4rem 2rem;
    }
    .gsa-what-we-do-main {
        flex-direction: column;
        gap: 3rem;
    }
    .gsa-what-we-do-left {
        max-width: 100%;
        padding: 0;
    }
    .gsa-what-we-do-right {
        width: 100%;
    }
    .gsa-what-we-do-plane-header {
        height: 220px;
    }
    .gsa-what-we-do-cards-row {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
}

@media (max-width: 600px) {
    .gsa-what-we-do-cards-row {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

/* ==========================================
   Track Record Section Redesign
   ========================================== */
.gsa-track-record-section {
    position: relative;
    background: linear-gradient(180deg, #EBF4F9 0%, #FFFFFF 100%);
    padding: 100px 0 0 0;
    overflow: hidden;
    z-index: 1;
    font-family: var(--font-body);
    border-top: 1px solid rgba(192, 166, 135, 0.15);
}

/* Right-aligned top passenger jet image matching mockup (not background) */
.gsa-track-airplane-right {
    position: absolute;
    top: 20px;
    right: 0;
    width: clamp(300px, 28vw, 460px); /* Smaller width to match mockup scaling */
    height: 250px; /* Constrained height to align only with header and subtitle */
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.15) 15%, rgba(0, 0, 0, 0.8) 60%, rgba(0, 0, 0, 1) 100%);
    mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.15) 15%, rgba(0, 0, 0, 0.8) 60%, rgba(0, 0, 0, 1) 100%);
}

.gsa-track-airplane-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right top;
    display: block;
    -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 55%, rgba(0, 0, 0, 0.1) 90%, rgba(0, 0, 0, 0) 100%);
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 55%, rgba(0, 0, 0, 0.1) 90%, rgba(0, 0, 0, 0) 100%);
}

.gsa-track-record-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 4rem;
}

.gsa-track-record-main {
    display: flex;
    justify-content: space-between;
    gap: 4.5rem;
    align-items: center;
}

/* Left Column - Parallel side-by-side rounded image cards */
.gsa-track-record-left {
    flex: 1.2;
    display: flex;
    gap: 1.5rem;
    z-index: 3;
}

.gsa-track-card {
    flex: 1;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(11, 28, 63, 0.1);
    background: #ffffff;
    height: 520px;
    transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.4s ease;
}

.gsa-track-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gsa-track-card:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 25px 50px rgba(11, 28, 63, 0.2);
}

/* Right Column - Content details */
.gsa-track-record-right {
    flex: 1;
    padding-left: 0.5rem;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.gsa-track-title {
    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4vw, 3.5rem);
    font-weight: 800;
    color: #0B1C3F;
    letter-spacing: 1.5px;
    margin-top: 0;
    margin-bottom: 0.5rem;
    line-height: 1.1;
}

.gsa-track-title .gsa-blue-highlight {
    color: #0072BC;
}

.gsa-track-subtitle {
    font-family: var(--font-body);
    font-size: 1.25rem;
    font-weight: 500;
    color: #4A5568;
    margin-top: 0;
    margin-bottom: 1.5rem;
    line-height: 1.4;
    text-align: left;
}

/* Gold Airplane Divider Line */
.gsa-track-divider {
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom: 1.8rem;
    gap: 1rem;
}

.gsa-divider-line {
    flex: 1;
    height: 1px;
    background-color: #C0A687;
    opacity: 0.6;
}

.gsa-divider-airplane {
    width: 20px;
    height: 20px;
    color: #0072BC;
    flex-shrink: 0;
}

.gsa-achievements-title {
    font-family: var(--font-body);
    font-size: 1.45rem;
    font-weight: 700;
    color: #0072BC;
    margin-top: 0;
    margin-bottom: 1.5rem;
}

/* Achievements List Layout */
.gsa-achievements-list {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 1.2rem;
}

.gsa-achievement-item {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    width: 100%;
}

.gsa-achievement-badge {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background-color: #0B1C3F; /* Navy base */
    border: 2px solid #0072BC; /* Vibrant blue ring */
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    flex-shrink: 0;
    box-shadow: 0 4px 10px rgba(11, 28, 63, 0.15);
}

.gsa-achievement-badge svg {
    width: 22px;
    height: 22px;
}

.gsa-achievement-text {
    font-family: var(--font-body);
    font-size: 1.08rem;
    color: #2D3748;
    line-height: 1.5;
    text-align: left;
}

.gsa-achievement-text strong {
    color: #0B1C3F;
    font-weight: 700;
}


.gsa-achievement-line {
    height: 1px;
    background-color: rgba(192, 166, 135, 0.22);
    width: 100%;
    margin: 0.2rem 0;
}

/* Bottom Ribbon Bar */
.gsa-track-record-ribbon {
    background-color: var(--navy);
    border-top: 1px solid rgba(192, 166, 135, 0.3);
    margin-top: 90px;
    padding: 2.2rem 0;
    width: 100%;
}

.gsa-ribbon-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 4rem;
}

.gsa-ribbon-col {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    flex: 1;
}

.gsa-ribbon-icon-wrapper {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    border: 2px solid var(--accent); /* Gold border circle */
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    flex-shrink: 0;
    transition: border-color 0.3s ease, background-color 0.3s ease, transform 0.3s ease;
}

.gsa-ribbon-icon-wrapper svg {
    width: 24px;
    height: 24px;
}

.gsa-ribbon-col:hover .gsa-ribbon-icon-wrapper {
    border-color: #0072BC;
    background-color: rgba(0, 114, 188, 0.12);
    transform: scale(1.05);
}

.gsa-ribbon-text {
    display: flex;
    flex-direction: column;
}

.gsa-ribbon-bold {
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 700;
    color: var(--accent); /* Swapped to gold */
    line-height: 1.3;
}

.gsa-ribbon-light {
    font-family: var(--font-body);
    font-size: 0.92rem;
    font-weight: 400;
    color: var(--white); /* Swapped to white */
    line-height: 1.3;
}

.gsa-ribbon-divider {
    width: 1px;
    height: 42px;
    background-color: rgba(192, 166, 135, 0.22);
    margin: 0 1.8rem;
    flex-shrink: 0;
}

/* ==========================================
   Track Record Section Mobile Responsiveness
   ========================================== */
@media (max-width: 1200px) {
    .gsa-track-record-container {
        padding: 0 2rem 4rem 2rem;
    }
    .gsa-ribbon-container {
        padding: 0 2rem;
    }
}

@media (max-width: 1024px) {
    .gsa-track-airplane-right {
        display: none; /* Hide airplane image on mobile */
    }
    .gsa-track-record-section {
        padding-top: 80px;
    }
    .gsa-track-record-main {
        flex-direction: column;
        gap: 4rem;
    }
    .gsa-track-record-left {
        width: 100%;
        flex-direction: row;
        justify-content: center;
        gap: 1.5rem;
        height: auto;
    }
    .gsa-track-card {
        width: calc(50% - 0.75rem);
        height: 400px;
    }
    .gsa-track-record-right {
        width: 100%;
        padding-left: 0;
    }
    .gsa-ribbon-container {
        flex-wrap: wrap;
        gap: 2.2rem;
    }
    .gsa-ribbon-col {
        flex: 1 1 calc(50% - 2.2rem);
    }
    .gsa-ribbon-divider {
        display: none;
    }
}

@media (max-width: 640px) {
    .gsa-track-record-left {
        flex-direction: column;
        align-items: center;
        gap: 1.2rem;
    }
    .gsa-track-card {
        width: 100%;
        max-width: 320px;
        height: 380px;
    }
    .gsa-ribbon-container {
        flex-direction: column;
        align-items: flex-start;
        gap: 2rem;
    }
    .gsa-ribbon-col {
        width: 100%;
    }
}
