.gunn25-campaign {
    --gunn25-paper: #fff4e8;
    --gunn25-muted: #dbc1b0;
    --gunn25-copper: #ffad76;
    --gunn25-line: #75492f;
    display: grid;
    gap: 1px;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--gunn25-line);
    border-radius: 9px;
    background: radial-gradient(ellipse at 85% 0, #4c261f, transparent 61%), #191211;
    color: var(--gunn25-paper);
    color-scheme: dark;
    font: 400 14px/1.45 system-ui, sans-serif;
}

.gunn25-campaign [hidden], .gunn25-campaign[hidden] { display: none !important; }
.gunn25-campaign--page { margin: 22px 0; }
.gunn25-campaign--ad { margin-bottom: 12px; }
.gunn25-campaign :is(h2, h3, p) { margin: 0; }
.gunn25-campaign a { color: var(--gunn25-copper); text-decoration: underline; text-underline-offset: .19em; }
.gunn25-campaign :is(a, button):focus-visible { outline: 2px solid #fff4e8; outline-offset: 3px; }

.gunn25-campaign__mast {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 4px 12px;
    padding: 10px 14px;
    border-bottom: 1px solid var(--gunn25-line);
    color: var(--gunn25-muted);
    font: 650 10px/1.4 system-ui, sans-serif;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.gunn25-campaign__mast b { color: var(--gunn25-copper); }
.gunn25-campaign__body { display: grid; gap: 14px; align-items: center; padding: 14px; }
.gunn25-campaign__brief { display: grid; gap: 8px; min-width: 0; }
.gunn25-campaign__brief [data-gunn25-open] { display: grid; gap: 8px; }
.gunn25-campaign p.gunn25-campaign__kicker {
    color: var(--gunn25-copper);
    font: 750 10px/1.45 system-ui, sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gunn25-campaign h2 {
    color: var(--gunn25-paper);
    font: 950 clamp(25px, 3vw, 43px)/.98 system-ui, sans-serif;
    letter-spacing: -.055em;
    text-transform: uppercase;
}

.gunn25-campaign h2 em { color: var(--gunn25-copper); font-style: normal; }
.gunn25-campaign__prize strong { color: var(--gunn25-paper); }
.gunn25-campaign__dates, .gunn25-campaign__terms { color: var(--gunn25-muted); font-size: 12px; }
.gunn25-campaign__links { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
.gunn25-campaign__links a { display: inline-flex; align-items: center; gap: 5px; min-height: 34px; font-size: 12px; font-weight: 700; }
.gunn25-campaign a.gunn25-campaign__entry {
    min-height: 38px;
    padding: 4px 10px;
    border: 1px solid var(--gunn25-copper);
    border-radius: 4px;
    color: var(--gunn25-paper);
    text-decoration: none;
}

.gunn25-campaign a.gunn25-campaign__entry:hover { background: #633723; }
.gunn25-campaign p.gunn25-campaign__disclosure {
    padding: 10px 14px;
    border-top: 1px solid var(--gunn25-line);
    color: var(--gunn25-muted);
    font-size: 11px;
}

.gunn25-campaign .gunn25-entry-details {
    display: grid;
    gap: 10px;
    padding: 16px 14px 18px;
    border-top: 1px solid var(--gunn25-line);
    background: #1d1512;
    scroll-margin-top: calc(var(--sw-header-height, 0px) + 16px);
}

.gunn25-entry-details h3 { color: var(--gunn25-paper); font: 850 22px/1.2 system-ui, sans-serif; }
.gunn25-entry-details__source { max-width: 78ch; color: var(--gunn25-muted); font-size: 12px; }
.gunn25-campaign blockquote.gunn25-entry-details__copy {
    display: grid;
    gap: 8px;
    max-width: 78ch;
    margin: 0;
    padding: 0 0 0 14px;
    border: 0;
    border-left: 2px solid var(--gunn25-copper);
    color: var(--gunn25-paper);
    font: 400 14px/1.6 system-ui, sans-serif;
    overflow-wrap: anywhere;
}

.gunn25-lift {
    display: grid;
    gap: 7px;
    min-width: 0;
    padding: 11px;
    border: 1px solid var(--gunn25-line);
    border-radius: 6px;
    background: #241813;
}

.gunn25-lift h3 { color: var(--gunn25-paper); font: 850 19px/1.2 system-ui, sans-serif; letter-spacing: -.025em; }
.gunn25-lift__heading p:last-child { margin-top: 4px; color: var(--gunn25-muted); font-size: 12px; }
.gunn25-lift__stage {
    position: relative;
    height: 146px;
    overflow: hidden;
    border: 1px solid #6b4837;
    border-radius: 4px;
    background: linear-gradient(#211d1a 85%, #2c2520 85%);
}

.gunn25-lift__backdrop {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill;
}

.gunn25-lift__scene {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}

.gunn25-lift__rays { opacity: 0; }
[data-gunn25-pose="flex"] .gunn25-lift__rays { opacity: 1; }

.gunn25-lift__muscles { visibility: hidden; }
[data-gunn25-pose="flex"] .gunn25-lift__muscles { visibility: visible; }

@media (prefers-reduced-motion: no-preference) {
    [data-gunn25-pose="flex"] .gunn25-lift__bicep {
        transform-box: fill-box;
        transform-origin: center 65%;
        animation: gunn25-bicep-pulse 760ms ease-in-out both;
    }
}

@keyframes gunn25-bicep-pulse {
    0% { transform: scaleY(.65); }
    22% { transform: scaleY(1.85); }
    44% { transform: scaleY(.94); }
    63% { transform: scaleY(1.55); }
    100% { transform: scaleY(1); }
}

.gunn25-lift__meter {
    position: absolute;
    inset: auto 0 0;
    height: 3px;
    background: #3b2117;
}

.gunn25-lift__meter span {
    display: block;
    height: 100%;
    width: var(--gunn25-progress, 0%);
    background: var(--gunn25-copper);
    transition: width 70ms ease-out;
}

.gunn25-lift__score { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.gunn25-lift__score p { display: flex; gap: 5px 8px; align-items: baseline; flex-wrap: wrap; padding: 5px 7px; background: #170f0e; border-radius: 3px; }
.gunn25-lift__score strong { color: var(--gunn25-paper); font: 800 15px/1.3 ui-monospace, monospace; font-variant-numeric: tabular-nums; }
.gunn25-lift__score p > span, .gunn25-lift__total { color: var(--gunn25-muted); font-size: 10px; }
.gunn25-lift__result { display: flex; gap: 4px 8px; flex-wrap: wrap; align-items: baseline; color: var(--gunn25-copper); }
.gunn25-lift__result span { color: var(--gunn25-muted); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.gunn25-lift__result strong { font: 850 17px/1.3 system-ui, sans-serif; }
.gunn25-lift__next { flex-basis: 100%; color: var(--gunn25-muted); font-size: 12px; }
.gunn25-lift button.gunn25-lift__action {
    display: block;
    width: 100%;
    min-height: 46px;
    padding: 8px;
    touch-action: manipulation;
    user-select: none;
    -webkit-user-select: none;
    cursor: pointer;
    border: 1px solid #ffd6ab;
    border-radius: 4px;
    color: #24130e;
    background: #ffad76;
    font: 850 15px/1.2 system-ui, sans-serif;
    text-align: center;
}

.gunn25-lift button.gunn25-lift__action:hover { background: #ffc28f; }
.gunn25-lift button.gunn25-lift__action:active { background: #ec935e; }
.gunn25-lift button.gunn25-lift__action[aria-disabled="true"] { cursor: default; }
.gunn25-lift__notice { color: var(--gunn25-muted); font-size: 11px; }
.gunn25-lift__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

@media (min-width: 740px) {
    .gunn25-campaign--page .gunn25-campaign__mast,
    .gunn25-campaign--page p.gunn25-campaign__disclosure { padding-inline: 24px; }
    .gunn25-campaign--page .gunn25-campaign__body { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 26px; padding: 22px 24px; }
    .gunn25-campaign--page h2 { font-size: clamp(39px, 5vw, 75px); }
    .gunn25-campaign--page .gunn25-campaign__prize { font-size: 17px; }
    .gunn25-campaign--page .gunn25-lift { padding: 15px; }
    .gunn25-campaign .gunn25-entry-details { padding: 20px 24px 24px; }
}

@media (prefers-reduced-motion: reduce) {
    .gunn25-lift__meter span { transition: none; }
}
