MailPro — Intelligent Direct Mail
:root{
–bg:#09090B;
–bg1:#0F0F12;
–bg2:#141418;
–bg3:#1A1A1F;
–bg4:#222228;
–border:#ffffff0f;
–border2:#ffffff18;
–border3:#ffffff28;
–text:#FAFAFA;
–text2:#A1A1AA;
–text3:#71717A;
–neon:#00E5A0;
–neon2:#00C98A;
–neon-glow:rgba(0,229,160,.15);
–amber:#F59E0B;
–purple:#8B5CF6;
–white:#FFFFFF;
–sans:’Inter’,system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(–sans);background:var(–bg);color:var(–text);overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:var(–neon);color:#000}
/* NAV */
nav{
position:fixed;top:0;left:0;right:0;z-index:200;
display:flex;align-items:center;justify-content:space-between;
padding:1.1rem 2.5rem;
border-bottom:1px solid transparent;
transition:all .3s;
}
nav.scrolled{
background:rgba(9,9,11,.85);
backdrop-filter:blur(20px);
border-bottom-color:var(–border);
}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.nav-mark{
width:32px;height:32px;background:var(–neon);border-radius:8px;
display:flex;align-items:center;justify-content:center;
}
.nav-mark svg{width:16px;height:16px}
.nav-name{font-size:17px;font-weight:700;color:var(–text);letter-spacing:-.02em}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{font-size:14px;font-weight:400;color:var(–text2);text-decoration:none;transition:color .15s}
.nav-links a:hover{color:var(–text)}
.nav-actions{display:flex;align-items:center;gap:10px}
.btn-ghost{
padding:8px 18px;border-radius:8px;
border:1px solid var(–border2);background:transparent;
color:var(–text2);font-family:var(–sans);font-size:14px;
cursor:pointer;text-decoration:none;transition:all .15s;
}
.btn-ghost:hover{border-color:var(–border3);color:var(–text);background:var(–bg3)}
.btn-neon{
padding:9px 20px;border-radius:8px;
background:var(–neon);color:#000;
font-family:var(–sans);font-size:14px;font-weight:600;
border:none;cursor:pointer;text-decoration:none;
transition:all .15s;display:inline-flex;align-items:center;gap:6px;
}
.btn-neon:hover{background:#00f0aa;transform:translateY(-1px)}
/* HERO */
.hero{
min-height:100vh;
display:flex;flex-direction:column;
align-items:center;justify-content:center;
padding:9rem 2rem 6rem;
text-align:center;
position:relative;overflow:hidden;
}
/* grid background */
.hero::before{
content:”;position:absolute;inset:0;
background-image:linear-gradient(var(–border) 1px,transparent 1px),linear-gradient(90deg,var(–border) 1px,transparent 1px);
background-size:60px 60px;
mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 30%,transparent 100%);
}
/* neon glow */
.hero-glow{
position:absolute;top:20%;left:50%;transform:translateX(-50%);
width:700px;height:400px;
background:radial-gradient(ellipse,rgba(0,229,160,.12) 0%,transparent 70%);
pointer-events:none;
}
.hero-badge{
display:inline-flex;align-items:center;gap:7px;
background:rgba(0,229,160,.08);
border:1px solid rgba(0,229,160,.2);
border-radius:100px;padding:5px 14px;
font-size:12px;font-weight:500;color:var(–neon);
letter-spacing:.02em;margin-bottom:2rem;
animation:fadeUp .6s .1s both;
}
.badge-dot{width:6px;height:6px;border-radius:50%;background:var(–neon);box-shadow:0 0 8px var(–neon);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
h1.hero-h{
font-size:clamp(48px,7vw,90px);
font-weight:700;
line-height:.98;
letter-spacing:-.04em;
color:var(–text);
margin-bottom:1.75rem;
animation:fadeUp .7s .2s both;
}
h1.hero-h .neon{color:var(–neon)}
h1.hero-h .dim{color:var(–text3)}
.hero-sub{
font-size:18px;font-weight:400;color:var(–text2);
line-height:1.65;max-width:560px;margin:0 auto 2.5rem;
animation:fadeUp .7s .35s both;
}
.hero-actions{
display:flex;align-items:center;justify-content:center;
gap:12px;flex-wrap:wrap;
animation:fadeUp .7s .5s both;
}
.btn-neon-lg{
padding:14px 32px;border-radius:10px;
background:var(–neon);color:#000;
font-family:var(–sans);font-size:15px;font-weight:600;
letter-spacing:-.01em;border:none;cursor:pointer;text-decoration:none;
transition:all .15s;display:inline-flex;align-items:center;gap:8px;
}
.btn-neon-lg:hover{background:#00f0aa;transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,229,160,.3)}
.btn-outline-lg{
padding:13px 28px;border-radius:10px;
border:1px solid var(–border2);background:transparent;
color:var(–text2);font-family:var(–sans);font-size:15px;font-weight:500;
cursor:pointer;text-decoration:none;transition:all .15s;
}
.btn-outline-lg:hover{border-color:var(–border3);color:var(–text);background:var(–bg3)}
.hero-trust{
display:flex;align-items:center;justify-content:center;
gap:1.5rem;margin-top:3rem;flex-wrap:wrap;
animation:fadeUp .7s .65s both;
}
.trust-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(–text3)}
.trust-sep{width:1px;height:14px;background:var(–border2)}
.trust-item svg{width:14px;height:14px;stroke:var(–text3);stroke-width:1.5;fill:none}
/* floating cards */
.hero-cards{
display:flex;gap:14px;justify-content:center;
margin-top:4rem;flex-wrap:wrap;
animation:fadeUp .7s .75s both;
}
.hcard{
background:var(–bg2);border:1px solid var(–border2);
border-radius:12px;padding:16px 20px;
text-align:left;min-width:160px;
transition:border-color .2s,transform .2s;
}
.hcard:hover{border-color:var(–border3);transform:translateY(-2px)}
.hcard-label{font-size:11px;font-weight:500;color:var(–text3);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.hcard-val{font-size:26px;font-weight:700;color:var(–text);letter-spacing:-.03em;line-height:1}
.hcard-delta{font-size:12px;color:var(–neon);margin-top:4px;font-weight:500}
.hcard-delta.amber{color:var(–amber)}
.hcard-delta.purple{color:var(–purple)}
/* TICKER */
.ticker-wrap{
border-top:1px solid var(–border);border-bottom:1px solid var(–border);
background:var(–bg1);overflow:hidden;padding:14px 0;
}
.ticker{display:flex;gap:0;width:max-content;animation:tick 24s linear infinite}
.tick-item{
padding:0 2rem;font-size:12px;font-weight:500;
color:var(–text3);letter-spacing:.06em;text-transform:uppercase;
white-space:nowrap;display:flex;align-items:center;gap:8px;
}
.tick-sep{width:4px;height:4px;border-radius:50%;background:var(–border3)}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* METRICS STRIP */
.metrics-strip{
display:grid;grid-template-columns:repeat(4,1fr);
border-bottom:1px solid var(–border);
}
.metric{
padding:2.5rem 2rem;border-right:1px solid var(–border);
position:relative;overflow:hidden;
transition:background .2s;
}
.metric:last-child{border-right:none}
.metric:hover{background:var(–bg1)}
.metric-num{
font-size:clamp(36px,3.5vw,52px);font-weight:700;
letter-spacing:-.04em;color:var(–text);
line-height:1;margin-bottom:6px;
}
.metric-num .neon{color:var(–neon)}
.metric-label{font-size:13px;color:var(–text2);font-weight:400;line-height:1.5}
.metric-tag{
display:inline-block;font-size:10px;font-weight:600;
letter-spacing:.08em;text-transform:uppercase;
padding:2px 8px;border-radius:4px;margin-bottom:.75rem;
}
.tag-neon{background:rgba(0,229,160,.1);color:var(–neon);border:1px solid rgba(0,229,160,.2)}
.tag-amber{background:rgba(245,158,11,.1);color:var(–amber);border:1px solid rgba(245,158,11,.2)}
.tag-purple{background:rgba(139,92,246,.1);color:var(–purple);border:1px solid rgba(139,92,246,.2)}
.tag-white{background:rgba(255,255,255,.06);color:var(–text2);border:1px solid var(–border2)}
/* SECTION SHARED */
.section{padding:7rem 2rem}
.section-inner{max-width:1160px;margin:0 auto}
.section-eyebrow{
font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
color:var(–neon);margin-bottom:1rem;
display:flex;align-items:center;gap:8px;
}
.section-eyebrow::before{content:”;width:16px;height:2px;background:var(–neon)}
h2.stitle{
font-size:clamp(36px,4.5vw,56px);font-weight:700;
letter-spacing:-.04em;color:var(–text);line-height:1.05;
margin-bottom:1.25rem;
}
h2.stitle .neon{color:var(–neon)}
h2.stitle .dim{color:var(–text3)}
.sdesc{font-size:17px;font-weight:400;color:var(–text2);line-height:1.7;max-width:520px}
/* HOW */
.how-bg{background:var(–bg1);border-top:1px solid var(–border);border-bottom:1px solid var(–border)}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:3.5rem;border:1px solid var(–border)}
.step{
padding:2rem 1.5rem;border-right:1px solid var(–border);
position:relative;overflow:hidden;transition:background .15s;
}
.step:last-child{border-right:none}
.step:hover{background:var(–bg2)}
.step-n{
font-size:11px;font-weight:700;letter-spacing:.1em;
color:var(–neon);text-transform:uppercase;margin-bottom:1.25rem;
display:flex;align-items:center;gap:6px;
}
.step-n::after{content:”;flex:1;height:1px;background:rgba(0,229,160,.2)}
.step-title{font-size:16px;font-weight:600;color:var(–text);letter-spacing:-.01em;margin-bottom:.6rem}
.step-desc{font-size:13px;color:var(–text2);line-height:1.65;font-weight:400}
/* FEATURES */
.feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(–border);margin-top:3.5rem;border:1px solid var(–border)}
.feat{background:var(–bg1);padding:2.5rem;transition:background .15s;position:relative;overflow:hidden}
.feat:hover{background:var(–bg2)}
.feat.wide{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.feat-tag{
font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
margin-bottom:1rem;display:inline-flex;align-items:center;gap:6px;
}
.feat-tag::before{content:”;width:12px;height:2px}
.feat-title{font-size:22px;font-weight:700;color:var(–text);letter-spacing:-.02em;margin-bottom:.75rem;line-height:1.2}
.feat-desc{font-size:14px;color:var(–text2);line-height:1.75;font-weight:400}
.feat-list{list-style:none;margin-top:1.25rem;display:flex;flex-direction:column;gap:8px}
.feat-list li{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:var(–text2)}
.feat-list li::before{content:”;width:5px;height:5px;border-radius:50%;flex-shrink:0;margin-top:6px}
/* Pipe vis */
.pipe{display:flex;flex-direction:column;gap:5px;margin-top:1.75rem}
.pipe-row{
display:flex;align-items:center;gap:10px;
background:rgba(255,255,255,.03);border:1px solid var(–border);
border-radius:6px;padding:9px 12px;
}
.pipe-row.ok{background:rgba(0,229,160,.05);border-color:rgba(0,229,160,.15)}
.pipe-row.warn{background:rgba(245,158,11,.05);border-color:rgba(245,158,11,.15)}
.pdot{width:6px;height:6px;border-radius:50%;background:var(–text3);flex-shrink:0}
.pipe-row.ok .pdot{background:var(–neon);box-shadow:0 0 6px rgba(0,229,160,.5)}
.pipe-row.warn .pdot{background:var(–amber)}
.plabel{font-size:12px;color:var(–text2);flex:1}
.pbadge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px}
.pbadge.ok{background:rgba(0,229,160,.12);color:var(–neon)}
.pbadge.warn{background:rgba(245,158,11,.12);color:var(–amber)}
/* bars */
.rbars{display:flex;flex-direction:column;gap:8px;margin-top:1.5rem}
.rbar-row{display:flex;align-items:center;gap:10px}
.rbar-id{font-size:11px;color:var(–text3);width:48px;flex-shrink:0;font-weight:500}
.rbar-wrap{flex:1;height:5px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden}
.rbar-fill{height:5px;border-radius:3px}
.rbar-pct{font-size:12px;font-weight:600;min-width:34px;text-align:right}
/* ai typing */
.ai-vis{
background:rgba(255,255,255,.03);border:1px solid var(–border);
border-radius:8px;padding:16px;margin-top:1.5rem;
}
.ai-ctx{font-size:10px;color:var(–text3);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;font-weight:600}
.ai-l{height:7px;background:rgba(255,255,255,.06);border-radius:4px;margin-bottom:8px}
.ai-l.hl{height:13px;background:rgba(0,229,160,.12);width:82%}
.ai-cursor{display:inline-block;width:2px;height:13px;background:var(–neon);vertical-align:middle;margin-left:2px;animation:blink 1s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.ai-actions{display:flex;gap:6px;margin-top:12px}
.ai-btn{
padding:4px 12px;border-radius:5px;font-size:11px;font-weight:500;
border:1px solid var(–border2);background:transparent;color:var(–text3);
cursor:pointer;font-family:var(–sans);transition:all .15s;
}
.ai-btn:hover{border-color:var(–neon);color:var(–neon)}
.ai-btn.active{background:rgba(0,229,160,.1);border-color:rgba(0,229,160,.3);color:var(–neon)}
/* stats grid in wide feat */
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:1.75rem}
.sg-card{background:rgba(255,255,255,.03);border:1px solid var(–border);border-radius:8px;padding:16px}
.sg-val{font-size:24px;font-weight:700;color:var(–neon);letter-spacing:-.03em;line-height:1}
.sg-label{font-size:11px;color:var(–text3);margin-top:4px;font-weight:400}
/* TESTIMONIALS */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(–border);border:1px solid var(–border);margin-top:3.5rem}
.tcard{background:var(–bg1);padding:2.5rem;transition:background .15s}
.tcard:hover{background:var(–bg2)}
.tcard-stars{margin-bottom:1.25rem}
.star{color:var(–amber);font-size:15px}
.tcard-q{
font-size:15px;font-weight:400;color:var(–text2);
line-height:1.75;margin-bottom:1.75rem;font-style:italic;
}
.tcard-a{display:flex;align-items:center;gap:10px}
.tcard-av{
width:36px;height:36px;border-radius:8px;
display:flex;align-items:center;justify-content:center;
font-size:12px;font-weight:700;color:#000;flex-shrink:0;
}
.tcard-name{font-size:13px;font-weight:600;color:var(–text)}
.tcard-role{font-size:12px;color:var(–text3)}
.tcard-result{margin-left:auto;font-size:20px;font-weight:700;color:var(–neon);letter-spacing:-.02em}
/* INDUSTRIES */
.ind-bg{background:var(–bg1);border-top:1px solid var(–border);border-bottom:1px solid var(–border)}
.ind-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:2.5rem}
.ind-chip{
display:flex;align-items:center;gap:8px;
padding:10px 16px;
background:var(–bg2);border:1px solid var(–border);border-radius:8px;
font-size:14px;font-weight:500;color:var(–text2);
cursor:default;transition:all .15s;
}
.ind-chip:hover{border-color:var(–neon);color:var(–text);background:rgba(0,229,160,.05)}
.ind-chip svg{width:15px;height:15px;stroke:var(–text3);stroke-width:1.5;fill:none;flex-shrink:0}
.ind-chip:hover svg{stroke:var(–neon)}
/* PRICING */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(–border);border:1px solid var(–border);margin-top:3.5rem}
.pcard{background:var(–bg1);padding:2.5rem;position:relative}
.pcard.featured{background:linear-gradient(135deg,#0F1F18 0%,#0A1612 100%);border:1px solid rgba(0,229,160,.25)}
.ptier{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(–text3);margin-bottom:1.25rem}
.pcard.featured .ptier{color:rgba(0,229,160,.6)}
.pname{font-size:22px;font-weight:700;color:var(–text);letter-spacing:-.02em;margin-bottom:.4rem}
.pamount{font-size:52px;font-weight:700;color:var(–text);letter-spacing:-.05em;line-height:1;margin-bottom:4px}
.pcard.featured .pamount{color:var(–neon)}
.pperiod{font-size:13px;color:var(–text3);margin-bottom:2rem}
.pdiv{height:1px;background:var(–border);margin-bottom:1.5rem}
.pfeats{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:2rem}
.pfeats li{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:var(–text2)}
.pcheck{width:16px;height:16px;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center}
.pcheck svg{width:11px;height:11px;stroke-width:2.5;fill:none}
.pop-badge{
position:absolute;top:-12px;left:50%;transform:translateX(-50%);
background:var(–neon);color:#000;
font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
padding:3px 12px;border-radius:100px;white-space:nowrap;
}
.btn-neon-full{
display:block;width:100%;padding:13px;border-radius:8px;
background:var(–neon);color:#000;
font-family:var(–sans);font-size:14px;font-weight:600;
text-align:center;text-decoration:none;border:none;cursor:pointer;
transition:all .15s;
}
.btn-neon-full:hover{background:#00f0aa}
.btn-dark-full{
display:block;width:100%;padding:12px;border-radius:8px;
background:transparent;color:var(–text2);
font-family:var(–sans);font-size:14px;font-weight:500;
text-align:center;text-decoration:none;
border:1px solid var(–border2);cursor:pointer;transition:all .15s;
}
.btn-dark-full:hover{border-color:var(–border3);color:var(–text);background:var(–bg3)}
/* CTA */
.cta-wrap{
margin:0 2rem 4rem;border-radius:20px;
background:var(–bg2);border:1px solid var(–border2);
padding:6rem 3rem;text-align:center;
position:relative;overflow:hidden;
}
.cta-glow{
position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
width:600px;height:300px;
background:radial-gradient(ellipse,rgba(0,229,160,.08) 0%,transparent 70%);
pointer-events:none;
}
.cta-eyebrow{
font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
color:var(–neon);margin-bottom:1.25rem;
display:flex;align-items:center;justify-content:center;gap:8px;
}
.cta-eyebrow::before,.cta-eyebrow::after{content:”;width:20px;height:1px;background:rgba(0,229,160,.4)}
h2.cta-title{
font-size:clamp(36px,5vw,62px);font-weight:700;
letter-spacing:-.04em;color:var(–text);line-height:1.05;
margin-bottom:1.25rem;
}
h2.cta-title .neon{color:var(–neon)}
.cta-desc{font-size:17px;color:var(–text2);max-width:480px;margin:0 auto 2.5rem;line-height:1.65}
.cta-form{
display:flex;max-width:420px;margin:0 auto;gap:8px;
position:relative;z-index:1;flex-wrap:wrap;justify-content:center;
}
.cta-input{
flex:1;min-width:200px;padding:13px 18px;border-radius:8px;
background:rgba(255,255,255,.06);border:1px solid var(–border2);
color:var(–text);font-family:var(–sans);font-size:14px;
outline:none;transition:border-color .15s;
}
.cta-input:focus{border-color:rgba(0,229,160,.4)}
.cta-input::placeholder{color:var(–text3)}
.cta-note{font-size:12px;color:var(–text3);margin-top:.75rem}
/* FOOTER */
footer{
max-width:1160px;margin:0 auto;
padding:4rem 2rem 2rem;
display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;
border-top:1px solid var(–border);
}
.footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:1rem;text-decoration:none}
.footer-desc{font-size:13px;color:var(–text3);line-height:1.75;max-width:240px}
.fcol-head{font-size:13px;font-weight:600;color:var(–text);margin-bottom:1rem;letter-spacing:-.01em}
.flinks{list-style:none;display:flex;flex-direction:column;gap:9px}
.flinks a{font-size:13px;color:var(–text3);text-decoration:none;transition:color .15s}
.flinks a:hover{color:var(–text)}
.footer-bottom{
max-width:1160px;margin:0 auto;
padding:1.5rem 2rem 2.5rem;
display:flex;align-items:center;justify-content:space-between;
border-top:1px solid var(–border);
}
.fcopy{font-size:12px;color:var(–text3)}
/* MODAL */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.8);backdrop-filter:blur(8px);z-index:9000;align-items:center;justify-content:center}
.modal-overlay.open{display:flex}
.modal-box{background:var(–bg2);border:1px solid var(–border2);border-radius:16px;padding:3rem;max-width:400px;width:90%;text-align:center;position:relative;animation:fadeUp .35s ease}
.modal-close{position:absolute;top:1.25rem;right:1.25rem;background:var(–bg3);border:none;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:14px;color:var(–text2);display:flex;align-items:center;justify-content:center}
.modal-icon{font-size:36px;margin-bottom:1rem;display:block}
.modal-title{font-size:26px;font-weight:700;letter-spacing:-.03em;color:var(–text);margin-bottom:.75rem}
.modal-desc{font-size:14px;color:var(–text2);line-height:1.65;margin-bottom:2rem}
/* ANIM */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
/* RESPONSIVE */
@media(max-width:1024px){
.steps{grid-template-columns:repeat(3,1fr)}
.feat-grid{grid-template-columns:1fr}
.feat.wide{grid-column:auto;grid-template-columns:1fr}
.tgrid{grid-template-columns:1fr}
.pgrid{grid-template-columns:1fr;max-width:380px;margin-left:auto;margin-right:auto}
.metrics-strip{grid-template-columns:1fr 1fr}
.metric:nth-child(2){border-right:none}
.metric:nth-child(3){border-top:1px solid var(–border)}
footer{grid-template-columns:1fr 1fr;gap:2rem}
.section,.cta-wrap,.footer-bottom{padding-left:1.5rem;padding-right:1.5rem}
nav{padding:1rem 1.5rem}
}
@media(max-width:768px){
.nav-links{display:none}
.steps{grid-template-columns:1fr 1fr}
.hero-cards{display:none}
footer{grid-template-columns:1fr;padding:3rem 1.5rem 1.5rem}
.footer-bottom{flex-direction:column;gap:.5rem;text-align:center;padding:1.5rem}
}
Now with property data scoring
AI-powered
direct mail that
actually converts.
CRM-connected, AI-optimized campaigns with precision route targeting, verified addresses, and intelligence that compounds with every send.
From CRM to doorstep
in five steps.
Every step validates, refines, and improves the next. A learning loop, not a mail house.
Every tool.
One platform.
CRM connection, address validation, route targeting, AI copy, fulfillment, and response tracking — end to end.
to your mailbox.
Live segment sync with Salesforce, HubSpot, and Klaviyo. No CSV exports. Opt-outs and frequency caps enforced on every send. Conversion data written back automatically.
- Live segment sync — no manual exports
- Frequency caps prevent over-mailing
- Do-not-mail suppression on every send
- Conversion data pushed back to CRM
the neighborhood.
Claude AI writes headlines, body, and CTAs calibrated to your audience’s income, homeownership rate, and housing stock. Not templated. Not generic.
Every route. Tracked.
Log inbound calls by carrier route, outcome, and revenue. AI identifies your top-converting zones and tells you exactly where to focus next send.
Real campaigns.
Real revenue.
Every business that
serves a neighborhood.
Simple pricing.
Scale when you win.
No per-piece software fees. No setup costs. Your print vendor is billed at market rate — separately.
-
3 campaigns per month
-
Up to 5,000 pieces per campaign
-
1 CRM integration
-
NCOA + CASS validation
-
EDDM route targeting
-
AI copy generation
-
30-day response tracking
-
Unlimited campaigns
-
Up to 50,000 pieces / campaign
-
All CRM integrations
-
Property data scoring (ATTOM)
-
Unlimited AI copy generations
-
90-day tracking + AI optimization
-
Priority support
-
Unlimited volume
-
Multi-location management
-
White-label option
-
Custom API integrations
-
Dedicated CSM + SLA
-
SSO / SAML auth
-
Custom data retention
All plans include a 14-day free trial · No credit card required · Cancel anytime
Your next campaign
should be smarter.
Join 2,400+ local businesses using MailPro to find the right households, mail with precision, and get better every single send.
14 days free · No credit card · Cancel anytime
window.addEventListener(‘scroll’,()=>document.getElementById(‘nav’).classList.toggle(‘scrolled’,window.scrollY>50));
const obs=new IntersectionObserver(e=>{e.forEach(x=>{if(x.isIntersecting)x.target.classList.add(‘visible’)})},{threshold:.1,rootMargin:’0px 0px -30px 0px’});
document.querySelectorAll(‘.reveal’).forEach(el=>obs.observe(el));
const routes=[{id:’C002′,r:2.9,c:’#00E5A0′},{id:’C001′,r:2.9,c:’#00E5A0′},{id:’C006′,r:1.9,c:’#8B5CF6′},{id:’C005′,r:1.8,c:’#8B5CF6′},{id:’C004′,r:1.2,c:’rgba(255,255,255,.25)’},{id:’C008′,r:.8,c:’rgba(255,255,255,.15)’}];
const rb=document.getElementById(‘rbars’);
if(rb)rb.innerHTML=routes.map(r=>`
`).join(”);
document.querySelectorAll(‘a[href^=”#”]’).forEach(a=>{a.addEventListener(‘click’,e=>{const id=a.getAttribute(‘href’).slice(1);const el=document.getElementById(id);if(el){e.preventDefault();el.scrollIntoView({behavior:’smooth’,block:’start’})}})});
function handleCTA(e){e.preventDefault();document.getElementById(‘modal’).classList.add(‘open’)}
document.getElementById(‘modal’).addEventListener(‘click’,function(e){if(e.target===this)this.classList.remove(‘open’)});