.campaign-page{padding-top:20px;padding-bottom:80px}
.campaign-page__head{max-width:760px;margin:22px 0 34px}
.campaign-page__head h1{margin:6px 0 12px;font-family:var(--font-serif);font-size:clamp(34px,5vw,54px);line-height:1.08;color:var(--ink)}
.campaign-page__head>p:last-child{margin:0;color:var(--muted);font-size:17px;line-height:1.7}
.campaign-grid,.campaign-showcase__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.campaign-card,.campaign-showcase__card{overflow:hidden;border:1px solid var(--border);border-radius:18px;background:var(--card);box-shadow:0 12px 34px rgba(42,68,51,.08)}
.campaign-card__media,.campaign-showcase__media{display:block;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#e8dcc1,#315c45)}
.campaign-card__media img,.campaign-showcase__media img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.campaign-card:hover img,.campaign-showcase__card:hover img{transform:scale(1.025)}
.campaign-card__fallback{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#b99855,#315c45)}
.campaign-card__body,.campaign-showcase__body{padding:22px}
.campaign-card__badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eaf2ea;color:var(--green-dark);font-size:12px;font-weight:800;letter-spacing:.02em}
.campaign-card h2,.campaign-showcase__body h3{margin:12px 0 8px;font-family:var(--font-serif);font-size:24px;line-height:1.2}
.campaign-card h2 a,.campaign-showcase__body h3 a{color:var(--ink);text-decoration:none}
.campaign-card__body>p,.campaign-showcase__body>p{margin:0;color:var(--muted);line-height:1.6}
.campaign-card__foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border);font-size:13px}
.campaign-card__foot strong{color:var(--green-dark)}
.campaign-card__foot a,.campaign-showcase__link{color:var(--green);font-weight:750;text-decoration:none}
.campaign-empty{padding:50px 28px;border:1px dashed var(--border);border-radius:18px;background:var(--cream);text-align:center}
.campaign-empty h2{margin:0 0 8px;font-family:var(--font-serif);font-size:28px}
.campaign-empty p{margin:0 0 22px;color:var(--muted)}
.campaign-showcase__body h3{font-size:22px}
.campaign-showcase__body>p{min-height:3.2em}
.campaign-showcase__link{display:inline-block;margin-top:14px}
.campaign-detail{padding-bottom:86px}
.campaign-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:center;gap:46px;padding-top:28px;padding-bottom:58px}
.campaign-hero__content h1{margin:14px 0 14px;font-family:var(--font-serif);font-size:clamp(38px,5.5vw,66px);line-height:1.04;color:var(--ink)}
.campaign-hero__summary{margin:0;color:var(--muted);font-size:18px;line-height:1.7}
.campaign-hero__rule{display:flex;align-items:center;gap:10px;width:fit-content;margin:22px 0 8px;padding:12px 15px;border-radius:12px;background:#eaf2ea;color:var(--green-dark)}
.campaign-hero__automatic{margin:0 0 22px;color:var(--muted);font-size:14px}
.campaign-hero__media{aspect-ratio:4/3;overflow:hidden;border-radius:24px;background:var(--cream);box-shadow:0 20px 55px rgba(42,68,51,.14)}
.campaign-hero__media img{width:100%;height:100%;object-fit:cover}
.campaign-description{max-width:900px;margin-bottom:58px;padding:28px 32px;border-left:4px solid var(--green);border-radius:0 16px 16px 0;background:var(--cream)}
.campaign-description h2{margin:0 0 12px;font-family:var(--font-serif);font-size:27px}
.campaign-description p{margin:0;color:var(--text);line-height:1.8}
.campaign-products{scroll-margin-top:100px}
.campaign-products .section__head:not(:first-child){margin-top:58px}
.campaign-products__grid{margin-bottom:18px}
@media(max-width:1023px){.campaign-grid,.campaign-showcase__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-hero{grid-template-columns:1fr;gap:28px}.campaign-hero__media{order:-1;max-height:540px}}
@media(max-width:640px){.campaign-page{padding-bottom:58px}.campaign-grid,.campaign-showcase__grid{grid-template-columns:1fr}.campaign-card__body,.campaign-showcase__body{padding:18px}.campaign-card__foot{align-items:flex-start;flex-direction:column}.campaign-hero{padding-top:12px;padding-bottom:42px}.campaign-hero__content h1{font-size:38px}.campaign-hero__summary{font-size:16px}.campaign-description{margin-left:14px;margin-right:14px;padding:22px}.campaign-products .section__head:not(:first-child){margin-top:42px}}
