/* reveal animation — only hides when JS is active (.js on <html>), so content
   is always visible if JS fails or the observer misses an above-fold element */
.js [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.js [data-reveal].cd-in{opacity:1;transform:none}

/* hero */
.hero{padding:96px 0 64px;text-align:center;background:radial-gradient(120% 80% at 50% 0%,var(--cd-primary-light) 0%,#fff 60%)}
.hero__inner{max-width:820px}
.hero h1{margin:14px 0 20px}
.hero__sub{font-size:1.15rem;color:var(--cd-gray-muted);max-width:620px;margin:0 auto 28px}
.hero__cta{display:flex;gap:10px;justify-content:center;max-width:480px;margin:0 auto 18px}
.hero__cta input{flex:1;padding:14px 16px;border:1px solid #d7dade;border-radius:var(--cd-radius-button);font-family:inherit;font-size:.95rem}
.hero__cta input:focus{outline:none;border-color:var(--cd-primary)}
.hero__trust{font-size:.85rem;color:var(--cd-gray-muted)}
@media(max-width:560px){.hero__cta{flex-direction:column}}

/* stats */
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat{background:var(--cd-gray-light);border-radius:var(--cd-radius-card);padding:32px 24px;text-align:center}
.stat__num{display:block;font-size:2.6rem;font-weight:300;color:var(--cd-dark);line-height:1}
.stat__label{display:block;margin-top:8px;font-family:var(--cd-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cd-gray-muted)}
@media(max-width:760px){.stats__grid{grid-template-columns:1fr 1fr}}

/* features */
.features__title{text-align:center;margin-bottom:44px}
.features__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feat{display:block;transition:transform .15s,box-shadow .15s}
.feat:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(20,20,40,.08)}
.feat h3{margin-bottom:10px}
.feat p{color:var(--cd-gray-muted);font-size:.95rem;margin-bottom:14px}
.feat__link{color:var(--cd-primary);font-weight:500;font-size:.9rem}
@media(max-width:860px){.features__grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.features__grid{grid-template-columns:1fr}}

/* cta band */
.cta-band__inner{background:var(--cd-dark);color:#fff;border-radius:var(--cd-radius-section);padding:72px 40px;text-align:center}
.cta-band__inner h2{margin-bottom:12px}
.cta-band__inner p{color:#b9bdc6;margin-bottom:28px}
@media(max-width:560px){.cta-band__inner{border-radius:32px;padding:48px 24px}}

/* generic form (shared) */
.cd-form .err{color:#c0392b;font-size:.85rem;margin-top:8px;display:none}
