/* ════════════════════════════════════════════════════════════════
 SERPpro - shared funnel / ad-landing-page styles
 Used by the single-offer pages: /ai-visibility-audit,
 /backlink-gap-audit, /msn-placement
 ════════════════════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
 --bg:#0A0B0D;--surface:#121316;--elevated:#1A1C20;--hover:#22252B;
 --border:#2A2D33;--border-bright:#3A3E46;
 --text:#F5F6F7;--text-2:#C4C7CD;--text-3:#9398A0;--text-4:#6B7076;
 --accent:#00D2BE;--accent-2:#26D9C4;--accent-dim:rgba(0,210,190,0.10);
 --accent-border:rgba(0,210,190,0.30);
 --r:14px;--r-sm:10px;--maxw:1000px;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
a{color:inherit;text-decoration:none}
em{font-family:'Instrument Serif',serif;font-style:italic;color:var(--accent);font-weight:400}
.eyebrow{font-family:'Geist Mono',monospace;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:8px}
.eyebrow::before{content:'';width:18px;height:1px;background:var(--accent)}
h1,h2,h3{font-weight:700;letter-spacing:-0.02em;line-height:1.1}
h1{font-size:clamp(34px,5.5vw,56px)}
h2{font-size:clamp(27px,4vw,40px)}
.lead{color:var(--text-2);font-size:clamp(16px,2vw,19px);line-height:1.6}

/* top bar - logo only */
.topbar{padding:18px 0;border-bottom:1px solid var(--border);position:relative;z-index:5}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo img{height:30px;width:auto;display:block}
.topbar-trust{font-size:13px;color:var(--text-3);display:flex;align-items:center;gap:7px}
.stars{color:var(--accent);letter-spacing:1px}

/* hero */
.hero{position:relative;padding:66px 0 50px;text-align:center;overflow:hidden}
.hero::before{content:'';position:absolute;top:-20%;left:50%;transform:translateX(-50%);width:900px;height:540px;background:radial-gradient(ellipse at center,rgba(0,210,190,0.10),transparent 70%);pointer-events:none}
.hero .wrap{position:relative;max-width:840px}
.hero h1{margin:18px 0 0}
.hero .lead{margin:20px auto 0;max-width:600px}
.hero-cta{margin-top:32px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero-foot{margin-top:22px;font-size:13.5px;color:var(--text-4);display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
.hero-foot span{display:inline-flex;align-items:center;gap:6px}
.tick{color:var(--accent);font-weight:700}
.price-flash{display:inline-flex;align-items:baseline;gap:10px;margin-top:8px}
.price-flash .amt{font-size:40px;font-weight:800;letter-spacing:-.03em}
.price-flash .per{font-size:14px;color:var(--text-3)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-weight:600;font-size:15px;border-radius:var(--r-sm);padding:14px 26px;cursor:pointer;border:1px solid transparent;transition:transform .12s,background .15s,border-color .15s;-webkit-tap-highlight-color:transparent}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--accent);color:#00201d;box-shadow:0 0 0 1px var(--accent),0 8px 24px rgba(0,210,190,.28)}
.btn-primary:hover{background:var(--accent-2)}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--border-bright)}
.btn-ghost:hover{background:var(--elevated);border-color:var(--text-4)}
.btn-lg{padding:16px 32px;font-size:16px}
.btn-block{width:100%}

/* sections */
section{padding:60px 0}
.sec-head{text-align:center;max-width:620px;margin:0 auto 42px}
.sec-head h2{margin:14px 0 0}
.sec-head .lead{margin-top:14px}
.alt{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}

/* problem / value cards */
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:var(--elevated);border:1px solid var(--border);border-radius:var(--r);padding:26px}
.card .pnum{font-family:'Geist Mono',monospace;font-size:13px;color:var(--accent);font-weight:600}
.card h3{font-size:18px;margin:12px 0 8px}
.card p{color:var(--text-3);font-size:14.5px}

/* "what you get" list */
.deliver{max-width:680px;margin:0 auto}
.deliver-list{list-style:none;display:grid;gap:14px}
.deliver-list li{display:flex;gap:13px;background:var(--elevated);border:1px solid var(--border);border-radius:var(--r-sm);padding:16px 18px}
.deliver-list .di{flex-shrink:0;width:22px;height:22px;margin-top:1px;border-radius:6px;background:var(--accent-dim);border:1px solid var(--accent-border);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2300D2BE' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}
.deliver-list b{color:var(--text);font-weight:600}
.deliver-list span{color:var(--text-3);font-size:14.5px}
.deliver-list .dt{color:var(--text);font-size:15px}
/* sample-report callout */
.sample-band{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:22px;padding:22px 24px;background:linear-gradient(180deg,rgba(0,210,190,.06),var(--elevated));border:1px solid var(--accent-border);border-radius:var(--r)}
.sample-text{display:flex;flex-direction:column;gap:3px;text-align:left}
.sample-text b{font-size:16px;color:var(--text)}
.sample-text span{color:var(--text-3);font-size:13.5px}
@media(max-width:560px){.sample-band{flex-direction:column;align-items:stretch;text-align:center}.sample-text{text-align:center}.sample-band .btn{width:100%}}

/* proof strip */
.proof{padding:44px 0}
.proof-label{text-align:center;font-family:'Geist Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-4)}
.logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 34px;margin-top:22px}
.logos span{font-weight:700;font-size:19px;color:var(--text-3);opacity:.85;letter-spacing:-.02em}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}
.stat{text-align:center;padding:18px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r)}
.stat .n{font-size:25px;font-weight:800;letter-spacing:-.02em}
.stat .l{font-size:12.5px;color:var(--text-3);margin-top:5px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.step{text-align:center;padding:8px}
.step-n{width:46px;height:46px;margin:0 auto 16px;border-radius:12px;background:var(--accent-dim);border:1px solid var(--accent-border);color:var(--accent);font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center;font-family:'Geist Mono',monospace}
.step h3{font-size:17px;margin-bottom:8px}
.step p{color:var(--text-3);font-size:14.5px}

/* ── ORDER CARD (inline form) ───────────────────────────────── */
.order{scroll-margin-top:20px}
.order .wrap{max-width:560px}
.order-card{background:var(--elevated);border:1px solid var(--accent-border);border-radius:var(--r);padding:34px 32px;box-shadow:0 24px 60px rgba(0,0,0,.45),0 0 50px rgba(0,210,190,.08);position:relative;overflow:hidden}
.order-card::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at top,rgba(0,210,190,.06),transparent 55%);pointer-events:none}
.order-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:6px;position:relative}
.order-top .oname{font-size:20px;font-weight:700}
.order-top .oturn{font-family:'Geist Mono',monospace;font-size:11.5px;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-top:4px}
.order-top .oprice{text-align:right;flex-shrink:0}
.order-top .oprice .amt{font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1}
.order-top .oprice .per{font-size:12px;color:var(--text-3)}
.order form{position:relative;margin-top:18px}
.field{margin-bottom:15px}
.field label{display:block;font-size:13px;font-weight:600;color:var(--text-2);margin-bottom:7px}
.field .opt{color:var(--text-4);font-weight:400}
.field input,.field textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-family:inherit;font-size:15px;padding:12px 14px;transition:border-color .15s,box-shadow .15s}
.field input::placeholder,.field textarea::placeholder{color:var(--text-4)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,210,190,.15)}
.field textarea{resize:vertical;min-height:64px}
.field .hint{font-size:12px;color:var(--text-4);margin-top:6px}
.order-secure{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12.5px;color:var(--text-4);margin-top:14px}
.pay-icons{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;opacity:.7;font-size:12px;color:var(--text-4);font-family:'Geist Mono',monospace}

/* guarantee */
.g-card{max-width:740px;margin:0 auto;background:var(--elevated);border:1px solid var(--accent-border);border-radius:var(--r);padding:36px 34px;text-align:center;position:relative;overflow:hidden}
.g-card::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at top,rgba(0,210,190,.08),transparent 60%);pointer-events:none}
.g-badge{width:56px;height:56px;margin:0 auto 18px;border-radius:14px;background:var(--accent-dim);border:1px solid var(--accent-border);display:flex;align-items:center;justify-content:center;position:relative}
.g-card h2{font-size:25px}
.g-card p{color:var(--text-2);margin-top:12px;font-size:15.5px;position:relative}

/* faq */
.faq-wrap{max-width:740px;margin:0 auto}
.faq{border:1px solid var(--border);border-radius:var(--r-sm);margin-bottom:12px;background:var(--elevated);overflow:hidden}
.faq button{width:100%;text-align:left;background:none;border:0;color:var(--text);font-family:inherit;font-size:16px;font-weight:600;padding:20px 52px 20px 22px;cursor:pointer;position:relative}
.faq button::after{content:'+';position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--accent);font-weight:400}
.faq.open button::after{content:'\2212'}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;color:var(--text-3);font-size:14.5px;line-height:1.65}
.faq.open .faq-a{max-height:360px}
.faq-a p{padding:0 22px 20px}

/* final cta */
.final{text-align:center}
.final .wrap{max-width:660px}
.final h2{margin-bottom:16px}
.final .lead{margin-bottom:30px}

/* legal */
.legal{padding:28px 0 42px;text-align:center;color:var(--text-4);font-size:13px;border-top:1px solid var(--border)}
.legal a{color:var(--text-3)}
.legal a:hover{color:var(--accent)}

@media(max-width:820px){
 .cards-3,.steps{grid-template-columns:1fr}
 .stats{grid-template-columns:repeat(2,1fr)}
 .hero{padding:50px 0 40px}
 section{padding:48px 0}
 .order-card{padding:28px 22px}
}
