.campaign-main { padding-bottom: 72px; }
.campaign-hero { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 64px; align-items: center; margin: 48px 0 72px; }
.campaign-hero h1 { font-size: clamp(36px, 4vw, 64px); }
.campaign-hero p { max-width: 650px; }
.campaign-video { margin: 0; }
.campaign-video video { display: block; width: 100%; height: auto; max-height: 640px; border-radius: 20px; background: #020906; }
.campaign-video figcaption { font-size: 12px; line-height: 1.6; color: var(--muted); margin-top: 12px; }
.campaign-section { margin: 64px 0; max-width: 100%; }
.campaign-section h2 { margin-bottom: 20px; }
.campaign-section > p { max-width: 760px; }
.campaign-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-top: 32px; }
.campaign-steps article { padding: 24px; border: 1px solid var(--line); border-radius: 16px; }
.campaign-steps span { color: var(--primary); font: 14px ui-monospace, monospace; }
.campaign-steps h3 { font-size: 20px; margin: 16px 0 12px; }
.campaign-feedback { padding-top: 40px; border-top: 1px solid var(--line); }
.campaign-feedback .button { margin-top: 16px; }
@media (max-width: 760px) { .campaign-hero { grid-template-columns: 1fr; gap: 32px; margin-top: 32px; } .campaign-video { max-width: 320px; justify-self: center; } .campaign-steps { grid-template-columns: 1fr; gap: 16px; } }
