@font-face{font-family:Nunito;src:url(/fonts/nunito-latin.woff2) format("woff2");font-weight:700 900;font-style:normal;font-display:optional}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.campaign-page{--xp-ink: var(--colour-text-primary);--ink-on-tile: #2C1B12;--xp-received: var(--colour-accent-main);--xp-received-ink: var(--colour-text-accent);--xp-pledged: var(--colour-secondary);--card-bg: var(--colour-bg-primary);--display: "Nunito", var(--font-family-sans);max-width:64rem;margin:0 auto}.eyebrow,.confirmation__eyebrow{margin:0 0 var(--spacing-xs);font-family:var(--display);font-weight:800;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--colour-text-secondary)}.draft-banner{margin:0 0 var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md);border:3px dashed var(--xp-ink);background-color:var(--colour-secondary-light);color:var(--ink-on-tile);font-family:var(--display);font-weight:700}.draft-banner:empty{display:none}form[data-draft=true] .pledge__submit{opacity:.6;cursor:not-allowed}.campaign__hero{margin-bottom:var(--spacing-lg)}.campaign__title,.campaign-index__title{margin:0;font-family:var(--display);font-weight:900;font-size:clamp(2rem,5vw,3.25rem);line-height:1.05;letter-spacing:-.01em;color:var(--colour-text-primary)}.xp{margin:0 0 var(--spacing-xl)}.xp__stats{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--spacing-xs) var(--spacing-md);margin-bottom:var(--spacing-sm)}.xp__raised{margin:0;font-family:var(--display);line-height:1}.xp__amount{font-weight:900;font-size:clamp(2.25rem,6vw,3.5rem);color:var(--xp-received-ink);font-variant-numeric:tabular-nums}.xp__raised-label{font-weight:800;font-size:1rem;color:var(--colour-text-secondary)}.xp__meta{margin:0;font-family:var(--display);font-weight:700;color:var(--colour-text-secondary)}.xp__meta strong{color:var(--colour-text-primary)}.xp__dot{margin:0 var(--spacing-xs)}.xp__bar{position:relative;display:flex;height:1.75rem;border:3px solid var(--xp-ink);background-color:var(--colour-bg-secondary);background-image:repeating-linear-gradient(to right,transparent 0 calc(10% - 2px),var(--xp-ink) calc(10% - 2px) 10%);background-clip:padding-box;box-shadow:4px 4px 0 var(--xp-ink);overflow:hidden}.xp__fill{display:block;height:100%;flex:0 0 auto;transition:width .6s cubic-bezier(.2,.8,.2,1)}.xp__fill--received{background-color:var(--xp-received);box-shadow:inset 0 -.45rem #0000001f,inset 0 .25rem #ffffff40}.xp__fill--pledged{background:repeating-linear-gradient(135deg,var(--xp-pledged) 0 6px,var(--colour-bg-primary) 6px 12px)}.xp__flag{position:absolute;top:-3px;right:0;width:.6rem;height:calc(100% + 6px);background-color:var(--xp-ink)}.xp__caption{margin:var(--spacing-sm) 0 var(--spacing-xs);font-family:var(--display);font-weight:800;color:var(--colour-text-primary)}.xp__legend{display:flex;gap:var(--spacing-md);margin:0;padding:0;list-style:none;font-size:.85rem;color:var(--colour-text-secondary)}.xp__legend-item:before{content:"";display:inline-block;width:.9em;height:.9em;margin-right:var(--spacing-xs);vertical-align:-.1em;border:2px solid var(--xp-ink)}.xp__legend-item--received:before{background-color:var(--xp-received)}.xp__legend-item--pledged:before{background:repeating-linear-gradient(135deg,var(--xp-pledged) 0 3px,var(--colour-bg-primary) 3px 6px)}.xp--compact{margin:var(--spacing-md) 0 var(--spacing-sm)}.xp--compact .xp__amount{font-size:1.75rem}.xp--compact .xp__bar{height:1.1rem;box-shadow:3px 3px 0 var(--xp-ink)}.campaign__body{display:grid;gap:var(--spacing-xl);align-items:start}@media (min-width: 860px){.campaign__body{grid-template-columns:minmax(0,1fr) 22rem}}.campaign__blurb{font-size:1.15rem;line-height:1.6;margin-bottom:var(--spacing-xl)}.campaign__closed{margin:0 0 var(--spacing-xl);padding:var(--spacing-md);border:3px solid var(--xp-ink);background-color:var(--colour-secondary-light);color:var(--ink-on-tile);font-family:var(--display);font-weight:700}.how{margin-bottom:var(--spacing-xl)}.how__title,.supporters__title,.pledge__title{margin:0 0 var(--spacing-md);font-family:var(--display);font-weight:900;font-size:1.25rem;color:var(--colour-text-primary)}.how__steps{margin:0;padding:0;list-style:none;counter-reset:step;display:grid;gap:var(--spacing-sm)}.how__step{position:relative;padding-left:2.6rem;counter-increment:step;line-height:1.5}.how__step:before{content:counter(step);position:absolute;left:0;top:.05rem;width:1.8rem;height:1.8rem;border:2px solid var(--xp-ink);background-color:var(--colour-secondary);font-family:var(--display);font-weight:900;font-size:.95rem;line-height:1.8rem;text-align:center;color:var(--ink-on-tile);box-shadow:2px 2px 0 var(--xp-ink)}.supporters__list{margin:0;padding:0;list-style:none;display:grid;gap:var(--spacing-sm)}.supporter{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:var(--spacing-sm) var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--xp-ink);background-color:var(--card-bg)}.supporter--empty{display:block;border-style:dashed;color:var(--colour-text-secondary)}.supporter__tile{width:2.25rem;height:2.25rem;border:2px solid var(--xp-ink);font-family:var(--display);font-weight:900;font-size:1.1rem;line-height:calc(2.25rem - 4px);text-align:center;color:var(--ink-on-tile);box-shadow:2px 2px 0 var(--xp-ink)}.supporter__tile--0{background-color:var(--colour-secondary)}.supporter__tile--1{background-color:var(--colour-highlight-bg)}.supporter__tile--2{background-color:var(--colour-accent-light)}.supporter__tile--3{background-color:var(--colour-secondary-light)}.supporter__tile--4{background-color:var(--colour-border-light)}.supporter__tile--5{background-color:var(--colour-secondary)}.supporter__who{display:grid;min-width:0}.supporter__name{font-family:var(--display);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supporter__when{font-size:.8rem;color:var(--colour-text-secondary)}.supporter__amount{font-family:var(--display);font-weight:900;font-variant-numeric:tabular-nums}.supporter__pill{padding:.15rem .5rem;border:2px solid var(--xp-ink);font-family:var(--display);font-weight:800;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.supporter--received .supporter__pill{background-color:var(--xp-received);color:var(--ink-on-tile)}.supporter--pledged .supporter__pill{border-style:dashed;background-color:var(--xp-pledged);color:var(--ink-on-tile)}@media (min-width: 860px){.pledge{position:sticky;top:var(--spacing-md)}}.pledge__card{padding:var(--spacing-lg);border:3px solid var(--xp-ink);background-color:var(--card-bg);box-shadow:6px 6px 0 var(--xp-ink)}.pledge__card.is-pledged .pledge__form,.pledge__card.is-pledged .pledge__title,.pledge__card.is-pledged .pledge__stripe{display:none}.pledge__form{display:grid;gap:var(--spacing-md)}.pledge__label{display:block;font-family:var(--display);font-weight:800;font-size:.9rem}.pledge__label small{display:block;font-weight:600;font-size:.78rem;color:var(--colour-text-secondary)}.pledge__field{display:grid;gap:var(--spacing-xs)}.pledge__field input,.pledge__field textarea{width:100%;box-sizing:border-box;padding:.6rem .75rem;border:2px solid var(--xp-ink);background-color:var(--colour-bg-secondary);color:var(--colour-text-primary);font:inherit}.pledge__field input:focus-visible,.pledge__field textarea:focus-visible{outline:3px solid var(--colour-border-light);outline-offset:1px}.chips{margin:0;padding:0;border:0;display:grid;gap:var(--spacing-sm)}.chips__row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-sm)}.chip{padding:.55rem .25rem;border:2px solid var(--xp-ink);background-color:var(--colour-bg-secondary);color:var(--colour-text-primary);font-family:var(--display);font-weight:900;font-size:1rem;cursor:pointer;box-shadow:2px 2px 0 var(--xp-ink);transition:transform .12s ease,box-shadow .12s ease}.chip:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--xp-ink)}.chip[aria-pressed=true]{background-color:var(--colour-secondary);color:var(--ink-on-tile);transform:translate(2px,2px);box-shadow:none}.chip:focus-visible{outline:3px solid var(--colour-border-light);outline-offset:2px}.amount-input{position:relative;display:block}.amount-input__prefix{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);font-family:var(--display);font-weight:800;color:var(--colour-text-secondary)}.amount-input input{padding-left:1.6rem;font-family:var(--display);font-weight:800;font-size:1.1rem}.pledge__more summary{cursor:pointer;font-size:.9rem;color:var(--colour-text-secondary)}.pledge__more .pledge__field{margin-top:var(--spacing-sm)}.pledge__submit{width:100%;padding:.9rem 1rem;border:3px solid var(--xp-ink);background-color:var(--xp-received);color:var(--ink-on-tile);font-family:var(--display);font-weight:900;font-size:1.1rem;cursor:pointer;box-shadow:4px 4px 0 var(--xp-ink);transition:transform .12s ease,box-shadow .12s ease}.pledge__submit:hover{background-color:var(--colour-accent-light);transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--xp-ink)}.pledge__submit:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--xp-ink)}.pledge__submit:disabled{opacity:.7;cursor:wait}.pledge__submit:focus-visible{outline:3px solid var(--colour-border-light);outline-offset:3px}.pledge__trust{margin:0;text-align:center;font-size:.8rem;color:var(--colour-text-secondary)}.pledge__stripe{margin:var(--spacing-md) 0 0;font-size:.85rem;color:var(--colour-text-secondary)}.form-error{margin:0 0 var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--colour-accent-dark);background-color:var(--colour-secondary-light);color:var(--ink-on-tile);font-weight:700}.form-error:empty{display:none}.pledge__confirmation:empty{display:none}.pledge__confirmation:not(:empty){animation:pop-in .32s cubic-bezier(.2,.8,.2,1)}.confirmation__eyebrow{color:var(--colour-text-accent)}.confirmation__title{margin:0 0 var(--spacing-md);font-family:var(--display);font-weight:900;font-size:1.3rem}.confirmation__row{display:grid;gap:.2rem;margin:0 0 var(--spacing-sm)}.confirmation__label{font-family:var(--display);font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--colour-text-secondary)}.confirmation__value{display:block;padding:.5rem .65rem;border:2px solid var(--xp-ink);background-color:var(--colour-secondary-light);color:var(--ink-on-tile);font-size:.95rem;word-break:break-all;user-select:all;cursor:copy}.confirmation__value.is-copied{background-color:var(--colour-highlight-bg)}.confirmation__note{margin:var(--spacing-md) 0 0;font-size:.9rem;color:var(--colour-text-secondary)}@keyframes pop-in{0%{transform:translateY(6px);opacity:0}to{transform:none;opacity:1}}.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-top:3px solid var(--xp-ink);background-color:var(--card-bg)}.sticky-cta[hidden]{display:none}@media (min-width: 860px){.sticky-cta{display:none}}.sticky-cta__stat{font-family:var(--display);font-weight:700;color:var(--colour-text-secondary)}.sticky-cta__stat strong{color:var(--colour-link);font-weight:900}.sticky-cta__button{padding:.6rem 1.2rem;border:3px solid var(--xp-ink);background-color:var(--xp-received);color:var(--ink-on-tile);font-family:var(--display);font-weight:900;text-decoration:none;box-shadow:3px 3px 0 var(--xp-ink)}.campaign-index__header{margin-bottom:var(--spacing-xl)}.campaign-index__lede{max-width:40rem;font-size:1.1rem;line-height:1.6}.campaign-list{margin:0;padding:0;list-style:none;display:grid;gap:var(--spacing-lg)}.campaign-card__link{display:block;padding:var(--spacing-lg);border:3px solid var(--xp-ink);background-color:var(--card-bg);color:inherit;text-decoration:none;box-shadow:6px 6px 0 var(--xp-ink);transition:transform .12s ease,box-shadow .12s ease}.campaign-card__link:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--xp-ink)}.campaign-card__title{margin:0 0 var(--spacing-xs);font-family:var(--display);font-weight:900;font-size:1.5rem}.campaign-card__cta{font-family:var(--display);font-weight:900;color:var(--colour-link)}.campaign-card--empty{padding:var(--spacing-lg);border:3px dashed var(--xp-ink);color:var(--colour-text-secondary)}.main-content:has(.campaign-card--empty){display:flex;flex-direction:column;justify-content:center}[data-theme=dark] .campaign-page{--xp-ink: var(--colour-text-primary);--card-bg: var(--colour-bg-secondary)}@media (prefers-reduced-motion: reduce){.xp__fill,.chip,.pledge__submit,.campaign-card__link{transition:none}.pledge__confirmation:not(:empty){animation:none}}
