/* One campaign template, using the storefront's cards, filters, type and spacing. */
.campaign-page {padding-bottom:0}
.campaign-hero {background:var(--cream)}
.campaign-hero .breadcrumbs {padding-bottom:12px}
.campaign-hero-inner {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;min-height:460px}
.campaign-copy {padding:48px 0 64px;align-self:center}
.campaign-copy h1 {font-size:56px;line-height:64px;letter-spacing:-1.2px;font-weight:500;margin:16px 0 24px;text-wrap:balance}
.campaign-copy>p:not(.eyebrow) {font-size:18px;line-height:28px;max-width:510px;color:var(--soft)}
.campaign-image {position:relative;min-width:0;margin:0;min-height:460px;overflow:hidden}
.campaign-image img {position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.campaign-image.cutout img {object-fit:contain;padding:24px 0;mix-blend-mode:multiply}
@media(min-width:768px){
  .campaign-hero:not(.is-sale) {position:relative}
  .campaign-hero:not(.is-sale) .campaign-image {position:absolute;top:0;bottom:0;left:calc(50% + 40px);right:0;min-height:0}
}
@media(min-width:768px) and (max-width:1100px){.campaign-hero:not(.is-sale) .campaign-image{left:calc(50% + 18px)}}
.campaign-products {padding-block:var(--section-space);scroll-margin-top:24px}
.campaign-section-heading h2 {font-size:36px;line-height:44px;font-weight:500;letter-spacing:-.5px;margin-top:12px}
.campaign-groups {flex-wrap:wrap}
.campaign-groups button:hover {border-color:var(--copper);color:var(--copper)}
.campaign-groups button[aria-pressed=true]:hover {color:white;border-color:var(--ink)}
.campaign-page .catalog-layout {margin-top:32px}
.campaign-page .catalog-grid {grid-template-columns:repeat(3,minmax(0,1fr))}

.campaign-hero.is-sale {background:var(--ink);color:white}
.is-sale .breadcrumbs {color:#d4d1cb}
.is-sale .breadcrumbs [aria-current] {color:white}
.is-sale .campaign-hero-inner {min-height:340px}
.is-sale .campaign-copy {padding-block:40px 56px}
.is-sale .campaign-copy h1 {font-size:64px;line-height:72px;margin:12px 0 20px}
.is-sale .campaign-copy>p:not(.eyebrow) {color:#dedbd5}
.campaign-offer {--offer-unit:1px;display:grid;grid-template-columns:max-content;justify-content:end;align-self:center;padding:32px 0 32px 40px}
.campaign-discount {display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;white-space:nowrap}
.campaign-discount>span {font-family:Kripa,sans-serif;font-size:calc(35 * var(--offer-unit));line-height:calc(40 * var(--offer-unit));font-weight:400;color:#dedbd5;margin-inline-start:calc(11 * var(--offer-unit))}
/* Optical offsets follow the visible glyph edges and cap height in the reference. */
.campaign-discount strong {font-family:Kripa,sans-serif;font-size:calc(136 * var(--offer-unit));line-height:.8;letter-spacing:-5px;font-weight:500;color:var(--copper);margin-top:calc(-7 * var(--offer-unit))}
.campaign-offer>p:last-child {justify-self:end;text-align:right;font-family:Kripa,sans-serif;font-size:calc(17.5 * var(--offer-unit));line-height:calc(24 * var(--offer-unit));letter-spacing:calc(.6 * var(--offer-unit));font-weight:400;color:#dedbd5;margin-top:calc(8 * var(--offer-unit));margin-inline-end:calc(2 * var(--offer-unit))}
@media(min-width:1680px){.campaign-page .catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:768px) and (max-width:1100px){.campaign-hero-inner{gap:36px;min-height:400px}.campaign-image{min-height:400px}.campaign-copy{padding-block:32px}.campaign-copy h1{font-size:40px;line-height:48px;letter-spacing:-.8px}.campaign-copy>p:not(.eyebrow){font-size:17px;line-height:26px}.campaign-page .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.campaign-hero-inner{grid-template-columns:minmax(0,1fr);gap:0;min-height:0}.campaign-copy{padding:16px 0 28px}.campaign-copy h1{font-size:36px;line-height:44px;letter-spacing:-.7px;margin:12px 0 18px}.campaign-copy>p:not(.eyebrow){font-size:16px;line-height:26px}.campaign-image{min-height:0;aspect-ratio:1.3}.campaign-image.cutout{aspect-ratio:1.5}.campaign-image.cutout img{padding:0 0 20px}.campaign-section-heading h2{font-size:28px;line-height:36px;margin-top:10px}.campaign-groups{gap:8px;margin-top:24px}.campaign-groups button{font-size:13px;min-height:38px;padding:8px 16px}.campaign-page .catalog-layout{margin-top:24px}.campaign-page .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:768px) and (max-width:1100px){.campaign-discount strong{letter-spacing:-3px}.campaign-offer{--offer-unit:calc(96px / 136);padding-left:24px}.is-sale .campaign-copy h1{font-size:48px;line-height:56px}}
@media(max-width:767px){.is-sale .campaign-hero-inner{min-height:0}.is-sale .campaign-copy{padding:20px 0 28px}.is-sale .campaign-copy h1{font-size:44px;line-height:52px}.campaign-offer{--offer-unit:calc(100px / 136);padding:28px 0 36px}.campaign-discount strong{letter-spacing:-3px}}
@media(max-width:767px){.campaign-hero:not(.is-sale) .campaign-image{margin-inline:calc(-1 * var(--gutter))}}
