.campaign-section{padding:65px 0;border-top:1px solid #444}
.campaign-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:30px}
.campaign-section-head h2{font:clamp(32px,4vw,48px)/1.05 var(--display);text-transform:uppercase;margin:12px 0 0}
.campaign-section-head>a{font-size:14px;border-bottom:1px solid #888;padding-bottom:4px;white-space:nowrap}
.campaign-card{display:grid;grid-template-columns:1.05fr 1fr;background:#f3f0e9;color:#171717;overflow:hidden}
.campaign-image{width:100%;height:100%;min-height:320px;object-fit:cover;display:block}
.campaign-copy{padding:clamp(26px,4vw,50px);min-width:0;align-self:center}
.campaign-copy .campaign-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8e252b;margin:0 0 18px}
.campaign-copy h2{font:clamp(32px,4vw,52px)/1.04 var(--display);text-transform:uppercase;margin:0 0 24px;overflow-wrap:anywhere}
.campaign-copy .campaign-text{color:#57534d;font-size:16px;line-height:1.8;margin:0 0 25px;white-space:pre-line}
.campaign-copy .campaign-terms{color:#68615a;font-size:12px;line-height:1.7;border-top:1px solid #cdc7bd;padding-top:14px;margin:0 0 24px;white-space:pre-line}
.campaign-copy .button{font-size:17px;padding:14px 22px;text-decoration:none}
.campaign-secondary{display:block;color:#6d242a;font-size:13px;margin-top:20px;text-decoration:underline;text-underline-offset:4px}
.campaign-card-text{grid-template-columns:1fr}.campaign-card-text .campaign-copy{max-width:850px}
.campaign-list{display:grid;gap:30px}.campaign-page{max-width:1240px}
.campaign-dialog{padding:0;border:0;width:min(840px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;background:#f3f0e9;color:#171717}
.campaign-dialog::backdrop{background:rgba(0,0,0,.78)}
.campaign-close{position:absolute;top:12px;right:12px;z-index:2;display:grid;place-items:center;width:44px;height:44px;border:1px solid #ccc;background:#f3f0e9;color:#171717;font:30px/1 Arial,sans-serif;cursor:pointer;border-radius:50%}
.campaign-close:focus-visible{outline:3px solid #a62028;outline-offset:3px}
.campaign-dialog .campaign-image{min-height:350px}.campaign-dialog .campaign-copy{padding:50px 28px 32px}
.campaign-dialog .campaign-copy h2{font-size:38px}.campaign-dialog .campaign-text{font-size:15px}
@media(max-width:720px){.campaign-section{padding:40px 0}.campaign-section-head{display:block}.campaign-section-head>a{display:inline-block;margin-top:20px}.campaign-card{grid-template-columns:1fr}.campaign-image{height:230px;min-height:0}.campaign-copy{padding:26px}.campaign-copy h2{font-size:36px}.campaign-copy .campaign-text{font-size:15px}.campaign-dialog .campaign-image{min-height:0;height:210px}.campaign-dialog .campaign-copy{padding:28px 24px}.campaign-dialog .campaign-copy h2{font-size:32px}.campaign-dialog .campaign-image{object-position:center}.campaign-close{width:40px;height:40px}.campaign-dialog .campaign-card-text .campaign-copy{padding-top:64px}}
@media(prefers-reduced-motion:no-preference){.campaign-dialog[open]{animation:campaign-in .2s ease-out}@keyframes campaign-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}
.subpage .campaign-copy a.button{text-decoration:none}
