/* ==========================================================================

   DUNMORE AEROSPACE
   Shared Aerospace Design System

   File:
   /css/aero.css

   ========================================================================== */


/* ==========================================================================
   DESIGN TOKENS
   ========================================================================== */

:root {

    /* Brand */

    --aero-navy-950:#031423;
    --aero-navy-900:#04182b;
    --aero-navy-850:#061d33;
    --aero-navy-800:#082642;
    --aero-navy-700:#0b3559;
    --aero-navy-600:#0b416c;

    --aero-blue-600:#167bd3;
    --aero-blue-500:#1686d9;
    --aero-blue-400:#2698e8;
    --aero-blue-300:#51c3ff;

    /* Text */

    --aero-heading:#0b2947;
    --aero-heading-alt:#12324d;

    --aero-text:#263746;
    --aero-text-soft:#61717e;
    --aero-text-muted:#788691;

    /* Surfaces */

    --aero-white:#ffffff;

    --aero-gray-025:#fbfcfd;
    --aero-gray-050:#f8fafb;
    --aero-gray-100:#f4f8fa;
    --aero-gray-150:#eef4f7;
    --aero-gray-200:#eaf2f7;

    /* Borders */

    --aero-border:#dfe7ed;
    --aero-border-soft:#e5ebef;

    /* Radius */

    --aero-radius-sm:5px;
    --aero-radius-md:9px;
    --aero-radius-lg:12px;
    --aero-radius-xl:15px;

    /* Shadows */

    --aero-shadow-sm:
            0 8px 22px rgba(8,45,74,.06);

    --aero-shadow-md:
            0 15px 40px rgba(8,45,74,.10);

    --aero-shadow-lg:
            0 30px 70px rgba(0,0,0,.30);

    /* Layout */

    --aero-container:1200px;

}


/* ==========================================================================
   PAGE BASE
   ========================================================================== */

.aero-page {

    background:var(--aero-white);

    color:var(--aero-text);

}


.aero-container {

    max-width:var(--aero-container);

    margin-left:auto;
    margin-right:auto;

}


.aero-section {

    padding:105px 0;

}


.aero-section-sm {

    padding:75px 0;

}


.aero-section-gray {

    background:
            linear-gradient(
                    135deg,
                    var(--aero-gray-100),
                    var(--aero-gray-200)
            );

}


.aero-section-dark {

    background:
            linear-gradient(
                    135deg,
                    var(--aero-navy-900),
                    var(--aero-navy-700)
            );

}


/* ==========================================================================
   TYPOGRAPHY
   ========================================================================== */

.aero-kicker {

    display:inline-block;

    margin-bottom:16px;

    color:var(--aero-blue-500);

    font-size:11px;

    font-weight:900;

    letter-spacing:3px;

    line-height:1.4;

    text-transform:uppercase;

}


.aero-title {

    margin:0 0 22px;

    color:var(--aero-heading);

    font-size:42px;

    font-weight:700;

    line-height:1.14;

}


.aero-subtitle {

    max-width:820px;

    color:var(--aero-text-soft);

    font-size:17px;

    line-height:1.85;

}


.aero-lead {

    color:var(--aero-text-soft);

    font-size:18px;

    line-height:1.85;

}


.aero-section-dark .aero-kicker {

    color:var(--aero-blue-300);

}


.aero-section-dark .aero-title {

    color:#ffffff;

}


.aero-section-dark p {

    color:rgba(255,255,255,.79);

}


/* ==========================================================================
   HERO
   ========================================================================== */

.aero-hero {

    position:relative;

    overflow:hidden;

    padding:90px 0 105px;

    background:

            radial-gradient(
                    circle at 82% 30%,
                    rgba(44,174,239,.20),
                    transparent 30%
            ),

            linear-gradient(
                    135deg,
                    var(--aero-navy-900) 0%,
                    #082b4a 55%,
                    var(--aero-navy-600) 100%
            );

}


.aero-hero:before {

    content:"";

    position:absolute;

    width:650px;
    height:650px;

    right:-330px;
    top:-330px;

    border:

            1px solid
            rgba(255,255,255,.07);

    border-radius:50%;

    pointer-events:none;

}


.aero-hero:after {

    content:"";

    position:absolute;

    width:400px;
    height:400px;

    right:-190px;
    bottom:-260px;

    border:

            1px solid
            rgba(81,195,255,.08);

    border-radius:50%;

    pointer-events:none;

}


.aero-hero .aero-kicker {

    color:var(--aero-blue-300);

}


.aero-hero h1 {

    max-width:850px;

    margin:0 0 25px;

    color:#ffffff;

    font-size:51px;

    font-weight:700;

    line-height:1.08;

}


.aero-hero-copy {

    max-width:820px;

    margin:0;

    color:rgba(255,255,255,.82);

    font-size:18px;

    line-height:1.8;

}


.aero-hero-visual {

    position:relative;

    padding-left:30px;

}


.aero-hero-visual img {

    display:block;

    width:100%;

    border-radius:var(--aero-radius-xl);

    box-shadow:var(--aero-shadow-lg);

}


/* ==========================================================================
   HERO BADGE
   ========================================================================== */

.aero-image-badge {

    position:absolute;

    left:0;
    bottom:25px;

    padding:20px 24px;

    background:#ffffff;

    border-radius:8px;

    box-shadow:

            0 15px 40px
            rgba(0,0,0,.22);

}


.aero-image-badge strong {

    display:block;

    color:#0a2d4b;

    font-size:20px;

}


.aero-image-badge span {

    display:block;

    margin-top:5px;

    color:var(--aero-text-muted);

    font-size:10px;

    font-weight:900;

    letter-spacing:1.4px;

    text-transform:uppercase;

}


/* ==========================================================================
   BUTTONS
   ========================================================================== */

.aero-actions {

    margin-top:34px;

}


.aero-btn {

    display:inline-block;

    margin:0 10px 10px 0;

    padding:15px 25px;

    border-radius:var(--aero-radius-sm);

    font-size:12px;

    font-weight:900;

    letter-spacing:.6px;

    text-decoration:none !important;

    transition:

            transform .2s ease,
            background .2s ease,
            border-color .2s ease,
            box-shadow .2s ease;

}


.aero-btn:hover {

    transform:translateY(-2px);

}


.aero-btn-primary {

    color:#ffffff !important;

    background:var(--aero-blue-600);

    border:

            2px solid
            var(--aero-blue-600);

}


.aero-btn-primary:hover {

    color:#ffffff !important;

    background:var(--aero-blue-400);

    border-color:var(--aero-blue-400);

    box-shadow:

            0 10px 25px
            rgba(22,123,211,.25);

}


.aero-btn-outline {

    color:#ffffff !important;

    background:transparent;

    border:

            2px solid
            rgba(255,255,255,.45);

}


.aero-btn-outline:hover {

    color:#0a2b47 !important;

    background:#ffffff;

    border-color:#ffffff;

}


/* ==========================================================================
   QUICK SPEC STRIP
   ========================================================================== */

.aero-quick {

    background:#ffffff;

    border-bottom:

            1px solid
            #e3eaef;

}


.aero-quick-grid {

    display:grid;

    grid-template-columns:

        repeat(
            var(--aero-spec-count, 4),
            1fr
        );

}


.aero-quick-item {

    padding:27px 25px;

    text-align:center;

    border-right:

            1px solid
            #e3eaef;

}


.aero-quick-item:last-child {

    border-right:0;

}


.aero-quick-item span {

    display:block;

    margin-bottom:7px;

    color:#7a8995;

    font-size:9px;

    font-weight:900;

    letter-spacing:1.5px;

    text-transform:uppercase;

}


.aero-quick-item strong {

    display:block;

    color:#0c304e;

    font-size:18px;

}


/* ==========================================================================
   CONTENT HEADER
   ========================================================================== */

.aero-section-header {

    max-width:800px;

    margin-bottom:45px;

}


.aero-section-header-wide {

    max-width:950px;

}


/* ==========================================================================
   FEATURE / BENEFIT GRID
   ========================================================================== */

.aero-feature-grid {

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:24px;

}


.aero-feature-grid-3 {

    grid-template-columns:repeat(3,1fr);

}


.aero-feature-card {

    position:relative;

    min-height:245px;

    padding:36px 32px;

    background:#ffffff;

    border:

            1px solid
            var(--aero-border);

    border-radius:10px;

    box-shadow:var(--aero-shadow-sm);

    transition:

            transform .2s ease,
            box-shadow .2s ease,
            border-color .2s ease;

}


.aero-feature-card:hover {

    transform:translateY(-5px);

    border-color:#c9dce8;

    box-shadow:var(--aero-shadow-md);

}


.aero-feature-label {

    display:block;

    margin-bottom:22px;

    color:var(--aero-blue-500);

    font-size:11px;

    font-weight:900;

    letter-spacing:2px;

    text-transform:uppercase;

}


.aero-feature-card h3 {

    margin:0 0 15px;

    color:var(--aero-heading-alt);

    font-size:21px;

    line-height:1.35;

}


.aero-feature-card p {

    margin:0;

    color:#647481;

    font-size:15px;

    line-height:1.8;

}


/* ==========================================================================
   SPECIFICATION SECTION
   ========================================================================== */

.aero-spec-layout {

    display:grid;

    grid-template-columns:350px 1fr;

    gap:70px;

    align-items:center;

}


.aero-spec-intro p {

    color:#62727f;

    font-size:16px;

    line-height:1.85;

}


/* ==========================================================================
   SPECIFICATION TABLE
   ========================================================================== */

.aero-table {

    overflow:hidden;

    width:100%;

    background:#ffffff;

    border:

            1px solid
            #dbe5ec;

    border-radius:11px;

    box-shadow:

            0 15px 40px
            rgba(10,49,79,.08);

}


.aero-table-head,
.aero-table-row {

    display:grid;

    grid-template-columns:42% 58%;

}


.aero-table-head {

    background:#0b2d4a;

}


.aero-table-head > div {

    padding:17px 23px;

    color:#ffffff;

    font-size:11px;

    font-weight:900;

    letter-spacing:1.4px;

    text-transform:uppercase;

}


.aero-table-row {

    border-bottom:

            1px solid
            var(--aero-border-soft);

}


.aero-table-row:last-child {

    border-bottom:0;

}


.aero-table-property {

    padding:20px 23px;

    background:var(--aero-gray-050);

    color:#173650;

    font-size:14px;

    font-weight:700;

}


.aero-table-value {

    padding:20px 23px;

    color:#556875;

    font-size:14px;

    line-height:1.55;

}


.aero-table-value strong {

    color:#147ed0;

    font-size:17px;

}


/* ==========================================================================
   NATIVE TABLE SUPPORT

   Allows <table class="aero-data-table"> when semantic HTML is preferred.
   ========================================================================== */

.aero-data-table {

    width:100%;

    margin:0;

    overflow:hidden;

    background:#ffffff;

    border-collapse:separate;

    border-spacing:0;

    border:

            1px solid
            #dbe5ec;

    border-radius:11px;

    box-shadow:

            0 15px 40px
            rgba(10,49,79,.08);

}


.aero-data-table th {

    padding:17px 23px;

    color:#ffffff;

    background:#0b2d4a;

    font-size:11px;

    font-weight:900;

    letter-spacing:1.4px;

    text-align:left;

    text-transform:uppercase;

}


.aero-data-table td {

    padding:20px 23px;

    color:#556875;

    border-bottom:

            1px solid
            var(--aero-border-soft);

    font-size:14px;

    line-height:1.55;

    vertical-align:middle;

}


.aero-data-table td:first-child {

    width:42%;

    color:#173650;

    background:var(--aero-gray-050);

    font-weight:700;

}


.aero-data-table tr:last-child td {

    border-bottom:0;

}


.aero-data-table strong {

    color:#147ed0;

}


/* ==========================================================================
   APPLICATIONS
   ========================================================================== */

.aero-app-copy {

    max-width:900px;

    margin-bottom:42px;

}


.aero-app-copy p {

    color:var(--aero-text-soft);

    font-size:16px;

    line-height:1.9;

}


.aero-photo-grid {

    display:grid;

    grid-template-columns:

        repeat(
            var(--aero-photo-count, 4),
            1fr
        );

    gap:18px;

}


.aero-photo-card {

    overflow:hidden;

    background:#071d32;

    border-radius:10px;

    box-shadow:

            0 15px 35px
            rgba(6,39,65,.14);

}


.aero-photo-card img {

    display:block;

    width:100%;

    aspect-ratio:4/3;

    object-fit:cover;

    transition:transform .35s ease;

}


.aero-photo-card:hover img {

    transform:scale(1.025);

}


.aero-photo-caption {

    min-height:72px;

    padding:16px 18px;

    color:#ffffff;

    font-size:13px;

    line-height:1.5;

}


.aero-photo-caption small {

    display:block;

    margin-top:4px;

    color:rgba(255,255,255,.60);

}


/* ==========================================================================
   FLIGHT HERITAGE / PROOF
   ========================================================================== */

.aero-proof {

    position:relative;

    overflow:hidden;

    padding:95px 0;

    background:

            radial-gradient(
                    circle at 90% 30%,
                    rgba(51,176,242,.13),
                    transparent 30%
            ),

            linear-gradient(
                    135deg,
                    #071d32,
                    #0b3559
            );

}


.aero-proof-inner {

    max-width:940px;

}


.aero-proof .aero-kicker {

    color:#51bff8;

}


.aero-proof h2 {

    margin:0 0 22px;

    color:#ffffff;

    font-size:39px;

    line-height:1.2;

}


.aero-proof p {

    margin:0;

    color:rgba(255,255,255,.79);

    font-size:17px;

    line-height:1.9;

}


/* ==========================================================================
   HERITAGE STATS
   ========================================================================== */

.aero-stats {

    display:grid;

    grid-template-columns:

        repeat(
            var(--aero-stat-count, 3),
            1fr
        );

    gap:1px;

    margin-top:45px;

    background:

            rgba(255,255,255,.10);

    border:

            1px solid
            rgba(255,255,255,.10);

    border-radius:10px;

    overflow:hidden;

}


.aero-stat {

    padding:30px;

    background:

            rgba(4,24,43,.55);

}


.aero-stat strong {

    display:block;

    color:#ffffff;

    font-size:34px;

    line-height:1;

}


.aero-stat span {

    display:block;

    margin-top:9px;

    color:var(--aero-blue-300);

    font-size:9px;

    font-weight:900;

    letter-spacing:1.5px;

    text-transform:uppercase;

}


.aero-stat p {

    margin-top:12px;

    color:rgba(255,255,255,.66);

    font-size:13px;

    line-height:1.6;

}


/* ==========================================================================
   FAQ
   ========================================================================== */

.aero-faq {

    padding:105px 0;

    background:var(--aero-gray-100);

}


.aero-faq-layout {

    display:grid;

    grid-template-columns:320px 1fr;

    gap:75px;

    align-items:start;

}


.aero-faq-heading {

    position:sticky;

    top:30px;

}


.aero-faq-item {

    margin-bottom:28px;

    padding-bottom:28px;

    border-bottom:

            1px solid
            #dce5eb;

}


.aero-faq-item:last-child {

    margin-bottom:0;
    padding-bottom:0;

    border-bottom:0;

}


.aero-faq-item h3 {

    margin:0 0 11px;

    color:#102f4a;

    font-size:19px;

    line-height:1.45;

}


.aero-faq-item p {

    margin:0;

    color:#657480;

    font-size:15px;

    line-height:1.82;

}


/* ==========================================================================
   RELATED MATERIALS
   ========================================================================== */

.aero-related {

    padding:95px 0;

}


.aero-related-grid {

    display:grid;

    grid-template-columns:

        repeat(
            var(--aero-related-count, 5),
            1fr
        );

    gap:17px;

    margin-top:35px;

}


.aero-related-card {

    position:relative;

    display:block;

    min-height:155px;

    padding:25px;

    color:inherit;

    background:#ffffff;

    border:

            1px solid
            var(--aero-border);

    border-radius:9px;

    text-decoration:none !important;

    transition:

            transform .2s ease,
            box-shadow .2s ease,
            border-color .2s ease;

}


.aero-related-card:hover {

    transform:translateY(-4px);

    border-color:#cbdce7;

    box-shadow:

            0 13px 30px
            rgba(8,45,74,.09);

}


.aero-related-card span {

    display:block;

    margin-bottom:12px;

    color:#1687d7;

    font-size:9px;

    font-weight:900;

    letter-spacing:1.4px;

    text-transform:uppercase;

}


.aero-related-card strong {

    color:#14334d;

    font-size:16px;

    line-height:1.4;

}


.aero-related-arrow {

    position:absolute;

    right:18px;
    bottom:15px;

    color:#1687d7;

    font-size:20px;

    transition:transform .2s ease;

}


.aero-related-card:hover
.aero-related-arrow {

    transform:translateX(3px);

}


/* ==========================================================================
   CTA
   ========================================================================== */

.aero-cta {

    position:relative;

    overflow:hidden;

    padding:85px 0;

    background:

            radial-gradient(
                    circle at 85% 50%,
                    rgba(42,168,237,.22),
                    transparent 30%
            ),

            linear-gradient(
                    135deg,
                    #082642,
                    #0b4069
            );

}


.aero-cta-inner {

    display:flex;

    justify-content:space-between;
    align-items:center;

    gap:50px;

}


.aero-cta-copy {

    max-width:700px;

}


.aero-cta .aero-kicker {

    color:#51bff8;

}


.aero-cta h2 {

    margin:0 0 14px;

    color:#ffffff;

    font-size:37px;

    line-height:1.2;

}


.aero-cta p {

    margin:0;

    color:rgba(255,255,255,.75);

    font-size:16px;

    line-height:1.75;

}


/* ==========================================================================
   NOTES / TRADEMARKS
   ========================================================================== */

.aero-note {

    padding:22px 0;

    color:#7a8790;

    background:#f6f8fa;

    border-top:

            1px solid
            #e4e9ed;

    font-size:11px;

    line-height:1.6;

}


/* ==========================================================================
   CONTENT LISTS
   ========================================================================== */

.aero-list {

    margin:25px 0;

    padding:0;

    list-style:none;

}


.aero-list li {

    position:relative;

    margin-bottom:12px;

    padding-left:24px;

    color:#596b78;

    font-size:15px;

    line-height:1.7;

}


.aero-list li:before {

    content:"";

    position:absolute;

    left:0;
    top:.72em;

    width:7px;
    height:7px;

    background:var(--aero-blue-500);

    border-radius:50%;

}


/* ==========================================================================
   CALLOUT
   ========================================================================== */

.aero-callout {

    padding:28px 30px;

    background:#eef7fc;

    border-left:

            4px solid
            var(--aero-blue-500);

    border-radius:

            0 8px 8px 0;

}


.aero-callout h3 {

    margin:0 0 10px;

    color:var(--aero-heading);

    font-size:19px;

}


.aero-callout p {

    margin:0;

    color:#5e707d;

    line-height:1.75;

}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width:1199px) {

    .aero-container {

        max-width:970px;

    }

    .aero-related-grid {

        grid-template-columns:repeat(3,1fr);

    }

}


@media (max-width:991px) {

    .aero-section {

        padding:80px 0;

    }


    .aero-hero {

        padding:70px 0 85px;

    }


    .aero-hero h1 {

        font-size:42px;

    }


    .aero-hero-visual {

        margin-top:45px;

        padding-left:0;

    }


    .aero-quick-grid {

        grid-template-columns:repeat(2,1fr);

    }


    .aero-feature-grid,
    .aero-feature-grid-3 {

        grid-template-columns:repeat(2,1fr);

    }


    .aero-spec-layout {

        grid-template-columns:1fr;

        gap:45px;

    }


    .aero-photo-grid {

        grid-template-columns:repeat(2,1fr);

    }


    .aero-faq-layout {

        grid-template-columns:1fr;

        gap:45px;

    }


    .aero-faq-heading {

        position:static;

    }


    .aero-related-grid {

        grid-template-columns:repeat(2,1fr);

    }

}


@media (max-width:767px) {

    .aero-section,
    .aero-faq {

        padding:65px 0;

    }


    .aero-hero {

        padding:55px 0 70px;

    }


    .aero-hero h1 {

        font-size:34px;

    }


    .aero-hero-copy {

        font-size:16px;

    }


    .aero-title,
    .aero-proof h2,
    .aero-cta h2 {

        font-size:30px;

    }


    .aero-quick-grid,
    .aero-feature-grid,
    .aero-feature-grid-3,
    .aero-photo-grid,
    .aero-related-grid,
    .aero-stats {

        grid-template-columns:1fr;

    }


    .aero-quick-item {

        border-right:0;

        border-bottom:

                1px solid
                #e3eaef;

    }


    .aero-quick-item:last-child {

        border-bottom:0;

    }


    .aero-table-head,
    .aero-table-row {

        grid-template-columns:1fr;

    }


    .aero-table-property {

        padding-bottom:8px;

    }


    .aero-table-value {

        padding-top:8px;

    }


    .aero-data-table {

        display:block;

        overflow-x:auto;

    }


    .aero-cta-inner {

        display:block;

    }


    .aero-cta .aero-btn {

        margin-top:28px;

    }


    .aero-btn {

        width:100%;

        text-align:center;

    }


}


/* ==========================================================================
   ACCESSIBILITY
   ========================================================================== */

.aero-btn:focus,
.aero-related-card:focus {

    outline:

            3px solid
            rgba(81,195,255,.55);

    outline-offset:3px;

}


@media (prefers-reduced-motion:reduce) {

    .aero-btn,
    .aero-feature-card,
    .aero-related-card,
    .aero-related-arrow,
    .aero-photo-card img {

        transition:none;

    }

}

/* ==========================================================================
   APPLICATION VISUAL
   ========================================================================== */

.aero-application-visual {
    overflow:hidden;

    background:#071d32;

    border-radius:12px;

    box-shadow:
            0 22px 55px rgba(6,39,65,.17);
}

.aero-application-visual img {
    display:block;

    width:100%;
    height:auto;
}

.aero-application-caption {
    padding:18px 22px;

    color:rgba(255,255,255,.75);

    font-size:12px;
}


/* ==========================================================================
   TWO-COLUMN FEATURE GRID
   ========================================================================== */

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


@media (max-width:991px) {

    .aero-feature-grid-2 {
        grid-template-columns:1fr;
    }

}
/* ==========================================================================
   APPLICATION PHOTO GRID
   ========================================================================== */

.aero-section-header-wide {
    max-width:850px;
    margin-bottom:42px;
}

.aero-section-header-wide p {
    color:#61717e;

    font-size:16px;
    line-height:1.9;
}


.aero-photo-grid {
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:18px;
}


.aero-photo-card {
    overflow:hidden;

    margin:0;

    background:#071d32;

    border-radius:10px;

    box-shadow:
            0 15px 35px rgba(6,39,65,.14);
}


.aero-photo-card img {
    display:block;

    width:100%;

    aspect-ratio:4/3;

    object-fit:cover;
}


.aero-photo-caption {
    min-height:72px;

    padding:16px 18px;

    color:#ffffff;

    font-size:13px;
    line-height:1.5;
}


.aero-photo-caption strong {
    display:block;

    color:#ffffff;

    font-size:13px;
    font-weight:600;
}


.aero-photo-caption small {
    display:block;

    margin-top:4px;

    color:rgba(255,255,255,.6);

    font-size:11px;
}


@media (max-width:991px) {

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

}


@media (max-width:767px) {

    .aero-photo-grid {
        grid-template-columns:1fr;
    }

}
/* ==========================================================================
   APPLICATION SPLIT
   ========================================================================== */

.aero-app-layout {
    display:grid;
    grid-template-columns:.9fr 1fr;
    gap:70px;
    align-items:center;
}


.aero-app-copy p {
    margin:0;

    color:#61717e;

    font-size:16px;
    line-height:1.9;
}


.aero-app-panel {
    overflow:hidden;

    padding:42px;

    background:
            radial-gradient(
                    circle at 90% 10%,
                    rgba(52,181,242,.19),
                    transparent 34%
            ),
            linear-gradient(
                    135deg,
                    #061d33,
                    #0a3a61
            );

    border-radius:12px;

    box-shadow:
            0 22px 55px rgba(6,39,65,.17);
}


.aero-app-panel h3 {
    margin:0 0 24px;

    color:#ffffff;

    font-size:24px;
}


.aero-app-list {
    margin:0;
    padding:0;

    list-style:none;
}


.aero-app-list li {
    position:relative;

    padding:15px 0 15px 29px;

    color:rgba(255,255,255,.83);

    border-bottom:
            1px solid rgba(255,255,255,.09);

    font-size:15px;
}


.aero-app-list li:last-child {
    border-bottom:0;
}


.aero-app-list li:before {
    content:"";

    position:absolute;

    left:2px;
    top:21px;

    width:7px;
    height:7px;

    background:#42bbf5;

    border-radius:50%;
}


@media (max-width:991px) {

    .aero-app-layout {
        grid-template-columns:1fr;
        gap:45px;
    }

}


@media (max-width:767px) {

    .aero-app-panel {
        padding:30px 25px;
    }

}
/* ==========================================================================
   RESOURCE DIRECTORY
   ========================================================================== */

.aero-resource-hero-stat {
    max-width:330px;
    margin-left:auto;
    padding:38px;

    background:
            radial-gradient(
                    circle at 85% 10%,
                    rgba(66,187,245,.24),
                    transparent 38%
            ),
            linear-gradient(
                    135deg,
                    #071d32,
                    #0a3a61
            );

    border-radius:12px;

    box-shadow:
            0 22px 55px rgba(6,39,65,.18);
}


.aero-resource-hero-stat > span {
    display:block;

    margin-bottom:12px;

    color:#42bbf5;

    font-size:10px;
    font-weight:800;

    letter-spacing:2px;
}


.aero-resource-hero-stat strong {
    display:block;

    margin-bottom:10px;

    color:#ffffff;

    font-size:72px;
    font-weight:300;
    line-height:1;
}


.aero-resource-hero-stat p {
    margin:0;

    color:rgba(255,255,255,.7);

    font-size:13px;
    line-height:1.7;
}


/* FEATURED RESOURCE */

.aero-resource-feature {
    display:grid;

    grid-template-columns:1.05fr 1fr;

    overflow:hidden;

    background:#ffffff;

    border:1px solid #e4ebf0;
    border-radius:12px;

    box-shadow:
            0 18px 45px rgba(6,39,65,.09);
}


.aero-resource-feature-image {
    min-height:440px;
}


.aero-resource-feature-image img {
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;
}


.aero-resource-feature-copy {
    display:flex;
    flex-direction:column;
    justify-content:center;

    padding:55px;
}


.aero-resource-feature-copy p {
    color:#61717e;

    font-size:15px;
    line-height:1.85;
}


.aero-resource-feature-copy .aero-btn {
    align-self:flex-start;

    margin-top:12px;
}


/* RESOURCE GRID */

.aero-resource-grid {
    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:22px;
}


.aero-resource-card {
    position:relative;

    min-height:315px;

    padding:38px;

    background:#ffffff;

    border:1px solid #e3eaf0;
    border-radius:10px;

    transition:
            transform .2s ease,
            box-shadow .2s ease,
            border-color .2s ease;
}


.aero-resource-card:hover {
    transform:translateY(-4px);

    border-color:#b9d8e9;

    box-shadow:
            0 18px 42px rgba(6,39,65,.1);
}


.aero-resource-number {
    position:absolute;

    right:28px;
    top:24px;

    color:#edf2f5;

    font-size:52px;
    font-weight:800;
    line-height:1;
}


.aero-resource-type {
    position:relative;

    display:block;

    margin-bottom:18px;

    color:#1685bd;

    font-size:10px;
    font-weight:800;

    letter-spacing:2px;
}


.aero-resource-card h3 {
    position:relative;

    max-width:80%;

    margin:0 0 17px;

    color:#09263e;

    font-size:22px;
    line-height:1.3;
}


.aero-resource-card p {
    position:relative;

    margin:0 0 26px;

    color:#61717e;

    font-size:14px;
    line-height:1.8;
}


.aero-resource-link {
    position:absolute;

    left:38px;
    bottom:32px;

    color:#1685bd;

    font-size:11px;
    font-weight:800;

    letter-spacing:1.2px;
}


.aero-resource-link:hover {
    color:#0a3a61;
    text-decoration:none;
}


/* RESPONSIVE */

@media (max-width:991px) {

    .aero-resource-hero-stat {
        max-width:none;

        margin:35px 0 0;
    }


    .aero-resource-feature {
        grid-template-columns:1fr;
    }


    .aero-resource-feature-image {
        min-height:320px;
    }


    .aero-resource-grid {
        grid-template-columns:1fr;
    }

}


@media (max-width:767px) {

    .aero-resource-feature-copy {
        padding:32px 25px;
    }


    .aero-resource-card {
        min-height:0;

        padding:30px 25px 75px;
    }


    .aero-resource-link {
        left:25px;
    }

}
/* ==========================================================================
   RESOURCE HUB — SIDEBAR LAYOUT
   ========================================================================== */

.aero-resource-hub .aero-hero {
    padding:70px 55px;
}


.aero-resource-hub .aero-section {
    padding:70px 0;
}


.aero-resource-hub .aero-section-gray {
    padding-left:45px;
    padding-right:45px;
}


.aero-resource-hub .aero-related {
    padding:70px 0;
}


.aero-resource-hub .aero-cta {
    margin-top:0;
}


/* Featured guide */

.aero-resource-hub .aero-resource-feature {
    grid-template-columns:.9fr 1.1fr;
}


.aero-resource-hub .aero-resource-feature-image {
    min-height:390px;
}


.aero-resource-hub .aero-resource-feature-copy {
    padding:40px;
}


/* Resource cards */

.aero-resource-hub .aero-resource-grid {
    grid-template-columns:repeat(2,1fr);
}


.aero-resource-hub .aero-resource-card {
    padding:32px;
}


.aero-resource-hub .aero-resource-link {
    left:32px;
}


/* Related cards need room inside 9-column content */

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


/* Tablet */

@media (max-width:991px) {

    .aero-resource-hub .aero-hero {
        padding:55px 40px;
    }

    .aero-resource-hub .aero-resource-feature {
        grid-template-columns:1fr;
    }

    .aero-resource-hub .aero-resource-grid,
    .aero-resource-hub .aero-related-grid {
        grid-template-columns:1fr;
    }

}


/* Mobile */

@media (max-width:767px) {

    .aero-resource-hub .aero-hero {
        padding:45px 25px;
    }

    .aero-resource-hub .aero-section-gray {
        padding-left:25px;
        padding-right:25px;
    }

}