body {
    position: absolute;
    display: flex;
    flex-direction: column;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 100vh;
    margin: 0;
    padding: 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1rem;
}

@media only screen and (min-width: 1024px) {
    header {
        display: flex;
        justify-content: space-between;
        padding: 0 16px;
        background: #011122;
        color: white;
    }

    .brand {
        display: flex;
        flex-direction: column;
        width: 214px;
        min-width: 214px;
    }

        .brand .social {
            display: flex;
            padding: 0;
            margin: 6px 0 0 0;
            list-style-type: none;
        }

            .brand .social li {
                margin: 0 4px;
            }

        .brand .social-link:link {
            display: flex;
            justify-content: center;
            align-items: center;
            color: white;
            text-decoration: none;
            width: 28px;
            height: 28px;
        }

        .brand .social-link:visited {
            color: white;
        }

    .logo {
        display: flex;
        align-items: center;
    }

    .logo-abbr {
        font-size: 1.85rem;
        color: #DD0000;
        margin: 16px 8px 16px 0;
    }

    .logo-full {
        font-size: 0.8rem;
        text-transform: uppercase;
        letter-spacing: -0.025rem;
        line-height: 1;
        margin: 16px 0;
    }

    .hamburger {
        display: none;
    }

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

        nav.desktop-nav .social {
            display: none;
        }

        nav.desktop-nav .nav-link:link {
            display: block;
            text-align: center;
            padding: 12px 16px;
            color: white;
            text-decoration: none;
            font-weight: 600;
        }

        nav.desktop-nav .nav-link:visited {
            color: white;
        }

        nav.desktop-nav .nav-link-donate:link {
            background: white;
            color: #DD0000;
            border-radius: 16px;
            margin-left: 12px;
        }

        nav.desktop-nav .nav-link-donate:visited {
            color: #DD0000;
        }

    nav.mobile-nav {
        display: none;
    }

    .red {
        color: #DD0000;
    }

    .content {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .hero {
        display: flex;
    }

    .slideshow {
        display: flex;
        position: relative;
        width: 100%;
        height: 85vh;
    }

    .hero-slide {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .hero-slide-1 {
        background: url('/images/hero1.jpg') no-repeat;
        background-size: cover;
        background-position: center;
    }

    .hero-slide-2 {
        background: url('/images/hero2.jpg') no-repeat;
        background-size: cover;
        background-position: center;
    }

    .hero-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #00000033;
    }

    .hero-card {
        position: absolute;
        bottom: 64px;
        left: 64px;
        background: #000000aa;
        color: white;
        padding: 24px;
        width: 384px;
        border-radius: 8px;
    }

    .hero-title {
        font-size: 2rem;
        text-transform: uppercase;
        margin: 0;
    }

    .hero-button:link {
        display: block;
        width: 100%;
        padding: 12px 0;
        background: white;
        border-radius: 12px;
        color: #DD0000;
        font-size: 1.1rem;
        margin-top: 24px;
        text-align: center;
        text-decoration: none;
        font-weight: 600;
    }

    .hero-button:visited {
        color: #DD0000;
    }

    .about {
        display: flex;
        flex-direction: column;
        align-items: center;
        background: #011122;
        color: white;
        padding: 16px 64px 48px 64px;
    }

    .section-title {
        font-size: 2rem;
        text-transform: uppercase;
        text-align: center;
        padding: 32px 0 48px 0;
        margin: 0;
        border-bottom: 2px solid #777;
        width: 100%;
    }

    .section-disclaimer {
        font-size: 1.25rem;
        text-transform: uppercase;
    }

    .about-section {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 16px;
        width: 1024px;
    }

    .about-image {
        margin-right: 16px;
    }

        .about-image img {
            width: 500px;
            height: 700px;
        }

    .about-info {
        margin-left: 16px;
    }

    .about-info-title {
        font-size: 1rem;
        font-weight: 600;
        border-top: 2px solid #777;
        border-bottom: 2px solid #777;
        padding: 16px 0;
        line-height: 1.25;
    }

    .about-info-subtitle {
        font-size: 0.8rem;
        font-weight: 400;
        color: #aaa;
        line-height: 1.25;
    }

    .structure {
        display: flex;
        flex-direction: column;
        align-items: center;
        background: white;
        color: black;
        padding: 16px 64px 48px 64px;
    }

    .structure-section {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 16px;
        width: 1024px;
    }

    .structure-card {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 298px;
        background: #011122;
        color: white;
        border-radius: 8px;
        padding: 16px;
    }

        .structure-card .structure-card-icon {
            font-size: 2rem;
            margin-top: 8px;
            margin-bottom: 16px;
        }

        .structure-card .structure-card-title {
            font-weight: 600;
            font-size: 1.5rem;
            margin-bottom: 8px;
            color: #DD0000;
        }

        .structure-card .structure-card-body {
            font-size: 0.95rem;
            line-height: 1.25;
        }

    .media {
        display: flex;
        flex-direction: column;
        align-items: center;
        background: #011122;
        color: white;
        padding: 16px 64px 48px 64px;
    }

    .media-section {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        margin-top: 16px;
        width: 1024px;
    }

    .media-card {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 436px;
        color: white;
        border-radius: 8px;
        padding: 16px;
        margin-top: 32px;
        min-height: 225px;
        cursor: pointer;
        transition: transform 0.2s ease;
    }

        .media-card:hover {
            transform: scale(1.02);
        }

        .media-card .media-card-caption {
            position: absolute;
            left: 16px;
            bottom: 12px;
            font-size: 1.5rem;
            font-weight: 600;
            text-transform: uppercase;
            max-width: 400px;
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
        }

    .projects {
        display: flex;
        flex-direction: column;
        align-items: center;
        background: white;
        color: black;
        padding: 16px 64px 48px 64px;
    }

    .projects-section {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        margin-top: 16px;
        max-width: 1024px;
        width: 90%;
    }

    .project-card {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        border: 2px solid #777;
        border-radius: 8px;
        padding: 16px;
        margin-top: 32px;
        cursor: pointer;
        box-shadow: 2px 2px 4px #00000033;
        transition: transform 0.2s ease;
    }

        .project-card:hover {
            transform: scale(1.02);
        }

        .project-card .project-card-title {
            font-size: 1.4rem;
            font-weight: 600;
            text-transform: uppercase;
        }

        .project-card .project-card-date {
            font-size: 0.85rem;
            font-weight: 300;
            color: #555;
            margin-bottom: 16px;
        }

        .project-card .project-card-body {
            font-size: 0.95rem;
            line-height: 1.25;
        }

    .donate {
        display: flex;
        flex-direction: column;
        align-items: center;
        background: #011122;
        color: white;
        padding: 16px 64px 48px 64px;
    }

    .donate-section {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        margin-top: 16px;
        width: 1024px;
    }

    .donate-group {
        display: flex;
        flex-direction: column;
        width: 1024px;
    }

    .donate-button:link {
        display: flex;
        justify-content: center;
        align-items: center;
        cursor: pointer;
        margin-top: 16px;
        font-size: 1.05rem;
        font-weight: 600;
        color: #DD0000;
        background: white;
        text-decoration: none;
        width: 100%;
        height: 52px;
        border: none;
        border-radius: 8px;
        transition: outline 0.2s ease;
    }

    .donate-button:visited {
        color: #DD0000;
    }

    .donate-button:hover {
        outline: 4px solid #DD0000;
    }

    .opportunities {
        display: flex;
        flex-direction: column;
        align-items: center;
        background: white;
        color: black;
        padding: 16px 64px 48px 64px;
    }

    .opportunities-section {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        margin-top: 16px;
        width: 1024px;
    }

    .opportunities-group {
        display: flex;
        flex-direction: column;
        width: 1024px;
    }

    .opportunities-label {
        font-size: 1rem;
        font-weight: 400;
        margin-bottom: 4px;
    }

    .opportunities-text {
        display: block;
        width: calc(100% - 32px);
        padding: 12px 16px;
        border: none;
        outline: 2px solid black;
        border-radius: 8px;
        font-size: 1.05rem;
        margin-bottom: 16px;
        transition: outline 0.2s ease;
    }

        .opportunities-text:focus {
            outline: 4px solid #DD0000;
        }

    .opportunities-button {
        cursor: pointer;
        margin-top: 16px;
        font-size: 1.05rem;
        font-weight: 600;
        color: #DD0000;
        background: white;
        width: 100%;
        height: 52px;
        border: none;
        outline: 2px solid black;
        border-radius: 8px;
        transition: outline 0.2s ease;
    }

        .opportunities-button:hover {
            outline: 4px solid #DD0000;
        }

    footer {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        background: #011122;
        color: white;
        height: 52px;
        font-size: 0.9rem;
    }
}

@media only screen and (max-width: 1023px) {
    header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 16px;
        background: #011122;
        color: white;
        height: 68px;
    }

    .brand {
        display: flex;
        width: 214px;
        min-width: 214px;
    }

        .brand .social {
            display: none;
        }

    .logo {
        display: flex;
        align-items: center;
    }

    .logo-abbr {
        font-size: 1.85rem;
        color: #DD0000;
        margin: 16px 8px 16px 0;
    }

    .logo-full {
        font-size: 0.8rem;
        text-transform: uppercase;
        letter-spacing: -0.025rem;
        line-height: 1;
        margin: 16px 0;
    }

    .hamburger {
        display: flex;
        justify-content: center;
        align-items: center;
        cursor: pointer;
        width: 36px;
        height: 36px;
        font-size: 1.1rem;
    }

    nav.desktop-nav {
        display: none;
    }

    nav.mobile-nav {
        position: absolute;
        top: 68px;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        background: #011122;
        overflow-y: hidden;
        z-index: 10000;
        clip-path: inset(0 0 100% 0);
        transition: clip-path 0.4s ease;
    }

    header:has(#hamburger:checked) + nav.mobile-nav {
        clip-path: inset(0 0 0 0);
    }

    nav.mobile-nav .social {
        display: flex;
        justify-content: center;
        padding: 0;
        margin: 0;
        list-style-type: none;
        margin-bottom: 12px;
    }

        nav.mobile-nav .social li {
            margin: 0 20px;
        }

    nav.mobile-nav .social-link:link {
        display: flex;
        justify-content: center;
        align-items: center;
        color: white;
        text-decoration: none;
        width: 36px;
        height: 36px;
        font-size: 1.5rem;
    }

    nav.mobile-nav .social-link:visited {
        color: white;
    }

    nav.mobile-nav .nav-link:link {
        display: block;
        text-align: center;
        padding: 16px 0;
        color: white;
        text-decoration: none;
        font-weight: 600;
    }

    nav.mobile-nav .nav-link:visited {
        color: white;
    }

    nav.mobile-nav .nav-link-donate:link {
        background: white;
        color: #DD0000;
        width: 128px;
        margin: 8px;
        border-radius: 16px;
    }

    nav.mobile-nav .nav-link-donate:visited {
        color: #DD0000;
    }

    .content {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .hero {
        display: flex;
    }

    .slideshow {
        display: flex;
        position: relative;
        width: 100%;
        height: 90vh;
    }

    .hero-slide {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .hero-slide-1 {
        background: url('/images/hero1.jpg') no-repeat;
        background-size: cover;
        background-position: center;
    }

    .hero-slide-2 {
        background: url('/images/hero2.jpg') no-repeat;
        background-size: cover;
        background-position: center;
    }

    .hero-overlay {
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #00000033;
    }

    .hero-card {
        background: #000000aa;
        color: white;
        padding: 24px;
        width: 384px;
        border-radius: 8px;
    }

    .hero-title {
        font-size: 2rem;
        text-transform: uppercase;
        margin: 0;
    }

    .hero-button:link {
        display: block;
        width: 100%;
        padding: 12px 0;
        background: white;
        border-radius: 12px;
        color: #DD0000;
        font-size: 1.1rem;
        margin-top: 24px;
        text-align: center;
        text-decoration: none;
        font-weight: 600;
    }

    .hero-button:visited {
        color: #DD0000;
    }

    .about {
        display: flex;
        flex-direction: column;
        align-items: center;
        background: #011122;
        color: white;
        padding: 12px 16px;
    }

    .section-title {
        font-size: 2rem;
        text-transform: uppercase;
        text-align: center;
        padding: 32px 0 44px 0;
        margin: 0;
        border-bottom: 2px solid #777;
        width: 100%;
    }

    .section-disclaimer {
        font-size: 1.2rem;
        text-transform: uppercase;
    }

    .about-section {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 100%;
        margin-top: 16px;
    }

    .about-image {
        max-width: 500px;
        width: 90%;
    }

        .about-image img {
            width: 100%;
        }

    .about-info {
        max-width: 700px;
        width: 95%;
    }

    .about-info-title {
        font-size: 1rem;
        font-weight: 600;
        border-top: 2px solid #777;
        border-bottom: 2px solid #777;
        padding: 16px 0;
        line-height: 1.25;
    }

    .about-info-subtitle {
        font-size: 0.9rem;
        font-weight: 400;
        color: #aaa;
        line-height: 1.25;
    }

    .structure {
        display: flex;
        flex-direction: column;
        align-items: center;
        background: white;
        color: black;
        padding: 16px 32px 48px 32px;
    }

    .structure-section {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        min-width: 196px;
        max-width: 424px;
    }

    .structure-card {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 100%;
        background: #011122;
        color: white;
        border-radius: 8px;
        padding: 16px;
        margin: 8px 0;
    }

        .structure-card .structure-card-icon {
            font-size: 2rem;
            margin-top: 8px;
            margin-bottom: 16px;
        }

        .structure-card .structure-card-title {
            font-weight: 600;
            font-size: 1.5rem;
            margin-bottom: 8px;
            color: #DD0000;
        }

        .structure-card .structure-card-body {
            font-size: 0.95rem;
            line-height: 1.25;
        }

    .media {
        display: flex;
        flex-direction: column;
        align-items: center;
        background: #011122;
        color: white;
        padding: 16px 32px 48px 32px;
    }

    .media-section {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: 16px;
        width: 100%;
        min-width: 196px;
        max-width: 424px;
    }

    .media-card {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 100%;
        color: white;
        border-radius: 8px;
        padding: 12px;
        margin-top: 16px;
        min-height: 196px;
        cursor: pointer;
        transition: transform 0.2s ease;
    }

        .media-card:hover {
            transform: scale(1.02);
        }

        .media-card .media-card-caption {
            position: absolute;
            left: 16px;
            bottom: 12px;
            font-size: 1.5rem;
            font-weight: 600;
            text-transform: uppercase;
            max-width: 90%;
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
        }

    .projects {
        display: flex;
        flex-direction: column;
        align-items: center;
        background: white;
        color: black;
        padding: 16px 32px 48px 32px;
    }

    .projects-section {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        margin-top: 16px;
        max-width: 1024px;
        width: 100%;
    }

    .project-card {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        border: 2px solid #777;
        border-radius: 8px;
        padding: 16px;
        margin-top: 16px;
        cursor: pointer;
        box-shadow: 2px 2px 4px #00000033;
        transition: transform 0.2s ease;
    }

        .project-card:hover {
            transform: scale(1.02);
        }

        .project-card .project-card-title {
            font-size: 1.4rem;
            font-weight: 600;
            text-transform: uppercase;
        }

        .project-card .project-card-date {
            font-size: 0.85rem;
            font-weight: 300;
            color: #555;
            margin-bottom: 16px;
        }

        .project-card .project-card-body {
            font-size: 0.95rem;
            line-height: 1.25;
        }

    .donate {
        display: flex;
        flex-direction: column;
        align-items: center;
        background: #011122;
        color: white;
        padding: 16px 32px 48px 32px;
    }

    form {
        width: 100%;
    }

    .donate-section {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        max-width: 484px;
        width: 100%;
    }

    .donate-group {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .donate-button:link {
        display: flex;
        justify-content: center;
        align-items: center;
        cursor: pointer;
        margin-top: 16px;
        font-size: 1.05rem;
        font-weight: 600;
        color: #DD0000;
        background: white;
        text-decoration: none;
        width: 100%;
        height: 52px;
        border: none;
        border-radius: 8px;
        transition: outline 0.2s ease;
    }

    .donate-button:visited {
        color: #DD0000;
    }

    .donate-button:hover {
        outline: 4px solid #DD0000;
    }

    .opportunities {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        background: white;
        color: black;
        padding: 16px 32px 48px 32px;
    }

    form {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .opportunities-section {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        margin-top: 16px;
        width: 100%;
        max-width: 484px;
    }

    .opportunities-group {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .opportunities-label {
        font-size: 1rem;
        font-weight: 400;
        margin-bottom: 4px;
    }

    .opportunities-text {
        display: block;
        width: calc(100% - 32px);
        padding: 12px 16px;
        border: none;
        outline: 2px solid black;
        border-radius: 8px;
        font-size: 1.05rem;
        margin-bottom: 16px;
        transition: outline 0.2s ease;
    }

        .opportunities-text:focus {
            outline: 4px solid #DD0000;
        }

    .opportunities-button {
        cursor: pointer;
        margin-top: 16px;
        font-size: 1.05rem;
        font-weight: 600;
        color: #DD0000;
        background: white;
        width: 100%;
        height: 48px;
        border: none;
        outline: 2px solid black;
        border-radius: 8px;
        transition: outline 0.2s ease;
    }

        .opportunities-button:hover {
            outline: 4px solid #DD0000;
        }

    footer {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        background: #011122;
        color: white;
        height: 52px;
        font-size: 0.9rem;
    }
}
