:root {
    --navy: #002662;
    --navy-deep: #001438;
    --teal: #278f92;
    --teal-light: #4FADAF;
    --black: #000000;
    --white: #ffffff;
    --orange: #E4823C;
    --paper: #F6F4EE;
    --paper-dim: #EDE9DE;
    --ink: #17171A;
    --line: #e0ddd3;
}

@font-face {
    font-family: 'Avenir';
    src: url('/__data/assets/file/0019/184033/avenir.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Avenir';
    src: url('/__data/assets/file/0018/184038/AvenirNext-Regular.eot');
    src: url('/__data/assets/file/0018/184038/AvenirNext-Regular.eot?#iefix') format('embedded-opentype'),
         url('/__data/assets/file/0018/184038/AvenirNext-Regular.woff2') format('woff2'),
         url('/__data/assets/file/0018/184038/AvenirNext-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir';
    src: url('/__data/assets/file/0019/184039/AvenirNext-Medium.eot');
    src: url('/__data/assets/file/0019/184039/AvenirNext-Medium.eot?#iefix') format('embedded-opentype'),
         url('/__data/assets/file/0019/184039/AvenirNext-Medium.woff2') format('woff2'),
         url('/__data/assets/file/0019/184039/AvenirNext-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

* {
    box-sizing: border-box;
}

body {
    font-family: 'Avenir', sans-serif;
    margin: 0;
    padding: 0;
    color: var(--ink);
    line-height: 1.6;
    background-color: var(--paper);
}

h1, h2, h3 {
    font-family: 'Avenir', sans-serif;
    font-weight: 500;
    margin: 0;
    letter-spacing: -0.2px;
}

h1 { font-size: 2.2rem; line-height: 1.2; }
h2 { font-size: 1.85rem; line-height: 1.28; }
h3 { font-size: 1.1rem; line-height: 1.4; font-weight: 600; }

p { margin: 0 0 1rem; }
p:last-child { margin-bottom: 0; }

/* --- HEADER & FOOTER --- */
.am-wrapper { position: relative; }

.am-navbar {
    display: flex;
    justify-content: end;
    align-items: center;
    padding: 0 40px;
    background-color: transparent;
    position: relative;
    z-index: 10;
}

.am-logo {
    background-color: var(--ink);
    padding: 20px 30px 10px 10px;
}

.am-logo img {
    height: 150px;
    width: auto;
    display: block;
}

.am-navbar nav ul {
    display: flex;
    list-style: none;
    gap: 20px;
    margin: 0;
    padding: 10px;
    background: rgba(0,0,0,0.5);
    border-radius: 4px;
}

.am-navbar nav ul li a {
    color: var(--white);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    transition: color 0.15s ease;
}

.am-navbar nav ul li a:hover { color: var(--teal-light); }

.site-footer {
    background-color: var(--ink);
    padding: 40px 20px;
    text-align: center;
}

.footer-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    max-width: 1120px;
    margin: 0 auto;
}

.footer-content p {
    color: #9a988f;
    font-size: 0.85rem;
}

.footer-content nav {
    display: flex;
    gap: 20px;
}

.footer-content a {
    color: var(--white);
    text-decoration: none;
    font-size: 0.85rem;
}

.footer-content a:hover {
    color: var(--orange);
}

/* --- MAIN LAYOUT --- */
.main-content {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    background-color: var(--paper);
}

/* --- HERO --- */
.hero-container {
    position: relative;
    background-color: var(--navy-deep);
    margin-top: -220px; 
    padding: 250px 0 0px; 
    overflow: hidden;
}
 
.hero-container::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, var(--navy) 30%, var(--teal) 100%);
    pointer-events: none;
    z-index: 1;
}
 
.hero-grid {
    position: relative;
    z-index: 2;
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 32px;
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 56px;
    align-items: end;
}

.hero-text{
    padding-bottom: 150px;
}
.image-content-hero {
    display: flex;
    justify-content: center;
}

.image-content-hero img {
    width: 100%;
    max-width: 100%;
    border-radius: 8px;
    /*box-shadow: 0 20px 45px rgba(0, 38, 98, 0.14);*/
    display: block;
}
 
 
.hero-text h1 {
    color: var(--paper);
    font-size: 44px;
    line-height: 1.15;
    font-weight: 500;
    max-width: 560px;
}
 
.hero-text h1 .hl {
    color: var(--teal-light);
}
 
.hero-lede {
    color: #B9C4CF;
    font-size: 17px;
    line-height: 1.65;
    max-width: 480px;
    margin-top: 22px;
}
 
.hero-ctas {
    display: flex;
    gap: 14px;
    margin-top: 34px;
}
 
.btn {
    font-size: 14px;
    font-weight: 600;
    padding: 14px 26px;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    letter-spacing: 0.2px;
}

.btn.btn-primary {
    background: var(--teal);
    color: var(--white);
    text-decoration: none;
}

.btn.btn-ghost {
    background: transparent;
    color: var(--white);
    border: 1px solid var(--white);
    text-decoration: none;
}



/* --- SUPPORT BANNER --- */
.support-banner {
    background-color: var(--black);
    color: var(--white);
    padding: 1.5rem 50px;
    text-align: left;
}

/* --- PBS HISTORY SECTION --- */
.pbs-history-section {
    padding: 96px 0;
    background-color: var(--white);
}

.pbs-history-section .container {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 32px;
}

.content-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}

.text-content h2 {
    color: var(--navy);
    margin-bottom: 22px;
    font-size: 1.9rem;
}

.text-content p {
    font-size: 1.02rem;
    line-height: 1.75;
    color: #3d3c38;
    max-width: 520px;
    margin-bottom: 1.2rem;
}

.image-content {
    display: flex;
    justify-content: center;
}

.image-content img {
    width: 70%;
    max-width: 100%;
    border-radius: 8px;
    /*box-shadow: 0 20px 45px rgba(0, 38, 98, 0.14);*/
    display: block;
}

/* --- FORM SECTION --- */
.testimonial-form-section {
    background: linear-gradient(115deg, var(--navy) 0%, var(--teal) 100%);
    padding: 96px 0;
}

.form-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start;
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 32px;
    align-items: center;
}

.form-intro {
    color: var(--paper);
}

.form-intro h1,
.form-intro h2 {
    color: var(--paper);
    line-height: 1.25;
    margin-bottom: 22px;
    font-size: 2.25rem;
    max-width: 480px;
}

.form-intro p {
    font-size: 1.50rem;
    line-height: 1.75;
    color: #DCE7E4;
    max-width: 460px;
    margin-bottom: 1.1rem;
}

.teal-text {
    color: var(--white);
    font-weight: 600;
}

 --- FORM CARD STYLING --- 
.form-card {
    flex: 0 0 420px;
    max-width: 420px;
    margin: 0 auto;
    padding: 20px;
    background: var(--white);
    border-radius: 12px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.form-group {
    margin-bottom: 12px; 
}

label {
    display: block;
    font-weight: 600;
    font-size: 0.85rem;
    margin-bottom: 4px;
    color: var(--white);
}

input, select, textarea {
    width: 100%;
    padding: 8px 12px; 
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    box-sizing: border-box;
}

textarea{
    height: 150px;
}

input:focus {
    outline: none;
    border-color: var(--teal);
}

.row {
    display: flex;
    gap: 15px;
}

.row .form-group {
    flex: 1;
}

.submit-btn {
    width: 100%;
    padding: 12px;
    background-color: var(--navy);
    color: var(--white);
    border: none;
    border-radius: 6px;
    font-weight: bold;
    cursor: pointer;
    margin-top: 5px;
}

.submit-btn:hover {
    background-color: var(--teal);
}

.form-disclaimer {
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.6);
    margin: 10px 30px;
    line-height: 1.3;
    text-align: center;
}

.form-disclaimer a {
    color: var(--white);
    text-decoration: underline;
}

.form-disclaimer a:hover {
    color: var(--navy);
}

/* --- PARTNERS SECTION --- */
.partners-section {
    background-color: var(--paper);
    padding: 100px;
}

.partners-section .container {
    max-width: 1120px;
    margin: 100px auto;
    padding: 0 32px;
}


.partner-logo-box {
    background-color: var(--paper-dim);
    padding: 40px;
    border-radius: 8px;
    margin-bottom: 30px;
    border: 2px solid transparent;
    border-image: linear-gradient(135deg, var(--navy), var(--teal)) 1;
}

.partner-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap;
}

.partner-logos img {
    max-height: 70px;
    width: auto;
    filter: grayscale(1);
    opacity: 0.75;
    transition: all 0.15s ease;
}

.partner-logos img:hover {
    filter: none;
    opacity: 1;
}

.partner-footer-text {
    max-width: 640px;
    margin: 32px auto 0;
    font-size: 0.98rem;
    line-height: 1.75;
    color: #3d3c38;
    text-align: center;
}

/* --- RESPONSIVE --- */
@media (max-width: 860px) {
    .content-wrapper,
    .hero-grid,
    .form-wrapper {
        grid-template-columns: 1fr;
    }

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


@media (max-width: 768px) {
    .am-navbar {
        position: relative;
        background-color: var(--ink);
        padding: 15px 20px;
        flex-direction: column;
        gap: 15px;
    }

    .am-navbar nav ul {
        flex-wrap: wrap;
        justify-content: center;
    }
    .am-logo {
        background-color: transparent;
        padding: 0;
    }

    .hero-container {
        margin-top: 0; 
        padding: 100px 50px 0px 50px;
    }
    .hero-text{
        padding-bottom: 0px;
    }
    .image-content-hero img, 
    .image-content img {
        width: 50%;
        height: auto;
    }

    .pbs-history-section,
    .testimonial-form-section {
        padding: 50px;
    }

    .partners-section {
        padding: 0px 0px 64px;
    }
}