:root {
    --hybrid-ink: #111512;
    --hybrid-paper: #f3f0e9;
    --hybrid-paper-deep: #e6dfd2;
    --hybrid-white: #ffffff;
    --hybrid-forest: #073c2d;
    --hybrid-forest-dark: #03281e;
    --hybrid-lime: #d5ef67;
    --hybrid-mint: #b9d6c8;
    --hybrid-rule: rgba(17, 21, 18, .24);
    --hybrid-shadow: 0 18px 34px rgba(17, 21, 18, .14);
    --hybrid-serif: "Libre Caslon Display", Georgia, serif;
    --hybrid-sans: "DM Sans", Arial, sans-serif;
}

html {
    scroll-behavior: smooth;
}

body {
    color: var(--hybrid-ink);
    background: var(--hybrid-paper);
    font-family: var(--hybrid-sans);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.6;
}

body,
button,
input,
select,
textarea {
    font-family: var(--hybrid-sans);
}

::selection {
    color: var(--hybrid-forest-dark);
    background: var(--hybrid-lime);
}

:focus-visible {
    outline: 3px solid var(--hybrid-lime);
    outline-offset: 3px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--hybrid-ink);
    font-family: var(--hybrid-serif);
    font-weight: 400;
    letter-spacing: -.025em;
}

p {
    line-height: 1.65;
}

a {
    color: var(--hybrid-forest);
}

a:hover,
a:focus {
    color: var(--hybrid-forest);
}

.climate-collaboration-note {
    max-width: 900px;
    margin: 0 auto 36px;
    padding: 18px 22px;
    color: var(--hybrid-forest-dark);
    background: rgba(255, 255, 255, .68);
    border-left: 4px solid var(--hybrid-lime);
    font-style: normal;
    line-height: 1.6;
}

.climate-collaboration-note a {
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.superfund-intro + .climate-collaboration-note {
    margin-top: -18px;
}

.cg-intro .climate-collaboration-note {
    margin-top: 24px;
    margin-bottom: 0;
    text-align: left;
}

.container,
.navbar .container-fluid {
    width: min(100% - 80px, 1260px);
    max-width: 1260px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 0;
    padding-left: 0;
}

/* Shared navigation */

#navbar-inserts-here {
    min-height: 130px;
    background: var(--hybrid-white);
}

.interior-utility-bar {
    color: var(--hybrid-white);
    background: var(--hybrid-forest-dark);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .05em;
}

.interior-utility-bar__inner {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.interior-utility-bar p {
    margin: 0;
}

.interior-utility-bar__links {
    display: flex;
    gap: 26px;
}

.interior-utility-bar a {
    color: var(--hybrid-white);
}

.interior-utility-bar a:hover {
    color: var(--hybrid-lime);
}

.navbar,
.navbar.nav-sticky,
.page .navbar {
    position: relative;
    top: auto;
    width: 100%;
    padding: 17px 0;
    background: var(--hybrid-white) !important;
    border: 0;
    border-bottom: 1px solid rgba(17, 21, 18, .14);
    box-shadow: none;
    transition: padding .25s ease, box-shadow .25s ease;
}

.navbar.nav-sticky {
    position: fixed;
    top: 0;
    padding: 9px 0;
    box-shadow: 0 6px 22px rgba(17, 21, 18, .12);
}

.navbar .navbar-brand {
    width: 205px;
    padding: 0;
    margin: 0 30px 0 0;
    line-height: 1;
}

.navbar .navbar-brand img {
    width: 100%;
    height: auto;
    max-width: none;
    max-height: none;
}

.navbar .navbar-nav {
    align-items: center;
}

.navbar-dark .navbar-nav .nav-link,
.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active {
    position: relative;
    padding: 12px 13px;
    color: var(--hybrid-ink);
    font-family: var(--hybrid-sans);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0;
}

.navbar-dark .navbar-nav .nav-link:not(.nav-donate)::after {
    content: "";
    position: absolute;
    right: 13px;
    bottom: 5px;
    left: 13px;
    height: 3px;
    background: var(--hybrid-forest);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .2s ease;
}

.navbar-dark .navbar-nav .nav-link:not(.nav-donate):hover::after,
.navbar-dark .navbar-nav .nav-link.active:not(.nav-donate)::after,
.navbar-dark .navbar-nav .show > .nav-link:not(.nav-donate)::after {
    transform: scaleX(1);
}

.navbar button.nav-link {
    display: flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: 0;
    text-align: left;
    cursor: pointer;
}

.navbar-dark .navbar-nav .dropdown-toggle::after {
    margin-left: 0;
    vertical-align: initial;
    border: 0;
}

.navbar-dropdown-caret {
    width: 7px;
    height: 7px;
    flex: 0 0 auto;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform .2s ease;
}

.dropdown.show > .dropdown-toggle .navbar-dropdown-caret {
    transform: translateY(2px) rotate(225deg);
}

.navbar .dropdown-menu {
    min-width: 230px;
    margin-top: 0;
    padding: 12px 0;
    background: var(--hybrid-paper);
    border: 0;
    border-radius: 0;
    box-shadow: 0 18px 30px rgba(17, 21, 18, .16);
}

.navbar .dropdown-item {
    padding: 9px 20px;
    color: var(--hybrid-ink);
    font-family: var(--hybrid-sans);
    font-size: 14px;
    font-weight: 600;
}

.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus,
.navbar .dropdown-item.active {
    color: var(--hybrid-white);
    background: var(--hybrid-forest);
}

.navbar-dark .navbar-nav .nav-donate {
    margin-left: 10px;
    padding: 10px 18px;
    color: var(--hybrid-forest);
    background: transparent;
    border: 2px solid var(--hybrid-forest);
    border-radius: 0;
}

.navbar-dark .navbar-nav .nav-donate:last-child {
    color: var(--hybrid-forest-dark);
    background: var(--hybrid-lime);
    border-color: var(--hybrid-lime);
}

.navbar-dark .navbar-nav .nav-donate:hover,
.navbar-dark .navbar-nav .nav-donate:focus {
    color: var(--hybrid-white);
    background: var(--hybrid-forest);
    border-color: var(--hybrid-forest);
}

.navbar-dark .navbar-toggler {
    padding: 8px 10px;
    background: var(--hybrid-forest);
    border: 0;
    border-radius: 0;
}

/* Editorial masthead */

.page-header,
.page-header.editorial-page-header {
    position: relative;
    min-height: 440px;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 90px 0;
    overflow: hidden;
    text-align: left;
    color: var(--hybrid-white);
    background:
        radial-gradient(circle at 82% 20%, rgba(213, 239, 103, .15), transparent 25%),
        linear-gradient(115deg, var(--hybrid-forest-dark) 0%, var(--hybrid-forest) 100%);
    background-attachment: scroll;
}

.page-header::after {
    content: "IRISTEM";
    position: absolute;
    right: -25px;
    bottom: -76px;
    color: rgba(255, 255, 255, .045);
    font-family: var(--hybrid-serif);
    font-size: clamp(170px, 23vw, 340px);
    line-height: .72;
    pointer-events: none;
}

.page-header .container {
    position: relative;
    z-index: 1;
}

.page-header .row {
    display: block;
    margin: 0;
}

.page-header .row > [class*="col-"] {
    max-width: 900px;
    padding: 0;
}

.page-header h1,
.page-header h2,
.page-header.editorial-page-header h1 {
    max-width: 980px;
    margin: 0;
    padding: 0;
    color: var(--hybrid-white);
    font-family: var(--hybrid-serif);
    font-size: clamp(58px, 7vw, 94px);
    font-weight: 400;
    letter-spacing: -.045em;
    line-height: .95;
    text-wrap: balance;
}

.page-header h1::after,
.page-header h2::after,
.page-header.editorial-page-header h1::after {
    display: none;
}

.editorial-page-rule {
    width: 100px;
    height: 5px;
    margin: 32px 0 28px;
    background: var(--hybrid-lime);
    opacity: 1;
}

.page-header p,
.page-header.editorial-page-header p {
    max-width: 800px;
    margin: 0;
    color: rgba(255, 255, 255, .86);
    font-family: var(--hybrid-sans);
    font-size: clamp(18px, 1.7vw, 23px);
    font-weight: 400;
    line-height: 1.5;
}

.page-header p + br {
    display: none;
}

.page-header p + p {
    margin-top: 16px;
}

.page-header a {
    display: inline-block;
    padding: 0 22px 0 0;
    color: var(--hybrid-white);
    font-size: 15px;
    font-weight: 700;
}

.page-header a:hover {
    color: var(--hybrid-lime);
}

.page-header a::after {
    top: 0;
    right: 7px;
    color: var(--hybrid-lime);
}

.page-header .join-iristem-button::after {
    display: none;
}

.page-header .carousel-btn {
    margin-top: 28px;
}

.donate-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 28px;
    color: rgba(255, 255, 255, .68);
    font-family: var(--hybrid-sans);
    font-size: 14px;
    font-weight: 600;
}

.page-header .donate-breadcrumb a {
    padding: 0;
    color: var(--hybrid-lime);
    font-size: inherit;
}

.page-header .donate-breadcrumb a::after {
    display: none;
}

/* Shared typography and controls */

.section-header {
    max-width: 840px;
    margin-bottom: 50px;
}

.section-header p {
    margin: 0 0 14px;
    color: var(--hybrid-forest);
    font-family: var(--hybrid-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .22em;
    line-height: 1.25;
    text-transform: uppercase;
}

.section-header h2,
.section-header.text-center h2 {
    margin: 0;
    color: var(--hybrid-ink);
    font-family: var(--hybrid-serif);
    font-size: clamp(44px, 5vw, 68px);
    font-weight: 400;
    letter-spacing: -.035em;
    line-height: 1;
    text-wrap: balance;
}

.btn.btn-custom {
    min-width: 145px;
    padding: 14px 24px;
    color: var(--hybrid-white);
    background: var(--hybrid-forest);
    border: 2px solid var(--hybrid-forest);
    border-radius: 0;
    box-shadow: none;
    font-family: var(--hybrid-sans);
    font-size: 15px;
    font-weight: 700;
    transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}

.btn.btn-custom:hover,
.btn.btn-custom:focus {
    color: var(--hybrid-forest-dark);
    background: var(--hybrid-lime);
    border-color: var(--hybrid-lime);
    box-shadow: none;
    transform: translateY(-2px);
}

/* Content sections */

.about,
.service,
.causes,
.event,
.team,
.blog,
.contact,
.single,
.partners,
.chapters-section {
    padding: clamp(72px, 8vw, 112px) 0;
}

.about,
.contact,
.chapters-section,
.single {
    background: var(--hybrid-paper);
}

.service,
.team,
.partners,
.blog {
    background: var(--hybrid-white);
}

.causes,
.event {
    background: var(--hybrid-paper-deep);
}

.about .about-img,
.resource-preview-img,
.contact .contact-img,
.event .event-item img {
    border: 9px solid var(--hybrid-white);
    border-radius: 0;
    box-shadow: var(--hybrid-shadow);
}

.about .about-img {
    height: auto;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    transform: rotate(-1.5deg);
}

.about .about-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about .section-header {
    margin-top: 0;
    margin-bottom: 30px;
}

.about .about-text,
.about .about-tab {
    max-width: 650px;
}

.about .about-tab .nav.nav-pills {
    border-top: 1px solid var(--hybrid-ink);
    border-bottom: 1px solid var(--hybrid-ink);
}

.about .about-tab .nav.nav-pills .nav-link {
    padding: 13px 8px;
    color: var(--hybrid-ink);
    background: transparent;
    border: 0;
    border-right: 1px solid var(--hybrid-rule);
    border-radius: 0;
    font-family: var(--hybrid-sans);
    font-size: 14px;
    font-weight: 700;
}

.about .about-tab .nav-item:last-child .nav-link {
    border-right: 0;
}

.about .about-tab .nav.nav-pills .nav-link:hover,
.about .about-tab .nav.nav-pills .nav-link.active {
    padding-bottom: 13px;
    color: var(--hybrid-white);
    background: var(--hybrid-forest);
    border-bottom: 0;
}

.about .about-tab .tab-content {
    padding-top: 24px;
    font-size: 16px;
}

.service .row,
.blog .row,
.team .row,
.event .row {
    align-items: stretch;
}

.service [class*="col-"],
.blog [class*="col-"],
.team [class*="col-"],
.event [class*="col-"] {
    display: flex;
}

.service .service-item {
    width: 100%;
    min-height: 310px;
    display: block;
    margin-bottom: 30px;
    padding: 38px 32px;
    text-align: left;
    background: var(--hybrid-paper);
    border-top: 5px solid var(--hybrid-forest);
    border-radius: 0;
    transition: color .25s ease, background .25s ease, transform .25s ease;
}

.service .service-item:hover {
    color: var(--hybrid-white);
    background: var(--hybrid-forest);
    transform: translateY(-5px);
}

.service .service-icon {
    width: auto;
    margin-bottom: 28px;
}

.service .service-icon i {
    color: var(--hybrid-forest);
    font-size: 58px;
    line-height: 1;
}

.service .service-item:hover .service-icon i {
    color: var(--hybrid-lime);
}

.service .service-text {
    margin: 0;
    padding: 0;
}

.service .service-text::before,
.service .service-text::after {
    display: none;
}

.service .service-text h3 {
    margin-bottom: 14px;
    color: var(--hybrid-ink);
    font-family: var(--hybrid-serif);
    font-size: 31px;
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.08;
}

.service .service-item:hover h3,
.service .service-item:hover p {
    color: var(--hybrid-white);
}

.service .service-text p {
    color: var(--hybrid-ink);
    font-size: 16px;
    transition: color .25s ease;
}

/* Image-led cards */

.causes .causes-carousel {
    width: calc(100% + 24px);
    margin-right: -12px;
    margin-left: -12px;
}

.causes .causes-item,
.blog .blog-item,
.event .event-item {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    margin: 0 12px 30px;
    overflow: hidden;
    background: var(--hybrid-white);
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.blog .blog-item,
.event .event-item {
    margin-right: 0;
    margin-left: 0;
    border-bottom: 1px solid var(--hybrid-ink);
}

.causes .causes-img,
.blog .blog-img {
    overflow: hidden;
}

.causes .causes-img img,
.blog .blog-img img,
.event .event-item > img {
    width: 100%;
    height: 285px;
    object-fit: cover;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transition: transform .4s ease;
}

.causes .causes-img .svyca-community-photo,
.blog .blog-img .svyca-community-photo {
    object-position: center 34%;
}

.causes .causes-item:hover img,
.blog .blog-item:hover img,
.event .event-item:hover > img {
    transform: scale(1.055);
}

.causes .causes-text,
.blog .blog-text {
    flex: 1;
    padding: 28px 28px 22px;
}

.causes .causes-text h3,
.blog .blog-text h3,
.blog .blog-text h3 a,
.event .event-text h3 {
    color: var(--hybrid-ink);
    font-family: var(--hybrid-serif);
    font-size: 30px;
    font-weight: 400;
    letter-spacing: -.025em;
    line-height: 1.08;
}

.blog .blog-text h3 a:hover {
    color: var(--hybrid-forest);
    text-decoration: underline;
}

.blog .blog-meta {
    flex-wrap: wrap;
    gap: 8px 16px;
    margin: 0 28px 22px;
    padding-top: 16px;
}

.blog .blog-meta p,
.blog .blog-meta p:first-child,
.blog .blog-meta p:last-child {
    padding: 0;
    border: 0;
    font-size: 12px;
}

.causes .causes-btn {
    margin-top: auto;
}

.causes .causes-btn .btn {
    min-width: 0;
    border-radius: 0;
}

.causes .causes-btn .btn:last-child {
    color: var(--hybrid-forest-dark);
    background: var(--hybrid-lime);
    border-color: var(--hybrid-lime);
}

.event .event-content {
    flex: 1;
    background: var(--hybrid-white);
}

.event .event-meta {
    color: var(--hybrid-forest);
    border-bottom-color: var(--hybrid-rule);
}

.event .event-text::before,
.event .event-text::after {
    background: var(--hybrid-lime);
}

/* Team */

.team .team-item {
    width: 100%;
    margin-bottom: 42px;
    background: var(--hybrid-paper);
    border-top: 5px solid var(--hybrid-forest);
}

.team .team-img {
    width: 100%;
    aspect-ratio: 4 / 5;
    margin: 0;
    overflow: hidden;
    background: var(--hybrid-paper-deep);
    border-radius: 0;
}

.team .team-img img {
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
    object-position: center top;
    transform: none;
    transition: transform .4s ease;
}

.team .team-item:hover img {
    margin: 0;
    transform: scale(1.04);
}

.team .team-text {
    position: static;
    width: 100%;
    height: auto;
    padding: 24px 22px;
    overflow: visible;
    text-align: left;
    background: transparent;
}

.team .team-text h2 {
    margin: 0 0 4px;
    color: var(--hybrid-ink);
    font-family: var(--hybrid-serif);
    font-size: 28px;
    font-weight: 400;
}

.team .team-text p {
    margin: 0;
    color: var(--hybrid-forest);
    font-family: var(--hybrid-sans);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.team .team-item:hover .team-text {
    height: auto;
}

/* Partner logos and resource previews */

.partners-grid {
    gap: 22px;
}

.partner-logo {
    min-height: 200px;
    padding: 34px;
    background: var(--hybrid-paper);
    border: 1px solid var(--hybrid-rule);
    border-radius: 0;
    box-shadow: none;
    transition: background .2s ease, transform .2s ease;
}

.partner-logo:hover {
    background: var(--hybrid-white);
    transform: translateY(-4px);
}

.partner-logo--penn img {
    width: 100%;
    max-width: 250px;
    padding: 14px 18px;
    background: #011f5b;
}

.partner-thanks {
    color: var(--hybrid-forest);
}

.resource-preview-img {
    max-height: none;
    border: 9px solid var(--hybrid-white);
    border-radius: 0;
}

/* Chapters */

.chapters-section {
    background: var(--hybrid-paper);
}

.chapters-intro {
    max-width: 920px;
    margin: -10px auto 60px;
    padding: 24px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--hybrid-lime);
    border: 0;
}

.chapters-intro p {
    margin: 0;
    color: var(--hybrid-forest-dark);
    font-family: var(--hybrid-serif);
    font-size: 27px;
    font-weight: 400;
}

.chapter-region {
    margin: 70px 0 30px;
    padding-bottom: 13px;
    color: var(--hybrid-forest);
    border-bottom: 1px solid var(--hybrid-ink);
    font-family: var(--hybrid-sans);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.chapter-card {
    position: relative;
    min-height: 390px;
    margin-bottom: 30px;
    padding: 32px 78px 28px 30px;
    display: flex;
    flex-direction: column;
    background: var(--hybrid-white);
    border: 1px solid var(--hybrid-rule);
    border-top: 5px solid var(--hybrid-forest);
    border-radius: 0;
    box-shadow: none;
    transition: transform .2s ease, box-shadow .2s ease;
}

.chapter-card:hover {
    box-shadow: var(--hybrid-shadow);
    transform: translateY(-4px);
}

.chapter-arrow {
    top: 28px;
    right: 26px;
    width: 42px;
    height: 42px;
    color: var(--hybrid-forest-dark);
    background: var(--hybrid-lime);
    border-radius: 50%;
    font-size: 16px;
}

.chapter-arrow:hover,
.chapter-arrow:focus {
    color: var(--hybrid-white);
    background: var(--hybrid-forest);
}

.chapter-card h3 {
    margin: 0;
    color: var(--hybrid-ink);
    font-family: var(--hybrid-serif);
    font-size: 28px;
    font-weight: 400;
    line-height: 1.08;
}

.chapter-card > p {
    margin: 6px 0 0;
    color: var(--hybrid-forest);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.chapter-logo {
    height: 140px;
    min-height: 140px;
    margin: auto 8px 0;
    padding-top: 0;
    overflow: hidden;
}

.chapter-logo img {
    width: 130px;
    height: 130px;
    max-width: none;
    max-height: none;
    object-fit: contain;
    /* Keep the artwork inside the shared viewport, including marks that use
       almost the full height of their transparent source canvas. */
    transform: scale(1.2);
    transform-origin: center;
}

/* Wide marks need more scale because their source files include a square
   transparent canvas. The shared viewport above keeps every logo row aligned. */
.chapter-logo img[src*="01_archbishop_mitty"],
.chapter-logo img[src*="05_stanford_online"],
.chapter-logo img[src*="10_the_college_preparatory"] {
    transform: scale(2);
}

.chapter-logo img[src*="02_leland"],
.chapter-logo img[src*="11_willow_glen"],
.chapter-logo img[src*="14_college_park"],
.chapter-logo img[src*="15_el_cerrito"],
.chapter-logo img[src*="16_our_lady_of_good_counsel"],
.chapter-logo img[src*="22_woodford_county"],
.chapter-logo img[src*="25_colegio_alexander_von_humboldt"] {
    transform: scale(1.75);
}

.chapter-details {
    border-top-color: var(--hybrid-rule);
}

.chapter-details summary {
    color: var(--hybrid-forest);
    font-family: var(--hybrid-sans);
    font-size: 14px;
}

.chapter-details summary::marker {
    color: var(--hybrid-forest);
}

/* Contact and article content */

.partner-summary {
    max-width: 820px;
    margin: -20px auto 48px;
    font-size: 18px;
}

.contact .contact-img {
    overflow: hidden;
    transform: rotate(-.6deg);
}

.contact .contact-img img {
    height: 460px;
}

.contact .contact-form,
.contact .contact-form.contact-form-plain {
    max-width: 760px;
    margin-top: -190px;
    padding: 38px;
    background: var(--hybrid-white);
    border: 0;
    border-top: 6px solid var(--hybrid-lime);
    border-radius: 0;
    box-shadow: var(--hybrid-shadow);
}

.contact .form-control,
.contact .contact-form input,
.contact .contact-form textarea,
.contact .contact-form select {
    min-height: 54px;
    margin-bottom: 15px;
    padding: 13px 15px;
    color: var(--hybrid-ink);
    background: var(--hybrid-paper);
    border: 1px solid var(--hybrid-rule);
    border-radius: 0;
}

.contact .contact-form textarea {
    min-height: 150px;
}

.contact .form-control:focus {
    background: var(--hybrid-white);
    border-color: var(--hybrid-forest);
    box-shadow: 0 0 0 3px rgba(7, 60, 45, .12);
}

.single .single-content {
    max-width: 900px;
    margin: 0 auto 40px;
    padding: clamp(28px, 5vw, 64px);
    background: var(--hybrid-white);
    border-top: 6px solid var(--hybrid-forest);
}

.single .single-content > img {
    margin: 10px 0 36px;
}

.article-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
    color: var(--hybrid-forest);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.article-meta time {
    color: var(--hybrid-forest);
}

.single .single-content .article-intro {
    margin-bottom: 32px;
    color: var(--hybrid-ink);
    font-family: var(--hybrid-serif);
    font-size: clamp(21px, 2.5vw, 27px);
    line-height: 1.45;
}

.single .single-content > img.article-hero {
    aspect-ratio: 16 / 9;
    height: auto;
    margin-top: 0;
    object-fit: cover;
}

.single .single-content h2,
.single .single-content h3 {
    margin-top: 42px;
    font-size: clamp(32px, 4vw, 48px);
}

.single .single-tags a {
    color: var(--hybrid-forest);
    border-color: var(--hybrid-forest);
}

.single .single-tags a:hover {
    color: var(--hybrid-forest-dark);
    background: var(--hybrid-lime);
    border-color: var(--hybrid-lime);
}

/* Donation */

.donate {
    min-height: 760px;
    display: flex;
    align-items: center;
    padding: 90px 0;
}

.donate.donate-page-section {
    margin: 0;
}

.donate::before {
    background: linear-gradient(90deg, rgba(3, 40, 30, .96), rgba(3, 40, 30, .72));
}

.donate .section-header p {
    color: var(--hybrid-lime);
}

.donate .section-header h2 {
    color: var(--hybrid-white);
}

.donate .donate-text p {
    color: rgba(255, 255, 255, .86);
}

.donorbox-wrap {
    padding: 20px;
    background: var(--hybrid-white);
    border-top: 6px solid var(--hybrid-lime);
    border-radius: 0;
    box-shadow: var(--hybrid-shadow);
}

/* Documentary image sections */

.field-gallery {
    padding: clamp(78px, 9vw, 124px) 0;
    color: var(--hybrid-white);
    background: var(--hybrid-forest-dark);
}

.field-gallery .section-header {
    margin-right: 0;
    margin-left: 0;
}

.field-gallery .section-header p {
    color: var(--hybrid-lime);
}

.field-gallery .section-header h2 {
    max-width: 800px;
    color: var(--hybrid-white);
}

.field-gallery-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 22px;
}

.field-gallery-card {
    position: relative;
    min-width: 0;
    height: 330px;
    margin: 0;
    overflow: hidden;
    background: var(--hybrid-forest);
}

.field-gallery-card--wide {
    height: 682px;
    grid-row: span 2;
}

.field-gallery-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.field-gallery-card:hover img {
    transform: scale(1.04);
}

.field-gallery-card::after {
    content: "";
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(transparent, rgba(3, 40, 30, .92));
}

.field-gallery-card figcaption {
    position: absolute;
    right: 24px;
    bottom: 22px;
    left: 24px;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--hybrid-white);
    font-family: var(--hybrid-serif);
    font-size: clamp(22px, 2.4vw, 32px);
    line-height: 1.08;
}

.field-gallery-card figcaption span {
    color: var(--hybrid-lime);
    font-family: var(--hybrid-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
}

.documentary-gallery {
    padding: clamp(76px, 9vw, 118px) 0;
    background: var(--hybrid-paper-deep);
}

.documentary-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.documentary-gallery figure {
    margin: 0;
    padding: 8px;
    background: var(--hybrid-white);
    box-shadow: var(--hybrid-shadow);
}

.documentary-gallery figure:nth-child(1) {
    transform: rotate(-1.25deg);
}

.documentary-gallery figure:nth-child(2) {
    transform: translateY(28px) rotate(1.25deg);
}

.documentary-gallery figure:nth-child(3) {
    transform: rotate(-.7deg);
}

.documentary-gallery img {
    width: 100%;
    height: 420px;
    object-fit: cover;
}

.documentary-gallery figure:nth-child(3) img {
    object-position: center top;
}

.documentary-gallery figure:nth-child(3) .svyca-community-photo {
    object-position: center 36%;
}

.documentary-gallery figcaption {
    padding: 14px 10px 10px;
    color: var(--hybrid-forest);
    font-family: var(--hybrid-serif);
    font-size: 19px;
    font-style: italic;
    text-align: center;
}

.image-story {
    min-height: 690px;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.image-story-media {
    min-height: 620px;
    overflow: hidden;
}

.image-story-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.image-story-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(64px, 8vw, 116px);
}

.image-story--dark {
    color: var(--hybrid-white);
    background: var(--hybrid-forest);
}

.image-story-eyebrow {
    margin: 0 0 18px;
    color: var(--hybrid-lime);
    font-family: var(--hybrid-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .22em;
    line-height: 1.2;
    text-transform: uppercase;
}

.image-story-copy h2,
.impact-story-copy h2 {
    margin: 0 0 28px;
    color: inherit;
    font-family: var(--hybrid-serif);
    font-size: clamp(46px, 5.4vw, 74px);
    font-weight: 400;
    letter-spacing: -.04em;
    line-height: .98;
}

.image-story-copy > p:not(.image-story-eyebrow),
.impact-story-copy > p:not(.image-story-eyebrow) {
    max-width: 650px;
    margin-bottom: 28px;
    color: inherit;
}

.image-story-copy .btn {
    align-self: flex-start;
}

.impact-story {
    padding: clamp(76px, 9vw, 120px) 0;
    background: var(--hybrid-paper);
}

.impact-story-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
    gap: clamp(55px, 8vw, 110px);
    align-items: center;
}

.impact-story-media {
    position: relative;
    padding: 9px;
    background: var(--hybrid-white);
    box-shadow: var(--hybrid-shadow);
    transform: rotate(-1deg);
}

.impact-story-media img {
    width: 100%;
    min-height: 470px;
    object-fit: cover;
}

.impact-story-label {
    position: absolute;
    right: -18px;
    bottom: 28px;
    padding: 11px 18px;
    color: var(--hybrid-forest-dark);
    background: var(--hybrid-lime);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.impact-story-copy {
    color: var(--hybrid-ink);
}

.impact-story-copy .image-story-eyebrow {
    color: var(--hybrid-forest);
}

.article-photo {
    margin: 48px -20px;
    padding: 8px;
    background: var(--hybrid-paper);
    box-shadow: var(--hybrid-shadow);
    transform: rotate(.5deg);
}

.single .single-content .article-photo img {
    width: 100%;
    height: 440px;
    margin: 0;
    object-fit: cover;
}

.article-photo figcaption {
    padding: 14px 16px 10px;
    color: var(--hybrid-forest);
    font-family: var(--hybrid-serif);
    font-size: 18px;
    font-style: italic;
}

/* Footer */

.footer {
    margin-top: 0;
    padding-top: 76px;
    color: var(--hybrid-white);
    background: var(--hybrid-forest-dark);
}

.footer .container > .row {
    align-items: flex-start;
}

.footer .footer-contact,
.footer .footer-link,
.footer .footer-newsletter {
    margin-bottom: 48px;
    color: var(--hybrid-white);
}

.footer-logo {
    width: 245px;
    max-height: 105px;
    margin-bottom: 24px;
    object-fit: contain;
    object-position: left center;
}

.footer .footer-contact > p:first-of-type {
    max-width: 380px;
    color: rgba(255, 255, 255, .72);
}

.footer .footer-contact h2,
.footer .footer-link h2,
.footer .footer-newsletter h2 {
    margin-bottom: 20px;
    color: var(--hybrid-lime);
    font-family: var(--hybrid-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.footer .footer-link a {
    width: fit-content;
    margin-bottom: 9px;
    color: var(--hybrid-white);
    font-size: 15px;
}

.footer .footer-link a::before {
    display: none;
}

.footer .footer-link a:hover {
    color: var(--hybrid-lime);
    letter-spacing: 0;
    text-decoration: underline;
}

.footer a {
    color: var(--hybrid-white);
}

.footer a:hover {
    color: var(--hybrid-lime);
}

.footer .footer-contact p i {
    color: var(--hybrid-lime);
}

.footer .footer-social a {
    width: 42px;
    height: 42px;
    min-width: 0;
    padding: 8px 0;
    color: var(--hybrid-forest-dark);
    background: var(--hybrid-lime);
    border: 2px solid var(--hybrid-lime);
}

.footer .footer-social a:hover {
    color: var(--hybrid-white);
    background: transparent;
    border-color: var(--hybrid-white);
}

.footer .copyright .row {
    padding-top: 22px;
    padding-bottom: 22px;
    border-top-color: rgba(255, 255, 255, .24);
}

.footer .copyright p {
    color: rgba(255, 255, 255, .62);
    font-size: 12px;
}

.back-to-top {
    width: 46px;
    height: 46px;
    color: var(--hybrid-forest-dark);
    background: var(--hybrid-lime);
}

.back-to-top i {
    color: var(--hybrid-forest-dark);
}

.back-to-top:hover {
    background: var(--hybrid-white);
}

/* Tablet */

@media (max-width: 1199.98px) {
    .navbar .navbar-brand {
        width: 170px;
    }

    .navbar-dark .navbar-nav .nav-link,
    .navbar-dark .navbar-nav .nav-link:focus,
    .navbar-dark .navbar-nav .nav-link:hover,
    .navbar-dark .navbar-nav .nav-link.active {
        padding-right: 9px;
        padding-left: 9px;
        font-size: 14px;
    }

    .navbar-dark .navbar-nav .nav-link:not(.nav-donate)::after {
        right: 9px;
        left: 9px;
    }

    .navbar-dark .navbar-nav .nav-donate {
        margin-left: 6px;
        padding-right: 12px;
        padding-left: 12px;
    }
}

@media (max-width: 991.98px) {
    #navbar-inserts-here {
        min-height: 108px;
    }

    .navbar,
    .navbar.nav-sticky {
        padding: 12px 0;
    }

    .navbar .navbar-brand {
        width: 155px;
    }

    .navbar-collapse {
        position: absolute;
        z-index: 1000;
        top: 100%;
        right: 0;
        left: 0;
        padding: 20px;
        color: var(--hybrid-white);
        background: var(--hybrid-forest-dark);
        box-shadow: 0 16px 24px rgba(17, 21, 18, .2);
    }

    .navbar .navbar-nav {
        align-items: stretch;
    }

    .navbar-dark .navbar-nav .nav-link,
    .navbar-dark .navbar-nav .nav-link:focus,
    .navbar-dark .navbar-nav .nav-link:hover,
    .navbar-dark .navbar-nav .nav-link.active {
        padding: 11px 8px;
        color: var(--hybrid-white);
        font-size: 16px;
    }

    .navbar-dark .navbar-nav .nav-link:not(.nav-donate)::after {
        right: 8px;
        bottom: 4px;
        left: 8px;
        background: var(--hybrid-lime);
    }

    .navbar .dropdown-menu {
        margin: 0 0 8px;
        background: rgba(255, 255, 255, .08);
        border-top: 0;
        box-shadow: none;
    }

    .navbar .dropdown-item {
        color: var(--hybrid-white);
    }

    .navbar-dark .navbar-nav .nav-donate {
        margin: 8px 0 0;
        color: var(--hybrid-white);
        border-color: rgba(255, 255, 255, .8);
    }

    .navbar-dark .navbar-nav .nav-donate:last-child {
        color: var(--hybrid-forest-dark);
        border-color: var(--hybrid-lime);
    }

    .page-header,
    .page-header.editorial-page-header {
        min-height: 390px;
        padding: 72px 0;
    }

    .about .section-header {
        margin-top: 46px;
    }

    .service .service-item {
        min-height: auto;
    }

    .contact .contact-form,
    .contact .contact-form.contact-form-plain {
        max-width: 650px;
    }

    .field-gallery-card {
        height: 280px;
    }

    .field-gallery-card--wide {
        height: 582px;
    }

    .documentary-gallery img {
        height: 330px;
    }

    .image-story {
        min-height: 580px;
    }

    .image-story-copy {
        padding: 58px 44px;
    }

    .impact-story-grid {
        grid-template-columns: 1fr 1fr;
        gap: 48px;
    }
}

/* Mobile */

@media (max-width: 767.98px) {
    .container,
    .navbar .container-fluid {
        width: min(100% - 40px, 1260px);
    }

    .interior-utility-bar {
        display: none;
    }

    #navbar-inserts-here {
        min-height: 74px;
    }

    .navbar .navbar-brand {
        width: 145px;
    }

    .page-header,
    .page-header.editorial-page-header {
        min-height: 360px;
        padding: 64px 0;
    }

    .page-header::after {
        bottom: -30px;
    }

    .editorial-page-rule {
        margin: 24px 0 22px;
    }

    .about,
    .service,
    .causes,
    .event,
    .team,
    .blog,
    .contact,
    .single,
    .partners,
    .chapters-section {
        padding: 68px 0;
    }

    .about .about-img {
        transform: none;
    }

    .service [class*="col-"],
    .blog [class*="col-"],
    .team [class*="col-"],
    .event [class*="col-"] {
        display: block;
    }

    .service .service-item {
        min-height: 0;
    }

    .team .team-img {
        aspect-ratio: 1 / 1.1;
    }

    .chapters-intro {
        align-items: stretch;
        flex-direction: column;
        margin-top: 0;
        text-align: center;
    }

    .chapter-region {
        margin-top: 52px;
    }

    .chapter-card {
        min-height: 340px;
    }

    .contact .contact-img {
        transform: none;
    }

    .contact .contact-img img {
        height: 330px;
    }

    .contact .contact-form,
    .contact .contact-form.contact-form-plain {
        width: calc(100% - 28px);
        max-width: none;
        margin-top: -90px;
        padding: 26px;
    }

    .donate {
        min-height: 0;
        padding: 72px 0;
    }

    .donorbox-wrap {
        margin-top: 36px;
    }

    .field-gallery-grid {
        grid-template-columns: 1fr;
    }

    .field-gallery-card,
    .field-gallery-card--wide {
        height: 340px;
        grid-row: auto;
    }

    .documentary-gallery-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .documentary-gallery figure,
    .documentary-gallery figure:nth-child(1),
    .documentary-gallery figure:nth-child(2),
    .documentary-gallery figure:nth-child(3) {
        transform: none;
    }

    .documentary-gallery img {
        height: 380px;
    }

    .image-story {
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .image-story-media {
        min-height: 470px;
    }

    .image-story-copy {
        padding: 68px 20px;
    }

    .impact-story-grid {
        grid-template-columns: 1fr;
    }

    .impact-story-media {
        transform: none;
    }

    .impact-story-media img {
        min-height: 340px;
    }

    .impact-story-label {
        right: 0;
    }

    .article-photo {
        margin-right: 0;
        margin-left: 0;
        transform: none;
    }

    .single .single-content .article-photo img {
        height: 330px;
    }

    .footer {
        padding-top: 62px;
    }
}

@media (max-width: 480px) {
    body {
        font-size: 16px;
    }

    .page-header h1,
    .page-header h2,
    .page-header.editorial-page-header h1 {
        font-size: 50px;
    }

    .section-header h2,
    .section-header.text-center h2 {
        font-size: 43px;
    }

    .about .about-tab .nav.nav-pills .nav-link {
        min-height: 58px;
        display: grid;
        place-items: center;
        padding-right: 5px;
        padding-left: 5px;
        font-size: 12px;
    }

    .service .service-item {
        padding: 32px 26px;
    }

    .causes .causes-img img,
    .blog .blog-img img,
    .event .event-item > img {
        height: 240px;
    }

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

    .field-gallery-card,
    .field-gallery-card--wide {
        height: 280px;
    }

    .documentary-gallery img {
        height: 300px;
    }

    .image-story-media {
        min-height: 360px;
    }

    .chapter-card {
        padding: 28px 70px 26px 24px;
    }

    .contact .contact-form,
    .contact .contact-form.contact-form-plain {
        padding: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
