:root{--bg:#fff;--fg:#1a1a1a;--accent:#7c3aed}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--fg);background:var(--bg)}
.wrap{max-width:1000px;margin:0 auto;padding:0 20px}
.site-header{border-bottom:1px solid #eee}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-weight:700;text-decoration:none;color:inherit}.site-nav a{margin-left:16px;color:inherit;text-decoration:none}
.hero{padding:80px 0;background:#faf7f4}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-size:12px}
.lead{font-size:20px;color:#444}.btn{display:inline-block;background:var(--accent);color:#fff;padding:10px 16px;border-radius:8px;text-decoration:none}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.card{border:1px solid #eee;border-radius:12px;padding:16px}
.gallery img{width:100%;height:180px;object-fit:cover;border-radius:12px}
.stats .wrap{display:flex;gap:32px;padding:40px 20px}.stat .k{display:block;font-size:12px;color:#888}.stat .v{font-size:28px;font-weight:700}
.testimonials{padding:40px 0}.quote{margin:0;border-left:3px solid var(--accent);padding-left:14px}.quote cite{display:block;margin-top:8px;color:#888;font-style:normal}
.faq{padding:40px 0}.qa{border-bottom:1px solid #eee;padding:12px 0}.qa summary{cursor:pointer;font-weight:600}
.contact{padding:40px 0}.form{display:grid;gap:12px;max-width:520px}.form label{display:grid;gap:4px;font-size:14px}
.form input,.form textarea{border:1px solid #ddd;border-radius:8px;padding:10px;font:inherit}.note{color:#888;font-size:14px}.hp{position:absolute;left:-9999px}
.cta{background:#1a1a1a;color:#fff;padding:60px 0}.prose{padding:60px 0}.site-footer{border-top:1px solid #eee;padding:24px 0;color:#888}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}.reveal.in{opacity:1;transform:none}
.split .w{display:inline-block;opacity:0;transform:translateY(.4em);animation:wordin .6s ease forwards;animation-delay:calc(var(--i) * 60ms)}@keyframes wordin{to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none}.split .w{opacity:1;transform:none;animation:none}}
