@font-face {
    font-display: swap;
    font-family: 'Druk Heavy';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/Druk-Bold.otf') format('opentype');
}

@font-face {
    font-display: swap;
    font-family: 'Filming Bold';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/Filming-Bold.otf') format('opentype');
}

@font-face {
    font-display: swap;
    font-family: 'Druk Super';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/Druk Super.otf') format('opentype');
}

@font-face {
    font-display: swap;
    font-family: 'Druk Medium';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/Druk Text-Medium.otf') format('opentype');
}

@font-face {
    font-display: swap;
    font-family: 'TeX Gyre Termes';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/texgyretermes-regular.otf') format('opentype');
}

@font-face {
    font-display: swap;
    font-family: 'TeX Gyre Termes';
    font-style: italic;
    font-weight: 400;
    src: url('../fonts/texgyretermes-italic.otf') format('opentype');
}

@font-face {
    font-display: swap;
    font-family: 'TeX Gyre Termes';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/texgyretermes-bold.otf') format('opentype');
}

@font-face {
    font-display: swap;
    font-family: 'TeX Gyre Termes';
    font-style: italic;
    font-weight: 700;
    src: url('../fonts/texgyretermes-bolditalic.otf') format('opentype');
}

@font-face {
    font-display: swap;
    font-family: 'Commit Mono';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/CommitMono-400-Regular.otf') format('opentype');
}

@font-face {
    font-display: swap;
    font-family: 'Commit Mono';
    font-style: italic;
    font-weight: 400;
    src: url('../fonts/CommitMono-400-Italic.otf') format('opentype');
}

@font-face {
    font-display: swap;
    font-family: 'Commit Mono';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/CommitMono-700-Regular.otf') format('opentype');
}

@font-face {
    font-display: swap;
    font-family: 'Commit Mono';
    font-style: italic;
    font-weight: 700;
    src: url('../fonts/CommitMono-700-Italic.otf') format('opentype');
}

body.is-campaign {
    --borderWidth: 2px;
    --color-silver: #e1e1e1;
    --color-silicon: #333;
    --color-highlight: #ff9600;
    --color-base: var(--color-silicon);
    --color-text-light: var(--color-silver);
    --type-technical: 'Commit Mono', monospace;

    line-height: 1.25;
}

.Campaign {
    display: grid;
    gap: 0;
    font-family: 'TeX Gyre Termes', serif;
    grid-template-columns: minmax(0, 1fr);
    padding-top: 200px;
    text-align: center;
}

.is-campaign p, .is-campaign li {
    font-family: 'TeX Gyre Termes', serif;
    font-size: 1.2rem;
}

body.is-campaign main {
    background: var(--color-silver);
}

body.is-campaign .SiteHeader {
    background: var(--color-silver);
    width: 100%;
    z-index: 1000;
    padding: .5rem max(var(--layout-site-gutter), calc((100vw - var(--layout-site-width)) / 2)) 1.5rem;
}

body.is-campaign-fixed-header .SiteHeader {
    position: fixed;
    top: .5rem;
    background: transparent;
}

body.is-campaign .SiteNav__home {
    position: relative;
}

body.is-campaign-fixed-header .SiteNav__home {
    transform: scale(2.2);
}

body.is-campaign .SiteNav__logoStack {
    position: relative;
}

body.is-campaign .SiteNav__logoStack .SiteNav__logo {
    height: auto;
    left: 0;
    max-width: none;
    position: absolute;
    top: 0;
    transform: translate3d(0, 0, 0);
    will-change: transform, opacity;
    width: 70px;
}

body.is-campaign .SiteNav__logoStack .SiteNav__logo--the {
    left: 0;
    top: 0;
}

body.is-campaign .SiteNav__logoStack .SiteNav__logo--fire {
    left: 30px;
    top: 30px;
}

body.is-campaign-fixed-header .SiteNav__logoStack .SiteNav__logo--fire {
    left: 70px;
    top: 70px;
}

body.is-campaign .SiteNav__logoStack .SiteNav__logo--wall {
    left: 98px;
    top: 17px;
}

body.is-campaign-fixed-header .SiteNav__logoStack .SiteNav__logo--wall {
    left: 227px;
    top: 35px;
}

body.is-campaign-fixed-header .SiteNav__logoStack .SiteNav__logo {
    width: 160px;
}

.is-campaign :is(h1, h2, h3, h4, h5, h6) {
    font-family: 'Druk Super', sans-serif;
    line-height: 0.82;
}

.is-campaign :is(h2, h3, h4, h5, h6) {
    font-family: 'Druk Medium', sans-serif;
    letter-spacing: -0.04em;
}


.is-campaign h1 {
    font-size: 5rem;
    margin: 0.1em 0 0.35em;
    line-height: 1;
}

.is-campaign.is-campaign-fixed-header h1 {
    font-size: 6rem;
}

.is-campaign h2 {
    font-size: 3.5rem;
    margin: 0 0 0.35em;
}

.is-campaign h3 {
    font-size: 2.5rem;
    line-height: 1;
    margin: 0 0 0.35em;
}

.is-campaign h4,
.is-campaign h5,
.is-campaign h6 {
    font-size: 2rem;
}

.is-campaign .MetaText {
    font-family: 'TeX Gyre Termes', serif;
    font-size: 0.875rem;
    margin: 0 0 .5em;
    display: block;
}

.Campaign .FormActions {
    justify-content: center;
}

.Campaign__section {
    padding-top: 2rem;
}

.Campaign__hero {
    display: grid;
    gap: 1rem;
    padding-bottom: 3em;
}

.Campaign__title {
    font-size: clamp(2rem, 6vw, 3.5rem);
    margin: 0;
    text-align: left;
}

.Campaign__intro {
    text-align: left;
}

.Campaign p.Campaign__intro,
.Campaign__impactBody p,
.Campaign__newsletter p,
.Campaign__joinText p {
    font-size: 1.7rem;
    max-width: 48ch;
    margin: 0 auto;
    letter-spacing: -0.005em;
}

.Campaign__newsletter p {
    margin-bottom: 1rem;
}

.Campaign__heroActions {
    margin-top: 0.5rem;
}

.Campaign__topActions {
    position: fixed;
    right: max(var(--layout-site-gutter), calc((100vw - var(--layout-site-width)) / 2));
    top: 1.5rem;
    z-index: 1100;
}

.Campaign__topActions .Button {
    margin: 0;
}

.Campaign__video {
    margin-top: 0;
    border: 0;
    overflow: hidden;
    position: relative;
}

.Campaign__videoPoster {
    background: #000;
    border: 0;
    cursor: pointer;
    inset: 0;
    padding: 0;
    position: absolute;
    z-index: 2;
}

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

.Campaign__videoPosterPlay {
    align-items: center;
    background: rgb(0 0 0 / 65%);
    border: 1px solid #fff;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 2rem;
    height: 4rem;
    justify-content: center;
    left: 50%;
    line-height: 1;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 4rem;
}

.Campaign__videoPosterPlayIcon {
    display: inline-block;
    transform: translate(10%, -5%);
    font-family: 'Commit Mono', monospace;
}

.Campaign__progressCount {
    margin-top: 1.8rem;
    font-size: 1.3rem;
    margin-bottom: 0.75rem;
    text-transform: uppercase;
    line-height: .8em;
}

.Campaign__progressGoal {
    margin-top: -0.35rem;
}

.Campaign__progress {
    border-top: 0;
    color: var(--color-silicon);
    padding-bottom: 2.5rem;
    position: relative;
    z-index: 0;
}

.Campaign__panel {
    border-top: 0;
    position: relative;
    z-index: 0;
}

.Campaign__progress p {
    font-family: "Commit Mono", monospace;
    font-size: 1.1rem;
    line-height: 1.1em;
}

.Campaign__impact {
    border-top: 0;
    padding-bottom: 2.5rem;
    padding-top: 2.5rem;
    position: relative;
    z-index: 0;
}

.Campaign__newsletter {
    padding-bottom: 2.5rem;
    padding-top: 2.5rem;
}

.Campaign__progressTrack {
    background: var(--color-silver);
    height: 1rem;
    overflow: hidden;
    position: relative;
    margin-top: 2rem;
}

.Campaign__progressTrack  + .Campaign__heroActions {
    margin-top: 2rem;
}

.Campaign__progressBar {
    background: var(--color-highlight);
    display: block;
    height: 100%;
    transition: width 0.25s ease;
}

.Campaign__progressMarker {
    background: var(--color-silicon);
    bottom: 0;
    display: block;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 4px;
}

.Campaign__progressMeta {
    margin-top: 0.75rem;
}

.Campaign__milestones {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-evenly;
    margin-top: .1rem;
    margin-bottom: 2rem;
}

.Campaign__milestone {
    align-items: center;
    font-family: "Commit Mono", monospace;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
}

.Campaign__ambassadorList {
    display: grid;
    gap: 1.25rem;
    grid-auto-columns: minmax(500px, 90vw);
    grid-auto-flow: column;
    overflow: auto hidden;
    padding-bottom: 0.75rem;
    scroll-snap-type: x mandatory;
    width: 100%;
    -webkit-overflow-scrolling: touch;
}

.Campaign__ambassadorGallery {
    position: relative;
}

.Campaign__ambassadorArrow {
    background: transparent;
    border: 0;
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    font-family: monospace;
    font-weight: 700;
    color: var(--color-silicon);
    font-size: 3.5rem;
    height: 2.5rem;
    justify-content: center;
    line-height: 1;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2.5rem;
    z-index: 2;
}

.Campaign__ambassadorArrow--prev {
    left: -1.25rem;
}

.Campaign__ambassadorArrow--next {
    right: -1.25rem;
}

.Campaign__ambassadorArrow:disabled {
    cursor: default;
    opacity: 0.4;
}

.Campaign__ambassadorArrowIcon {
    display: inline-block;
}

.Campaign__ambassadorArrowIcon--prev {
    transform: translate(-15%, -15%);
}

.Campaign__ambassadorArrowIcon--next {
    transform: translate(15%, -15%);
}

.Campaign__ambassadorRow {
    align-items: flex-start;
    padding-top: 1rem;
    scroll-snap-align: start;
    width: 500px;
    grid-template-columns: 1fr;
}

.Campaign__ambassadorBody {
    padding-top: 1rem;
    gap: 0.75rem;
}

.Campaign__ambassadorMeta {
    display: grid;
    gap: 0.35rem;
}

.Campaign__ambassadorImage {
    --ambassador-image-filter: grayscale(100%) contrast(1.05);
    --ambassador-noise-highlight-blend: hard-light;
    --ambassador-noise-highlight-filter: contrast(320%) brightness(140%) grayscale(100%);
    --ambassador-noise-highlight-opacity: 0.5;
    --ambassador-noise-highlight-size: 110px;
    --ambassador-noise-shadow-opacity: 0.38;
    --ambassador-noise-shadow-size: 90px;

    aspect-ratio: 1 / 1;
    background: var(--color-highlight);
    overflow: hidden;
    position: relative;
    isolation: isolate;
}

.Campaign__ambassadorImage::before,
.Campaign__manifestMedia::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cfilter id='noiseShadow'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23noiseShadow)'/%3E%3C/svg%3E");
    background-repeat: repeat;
    background-size: var(--ambassador-noise-shadow-size, 90px) var(--ambassador-noise-shadow-size, 90px);
    content: "";
    inset: 0;
    mix-blend-mode: multiply;
    opacity: var(--ambassador-noise-shadow-opacity, 0.38);
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.Campaign__ambassadorImage::after,
.Campaign__manifestMedia::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cfilter id='noiseHighlight'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23noiseHighlight)'/%3E%3C/svg%3E");
    background-repeat: repeat;
    background-size: var(--ambassador-noise-highlight-size, 110px) var(--ambassador-noise-highlight-size, 110px);
    content: "";
    filter: var(--ambassador-noise-highlight-filter, contrast(320%) brightness(140%) grayscale(100%));
    inset: 0;
    mix-blend-mode: var(--ambassador-noise-highlight-blend, hard-light);
    opacity: var(--ambassador-noise-highlight-opacity, 0.5);
    pointer-events: none;
    position: absolute;
    z-index: 2;
}

.Campaign__ambassadorMeta h3 {
    display: block;
    margin: 0;
}

.Campaign__ambassadorImage img {
    display: block;
    filter: var(--ambassador-image-filter, grayscale(100%) contrast(1.05));
    height: 100%;
    mix-blend-mode: multiply;
    object-fit: cover;
    object-position: center 20%;
    position: relative;
    width: 100%;
    z-index: 0;
}

@supports (-webkit-touch-callout: none) {
    /* Safari on iOS rasterizes the SVG noise much rougher, so use a finer, softer variant there. */

    .Campaign__ambassadorImage {
        --ambassador-image-filter: grayscale(100%) contrast(1.02);
        --ambassador-noise-highlight-blend: soft-light;
        --ambassador-noise-highlight-filter: contrast(180%) brightness(120%) grayscale(100%);
        --ambassador-noise-highlight-opacity: 0.26;
        --ambassador-noise-highlight-size: 64px;
        --ambassador-noise-shadow-opacity: 0.28;
        --ambassador-noise-shadow-size: 56px;
    }
}

p.Campaign__ambassadorQuote {
    display: none;
    font-size: 1.8rem;
    margin: 0;
    font-family: "commit mono", monospace;
    letter-spacing: -0.05em;
}

p.Campaign__ambassadorFunction {
    font-family: 'TeX Gyre Termes', serif;
    line-height: 1.2;
    margin: 0;
}

.Campaign__manifestText p:first-child {
    margin-top: 0;
}

.Campaign__manifest {
    padding-top: 5rem;
    padding-bottom: 2.5rem;
}

.Campaign__manifest > h2 {
    margin-bottom: 4.5rem;
}

.Campaign__manifestGrid {
    display: grid;
    gap: 3.5rem;
    grid-template-columns: minmax(0, 1fr);
    text-align: left;
}

.Campaign__manifestCard {
    align-items: stretch;
    display: grid;
    grid-template-columns: minmax(0, 60%) minmax(0, 40%);
    grid-template-rows: 1fr auto;
    position: relative;
    width: 100%;
}

.Campaign__manifestTitle {
    place-self: stretch center;
    display: block;
    grid-column: 1 / 2;
    grid-row: 2;
    max-width: 60vw;
    text-align: left;
    text-wrap: balance;
    width: 100%;
    padding-right: 1rem;
    z-index: 2;
    position: relative;
}


@media (min-width: 1380px) {
    .Campaign__manifestTitle span {
        position: absolute;
        left: -40px;
        display: block;
    }
}

.Campaign__manifestDescription {
    align-self: end;
    grid-column: 2;
    grid-row: 2;
    margin: 0;
    position: relative;
    z-index: 2;
}

.Campaign__manifestDescription p {
    margin: 0;
}

.is-campaign .FormGroup,
.is-campaign label {
    font-family: 'Commit Mono', monospace;
    text-transform: uppercase;
    font-weight: 400;
}

.is-campaign .FormGroup__input, .is-campaign .FormGroup input[type="text"], .is-campaign .FormGroup input[type="email"], .is-campaign .FormGroup input[type="password"], .is-campaign .FormGroup textarea {
    border-radius: 0;
    color: var(--color-silicon);
}

.is-campaign .Button{
    font-family: 'Filming Bold', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1.5rem;
}

.is-campaign .Button:not(.Button--inverted, .Button--disabled, .Button--secondary) {
    background: var(--color-highlight);
    color: #000;
}

.is-campaign .Button:not(.Button--inverted, .Button--disabled, .Button--secondary):hover {
    background: var(--color-silver);
    color: var(--color-silicon);
    border-color: var(--color-silver);
}

.is-campaign .SiteFooter__newsletter .Button:not(.Button--inverted, .Button--disabled, .Button--secondary) {
    font-weight: 700;
}

.is-campaign .Button--inverted {
    background: var(--color-silver);
    color: var(--color-silicon);
}

.is-campaign .Button--inverted:hover {
    background: var(--color-highlight);
    color: var(--color-silicon);
}

.is-campaign .Button--secondary {
    background: var(--color-silicon);
    color: var(--color-silver);
}

.is-campaign .Button--secondary:hover {
    background: var(--color-highlight);
    color: var(--color-silicon);
}

.is-campaign .SiteFooter {
    background: var(--color-silicon);
    font-family: 'TeX Gyre Termes', serif;
    position: relative;
    z-index: 0;
}

.is-campaign .SiteFooter p {
    color: inherit;
    font-family: 'TeX Gyre Termes', serif;
    font-size: 1.25rem;
}

.is-campaign .SiteFooter__newsletter {
    margin-top: 2rem;
}

.is-campaign .SiteFooter h2 {
    color: inherit;
    font-family: 'Druk Medium', sans-serif;
    letter-spacing: -0.04em;
    line-height: 0.82;
    font-size: 3.5rem;
    margin: 0;
}

.is-campaign .SiteFooter :is(.FormGroup__label, .SiteFooter__links a, .FormGroup) {
    font-family: 'Commit Mono', monospace;
    text-transform: uppercase;
    font-weight: 400;
}

.Campaign ol li {
    list-style: decimal;
    margin-left: 1.5rem;
    text-align: left;
    margin-bottom: 0.5rem;
}

.Campaign__articles .Article {
    text-align: left;
    max-width: 44rem;
    margin: 0 auto;
}

.is-campaign .page-content {
    max-width: 44rem;
    margin: 0 auto;
}

.is-campaign-fixed-header .page-content {
    max-width: none;
}

body.is-campaign-celebration {
    min-height: 100vh;
}

body.is-campaign-celebration .SiteHeader,
body.is-campaign-celebration .SiteFooter {
    display: none;
}

body.is-campaign-celebration main {
    padding: 0;
}

body.is-campaign-celebration .page-content {
    max-width: none;
    width: 100%;
}

.CampaignCelebration {
    align-items: center;
    background:
        radial-gradient(circle at 15% 20%, color-mix(in srgb, var(--color-highlight) 22%, transparent), transparent 35%),
        radial-gradient(circle at 80% 15%, color-mix(in srgb, #2df7b4 24%, transparent), transparent 40%),
        radial-gradient(circle at 50% 85%, color-mix(in srgb, #f5c744 24%, transparent), transparent 42%),
        #070b18;
    display: grid;
    min-height: 100vh;
    min-height: 100dvh;
    overflow: auto;
    padding: 2rem;
    position: relative;
}

.CampaignCelebration__confetti {
    inset: 0;
    pointer-events: none;
    position: fixed;
    z-index: 20;
}

.CampaignCelebration__inner {
    background: color-mix(in srgb, #05070e 84%, #0f1f4b 16%);
    border: 1px solid color-mix(in srgb, #fff 13%, transparent);
    margin: 0 auto;
    max-width: 56rem;
    padding: clamp(1.5rem, 4vw, 3rem);
    position: relative;
    text-align: center;
    width: min(100%, 56rem);
    z-index: 2;
}

.CampaignCelebration__eyebrow {
    color: color-mix(in srgb, #fff 74%, transparent);
    font-family: var(--type-technical);
    font-size: .95rem;
    letter-spacing: .08em;
    margin-bottom: 1rem;
    text-transform: uppercase;
}

body.is-campaign-celebration .CampaignCelebration__title {
    color: #fff;
    font-size: clamp(1.9rem, 4.8vw, 3.6rem);
    line-height: 1.05;
    margin-bottom: 1.5rem;
}

.CampaignCelebration__totalLabel {
    color: color-mix(in srgb, #fff 72%, transparent);
    font-size: 1rem;
    letter-spacing: .06em;
    margin-bottom: .45rem;
    text-transform: uppercase;
}

.CampaignCelebration__total {
    color: #fff;
    font-family: var(--type-technical);
    font-size: clamp(4.2rem, 14vw, 10rem);
    font-variant-numeric: tabular-nums;
    line-height: 1;
    margin: 0 0 1.2rem;
    transition: transform .2s ease, text-shadow .3s ease;
}

.CampaignCelebration__total--highlight {
    text-shadow: 0 0 18px color-mix(in srgb, var(--color-highlight) 65%, transparent);
    transform: scale(1.045);
}

.CampaignCelebration__breakdown {
    align-items: center;
    color: #fff;
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 auto 1.8rem;
    max-width: 34rem;
}

.CampaignCelebration__breakdown p {
    background: color-mix(in srgb, #0f1938 86%, #fff 14%);
    border-radius: .8rem;
    margin: 0;
    padding: .9rem 1rem;
}

.CampaignCelebration__breakdown p:last-child {
    grid-column: 1 / -1;
}

.CampaignCelebration__label {
    color: color-mix(in srgb, #fff 74%, transparent);
    display: block;
    font-size: .9rem;
    margin-bottom: .25rem;
}

.CampaignCelebration__breakdown strong {
    font-size: 2rem;
    font-variant-numeric: tabular-nums;
}

.CampaignCelebration__statusRow {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.CampaignCelebration__testActions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: center;
}

.CampaignCelebration__status {
    color: color-mix(in srgb, #fff 77%, transparent);
    font-family: var(--type-technical);
    font-size: .95rem;
    margin: 0;
    text-wrap: balance;
}

@media (max-width: 640px) {
    .CampaignCelebration {
        align-items: start;
        padding: 1.25rem;
    }

    .CampaignCelebration__inner {
        padding: 1.25rem;
    }

    .CampaignCelebration__title {
        font-size: clamp(1.7rem, 7.4vw, 2.3rem);
        margin-bottom: 1rem;
    }

    .CampaignCelebration__total {
        font-size: clamp(3.1rem, 20vw, 6.25rem);
        margin-bottom: .9rem;
    }

    .CampaignCelebration__breakdown {
        margin-bottom: 1.2rem;
    }
}

@media (max-width: 460px) {
    .CampaignCelebration__breakdown {
        grid-template-columns: 1fr;
        max-width: 20rem;
    }

    .CampaignCelebration__breakdown strong {
        font-size: 1.7rem;
    }

    .CampaignCelebration__statusRow .Button {
        max-width: 20rem;
        width: 100%;
    }

    .CampaignCelebration__status {
        font-size: .85rem;
    }
}

@media (max-width: 393px) {
    .CampaignCelebration {
        padding: .75rem;
    }

    .CampaignCelebration__inner {
        padding: 1rem .85rem;
    }

    .CampaignCelebration__eyebrow {
        font-size: .8rem;
    }

    .CampaignCelebration__total {
        font-size: clamp(2.7rem, 18vw, 4.5rem);
    }
}


@media (max-width: 999px) {
    .is-campaign h1 {
        font-size: 4.5rem;
    }
}

@media (max-width: 800px) {
    .Campaign,
    body.is-campaign .SiteFooter {
        text-align: left;
    }

    body.is-campaign-fixed-header .SiteHeader {
        top: 2.5rem;
    }

    .Campaign {
        padding-top: 6.5rem;
        gap: 0;
    }

    body.is-campaign-fixed-header .SiteNav__home {
        transform: scale(1);
    }

    .Campaign__topActions {
        top: 1rem;
    }

    .Campaign__hero {
        padding-bottom: 1.5rem;
    }

    .is-campaign h1 {
        font-size: 3.5rem;
    }

    .is-campaign.is-campaign-fixed-header h1 {
        font-size: 4.5rem;
    }

    .is-campaign h2,
    .is-campaign .SiteFooter h2 {
        font-size: 2.5rem;
        line-height: .9em;
    }

    .is-campaign h3 {
        font-size: 1.8rem;
    }

    .Campaign__progress p {
        font-size: 1.1rem;
    }

    .is-campaign .Button {
        font-size: 22px;
        padding: 7px 15px calc(7px - var(--borderWidth));
    }

    .Campaign .FormActions,
    body.is-campaign .SiteFooter .FormActions {
        justify-content: flex-start;
    }

    body.is-campaign .SiteNav__logoStack .SiteNav__logo {
        width: 50px;
    }
    
    body.is-campaign .SiteNav__logoStack .SiteNav__logo--fire {
        left: 20px;
        top: 20px;
    }
    
    body.is-campaign .SiteNav__logoStack .SiteNav__logo--wall {
        left: 66px;
        top: 10px;
    }

    body.is-campaign-fixed-header .SiteNav__logoStack .SiteNav__logo {
        width: 140px;
    }
    
    body.is-campaign-fixed-header .SiteNav__logoStack .SiteNav__logo--fire {
        left: 60px;
        top: 60px;
    }
    
    body.is-campaign-fixed-header .SiteNav__logoStack .SiteNav__logo--wall {
        left: 198px;
        top: 30px;
    }

    .Campaign__section {
        padding-top: 1.5rem;
    }

    .Campaign p.Campaign__intro,
    .Campaign__impactBody p,
    .Campaign__newsletter p,
    .Campaign__joinText p {
        font-size: 1.25rem;
    }

    .Campaign__ambassadorList {
        grid-auto-columns: minmax(92vw, 92vw);
        padding-bottom: 3rem;
    }

    .Campaign__ambassadorRow {
        gap: .5rem;
        grid-template-columns: 1fr;
    }

    .Campaign__ambassadorImage,
    .Campaign__ambassadorRow {
        max-width: 340px;
    }

    p.Campaign__ambassadorQuote {
        font-size: 1.5rem;
    }

    .Campaign__ambassadorArrow {
        height: 2.2rem;
        top: auto;
        transform: none;
        width: 2.2rem;
    }

    .Campaign__ambassadorArrow--prev {
        bottom: -0.25rem;
        left: 0;
    }

    .Campaign__ambassadorArrow--next {
        bottom: -0.25rem;
        left: auto;
        right: 0;
    }

    .Campaign__manifest {
        padding-top: 2.5rem;
    }

    .Campaign__manifest > h2 {
        margin-bottom: 2.5rem;
    }

    .Campaign__manifestCard {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto auto;
        min-height: 0;
        position: static;
    }

    .Campaign__manifestTitle {
        grid-row: 2;
        grid-column: 1 / 2;
        text-align: left;
        max-width: 100%;
        padding-right: 0;
    }

    .Campaign__manifestDescription {
        grid-row: 3;
        grid-column: 1 / 2;
    }
}

@media (min-width: 801px) {
    body.is-campaign {
        --layout-site-width: 64rem;
    }

    .Campaign__manifestCard {
        gap: 2rem;
    }

    .Campaign__hero .Campaign__video {
        grid-column: 1 / 3;
        grid-row: 1;
    }

    .Campaign__hero .Campaign__title {
        grid-column: 1 / 2;
        grid-row: 2;
        align-self: center;
        margin-bottom: 0;
    }
    
    .Campaign__hero .Campaign__intro {
        grid-column: 2 / 3;
        grid-row: 2;
        align-self: center;
    }


}

@media (max-width: 560px) {
    .Campaign__milestone {
        font-size: 0.78rem;
    }


}

/* Keep celebration layout stable on narrow screens even with global campaign heading rules. */
@media (max-width: 800px) {
    body.is-campaign-celebration .CampaignCelebration__title {
        font-size: clamp(1.7rem, 7.4vw, 2.3rem);
    }
}

@media (max-width: 460px) {
    body.is-campaign-celebration .CampaignCelebration__title {
        font-size: clamp(1.55rem, 7.9vw, 2.05rem);
        overflow-wrap: anywhere;
    }

    body.is-campaign-celebration .CampaignCelebration__total {
        font-size: clamp(2.6rem, 17vw, 4.2rem);
    }
}

@media (max-width: 393px) {
    body.is-campaign-celebration .CampaignCelebration__title {
        font-size: clamp(1.45rem, 8.2vw, 1.9rem);
    }

    
}
