/* Campaigns Against Communism — custom homepage */

:root {
    --cac-off-white: #f5f2ec;
    --cac-muted: #62676d;
    --cac-border: rgb(23 25 28 / 0.14);
    --cac-shell: 1180px;
    --cac-section-space: clamp(72px, 8vw, 120px);
    --cac-heading-font: "Archivo Variable", "Arial Narrow", var(--font-sans);
    --cac-heading-stretch: 87.5%;
}

.has-condensed-title {
    --gh-font-heading: var(--cac-heading-font);
}

.has-condensed-title :is(.is-title, h1, h2, h3, h4, h5, h6) {
    font-family: var(--cac-heading-font);
    font-stretch: var(--cac-heading-stretch);
}

.cac-home {
    --cac-red: #e10c14;
    background: #fff;
    color: var(--cac-charcoal);
    overflow: hidden;
}

.cac-shell {
    margin-inline: auto;
    max-width: var(--cac-shell);
    padding-inline: clamp(24px, 4vw, 48px);
    width: 100%;
}

.cac-display {
    font-family: var(--cac-heading-font);
    font-size: calc(clamp(4rem, 5.3vw, 7.2rem) * var(--cac-heading-scale));
    font-stretch: var(--cac-heading-stretch);
    font-weight: 750;
    letter-spacing: -0.045em;
    line-height: 1;
}

.cac-section {
    padding-block: var(--cac-section-space);
}

.cac-button {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 1.2rem;
    font-weight: 650;
    justify-content: center;
    letter-spacing: 0.01em;
    line-height: 1;
    min-height: 42px;
    padding: 0 20px;
}

.cac-button:hover {
    opacity: 0.86;
}

/* 1. Navigation */
.cac-navigation {
    --cac-red: #e10c14;
    background: #FFFFFF !important;
    border: 0;
    border-bottom: 1px solid #E6E8EB;
    color: #022251;
    height: 84px;
    min-height: 80px;
}

.cac-navigation .cac-navigation-inner {
    align-items: center;
    display: flex;
    gap: clamp(22px, 3vw, 42px);
    height: 84px;
    justify-content: space-between;
    border-bottom: 1px solid #e3e8ed;
    min-height: 70px;
    padding-bottom: 0;
}

.cac-navigation .cac-navigation-brand {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    min-width: 0;
}

.cac-navigation .cac-navigation-tagline {
    color: #022251;
    flex: 1 1 auto;
    font-family: var(--cac-body-font, var(--font-sans));
    font-size: clamp(1.15rem, 1.15vw, 1.35rem);
    font-weight: 500;
    letter-spacing: -0.01em;
    line-height: 1.2;
    margin-left: 18px;
    margin-right: 20px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cac-navigation .cac-navigation-logo {
    align-items: center;
    color: #022251;
    display: inline-flex;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.8rem, 2vw, 2.5rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 700;
    letter-spacing: -0.035em;
    line-height: 1;
    max-width: 100%;
    min-width: 0;
}

.cac-navigation .cac-navigation-logo img {
    display: block;
    height: var(--cac-header-logo-height, 46px);
    max-height: var(--cac-header-logo-height, 46px);
    max-width: min(100%, 250px);
    object-fit: contain;
    object-position: left center;
    width: auto;
}

.cac-navigation .cac-navigation-menu {
    color: #022251;
    display: flex;
    flex: 0 0 auto;
    justify-content: flex-end;
    min-width: 0;
}

.cac-navigation .cac-navigation-menu .nav,
.cac-navigation .cac-header-nav {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: clamp(22px, 2.5vw, 42px);
    justify-content: flex-end;
    margin: 0;
    padding: 0;
    width: auto;
}

.cac-navigation .cac-navigation-menu li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.cac-navigation .cac-navigation-menu a {
    color: #022251;
    display: inline-flex;
    font-family: var(--cac-heading-font);
    font-size: 1.25rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 760;
    letter-spacing: 0.025em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.cac-navigation .cac-navigation-menu a:hover {
    color: #022251;
    opacity: 0.72;
}

.cac-navigation .cac-navigation-menu .nav-join a {
    align-items: center;
    background: var(--cac-red, #a70103);
    border-radius: 3px;
    color: #fff;
    justify-content: center;
    min-height: 42px;
    padding: 0 22px;
}

.cac-navigation .cac-navigation-menu .nav-join a:hover {
    color: #fff;
    opacity: 0.9;
}

.cac-navigation .gh-icon-button,
.cac-navigation .gh-burger {
    color: #022251;
}

@media (min-width: 768px) {
    #gh-navigation.cac-navigation .cac-navigation-menu {
        display: flex !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    #gh-navigation.cac-navigation .cac-header-nav {
        display: flex !important;
    }
}

@media (max-width: 1120px) and (min-width: 768px) {
    .cac-navigation .cac-navigation-tagline {
        font-size: 1rem;
        margin-right: 14px;
    }

    .cac-navigation .cac-navigation-inner {
        gap: 22px;
    }

    .cac-navigation .cac-navigation-menu .nav,
    .cac-navigation .cac-header-nav {
        gap: 20px;
    }

    .cac-navigation .cac-navigation-menu a {
        font-size: 1.1rem;
    }

    .cac-navigation .cac-navigation-menu .nav-join a {
        min-height: 40px;
        padding-inline: 16px;
    }

    .cac-navigation .cac-navigation-logo img {
        max-width: 205px;
    }
}

@media (max-width: 767px) {
    .cac-navigation .cac-navigation-tagline {
        display: none;
    }

    .cac-navigation,
    #gh-navigation.cac-navigation {
            height: 64px;
        min-height: 64px;
    }

    #gh-navigation.cac-navigation .cac-navigation-inner {
        display: grid;
        gap: 28px;
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr;
        height: auto;
        min-height: 64px;
    }

    #gh-navigation.cac-navigation .cac-navigation-brand {
        display: grid;
        grid-template-columns: 1fr auto;
        height: 64px;
    }

    .cac-navigation .cac-navigation-logo img {
        height: min(var(--cac-header-logo-height, 46px), 40px);
        max-height: 40px;
        max-width: min(72vw, 245px);
    }

    #gh-navigation.cac-navigation .cac-navigation-menu {
        align-self: start;
        color: #022251;
        justify-content: flex-start;
        width: 100%;
    }

    #gh-navigation.cac-navigation .cac-navigation-menu .nav,
    #gh-navigation.cac-navigation .cac-header-nav {
        align-items: center;
        flex-direction: column;
        gap: 22px;
        justify-content: flex-start;
        width: 100%;
    }

    #gh-navigation.cac-navigation .cac-navigation-menu .nav a {
        color: #022251;
        display: block;
        font-size: 1.8rem;
        text-align: center;
    }

    #gh-navigation.cac-navigation .cac-navigation-menu .nav-join a {
        display: inline-flex;
        justify-content: center;
        min-height: 44px;
        min-width: 180px;
        padding: 0 24px;
    }

    .is-open#gh-navigation.cac-navigation {
        }
}


/* Hardcoded white header */
#gh-navigation.cac-navigation,
#gh-navigation.cac-navigation.is-open {
    background-color: #FFFFFF !important;
}

/* CAC desktop nav is hardcoded; do not wait for Source dropdown-loader JS. */
@media (min-width: 768px) {
    #gh-navigation.cac-navigation .cac-navigation-menu .nav > li,
    #gh-navigation.cac-navigation .cac-header-nav > li {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }
}

/* 2. Campaign dashboard hero */
.cac-dashboard-hero {
    background: #111820;
    color: #fff;
}

.cac-dashboard-main {
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(420px, 0.94fr);
    min-height: 500px;
}

.cac-dashboard-media {
    background: #111820;
    min-height: 500px;
    overflow: hidden;
    position: relative;
}

.cac-dashboard-photo {
    display: block;
    height: 100%;
    inset: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    width: 100%;
}

.cac-dashboard-media::after {
    background: linear-gradient(180deg, transparent 50%, rgb(0 0 0 / 0.20) 100%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.cac-dashboard-billboard-fallback {
    align-items: center;
    background:
        linear-gradient(180deg, rgb(22 34 44 / 0.08), rgb(2 7 11 / 0.38)),
        radial-gradient(circle at 50% 85%, #34454f 0, #1b2730 38%, #0a1117 100%);
    display: flex;
    height: 100%;
    justify-content: center;
    padding: clamp(28px, 4vw, 58px);
}

.cac-dashboard-billboard-inner {
    background: #07090b;
    border: 5px solid #14171a;
    box-shadow: 0 22px 45px rgb(0 0 0 / 0.42);
    color: #f5f3ef;
    display: flex;
    flex-direction: column;
    font-family: var(--cac-heading-font);
    max-width: 650px;
    padding: clamp(24px, 3vw, 42px);
    transform: perspective(900px) rotateY(2deg) rotateZ(-1deg);
    width: 92%;
}

.cac-dashboard-billboard-inner strong {
    font-size: clamp(4.8rem, 6.1vw, 8.2rem);
    font-weight: 760;
    letter-spacing: -0.04em;
    line-height: 0.9;
}

.cac-dashboard-billboard-inner span {
    font-size: clamp(1.2rem, 1.4vw, 1.7rem);
    font-weight: 760;
    line-height: 1.08;
    margin-top: 20px;
}

.cac-dashboard-billboard-inner em {
    color: var(--cac-red);
    font-size: clamp(1.2rem, 1.4vw, 1.7rem);
    font-style: normal;
    font-weight: 760;
    line-height: 1.08;
    margin-top: 5px;
}

.cac-dashboard-billboard-inner small {
    font-size: 1.1rem;
    font-weight: 620;
    margin-top: 14px;
}

.cac-dashboard-panel {
    align-items: stretch;
    background: #041b37;
    display: flex;
    min-height: 500px;
}

.cac-dashboard-panel-inner {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-inline: auto;
    max-width: 690px;
    padding: clamp(42px, 4.2vw, 58px) clamp(34px, 4.2vw, 62px);
    text-align: center;
    width: 100%;
}

.cac-dashboard-title {
    color: var(--cac-red);
    font-family: var(--cac-heading-font);
    font-size: clamp(3.15rem, 3.55vw, 4.35rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.025em;
    line-height: 0.96;
    margin: 0;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
}

.cac-dashboard-asof {
    align-items: center;
    color: #fff;
    display: flex;
    gap: 18px;
    justify-content: center;
    margin: 21px 0 0;
    width: 100%;
}

.cac-dashboard-asof span {
    background: var(--cac-red);
    display: block;
    flex: 0 0 76px;
    height: 1px;
}

.cac-dashboard-asof p {
    color: rgba(255,255,255,.9);
    font-family: var(--cac-heading-font);
    font-size: clamp(1.03rem, 1.02vw, 1.2rem);
    font-weight: 690;
    letter-spacing: 0.075em;
    line-height: 1;
    margin: 0;
    text-transform: uppercase;
}

.cac-dashboard-total {
    color: #fff;
    font-family: var(--cac-heading-font);
    font-size: clamp(7rem, 7.4vw, 9.4rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.055em;
    line-height: 0.82;
    margin-top: clamp(25px, 2.7vw, 34px);
    text-align: center;
}

.cac-dashboard-total-label {
    color: #fff;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.13rem, 1.13vw, 1.38rem);
    font-weight: 720;
    letter-spacing: 0.022em;
    line-height: 1.25;
    margin-top: 18px;
    max-width: 600px;
    text-align: center;
    text-transform: uppercase;
}

.cac-dashboard-total-label strong {
    color: #fff;
    font-weight: 820;
}

.cac-dashboard-progress {
    background: #eaeaea;
    border-radius: 7px;
    height: 34px;
    margin-top: clamp(27px, 2.9vw, 36px);
    overflow: hidden;
    width: min(100%, 590px);
}

.cac-dashboard-progress > span {
    background: var(--cac-red);
    display: block;
    height: 100%;
    min-width: 0;
    transition: width 300ms ease;
    width: 0;
}

.cac-dashboard-progress-meta {
    align-items: center;
    color: #fff;
    display: flex;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.08rem, 1.06vw, 1.25rem);
    font-weight: 760;
    justify-content: space-between;
    letter-spacing: 0.015em;
    margin-top: 10px;
    width: min(100%, 590px);
}

.cac-dashboard-progress-meta span:first-child,
.cac-dashboard-progress-meta span:last-child {
    position: relative;
}

.cac-dashboard-progress-meta span:first-child::before,
.cac-dashboard-progress-meta span:last-child::after {
    background: rgba(255,255,255,.62);
    content: "";
    display: block;
    height: 28px;
    position: absolute;
    top: -38px;
    width: 1px;
}

.cac-dashboard-progress-meta span:first-child::before {
    left: -12px;
}

.cac-dashboard-progress-meta span:last-child::after {
    right: -12px;
}

.cac-dashboard-goal-line {
    align-items: baseline;
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    font-family: var(--cac-heading-font);
    gap: 7px 9px;
    justify-content: center;
    margin-top: 24px;
    text-align: center;
    text-transform: uppercase;
}

.cac-dashboard-goal-line span {
    color: rgba(255,255,255,.9);
    font-size: clamp(1.08rem, 1.05vw, 1.22rem);
    font-weight: 670;
    letter-spacing: 0.055em;
}

.cac-dashboard-goal-line strong {
    color: var(--cac-red);
    font-size: clamp(1.55rem, 1.62vw, 1.95rem);
    font-weight: 820;
    letter-spacing: -0.01em;
    line-height: 1;
}

@media (max-width: 1100px) {
    .cac-dashboard-title {
        font-size: clamp(2.85rem, 3.2vw, 3.8rem);
    }

    .cac-dashboard-total {
        font-size: clamp(6.2rem, 7.3vw, 8.1rem);
    }
}

@media (max-width: 980px) {
    .cac-dashboard-main {
        grid-template-columns: 1fr 1fr;
    }

    .cac-dashboard-panel-inner {
        padding-inline: 26px;
    }

    .cac-dashboard-title {
        font-size: clamp(2.55rem, 3.25vw, 3.25rem);
    }

    .cac-dashboard-asof span {
        flex-basis: 48px;
    }

    .cac-dashboard-total {
        font-size: clamp(5.5rem, 7.7vw, 7.1rem);
    }
}

@media (max-width: 800px) {
    .cac-dashboard-main {
        grid-template-columns: 1fr;
    }

    .cac-dashboard-media {
        min-height: min(68vw, 460px);
    }

    .cac-dashboard-panel {
        min-height: 0;
    }

    .cac-dashboard-panel-inner {
        max-width: 650px;
        padding: 44px 28px 48px;
    }

    .cac-dashboard-title {
        font-size: clamp(2.9rem, 8vw, 4rem);
        white-space: normal;
    }

    .cac-dashboard-asof span {
        flex-basis: 60px;
    }

    .cac-dashboard-total {
        font-size: clamp(5.8rem, 16vw, 8rem);
    }

    .cac-dashboard-progress,
    .cac-dashboard-progress-meta {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .cac-dashboard-panel-inner {
        padding-inline: 22px;
    }

    .cac-dashboard-title {
        font-size: 2.65rem;
    }

    .cac-dashboard-asof {
        gap: 10px;
        margin-top: 18px;
    }

    .cac-dashboard-asof span {
        flex-basis: 34px;
    }

    .cac-dashboard-asof p {
        font-size: .92rem;
        letter-spacing: .055em;
    }

    .cac-dashboard-total {
        font-size: clamp(5.3rem, 18vw, 6.8rem);
        margin-top: 24px;
    }

    .cac-dashboard-total-label {
        font-size: .98rem;
        margin-top: 14px;
    }

    .cac-dashboard-progress {
        height: 24px;
        margin-top: 28px;
    }

    .cac-dashboard-progress-meta {
        font-size: .94rem;
    }

    .cac-dashboard-goal-line {
        gap: 6px 8px;
        margin-top: 22px;
    }

    .cac-dashboard-goal-line span {
        font-size: .94rem;
    }

    .cac-dashboard-goal-line strong {
        font-size: 1.45rem;
    }
}

/* 3. Our Mission */

.cac-message-section {
    background: #fff;
    color: var(--cac-charcoal);
    padding-block: clamp(56px, 5vw, 76px) clamp(58px, 5vw, 78px);
}

.cac-message-shell {
    max-width: 1320px;
}

.cac-message-marker {
    display: block;
    margin-bottom: clamp(26px, 2.5vw, 34px);
    text-transform: uppercase;
}

.cac-message-label {
    color: var(--cac-red);
    font-family: var(--cac-heading-font);
    font-size: clamp(1.8rem, 1.55vw, 2.15rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.045em;
}

.cac-message-opening {
    align-items: center;
    display: grid;
    gap: clamp(38px, 4vw, 64px);
    grid-template-columns: minmax(280px, 0.86fr) minmax(0, 1.55fr);
}

.cac-message-thesis {
    border-right: 1px solid #b9c0c7;
    padding-right: clamp(28px, 3vw, 44px);
}

.cac-message-thesis h2 {
    color: #101820;
    font-family: var(--cac-heading-font);
    font-size: clamp(3.8rem, 4.9vw, 5.9rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 790;
    letter-spacing: -0.04em;
    line-height: 0.96;
    margin: 0;
    max-width: 430px;
}

.cac-message-claim {
    color: #111820;
    font-family: var(--cac-heading-font);
    font-size: clamp(2.35rem, 3vw, 4rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 740;
    letter-spacing: -0.03em;
    line-height: 1.03;
    margin: 0 0 14px;
    max-width: 760px;
}

.cac-message-total {
    color: var(--cac-red);
    font-family: var(--cac-heading-font);
    font-size: clamp(6.2rem, 8.9vw, 11.4rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.06em;
    line-height: 0.85;
    margin: 0;
    white-space: nowrap;
}

.cac-message-total-note {
    color: #565d65;
    font-size: 1.15rem;
    line-height: 1.4;
    margin: 12px 0 0;
}

.cac-message-bridge {
    align-items: center;
    display: grid;
    gap: 26px;
    grid-template-columns: 1fr auto 1fr;
    margin-block: clamp(42px, 4vw, 52px) clamp(28px, 3vw, 36px);
    text-align: center;
}

.cac-message-bridge::before,
.cac-message-bridge::after {
    background: #c5cbd1;
    content: "";
    height: 1px;
}

.cac-message-bridge span {
    color: #151a20;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.95rem, 2.1vw, 2.55rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 760;
    letter-spacing: -0.02em;
    line-height: 1.08;
}

.cac-message-record {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 4px;
}

.cac-message-record article {
    background: #fff;
    border: 1px solid #e0e4e8;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    padding: 0;
}

.cac-message-record-copy {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 126px;
    padding: 22px 18px 18px;
    text-align: center;
}

.cac-message-record h3 {
    color: #152335;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.34rem, 1.23vw, 1.62rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.01em;
    line-height: 1.04;
    margin: 0;
    text-transform: uppercase;
}

.cac-message-record p {
    color: #5a626a;
    font-size: clamp(.98rem, .9vw, 1.08rem);
    line-height: 1.4;
    margin: 13px auto 0;
    max-width: 250px;
}

.cac-message-record-media {
    aspect-ratio: 1.23 / 1;
    background: #e9ecef;
    margin: auto 14px 14px;
    overflow: hidden;
}

.cac-message-record-media img {
    display: block;
    filter: grayscale(100%);
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.cac-message-conclusion {
    margin: clamp(38px, 4vw, 54px) auto 0;
    max-width: 1040px;
    text-align: center;
}

.cac-message-conclusion p {
    color: #151a20;
    font-family: var(--cac-heading-font);
    font-size: clamp(2rem, 2.15vw, 2.65rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 740;
    letter-spacing: -0.02em;
    line-height: 1.12;
    margin: 0;
}

.cac-message-conclusion .cac-message-conclusion-emphasis {
    color: var(--cac-red);
    margin-top: 8px;
}

@media (max-width: 1080px) {
    .cac-message-opening {
        gap: 30px;
        grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.4fr);
    }

    .cac-message-total {
        font-size: clamp(5.4rem, 8.4vw, 8.8rem);
    }

    .cac-message-record {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cac-message-record-copy {
        min-height: 118px;
    }
}

@media (max-width: 700px) {
    .cac-message-section {
        padding-block: 48px 58px;
    }

    .cac-message-marker {
        margin-bottom: 22px;
    }

    .cac-message-opening {
        display: block;
    }

    .cac-message-thesis {
        border-bottom: 1px solid #c7cdd3;
        border-right: 0;
        padding: 0 0 24px;
    }

    .cac-message-thesis h2 {
        font-size: clamp(3rem, 10.5vw, 4.6rem);
        max-width: 500px;
    }

    .cac-message-toll {
        padding-top: 24px;
    }

    .cac-message-claim {
        font-size: clamp(2.1rem, 7.2vw, 3rem);
    }

    .cac-message-total {
        font-size: clamp(4.7rem, 16vw, 7.3rem);
        letter-spacing: -0.065em;
        white-space: normal;
    }

    .cac-message-total-note {
        font-size: 1rem;
    }

    .cac-message-bridge {
        gap: 14px;
        margin-block: 36px 24px;
    }

    .cac-message-bridge span {
        font-size: 1.7rem;
        max-width: 270px;
    }

    .cac-message-record {
        grid-template-columns: 1fr;
    }

    .cac-message-record-copy {
        min-height: 0;
        padding: 20px 18px 17px;
    }

    .cac-message-record-media {
        aspect-ratio: 16 / 9;
    }

    .cac-message-conclusion {
        margin-top: 34px;
    }

    .cac-message-conclusion p {
        font-size: clamp(1.75rem, 6vw, 2.25rem);
    }
}

/* 4. Latest work */
.cac-latest {
    border-top: 1px solid var(--cac-border);
}

.cac-section-heading-row {
    align-items: end;
    display: flex;
    gap: 40px;
    justify-content: space-between;
}

.cac-section-heading-row .cac-display {
    font-size: calc(clamp(3.8rem, 4.7vw, 6.2rem) * var(--cac-heading-scale));
    max-width: 810px;
}

.cac-button-outline {
    border: 1px solid var(--cac-charcoal);
    color: var(--cac-charcoal);
    flex: 0 0 auto;
}

.cac-story-grid {
    display: grid;
    gap: clamp(24px, 3vw, 40px);
    grid-template-columns: repeat(3, 1fr);
    margin-top: 50px;
}

.cac-story-image {
    aspect-ratio: 4 / 3;
    display: block;
}

.cac-eyebrow {
    color: var(--cac-red);
    display: block;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    margin-top: 20px;
}

.cac-story-card h3 {
    font-size: clamp(2.2rem, 2.4vw, 3rem);
    font-weight: 750;
    line-height: 1.08;
    margin-top: 8px;
}

.cac-story-card p {
    color: var(--cac-muted);
    font-size: 1.5rem;
    line-height: 1.45;
    margin-top: 12px;
}

/* 5. Approach */
.cac-approach {
    background: var(--cac-off-white);
}

.cac-approach-inner > header {
    margin-inline: auto;
    max-width: 800px;
    text-align: center;
}

.cac-approach-inner > header p {
    color: var(--cac-muted);
    font-size: 1.7rem;
    line-height: 1.5;
    margin: 20px auto 0;
    max-width: 680px;
}

.cac-approach-list {
    margin: 56px auto 0;
    max-width: 900px;
}

.cac-approach-list > div {
    align-items: center;
    border-top: 1px solid var(--cac-border);
    display: grid;
    gap: 36px;
    grid-template-columns: 0.9fr 1.4fr;
    padding-block: 25px;
}

.cac-approach-list > div:last-child {
    border-bottom: 1px solid var(--cac-border);
}

.cac-approach-list dt {
    color: var(--cac-navy);
    font-family: var(--cac-heading-font);
    font-size: clamp(3.2rem, 4vw, 5.4rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 750;
    line-height: 1;
}

.cac-approach-list dd {
    font-size: 1.6rem;
    line-height: 1.5;
}

/* 6. Campaigns */
.cac-campaigns-heading {
    max-width: 760px;
}

.cac-campaigns-visual {
    align-items: center;
    aspect-ratio: 2.5 / 1;
    display: flex;
    justify-content: center;
    margin-top: 50px;
}

.cac-campaign-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 42px;
}

.cac-campaign-grid article {
    padding-inline: clamp(18px, 3vw, 38px);
    text-align: center;
}

.cac-campaign-grid article + article {
    border-left: 1px solid var(--cac-border);
}

.cac-campaign-grid h3 {
    font-size: clamp(2.6rem, 3vw, 3.8rem);
    font-weight: 750;
}

.cac-campaign-grid p {
    color: var(--cac-muted);
    margin: 10px auto 22px;
    max-width: 260px;
}

.cac-button-dark {
    background: var(--cac-charcoal);
    color: #fff;
}

/* 7. Support */
.cac-support {
    background: var(--cac-navy);
    color: #fff;
}

.cac-support-stage {
    align-items: center;
    display: grid;
    grid-template-columns: 0.85fr 1.55fr;
}

.cac-support-media {
    align-items: center;
    aspect-ratio: 16 / 10;
    display: flex;
    grid-column: 2;
    grid-row: 1;
    justify-content: center;
}

.cac-support-card {
    background: #fff;
    color: var(--cac-charcoal);
    grid-column: 1;
    grid-row: 1;
    margin-right: -60px;
    padding: clamp(34px, 5vw, 64px);
    position: relative;
    z-index: 1;
}

.cac-support-card .cac-display {
    font-size: calc(clamp(3.5rem, 4.6vw, 6rem) * var(--cac-heading-scale));
}

.cac-support-card h3 {
    font-family: var(--font-sans);
    font-size: 1.6rem;
    font-weight: 700;
    margin-top: 28px;
}

.cac-support-card p {
    color: var(--cac-muted);
    line-height: 1.5;
    margin-block: 10px 24px;
}

.cac-button-red {
    background: var(--cac-red);
    color: #fff;
}



/* 6. Membership bridge + Take Action */
.cac-join-bridge {
    background: #022251;
    color: #fff;
    padding-block: 0;
}

.cac-join-bridge-shell {
    max-width: 1280px;
}

.cac-join-bridge-content {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: center;
    min-height: 54px;
    padding: 10px 24px;
}

.cac-join-bridge-icon {
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
}

.cac-join-bridge-icon svg {
    display: block;
    height: 34px;
    width: 34px;
}

.cac-join-bridge p {
    color: #fff;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.45rem, 1.7vw, 1.9rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 720;
    letter-spacing: -0.015em;
    line-height: 1.25;
    margin: 0;
    text-align: center;
}


.cac-action-section {
    background: #f7f8f9;
    color: var(--cac-charcoal);
    padding-block: clamp(56px, 5vw, 76px);
}

.cac-action-shell {
    max-width: 1320px;
}

.cac-action-grid {
    display: grid;
    gap: clamp(34px, 4vw, 56px);
    grid-template-columns: minmax(340px, 1fr) minmax(0, 1fr);
}

.cac-action-left,
.cac-action-right {
    min-width: 0;
}

.cac-action-right {
    justify-self: center;
    width: 94%;
}

.cac-action-marker {
    display: block;
    margin-bottom: clamp(26px, 2.5vw, 34px);
    text-transform: uppercase;
}

.cac-action-number {
    color: #022251;
    font-family: var(--cac-heading-font);
    font-size: 1.45rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.02em;
}

.cac-action-slash {
    color: #9aa1a8;
    font-size: 1.2rem;
    font-weight: 600;
}

.cac-action-label {
    color: var(--cac-red);
    font-family: var(--cac-heading-font);
    font-size: clamp(1.8rem, 1.55vw, 2.15rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.045em;
}

.cac-action-headline h2 {
    color: #111820;
    font-family: var(--cac-heading-font);
    font-size: clamp(4.1rem, 5vw, 6.25rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 790;
    letter-spacing: -0.044em;
    line-height: 0.96;
    margin: 0;
    max-width: 620px;
}

.cac-action-headline h2 span {
    color: var(--cac-red);
}

.cac-action-copy {
    margin-top: 28px;
}

.cac-action-copy p {
    color: #404850;
    font-size: clamp(1.34rem, 1.45vw, 1.72rem);
    line-height: 1.58;
    margin: 0;
    max-width: 620px;
}

.cac-action-copy p + p {
    margin-top: 18px;
}

.cac-action-copy strong {
    color: var(--cac-red);
}


.cac-action-cta {
    margin: clamp(34px, 3.4vw, 46px) 0 0;
    text-align: center;
}

.cac-action-button {
    align-items: center;
    background: var(--cac-red);
    border-radius: 6px;
    color: #fff;
    display: inline-flex;
    font-family: var(--cac-heading-font);
    font-size: 1.18rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 780;
    letter-spacing: 0.03em;
    line-height: 1;
    min-height: 56px;
    padding: 0 28px;
    text-decoration: none;
    text-transform: uppercase;
}

.cac-action-button:hover {
    opacity: 0.92;
}

.cac-action-note {
    color: #5a626b;
    font-size: 1.02rem;
    line-height: 1.55;
    margin: 16px auto 0;
    max-width: 440px;
}

.cac-action-panel-title {
    color: #102041;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.9rem, 2vw, 2.45rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.05;
    margin: 6px 0 0;
    text-align: center;
    text-transform: uppercase;
}

.cac-action-flow {
    align-items: center;
    display: grid;
    gap: clamp(9px, 1.1vw, 15px);
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
    margin: 36px auto 0;
    width: 85%;
}

.cac-action-flow-step {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 107px;
    text-align: center;
}

.cac-action-flow-icon {
    align-items: center;
    color: #062a5e;
    display: inline-flex;
    height: 49px;
    justify-content: center;
    width: 49px;
}

.cac-action-flow-icon svg {
    display: block;
    height: 49px;
    width: 49px;
}

.cac-action-flow-step h4 {
    color: #111820;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.23rem, 1.32vw, 1.55rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 790;
    letter-spacing: -0.03em;
    line-height: 0.98;
    margin: 10px 0 0;
    text-transform: uppercase;
}

.cac-action-flow-arrow {
    align-items: center;
    color: var(--cac-red);
    display: flex;
    font-family: var(--cac-heading-font);
    font-size: clamp(2.08rem, 2.21vw, 2.55rem);
    font-weight: 900;
    justify-content: center;
    padding: 0 5px;
    transform: scaleX(1.08);
}


.cac-impact-panel {
    background: #fff;
    border: 1px solid #d8dde1;
    border-radius: 18px;
    margin-top: 24px;
    padding: 20px 22px 20px;
}

.cac-impact-title {
    color: #102041;
    display: grid;
    font-family: var(--cac-heading-font);
    font-size: 1.45rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    gap: 16px;
    grid-template-columns: 1fr auto 1fr;
    letter-spacing: 0.02em;
    line-height: 1.08;
    text-align: center;
    text-transform: uppercase;
}

.cac-impact-title::before,
.cac-impact-title::after {
    align-self: center;
    background: #d3d8dd;
    content: "";
    height: 1px;
}

.cac-impact-grid {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 18px;
}

.cac-impact-tier {
    padding: 10px 16px 12px;
    text-align: center;
}

.cac-impact-tier + .cac-impact-tier {
    border-left: 1px solid #dde1e5;
}

.cac-impact-tier-label {
    background: #062a5e;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-family: var(--cac-heading-font);
    font-size: 1.68rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 760;
    letter-spacing: 0.03em;
    line-height: 1;
    min-height: 34px;
    padding: 0 14px;
    align-items: center;
    text-transform: uppercase;
}

.cac-impact-tier-label--red {
    background: var(--cac-red);
}

.cac-impact-tier-number {
    color: #062a5e;
    font-family: var(--cac-heading-font);
    font-size: clamp(4rem, 4.5vw, 5.4rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.05em;
    line-height: 0.88;
    margin-top: 16px;
}

.cac-impact-tier-copy {
    color: #384149;
    font-family: var(--cac-heading-font);
    font-size: 1.25rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 760;
    letter-spacing: -0.01em;
    line-height: 1.08;
    margin-top: 10px;
    text-transform: uppercase;
}

.cac-impact-disclaimer {
    color: #636b75;
    font-size: 0.98rem;
    line-height: 1.55;
    margin: 18px 2px 0;
}

.cac-action-subscribe {
    background: linear-gradient(100deg, #021529 0%, #032245 28%, #09356f 50%, #032245 72%, #021529 100%);
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: clamp(46px, 4vw, 62px);
}

.cac-updates-subscribe {
    margin-top: 0;
}

.cac-action-subscribe-inner {
    align-items: center;
    display: grid;
    gap: clamp(24px, 3vw, 40px);
    grid-template-columns: minmax(345px, 1fr) minmax(385px, 500px);
    margin: 0 auto;
    max-width: 1320px;
    padding: clamp(20px, 2.2vw, 30px) clamp(28px, 3.2vw, 42px);
}

.cac-action-subscribe-copy {
    align-items: center;
    display: flex;
    gap: 18px;
    min-width: 0;
}

.cac-action-subscribe-icon {
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
}

.cac-action-subscribe-icon svg {
    display: block;
    height: 46px;
    width: 46px;
}

.cac-action-subscribe-copy-text {
    min-width: 0;
}

.cac-action-subscribe-copy h3 {
    color: #fff;
    font-family: var(--cac-heading-font);
    font-size: clamp(2rem, 2.4vw, 2.8rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: -0.028em;
    line-height: 0.98;
    margin: 0;
    text-transform: uppercase;
}

.cac-action-subscribe-copy p {
    color: rgba(255, 255, 255, 0.96);
    font-size: clamp(1.11rem, 1.22vw, 1.26rem);
    line-height: 1.58;
    margin: 10px 0 0;
    max-width: 720px;
}

.cac-action-subscribe-form {
    justify-self: end;
    width: 100%;
}

.cac-action-subscribe .gh-form {
    align-items: center;
    display: grid;
    gap: 10px 12px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.cac-action-subscribe .gh-form-input {
    background: #fff;
    border: 1px solid rgba(255,255,255,0.85);
    border-radius: 6px;
    font-size: 1rem;
    min-height: 50px;
    padding: 0 16px;
    width: 100%;
}

.cac-action-subscribe .gh-button {
    align-items: center;
    background: var(--cac-red);
    border: 0;
    border-radius: 6px;
    color: #fff;
    display: inline-flex;
    font-family: var(--cac-heading-font);
    font-size: 0.98rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 760;
    justify-content: center;
    letter-spacing: 0.03em;
    min-height: 50px;
    min-width: 116px;
    padding: 0 18px;
    text-transform: uppercase;
}

.cac-action-subscribe [data-members-error],
.cac-action-subscribe .gh-form > p:last-child {
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
    grid-column: 1 / -1;
    line-height: 1.45;
    margin: 0;
}



/* Protect the three-column impact panel at intermediate desktop widths.
   Wide desktop keeps the full-size treatment; narrower desktop scales the
   panel before the whole Take Action section stacks at 1100px. */
@media (min-width: 1101px) and (max-width: 1380px) {
    .cac-action-grid {
        gap: clamp(26px, 2.6vw, 36px);
    }

    .cac-action-right {
        width: 100%;
    }

    .cac-impact-panel {
        padding-inline: 14px;
    }

    .cac-impact-tier {
        padding-inline: 7px;
    }

    .cac-impact-tier-number {
        font-size: clamp(3.2rem, 3.85vw, 4.25rem);
        letter-spacing: -0.055em;
        white-space: nowrap;
    }

    .cac-impact-tier-copy {
        font-size: clamp(0.96rem, 0.94vw, 1.12rem);
        letter-spacing: -0.015em;
    }

    .cac-impact-tier-label {
        font-size: clamp(1.36rem, 1.25vw, 1.58rem);
    }
}

@media (max-width: 1100px) {
    .cac-action-grid {
        gap: 30px;
        grid-template-columns: 1fr;
    }

    .cac-action-right {
        width: min(94%, 760px);
    }

    .cac-action-panel-title {
        margin-top: 6px;
    }
}

@media (max-width: 860px) {
    .cac-action-flow {
        width: 100%;
    }

    .cac-action-beats {
        grid-template-columns: 1fr;
    }

    .cac-action-beat-arrow {
        padding-top: 0;
        transform: rotate(90deg);
    }

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

    .cac-impact-tier + .cac-impact-tier {
        border-left: 0;
        border-top: 1px solid #dde1e5;
    }

    .cac-action-subscribe-inner {
        grid-template-columns: 1fr;
        padding: 24px 22px;
    }

    .cac-action-subscribe-form {
        justify-self: stretch;
    }
}

@media (max-width: 760px) {
    .cac-join-bridge {
        padding-block: 0;
    }

    .cac-join-bridge-content {
        gap: 12px;
        min-height: 50px;
        padding: 10px 18px;
    }

    .cac-join-bridge-icon svg {
        height: 28px;
        width: 28px;
    }

    .cac-join-bridge p {
        font-size: 1.25rem;
    }

    .cac-action-section {
        padding-block: 48px 58px;
    }

    .cac-action-headline h2 {
        font-size: clamp(3.4rem, 11vw, 5rem);
    }

    .cac-action-copy p {
        font-size: 1.28rem;
    }

    .cac-action-cta {
        margin-top: 36px;
    }

    .cac-action-button {
        min-height: 52px;
        padding: 0 22px;
    }

    .cac-impact-title {
        font-size: 1.16rem;
        gap: 12px;
    }

    .cac-impact-tier-label {
        font-size: 1.68rem;
    }

    .cac-action-subscribe-copy {
        align-items: flex-start;
        gap: 14px;
    }

    .cac-action-subscribe-icon svg {
        height: 38px;
        width: 38px;
    }

    .cac-action-subscribe-copy h3 {
        font-size: clamp(2.1rem, 9vw, 3rem);
    }

    .cac-action-subscribe-copy p {
        font-size: 1rem;
    }

    .cac-action-subscribe .gh-form {
        grid-template-columns: 1fr;
    }

    .cac-action-subscribe .gh-button {
        width: 100%;
    }
}
/* 8–9. Footer */
.cac-footer-main {
    background: #fff;
    color: var(--cac-charcoal);
    padding-block: clamp(34px, 3.2vw, 46px) clamp(28px, 2.6vw, 38px);
}

.cac-footer-main-inner {
    align-items: center;
    display: grid;
    gap: clamp(32px, 5vw, 74px);
    grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.5fr);
}

.cac-footer-brand {
    min-width: 0;
}

.cac-footer-logo {
    align-items: center;
    color: var(--cac-header-blue);
    display: inline-flex;
    gap: 14px;
    text-decoration: none;
}

.cac-footer-logo img {
    display: block;
    height: auto;
    max-height: 72px;
    max-width: 270px;
    object-fit: contain;
    object-position: left center;
    width: auto;
}

.cac-footer-logo strong {
    font-family: var(--cac-heading-font);
    font-size: 2rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    line-height: 1;
}

.cac-footer-logo-mark {
    display: grid;
    gap: 5px;
    grid-template-columns: repeat(3, 12px);
    height: 42px;
}

.cac-footer-logo-mark i {
    background: var(--cac-header-blue);
    display: block;
}

.cac-footer-logo-mark i:nth-child(2) {
    background: var(--cac-red);
}

.cac-footer-brand p {
    color: #4f5861;
    font-size: 1.25rem;
    line-height: 1.45;
    margin: 12px 0 0;
    max-width: 350px;
}

.cac-footer-nav {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: clamp(22px, 3.2vw, 48px);
    justify-content: flex-end;
}

.cac-footer-nav a {
    color: var(--cac-header-blue);
    font-family: var(--cac-heading-font);
    font-size: 1.25rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 760;
    letter-spacing: 0.035em;
    text-decoration: none;
    text-transform: uppercase;
}

.cac-footer-nav a:hover,
.cac-footer-legal a:hover {
    color: var(--cac-red);
}

.cac-footer-legal {
    background: #fff;
    border-bottom: 8px solid var(--cac-header-blue);
    color: #3e464e;
    font-size: 1.08rem;
}

.cac-footer-legal-inner {
    align-items: center;
    border-top: 1px solid #d8dde2;
    display: flex;
    gap: 28px;
    justify-content: space-between;
    padding-block: 20px 22px;
}

.cac-footer-legal nav {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.cac-footer-legal a {
    color: #3e464e;
    font-weight: 650;
    text-decoration: none;
}


@media (max-width: 900px) {
    .cac-footer-main-inner {
        align-items: start;
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .cac-footer-nav {
        justify-content: flex-start;
    }
}

@media (max-width: 900px) {
    .cac-section-heading-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .cac-mission-stage,
    .cac-support-stage {
        display: flex;
        flex-direction: column;
    }

    .cac-mission-card,
    .cac-support-card {
        margin: 0;
        max-width: 620px;
        width: calc(100% - 40px);
    }

    .cac-mission-media,
    .cac-support-media {
        margin-top: -24px;
        width: 100%;
    }

    .cac-story-grid,
    .cac-campaign-grid,
    .cac-footer-grid {
        grid-template-columns: 1fr;
    }

    .cac-campaign-grid {
        gap: 34px;
    }

    .cac-campaign-grid article + article {
        border-left: 0;
        border-top: 1px solid var(--cac-border);
        padding-top: 34px;
    }
}

@media (max-width: 767px) {
    .cac-navigation.is-open,
    .cac-navigation.is-open .gh-navigation-actions {
        background: #fff;
    }

    .cac-navigation .gh-navigation-menu .nav-join a {
        display: inline-flex;
    }

    .cac-hero {
        height: calc(100vh - 64px);
        height: calc(100svh - 64px);
    }

    .cac-billboard {
        border-width: 6px;
        width: calc(100% - 40px);
    }

    .cac-billboard-number {
        font-size: clamp(3rem, 12vw, 5rem);
    }

    .cac-billboard-domain {
        bottom: 9px;
        left: 12px;
    }

    .cac-story-grid {
        gap: 46px;
    }

    .cac-approach-list > div {
        align-items: start;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .cac-campaigns-visual {
        aspect-ratio: 16 / 10;
    }

    .cac-footer-legal-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* AAC v1.10 — replaceable 2048 × 682 homepage hero */
.cac-hero {
    display: block;
    height: auto !important;
    min-height: 0;
}

.cac-hero-image-frame {
    aspect-ratio: 2048 / 682;
    background: #f4f5f6;
    margin-inline: auto;
    max-width: 2048px;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.cac-hero-banner {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.cac-hero-fallback {
    align-items: center;
    background: var(--cac-navy);
    color: #fff;
    display: flex;
    height: 100%;
    width: 100%;
}

.cac-hero-fallback-inner {
    width: 100%;
}

.cac-home .cac-hero-fallback h1 {
    -webkit-text-fill-color: #fff;
    color: #fff !important;
    font-family: var(--cac-heading-font);
    font-size: calc(clamp(3rem, 5vw, 6.2rem) * var(--cac-heading-scale));
    font-stretch: var(--cac-heading-stretch);
    font-weight: 750;
    letter-spacing: -0.035em;
    line-height: 1;
    margin: 0;
}

.cac-home .cac-hero-fallback p {
    -webkit-text-fill-color: #fff;
    color: #fff !important;
    font-size: clamp(1.35rem, 1.7vw, 1.9rem);
    margin-top: 14px;
    max-width: 760px;
    opacity: 0.86;
}

@media (max-width: 700px) {
    .cac-hero-image-frame {
        aspect-ratio: 2048 / 682;
    }

    .cac-hero-fallback-inner {
        padding-inline: 24px;
    }
}

/* ======================================================================
   CAC fixed header menu
   Intentionally independent from Source's .gh-navigation-menu/.nav system.
   ====================================================================== */
#gh-navigation.cac-navigation .cac-fixed-menu {
    align-items: center;
    display: flex !important;
    flex: 1 1 auto;
    justify-content: flex-end;
    min-width: 0;
    opacity: 1 !important;
    visibility: visible !important;
}

#gh-navigation.cac-navigation .cac-fixed-menu-list {
    align-items: center;
    display: flex !important;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: clamp(18px, 2vw, 34px);
    justify-content: flex-end;
    list-style: none;
    margin: 0;
    opacity: 1 !important;
    padding: 0;
    visibility: visible !important;
}

#gh-navigation.cac-navigation .cac-fixed-menu-list > li {
    display: block !important;
    list-style: none;
    margin: 0;
    opacity: 1 !important;
    padding: 0;
    transform: none !important;
    visibility: visible !important;
}

#gh-navigation.cac-navigation .cac-fixed-menu-list > li > a {
    color: #022251 !important;
    display: inline-flex !important;
    font-family: var(--cac-heading-font);
    font-size: 1.2rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 720;
    letter-spacing: 0.025em;
    line-height: 1;
    opacity: 1 !important;
    text-decoration: none;
    text-transform: uppercase;
    visibility: visible !important;
    white-space: nowrap;
}

#gh-navigation.cac-navigation .cac-fixed-menu-list > li > a:hover {
    opacity: 0.72 !important;
}

#gh-navigation.cac-navigation .cac-fixed-menu-list > .cac-fixed-menu-join {
    margin-left: 18px;
}

#gh-navigation.cac-navigation .cac-fixed-menu-list > .cac-fixed-menu-join > a {
    align-items: center;
    background: var(--cac-red, #a70103);
    border-radius: 3px;
    color: #fff !important;
    justify-content: center;
    min-height: 42px;
    padding: 0 20px;
}

#gh-navigation.cac-navigation .cac-fixed-menu-list > .cac-fixed-menu-join > a:hover {
    opacity: 0.9 !important;
}

@media (max-width: 1120px) and (min-width: 768px) {
    #gh-navigation.cac-navigation .cac-fixed-menu-list {
        gap: 15px;
    }

    #gh-navigation.cac-navigation .cac-fixed-menu-list > li > a {
        font-size: 1.05rem;
    }

    #gh-navigation.cac-navigation .cac-fixed-menu-list > .cac-fixed-menu-join > a {
        min-height: 40px;
        padding-inline: 14px;
    }
}

@media (max-width: 767px) {
    #gh-navigation.cac-navigation .cac-fixed-menu {
        display: none !important;
        grid-column: 1;
        justify-content: center;
        padding: 14px 0 32px;
        width: 100%;
    }

    #gh-navigation.cac-navigation.is-open .cac-fixed-menu {
        display: flex !important;
    }

    #gh-navigation.cac-navigation .cac-fixed-menu-list {
        flex-direction: column;
        gap: 22px;
        justify-content: flex-start;
        width: 100%;
    }

    #gh-navigation.cac-navigation .cac-fixed-menu-list > li > a {
        font-size: 1.8rem;
        text-align: center;
    }

    #gh-navigation.cac-navigation .cac-fixed-menu-list > .cac-fixed-menu-join > a {
        min-height: 44px;
        min-width: 180px;
        padding: 0 24px;
    }
}

/* ======================================================================
   SECTION 03 — OUR METHOD
   ====================================================================== */
.cac-method-section {
    background:
        radial-gradient(ellipse at 50% 42%, #062A5E 0%, #031C35 48%, #00101C 100%);
    color: #fff;
    padding-block: clamp(56px, 5vw, 76px) clamp(62px, 5.5vw, 84px);
}

.cac-method-shell {
    max-width: 1320px;
}

.cac-method-marker {
    display: block;
    margin-bottom: clamp(26px, 2.5vw, 34px);
    text-transform: uppercase;
}

.cac-method-number {
    color: #2e6db4;
    font-family: var(--cac-heading-font);
    font-size: 1.5rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.02em;
}

.cac-method-slash {
    color: #77838e;
    font-size: 1.3rem;
    font-weight: 600;
}

.cac-method-label,
.cac-method-goal-label {
    color: #e10c14;
    font-family: var(--cac-heading-font);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.cac-method-label {
    font-size: clamp(1.8rem, 1.55vw, 2.15rem);
    letter-spacing: 0.045em;
}

.cac-method-opening {
    align-items: start;
    display: grid;
    gap: clamp(44px, 6vw, 94px);
    grid-template-columns: minmax(0, 1.18fr) minmax(300px, 0.82fr);
    padding-bottom: clamp(30px, 3vw, 40px);
}

.cac-method-headline h2 {
    color: #fff;
    font-family: var(--cac-heading-font);
    font-size: clamp(4.2rem, 5.3vw, 6.7rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 790;
    letter-spacing: -0.045em;
    line-height: 0.97;
    margin: 0;
    max-width: 760px;
}

.cac-method-copy {
    margin-top: 5px;
}

.cac-method-copy p {
    color: #f7f9fb;
    font-size: clamp(1.5rem, 1.65vw, 1.9rem);
    line-height: 1.58;
    margin: 0;
    max-width: 600px;
}

.cac-method-milestones {
    align-items: start;
    display: grid;
    gap: clamp(12px, 1.5vw, 22px);
    grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
    border-top: 1px solid rgba(255, 255, 255, 0.28);
    padding-top: clamp(30px, 3vw, 42px);
    text-align: center;
}

.cac-method-milestones article {
    min-width: 0;
}

.cac-method-goal {
    color: #fff;
    font-family: var(--cac-heading-font);
    font-size: clamp(5.2rem, 6.8vw, 8.4rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.055em;
    line-height: 0.9;
}

.cac-method-metric {
    color: #f7f9fb;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.3rem, 1.35vw, 1.65rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 760;
    letter-spacing: 0.035em;
    line-height: 1;
    margin-top: 13px;
    text-transform: uppercase;
}

.cac-method-goal-label {
    font-size: clamp(1.25rem, 1.4vw, 1.7rem);
    margin-top: 14px;
}

.cac-method-arrow {
    align-self: center;
    color: #e10c14;
    font-family: var(--cac-heading-font);
    font-size: clamp(3.2rem, 4vw, 5rem);
    font-weight: 500;
    line-height: 1;
    margin-top: clamp(10px, 1vw, 18px);
}

@media (max-width: 1050px) {
    .cac-method-opening {
        gap: 40px;
        grid-template-columns: minmax(0, 1fr) minmax(280px, 0.8fr);
    }

    .cac-method-milestones {
        gap: 10px;
    }

    .cac-method-goal {
        font-size: clamp(4.4rem, 7vw, 6.2rem);
    }

    .cac-method-metric {
        font-size: 1.2rem;
    }

    .cac-method-goal-label {
        font-size: 1.15rem;
    }
}

@media (max-width: 760px) {
    .cac-method-section {
        padding-block: 48px 58px;
    }

    .cac-method-opening {
        gap: 22px;
        grid-template-columns: 1fr;
        padding-bottom: 30px;
    }

    .cac-method-headline h2 {
        font-size: clamp(3.7rem, 11vw, 5.7rem);
    }

    .cac-method-copy {
        margin-top: 0;
    }

    .cac-method-copy p {
        font-size: 1.45rem;
    }

    .cac-method-milestones {
        grid-template-columns: 1fr;
        row-gap: 28px;
    }

    .cac-method-arrow {
        display: none;
    }

    .cac-method-goal {
        font-size: clamp(5rem, 18vw, 7rem);
    }
}


/* 5. Our Work */
.cac-work-section {
    background: #f4f6f7;
    color: var(--cac-charcoal);
    padding-block: clamp(66px, 5.8vw, 88px) clamp(72px, 6.2vw, 96px);
}

.cac-work-shell {
    max-width: 1320px;
}

.cac-work-marker {
    display: block;
    margin-bottom: clamp(28px, 2.6vw, 38px);
    text-transform: uppercase;
}

.cac-work-label {
    color: var(--cac-red);
    font-family: var(--cac-heading-font);
    font-size: clamp(1.8rem, 1.55vw, 2.15rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.cac-work-opening {
    align-items: stretch;
    display: grid;
    gap: clamp(54px, 6.4vw, 96px);
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
}

.cac-work-headline {
    border-right: 1px solid #b9c0c7;
    display: flex;
    align-items: center;
    padding-right: clamp(34px, 4.5vw, 66px);
}

.cac-work-headline h2 {
    color: #101820;
    font-family: var(--cac-heading-font);
    font-size: clamp(4.2rem, 5.25vw, 6.45rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 790;
    letter-spacing: -0.045em;
    line-height: 0.97;
    margin: 0;
    max-width: 570px;
}

.cac-work-intro {
    align-self: center;
    max-width: 650px;
}

.cac-work-intro p {
    color: #3f474f;
    font-size: clamp(1.42rem, 1.52vw, 1.72rem);
    line-height: 1.62;
    margin: 0;
}

.cac-work-divider {
    align-items: center;
    display: grid;
    gap: 24px;
    grid-template-columns: 1fr auto 1fr;
    margin-block: clamp(54px, 5vw, 70px) clamp(38px, 3.4vw, 48px);
}

.cac-work-divider span {
    background: #c8cdd2;
    height: 1px;
}

.cac-work-divider p {
    color: #1e2730;
    font-family: var(--cac-heading-font);
    font-size: 1.35rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.13em;
    margin: 0;
    text-transform: uppercase;
}

.cac-work-cards {
    display: grid;
    gap: clamp(22px, 2.35vw, 34px);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cac-work-card {
    background: #fff;
    border: 1px solid #dfe3e7;
    box-shadow: 0 11px 28px rgba(16, 24, 32, 0.06);
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}

.cac-work-card-media {
    aspect-ratio: 1.55 / 1;
    background: #dfe4e8;
    display: block;
    overflow: hidden;
    text-decoration: none;
}

.cac-work-card-media > img {
    display: block;
    height: 100%;
    object-fit: cover;
    transition: transform 220ms ease;
    width: 100%;
}

.cac-work-card:hover .cac-work-card-media > img {
    transform: scale(1.015);
}

.cac-work-card-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: clamp(25px, 2.3vw, 34px) clamp(24px, 2.25vw, 32px) clamp(27px, 2.45vw, 36px);
}

.cac-work-card-kicker {
    color: var(--cac-red);
    font-family: var(--cac-heading-font);
    font-size: 1.02rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.055em;
    line-height: 1;
    text-transform: uppercase;
}

.cac-work-card-kicker--blue {
    color: #063067;
}

.cac-work-card h3 {
    font-family: var(--cac-heading-font);
    font-size: clamp(2.2rem, 2.25vw, 2.8rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 790;
    letter-spacing: -0.035em;
    line-height: 1;
    margin: 16px 0 0;
}

.cac-work-card h3 a {
    color: #101820;
    text-decoration: none;
}

.cac-work-card h3 a:hover {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

.cac-work-card-body > p {
    color: #58616b;
    font-size: clamp(1.05rem, 1.03vw, 1.2rem);
    line-height: 1.52;
    margin: 17px 0 0;
}

.cac-work-card-link {
    align-items: center;
    color: #063067;
    display: inline-flex;
    font-family: var(--cac-heading-font);
    font-size: 0.98rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    gap: 8px;
    letter-spacing: 0.045em;
    margin-top: auto;
    padding-top: 24px;
    text-decoration: none;
    text-transform: uppercase;
}

.cac-work-card-link:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.cac-work-card-link span {
    font-size: 1.2rem;
    transition: transform 160ms ease;
}

.cac-work-card-link:hover span {
    transform: translateX(4px);
}

.cac-work-card-media--facts {
    background: #0b1118;
}

.cac-work-facts-creative {
    align-items: center;
    background: radial-gradient(ellipse at 55% 42%, #1b2632 0%, #0b1118 64%, #06090d 100%);
    display: flex;
    height: 100%;
    justify-content: center;
    padding: 7%;
    width: 100%;
}

.cac-work-facts-frame {
    border: 1px solid rgba(255,255,255,0.18);
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    padding: 8% 9%;
    width: 100%;
}

.cac-work-facts-eyebrow {
    color: var(--cac-red);
    font-family: var(--cac-heading-font);
    font-size: clamp(.74rem, .8vw, .95rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.cac-work-facts-title {
    color: #fff;
    font-family: var(--cac-heading-font);
    font-size: clamp(2.6rem, 3.4vw, 4.2rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -.04em;
    line-height: .94;
    margin-top: 12px;
}

.cac-work-facts-rule {
    background: var(--cac-red);
    height: 3px;
    margin-top: 18px;
    width: 42px;
}

.cac-work-facts-topics {
    display: grid;
    gap: 8px 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 20px;
}

.cac-work-facts-topics span {
    color: #dce1e6;
    font-family: var(--cac-heading-font);
    font-size: clamp(.7rem, .75vw, .9rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 760;
    letter-spacing: .06em;
}

.cac-work-facts-brand {
    color: #7e8a95;
    font-family: var(--cac-heading-font);
    font-size: clamp(.55rem, .58vw, .7rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 760;
    letter-spacing: .07em;
    margin-top: auto;
    padding-top: 12px;
}

.cac-work-card-media--social {
    background: #d9dee2;
}

.cac-work-social-creative {
    align-items: center;
    background:
        linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0)),
        #d9dee2;
    display: flex;
    height: 100%;
    justify-content: center;
    padding: 7%;
    width: 100%;
}

.cac-work-social-frame {
    background: #fff;
    box-shadow: 0 6px 18px rgba(16,24,32,.16);
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 6.5%;
    width: 82%;
}

.cac-work-social-head {
    align-items: center;
    color: #13253c;
    display: flex;
    font-family: var(--cac-heading-font);
    font-size: clamp(.52rem, .58vw, .72rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    gap: 8px;
    letter-spacing: .045em;
}

.cac-work-social-x {
    color: var(--cac-red);
    font-family: Arial, sans-serif;
    font-size: 1.55rem;
    font-weight: 900;
    line-height: .7;
}

.cac-work-social-screen {
    align-items: center;
    background: radial-gradient(ellipse at 50% 42%, #0b3b72 0%, #062850 58%, #031a34 100%);
    display: flex;
    flex: 1 1 auto;
    justify-content: center;
    margin-top: 10px;
    min-height: 0;
}

.cac-work-social-play {
    align-items: center;
    border: 2px solid rgba(255,255,255,.9);
    border-radius: 50%;
    color: #fff;
    display: flex;
    font-size: clamp(1.2rem, 1.4vw, 1.7rem);
    height: clamp(40px, 4vw, 52px);
    justify-content: center;
    padding-left: 3px;
    width: clamp(40px, 4vw, 52px);
}

.cac-work-social-copy {
    color: #142132;
    font-family: var(--cac-heading-font);
    font-size: clamp(.76rem, .82vw, 1rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: .01em;
    line-height: 1.12;
    margin-top: 12px;
}

.cac-work-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: clamp(28px, 2.8vw, 40px);
}

.cac-work-view-button {
    align-items: center;
    color: var(--cac-red);
    display: inline-flex;
    font-family: var(--cac-heading-font);
    font-size: 1.35rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    gap: 9px;
    letter-spacing: 0.05em;
    text-decoration: none;
    text-transform: uppercase;
}

.cac-work-view-button span {
    font-size: 1.35rem;
    transition: transform 160ms ease;
}

.cac-work-view-button:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.cac-work-view-button:hover span {
    transform: translateX(4px);
}

@media (max-width: 1040px) {
    .cac-work-opening {
        gap: 42px;
        grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
    }

    .cac-work-headline {
        padding-right: 36px;
    }

    .cac-work-cards {
        gap: 20px;
    }

    .cac-work-card-body {
        padding-inline: 22px;
    }
}

@media (max-width: 820px) {
    .cac-work-cards {
        grid-template-columns: 1fr;
    }

    .cac-work-card {
        display: grid;
        grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    }

    .cac-work-card-media {
        aspect-ratio: auto;
        min-height: 300px;
    }
}

@media (max-width: 700px) {
    .cac-work-section {
        padding-block: 50px 60px;
    }

    .cac-work-marker {
        margin-bottom: 22px;
    }

    .cac-work-opening {
        display: block;
    }

    .cac-work-headline {
        border-bottom: 1px solid #c3c8cd;
        border-right: 0;
        padding: 0 0 28px;
    }

    .cac-work-headline h2 {
        font-size: clamp(3.45rem, 11.3vw, 5rem);
        max-width: 520px;
    }

    .cac-work-intro {
        padding-top: 28px;
    }

    .cac-work-intro p {
        font-size: 1.3rem;
        line-height: 1.56;
    }

    .cac-work-divider {
        gap: 14px;
        margin-block: 38px 28px;
    }

    .cac-work-divider p {
        font-size: .9rem;
        letter-spacing: .09em;
        text-align: center;
    }

    .cac-work-card {
        display: flex;
    }

    .cac-work-card-media {
        aspect-ratio: 1.55 / 1;
        min-height: 0;
    }

    .cac-work-card h3 {
        font-size: 2.45rem;
    }

    .cac-work-card-body > p {
        font-size: 1.08rem;
    }

    .cac-work-footer {
        justify-content: flex-start;
    }
}


/* 05 / About CAC */
.cac-about-section {
    background: #f7f8f9;
    color: #111820;
    padding-block: clamp(46px, 4vw, 62px) 0;
}

.cac-about-shell {
    max-width: 1320px;
}

.cac-about-marker {
    align-items: baseline;
    display: flex;
    font-family: var(--cac-heading-font);
    font-size: 1.35rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    gap: 8px;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.cac-about-number {
    color: #d7193f;
    font-size: 1.22rem;
}

.cac-about-slash {
    color: #5d6670;
}

.cac-about-label {
    color: #111820;
}

.cac-about-opening {
    align-items: center;
    display: grid;
    gap: clamp(34px, 5vw, 76px);
    grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr);
    margin-top: 26px;
}

.cac-about-headline h2 {
    color: #0d1117;
    font-family: var(--cac-heading-font);
    font-size: clamp(4.2rem, 5.4vw, 6.6rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.055em;
    line-height: 0.9;
    margin: 0;
}

.cac-about-headline h2 span {
    color: #c91b21;
    display: block;
    margin-top: clamp(12px, 1vw, 16px);
}

.cac-about-intro {
    align-items: center;
    display: flex;
    min-height: 240px;
    overflow: hidden;
    padding: 6px clamp(12px, 2vw, 28px) 0 0;
    position: relative;
}

.cac-about-intro p {
    color: #202832;
    font-size: clamp(1.35rem, 1.6vw, 1.72rem);
    line-height: 1.55;
    margin: 0;
    max-width: 670px;
    position: relative;
    z-index: 2;
}

.cac-about-intro strong {
    color: #111820;
    font-weight: 800;
}

.cac-about-megaphone {
    bottom: -24px;
    color: #dfe3e7;
    opacity: 0.63;
    position: absolute;
    right: -10px;
    transform: rotate(-5deg);
    z-index: 1;
}

.cac-about-megaphone svg {
    height: 170px;
    width: 205px;
}

.cac-about-pillars {
    border-top: 1px solid #ced3d8;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: clamp(34px, 4vw, 54px);
    padding-block: clamp(28px, 3vw, 42px) clamp(38px, 4vw, 54px);
}

.cac-about-pillar {
    align-items: flex-start;
    display: grid;
    gap: 18px;
    grid-template-columns: 64px minmax(0, 1fr);
    padding-inline: clamp(12px, 2vw, 28px);
}

.cac-about-pillar:first-child {
    padding-left: 0;
}

.cac-about-pillar:last-child {
    padding-right: 0;
}

.cac-about-pillar + .cac-about-pillar {
    border-left: 1px solid #d4d8dc;
}

.cac-about-pillar-icon {
    align-items: center;
    background: #062A5E;
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    height: 58px;
    justify-content: center;
    width: 58px;
}

.cac-about-pillar-icon svg {
    height: 34px;
    width: 34px;
}

.cac-about-pillar h3 {
    color: #111820;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.65rem, 1.9vw, 2.05rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.025em;
    line-height: 1;
    margin: 2px 0 0;
    text-transform: uppercase;
}

.cac-about-rule {
    background: #c91b21;
    display: block;
    height: 3px;
    margin-top: 10px;
    width: 38px;
}

.cac-about-pillar p {
    color: #343d47;
    font-size: 1.08rem;
    line-height: 1.55;
    margin: 16px 0 0;
    max-width: 300px;
}



.cac-about-actions {
    display: flex;
    justify-content: center;
    padding-bottom: clamp(36px, 4vw, 52px);
}

.cac-about-button {
    align-items: center;
    border: 2px solid #c91b21;
    color: #b9161d;
    display: inline-flex;
    flex: 0 0 auto;
    font-family: var(--cac-heading-font);
    font-size: 1.06rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    gap: 22px;
    justify-content: center;
    letter-spacing: 0.025em;
    min-height: 56px;
    padding: 0 22px;
    text-decoration: none;
    text-transform: uppercase;
    transition: background 160ms ease, color 160ms ease;
}

.cac-about-button:hover {
    background: #c91b21;
    color: #fff;
}

.cac-about-button span {
    font-size: 1.55rem;
    line-height: 1;
}

@media (max-width: 980px) {
    .cac-about-opening {
        grid-template-columns: 1fr;
    }

    .cac-about-intro {
        min-height: 190px;
    }

    .cac-about-pillars {
        grid-template-columns: 1fr;
        padding-top: 18px;
    }

    .cac-about-pillar {
        border-top: 1px solid #d4d8dc;
        grid-template-columns: 58px minmax(0, 1fr);
        padding: 26px 0;
    }

    .cac-about-pillar:first-child {
        border-top: 0;
    }

    .cac-about-pillar + .cac-about-pillar {
        border-left: 0;
    }

    .cac-about-pillar p {
        max-width: 620px;
    }

}

@media (max-width: 680px) {
    .cac-about-section {
        padding-top: 46px;
    }

    .cac-about-headline h2 {
        font-size: clamp(3.4rem, 13.5vw, 5rem);
    }

    .cac-about-intro p {
        font-size: 1.22rem;
    }

    .cac-about-megaphone {
        opacity: 0.42;
        right: -52px;
    }

    .cac-about-pillars {
        margin-top: 26px;
    }

    .cac-about-pillar-icon {
        height: 52px;
        width: 52px;
    }

    .cac-about-pillar-icon svg {
        height: 30px;
        width: 30px;
    }

    .cac-about-actions {
        justify-content: stretch;
        padding-bottom: 38px;
    }

    .cac-about-button {
        width: 100%;
    }
}


/* 06 / The Campaigns */
.cac-campaigns-section {
    background: #eef2f6;
    color: #111820;
    padding-block: clamp(52px, 4.4vw, 68px) clamp(58px, 4.8vw, 74px);
}

.cac-campaigns-shell {
    max-width: 1320px;
}

.cac-campaigns-marker {
    align-items: baseline;
    display: flex;
    font-family: var(--cac-heading-font);
    font-size: 1.06rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    gap: 8px;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.cac-campaigns-number {
    color: #d7193f;
    font-size: 1.22rem;
}

.cac-campaigns-slash {
    color: #5d6670;
}

.cac-campaigns-label {
    color: #111820;
}

.cac-campaigns-opening {
    align-items: center;
    display: grid;
    gap: clamp(48px, 6vw, 86px);
    grid-template-columns: minmax(0, 0.94fr) minmax(360px, 1.06fr);
    margin-top: 22px;
}

.cac-campaigns-headline h2 {
    color: #062a5e;
    font-family: var(--cac-heading-font);
    font-size: clamp(4.15rem, 5vw, 5.9rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.05em;
    line-height: 0.93;
    margin: 0;
    text-transform: uppercase;
}

.cac-campaigns-headline h2 span {
    color: #d7193f;
}

.cac-campaigns-intro {
    align-items: center;
    display: flex;
    min-height: 0;
}

.cac-campaigns-intro p {
    color: #252e38;
    font-size: clamp(1.28rem, 1.48vw, 1.58rem);
    line-height: 1.6;
    margin: 0;
    max-width: 660px;
}

.cac-campaigns-intro strong {
    color: #111820;
    font-weight: 780;
}

.cac-campaigns-divider {
    align-items: center;
    display: grid;
    gap: 18px;
    grid-template-columns: 1fr auto 1fr;
    margin-top: clamp(28px, 2.8vw, 38px);
}

.cac-campaigns-divider span {
    background: #c8d0d8;
    height: 1px;
}

.cac-campaigns-divider p {
    color: #062a5e;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.35rem, 1.65vw, 1.72rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.055em;
    line-height: 1;
    margin: 0;
    text-align: center;
    text-transform: uppercase;
}

.cac-campaigns-grid {
    display: grid;
    gap: clamp(22px, 2.5vw, 34px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 24px;
}

.cac-campaign-card {
    background: #fff;
    border: 1px solid #d8dee5;
    box-shadow: 0 7px 18px rgba(6, 42, 94, 0.055);
    display: flex;
    flex-direction: column;
    min-height: 450px;
    overflow: hidden;
    padding: clamp(32px, 3.2vw, 44px);
    position: relative;
}

.cac-campaign-card-kicker {
    color: #c91b21;
    font-family: var(--cac-heading-font);
    font-size: 1.05rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: 0.085em;
    line-height: 1;
    text-transform: uppercase;
}

.cac-campaign-card-kicker::after {
    background: currentColor;
    content: "";
    display: block;
    height: 3px;
    margin-top: 12px;
    width: 36px;
}

.cac-campaign-card-kicker--blue {
    color: #2e6db4;
}

.cac-campaign-card h3 {
    color: #062a5e;
    font-family: var(--cac-heading-font);
    font-size: clamp(3.15rem, 4vw, 4.65rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.045em;
    line-height: 0.95;
    margin: 22px 0 0;
    max-width: 88%;
    text-transform: uppercase;
}

.cac-campaign-card-lede {
    color: #333d48;
    font-size: 1.28rem;
    line-height: 1.5;
    margin: 15px 0 0;
    max-width: 430px;
    position: relative;
    z-index: 2;
}

.cac-campaign-card-graphic {
    pointer-events: none;
    position: absolute;
}

.cac-campaign-card-graphic--100 {
    color: #dce3ea;
    font-family: var(--cac-heading-font);
    font-size: clamp(4.7rem, 6.4vw, 7.5rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.065em;
    line-height: 1;
    opacity: 0.98;
    right: 18px;
    top: 158px;
    white-space: nowrap;
}

.cac-campaign-card-graphic--facts {
    display: grid;
    gap: 10px;
    right: 34px;
    top: 154px;
    width: 195px;
}

.cac-campaign-card-graphic--facts span {
    background: #cfdae5;
    display: block;
    height: 8px;
    justify-self: end;
}

.cac-campaign-card-graphic--facts span:nth-child(1) { width: 145px; }
.cac-campaign-card-graphic--facts span:nth-child(2) { width: 174px; }
.cac-campaign-card-graphic--facts span:nth-child(3) { width: 194px; }
.cac-campaign-card-graphic--facts span:nth-child(4) { width: 142px; }
.cac-campaign-card-graphic--facts span:nth-child(5) { width: 182px; }
.cac-campaign-card-graphic--facts span:nth-child(6) { width: 112px; }

.cac-campaign-card-points {
    border-bottom: 1px solid #dde2e7;
    border-top: 1px solid #dde2e7;
    list-style: none;
    margin: auto 0 0;
    padding: 20px 0;
    position: relative;
    z-index: 2;
}

.cac-campaign-card-points li {
    color: #303a45;
    font-size: 1.16rem;
    line-height: 1.35;
    padding-left: 34px;
    position: relative;
}

.cac-campaign-card-points li + li {
    margin-top: 10px;
}

.cac-campaign-card-points li::before {
    background: #d7193f;
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    top: 0.68em;
    width: 19px;
}

.cac-campaign-card-points--blue li::before {
    background: #2e6db4;
}

.cac-campaign-card-link {
    align-items: center;
    color: #c91b21;
    display: inline-flex;
    font-family: var(--cac-heading-font);
    font-size: 1rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    gap: 14px;
    letter-spacing: 0.065em;
    margin-top: 22px;
    text-decoration: none;
    text-transform: uppercase;
    width: fit-content;
}

.cac-campaign-card-link span {
    font-size: 1.4rem;
    line-height: 1;
    transition: transform 160ms ease;
}

.cac-campaign-card-link:hover span {
    transform: translateX(4px);
}

.cac-campaign-card-link--blue {
    color: #062a5e;
}

@media (max-width: 980px) {
    .cac-campaigns-opening {
        align-items: start;
        gap: 28px;
        grid-template-columns: 1fr;
    }

    .cac-campaigns-intro {
        min-height: 0;
    }

    .cac-campaigns-grid {
        grid-template-columns: 1fr;
    }

    .cac-campaign-card {
        min-height: 390px;
    }
}

@media (max-width: 680px) {
    .cac-campaigns-section {
        padding-block: 46px 58px;
    }

    .cac-campaigns-headline h2 {
        font-size: clamp(3.15rem, 13vw, 4.5rem);
    }

    .cac-campaigns-intro p {
        font-size: 1.12rem;
    }

    .cac-campaigns-divider {
        gap: 12px;
        grid-template-columns: 34px 1fr 34px;
        margin-top: 38px;
    }

    .cac-campaigns-divider p {
        font-size: 1.08rem;
        line-height: 1.2;
    }

    .cac-campaign-card {
        min-height: 0;
        padding: 26px 22px;
    }

    .cac-campaign-card h3 {
        font-size: clamp(2.55rem, 11vw, 3.6rem);
        max-width: 100%;
    }

    .cac-campaign-card-graphic--100 {
        font-size: 3.5rem;
        opacity: 0.55;
        right: 12px;
        top: 174px;
    }

    .cac-campaign-card-graphic--facts {
        opacity: 0.6;
        right: 22px;
        top: 184px;
        width: 130px;
    }

    .cac-campaign-card-lede {
        max-width: 80%;
    }

    .cac-campaign-card-points {
        margin-top: 92px;
    }
}


/* Standalone About / Campaigns pages */
.cac-standalone-page .cac-about-marker,
.cac-standalone-page .cac-campaigns-marker {
    letter-spacing: 0.055em;
}

.cac-standalone-page .cac-about-label {
    color: #c91b21;
}

.cac-standalone-page .cac-campaigns-label {
    color: #111820;
}

.cac-about-page .cac-about-section,
.cac-campaigns-page .cac-campaigns-section {
    min-height: auto;
}


/* Join / Support page */
.cac-join-page {
    background: #fff;
    color: #111820;
}

.cac-join-page-shell {
    max-width: 1320px;
}

.cac-join-hero {
    background:
        radial-gradient(ellipse at 68% 42%, #0a3b78 0%, #062A5E 38%, #031C35 72%, #00101C 100%);
    color: #fff;
    padding-block: clamp(70px, 6vw, 94px);
}

.cac-join-hero-grid {
    align-items: center;
    display: grid;
    gap: clamp(54px, 7vw, 100px);
    grid-template-columns: minmax(330px, 0.9fr) minmax(0, 1.1fr);
}

.cac-join-kicker {
    color: #ff4455;
    font-family: var(--cac-heading-font);
    font-size: 1.35rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.055em;
    margin-bottom: 18px;
    text-transform: uppercase;
}

.cac-join-hero-copy h1 {
    color: #fff;
    font-family: var(--cac-heading-font);
    font-size: clamp(5.3rem, 6.4vw, 8rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.055em;
    line-height: 0.84;
    margin: 0;
    text-transform: uppercase;
}

.cac-join-hero-intro {
    align-self: center;
    max-width: 670px;
}

.cac-join-hero-intro p {
    color: rgb(255 255 255 / 0.92);
    font-size: clamp(1.34rem, 1.5vw, 1.68rem);
    line-height: 1.62;
    margin: 0;
}

.cac-join-hero-intro .cac-join-start {
    margin-top: 20px;
}

.cac-join-start strong {
    color: #fff;
    font-weight: 800;
}

.cac-join-red-rule {
    background: #d7193f;
    display: block;
    height: 3px;
    width: 52px;
}

.cac-join-impact {
    background: #fff;
    padding-block: clamp(64px, 5.6vw, 88px);
}

.cac-join-impact-heading {
    margin: 0 auto;
    max-width: 820px;
    text-align: center;
}

.cac-join-impact-heading h2 {
    color: #062a5e;
    font-family: var(--cac-heading-font);
    font-size: clamp(3rem, 4vw, 4.6rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.035em;
    line-height: 0.98;
    margin: 0;
    text-transform: uppercase;
}

.cac-join-impact-heading .cac-join-red-rule {
    margin: 18px auto 20px;
}

.cac-join-impact-heading p {
    color: #37414b;
    font-size: clamp(1.2rem, 1.35vw, 1.48rem);
    line-height: 1.62;
    margin: 0 auto;
    max-width: 760px;
}

.cac-join-flow {
    align-items: center;
    display: grid;
    gap: clamp(18px, 2vw, 30px);
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
    margin: clamp(42px, 4.5vw, 62px) auto 0;
    max-width: 900px;
}

.cac-join-flow-step {
    align-items: center;
    display: flex;
    flex-direction: column;
    min-width: 0;
    text-align: center;
}

.cac-join-flow-icon {
    align-items: center;
    background: #062a5e;
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    height: clamp(94px, 8vw, 118px);
    justify-content: center;
    width: clamp(94px, 8vw, 118px);
}

.cac-join-flow-icon--ads {
    background: #58738e;
}

.cac-join-flow-icon--reach {
    background: #c8102e;
}

.cac-join-flow-icon svg {
    height: 64%;
    width: 64%;
}

.cac-join-flow-step strong {
    color: #102041;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.55rem, 1.7vw, 2rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.02em;
    line-height: 1.02;
    margin-top: 18px;
    text-transform: uppercase;
}

.cac-join-flow-arrow {
    color: #d7193f;
    font-size: clamp(2rem, 2.4vw, 2.9rem);
    margin-top: -32px;
}

.cac-join-options {
    background: #eef2f6;
    border-top: 1px solid #e0e5ea;
    padding-block: clamp(70px, 6vw, 96px) clamp(82px, 7vw, 108px);
}

.cac-join-section-heading {
    text-align: center;
}

.cac-join-section-heading h2,
.cac-member-briefing-intro h2,
.cac-join-impact-band h2 {
    color: #062a5e;
    font-family: var(--cac-heading-font);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.035em;
    margin: 0;
    text-transform: uppercase;
}

.cac-join-section-heading h2 {
    font-size: clamp(3rem, 4vw, 4.7rem);
}

.cac-membership-disclosure {
    color: #4d5863;
    font-size: 1.175rem;
    line-height: 1.5;
    margin: 16px auto 0;
    max-width: 720px;
}

.cac-billing-toggle {
    align-items: center;
    display: inline-flex;
    gap: 12px;
    margin-top: 26px;
}

.cac-billing-choice {
    appearance: none;
    background: none;
    border: 0;
    color: #6b7480;
    cursor: pointer;
    font-family: var(--cac-heading-font);
    font-size: 1.12rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.025em;
    padding: 5px;
    text-transform: uppercase;
}

.cac-billing-choice.is-active {
    color: #c8102e;
}

.cac-billing-switch {
    background: #d5dbe1;
    border-radius: 999px;
    cursor: pointer;
    display: inline-flex;
    height: 28px;
    padding: 3px;
    transition: background 150ms ease;
    width: 52px;
}

.cac-billing-switch span {
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 1px 4px rgb(0 0 0 / 0.18);
    display: block;
    height: 22px;
    transform: translateX(0);
    transition: transform 150ms ease;
    width: 22px;
}

.cac-billing-switch.is-annual {
    background: #c8102e;
}

.cac-billing-switch.is-annual span {
    transform: translateX(24px);
}

.cac-membership-grid {
    display: grid;
    gap: clamp(28px, 4vw, 52px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: clamp(42px, 4.5vw, 62px) auto 0;
    max-width: 940px;
}

.cac-membership-card {
    background: #fff;
    border: 1px solid #d7dde3;
    border-radius: 12px;
    box-shadow: 0 12px 34px rgb(16 32 65 / 0.08);
    display: flex;
    flex-direction: column;
    min-height: 380px;
    padding: clamp(34px, 3.5vw, 48px);
    position: relative;
    text-align: center;
}

.cac-membership-card--preferred {
    border-color: #aebdcb;
    box-shadow: 0 14px 40px rgb(6 42 94 / 0.12);
}

.cac-membership-preferred {
    background: #062a5e;
    border-radius: 11px 11px 0 0;
    color: #fff;
    font-family: var(--cac-heading-font);
    font-size: 0.96rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    left: -1px;
    letter-spacing: 0.055em;
    padding: 9px 12px;
    position: absolute;
    right: -1px;
    text-transform: uppercase;
    top: -1px;
}

.cac-membership-card--preferred h3 {
    margin-top: 26px;
}

.cac-membership-card h3,
.cac-custom-membership h3 {
    color: #102041;
    font-family: var(--cac-heading-font);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.025em;
    margin: 0;
    text-transform: uppercase;
}

.cac-membership-card h3 {
    font-size: clamp(2rem, 2.5vw, 2.7rem);
}

.cac-membership-price {
    align-items: baseline;
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-top: 24px;
}

.cac-price-value {
    color: #07111d;
    font-family: var(--cac-heading-font);
    font-size: clamp(4rem, 5.2vw, 5.8rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 840;
    letter-spacing: -0.06em;
    line-height: 0.9;
}

.cac-price-period {
    color: #4f5964;
    font-size: 1.175rem;
}

.cac-membership-card > p {
    color: #4c5661;
    font-size: 1.285rem;
    line-height: 1.55;
    margin: 28px auto 0;
    max-width: 310px;
}

.cac-membership-button {
    align-items: center;
    background: #c8102e;
    border-radius: 6px;
    color: #fff;
    display: inline-flex;
    font-family: var(--cac-heading-font);
    font-size: 1.04rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    justify-content: center;
    letter-spacing: 0.03em;
    margin-top: auto;
    min-height: 54px;
    padding: 0 22px;
    text-decoration: none;
    text-transform: uppercase;
}

.cac-custom-membership {
    align-items: center;
    background: #fff;
    border: 1px solid #d4dbe2;
    border-left: 5px solid #062a5e;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgb(16 32 65 / 0.06);
    display: grid;
    gap: clamp(28px, 4vw, 52px);
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
    margin: clamp(34px, 4vw, 52px) auto 0;
    max-width: 940px;
    padding: clamp(28px, 3vw, 38px);
}

.cac-custom-membership-kicker {
    color: #c8102e;
    font-family: var(--cac-heading-font);
    font-size: 0.95rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.055em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.cac-custom-membership h3 {
    font-size: clamp(1.9rem, 2.3vw, 2.5rem);
}

.cac-custom-membership p {
    color: #59636d;
    font-size: 1.205rem;
    line-height: 1.55;
    margin: 10px 0 0;
    max-width: 520px;
}

.cac-custom-membership-control-wrap {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cac-custom-membership-control {
    align-items: center;
    background: #f7f9fb;
    border: 1px solid #d7dde3;
    border-radius: 7px;
    display: grid;
    gap: 8px;
    grid-template-columns: auto minmax(88px, 1fr) auto;
    min-height: 56px;
    padding: 0 14px;
}

.cac-custom-currency {
    color: #102041;
    font-family: var(--cac-heading-font);
    font-size: 2rem;
    font-weight: 820;
}

.cac-custom-membership input {
    background: transparent;
    border: 0;
    color: #111820;
    font-size: 1.22rem;
    height: 52px;
    min-width: 0;
    outline: 0;
    padding: 0;
    width: 100%;
}

.cac-custom-period {
    color: #59636d;
    font-size: 1.105rem;
    white-space: nowrap;
}

.cac-custom-button {
    align-items: center;
    background: #062a5e;
    border-radius: 6px;
    color: #fff;
    display: inline-flex;
    font-family: var(--cac-heading-font);
    font-size: 1rem;
    font-weight: 800;
    justify-content: center;
    letter-spacing: 0.025em;
    min-height: 54px;
    padding: 0 20px;
    text-decoration: none;
    text-transform: uppercase;
}

.cac-membership-large-support {
    color: #5e6771;
    font-size: 1.125rem;
    margin: 24px auto 0;
    max-width: 940px;
    text-align: center;
}

.cac-membership-large-support a {
    color: #c8102e;
    font-weight: 700;
}

.cac-member-briefing {
    background: #fff;
    padding-block: clamp(58px, 4.9vw, 78px);
}

.cac-member-briefing-grid {
    align-items: start;
    display: grid;
    gap: 0;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.cac-member-briefing-intro {
    padding-right: clamp(46px, 4.8vw, 76px);
}

.cac-member-briefing-intro .cac-join-kicker {
    margin-bottom: 18px;
}

.cac-member-briefing-intro h2 {
    color: #062a5e;
    font-family: var(--cac-heading-font);
    font-size: clamp(4.2rem, 5.2vw, 6.3rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.05em;
    line-height: 0.9;
    margin: 0;
    text-transform: none;
}

.cac-member-impact-copy {
    color: #3c4650;
    font-size: clamp(1.24rem, 1.4vw, 1.5rem);
    line-height: 1.62;
    margin: 30px 0 0;
    max-width: 590px;
}

.cac-member-briefing-detail {
    border-left: 1px solid #aeb9c4;
    padding: clamp(22px, 1.8vw, 30px) 0 clamp(10px, 1vw, 16px) clamp(52px, 5.2vw, 84px);
}

.cac-member-briefing-lead {
    color: #27313c;
    font-size: clamp(1.55rem, 1.85vw, 2rem);
    line-height: 1.52;
    margin: 0;
    max-width: 710px;
}

.cac-member-briefing-bullets {
    display: grid;
    gap: 0;
    list-style: none;
    margin: clamp(34px, 3.4vw, 48px) 0 0;
    max-width: 720px;
    padding: 0;
}

.cac-member-briefing-bullets li {
    border-bottom: 1px solid #d9dfe5;
    color: #28333d;
    font-size: clamp(1.22rem, 1.42vw, 1.52rem);
    line-height: 1.45;
    padding: 0 0 18px 42px;
    position: relative;
}

.cac-member-briefing-bullets li + li {
    padding-top: 18px;
}

.cac-member-briefing-bullets li::before {
    color: #c8102e;
    content: "✓";
    font-size: 1.4em;
    font-weight: 800;
    left: 0;
    line-height: 1;
    position: absolute;
    top: -0.02em;
}

.cac-member-briefing-bullets li + li::before {
    top: 0.7em;
}

.cac-member-briefing-bullets li:last-child {
    border-bottom: 0;
}

.cac-join-impact-band {
    background: radial-gradient(ellipse at 50% 42%, #062A5E 0%, #031C35 48%, #00101C 100%);
    color: #fff;
    padding-block: clamp(62px, 5.4vw, 86px);
}

.cac-join-impact-band-inner {
    margin: 0 auto;
    max-width: 1040px;
    text-align: center;
}

.cac-join-impact-band .cac-join-flow {
    margin: 0 auto clamp(42px, 4vw, 58px);
}

.cac-join-impact-band .cac-join-flow-step strong {
    color: #fff;
}

.cac-join-impact-band .cac-join-flow-icon {
    box-shadow: 0 0 0 1px rgb(255 255 255 / 0.34);
}

.cac-join-impact-band h2 {
    color: #fff;
    font-size: clamp(2.9rem, 3.8vw, 4.5rem);
    text-align: center;
}

.cac-join-impact-band p {
    color: rgb(255 255 255 / 0.91);
    font-size: clamp(1.28rem, 1.48vw, 1.58rem);
    line-height: 1.62;
    margin: 24px auto 0;
    max-width: 940px;
}


@media (max-width: 980px) {
    .cac-join-hero-grid,
    .cac-member-briefing-grid {
        grid-template-columns: 1fr;
    }

    .cac-join-hero-grid {
        gap: 44px;
    }

    .cac-join-hero-intro,
    .cac-member-briefing-intro {
        max-width: 720px;
    }

    .cac-custom-membership {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .cac-join-hero {
        padding-block: 50px 58px;
    }

    .cac-join-hero-copy h1 {
        font-size: clamp(4.5rem, 18vw, 6rem);
    }

    .cac-join-flow {
        gap: 8px;
    }

    .cac-join-flow-icon {
        height: 76px;
        width: 76px;
    }

    .cac-join-flow-step strong {
        font-size: 1.16rem;
    }

    .cac-join-flow-arrow {
        font-size: 1.55rem;
        margin-top: -26px;
    }

    .cac-membership-grid {
        grid-template-columns: 1fr;
    }

    .cac-membership-card {
        min-height: 340px;
    }

    .cac-custom-membership {
        padding: 24px 20px;
    }

    .cac-member-briefing-intro {
        padding-right: 0;
    }

    .cac-member-briefing-intro h2 {
        font-size: clamp(3.7rem, 15vw, 5.3rem);
    }

    .cac-member-briefing-detail {
        border-left: 0;
        border-top: 1px solid #aeb9c4;
        margin-top: 34px;
        padding: 30px 0 0;
    }

    .cac-member-briefing-lead {
        font-size: 1.35rem;
    }

}

/* Standalone About page: information accordion */
.cac-about-details {
    background: #f7f8f9;
    color: #111820;
    padding-block: clamp(28px, 2.5vw, 38px) clamp(58px, 5vw, 78px);
}

.cac-about-details-shell {
    max-width: 1320px;
}

.cac-about-details-intro {
    border-top: 1px solid #cfd4d9;
    padding-top: clamp(34px, 3vw, 46px);
}

.cac-about-details-kicker {
    color: #c91b21;
    font-family: var(--cac-heading-font);
    font-size: 1.35rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.cac-about-details-intro h2 {
    color: #111820;
    font-family: var(--cac-heading-font);
    font-size: clamp(2.7rem, 3.6vw, 4.25rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.04em;
    line-height: 0.98;
    margin: 12px 0 0;
}

.cac-about-details-intro p {
    color: #45505b;
    font-size: clamp(1.08rem, 1.18vw, 1.24rem);
    line-height: 1.6;
    margin: 18px 0 0;
    max-width: 760px;
}

.cac-about-accordion {
    border-bottom: 1px solid #c6ccd2;
    margin-top: 0;
}

.cac-about-detail {
    border-top: 1px solid #c6ccd2;
}

.cac-about-detail summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    list-style: none;
    min-height: clamp(76px, 6vw, 92px);
    padding: 0 4px;
}

.cac-about-detail summary::-webkit-details-marker {
    display: none;
}

.cac-about-detail summary > span:first-child {
    color: #102041;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.8rem, 2.2vw, 2.45rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.025em;
    line-height: 1;
}

.cac-about-detail-toggle {
    height: 28px;
    margin-left: 24px;
    position: relative;
    width: 28px;
}

.cac-about-detail-toggle::before,
.cac-about-detail-toggle::after {
    background: #c91b21;
    content: "";
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.cac-about-detail-toggle::before {
    height: 2px;
    width: 24px;
}

.cac-about-detail-toggle::after {
    height: 24px;
    transition: transform 160ms ease, opacity 160ms ease;
    width: 2px;
}

.cac-about-detail[open] .cac-about-detail-toggle::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(90deg);
}

.cac-about-detail[open] summary {
    padding-bottom: 4px;
}

.cac-about-detail-body {
    color: #35404a;
    max-width: 980px;
    padding: 0 56px clamp(30px, 3vw, 42px) 4px;
}

.cac-about-detail-body p,
.cac-about-detail-body li {
    font-size: clamp(1.08rem, 1.18vw, 1.22rem);
    line-height: 1.65;
}

.cac-about-detail-body p {
    margin: 0;
}

.cac-about-detail-body h3 {
    color: #102041;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.45rem, 1.7vw, 1.8rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.015em;
    line-height: 1.1;
    margin: 30px 0 12px;
}

.cac-about-detail-body p + p,
.cac-about-detail-body ul + p,
.cac-about-detail-body p + ul {
    margin-top: 16px;
}

.cac-about-detail-body ul {
    display: grid;
    gap: 7px;
    margin-bottom: 0;
    padding-left: 24px;
}

.cac-about-detail-body li::marker {
    color: #c91b21;
}

.cac-about-placeholder {
    color: #69737d;
}


.cac-about-detail-body a {
    color: #c91b21;
    font-weight: 700;
}

@media (max-width: 680px) {
    .cac-about-details-intro h2 {
        font-size: clamp(2.6rem, 11vw, 3.6rem);
    }

    .cac-about-detail summary {
        min-height: 72px;
    }

    .cac-about-detail summary > span:first-child {
        font-size: 1.65rem;
    }

    .cac-about-detail-body {
        padding-right: 8px;
    }
}


/* Campaigns page v2 */
.cac-campaigns-page-v2 {
    background: #ffffff;
    color: #111820;
}

.cac-campaigns-v2-shell {
    max-width: 1320px;
}

.cac-campaigns-v2-intro {
    background: linear-gradient(100deg, #021529 0%, #032245 28%, #09356f 50%, #032245 72%, #021529 100%);
    padding-block: clamp(60px, 5vw, 84px) clamp(64px, 5.4vw, 90px);
}

.cac-campaigns-v2-eyebrow,
.cac-campaigns-v2-kicker {
    font-family: var(--cac-heading-font);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.cac-campaigns-v2-eyebrow {
    color: #ff5454;
    font-size: 1.05rem;
}

.cac-campaigns-v2-intro-grid {
    align-items: center;
    display: grid;
    gap: clamp(56px, 6vw, 92px);
    grid-template-columns: minmax(0, 0.95fr) minmax(380px, 1.05fr);
    margin-top: 28px;
}

.cac-campaigns-v2-intro h1 {
    color: #ffffff;
    font-family: var(--cac-heading-font);
    font-size: clamp(4.5rem, 5.7vw, 6.4rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.052em;
    line-height: 0.95;
    margin: 0;
    max-width: 620px;
}

.cac-campaigns-v2-intro h1 span {
    color: #ff5454;
}

.cac-campaigns-v2-intro-grid > p {
    color: rgba(255, 255, 255, 0.92);
    font-size: clamp(1.24rem, 1.42vw, 1.48rem);
    line-height: 1.68;
    margin: 0;
    max-width: 700px;
}

.cac-campaigns-v2-flagship {
    background: #ffffff;
    padding-block: clamp(78px, 6.2vw, 108px);
}

.cac-campaigns-v2-flagship-grid {
    align-items: center;
    display: grid;
    gap: clamp(72px, 8vw, 120px);
    grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr);
}

.cac-campaigns-v2-kicker {
    font-size: 1.03rem;
}

.cac-campaigns-v2-kicker--red {
    color: #c91b21;
}

.cac-campaigns-v2-kicker--blue {
    color: #2e6db4;
}

.cac-campaigns-v2-flagship h2,
.cac-campaigns-v2-facts h2 {
    color: #062a5e;
    font-family: var(--cac-heading-font);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.045em;
    line-height: 0.96;
    margin: 14px 0 0;
}

.cac-campaigns-v2-flagship h2 {
    font-size: clamp(4.7rem, 5.9vw, 7rem);
}

.cac-campaigns-v2-lead {
    color: #111820;
    font-size: clamp(1.52rem, 1.8vw, 1.95rem);
    font-weight: 690;
    line-height: 1.42;
    margin: 26px 0 0;
    max-width: 610px;
}

.cac-campaigns-v2-flagship-copy > p:not(.cac-campaigns-v2-lead),
.cac-campaigns-v2-facts-copy > p {
    color: #3a4550;
    font-size: clamp(1.15rem, 1.28vw, 1.35rem);
    line-height: 1.66;
    margin: 20px 0 0;
    max-width: 670px;
}

.cac-campaigns-v2-link {
    align-items: center;
    color: #062a5e;
    display: inline-flex;
    font-family: var(--cac-heading-font);
    font-size: 1.06rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    gap: 14px;
    letter-spacing: 0.05em;
    margin-top: 30px;
    text-decoration: none;
    text-transform: uppercase;
}

.cac-campaigns-v2-link--red {
    color: #c91b21;
}

.cac-campaigns-v2-link span {
    font-size: 1.45rem;
    transition: transform 150ms ease;
}

.cac-campaigns-v2-link:hover span {
    transform: translateX(4px);
}

.cac-campaigns-v2-number {
    border-left: 1px solid #d6dde4;
    padding: clamp(22px, 2vw, 30px) 0 clamp(22px, 2vw, 30px) clamp(44px, 4vw, 66px);
}

.cac-campaigns-v2-number-value {
    color: #d7193f;
    font-family: var(--cac-heading-font);
    font-size: clamp(5.8rem, 7.4vw, 9rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.065em;
    line-height: 0.9;
    white-space: nowrap;
}

.cac-campaigns-v2-number-rule {
    background: #d7193f;
    height: 3px;
    margin-top: 28px;
    width: 56px;
}

.cac-campaigns-v2-number p {
    color: #56616c;
    font-size: 1.12rem;
    line-height: 1.58;
    margin: 18px 0 0;
    max-width: 490px;
}

.cac-campaigns-v2-facts {
    background: #eef2f6;
    border-block: 1px solid #dfe4e9;
    padding-block: clamp(82px, 6.5vw, 112px);
}

.cac-campaigns-v2-facts-grid {
    align-items: start;
    display: grid;
    gap: clamp(74px, 8vw, 122px);
    grid-template-columns: minmax(360px, 0.9fr) minmax(0, 1.1fr);
}

.cac-campaigns-v2-facts h2 {
    font-size: clamp(4rem, 5vw, 5.8rem);
    max-width: 560px;
}

.cac-campaigns-v2-examples {
    border-top: 1px solid #cfd7df;
}

.cac-campaigns-v2-example {
    border-bottom: 1px solid #cfd7df;
    padding: clamp(26px, 2.2vw, 32px) 0;
}

.cac-campaigns-v2-example-label {
    color: #2e6db4;
    font-family: var(--cac-heading-font);
    font-size: 0.98rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.cac-campaigns-v2-example p {
    color: #111820;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.78rem, 2.15vw, 2.35rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 720;
    letter-spacing: -0.025em;
    line-height: 1.18;
    margin: 10px 0 0;
    max-width: 770px;
}

.cac-campaigns-v2-close {
    display: none;
}

.cac-campaigns-v2-close p {
    display: none;
}

@media (max-width: 980px) {
    .cac-campaigns-v2-intro-grid,
    .cac-campaigns-v2-flagship-grid,
    .cac-campaigns-v2-facts-grid {
        grid-template-columns: 1fr;
    }

    .cac-campaigns-v2-intro-grid,
    .cac-campaigns-v2-flagship-grid,
    .cac-campaigns-v2-facts-grid {
        gap: 40px;
    }

    .cac-campaigns-v2-number {
        border-left: 0;
        border-top: 1px solid #d6dde4;
        padding: 34px 0 0;
    }

    .cac-campaigns-v2-number-value {
        white-space: normal;
    }
}

@media (max-width: 680px) {
    .cac-campaigns-v2-intro,
    .cac-campaigns-v2-flagship,
    .cac-campaigns-v2-facts {
        padding-block: 48px 58px;
    }

    .cac-campaigns-v2-intro h1 {
        font-size: clamp(3.5rem, 14vw, 4.8rem);
    }

    .cac-campaigns-v2-intro-grid > p,
    .cac-campaigns-v2-flagship-copy > p:not(.cac-campaigns-v2-lead),
    .cac-campaigns-v2-facts-copy > p {
        font-size: 1.12rem;
    }

    .cac-campaigns-v2-flagship h2,
    .cac-campaigns-v2-facts h2 {
        font-size: clamp(3.4rem, 14vw, 4.8rem);
    }

    .cac-campaigns-v2-lead {
        font-size: 1.38rem;
    }

    .cac-campaigns-v2-number-value {
        font-size: clamp(4.2rem, 17vw, 6.2rem);
    }

    .cac-campaigns-v2-example p {
        font-size: 1.62rem;
    }
}


/* Our Work page polish — v1.11.78 */
.cac-our-work-page .cac-campaigns-v2-intro {
    background:
        radial-gradient(ellipse at 64% 45%, #0a3b78 0%, #062A5E 38%, #031C35 72%, #00101C 100%);
    border-bottom: 0;
    padding-block: clamp(62px, 5vw, 82px) clamp(66px, 5.3vw, 88px);
}

.cac-our-work-page .cac-campaigns-v2-eyebrow {
    color: #ff4852;
}

.cac-our-work-page .cac-campaigns-v2-intro h1 {
    color: #fff;
    max-width: 590px;
}

.cac-our-work-page .cac-campaigns-v2-intro h1 span {
    color: #ff4852;
}

.cac-our-work-page .cac-campaigns-v2-intro-grid > p {
    color: rgb(255 255 255 / 0.91);
    max-width: 650px;
}

.cac-our-work-page .cac-campaigns-v2-flagship {
    padding-block: clamp(76px, 5.8vw, 98px);
}

.cac-our-work-page .cac-campaigns-v2-flagship-grid {
    gap: clamp(70px, 7.4vw, 110px);
    grid-template-columns: minmax(0, 0.98fr) minmax(400px, 1.02fr);
}

.cac-our-work-page .cac-campaigns-v2-flagship h2 {
    font-size: clamp(4.5rem, 5.45vw, 6.5rem);
}

.cac-our-work-page .cac-campaigns-v2-lead {
    font-size: clamp(1.48rem, 1.72vw, 1.85rem);
    max-width: 590px;
}

.cac-our-work-page .cac-campaigns-v2-number {
    align-self: center;
    border-left: 1px solid #d5dce3;
    padding: 20px 0 20px clamp(42px, 4vw, 62px);
}

.cac-our-work-page .cac-campaigns-v2-number-value {
    color: #d7193f;
    font-size: clamp(4.7rem, 6.05vw, 7.25rem);
    font-weight: 770;
    letter-spacing: -0.058em;
    opacity: 0.96;
}

.cac-our-work-page .cac-campaigns-v2-number-rule {
    height: 2px;
    margin-top: 24px;
    width: 48px;
}

.cac-our-work-page .cac-campaigns-v2-number p {
    color: #626c76;
    font-size: 1.05rem;
    max-width: 460px;
}

.cac-our-work-page .cac-campaigns-v2-facts {
    background: #eef3f7;
    padding-block: clamp(78px, 6vw, 102px);
}

.cac-our-work-page .cac-campaigns-v2-facts-grid {
    gap: clamp(70px, 7vw, 108px);
}

.cac-our-work-page .cac-campaigns-v2-facts h2 {
    font-size: clamp(3.85rem, 4.65vw, 5.45rem);
}

.cac-our-work-page .cac-campaigns-v2-example {
    padding: clamp(23px, 2vw, 28px) 0;
}

.cac-our-work-page .cac-campaigns-v2-example p {
    font-size: clamp(1.65rem, 1.95vw, 2.12rem);
    max-width: 720px;
}

@media (max-width: 980px) {
    .cac-our-work-page .cac-campaigns-v2-number {
        border-left: 0;
        border-top: 1px solid #d5dce3;
        padding: 32px 0 0;
    }
}

@media (max-width: 680px) {
    .cac-our-work-page .cac-campaigns-v2-intro {
        padding-block: 48px 56px;
    }

    .cac-our-work-page .cac-campaigns-v2-number-value {
        font-size: clamp(3.8rem, 16vw, 5.4rem);
    }
}


/* Our Work refinement — v1.11.79 */
.cac-our-work-page .cac-campaigns-v2-flagship-grid {
    align-items: center;
}

.cac-our-work-page .cac-work-billboard-wrap {
    align-self: center;
}

.cac-our-work-page .cac-work-billboard-scene {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 8px;
}

.cac-our-work-page .cac-work-billboard-frame {
    background: linear-gradient(180deg, #f5f7f9 0%, #d5dde5 100%);
    border-radius: 6px;
    box-shadow: 0 18px 34px rgba(17, 24, 32, 0.16);
    padding: 10px;
    width: min(100%, 660px);
}

.cac-our-work-page .cac-work-billboard-display {
    align-items: center;
    background: #22262b;
    border: 1px solid #3a4047;
    border-radius: 3px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: clamp(220px, 24vw, 300px);
    padding: 34px 22px;
    position: relative;
}

.cac-our-work-page .cac-work-billboard-copy {
    color: #d7193f;
    font-family: var(--cac-heading-font);
    font-size: clamp(4rem, 5vw, 5.9rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 780;
    letter-spacing: -0.06em;
    line-height: 1;
}

.cac-our-work-page .cac-work-billboard-meta {
    bottom: 16px;
    color: rgba(255,255,255,0.66);
    font-family: var(--cac-heading-font);
    font-size: 0.84rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 650;
    left: 20px;
    letter-spacing: 0.03em;
    position: absolute;
}

.cac-our-work-page .cac-work-billboard-pole {
    background: linear-gradient(180deg, #bfc8d0 0%, #919ca7 100%);
    border-radius: 999px;
    height: clamp(88px, 10vw, 122px);
    margin-top: 0;
    width: 14px;
}

.cac-our-work-page .cac-work-billboard-base {
    background: #c8d0d7;
    border-radius: 999px;
    height: 10px;
    margin-top: -1px;
    width: 108px;
}

.cac-our-work-page .cac-work-billboard-note {
    color: #65717c;
    font-size: 1rem;
    line-height: 1.58;
    margin: 22px auto 0;
    max-width: 610px;
    text-align: center;
}

.cac-our-work-page .cac-work-social {
    background: #ffffff;
    padding-block: clamp(80px, 6vw, 102px);
}

.cac-our-work-page .cac-work-social-grid {
    align-items: start;
    display: grid;
    gap: clamp(70px, 7vw, 108px);
    grid-template-columns: minmax(340px, 0.92fr) minmax(0, 1.08fr);
}

.cac-our-work-page .cac-work-social h2 {
    color: #062a5e;
    font-family: var(--cac-heading-font);
    font-size: clamp(3.7rem, 4.55vw, 5.25rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.045em;
    line-height: 0.96;
    margin: 14px 0 0;
}

.cac-our-work-page .cac-work-social-visual {
    display: grid;
    gap: 20px;
    grid-template-columns: 1.08fr 0.92fr;
    grid-template-areas:
        'post video'
        'post notes';
}

.cac-our-work-page .cac-work-social-card {
    background: #f6f8fb;
    border: 1px solid #d9e1e8;
    border-radius: 18px;
    box-shadow: 0 10px 24px rgba(16, 31, 46, 0.06);
    padding: 22px 22px 24px;
}

.cac-our-work-page .cac-work-social-card--post { grid-area: post; min-height: 280px; }
.cac-our-work-page .cac-work-social-card--video { grid-area: video; }
.cac-our-work-page .cac-work-social-card--notes { grid-area: notes; }

.cac-our-work-page .cac-work-social-card-top {
    margin-bottom: 16px;
}

.cac-our-work-page .cac-work-social-pill {
    color: #2e6db4;
    font-family: var(--cac-heading-font);
    font-size: 0.9rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.cac-our-work-page .cac-work-social-card p {
    color: #111820;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.55rem, 1.9vw, 2.05rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 710;
    letter-spacing: -0.026em;
    line-height: 1.2;
    margin: 0;
}

.cac-our-work-page .cac-work-social-card--video p,
.cac-our-work-page .cac-work-social-card--notes ul {
    color: #42505c;
    font-family: var(--cac-body-font);
    font-size: 1.02rem;
    font-weight: 400;
    letter-spacing: normal;
    line-height: 1.58;
}

.cac-our-work-page .cac-work-social-video-box {
    align-items: center;
    background: linear-gradient(135deg, #092c5d 0%, #0f437f 100%);
    border-radius: 14px;
    display: flex;
    height: 120px;
    justify-content: center;
    margin-bottom: 16px;
}

.cac-our-work-page .cac-work-social-play {
    border-bottom: 18px solid transparent;
    border-left: 28px solid #ffffff;
    border-top: 18px solid transparent;
    height: 0;
    margin-left: 6px;
    width: 0;
}

.cac-our-work-page .cac-work-social-card--notes ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.cac-our-work-page .cac-work-social-card--notes li {
    border-top: 1px solid #d9e1e8;
    padding: 10px 0;
}

.cac-our-work-page .cac-work-social-card--notes li:first-child {
    border-top: 0;
    padding-top: 0;
}

@media (max-width: 980px) {
    .cac-our-work-page .cac-work-social-grid {
        grid-template-columns: 1fr;
    }

    .cac-our-work-page .cac-work-social-visual {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 760px) {
    .cac-our-work-page .cac-work-social-visual {
        grid-template-columns: 1fr;
        grid-template-areas:
            'post'
            'video'
            'notes';
    }

    .cac-our-work-page .cac-work-billboard-frame {
        width: 100%;
    }

    .cac-our-work-page .cac-work-billboard-display {
        min-height: 190px;
    }

    .cac-our-work-page .cac-work-billboard-copy {
        font-size: clamp(3rem, 12vw, 4.6rem);
    }
}


/* Our Work page — v1.11.80 */
.cac-work-v3-page { background:#fff; color:#111820; }
.cac-work-v3-shell { max-width:1320px; }
.cac-work-v3-hero {
    background: radial-gradient(ellipse at 64% 45%, #0a3b78 0%, #062A5E 38%, #031C35 72%, #00101C 100%);
    color:#fff;
    padding-block:clamp(58px,4.8vw,78px) clamp(48px,4vw,64px);
}
.cac-work-v3-eyebrow,.cac-work-v3-kicker {
    font-family:var(--cac-heading-font); font-stretch:var(--cac-heading-stretch); font-weight:800; letter-spacing:.06em; text-transform:uppercase;
}
.cac-work-v3-eyebrow { color:#ff4852; font-size:1.05rem; margin-bottom:24px; }
.cac-work-v3-hero-grid { align-items:center; display:grid; gap:clamp(60px,7vw,105px); grid-template-columns:minmax(0,.96fr) minmax(380px,1.04fr); }
.cac-work-v3-hero h1 { color:#fff; font-family:var(--cac-heading-font); font-size:clamp(4.2rem,5.3vw,6.1rem); font-stretch:var(--cac-heading-stretch); font-weight:820; letter-spacing:-.05em; line-height:.95; margin:0; max-width:650px; }
.cac-work-v3-hero-copy p { color:rgb(255 255 255 / .91); font-size:clamp(1.22rem,1.38vw,1.48rem); line-height:1.68; margin:0; max-width:680px; }
.cac-work-v3-three { align-items:center; border-top:1px solid rgb(255 255 255 / .25); color:#fff; display:flex; font-family:var(--cac-heading-font); font-size:clamp(1.4rem,1.65vw,1.75rem); font-stretch:var(--cac-heading-stretch); font-weight:760; gap:14px; letter-spacing:.01em; margin-top:38px; padding-top:22px; }
.cac-work-v3-three span { background:#ff4852; display:block; height:30px; width:3px; }
.cac-work-v3-section { padding-block:clamp(76px,6vw,102px); }
.cac-work-v3-grid { align-items:center; display:grid; gap:clamp(70px,7.5vw,118px); grid-template-columns:minmax(360px,.88fr) minmax(0,1.12fr); }
.cac-work-v3-kicker { font-size:1.02rem; margin-bottom:14px; }
.cac-work-v3-kicker--red { color:#c91b21; }
.cac-work-v3-kicker--blue { color:#2e6db4; }
.cac-work-v3-copy h2 { color:#062a5e; font-family:var(--cac-heading-font); font-size:clamp(4rem,5vw,5.8rem); font-stretch:var(--cac-heading-stretch); font-weight:820; letter-spacing:-.045em; line-height:.96; margin:0; }
.cac-work-v3-copy > p { color:#3b4651; font-size:clamp(1.16rem,1.28vw,1.36rem); line-height:1.65; margin:20px 0 0; max-width:620px; }
.cac-work-v3-copy .cac-work-v3-lead { color:#111820; font-size:clamp(1.45rem,1.7vw,1.82rem); font-weight:680; line-height:1.42; margin-top:26px; }
.cac-work-v3-link { align-items:center; color:#062a5e; display:inline-flex; font-family:var(--cac-heading-font); font-size:1.04rem; font-stretch:var(--cac-heading-stretch); font-weight:800; gap:14px; letter-spacing:.045em; margin-top:28px; text-decoration:none; text-transform:uppercase; }
.cac-work-v3-link--red { color:#c91b21; }
.cac-work-v3-link span { font-size:1.4rem; transition:transform .15s ease; }
.cac-work-v3-link:hover span { transform:translateX(4px); }
.cac-work-v3-100 { background:#fff; }
.cac-work-v3-100-visual { min-width:0; }
.cac-work-v3-100-visual img { border-radius:12px; box-shadow:0 14px 34px rgb(15 30 45 / .13); display:block; height:auto; width:100%; }
.cac-work-v3-facts { background:#eef3f7; border-block:1px solid #dfe5ea; }
.cac-work-v3-fact-list { border-top:1px solid #cbd5de; }
.cac-work-v3-fact-list > div { align-items:center; border-bottom:1px solid #cbd5de; display:grid; gap:18px; grid-template-columns:42px 1fr; min-height:66px; padding:12px 2px; }
.cac-work-v3-fact-list span { align-items:center; background:#d7e3ef; border-radius:50%; color:#2e6db4; display:inline-flex; font-family:var(--cac-heading-font); font-size:.88rem; font-stretch:var(--cac-heading-stretch); font-weight:800; height:30px; justify-content:center; width:30px; }
.cac-work-v3-fact-list strong { color:#172431; font-family:var(--cac-heading-font); font-size:clamp(1.35rem,1.55vw,1.68rem); font-stretch:var(--cac-heading-stretch); font-weight:700; letter-spacing:-.015em; line-height:1.2; }
.cac-work-v3-social { background:#faf8f4; }
.cac-work-v3-publishing-visual { display:grid; gap:22px; grid-template-columns:1fr 1fr; }
.cac-work-v3-post-card,.cac-work-v3-video-card { background:#fff; border:1px solid #dce2e7; border-radius:14px; box-shadow:0 10px 24px rgb(16 31 46 / .06); overflow:hidden; }
.cac-work-v3-post-card { padding:24px; }
.cac-work-v3-post-head { align-items:center; color:#59636d; display:flex; font-size:.94rem; gap:10px; }
.cac-work-v3-brand-mark {
    display: inline-block;
    height: 16px;
    position: relative;
    width: 16px;
}

.cac-work-v3-brand-mark i {
    background: #d7193f;
    border-radius: 999px;
    display: block;
    height: 16px;
    left: 50%;
    position: absolute;
    top: 0;
    transform-origin: center;
    width: 4px;
}

.cac-work-v3-brand-mark i:first-child {
    transform: translateX(-50%) rotate(45deg);
}

.cac-work-v3-brand-mark i:last-child {
    transform: translateX(-50%) rotate(-45deg);
}
.cac-work-v3-post-body { color:#14202d; font-family:var(--cac-heading-font); font-size:clamp(1.65rem,1.9vw,2.05rem); font-stretch:var(--cac-heading-stretch); font-weight:720; line-height:1.18; margin-top:34px; }
.cac-work-v3-post-lines { display:grid; gap:8px; margin-top:36px; }
.cac-work-v3-post-lines i { background:#d8dfe5; display:block; height:5px; width:82%; }
.cac-work-v3-post-lines i:nth-child(2){ width:62%; } .cac-work-v3-post-lines i:nth-child(3){ width:74%; }
.cac-work-v3-video-screen { align-items:center; background:linear-gradient(135deg,#061d39 0%,#0c3b72 100%); display:flex; height:190px; justify-content:center; }
.cac-work-v3-video-screen span { border-bottom:20px solid transparent; border-left:32px solid #fff; border-top:20px solid transparent; height:0; margin-left:8px; width:0; }
.cac-work-v3-video-copy { color:#35414d; font-size:1.02rem; line-height:1.55; padding:20px 22px 22px; }
@media(max-width:980px){
 .cac-work-v3-hero-grid,.cac-work-v3-grid{grid-template-columns:1fr; gap:42px;}
 .cac-work-v3-publishing-visual{max-width:760px;}
 .cac-work-v3-100-visual{max-width:760px;}
}
@media(max-width:700px){
 .cac-work-v3-hero{padding-block:48px 48px;}
 .cac-work-v3-hero h1{font-size:clamp(3.4rem,13vw,4.8rem);}
 .cac-work-v3-section{padding-block:54px 62px;}
 .cac-work-v3-copy h2{font-size:clamp(3.3rem,13vw,4.7rem);}
 .cac-work-v3-publishing-visual{grid-template-columns:1fr;}
 .cac-work-v3-fact-list strong{font-size:1.28rem;}
}

/* Facts About Communism editorial panel — v1.11.86 */
.cac-work-v3-facts {
    background: #eef3f7;
    border-block: 1px solid #dfe5ea;
    isolation: auto;
    overflow: visible;
    padding-block: clamp(65px, 5.1vw, 87px);
    position: static;
}

.cac-work-v3-facts::before {
    content: none;
}

.cac-work-v3-facts .cac-work-v3-grid {
    align-items: center;
    gap: clamp(40px, 4.5vw, 66px);
    grid-template-columns: minmax(0, 476px) minmax(400px, 1fr);
}

.cac-work-v3-facts .cac-work-v3-copy {
    max-width: 560px;
    order: 2;
}

.cac-work-v3-fact-panel {
    align-self: center;
    background:
        radial-gradient(circle at 82% 18%, rgb(19 76 133 / .26), transparent 38%),
        linear-gradient(145deg, #031b35 0%, #062a5e 58%, #08264a 100%);
    border: 1px solid rgb(255 255 255 / .08);
    border-radius: 10px;
    box-shadow: 0 12px 28px rgb(9 31 54 / .12);
    color: #fff;
    justify-self: start;
    max-width: 476px;
    min-height: clamp(293px, 23.8vw, 332px);
    order: 1;
    overflow: hidden;
    padding: clamp(20px, 2vw, 27px);
    position: relative;
    width: 100%;
}

.cac-work-v3-fact-panel::after {
    border: 1px solid rgb(255 255 255 / .035);
    border-radius: 8px;
    content: "";
    inset: 7px;
    pointer-events: none;
    position: absolute;
}

.cac-work-v3-fact-panel-head {
    align-items: center;
    border-bottom: 1px solid #ef4650;
    display: flex;
    min-height: 22px;
    padding-bottom: 11px;
    position: relative;
    z-index: 1;
}

.cac-work-v3-fact-panel-head span {
    color: #ff5962;
    font-family: var(--cac-heading-font);
    font-size: .82rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.cac-work-v3-fact-panel-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    min-height: clamp(213px, 17vw, 255px);
    position: relative;
    z-index: 1;
}

.cac-work-v3-fact-panel-topic {
    align-items: center;
    display: flex;
    justify-content: center;
    min-width: 0;
    padding: clamp(18px, 1.8vw, 25px) clamp(12px, 1.6vw, 20px);
    text-align: center;
}

.cac-work-v3-fact-panel-topic:nth-child(odd) {
    border-right: 1px solid rgb(255 255 255 / .22);
}

.cac-work-v3-fact-panel-topic:nth-child(-n+2) {
    border-bottom: 1px solid rgb(255 255 255 / .22);
}

.cac-work-v3-fact-panel-topic h3 {
    color: #fff;
    font-family: var(--font-serif);
    font-size: clamp(1.55rem, 1.8vw, 2rem);
    font-weight: 600;
    letter-spacing: -.03em;
    line-height: 1.08;
    margin: 0 auto;
    max-width: 205px;
    text-align: center;
    text-wrap: balance;
}

@media(max-width:980px){
    .cac-work-v3-facts {
        padding-block: 62px 68px;
    }

    .cac-work-v3-facts .cac-work-v3-grid {
        gap: 40px;
        grid-template-columns: 1fr;
    }

    .cac-work-v3-facts .cac-work-v3-copy {
        max-width: 620px;
        order: 1;
    }

    .cac-work-v3-fact-panel {
        max-width: 527px;
        min-height: 323px;
        order: 2;
    }

    .cac-work-v3-fact-panel-grid {
        min-height: 255px;
    }
}

@media(max-width:700px){
    .cac-work-v3-facts {
        padding-block: 50px 56px;
    }

    .cac-work-v3-fact-panel {
        min-height: 0;
        padding: 22px;
    }

    .cac-work-v3-fact-panel-grid {
        display: block;
        min-height: 0;
    }

    .cac-work-v3-fact-panel-topic {
        border-bottom: 1px solid rgb(255 255 255 / .23) !important;
        border-right: 0 !important;
        justify-content: flex-start;
        min-height: 88px;
        padding: 19px 0 !important;
        text-align: left;
    }

    .cac-work-v3-fact-panel-topic:last-child {
        border-bottom: 0 !important;
    }

    .cac-work-v3-fact-panel-topic h3 {
        font-size: clamp(1.62rem, 7.3vw, 2.05rem);
        margin: 0;
        max-width: 100%;
        text-align: left;
    }
}

/* Support frequency row */
.cac-impact-frequency {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin: 18px 0 0;
    padding-top: 16px;
    border-top: 1px solid rgba(2, 34, 81, 0.16);
    color: var(--cac-blue, #022251);
    font-family: var(--cac-sans, Arial, sans-serif);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* ======================================================================
   Homepage — Latest Updates
   Three recent Ghost posts presented as proof of ongoing campaign activity.
   ====================================================================== */
/* Exact visual treatment restored from the original dashboard member strip. */
.cac-dashboard-member-strip {
    background: var(--cac-red);
    box-shadow: inset 0 1px rgb(255 255 255 / 0.14);
    color: #fff;
}

.cac-dashboard-member-strip-inner {
    align-items: center;
    display: flex;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.1rem, 1.35vw, 1.55rem);
    font-weight: 700;
    gap: 12px;
    justify-content: center;
    margin-inline: auto;
    max-width: 1180px;
    min-height: 50px;
    padding: 10px 24px;
    text-align: center;
}

.cac-dashboard-member-strip svg {
    fill: #fff;
    flex: 0 0 auto;
    height: 27px;
    width: 39px;
}

@media (max-width: 980px) {
    .cac-dashboard-member-strip-inner {
        align-items: flex-start;
        font-size: 1rem;
        text-align: left;
    }
}

.cac-updates-section {
    background: #eef1f4;
    border-bottom: 1px solid #e3e6e9;
    color: var(--cac-charcoal);
    padding-block: clamp(48px, 4.3vw, 62px) clamp(50px, 4.5vw, 64px);
}

.cac-updates-shell {
    max-width: 1320px;
}

.cac-updates-heading-row {
    align-items: baseline;
    display: flex;
    gap: 24px;
    justify-content: flex-start;
    margin-bottom: clamp(26px, 2.5vw, 34px);
}

.cac-updates-heading-row h2 {
    color: var(--cac-red);
    font-family: var(--cac-heading-font);
    font-size: clamp(1.8rem, 1.55vw, 2.15rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.045em;
    line-height: 1.12;
    margin: 0;
    text-transform: uppercase;
}

.cac-updates-intro {
    color: #3f4851;
    font-size: clamp(1.2rem, 1.35vw, 1.5rem);
    line-height: 1.5;
    margin: -12px 0 clamp(26px, 2.6vw, 36px);
    max-width: 780px;
}

.cac-updates-all span,
.cac-update-read span {
    display: inline-block;
    margin-left: 5px;
    transition: transform 160ms ease;
}

.cac-updates-all:hover span,
.cac-update-read:hover span {
    transform: translateX(3px);
}

.cac-updates-grid {
    display: grid;
    gap: clamp(16px, 1.7vw, 24px);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cac-update-card {
    background: #fff;
    border: 1px solid rgb(2 34 81 / 0.12);
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.cac-update-media {
    aspect-ratio: 16 / 6.6;
    background: #09111a;
    display: block;
    overflow: hidden;
    position: relative;
}

.cac-update-media img {
    display: block;
    height: 100%;
    object-fit: cover;
    transition: transform 260ms ease;
    width: 100%;
}

.cac-update-card:hover .cac-update-media img {
    transform: scale(1.018);
}

.cac-update-media-fallback {
    align-items: flex-start;
    background: radial-gradient(ellipse at 72% 28%, #0a326d 0%, #022251 48%, #000910 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-end;
    padding: clamp(16px, 1.6vw, 22px);
    width: 100%;
}

.cac-update-media-fallback small {
    color: rgb(255 255 255 / 0.72);
    font-family: var(--cac-heading-font);
    font-size: 0.8rem;
    font-weight: 650;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.cac-update-media-fallback strong {
    color: #fff;
    font-family: var(--cac-heading-font);
    font-size: clamp(2.15rem, 2.45vw, 3.2rem);
    font-weight: 780;
    letter-spacing: -0.04em;
    line-height: 0.95;
    margin-top: 6px;
    text-transform: uppercase;
}

.cac-update-copy {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: clamp(16px, 1.55vw, 21px);
}

.cac-update-copy time {
    color: var(--cac-red);
    font-family: var(--cac-heading-font);
    font-size: 0.9rem;
    font-weight: 720;
    letter-spacing: 0.035em;
    line-height: 1.2;
    text-transform: uppercase;
}

.cac-update-copy h3 {
    color: #0b0d10;
    font-family: var(--cac-heading-font);
    font-size: calc(clamp(1.7rem, 1.72vw, 2.2rem) * var(--cac-heading-scale));
    font-stretch: var(--cac-heading-stretch);
    font-weight: 750;
    letter-spacing: -0.032em;
    line-height: 1.05;
    margin: 8px 0 0;
}

.cac-update-copy h3 a {
    color: inherit;
    text-decoration: none;
}

.cac-update-copy h3 a:hover {
    color: var(--cac-red);
}

.cac-update-copy p {
    color: #4c5157;
    font-size: 1.02rem;
    line-height: 1.44;
    margin: 8px 0 0;
}

.cac-update-read {
    align-items: center;
    color: var(--cac-red);
    display: inline-flex;
    font-family: var(--cac-heading-font);
    font-size: 0.94rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 760;
    letter-spacing: 0.035em;
    margin-top: auto;
    padding-top: 13px;
    text-decoration: none;
    text-transform: uppercase;
}

.cac-updates-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
}

.cac-updates-all {
    color: var(--cac-red);
    flex: 0 0 auto;
    font-family: var(--cac-heading-font);
    font-size: 1.35rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.05em;
    text-decoration: none;
    text-transform: uppercase;
}

#gh-navigation.cac-navigation .cac-fixed-menu-list > .cac-fixed-menu-updates > .cac-nav-updates-link {
    overflow: visible;
    position: relative;
}

.cac-nav-update-badge {
    align-items: center;
    background: var(--cac-red);
    border-radius: 50%;
    color: #fff;
    display: none;
    font-family: var(--cac-heading-font);
    font-size: 10.5px;
    font-stretch: normal;
    font-weight: 900;
    height: 15px;
    justify-content: center;
    letter-spacing: 0;
    line-height: 1;
    min-width: 15px;
    padding: 0;
    position: absolute;
    right: -13px;
    top: -10px;
    width: 15px;
    z-index: 2;
}

.cac-nav-updates-link.is-unread .cac-nav-update-badge {
    display: inline-flex;
}

@media (max-width: 767px) {
    .cac-nav-update-badge {
        font-size: 10px;
        height: 15px;
        min-width: 15px;
        right: -13px;
        top: -10px;
        width: 15px;
    }
}

@media (max-width: 900px) {
    .cac-updates-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cac-update-card:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    .cac-update-card:last-child:nth-child(odd) .cac-update-media {
        aspect-ratio: 16 / 7;
    }
}

@media (max-width: 620px) {
    .cac-updates-section {
        padding-block: 40px 46px;
    }

    .cac-updates-heading-row {
        align-items: flex-end;
        margin-bottom: 22px;
    }

    .cac-updates-all {
        font-size: 0.92rem;
    }

    .cac-updates-grid {
        gap: 18px;
        grid-template-columns: 1fr;
    }

    .cac-update-card:last-child:nth-child(odd) {
        grid-column: auto;
    }

    .cac-update-card:last-child:nth-child(odd) .cac-update-media,
    .cac-update-media {
        aspect-ratio: 16 / 8;
    }

    .cac-update-copy h3 {
        font-size: calc(2rem * var(--cac-heading-scale));
    }
}

/* Homepage spacing normalization — v1.12.4 */
@media (max-width: 760px) {
    .cac-work-marker,
    .cac-message-marker,
    .cac-method-marker,
    .cac-action-marker {
        margin-bottom: 24px;
    }

    .cac-work-view-button {
        align-self: stretch;
        justify-content: flex-end;
        width: 100%;
    }
}

/* Updates archive */
.cac-updates-archive {
    --cac-red: #e10c14;
    background: #fff;
    color: #101820;
}

.cac-updates-archive-shell {
    max-width: 1180px;
    padding-block: clamp(58px, 6vw, 82px) clamp(66px, 6vw, 88px);
}

.cac-updates-archive-intro {
    margin-bottom: clamp(42px, 4.5vw, 58px);
    max-width: 820px;
}

.cac-updates-archive-kicker {
    color: #c91b21;
    font-family: var(--cac-heading-font);
    font-size: 1.02rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.105em;
    line-height: 1.1;
    margin: 0 0 15px;
    text-transform: uppercase;
}

.cac-updates-archive-intro h1 {
    color: #022251;
    font-family: var(--cac-heading-font);
    font-size: clamp(3.8rem, 4.85vw, 5.8rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1;
    margin: 0;
}

.cac-updates-archive-intro p {
    color: #343b43;
    font-size: clamp(1.3rem, 1.45vw, 1.58rem);
    line-height: 1.58;
    margin: 20px 0 0;
    max-width: 680px;
}

.cac-updates-archive-label,
.cac-updates-previous > h2 {
    color: #102041;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.6rem, 1.6vw, 1.9rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.035em;
    line-height: 1;
    margin: 0;
    text-transform: uppercase;
}

.cac-updates-feature-card {
    background: #f4f5f6;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.06fr);
    margin-top: 20px;
    min-height: 360px;
    overflow: hidden;
}

.cac-updates-feature-copy {
    align-self: center;
    padding: clamp(34px, 4vw, 54px);
}

.cac-updates-feature-meta {
    align-items: center;
    color: var(--cac-red);
    display: flex;
    flex-wrap: wrap;
    font-family: var(--cac-heading-font);
    font-size: 1.12rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    gap: 10px;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.cac-updates-feature-copy h2 {
    font-family: var(--cac-heading-font);
    font-size: clamp(3rem, 3.5vw, 4.35rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 790;
    letter-spacing: -0.035em;
    line-height: 1.02;
    margin: 18px 0 0;
    max-width: 590px;
}

.cac-updates-feature-copy h2 a,
.cac-updates-row-copy h3 a {
    color: #102041;
    text-decoration: none;
}

.cac-updates-feature-copy h2 a:hover,
.cac-updates-row-copy h3 a:hover {
    color: var(--cac-red);
}

.cac-updates-feature-copy > p {
    color: #343b43;
    font-size: clamp(1.28rem, 1.4vw, 1.55rem);
    line-height: 1.52;
    margin: 20px 0 0;
    max-width: 560px;
}

.cac-updates-feature-read,
.cac-updates-row-read {
    color: #102041;
    font-family: var(--cac-heading-font);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.035em;
    text-decoration-color: var(--cac-red);
    text-decoration-thickness: 1px;
    text-transform: uppercase;
    text-underline-offset: 6px;
}

.cac-updates-feature-read {
    display: inline-block;
    font-size: 1.26rem;
    margin-top: 24px;
}

.cac-updates-feature-read span,
.cac-updates-row-read span {
    color: var(--cac-red);
    margin-left: 8px;
}

.cac-updates-feature-media {
    background: #022251;
    display: block;
    min-height: 360px;
    overflow: hidden;
}

.cac-updates-feature-media img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.cac-updates-feature-fallback,
.cac-updates-row-fallback {
    align-items: flex-start;
    background: radial-gradient(circle at 70% 35%, #083d82 0, #022251 54%, #001731 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-end;
    padding: 28px;
    width: 100%;
}

.cac-updates-feature-fallback small,
.cac-updates-row-fallback small {
    font-family: var(--cac-heading-font);
    font-size: 0.86rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 700;
    letter-spacing: 0.05em;
    opacity: 0.75;
    text-transform: uppercase;
}

.cac-updates-feature-fallback strong,
.cac-updates-row-fallback strong {
    font-family: var(--cac-heading-font);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: -0.02em;
    text-transform: uppercase;
}

.cac-updates-feature-fallback strong {
    font-size: clamp(3.2rem, 4.8vw, 5.8rem);
    margin-top: 6px;
}

.cac-updates-previous {
    margin-top: clamp(42px, 4.5vw, 58px);
}

.cac-updates-previous > h2 {
    border-bottom: 1px solid #c9cfd5;
    padding-bottom: 14px;
}

.cac-updates-row {
    align-items: center;
    border-bottom: 1px solid #d5d9dd;
    display: grid;
    gap: clamp(18px, 2vw, 28px);
    grid-template-columns: 140px 176px minmax(0, 1fr) auto;
    min-height: 148px;
    padding-block: 16px;
}

.cac-updates-row-date {
    align-self: start;
    color: var(--cac-red);
    font-family: var(--cac-heading-font);
    font-size: 1.05rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.035em;
    line-height: 1.2;
    padding-top: 8px;
    text-transform: uppercase;
}

.cac-updates-row-media {
    aspect-ratio: 16 / 9;
    background: #022251;
    display: block;
    overflow: hidden;
}

.cac-updates-row-media img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.cac-updates-row-fallback {
    justify-content: center;
    padding: 16px;
}

.cac-updates-row-fallback strong {
    font-size: 2rem;
    margin-top: 4px;
}

.cac-updates-row-meta {
    color: var(--cac-red);
    font-family: var(--cac-heading-font);
    font-size: 0.98rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.045em;
    line-height: 1.2;
    margin: 0 0 7px;
    text-transform: uppercase;
}

.cac-updates-row-copy h3 {
    font-family: var(--cac-heading-font);
    font-size: clamp(1.75rem, 1.85vw, 2.18rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 780;
    letter-spacing: -0.02em;
    line-height: 1.05;
    margin: 0;
}

.cac-updates-row-copy p {
    color: #454d55;
    font-size: 1.13rem;
    line-height: 1.45;
    margin: 8px 0 0;
    max-width: 620px;
}

.cac-updates-row-read {
    font-size: 1.05rem;
    white-space: nowrap;
}

.cac-updates-pagination {
    background: #fff;
    margin-top: -36px;
    padding: 0 24px 58px;
    text-align: center;
}

.cac-updates-pagination a {
    border: 1px solid #9da5ad;
    color: #102041;
    display: inline-flex;
    font-family: var(--cac-heading-font);
    font-size: 1.35rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    gap: 12px;
    letter-spacing: 0.025em;
    padding: 14px 24px;
    text-decoration: none;
    text-transform: uppercase;
}

.cac-updates-pagination a:hover {
    border-color: var(--cac-red);
    color: var(--cac-red);
}

.cac-updates-empty {
    background: #f4f5f6;
    padding: 42px;
}

.cac-updates-empty h2 {
    color: #102041;
    font-family: var(--cac-heading-font);
    font-size: 2.5rem;
    margin: 0;
}

.cac-updates-empty p {
    color: #454d55;
    font-size: 1.3rem;
    margin: 10px 0 0;
}

.cac-updates-follow {
    --cac-red: #e10c14;
    background: #022251;
    color: #fff;
    overflow: hidden;
}

.cac-updates-follow-inner {
    padding-block: clamp(54px, 5.5vw, 78px) clamp(46px, 4.8vw, 68px);
}

.cac-updates-follow-main {
    align-items: center;
    display: grid;
    gap: clamp(44px, 6vw, 84px);
    grid-template-columns: minmax(0, 1.08fr) minmax(330px, 0.82fr);
}

.cac-updates-follow-copy {
    display: block;
    max-width: 690px;
}

.cac-updates-follow-eyebrow {
    color: var(--cac-red);
    font-family: var(--cac-heading-font);
    font-size: .9rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: .14em;
    margin-bottom: 22px;
    padding-bottom: 13px;
    position: relative;
    text-transform: uppercase;
}

.cac-updates-follow-eyebrow::after {
    background: var(--cac-red);
    bottom: 0;
    content: "";
    height: 3px;
    left: 0;
    position: absolute;
    width: 72px;
}

.cac-updates-follow-copy h2 {
    color: #fff;
    font-family: var(--cac-heading-font);
    font-size: clamp(3.15rem, 4.6vw, 5.2rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: .96;
    margin: 0;
    max-width: 670px;
    text-transform: uppercase;
}

.cac-updates-follow-copy p {
    color: rgba(255, 255, 255, .86);
    font-size: clamp(1.18rem, 1.4vw, 1.34rem);
    line-height: 1.52;
    margin: 24px 0 0;
    max-width: 670px;
}

.cac-updates-follow-form {
    align-self: center;
    width: 100%;
}

.cac-updates-follow-form-label {
    color: #fff;
    font-family: var(--cac-heading-font);
    font-size: 1rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: .12em;
    margin-bottom: 14px;
    text-transform: uppercase;
}

.cac-updates-follow-form .gh-form {
    align-items: stretch;
    background: transparent;
    border-radius: 0;
    display: grid;
    gap: 12px;
    height: auto;
    margin: 0;
    max-width: none;
    position: static;
    width: 100%;
}

.cac-updates-follow-form .gh-form:hover {
    background: transparent;
}

.cac-updates-follow-form .gh-form-input {
    background: #fff;
    border: 0;
    border-radius: 4px;
    color: #101820;
    font-size: 1.48rem;
    line-height: 1.15;
    height: 58px;
    inset: auto;
    min-height: 58px;
    padding: 0 20px;
    position: static;
    width: 100%;
}

.cac-updates-follow-form .gh-form-input::placeholder {
    color: #707984;
    font-size: 1.08rem;
    opacity: 1;
}

.cac-updates-follow-form .gh-button {
    align-items: center;
    background: var(--cac-red);
    border-radius: 4px;
    color: #fff;
    display: inline-flex;
    font-family: var(--cac-heading-font);
    font-size: 1.35rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    height: 58px;
    inset: auto;
    justify-content: center;
    min-height: 58px;
    min-width: 0;
    padding-inline: 24px;
    position: static;
    text-transform: uppercase;
    width: 100%;
}

.cac-updates-follow-form .gh-button > span:first-child {
    align-items: center;
    display: inline-flex;
    gap: 10px;
}

.cac-updates-follow-form .gh-button svg {
    height: 18px;
    position: static;
    width: 18px;
}

.cac-updates-follow-form .gh-form > p[data-members-error] {
    margin: 0;
}

.cac-updates-follow-note {
    color: rgba(255, 255, 255, .62);
    font-size: .88rem;
    margin: 11px 0 0;
}

.cac-updates-follow-benefits {
    border-top: 1px solid rgba(255, 255, 255, .17);
    display: grid;
    gap: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: clamp(46px, 5vw, 68px);
    padding-top: clamp(30px, 3.4vw, 42px);
}

.cac-updates-follow-benefit {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-width: 0;
    padding: 0 24px;
    text-align: center;
}

.cac-updates-follow-benefit:first-child {
    padding-left: 0;
}

.cac-updates-follow-benefit:last-child {
    padding-right: 0;
}

.cac-updates-follow-benefit + .cac-updates-follow-benefit {
    border-left: 1px solid rgba(255, 255, 255, .14);
}

.cac-updates-follow-benefit-icon {
    color: #fff;
    display: block;
    height: 40px;
    margin-bottom: 14px;
    width: 40px;
}

.cac-updates-follow-benefit-icon svg {
    display: block;
    height: 100%;
    width: 100%;
}

.cac-updates-follow-benefit h3 {
    color: #fff;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.16rem, 1.3vw, 1.32rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: .035em;
    line-height: 1.2;
    margin: 0;
    text-transform: uppercase;
}

body.cac-updates-archive-view #gh-navigation.cac-navigation .cac-nav-updates-link {
    color: var(--cac-red);
}

body.cac-updates-archive-view #gh-navigation.cac-navigation .cac-nav-updates-link::after {
    background: var(--cac-red);
    bottom: -13px;
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    right: 0;
}

body.cac-updates-archive-view .cac-footer-signup {
    display: none;
}

body.cac-updates-archive-view .cac-footer-grid {
    grid-template-columns: minmax(0, 1.25fr) minmax(220px, 0.75fr);
}

@media (max-width: 900px) {
    .cac-updates-feature-card {
        grid-template-columns: 1fr;
    }

    .cac-updates-feature-media {
        min-height: 300px;
        order: -1;
    }

    .cac-updates-row {
        grid-template-columns: 118px 150px minmax(0, 1fr);
    }

    .cac-updates-row-read {
        grid-column: 3;
        justify-self: start;
        margin-top: -6px;
    }

    .cac-updates-follow-main {
        gap: 38px;
        grid-template-columns: 1fr;
    }

    .cac-updates-follow-copy {
        max-width: 760px;
    }

    .cac-updates-follow-form {
        max-width: 620px;
    }

    .cac-updates-follow-benefits {
        gap: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 28px;
    }

    .cac-updates-follow-benefit {
        padding-inline: 22px;
    }

    .cac-updates-follow-benefit:nth-child(odd) {
        border-left: 0;
        padding-left: 0;
    }
}

@media (max-width: 650px) {
    .cac-updates-archive-shell {
        padding-block: 44px 54px;
    }

    .cac-updates-archive-kicker {
        font-size: .96rem;
        margin-bottom: 12px;
    }

    .cac-updates-archive-intro h1 {
        font-size: clamp(3.25rem, 12vw, 4.65rem);
        line-height: 1.02;
    }

    .cac-updates-feature-copy {
        padding: 28px 24px 32px;
    }

    .cac-updates-feature-media {
        min-height: 220px;
    }

    .cac-updates-row {
        align-items: start;
        gap: 12px 16px;
        grid-template-columns: 112px minmax(0, 1fr);
        padding-block: 20px;
    }

    .cac-updates-row-date {
        grid-column: 1 / -1;
        padding-top: 0;
    }

    .cac-updates-row-media {
        grid-column: 1;
    }

    .cac-updates-row-copy {
        grid-column: 2;
    }

    .cac-updates-row-copy p {
        display: none;
    }

    .cac-updates-row-read {
        grid-column: 2;
        margin-top: 0;
    }

    .cac-updates-follow-inner {
        padding-block: 46px 42px;
    }

    .cac-updates-follow-main {
        gap: 32px;
    }

    .cac-updates-follow-eyebrow {
        margin-bottom: 18px;
    }

    .cac-updates-follow-copy h2 {
        font-size: clamp(3rem, 13vw, 4.15rem);
    }

    .cac-updates-follow-copy p {
        font-size: 1.12rem;
        line-height: 1.5;
        margin-top: 20px;
    }

    .cac-updates-follow-benefits {
        grid-template-columns: 1fr;
        margin-top: 38px;
        padding-top: 24px;
        row-gap: 0;
    }

    .cac-updates-follow-benefit,
    .cac-updates-follow-benefit:first-child,
    .cac-updates-follow-benefit:last-child,
    .cac-updates-follow-benefit:nth-child(odd) {
        border-left: 0;
        padding: 18px 0;
    }

    .cac-updates-follow-benefit + .cac-updates-follow-benefit {
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, .12);
    }

    body.cac-updates-archive-view .cac-footer-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .cac-footer-main {
        padding-block: 30px 24px;
    }

    .cac-footer-logo img {
        max-height: 58px;
        max-width: 230px;
    }

    .cac-footer-nav {
        gap: 16px 24px;
    }

    .cac-footer-nav a {
        font-size: 1.15rem;
    }

    .cac-footer-legal-inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        padding-block: 18px 20px;
    }

    .cac-footer-legal nav {
        gap: 18px;
    }
}


/* Support page v1.12.33 */

.cac-support-page {
    background: #fff;
    color: #101821;
}

.cac-support-shell {
    max-width: 1180px;
}

.cac-support-hero .cac-support-shell {
    max-width: 1360px;
}

.cac-support-hero {
    background:
        radial-gradient(circle at 34% 28%, rgba(12, 70, 139, 0.92) 0%, rgba(6, 42, 94, 0.88) 22%, rgba(2, 24, 48, 0.98) 68%, #01101d 100%);
    color: #fff;
    overflow: hidden;
}

.cac-support-hero-grid {
    align-items: stretch;
    display: grid;
    gap: clamp(44px, 4.2vw, 72px);
    grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr);
    min-height: clamp(540px, 45vw, 680px);
    padding-block: clamp(56px, 5.2vw, 82px);
}

.cac-support-hero-grid--no-image {
    grid-template-columns: minmax(0, 760px);
    justify-content: center;
    min-height: clamp(420px, 36vw, 520px);
}

.cac-support-hero-copy {
    align-self: center;
    max-width: 650px;
}

.cac-support-kicker {
    color: #ff394b;
    font-family: var(--cac-heading-font);
    font-size: 0.96rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    letter-spacing: 0.09em;
    margin-bottom: 18px;
    text-transform: uppercase;
}

.cac-support-hero-copy h1 {
    color: #fff;
    font-family: var(--font-serif), Georgia, "Times New Roman", serif !important;
    font-size: clamp(4.4rem, 5.1vw, 6.9rem);
    font-weight: 700;
    letter-spacing: -0.05em;
    line-height: 0.94;
    margin: 0;
    max-width: 640px;
    text-transform: none;
}

.cac-support-hero-lead {
    color: rgb(255 255 255 / 0.92);
    font-size: clamp(1.22rem, 1.35vw, 1.54rem);
    line-height: 1.6;
    margin: 30px 0 0;
    max-width: 590px;
}

.cac-support-hero-rule {
    background: #e10c14;
    display: block;
    height: 4px;
    margin-top: 30px;
    width: 56px;
}

.cac-support-hero-emphasis {
    color: #fff;
    font-size: clamp(1.34rem, 1.55vw, 1.76rem);
    font-weight: 770;
    line-height: 1.42;
    margin: 18px 0 0;
    max-width: 620px;
}

.cac-support-hero-media {
    align-self: stretch;
    border: 1px solid rgb(255 255 255 / 0.16);
    border-radius: 0;
    box-shadow: 0 28px 76px rgb(0 0 0 / 0.34);
    margin: 0;
    min-height: 420px;
    overflow: hidden;
    position: relative;
}

.cac-support-hero-media::after {
    background: linear-gradient(90deg, rgb(1 22 42 / 0.26), transparent 30%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.cac-support-hero-media img {
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.cac-support-possibility {
    background: #fff;
    padding-block: clamp(74px, 5.8vw, 96px) clamp(76px, 6vw, 98px);
}

.cac-support-section-heading,
.cac-support-options-heading {
    text-align: center;
}

.cac-support-section-heading h2,
.cac-support-options-heading h2 {
    color: #071d3d;
    font-family: var(--font-serif), Georgia, "Times New Roman", serif !important;
    font-size: clamp(3.8rem, 4vw, 5.5rem);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 0.98;
    margin: 0;
    text-transform: none;
}

.cac-support-section-rule {
    background: #e10c14;
    display: block;
    height: 4px;
    margin: 18px auto 0;
    width: 50px;
}

.cac-support-possibility-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: clamp(48px, 4vw, 62px);
}

.cac-support-possibility-item {
    padding: 0 clamp(34px, 3.4vw, 54px);
    position: relative;
    text-align: center;
}

.cac-support-possibility-item + .cac-support-possibility-item {
    border-left: 1px solid #d7dde4;
}

.cac-support-possibility-icon {
    align-items: center;
    background: #062a5e;
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    height: 74px;
    justify-content: center;
    width: 74px;
}

.cac-support-possibility-icon--red {
    background: #c8102e;
}

.cac-support-possibility-icon svg {
    height: 38px;
    width: 38px;
}

.cac-support-possibility-item h3 {
    color: #0b1b31;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.72rem, 1.85vw, 2.08rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -0.02em;
    margin: 20px 0 0;
    text-transform: uppercase;
}

.cac-support-possibility-item p {
    color: #3d4752;
    font-size: clamp(1.12rem, 1.18vw, 1.28rem);
    line-height: 1.64;
    margin: 14px auto 0;
    max-width: 348px;
}

.cac-support-options {
    background: #eef2f6;
    border-top: 1px solid #e0e5ea;
    padding-block: clamp(76px, 6vw, 98px) clamp(88px, 7vw, 118px);
}

.cac-support-options-heading p {
    color: #47525e;
    font-size: clamp(1.24rem, 1.28vw, 1.4rem);
    line-height: 1.56;
    margin: 14px auto 0;
    max-width: 650px;
}

.cac-support-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: clamp(34px, 3vw, 44px) auto 0;
    max-width: 980px;
}

.cac-support-tab {
    appearance: none;
    background: #f8fafc;
    border: 1px solid #d6dce3;
    color: #102041;
    cursor: pointer;
    min-height: 88px;
    padding: 15px 20px;
    text-align: center;
    transition: background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.cac-support-tab:first-child { border-radius: 10px 0 0 10px; }
.cac-support-tab:last-child { border-radius: 0 10px 10px 0; }
.cac-support-tab + .cac-support-tab { border-left: 0; }
.cac-support-tab strong, .cac-support-tab span { display: block; }

.cac-support-tab strong {
    font-family: var(--cac-heading-font);
    font-size: 1.52rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 830;
    letter-spacing: 0.012em;
    text-transform: uppercase;
}

.cac-support-tab span {
    color: #5f6974;
    font-size: 1.12rem;
    margin-top: 6px;
}

.cac-support-tab.is-active {
    background: #041b35;
    border-color: #041b35;
    color: #fff;
}

.cac-support-tab.is-active span { color: rgb(255 255 255 / 0.82); }

.cac-support-amount-grid {
    display: grid;
    gap: clamp(16px, 1.8vw, 24px);
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: 26px;
}

.cac-support-amount-grid.is-monthly {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cac-support-amount-card[hidden] {
    display: none !important;
}

.cac-support-amount-card {
    background: #fff;
    border: 1px solid #d7dde4;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgb(16 32 65 / 0.055);
    display: flex;
    flex-direction: column;
    min-height: 300px;
    padding: 24px 18px 18px;
    position: relative;
    text-align: center;
}

.cac-support-recommended {
    background: #fff;
    border: 1px solid #c8102e;
    border-radius: 999px;
    color: #c8102e;
    font-family: var(--cac-heading-font);
    font-size: 0.72rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    left: 50%;
    letter-spacing: 0.08em;
    line-height: 1;
    padding: 5px 10px 4px;
    position: absolute;
    text-transform: uppercase;
    top: -12px;
    transform: translateX(-50%);
    white-space: nowrap;
}

.cac-support-price {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    border-bottom: 1px solid #e3e8ed;
    min-height: 70px;
    padding-bottom: 14px;
}

.cac-support-price-value {
    color: #07111d;
    font-family: var(--cac-heading-font);
    font-size: clamp(3.3rem, 3.4vw, 4.25rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 840;
    letter-spacing: -0.055em;
    line-height: 0.94;
}

.cac-support-price-period,
.cac-support-custom-period {
    color: #4f5964;
    font-size: 0.98rem;
    white-space: nowrap;
}

.cac-support-card-copy,
.cac-support-custom-copy {
    color: #36414c;
    font-size: 1.22rem;
    line-height: 1.5;
    margin: 16px auto 20px;
    max-width: 195px;
    min-height: 72px;
}

.cac-support-select {
    align-items: center;
    background: #c8102e;
    border-radius: 5px;
    color: #fff;
    display: inline-flex;
    font-family: var(--cac-heading-font);
    font-size: 1.35rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    justify-content: center;
    letter-spacing: 0.025em;
    margin-top: 0;
    min-height: 50px;
    padding: 0 16px;
    text-decoration: none;
    text-transform: uppercase;
}

.cac-support-select:hover { background: #a80d27; color: #fff; }

.cac-support-custom-label {
    align-items: baseline;
    border-bottom: 1px solid #e3e8ed;
    color: #07111d;
    display: flex;
    font-family: var(--cac-heading-font);
    font-size: clamp(3.15rem, 3.25vw, 4rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 840;
    justify-content: center;
    letter-spacing: -0.05em;
    line-height: 0.94;
    margin-bottom: 0;
    min-height: 70px;
    padding-bottom: 14px;
    text-transform: none;
}

.cac-support-custom-input-wrap {
    align-items: center;
    background: #f7f9fb;
    border: 1px solid #d6dde4;
    border-radius: 7px;
    display: grid;
    gap: 6px;
    grid-template-columns: auto minmax(48px, 1fr) auto;
    min-height: 52px;
    padding: 0 12px;
}

.cac-support-custom-input-wrap > span:first-child {
    color: #102041;
    font-family: var(--cac-heading-font);
    font-size: 1.32rem;
    font-weight: 820;
}

.cac-support-custom-input-wrap input {
    background: transparent;
    border: 0;
    color: #111820;
    font-size: 1.06rem;
    height: 46px;
    min-width: 0;
    outline: 0;
    padding: 0;
    width: 100%;
}

.cac-support-custom-limit {
    color: #626d77;
    font-size: 0.94rem;
    line-height: 1.35;
    margin: 8px 0 18px;
}

.cac-support-custom-entry[hidden] {
    display: none;
}

.cac-support-amount-card--custom:not(.is-editing) .cac-support-custom-copy {
    margin-top: 16px;
}

.cac-support-amount-card--custom.is-editing .cac-support-custom-copy {
    margin-bottom: 14px;
    min-height: 0;
}

.cac-support-amount-card--custom.is-editing .cac-support-custom-entry {
    display: block;
    margin-bottom: 14px;
}

.cac-support-checkout-note {
    color: #69737d;
    font-size: 1rem;
    margin: 18px 0 0;
    text-align: center;
}

.cac-support-assurance-grid {
    border: 1px solid #d6dde4;
    border-radius: 10px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: clamp(40px, 4vw, 54px);
    overflow: hidden;
}

.cac-support-assurance {
    align-items: flex-start;
    background: rgb(255 255 255 / 0.62);
    display: grid;
    gap: 18px;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 26px 28px;
}

.cac-support-assurance + .cac-support-assurance { border-left: 1px solid #d6dde4; }

.cac-support-assurance-icon {
    color: #c8102e;
    display: inline-flex;
    height: 36px;
    width: 36px;
}

.cac-support-assurance-icon svg { height: 100%; width: 100%; }

.cac-support-assurance strong {
    color: #102041;
    font-family: var(--cac-heading-font);
    font-size: 1.15rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}

.cac-support-assurance p {
    color: #47525d;
    font-size: 1.02rem;
    line-height: 1.55;
    margin: 6px 0 0;
}

.cac-support-assurance a {
    color: #c8102e;
    font-weight: 750;
    text-decoration: none;
}

.cac-support-assurance a:hover {
    text-decoration: underline;
}

.cac-support-large-gift {
    align-items: center;
    background: linear-gradient(90deg, #00182c, #062a5e);
    border-radius: 8px;
    color: #fff;
    display: flex;
    gap: 30px;
    justify-content: space-between;
    margin-top: 24px;
    padding: 24px 28px;
}

.cac-support-large-gift-copy {
    align-items: center;
    display: flex;
    gap: 18px;
}

.cac-support-large-gift-icon {
    align-items: center;
    background: rgb(255 255 255 / 0.12);
    border-radius: 50%;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.5rem;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.cac-support-large-gift strong {
    display: block;
    font-size: 1.24rem;
    font-weight: 800;
}

.cac-support-large-gift p {
    color: rgb(255 255 255 / 0.84);
    font-size: 1.06rem;
    line-height: 1.45;
    margin: 4px 0 0;
}

.cac-support-contact-button {
    align-items: center;
    border: 1px solid rgb(255 255 255 / 0.8);
    border-radius: 5px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-family: var(--cac-heading-font);
    font-size: 1.35rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 800;
    justify-content: center;
    letter-spacing: 0.025em;
    min-height: 50px;
    padding: 0 28px;
    text-decoration: none;
    text-transform: uppercase;
}

.cac-support-contact-button:hover { background: #fff; color: #062a5e; }

@media (max-width: 1180px) {
    .cac-support-hero-grid {
        grid-template-columns: minmax(0, 0.96fr) minmax(360px, 1.04fr);
    }

    .cac-support-amount-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cac-support-amount-grid.is-monthly {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .cac-support-amount-card--custom {
        grid-column: span 2;
    }

    .cac-support-amount-grid.is-monthly .cac-support-amount-card--custom {
        grid-column: auto;
    }
}

@media (max-width: 900px) {
    .cac-support-hero-grid {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .cac-support-hero-grid--no-image {
        justify-content: start;
    }

    .cac-support-hero-copy {
        max-width: 760px;
    }

    .cac-support-hero-media {
        aspect-ratio: 16 / 9;
        min-height: 0;
    }

    .cac-support-amount-grid.is-monthly {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cac-support-possibility-grid {
        gap: 34px;
        grid-template-columns: 1fr;
    }

    .cac-support-possibility-item {
        padding: 0;
    }

    .cac-support-possibility-item + .cac-support-possibility-item {
        border-left: 0;
        border-top: 1px solid #d7dde4;
        padding-top: 34px;
    }

    .cac-support-assurance-grid {
        grid-template-columns: 1fr;
    }

    .cac-support-assurance + .cac-support-assurance {
        border-left: 0;
        border-top: 1px solid #d6dde4;
    }
}

@media (max-width: 680px) {
    .cac-support-hero-grid {
        gap: 34px;
        padding-block: 46px 54px;
    }

    .cac-support-hero-copy h1 {
        font-size: clamp(3.3rem, 11vw, 4.4rem);
    }

    .cac-support-tabs { grid-template-columns: 1fr; }

    .cac-support-tab,
    .cac-support-tab:first-child,
    .cac-support-tab:last-child { border-radius: 0; }

    .cac-support-tab:first-child { border-radius: 8px 8px 0 0; }
    .cac-support-tab:last-child { border-radius: 0 0 8px 8px; }
    .cac-support-tab + .cac-support-tab {
        border-left: 1px solid #d6dce3;
        border-top: 0;
    }

    .cac-support-amount-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cac-support-amount-card--custom { grid-column: span 2; }
    .cac-support-amount-grid.is-monthly .cac-support-amount-card--custom { grid-column: auto; }

    .cac-support-large-gift {
        align-items: stretch;
        flex-direction: column;
    }

    .cac-support-contact-button { width: 100%; }
}

@media (max-width: 460px) {
    .cac-support-amount-grid,
    .cac-support-amount-grid.is-monthly { grid-template-columns: 1fr; }
    .cac-support-amount-card--custom { grid-column: auto; }
    .cac-support-assurance { grid-template-columns: 1fr; }
}


/* ======================================================================
   Featured homepage hero — v1.12.54
   The newest Ghost-featured post becomes the homepage lead story.
   ====================================================================== */
.cac-featured-hero {
    background: #07182d;
    color: #fff;
    min-height: clamp(500px, 55vw, 720px);
    overflow: hidden;
    position: relative;
}

.cac-featured-hero-image {
    display: block;
    height: 100%;
    inset: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    width: 100%;
}

.cac-featured-hero-shade {
    background:
        linear-gradient(90deg, rgb(0 12 29 / 0.88) 0%, rgb(0 12 29 / 0.60) 42%, rgb(0 12 29 / 0.16) 74%, rgb(0 12 29 / 0.08) 100%),
        linear-gradient(0deg, rgb(0 8 20 / 0.72) 0%, transparent 54%);
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.cac-featured-hero--no-image {
    background:
        radial-gradient(circle at 75% 20%, rgb(33 76 125 / 0.48), transparent 42%),
        #041b37;
}

.cac-featured-hero--no-image .cac-featured-hero-shade {
    background: linear-gradient(90deg, rgb(0 9 23 / 0.34), transparent 72%);
}

.cac-featured-hero-shell {
    align-items: flex-end;
    display: flex;
    min-height: clamp(500px, 55vw, 720px);
    position: relative;
    z-index: 2;
}

.cac-featured-hero-content {
    max-width: 900px;
    padding-block: clamp(70px, 8vw, 108px) clamp(58px, 7vw, 92px);
}

.cac-featured-hero-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin-bottom: 18px;
}

.cac-featured-hero-featured,
.cac-featured-hero-category {
    font-family: var(--cac-heading-font);
    font-size: 1.35rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 780;
    letter-spacing: 0.11em;
    line-height: 1;
    text-transform: uppercase;
}

.cac-featured-hero-featured {
    color: #fff;
}

.cac-featured-hero-category {
    color: rgb(255 255 255 / 0.78);
}

.cac-featured-hero-divider {
    background: var(--cac-red);
    height: 3px;
    width: 26px;
}

.cac-featured-hero h1 {
    color: #fff;
    font-family: var(--cac-heading-font);
    font-size: clamp(4rem, 6.2vw, 8rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 780;
    letter-spacing: -0.047em;
    line-height: 0.94;
    margin: 0;
    max-width: 900px;
    text-wrap: balance;
}

.cac-featured-hero h1 a {
    color: inherit;
    text-decoration: none;
}

.cac-featured-hero-excerpt {
    color: rgb(255 255 255 / 0.90);
    font-size: clamp(1.45rem, 1.5vw, 1.8rem);
    line-height: 1.42;
    margin: 22px 0 0;
    max-width: 710px;
}

.cac-featured-hero-link {
    align-items: center;
    border-bottom: 2px solid var(--cac-red);
    color: #fff;
    display: inline-flex;
    font-family: var(--cac-heading-font);
    font-size: 1.13rem;
    font-stretch: var(--cac-heading-stretch);
    font-weight: 780;
    gap: 10px;
    letter-spacing: 0.075em;
    line-height: 1;
    margin-top: 28px;
    padding-bottom: 7px;
    text-decoration: none;
    text-transform: uppercase;
}

.cac-featured-hero-link span {
    transition: transform 160ms ease;
}

.cac-featured-hero-link:hover span {
    transform: translateX(4px);
}

@media (max-width: 800px) {
    .cac-featured-hero,
    .cac-featured-hero-shell {
        min-height: clamp(500px, 112vw, 660px);
    }

    .cac-featured-hero-shade {
        background:
            linear-gradient(0deg, rgb(0 10 25 / 0.92) 0%, rgb(0 10 25 / 0.62) 48%, rgb(0 10 25 / 0.18) 100%);
    }

    .cac-featured-hero-content {
        max-width: 100%;
        padding-block: 70px 54px;
    }

    .cac-featured-hero h1 {
        font-size: clamp(3.6rem, 11.5vw, 6rem);
        line-height: 0.96;
    }

    .cac-featured-hero-excerpt {
        font-size: 1.4rem;
        margin-top: 18px;
        max-width: 620px;
    }
}

@media (max-width: 480px) {
    .cac-featured-hero,
    .cac-featured-hero-shell {
        min-height: 520px;
    }

    .cac-featured-hero-content {
        padding-block: 54px 46px;
    }

    .cac-featured-hero-meta {
        margin-bottom: 15px;
    }

    .cac-featured-hero-featured,
    .cac-featured-hero-category {
        font-size: 0.98rem;
        letter-spacing: 0.09em;
    }

    .cac-featured-hero h1 {
        font-size: clamp(3.3rem, 12.5vw, 4.6rem);
    }

    .cac-featured-hero-excerpt {
        font-size: 1.3rem;
        line-height: 1.38;
    }

    .cac-featured-hero-link {
        margin-top: 24px;
    }
}

/* v1.12.59: simplified Support the Work CTA placement */
.cac-action-cta--right {
    margin-top: clamp(28px, 3vw, 40px);
}

/* ======================================================================
   v1.12.62 — Homepage air / spacing pass
   Desktop-only rhythm refinement. Content, hierarchy, and hero are unchanged.
   ====================================================================== */
@media (min-width: 761px) {
    .cac-work-section {
        padding-block: clamp(78px, 6.8vw, 102px) clamp(84px, 7.2vw, 110px);
    }

    .cac-work-marker {
        margin-bottom: clamp(34px, 3vw, 42px);
    }

    .cac-work-opening {
        gap: clamp(60px, 7vw, 104px);
    }

    .cac-updates-section {
        padding-block: clamp(70px, 6.1vw, 84px) clamp(82px, 7vw, 98px);
    }

    .cac-updates-heading-row {
        margin-bottom: clamp(34px, 3.1vw, 44px);
    }

    .cac-updates-intro {
        margin-bottom: clamp(40px, 3.7vw, 52px);
    }

    .cac-updates-footer {
        margin-top: clamp(28px, 2.7vw, 38px);
    }

    .cac-updates-subscribe .cac-action-subscribe-inner {
        padding-block: clamp(34px, 3.2vw, 44px);
    }

    .cac-message-section {
        padding-block: clamp(68px, 5.8vw, 86px) clamp(74px, 6.2vw, 94px);
    }

    .cac-message-marker {
        margin-bottom: clamp(30px, 2.7vw, 38px);
    }

    .cac-message-layout {
        gap: clamp(82px, 9.5vw, 140px);
    }

    .cac-method-section {
        padding-block: clamp(98px, 8.5vw, 124px) clamp(112px, 9.8vw, 142px);
    }

    .cac-method-marker {
        margin-bottom: clamp(40px, 3.7vw, 50px);
    }

    .cac-method-opening {
        gap: clamp(68px, 8vw, 118px);
        padding-bottom: clamp(56px, 5.3vw, 72px);
    }

    .cac-method-milestones {
        padding-top: clamp(50px, 4.7vw, 64px);
    }

    .cac-action-section {
        padding-block: clamp(108px, 9.4vw, 136px) clamp(132px, 11.5vw, 164px);
    }

    .cac-action-grid {
        gap: clamp(64px, 7vw, 100px);
    }

    .cac-action-marker {
        margin-bottom: clamp(40px, 3.7vw, 50px);
    }

    .cac-action-copy {
        margin-top: clamp(36px, 3.4vw, 44px);
    }

    .cac-action-flow {
        margin-top: clamp(48px, 4.5vw, 58px);
    }

    .cac-action-cta--right {
        margin-top: clamp(42px, 4vw, 54px);
    }

    .cac-footer-main {
        padding-block: clamp(58px, 4.8vw, 70px) clamp(40px, 3.5vw, 50px);
    }
}

/* Welcome page — post-confirmation member landing page */
.cac-welcome-page {
    --cac-red: #e10c14;
    background: #fff;
    color: #111317;
}

.cac-welcome-hero {
    padding-block: clamp(72px, 8vw, 118px) clamp(84px, 9vw, 132px);
}

.cac-welcome-shell {
    align-items: center;
    display: flex;
    flex-direction: column;
    max-width: 840px;
    text-align: center;
}

.cac-welcome-mark {
    height: 74px;
    margin-bottom: 30px;
    position: relative;
    width: 74px;
}

.cac-welcome-mark span {
    background: var(--cac-red);
    border-radius: 1px;
    height: 10px;
    left: 4px;
    position: absolute;
    top: 32px;
    width: 66px;
}

.cac-welcome-mark span:first-child {
    transform: rotate(45deg);
}

.cac-welcome-mark span:last-child {
    transform: rotate(-45deg);
}

.cac-welcome-page h1 {
    color: #022251;
    font-family: var(--cac-heading-font);
    font-size: clamp(4.3rem, 7vw, 7.4rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -.045em;
    line-height: .94;
    margin: 0;
    max-width: 820px;
    text-transform: uppercase;
}

.cac-welcome-confirmation {
    color: var(--cac-red);
    font-family: var(--cac-heading-font);
    font-size: clamp(1.28rem, 1.45vw, 1.55rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: .055em;
    margin: 30px 0 0;
    text-transform: uppercase;
}

.cac-welcome-intro {
    color: #27313c;
    font-size: clamp(1.55rem, 1.8vw, 1.85rem);
    line-height: 1.55;
    margin: 20px auto 0;
    max-width: 730px;
}

.cac-welcome-card {
    align-items: center;
    background: #f7f8fa;
    border: 1px solid #e2e7ec;
    display: grid;
    gap: 28px;
    grid-template-columns: 62px minmax(0, 1fr);
    margin-top: clamp(44px, 5vw, 60px);
    padding: 30px 34px;
    text-align: left;
    width: min(100%, 720px);
}

.cac-welcome-card-icon {
    color: var(--cac-red);
    display: block;
    height: 52px;
    width: 52px;
}

.cac-welcome-card-icon svg {
    display: block;
    height: 100%;
    width: 100%;
}

.cac-welcome-card-copy h2 {
    color: #022251;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.8rem, 2.1vw, 2.25rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    letter-spacing: -.01em;
    line-height: 1.05;
    margin: 0;
    text-transform: uppercase;
}

.cac-welcome-card-copy p {
    color: #39434d;
    font-size: clamp(1.35rem, 1.55vw, 1.55rem);
    line-height: 1.5;
    margin: 10px 0 0;
}

.cac-welcome-button {
    align-items: center;
    background: var(--cac-red);
    border-radius: 3px;
    color: #fff;
    display: inline-flex;
    font-family: var(--cac-heading-font);
    font-size: clamp(1.2rem, 1.4vw, 1.42rem);
    font-stretch: var(--cac-heading-stretch);
    font-weight: 820;
    gap: 14px;
    justify-content: center;
    letter-spacing: .035em;
    margin-top: 24px;
    min-height: 58px;
    padding: 0 30px;
    text-decoration: none;
    text-transform: uppercase;
}

.cac-welcome-button:hover {
    color: #fff;
    opacity: .9;
}

.cac-welcome-button span {
    font-size: 1.45em;
    line-height: 1;
    transform: translateY(-1px);
}

.cac-welcome-manage {
    color: #6a727a;
    font-size: 1.15rem;
    line-height: 1.5;
    margin: 24px 0 0;
}

.cac-welcome-manage a {
    color: #495866;
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (max-width: 640px) {
    .cac-welcome-hero {
        padding-block: 56px 76px;
    }

    .cac-welcome-mark {
        height: 58px;
        margin-bottom: 24px;
        width: 58px;
    }

    .cac-welcome-mark span {
        height: 8px;
        left: 3px;
        top: 25px;
        width: 52px;
    }

    .cac-welcome-page h1 {
        font-size: clamp(3.65rem, 14vw, 5rem);
    }

    .cac-welcome-intro {
        font-size: 1.45rem;
    }

    .cac-welcome-card {
        gap: 16px;
        grid-template-columns: 46px minmax(0, 1fr);
        padding: 24px 22px;
    }

    .cac-welcome-card-icon {
        height: 42px;
        width: 42px;
    }

    .cac-welcome-card-copy h2 {
        font-size: 1.75rem;
    }

    .cac-welcome-card-copy p {
        font-size: 1.28rem;
    }

    .cac-welcome-button {
        font-size: 1.18rem;
        padding-inline: 22px;
        width: 100%;
    }
}
