.campaign{position:relative;background:#e4f1f7;isolation:isolate;min-height:400px;aspect-ratio:3/1;max-height:700px;overflow:hidden}
.campaign-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center right;z-index:-1}
.campaign-copy{width:34%;padding:clamp(24px,3vw,60px) 0 clamp(24px,3vw,60px) max(32px,calc((100vw - 1280px)/2));height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.campaign h1{font:500 clamp(36px,3.8vw,72px)/1.04 'Fredoka',sans-serif;letter-spacing:-.045em;margin:15px 0 20px;color:#321044}.campaign h1 span{display:block;white-space:nowrap}.campaign-kicker{font-size:13px;font-weight:700;color:#41394d}.campaign-description{max-width:27ch;font-size:15px;line-height:1.5;margin-bottom:24px;color:#41394d}.campaign .btn{font-size:13px;padding:12px 20px}.campaign-caption{position:absolute;bottom:9px;right:24px;font-size:10px;color:#273e50;background:#ffffffda;padding:4px 9px;border-radius:4px}.campaign-catalog{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-block:22px;font-size:14px;color:#706577}.campaign-catalog a{font-weight:800;color:#321044}.hero-v2 h2#hero-title{font-size:clamp(40px,4vw,64px);font-weight:400;line-height:1.1}.hero-v2 h2#hero-title span{display:block}.hero-v2{padding-top:55px}.hero-bottom{display:none}.hero-description{max-width:33ch}.site-header nav{gap:24px}.site-header nav a{font-size:14px}.demo-bar a{min-height:24px}
.catalogue-note{padding:16px 20px;background:#f2f7f8;border-radius:12px;margin:20px 0 28px;font-size:13px;color:#455765;display:flex;align-items:center;justify-content:space-between;gap:20px}.catalogue-note a{white-space:nowrap;font-weight:800}.catalogue-note p{max-width:78ch}.products .product{display:flex;flex-direction:column}.products .product-image{height:240px;flex-shrink:0;background:#f5f4f6;padding:10px}.products .product-image img{object-fit:contain;max-height:100%;border-radius:9px}.products .product-image span{font-size:10px}.products .product-body{padding:22px;flex:1}.products .product h3{font-size:25px;line-height:1.12;margin-bottom:10px}.products .product p{font-size:13px;line-height:1.55;min-height:0;margin-bottom:14px}.products .product-bottom{gap:10px;padding-top:16px}.products .product-bottom small{font-size:10px}.products .product-bottom strong{font-size:22px}.product-source{margin-top:auto;margin-bottom:8px}.product .missing-photo{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:#f0f4f5;height:240px;color:#706577;font-size:12px}.missing-photo img{width:100px;opacity:.65}.menu-result{font-size:13px;color:#706577;margin-bottom:20px;display:flex;justify-content:space-between}.catalogue-more{display:block;margin:32px auto 0}.filter{min-height:44px}.menu-controls{align-items:flex-start}.filters{flex:1}.product-real .add-btn{min-width:44px;min-height:44px}.site-footer .presentation-links{display:flex;gap:20px;flex-wrap:wrap}
@media(min-width:1500px){.campaign-copy{padding-left:max(48px,calc((100vw - 1280px)/2))}.campaign{aspect-ratio:3/1}.campaign-slide>img{object-fit:contain}}
@media(max-width:1000px){.campaign{min-height:340px;aspect-ratio:auto}.campaign-copy{padding:30px 0 40px 32px;width:37%}.campaign-slide>img{object-fit:contain}.campaign h1{font-size:clamp(32px,4.5vw,46px)}.campaign-description{font-size:13px}.site-header nav{gap:14px}.site-header nav a{font-size:12px}.catalogue-note{align-items:flex-start}.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.campaign{display:flex;flex-direction:column;min-height:0;overflow:visible;background:#e5f0f6}.campaign-slide>img{position:static;order:2;height:auto;aspect-ratio:2/1;object-fit:cover;object-position:right center;z-index:auto}.campaign-copy{width:100%;padding:30px 24px 10px;height:auto;align-items:flex-start}.campaign h1{font-size:42px;line-height:1.02;margin:12px 0 14px}.campaign-description{max-width:40ch;font-size:14px;margin-bottom:18px}.campaign-caption{position:static;order:3;font-size:9px;border-radius:0;text-align:right;background:#e5f0f6;padding:6px 16px}.campaign-catalog{padding-block:16px;font-size:11px;align-items:flex-start}.campaign-catalog span{max-width:23ch}.campaign-catalog a{max-width:16ch;text-align:right}.catalogue-note{display:block;padding:16px;font-size:12px}.catalogue-note a{display:inline-block;margin-top:10px}.menu-result{font-size:12px}.products{grid-template-columns:1fr!important}.products .product-image{height:260px}.products .product-body{padding:20px}.products .product h3{font-size:26px}.site-header nav{display:none}.site-header{min-height:100px}.hero-v2{padding-top:30px}.hero-copy-v2 .hero-actions{display:none}.hero-v2 h2#hero-title{font-size:36px}.hero-description{font-size:15px}.campaign .btn{min-height:46px}.products .product-bottom small{font-size:11px}}

/* Campaigns retain the original banner and connect directly to the catalogue. */
.campaign{max-height:none;min-height:490px;aspect-ratio:auto;padding-bottom:100px;overflow:hidden}
.campaign-slide{position:relative;min-height:410px;isolation:isolate}.campaign-slide[hidden]{display:none}
.campaign-slide>img{object-fit:cover}.campaign-copy{min-height:410px;padding-bottom:48px;width:43%}
.campaign h2{font:500 clamp(36px,3.8vw,65px)/1.04 'Fredoka',sans-serif;letter-spacing:-.045em;margin:15px 0 20px}.campaign h2 span{display:block;white-space:nowrap}
.campaign-cafe{background:#edf5ee}.campaign-club{background:#edf7ff}.campaign:has(.campaign-cafe:not([hidden])){background:#edf5ee}.campaign:has(.campaign-club:not([hidden])){background:#edf7ff}
.campaign-product{position:absolute;right:12%;top:24px;width:34%;height:350px;text-align:center}.campaign-product img{width:100%;height:315px;object-fit:contain;border-radius:28px}.campaign-product span{display:block;font-size:11px;margin-top:10px;color:#536359}
.campaign-club-art{position:absolute;right:9%;top:12px;width:40%;text-align:center}.campaign-club-art>img{width:100%;height:260px;object-fit:contain}.campaign-club-art>p{font-size:13px;margin-top:16px}.campaign-stamps{display:flex;gap:12px;justify-content:center}.campaign-stamps span{width:38px;height:38px;border:1px dashed #82628e;border-radius:50%;display:grid;place-items:center;font:500 18px 'Fredoka'}.campaign-rule{font-size:10px;color:#706577;margin-top:12px}
.campaign-controls{position:absolute;bottom:50px;left:50%;transform:translateX(-50%);display:flex;align-items:center;background:#ffffffd9;border-radius:30px;padding-inline:6px}.campaign-controls button{width:44px;height:44px;border:0;background:none;color:#321044;display:grid;place-items:center;font-size:20px}.campaign-controls button span{width:7px;height:7px;border-radius:9px;background:#b5a7bb;transition:width .2s}.campaign-controls button[aria-pressed=true] span{background:#321044;width:23px}
.campaign-shortcuts{position:relative;z-index:2;margin-top:-32px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.campaign-shortcuts>a,.campaign-shortcuts>button{background:#fff;border:1px solid #e9e5ed;border-radius:18px;box-shadow:0 7px 24px #32104409;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:20px;text-align:left;color:#321044;text-decoration:none;transition:transform .2s,border-color .2s;min-width:0}.campaign-shortcuts>a:hover,.campaign-shortcuts>button:hover{transform:translateY(-3px);border-color:#9a77ae}.campaign-shortcuts span{display:block;font-size:11px;color:#746b7c}.campaign-shortcuts strong{display:block;font:500 23px 'Fredoka';margin:7px 0 16px;white-space:nowrap}.campaign-shortcuts small{display:block;font-size:10px;font-weight:700}.campaign-shortcuts img{width:82px;height:90px;object-fit:contain;border-radius:10px;min-width:0}
@media(min-width:1500px){.campaign-slide{min-height:490px}.campaign-copy{min-height:490px}.campaign-product{height:420px}.campaign-product img{height:380px}.campaign-club-art>img{height:330px}}
@media(max-width:1100px){.campaign-shortcuts{gap:12px}.campaign-shortcuts>a,.campaign-shortcuts>button{padding:16px}.campaign-shortcuts img{width:60px}.campaign-shortcuts strong{font-size:21px}.campaign-club-art{right:4%;width:44%}.campaign h2{font-size:42px}}
@media(max-width:800px){.campaign-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-product{right:5%;width:43%}.campaign-copy{width:50%}.campaign h2{font-size:36px}}
@media(max-width:700px){.campaign{display:block;min-height:0;padding-bottom:90px;overflow:hidden}.campaign-slide{min-height:0;display:flex;flex-direction:column}.campaign-copy{min-height:0;width:100%;padding:30px 24px 12px}.campaign h2{font-size:38px;margin:12px 0 14px}.campaign-slide>img{order:2;position:static;aspect-ratio:2/1;height:auto;object-fit:cover}.campaign-caption{order:3}.campaign-controls{bottom:42px}.campaign-product,.campaign-club-art{position:static;width:100%;height:auto;padding:0 24px 12px}.campaign-product img{height:210px;width:230px}.campaign-product span{font-size:10px}.campaign-club-art>img{height:205px}.campaign-stamps span{width:28px;height:28px;font-size:14px}.campaign-club-art>p{font-size:11px;margin-top:12px}.campaign-shortcuts{gap:10px;margin-top:-25px}.campaign-shortcuts>a,.campaign-shortcuts>button{padding:14px 12px;position:relative;min-height:140px;align-items:flex-start}.campaign-shortcuts strong{font-size:21px;margin:7px 0 36px}.campaign-shortcuts img{position:absolute;right:8px;bottom:27px;width:52px;height:52px}.campaign-shortcuts small{font-size:9px}.campaign-rule{margin-top:9px}.campaign .campaign-description{margin-bottom:16px}}
@media(max-width:360px){.campaign h1{font-size:38px}.campaign h2{font-size:33px}.campaign-shortcuts strong{font-size:19px}.campaign-shortcuts>a,.campaign-shortcuts>button{padding:12px 10px}.campaign-shortcuts img{width:45px;height:45px}}
@media(prefers-reduced-motion:reduce){.campaign-controls button span,.campaign-shortcuts>a,.campaign-shortcuts>button{transition:none}.campaign-shortcuts>a:hover,.campaign-shortcuts>button:hover{transform:none}}
.campaign-slide{min-height:clamp(410px,33.333vw,700px)}
.campaign-slide>.campaign-copy{min-height:clamp(410px,33.333vw,700px)}
.campaign-slide[data-campaign="0"]>img{object-fit:contain}
@media(max-width:700px){.campaign-slide,.campaign-slide>.campaign-copy{min-height:0}.campaign-slide[data-campaign="0"]>img{object-fit:cover}}
