/* Extend the existing identity; campaign artwork retains its original colors. */
/* Occasion palettes affect the gallery interface only, never the artwork. */
[data-campaign-theme=summer]{--ui-bg:#f3f8f7;--ui-surface:#f8fcfb;--ui-elevated:#ffffff;--ui-text:#203a38;--ui-muted:#506965;--ui-border:#cbded8;--ui-accent:#276b65;--ui-hover:#e0efea;--ui-button:#276b65;--ui-button-text:#ffffff}
.dark [data-campaign-theme=summer]{--ui-bg:#172522;--ui-surface:#20312c;--ui-elevated:#2b4038;--ui-text:#eff7f2;--ui-muted:#b4cec1;--ui-border:#405c50;--ui-accent:#bbd9cb;--ui-hover:#2d463b;--ui-button:#bbd9cb;--ui-button-text:#1a2d24}
[data-campaign-theme=celestial]{--ui-bg:#f5f3ee;--ui-surface:#fcfaf5;--ui-elevated:#ffffff;--ui-text:#34302c;--ui-muted:#6b6256;--ui-border:#ddd4c3;--ui-accent:#795e33;--ui-hover:#eee7d9;--ui-button:#795e33;--ui-button-text:#ffffff}
.dark [data-campaign-theme=celestial]{--ui-bg:#1b2030;--ui-surface:#252b3c;--ui-elevated:#30384b;--ui-text:#f5f0e6;--ui-muted:#c5bca9;--ui-border:#4a4b51;--ui-accent:#d9bf8f;--ui-hover:#363b49;--ui-button:#d9bf8f;--ui-button-text:#262231}
[data-campaign-theme=rose]{--ui-bg:#faf3f3;--ui-surface:#fffafa;--ui-elevated:#ffffff;--ui-text:#492d38;--ui-muted:#7c5f68;--ui-border:#e5d2d7;--ui-accent:#8d415d;--ui-hover:#f4e3e9;--ui-button:#8d415d;--ui-button-text:#ffffff}
.dark [data-campaign-theme=rose]{--ui-bg:#281d24;--ui-surface:#34252e;--ui-elevated:#422e38;--ui-text:#fff0f5;--ui-muted:#d2b6c2;--ui-border:#644654;--ui-accent:#e7b4c8;--ui-hover:#4a303e;--ui-button:#e7b4c8;--ui-button-text:#301e28}
[data-campaign-theme=autumn]{--ui-bg:#faf5ee;--ui-surface:#fffaf4;--ui-elevated:#ffffff;--ui-text:#483329;--ui-muted:#796457;--ui-border:#e4d5c6;--ui-accent:#95592f;--ui-hover:#f0e4d6;--ui-button:#95592f;--ui-button-text:#ffffff}
.dark [data-campaign-theme=autumn]{--ui-bg:#291e18;--ui-surface:#37291f;--ui-elevated:#453227;--ui-text:#fcf0e3;--ui-muted:#d0b7a0;--ui-border:#664933;--ui-accent:#e6bc91;--ui-hover:#4b3425;--ui-button:#e6bc91;--ui-button-text:#322115}
.campaign-card:is([data-campaign-theme=summer],[data-campaign-theme=celestial],[data-campaign-theme=rose],[data-campaign-theme=autumn]) .campaign-cover{background:var(--ui-surface);border-color:var(--ui-border)}
.campaign-card:is([data-campaign-theme=summer],[data-campaign-theme=celestial],[data-campaign-theme=rose],[data-campaign-theme=autumn]) .campaign-card-caption{color:var(--ui-text)}
.campaign-card:is([data-campaign-theme=summer],[data-campaign-theme=celestial],[data-campaign-theme=rose],[data-campaign-theme=autumn]) :is(.campaign-card-caption p,.campaign-ordinal){color:var(--ui-muted)}
.campaign-card:is([data-campaign-theme=summer],[data-campaign-theme=celestial],[data-campaign-theme=rose],[data-campaign-theme=autumn]) .campaign-open{background:var(--ui-elevated);color:var(--ui-text)}
.campaign-site { background:var(--background); color:var(--foreground); }
.campaign-site .campaign-outer { padding:0; }
.campaign-site .campaign-frame { max-width:1280px; border-radius:0; margin-inline:auto; min-height:100dvh; background:var(--gradient-brand-soft); }
.campaign-site .campaign-frame > .bg-glow { opacity:.35; }
.campaign-site .campaign-brand { max-width:1184px; margin-inline:auto; padding:20px 24px 0; }
.campaign-site .campaign-brand > a { background:none; box-shadow:none; padding:0; width:fit-content; }
.campaign-main { padding:24px clamp(20px,4vw,48px); }
.campaign-main [hidden], .campaign-focus [hidden] { display:none !important; }
.campaign-main :is(h1,h2,h3,p) { margin:0; }
.campaign-main .campaign-back { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:.875rem; color:var(--muted-foreground); }
.campaign-eyebrow { color:var(--wine); font-size:.875rem; font-weight:700; line-height:1.8; }
.campaign-gallery-heading { padding-block:28px 40px; display:grid; gap:22px; }
.campaign-gallery-heading h1 { font-size:clamp(2.4rem,5vw,4rem); line-height:1.3; margin-top:12px; font-weight:700; }
.campaign-intro { max-width:32em; font-size:1.0625rem; line-height:1.95; color:var(--muted-foreground); }
.campaign-main .campaign-meta { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:16px; font-size:.875rem; color:var(--muted-foreground); }
.campaign-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:36px 32px; }
.campaign-card { min-width:0; scroll-margin-top:24px; }
.campaign-card > a { display:block; border-radius:20px; }
.campaign-cover { position:relative; display:flex; align-items:center; justify-content:center; padding:28px 30px; border:1px solid var(--border); border-radius:22px; background:color-mix(in oklch,var(--card) 65%,transparent); overflow:hidden; isolation:isolate; }
.campaign-cover-1 { background:color-mix(in oklch,var(--sky-soft) 42%,var(--card)); }
.campaign-cover-2 { background:color-mix(in oklch,var(--blush-soft) 35%,var(--card)); }
.campaign-cover img { position:relative; display:block; width:100%; max-width:340px; aspect-ratio:var(--cover-ratio,9/16); height:auto; object-fit:contain; box-shadow:0 16px 40px -15px rgb(0 0 0/.32); border-radius:3px; }
.campaign-ordinal { position:absolute; inset-block-start:12px; inset-inline-start:14px; color:var(--muted-foreground); font-size:.75rem; font-family:var(--font-display); }
.campaign-open { display:grid; place-items:center; position:absolute; inset-inline-end:14px; inset-block-end:14px; width:40px; height:40px; border-radius:50%; color:var(--foreground); background:var(--card); box-shadow:var(--shadow-soft); font-size:1.25rem; }
.campaign-card-caption { padding:18px 4px 0; }
.campaign-card-caption h2 { font-size:1.375rem; font-weight:700; }
.campaign-card-caption p { margin-top:5px; color:var(--muted-foreground); font-size:.875rem; }
.campaign-main .campaign-footnote { margin-top:44px; color:var(--muted-foreground); font-size:.875rem; text-align:center; line-height:1.8; }
.campaign-project-heading { padding-block:24px 28px; }
.campaign-project-heading h1 { margin-top:10px; font-size:clamp(1.875rem,4vw,3.125rem); }
.campaign-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; margin-bottom:26px; }
.campaign-modes { display:flex; gap:4px; padding:4px; border:1px solid var(--border); border-radius:999px; background:color-mix(in oklch,var(--card) 75%,transparent); }
.campaign-modes button { min-height:44px; min-width:68px; padding:8px 18px; border-radius:999px; font-size:.875rem; cursor:pointer; }
.campaign-modes [aria-pressed="true"] { background:var(--foreground); color:var(--background); }
.campaign-mode-hint { font-size:.875rem; color:var(--muted-foreground); line-height:1.8; }
.campaign-pages { min-width:0; }
.campaign-page { min-width:0; margin:0; }
.campaign-page > button { position:relative; display:block; width:100%; padding:0; background:var(--muted); border-radius:4px; box-shadow:0 16px 40px -22px rgb(0 0 0/.4); cursor:zoom-in; aspect-ratio:var(--page-ratio,9/16); }
.campaign-page img { display:block; width:100%; height:auto; aspect-ratio:var(--page-ratio,9/16); object-fit:contain; border-radius:4px; }
.campaign-page img:not([src]) { visibility:hidden; }
.campaign-zoom-hint { position:absolute; inset-inline-end:12px; bottom:12px; background:rgb(10 14 25/.78); color:white; padding:8px 14px; font-size:.875rem; border-radius:999px; opacity:0; transition:opacity .2s; }
.campaign-page > button:is(:hover,:focus-visible) .campaign-zoom-hint { opacity:1; }
.campaign-page figcaption { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:.875rem; color:var(--muted-foreground); padding:12px 2px 0; }
.mode-story { display:grid; grid-template-columns:minmax(0,1fr); max-width:520px; margin-inline:auto; gap:44px; }
.mode-horizontal { display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; padding:12px 4px 22px; scrollbar-width:thin; scrollbar-color:var(--wine) transparent; align-items:start; }
.mode-horizontal .campaign-page { flex:0 0 min(82vw,390px); scroll-snap-align:center; }
.mode-horizontal { --slide-width:min(82vw,390px); padding-inline:max(4px,calc((100% - var(--slide-width))/2)); }
.mode-flip { position:relative; perspective:1600px; margin:24px auto 0; max-width:390px; width:calc(100% - 22px); isolation:isolate; }
.mode-flip::before,.mode-flip::after { content:""; display:block; position:absolute; inset:0 0 36px; background:var(--card); border:1px solid var(--border); border-radius:4px; transform:translate(7px,-7px) rotate(1.5deg); z-index:-1; }
.mode-flip::after { transform:translate(13px,-13px) rotate(3deg); z-index:-2; }
.mode-flip .campaign-page { transform-origin:right center; backface-visibility:hidden; }
.mode-flip { touch-action:pan-y pinch-zoom; }
.campaign-image-retry { display:block; margin:12px auto; min-height:44px; padding:8px 14px; border:1px solid var(--border); border-radius:12px; font-size:.875rem; background:var(--card); color:var(--foreground); }
.mode-flip .page-turn-next { animation:campaign-turn-next .48s cubic-bezier(.2,.7,.2,1) both; }
.mode-flip .page-turn-prev { animation:campaign-turn-prev .48s cubic-bezier(.2,.7,.2,1) both; }
@keyframes campaign-turn-next { from {opacity:.25;transform:rotateY(55deg) translateX(8px)} to {opacity:1;transform:rotateY(0) translateX(0)} }
@keyframes campaign-turn-prev { from {opacity:.25;transform:rotateY(-45deg) translateX(-8px)} to {opacity:1;transform:rotateY(0) translateX(0)} }
.campaign-pager { display:flex; align-items:center; justify-content:center; gap:12px; margin:24px auto 0; max-width:520px; }
.campaign-pager button, .focus-controls button, .focus-header button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:10px 16px; border:1px solid var(--border); border-radius:999px; font-size:.875rem; cursor:pointer; background:var(--card); color:var(--foreground); }
.campaign-pager p { flex:1; text-align:center; font-size:.875rem; }
.campaign-main button:disabled,.campaign-focus button:disabled { opacity:.4; cursor:default; }
.campaign-project-footer { display:grid; gap:34px; margin-top:64px; border-top:1px solid var(--border); padding-top:32px; }
.campaign-project-footer h2 { font-size:1.5rem; }
.campaign-project-footer p { font-size:1rem; line-height:1.8; color:var(--muted-foreground); margin-top:8px; }
.campaign-request { display:inline-flex; min-height:48px; align-items:center; padding:12px 24px; border-radius:999px; font-size:1rem; margin-top:18px; }
.campaign-next-project { display:flex; flex-direction:column; align-items:start; justify-content:center; gap:8px; color:var(--muted-foreground); font-size:.875rem; }
.campaign-next-project strong { color:var(--foreground); font-size:1.25rem; }
.campaign-focus { position:fixed; inset:0; margin:auto; width:100%; height:100%; max-width:none; max-height:none; border:0; padding:0; background:var(--background); color:var(--foreground); overscroll-behavior:contain; }
.campaign-focus::backdrop { background:rgb(0 0 0/.85); }
.focus-shell { height:100dvh; display:grid; grid-template-rows:auto minmax(0,1fr) auto; padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom); }
.focus-header { display:flex; justify-content:space-between; align-items:center; padding:12px 20px; gap:12px; border-bottom:1px solid var(--border); }
.focus-header h2 { font-size:1rem; line-height:1.6; margin:0; }
.focus-header p { color:var(--muted-foreground); font-size:.875rem; margin:0; }
.focus-header button { flex-shrink:0; }
.focus-stage { position:relative; min-height:0; overflow:auto; display:flex; align-items:center; justify-content:center; padding:12px; touch-action:pan-y pinch-zoom; }
.focus-stage img { display:block; object-fit:contain; max-width:100%; max-height:100%; width:auto; height:auto; box-shadow:0 12px 50px rgb(0 0 0/.18); }
.focus-stage.is-zoomed { display:block; touch-action:pan-x pan-y pinch-zoom; }
.focus-stage.is-zoomed img { max-width:none; max-height:none; height:auto; width:var(--focus-zoom-width,900px); margin:auto; }
.focus-controls { display:flex; justify-content:center; align-items:center; gap:12px; padding:12px 16px; border-top:1px solid var(--border); }
.focus-controls button { min-width:0; }
.focus-controls [data-zoom] { background:var(--foreground); color:var(--background); }
#focus-error { position:absolute; background:var(--card); padding:16px; border-radius:12px; font-size:1rem; }
#focus-error button { text-decoration:underline; }
#focus-loading { position:absolute; inset:50% 0 auto; text-align:center; font-size:1rem; color:var(--muted-foreground); }
body.campaign-focus-open { overflow:hidden; }
.campaign-teaser { display:grid; grid-template-columns:90px minmax(0,1fr); gap:18px; align-items:center; padding:20px; overflow:hidden; }
.campaign-teaser-art img { width:90px; height:160px; object-fit:contain; border-radius:4px; box-shadow:var(--shadow-soft); }
.campaign-teaser h2 { font-size:1.375rem; line-height:1.6; margin:6px 0; }
.campaign-teaser p:not(.campaign-eyebrow) { font-size:.875rem; color:var(--muted-foreground); line-height:1.8; }
.campaign-collection-covers { display:grid; gap:20px; }
.campaign-collection-covers .campaign-teaser { min-width:0; color:var(--ui-text); }
.campaign-collection-covers .campaign-teaser>div { min-width:0; }
.campaign-collection-covers .campaign-eyebrow,.campaign-collection-covers .campaign-text-link { color:var(--ui-accent); }
.campaign-collection-covers .campaign-teaser p:not(.campaign-eyebrow) { color:var(--ui-muted); }
.campaign-collection-covers .campaign-teaser:focus-visible { outline:2px solid var(--ui-accent); outline-offset:5px; }
.campaign-collection-all { justify-content:center; width:100%; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .campaign-collection-covers .campaign-teaser { transition:transform var(--motion-normal),box-shadow var(--motion-normal); } .campaign-collection-covers .campaign-teaser:hover { transform:translateY(-3px);box-shadow:var(--shadow-soft); } }
.campaign-text-link { display:inline-flex; align-items:center; min-height:44px; gap:8px; font-size:.875rem; font-weight:700; color:var(--wine); margin-top:4px; }
@media(min-width:650px) { .campaign-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .campaign-gallery-heading { grid-template-columns:1fr 1fr; align-items:end; gap:40px; } .campaign-cover { padding:36px; } .campaign-project-footer { grid-template-columns:1fr 1fr; } .campaign-next-project { justify-self:end; } }
@media(min-width:1000px) { .campaign-grid { gap:48px; } .campaign-cover { padding:40px 50px; } .campaign-card:nth-child(even) { transform:translateY(44px); } .campaign-footnote { padding-top:44px; } .campaign-project-heading { padding-block:32px; } .mode-story { max-width:980px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:44px; } .mode-story .campaign-page:first-child { grid-column:1 / -1; width:440px; justify-self:center; } .mode-story .campaign-page:last-child:nth-child(even) { grid-column:1 / -1; width:440px; justify-self:center; } }
@media(max-width:359px) { .campaign-main { padding-inline:16px; } .campaign-cover { padding:26px 20px; } .campaign-modes button { padding-inline:14px; } .focus-controls { gap:6px; padding-inline:8px; } .focus-controls button { padding:9px; gap:5px; } .focus-header { padding:10px 12px; } .campaign-pager { gap:6px; } .campaign-pager button { padding:10px 12px; } .campaign-teaser { grid-template-columns:74px minmax(0,1fr); gap:12px; padding:16px; } .campaign-teaser-art img { width:74px; height:auto; } }
@media(prefers-reduced-motion:no-preference) { html { scroll-behavior:smooth; } .campaign-cover img { transition:transform .45s cubic-bezier(.2,.7,.2,1); } .campaign-reveal { animation:campaign-reveal .65s cubic-bezier(.2,.7,.2,1) both; } @keyframes campaign-reveal { from { opacity:.45;translate:0 18px;scale:.99; } to {opacity:1;translate:0 0;scale:1;} } }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .campaign-card a:hover .campaign-cover img { transform:translateY(-5px) scale(1.012); } }
@media(prefers-reduced-motion:reduce) { .campaign-page,.campaign-cover img { animation:none!important;transition:none!important;transform:none!important; } }

/* One portfolio engine; occasion colors belong only to the surrounding interface. */
.campaign-main[data-campaign-theme]{--background:var(--ui-bg);--foreground:var(--ui-text);--card:var(--ui-surface);--muted-foreground:var(--ui-muted);--border:var(--ui-border);--wine:var(--ui-accent);background:var(--ui-bg);color:var(--ui-text);min-height:65dvh;transition:background var(--motion-normal),color var(--motion-normal)}
[data-campaign-theme=heritage]{--ui-bg:#f4efe7;--ui-surface:#fffaf2;--ui-elevated:#fffdf9;--ui-text:#392d26;--ui-muted:#726151;--ui-border:#d7c7b3;--ui-accent:#78502e;--ui-hover:#eae0d2;--ui-button:#765033;--ui-button-text:#ffffff}
.dark [data-campaign-theme=heritage]{--ui-bg:#221d19;--ui-surface:#2b241e;--ui-elevated:#382e25;--ui-text:#f6eee3;--ui-muted:#c9b9a5;--ui-border:#584839;--ui-accent:#dfbd90;--ui-hover:#3b3025;--ui-button:#dfbd90;--ui-button-text:#2b2016}
[data-campaign-theme=editorial]{--ui-bg:#f6f1f3;--ui-surface:#fffafb;--ui-elevated:#ffffff;--ui-text:#342431;--ui-muted:#725e6c;--ui-border:#dfd1db;--ui-accent:#794660;--ui-hover:#eadfe6;--ui-button:#794660;--ui-button-text:#ffffff}
.dark [data-campaign-theme=editorial]{--ui-bg:#201a22;--ui-surface:#2b222d;--ui-elevated:#372b38;--ui-text:#f5edf2;--ui-muted:#c8b5c1;--ui-border:#544152;--ui-accent:#dfb8cd;--ui-hover:#3b2c3a;--ui-button:#dfb8cd;--ui-button-text:#291f28}
[data-campaign-theme=editorial] .campaign-cover{background:var(--ui-surface);border-color:var(--ui-border)}
[data-campaign-theme=editorial] .campaign-card-caption{color:var(--ui-text)}
[data-campaign-theme=editorial] .campaign-card-caption p,[data-campaign-theme=editorial] .campaign-ordinal{color:var(--ui-muted)}
[data-campaign-theme=editorial] .campaign-open{background:var(--ui-elevated);color:var(--ui-text)}
.campaign-main .campaign-eyebrow{color:var(--ui-accent)}.campaign-gallery-heading{min-height:235px}.campaign-gallery-heading h1{max-width:14ch;text-wrap:balance}.campaign-filters{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0;border-block:1px solid var(--ui-border);scroll-margin-top:100px}.campaign-filters a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 20px;border:1px solid transparent;border-radius:99px;color:var(--ui-muted);font-size:1rem;transition:background var(--motion-fast),color var(--motion-fast)}.campaign-filters a[aria-current]{background:var(--ui-hover);border-color:var(--ui-border);color:var(--ui-text)}.campaign-main .campaign-results{color:var(--ui-muted);font-size:.875rem;min-height:56px;display:flex;align-items:center}.campaign-empty{margin:24px 0 40px;padding:clamp(28px,6vw,68px);border:1px solid var(--ui-border);border-radius:18px;background:var(--ui-surface);min-height:280px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:16px}.campaign-empty h2{font-size:clamp(24px,4vw,38px);line-height:1.6}.campaign-empty>p:not(.campaign-eyebrow){font-size:1rem;color:var(--ui-muted)}.campaign-empty a{display:inline-flex;align-items:center;gap:12px;min-height:48px;font-size:1rem;color:var(--ui-accent)}.campaign-empty svg{width:20px}.campaign-card[data-campaign-theme=heritage] .campaign-cover{border-color:var(--ui-border);background:var(--ui-surface)}.campaign-card[data-campaign-theme=heritage] .campaign-cover-1{background:var(--ui-hover)}.campaign-collection-links{display:flex;flex-wrap:wrap;gap:8px;margin-block:18px}.campaign-collection-links a{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:10px 14px;background:var(--ui-surface);color:var(--ui-accent);border:1px solid var(--ui-border);border-radius:12px;font-size:.875rem}.campaign-collection-links svg{width:18px;height:18px}.home-work-links{flex-wrap:wrap}.campaign-modes{border-radius:18px;flex-wrap:wrap}.campaign-modes button{min-width:60px}.mode-stack{display:grid;max-width:460px;margin:24px auto 0;gap:48px;isolation:isolate;padding-bottom:32px}.mode-stack .campaign-page{position:sticky;top:calc(var(--header-height) + 16px);padding:10px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);box-shadow:0 12px 32px #0002}.mode-stack .campaign-page>button{aspect-ratio:auto}.mode-stack .campaign-page img{width:100%;height:min(64dvh,620px);aspect-ratio:auto;object-fit:contain}.campaign-request{background:var(--ui-button)!important;color:var(--ui-button-text)!important}.campaign-card{scroll-margin-top:calc(var(--header-height) + 20px)}
@media(max-width:649px){.campaign-gallery-heading{min-height:0;padding-bottom:28px}.campaign-filters{gap:4px}.campaign-filters a{font-size:.875rem;padding:10px 12px}.campaign-main .campaign-results{min-height:52px}.campaign-modes{width:100%;justify-content:space-between;gap:0}.campaign-modes button{padding-inline:12px;flex:1}.campaign-empty{padding:26px;min-height:260px}}
@media(prefers-reduced-motion:reduce){.campaign-main[data-campaign-theme]{transition:none}.mode-stack .campaign-page{position:relative;top:0}.campaign-filters a{transition:none}}

.focus-header-actions{display:flex;gap:8px;align-items:center}.focus-header [data-fullscreen]{padding:10px;min-width:44px}.focus-shell:fullscreen{width:100%;background:var(--ui-bg);color:var(--ui-text)}

/* Seasonal home selection uses the same campaign cards and unmodified covers. */
.seasonal-campaigns{padding:clamp(22px,4vw,48px);border:1px solid var(--ui-border);border-radius:20px;background:var(--ui-bg);color:var(--ui-text)}
.seasonal-campaigns .campaign-card{transform:none}
.seasonal-campaigns .campaign-cover{padding:28px}
.seasonal-campaigns .campaign-cover img{max-width:240px}
.seasonal-campaigns .campaign-card-caption h3{font-size:24px;line-height:1.6}
.seasonal-campaigns .campaign-card-caption p{font-size:14px}
.seasonal-campaigns .home-section-heading{flex-wrap:wrap}
.seasonal-campaigns .home-section-heading .home-text-link{white-space:normal}
[data-campaign-theme=heritage] .campaign-card-caption{color:var(--ui-text)}
[data-campaign-theme=heritage] .campaign-card-caption p{color:var(--ui-muted)}
[data-campaign-theme=heritage] .campaign-open{background:var(--ui-elevated);color:var(--ui-text)}
[data-campaign-theme=heritage] .campaign-ordinal{color:var(--ui-muted)}
@media(max-width:649px){.seasonal-campaigns .campaign-cover{padding:22px}.seasonal-campaigns .campaign-grid{gap:28px}.seasonal-campaigns .home-section-heading .home-text-link{margin-top:0;font-size:14px}.seasonal-campaigns .campaign-card-caption h3{font-size:22px}}
