:root{
  --purple:#a77dd9; --purple-600:#8f5fcc; --accent:#4B2E83; --blue:#b0a4ff;
  --bg:#f7f3fb; --panel:#ffffff; --ink:#2a1f3d; --muted:#6b5a84; --line:#e4d8f6;
}
*{box-sizing:border-box} html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;line-height:1.6}
a{color:var(--accent);text-decoration:none} img{max-width:100%;display:block}
.wrapper{width:min(1100px,92%);margin-inline:auto}
.topbar{background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.8rem 0}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.2rem;color:var(--accent)}
.brand .accent{color:var(--purple-600)} .menu{display:flex;align-items:center;gap:.9rem}
.menu a{color:var(--muted)} .lang{background:var(--panel);border:1px solid var(--line);padding:.4rem .5rem;border-radius:.45rem;color:var(--ink)}
.btn{background:var(--purple);color:#fff;padding:.7rem 1rem;border-radius:.6rem;border:1px solid transparent;font-weight:600;display:inline-flex;align-items:center;justify-content:center;transition:.15s}
.btn:hover{background:var(--purple-600)} .btn--light{background:transparent;color:var(--accent);border:1px solid var(--line)} .btn--block{display:block;width:100%} .btn--xl{font-size:1.06rem;padding:1rem 1.2rem}
.hero{padding:3.5rem 0 2.2rem;background:radial-gradient(800px 380px at 15% -10%, rgba(167,125,217,.35), transparent), radial-gradient(800px 380px at 85% -10%, rgba(176,164,255,.25), transparent)}
.hero__grid{display:grid;grid-template-columns:1.2fr .9fr;gap:2rem;align-items:center}
h1{font-size:clamp(2rem,6vw,3rem);line-height:1.1;margin:.2rem 0 .6rem} h2{color:var(--accent);font-size:2rem;margin:.2rem 0 1rem}
.lead{color:var(--muted);max-width:42ch}
.cta{display:grid;grid-template-columns:1fr 1fr auto;gap:.6rem;margin:1rem 0}
.cta select,.cta input{background:var(--panel);border:1px solid var(--line);color:var(--ink);padding:.85rem;border-radius:.6rem}
.cta .note{grid-column:1/-1;color:var(--muted);font-size:.9rem;margin:0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:1.2rem;box-shadow:0 4px 18px rgba(75,46,131,.06)}
.hero__logo{width:90px;opacity:.95;margin:0 auto .6rem}
.checklist{list-style:none;padding:0;margin:0;display:grid;gap:.55rem;color:var(--muted)} .dot{display:inline-block;width:.55rem;height:.55rem;border-radius:.25rem;background:var(--purple);margin-right:.5rem;vertical-align:middle}
.how{padding:2.5rem 0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.step{background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:1rem}
.num{width:36px;height:36px;border-radius:.55rem;background:var(--purple);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.cta-wide{padding:2.2rem 0;border-block:1px solid var(--line);background:linear-gradient(180deg, rgba(167,125,217,.12), transparent)}
.cta__grid{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}
.contact{padding:2.6rem 0} .grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem;align-items:start}
/* Testimonials */
.testi{padding:2.4rem 0} .testi__wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.quote{background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:1rem}
.quote p{margin:.4rem 0} .stars{color:#f39c12}
/* FAQ accordion */
.faq{padding:2.4rem 0} .faq__item{border:1px solid var(--line);border-radius:.8rem;background:var(--panel);margin:.6rem 0}
.faq__q{padding:.9rem 1rem;cursor:pointer;font-weight:700;color:var(--accent)}
.faq__a{padding:0 1rem;max-height:0;overflow:hidden;transition:max-height .25s ease} .faq__item.open .faq__a{padding:0 1rem .9rem;max-height:400px}
/* Map */
.map{padding:2.4rem 0} .map iframe{width:100%;height:360px;border:1px solid var(--line);border-radius:1rem}
.footer{background:var(--panel);border-top:1px solid var(--line);margin-top:2rem;padding:1rem 0}
.footer__grid{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem}
.sr-only{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
@media (max-width:980px){ .hero__grid{grid-template-columns:1fr} .steps{grid-template-columns:1fr 1fr} .testi__wrap{grid-template-columns:1fr} .grid-2{grid-template-columns:1fr} .cta{grid-template-columns:1fr;gap:.8rem} .cta__grid{grid-template-columns:1fr} }
