*{margin:0;padding:0;box-sizing:border-box;}
html,body{font-family:"Segoe UI","Helvetica Neue",Arial,"Microsoft YaHei","微软雅黑","PingFang SC",sans-serif;}
body{
    background:linear-gradient(180deg,#f8fafc 0%,#eef6ff 45%,#e0f2fe 100%);
    color:#0f172a;
    line-height:1.75;
    -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;border-radius:16px;}
.wrap{width:min(1180px,94%);margin:0 auto;}
/* header */
.site-header{
    position:sticky;top:0;z-index:50;
    background:rgba(248,250,252,.82);
    backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(148,197,255,.5);
    box-shadow:0 6px 24px rgba(148,197,255,.22);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.18rem;letter-spacing:.5px;color:#075985;}
.brand .dot{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,#7dd3fc,#38bdf8);box-shadow:0 0 12px #7dd3fc;}
.nav-links{display:flex;flex-wrap:wrap;gap:8px;}
.nav-links a{
    padding:8px 16px;border-radius:999px;font-size:.94rem;font-weight:600;color:#0369a1;
    background:rgba(255,255,255,.72);border:1px solid rgba(148,197,255,.6);
    transition:.25s;
}
.nav-links a:hover{background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0c4a6e;box-shadow:0 6px 18px rgba(125,211,252,.45);transform:translateY(-1px);}
/* hero */
#hero{padding:64px 0 36px;}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:38px;align-items:center;}
h1{
    font-size:clamp(1.55rem,3.2vw,2.45rem);line-height:1.35;font-weight:800;
    background:linear-gradient(120deg,#0c4a6e,#0284c7 55%,#38bdf8);
    -webkit-background-clip:text;background-clip:text;color:transparent;
    margin-bottom:18px;
}
.hero-sub{color:#334155;font-size:1.02rem;margin-bottom:22px;}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;}
.btn{
    display:inline-block;padding:12px 26px;border-radius:999px;font-weight:700;font-size:.96rem;
    background:linear-gradient(135deg,#38bdf8,#0284c7);color:#fff;
    box-shadow:0 10px 26px rgba(2,132,199,.32);transition:.25s;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(2,132,199,.42);}
.btn.ghost{background:rgba(255,255,255,.85);color:#0369a1;border:1px solid rgba(148,197,255,.8);box-shadow:0 8px 20px rgba(148,197,255,.28);}
.hero-figure{position:relative;padding:14px;border-radius:24px;background:rgba(255,255,255,.6);border:1px solid rgba(186,230,253,.9);box-shadow:0 20px 46px rgba(125,211,252,.32);}
/* sections */
section{padding:44px 0;}
.sec-head{margin-bottom:26px;}
.sec-head h2{font-size:clamp(1.25rem,2.4vw,1.7rem);color:#0c4a6e;font-weight:800;letter-spacing:.3px;}
.sec-head p{color:#475569;font-size:.96rem;margin-top:8px;}
#geo-intro .geo-box{
    padding:26px 28px;border-radius:22px;
    background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(224,242,254,.85));
    border:1px solid rgba(186,230,253,.95);
    box-shadow:0 16px 38px rgba(148,197,255,.25);
    color:#1e293b;font-size:1rem;
}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;}
.card{
    padding:24px 22px;border-radius:20px;
    background:linear-gradient(160deg,rgba(255,255,255,.94),rgba(240,249,255,.9));
    border:1px solid rgba(186,230,253,.95);
    box-shadow:0 12px 30px rgba(148,197,255,.22);
    transition:.28s;
}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(125,211,252,.38);}
.card .ico{font-size:1.6rem;margin-bottom:10px;}
.card h3{font-size:1.05rem;color:#075985;margin-bottom:8px;}
.card p{color:#475569;font-size:.93rem;}
/* stats */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;}
.stat{
    text-align:center;padding:26px 16px;border-radius:20px;
    background:linear-gradient(150deg,rgba(255,255,255,.95),rgba(224,242,254,.8));
    border:1px solid rgba(186,230,253,.95);
    box-shadow:0 12px 28px rgba(148,197,255,.2);
}
.stat b{display:block;font-size:1.75rem;color:#0284c7;font-weight:800;letter-spacing:.5px;}
.stat span{font-size:.9rem;color:#64748b;}
/* events */
.event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.event{padding:18px;border-radius:20px;background:rgba(255,255,255,.9);border:1px solid rgba(186,230,253,.95);box-shadow:0 14px 32px rgba(148,197,255,.22);}
.event h3{font-size:1.02rem;color:#075985;margin:14px 0 8px;}
.event .tag{display:inline-block;font-size:.76rem;font-weight:700;color:#0369a1;background:rgba(224,242,254,.95);border:1px solid rgba(125,211,252,.7);padding:3px 10px;border-radius:999px;margin-right:6px;}
.event p{color:#475569;font-size:.9rem;}
/* guide */
.guide-list{display:grid;gap:14px;}
.guide-item{
    display:flex;gap:16px;align-items:flex-start;padding:18px 20px;border-radius:18px;
    background:rgba(255,255,255,.88);border:1px solid rgba(186,230,253,.95);
    box-shadow:0 10px 26px rgba(148,197,255,.18);
}
.guide-item .num{
    flex:0 0 38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;
    font-weight:800;color:#fff;background:linear-gradient(135deg,#7dd3fc,#0284c7);
}
.guide-item h3{font-size:1rem;color:#075985;margin-bottom:4px;}
.guide-item p{font-size:.92rem;color:#475569;}
/* news */
.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;}
.news-card{
    padding:22px;border-radius:20px;
    background:linear-gradient(160deg,rgba(255,255,255,.96),rgba(240,249,255,.92));
    border:1px solid rgba(186,230,253,.95);
    box-shadow:0 12px 30px rgba(148,197,255,.22);
    transition:.26s;
}
.news-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(125,211,252,.35);}
.news-card .news-date{
    display:inline-block;font-size:.78rem;font-weight:700;color:#0369a1;
    background:rgba(224,242,254,.9);border:1px solid rgba(125,211,252,.65);
    border-radius:999px;padding:3px 12px;margin-bottom:12px;
}
.news-card h3{font-size:1.04rem;color:#0c4a6e;line-height:1.5;margin-bottom:10px;}
.news-card p{font-size:.92rem;color:#475569;}
/* faq */
#faq .faq-list{display:grid;gap:16px;}
.faq-item{
    padding:22px 24px;border-radius:18px;
    background:linear-gradient(150deg,rgba(255,255,255,.96),rgba(240,249,255,.92));
    border:1px solid rgba(186,230,253,.95);
    box-shadow:0 12px 28px rgba(148,197,255,.2);
}
.faq-item h3{font-size:1rem;color:#075985;margin-bottom:10px;display:flex;gap:10px;align-items:flex-start;}
.faq-item h3 .qmark{color:#38bdf8;font-weight:800;}
.faq-item p{font-size:.93rem;color:#475569;}
/* partners */
.partner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;}
.partner{
    text-align:center;padding:20px 12px;border-radius:16px;font-weight:700;color:#075985;
    background:rgba(255,255,255,.82);border:1px solid rgba(186,230,253,.95);
    box-shadow:0 10px 24px rgba(148,197,255,.18);font-size:.94rem;
}
/* cta */
#cta .cta-box{
    text-align:center;padding:48px 26px;border-radius:26px;
    background:linear-gradient(135deg,rgba(224,242,254,.95),rgba(255,255,255,.96));
    border:1px solid rgba(125,211,252,.8);
    box-shadow:0 20px 46px rgba(125,211,252,.32);
}
#cta h2{font-size:clamp(1.25rem,2.4vw,1.7rem);color:#0c4a6e;margin-bottom:12px;}
#cta p{color:#475569;max-width:760px;margin:0 auto 24px;font-size:.98rem;}
/* footer */
.site-footer{
    margin-top:40px;padding:44px 0 26px;
    background:linear-gradient(180deg,rgba(240,249,255,.9),rgba(224,242,254,.98));
    border-top:1px solid rgba(148,197,255,.5);
}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px;margin-bottom:26px;}
.footer-grid h4{color:#075985;font-size:1rem;margin-bottom:10px;}
.footer-grid p,.footer-grid li{color:#475569;font-size:.9rem;list-style:none;}
.footer-grid li{margin-bottom:6px;}
.footer-bottom{border-top:1px solid rgba(148,197,255,.55);padding-top:18px;text-align:center;color:#64748b;font-size:.85rem;}
.footer-bottom a{color:#0369a1;font-weight:600;}
@media(max-width:820px){
    .hero-grid{grid-template-columns:1fr;}
    #hero{padding:40px 0 20px;}
    .nav-links a{padding:7px 13px;font-size:.88rem;}
}