* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #F8FBFE; color: #10263F; font-family: 'Figtree', sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
.campaign-shell { min-height: 100vh; display: flex; flex-direction: column; }
.campaign-header { background: #fff; border-bottom: 1px solid #E7EEF6; }
.campaign-header-inner { max-width: 1180px; margin: 0 auto; padding: 18px 28px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.campaign-logo { display: inline-flex; align-items: center; gap: 10px; }
.campaign-logo img { width: auto; height: 34px; }
.campaign-logo-wordmark { height: 20px !important; }
.campaign-back { color: #5C7089; font-size: 14px; font-weight: 600; }
.campaign-back:hover { color: #1671D9; }
.campaign-main { width: 100%; flex: 1; }
.campaign-hero { max-width: 1180px; margin: 0 auto; padding: 88px 28px 72px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr); align-items: center; gap: 68px; }
.campaign-eyebrow { margin: 0 0 16px; color: #5CB324; font: 700 13px/1.2 'Plus Jakarta Sans', sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.campaign-hero h1 { max-width: 650px; margin: 0 0 22px; color: #0D2A4A; font: 800 clamp(38px, 5vw, 62px)/1.06 'Plus Jakarta Sans', sans-serif; letter-spacing: -.04em; text-wrap: balance; }
.campaign-hero-copy { max-width: 610px; margin: 0 0 30px; color: #44586F; font-size: 19px; line-height: 1.55; text-wrap: pretty; }
.campaign-cta { display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; padding: 15px 24px; background: #1671D9; color: #fff; font-size: 16px; font-weight: 700; box-shadow: 0 14px 28px -14px rgba(22,113,217,.65); transition: transform .2s ease, background .2s ease; }
.campaign-cta:hover { background: #0D4EA3; transform: translateY(-2px); }
.campaign-note { margin: 14px 0 0; color: #8298B0; font-size: 13px; }
.campaign-panel { background: #fff; border: 1px solid #E0ECF7; border-radius: 22px; padding: 30px; box-shadow: 0 28px 58px -34px rgba(13,42,74,.35); }
.campaign-panel-label { margin-bottom: 18px; color: #7C90A6; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.campaign-flow { display: grid; gap: 13px; }
.campaign-flow-item { display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 13px; padding: 15px; border: 1px solid #E7EEF6; border-radius: 13px; background: #F6FAFD; }
.campaign-flow-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: #EBF3FC; color: #1671D9; font-weight: 800; }
.campaign-flow-item:nth-child(2) .campaign-flow-icon { background: #EAF6DF; color: #3E7C12; }
.campaign-flow-item strong { display: block; margin-bottom: 3px; color: #0D2A4A; font: 700 15px 'Plus Jakarta Sans', sans-serif; }
.campaign-flow-item span { color: #5C7089; font-size: 13px; line-height: 1.4; }
.campaign-proof { background: #fff; border-top: 1px solid #E7EEF6; }
.campaign-proof-inner { max-width: 1180px; margin: 0 auto; padding: 60px 28px 76px; }
.campaign-proof h2 { max-width: 590px; margin: 0 0 28px; color: #0D2A4A; font: 800 32px/1.15 'Plus Jakarta Sans', sans-serif; letter-spacing: -.025em; }
.campaign-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.campaign-benefit { padding: 22px; border: 1px solid #E7EEF6; border-radius: 15px; background: #F8FBFE; }
.campaign-benefit h3 { margin: 0 0 8px; color: #0D2A4A; font: 700 17px 'Plus Jakarta Sans', sans-serif; }
.campaign-benefit p { margin: 0; color: #5C7089; font-size: 14px; line-height: 1.55; }
.campaign-footer { padding: 22px 28px; border-top: 1px solid #E7EEF6; color: #8298B0; font-size: 13px; text-align: center; }
@media (max-width: 820px) { .campaign-hero { grid-template-columns: 1fr; gap: 42px; padding-top: 64px; } .campaign-benefits { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .campaign-header-inner { padding: 14px 18px; } .campaign-back { font-size: 12px; } .campaign-logo img { height: 29px; } .campaign-logo-wordmark { height: 17px !important; } .campaign-hero, .campaign-proof-inner { padding-left: 20px; padding-right: 20px; } .campaign-panel { padding: 20px; } }
