.campaign-intro,
.campaign-migration {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(40px, 7vw, 112px);
}
.campaign-intro { margin-bottom: 64px; }
.campaign-copy { min-width: 0; }
.campaign-copy > p {
    max-width: 470px;
    margin: 24px 0 0;
    color: #9daac0;
    font-size: 16px;
    line-height: 1.85;
}
.campaign-copy > .text-link { margin-top: 28px; }
.campaign-copy > .button { margin-top: 32px; }
.campaign-migration .campaign-copy > .text-link { display: flex; width: fit-content; }
.campaign-art {
    display: block;
    width: 100%;
    max-width: 400px;
    justify-self: center;
    overflow: hidden;
    border: 1px solid #263c59;
    border-radius: 22px;
    background: #101722;
    box-shadow: 0 24px 90px -32px #246beb55;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.campaign-art img { display: block; width: 100%; height: auto; }
.campaign-art:hover {
    border-color: #528de2;
    box-shadow: 0 28px 100px -30px #246beb77;
}
.campaign-art:focus-visible { outline: 3px solid #85b6ff; outline-offset: 6px; }
.transfer-visual { display: grid; gap: 20px; min-width: 0; }
.transfer-art {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 22px;
}
#feature-tools { scroll-margin-top: 110px; }
@media (max-width: 900px) {
    .campaign-intro, .campaign-migration { gap: 36px; }
    .campaign-copy > p { font-size: 14px; }
    .campaign-copy h2 { font-size: 34px; }
    .campaign-migration .eyebrow { line-height: 1.8; }
}
@media (max-width: 640px) {
    .campaign-intro, .campaign-migration { grid-template-columns: minmax(0, 1fr); gap: 30px; }
    .campaign-intro { margin-bottom: 38px; }
    .campaign-art { max-width: 360px; border-radius: 18px; }
    .campaign-migration > .campaign-copy { grid-row: 1; }
    .campaign-copy h2 { font-size: clamp(30px, 8vw, 38px); }
    .campaign-copy > p { font-size: 14px; margin-top: 18px; }
    .campaign-copy > .button { max-width: 100%; font-size: 12px; }
    #feature-tools { scroll-margin-top: 90px; }
}
@media (prefers-reduced-motion: reduce) {
    .campaign-art { transition: none; }
}
