*{margin:0;padding:0;box-sizing:border-box}
body{font-family:"Microsoft YaHei",sans-serif;background:#f2f6fb;color:#2b3a50;line-height:1.75}
.container{width:min(1200px,100%);margin:0 auto;padding:0 20px}
.site-header{background:#0c3860;color:#fff}
.header-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;flex-wrap:wrap}
.site-header h1{font-size:24px;letter-spacing:1px}
.site-header p{font-size:14px;opacity:.85;margin-top:6px}
.header-phone{font-size:15px;background:rgba(255,255,255,.12);padding:10px 16px;border-radius:24px}
.site-nav{background:#13509a}
.nav-inner{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;padding:14px 0;align-items:center}
.site-nav a{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.site-nav a:hover{opacity:.85}
.nav-right{display:flex;gap:12px;margin-left:auto}
.nav-btn{padding:8px 20px;border-radius:20px;font-size:13px;background:rgba(255,255,255,.15)}
.nav-btn:hover{background:rgba(255,255,255,.2)}
.nav-btn-primary{background:#25a86a;color:#fff}
.nav-btn-primary:hover{background:#1e8a57}
.hero{background:linear-gradient(135deg,#0f4e8c 0%,#0a3868 100%);color:#fff;padding:80px 0}
.hero-content{text-align:center}
.hero h2{font-size:38px;line-height:1.1;max-width:900px;margin:0 auto}
.hero p{font-size:17px;max-width:760px;margin:20px auto 0;opacity:.9}
.section{padding:60px 0}
.section h3{font-size:26px;color:#133d70;margin-bottom:24px;position:relative;padding-left:18px}
.section h3:before{content:"";position:absolute;left:0;top:8px;width:5px;height:26px;background:#1a73c4}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.card{background:#fff;border-radius:16px;box-shadow:0 20px 40px rgba(24,59,98,.08);padding:28px;transition:transform .24s ease,box-shadow .24s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 24px 46px rgba(24,59,98,.12)}
.card h4{font-size:18px;color:#114172;margin-bottom:12px}
.card p{font-size:15px;color:#4a556d;line-height:1.8}
.contact-section .contact-card{background:#0b3f70;color:#fff;border-radius:16px;padding:32px;box-shadow:0 18px 44px rgba(12,27,64,.12)}
.contact-card p{font-size:16px;margin-bottom:14px}
.site-footer{background:#061d38;color:#9fb3cb;padding:22px 0;text-align:center}
.site-footer p{font-size:14px}
.auth-page{min-height:calc(100vh - 150px);display:flex;align-items:center;justify-content:center;padding:40px 20px}
.auth-container{background:#fff;border-radius:20px;box-shadow:0 24px 60px rgba(24,59,98,.12);padding:48px;width:100%;max-width:420px}
.auth-header{text-align:center;margin-bottom:36px}
.auth-header h2{font-size:28px;color:#133d70;margin-bottom:8px}
.auth-header p{font-size:15px;color:#6b7a8f}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:14px;color:#3d4f64;margin-bottom:8px;font-weight:500}
.form-group input{width:100%;padding:14px 16px;border:1px solid #e1e8f0;border-radius:12px;font-size:15px;background:#fafbfc;transition:border-color .2s}
.form-group input:focus{outline:none;border-color:#1a73c4;background:#fff}
.form-group select{width:100%;padding:14px 16px;border:1px solid #e1e8f0;border-radius:12px;font-size:15px;background:#fafbfc;transition:border-color .2s}
.form-group select:focus{outline:none;border-color:#1a73c4;background:#fff}
.form-group .error{color:#e54b4f;font-size:13px;margin-top:6px}
.form-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px}
.btn-primary{background:linear-gradient(135deg,#1a73c4 0%,#13509a 100%);color:#fff;border:none;padding:14px 24px;border-radius:12px;font-size:15px;font-weight:500;cursor:pointer;transition:transform .2s,box-shadow .2s}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(26,115,196,.3)}
.btn-secondary{background:#f0f4f8;color:#3d4f64;border:none;padding:14px 24px;border-radius:12px;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s}
.btn-secondary:hover{background:#e1e8f0}
.auth-link{text-align:center;margin-top:20px}
.auth-link a{color:#1a73c4;font-size:14px}
.auth-link a:hover{text-decoration:underline}
.alert{padding:14px 16px;border-radius:12px;margin-bottom:20px;font-size:14px}
.alert-success{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}
.alert-error{background:#ffebee;color:#c62828;border:1px solid #ffcdd2}
@media(max-width:768px){.header-inner,.nav-inner{flex-direction:column;align-items:center}.hero{padding:60px 0}.hero h2{font-size:30px}.nav-right{margin-top:12px}}