:root{
  --brand:#0CB8B8;
  --brand-2:#0A4F7A;
  --bg:#ffffff;
  --bg-soft:#f5f7fa;
  --fg:#1a2233;
  --fg-soft:#5b6779;
  --line:#eef1f5;
  --radius:16px;
  --maxw:1120px;
  --shadow:0 10px 30px rgba(15,25,40,.08);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--fg);background:var(--bg);line-height:1.75;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{line-height:1.3;letter-spacing:.2px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}

/* header */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:66px}
.brand{font-weight:800;font-size:20px;color:var(--brand-2);letter-spacing:.4px}
.nav ul{display:flex;gap:26px;list-style:none;align-items:center}
.nav ul a{color:var(--fg-soft);font-size:15px;transition:color .2s}
.nav ul a:hover{color:var(--brand)}
.nav .btn{padding:9px 18px;font-size:14px}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.burger span{width:22px;height:2px;background:var(--fg);display:block}

/* hero */
.hero{padding:104px 0 80px;background:linear-gradient(135deg,var(--bg-soft) 0%,#fff 70%)}
.hero h1{font-size:clamp(30px,4.4vw,52px);max-width:820px}
.hero p{margin:22px 0 32px;color:var(--fg-soft);font-size:clamp(16px,1.6vw,20px);max-width:640px}
.btn{display:inline-block;padding:13px 28px;border-radius:999px;background:var(--brand);color:#fff;font-weight:600;border:0;cursor:pointer;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(12,184,184,.35)}
.btn.ghost{background:transparent;color:var(--brand-2);border:1.5px solid var(--brand-2)}

/* sections */
.section{padding:84px 0}
.section.soft{background:var(--bg-soft)}
.section h2{font-size:clamp(24px,3vw,34px);margin-bottom:12px}
.section .lead{color:var(--fg-soft);margin-bottom:40px;max-width:680px}
.grid{display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}
.grid.two{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;box-shadow:var(--shadow);transition:transform .18s}
.card:hover{transform:translateY(-4px)}
.card h3{font-size:19px;margin-bottom:10px;color:var(--brand-2)}
.card p{color:var(--fg-soft);font-size:15px}
.icon{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand-2));margin-bottom:16px}

/* footer */
footer.site{background:#0c1424;color:#c7d2e0;padding:44px 0;margin-top:20px}
footer.site a{color:#8fb0d6}
footer.site .cols{display:flex;gap:40px;flex-wrap:wrap;justify-content:space-between}
footer.site p{font-size:14px;color:#8a99ad;margin-top:18px}

/* form */
.form{max-width:480px}
.form label{display:block;font-size:14px;margin:16px 0 6px;color:var(--fg-soft)}
.form input,.form textarea{width:100%;padding:12px 14px;border:1px solid #d9e0ea;border-radius:10px;font-size:15px;font-family:inherit}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--brand)}
.center{min-height:70vh;display:flex;align-items:center;justify-content:center}
.auth-card{width:100%;max-width:400px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:36px 30px;box-shadow:var(--shadow)}

@media(max-width:860px){
  .grid,.grid.two{grid-template-columns:1fr}
  .nav ul{display:none}
  .nav ul.open{display:flex;position:absolute;top:66px;left:0;right:0;background:#fff;flex-direction:column;padding:18px 22px;border-bottom:1px solid var(--line);gap:16px}
  .burger{display:flex}
  .hero{padding:72px 0 56px}
  .section{padding:60px 0}
}
