
:root{
  --primary:#662d91;
  --primary-dark:#55257a;
  --bg:#ffffff;
  --bg-soft:#f7f5fb;
  --text:#222222;
  --muted:#666666;
  --border:#e7ddf0;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg);line-height:1.6}
a{text-decoration:none;color:inherit}
.container{width:min(1140px,92%);margin:auto}
.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.nav{display:flex;justify-content:space-between;align-items:center;padding:16px 0;gap:20px}
.brand h1{margin:0;font-size:28px;color:var(--primary)}
.brand p{margin:2px 0 0;color:var(--muted);font-size:14px}
.menu{display:flex;flex-wrap:wrap;gap:18px;font-size:15px}
.menu a:hover{color:var(--primary)}
.hero{background:radial-gradient(circle at top right, rgba(102,45,145,.12), transparent 28%),radial-gradient(circle at bottom left, rgba(102,45,145,.08), transparent 32%),#fff;padding:72px 0}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.badge{display:inline-block;padding:8px 14px;border-radius:999px;background:rgba(102,45,145,.10);color:var(--primary);font-weight:700;font-size:14px}
.hero h2{font-size:48px;line-height:1.15;margin:18px 0 14px}
.hero p{font-size:18px;color:var(--muted);max-width:680px}
.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.btn{display:inline-block;padding:14px 22px;border-radius:12px;font-weight:700;transition:.2s transform,.2s background,.2s color,.2s border;border:none;cursor:pointer}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-dark)}
.btn-outline{border:2px solid var(--primary);color:var(--primary);background:#fff}
.btn-outline:hover{background:var(--primary);color:#fff}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:22px;box-shadow:0 10px 30px rgba(30,10,60,.06)}
.card h3{margin:12px 0 8px;font-size:20px}
.card p{margin:0;color:var(--muted);font-size:15px}
.icon{font-size:34px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px;max-width:560px}
.stat{border:1px solid var(--border);border-radius:18px;padding:16px;text-align:center;background:#fff}
.stat strong{display:block;font-size:28px;color:var(--primary)}
.section{padding:70px 0}
.section-soft{background:var(--bg-soft)}
.section-title small{display:block;color:var(--primary);font-weight:700;text-transform:uppercase;letter-spacing:.18em;margin-bottom:8px}
.section-title h2{margin:0 0 12px;font-size:38px}
.section-title p{margin:0;color:var(--muted);max-width:760px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.feature{border:1px solid var(--border);background:#fff;border-radius:18px;padding:20px}
.feature ul{margin:0;padding-left:18px}
.cta{background:linear-gradient(90deg, rgba(102,45,145,.10), #fff, rgba(102,45,145,.05));border:1px solid var(--border); border-radius:28px; padding:32px}
.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.contact-box,.form-box{border:1px solid var(--border);border-radius:24px;padding:24px;background:#fff}
.form-box{background:#fbfafe;box-shadow:0 12px 30px rgba(30,10,60,.06)}
.field{margin-bottom:16px}
label{display:block;font-weight:700;margin-bottom:7px}
input,select,textarea{width:100%;padding:13px 14px;border:1px solid #d4c4e4;border-radius:12px;font:inherit;background:#fff;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--primary)}
textarea{min-height:130px;resize:vertical}
.note{font-size:14px;color:var(--muted)}
.footer{border-top:1px solid var(--border);padding:28px 0;color:var(--muted);font-size:14px;background:#fff}
.footer-links{display:flex;gap:14px;flex-wrap:wrap}
.banner-mini{margin-top:22px}
.notice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.notice{border:1px solid var(--border);border-radius:20px;padding:22px;background:#fff}
.notice h3{margin-top:0;color:var(--primary)}
.contact-list p{margin:10px 0}
.page-hero{padding:54px 0;background:var(--bg-soft);border-bottom:1px solid var(--border)}
.page-hero h2{margin:0;font-size:40px}
.page-hero p{margin:8px 0 0;color:var(--muted)}
@media (max-width:900px){
  .hero-grid,.contact-wrap,.grid-2,.notice-grid,.grid-3{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr 1fr}
  .hero h2{font-size:38px}
}
@media (max-width:640px){
  .menu{display:none}
  .cards{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  .section-title h2,.page-hero h2{font-size:30px}
  .hero h2{font-size:32px}
}
