*,*::before,*::after{
    box-sizing:border-box;
    font-family:"Segoe UI","Helvetica Neue",Arial,"Microsoft YaHei","微软雅黑","PingFang SC",sans-serif;
}
html{scroll-behavior:smooth;}
body{
    margin:0;
    background:#f6fbfb;
    color:#12414c;
    line-height:1.78;
    font-size:16px;
    -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,p,ul,ol,li,span,a,div,button,strong,em{font-family:"Segoe UI","Helvetica Neue",Arial,"Microsoft YaHei","微软雅黑","PingFang SC",sans-serif;}
img{max-width:100%;display:block;}
a{color:#0891b2;}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px;}
.site-header{
    position:sticky;top:0;z-index:200;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(12px);
    border-bottom:1px solid #d8f1ef;
    box-shadow:0 2px 18px rgba(8,145,178,.06);
}
.header-inner{
    max-width:1180px;margin:0 auto;padding:12px 20px;
    display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
}
.logo{
    font-size:1.18rem;font-weight:800;letter-spacing:.5px;text-decoration:none;
    background:linear-gradient(90deg,#5eead4,#0891b2);
    -webkit-background-clip:text;background-clip:text;color:transparent;
}
.nav-links{display:flex;gap:6px;flex-wrap:wrap;}
.nav-links a{
    color:#0f5f70;text-decoration:none;padding:8px 15px;border-radius:999px;
    font-size:.94rem;transition:.25s ease;white-space:nowrap;
}
.nav-links a:hover{
    background:linear-gradient(90deg,#5eead4,#0891b2);
    color:#fff;box-shadow:0 6px 16px rgba(8,145,178,.22);
}
.hero{
    background:linear-gradient(135deg,#5eead4 0%,#2ec6c4 42%,#0891b2 100%);
    color:#fff;padding:72px 20px 84px;position:relative;overflow:hidden;
}
.hero::after{
    content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;
    background:rgba(255,255,255,.14);
}
.hero-inner{
    max-width:1180px;margin:0 auto;display:grid;
    grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;position:relative;z-index:2;
}
.hero .kicker{
    display:inline-block;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.5);
    padding:6px 16px;border-radius:999px;font-size:.85rem;letter-spacing:1px;margin-bottom:18px;
}
.hero h1{
    font-size:2.35rem;line-height:1.3;margin:0 0 18px;font-weight:800;
    text-shadow:0 4px 18px rgba(4,80,96,.28);
}
.hero p{font-size:1.02rem;margin:0 0 26px;color:#eafdfb;max-width:620px;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;}
.btn{
    display:inline-block;text-decoration:none;padding:12px 28px;border-radius:999px;
    font-weight:700;font-size:.96rem;transition:.25s ease;
}
.btn-primary{background:#fff;color:#0891b2;box-shadow:0 10px 24px rgba(3,70,90,.22);}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(3,70,90,.3);}
.btn-ghost{border:1.6px solid rgba(255,255,255,.85);color:#fff;}
.btn-ghost:hover{background:#fff;color:#0891b2;}
.hero-figure{
    border-radius:26px;overflow:hidden;box-shadow:0 22px 46px rgba(3,72,90,.28);
    border:5px solid rgba(255,255,255,.42);
}
.hero-figure img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;}
section{padding:64px 0;}
.section-head{text-align:center;max-width:760px;margin:0 auto 42px;}
.section-head .tag{
    display:inline-block;font-size:.82rem;letter-spacing:2px;color:#0891b2;font-weight:700;
    background:#e3fbf7;border-radius:999px;padding:5px 16px;margin-bottom:14px;
}
.section-head h2{font-size:1.72rem;margin:0 0 12px;color:#0c4a58;font-weight:800;}
.section-head p{margin:0;color:#5b7f88;font-size:.98rem;}
.geo-box{
    background:#fff;border-radius:24px;padding:34px 36px;
    box-shadow:0 14px 38px rgba(8,145,178,.09);
    border:1px solid #e0f6f3;
}
.geo-box p{margin:0;font-size:1.03rem;color:#20505c;}
.geo-box p + p{margin-top:16px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.card{
    background:#fff;border-radius:20px;padding:28px 24px;
    box-shadow:0 10px 28px rgba(8,145,178,.08);
    border:1px solid #e4f7f5;transition:.28s ease;
}
.card:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(8,145,178,.16);}
.card .ico{font-size:1.7rem;margin-bottom:12px;display:block;}
.card h3{margin:0 0 10px;font-size:1.08rem;color:#0d5d6e;}
.card p{margin:0;color:#5c818a;font-size:.93rem;}
.stat-card{
    background:linear-gradient(160deg,#ffffff,#eefcfb);
    border-radius:20px;padding:30px 22px;text-align:center;
    border:1px solid #d9f4f1;box-shadow:0 10px 26px rgba(8,145,178,.07);
}
.stat-card .num{
    font-size:2rem;font-weight:800;letter-spacing:1px;
    background:linear-gradient(90deg,#26c9c0,#0891b2);
    -webkit-background-clip:text;background-clip:text;color:transparent;
}
.stat-card .lab{color:#5c818a;font-size:.92rem;margin-top:6px;}
.event-card{
    background:#fff;border-radius:24px;overflow:hidden;
    box-shadow:0 16px 40px rgba(8,145,178,.10);
    border:1px solid #e1f6f3;
    display:grid;grid-template-columns:.8fr 1.2fr;
}
.event-card img{width:100%;height:100%;object-fit:cover;}
.event-body{padding:32px 34px;}
.event-body h3{margin:0 0 8px;font-size:1.3rem;color:#0c4a58;}
.badge-row{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 18px;}
.badge{
    font-size:.8rem;background:#e3fbf7;color:#0b8f9c;border-radius:999px;padding:5px 14px;font-weight:600;
}
.roster{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px;}
.roster h4{margin:0 0 8px;font-size:.95rem;color:#0891b2;}
.roster p{margin:0;font-size:.9rem;color:#5c818a;}
.story-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:40px;align-items:center;}
.story-figure{border-radius:24px;overflow:hidden;box-shadow:0 18px 40px rgba(8,145,178,.16);}
.story-figure img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.story-text h2{font-size:1.6rem;margin:0 0 16px;color:#0c4a58;}
.story-text p{margin:0 0 14px;color:#52777f;}
.timeline{position:relative;margin-top:10px;}
.timeline::before{
    content:"";position:absolute;left:19px;top:8px;bottom:8px;width:3px;border-radius:3px;
    background:linear-gradient(180deg,#5eead4,#0891b2);
}
.tl-item{position:relative;padding-left:58px;margin-bottom:26px;}
.tl-dot{
    position:absolute;left:8px;top:6px;width:24px;height:24px;border-radius:50%;
    background:#fff;border:4px solid #31c9c3;box-shadow:0 0 0 5px #e7fbf9;
}
.tl-item h4{margin:0 0 6px;color:#0d5d6e;font-size:1.03rem;}
.tl-item p{margin:0;color:#5c818a;font-size:.93rem;}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.news-card{
    background:#fff;border-radius:20px;padding:26px 24px;
    border:1px solid #e4f7f5;box-shadow:0 10px 26px rgba(8,145,178,.07);
    display:flex;flex-direction:column;transition:.28s ease;
}
.news-card:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(8,145,178,.15);}
.news-card .date{
    font-size:.82rem;color:#0b8f9c;font-weight:700;letter-spacing:.5px;margin-bottom:10px;
}
.news-card h3{margin:0 0 10px;font-size:1.05rem;color:#0d5d6e;line-height:1.5;}
.news-card p{margin:0 0 16px;color:#5c818a;font-size:.92rem;flex:1;}
.news-card .more{
    font-size:.86rem;color:#0891b2;text-decoration:none;font-weight:700;
}
.news-card .more:hover{text-decoration:underline;}
.news-banner{
    border-radius:24px;overflow:hidden;margin-bottom:34px;
    box-shadow:0 16px 36px rgba(8,145,178,.13);
}
.news-banner img{width:100%;height:230px;object-fit:cover;}
.faq-list{display:flex;flex-direction:column;gap:16px;}
.faq-item{
    background:#fff;border-radius:18px;padding:24px 26px;
    border:1px solid #e1f6f3;box-shadow:0 8px 22px rgba(8,145,178,.06);
}
.faq-item h3{
    margin:0 0 10px;font-size:1.02rem;color:#0d5d6e;
    display:flex;gap:10px;align-items:flex-start;line-height:1.6;
}
.faq-item h3 .qm{
    flex:0 0 auto;width:26px;height:26px;border-radius:50%;
    background:linear-gradient(135deg,#5eead4,#0891b2);color:#fff;font-size:.82rem;
    display:flex;align-items:center;justify-content:center;margin-top:2px;
}
.faq-item p{margin:0;color:#567b84;font-size:.94rem;}
.partner-grid{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}
.partner-chip{
    background:#fff;border:1px solid #d9f4f1;border-radius:999px;
    padding:10px 24px;color:#0f5f70;font-size:.93rem;font-weight:600;
    box-shadow:0 6px 16px rgba(8,145,178,.06);
}
.cta{
    background:linear-gradient(135deg,#5eead4 0%,#22b8c4 48%,#0891b2 100%);
    border-radius:28px;padding:48px 40px;color:#fff;
    display:grid;grid-template-columns:1.3fr .7fr;gap:34px;align-items:center;
    box-shadow:0 22px 48px rgba(8,145,178,.24);position:relative;overflow:hidden;
}
.cta::before{
    content:"";position:absolute;left:-80px;bottom:-120px;width:320px;height:320px;border-radius:50%;
    background:rgba(255,255,255,.13);
}
.cta h2{font-size:1.6rem;margin:0 0 14px;position:relative;z-index:2;}
.cta p{margin:0 0 24px;color:#eafdfb;position:relative;z-index:2;}
.cta .hero-btns{position:relative;z-index:2;}
.cta-figure{border-radius:20px;overflow:hidden;border:4px solid rgba(255,255,255,.4);position:relative;z-index:2;}
.cta-figure img{width:100%;aspect-ratio:1/1;object-fit:cover;}
.site-footer{
    background:#083b46;color:#bfe6e4;padding:52px 20px 26px;margin-top:20px;
}
.footer-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.footer-inner h4{color:#fff;font-size:1rem;margin:0 0 14px;}
.footer-inner p,.footer-inner li{font-size:.9rem;color:#a8d5d3;margin:0 0 8px;list-style:none;padding:0;}
.footer-links{display:flex;flex-direction:column;gap:8px;}
.footer-links a{color:#a8d5d3;text-decoration:none;font-size:.9rem;}
.footer-links a:hover{color:#5eead4;}
.footer-bottom{
    max-width:1180px;margin:34px auto 0;padding-top:20px;border-top:1px solid rgba(94,234,212,.22);
    display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
    font-size:.85rem;color:#8fc6c5;
}
.footer-bottom a{color:#a8d5d3;text-decoration:none;}
.footer-bottom a:hover{color:#5eead4;}
@media (max-width:960px){
    .hero-inner{grid-template-columns:1fr;}
    .grid-4{grid-template-columns:repeat(2,1fr);}
    .grid-3{grid-template-columns:1fr;}
    .news-grid{grid-template-columns:1fr 1fr;}
    .event-card{grid-template-columns:1fr;}
    .story-grid{grid-template-columns:1fr;}
    .cta{grid-template-columns:1fr;}
    .footer-inner{grid-template-columns:1fr;}
}
@media (max-width:640px){
    .hero h1{font-size:1.7rem;}
    .grid-4,.grid-2,.news-grid{grid-template-columns:1fr;}
    .hero{padding:52px 18px 62px;}
    section{padding:48px 0;}
    .geo-box{padding:26px 22px;}
    .event-body{padding:26px 22px;}
    .roster{grid-template-columns:1fr;}
    .cta{padding:34px 24px;}
}