:root{
--main:#409eff;
--main-light:#66b3ff;
--main-dark:#2d7bc8;
--secondary:#1890ff;
--accent:#40a9ff;
--bg-light:#f8fbff;
}

*{
box-sizing:border-box;
margin:0;
padding:0;
font-family:"微软雅黑","PingFang SC",Arial,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

body{
background:#f8fbff;
color:#333;
min-height:100vh;
}

/* header */

header{
background:linear-gradient(135deg,#409eff 0%,#1890ff 50%,#0066cc 100%);
padding:90px 20px 130px;
text-align:center;
color:#fff;
position:relative;
overflow:hidden;
}

header::before{
content:'';
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
background:
radial-gradient(circle at 20% 50%,rgba(255,255,255,.08) 0%,transparent 50%),
radial-gradient(circle at 80% 80%,rgba(255,255,255,.08) 0%,transparent 50%);
}

header::after{
content:'';
position:absolute;
bottom:-2px;
left:0;
right:0;
height:80px;
background:linear-gradient(to bottom,transparent,#f8fbff);
}

header h1{
font-size:46px;
margin-bottom:18px;
font-weight:600;
position:relative;
z-index:1;
text-shadow:0 2px 12px rgba(0,0,0,.2);
letter-spacing:0.5px;
}

header p{
font-size:19px;
opacity:.96;
position:relative;
z-index:1;
font-weight:300;
letter-spacing:0.5px;
}

/* hero image */

.hero-image{
width:100%;
margin:-80px auto 0;
padding:0;
text-align:center;
position:relative;
z-index:10;
}

.hero-image img{
width:88%;
max-width:840px;
height:auto;
display:block;
margin:0 auto;
object-fit:contain;
filter:drop-shadow(0 12px 32px rgba(64,158,255,.18));
transition:all .4s ease;
}

.hero-image:hover img{
transform:translateY(-5px);
filter:drop-shadow(0 16px 40px rgba(64,158,255,.25));
}

/* section */

section{
max-width:1200px;
margin:70px auto;
padding:0 20px;
position:relative;
z-index:1;
}

h2{
color:#1f2937;
font-size:30px;
font-weight:600;
padding-left:0;
margin-bottom:40px;
position:relative;
display:inline-block;
}

h2::before{
content:'';
position:absolute;
left:0;
bottom:-8px;
width:100%;
height:3px;
background:linear-gradient(90deg,var(--main) 0%,var(--main-light) 100%);
border-radius:2px;
}

h2::after{
content:'';
position:absolute;
left:0;
bottom:-12px;
width:40%;
height:3px;
background:var(--accent);
border-radius:2px;
opacity:0.4;
}

/* cards */

.cards{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:28px;
}

.card{
background:#fff;
padding:32px 28px;
border-radius:16px;
box-shadow:0 2px 16px rgba(64,158,255,.08);
transition:all .35s cubic-bezier(.4,0,.2,1);
position:relative;
border:1px solid rgba(64,158,255,.08);
overflow:hidden;
}

.card::before{
content:'';
position:absolute;
top:0;
left:0;
right:0;
height:3px;
background:linear-gradient(90deg,var(--main),var(--main-light));
transform:scaleX(0);
transform-origin:left;
transition:transform .35s ease;
}

.card:hover::before{
transform:scaleX(1);
}

.card:hover{
transform:translateY(-8px);
box-shadow:0 12px 32px rgba(64,158,255,.18);
border-color:rgba(64,158,255,.2);
}

.card h3{
color:#1f2937;
margin-bottom:14px;
font-size:19px;
font-weight:600;
display:flex;
align-items:center;
line-height:1.4;
}

.icon{
margin-right:12px;
font-size:22px;
width:42px;
height:42px;
display:flex;
align-items:center;
justify-content:center;
background:linear-gradient(135deg,var(--main) 0%,var(--main-light) 100%);
border-radius:11px;
color:#fff;
flex-shrink:0;
box-shadow:0 4px 14px rgba(64,158,255,.25);
transition:all .3s ease;
}

.card:hover .icon{
transform:scale(1.08) rotate(5deg);
box-shadow:0 6px 20px rgba(64,158,255,.35);
}

.card p{
line-height:1.75;
font-size:14px;
color:#666;
}

/* contact section */

.contact-section{
max-width:1200px;
margin:80px auto 0;
padding:0 20px;
}

.contact-container{
background:linear-gradient(135deg,var(--main) 0%,var(--secondary) 100%);
padding:60px 40px;
border-radius:20px;
text-align:center;
color:#fff;
position:relative;
overflow:hidden;
box-shadow:0 12px 40px rgba(64,158,255,.25);
}

.contact-container::before{
content:'';
position:absolute;
top:-50%;
right:-20%;
width:400px;
height:400px;
background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%);
border-radius:50%;
}

.contact-container::after{
content:'';
position:absolute;
bottom:-30%;
left:-10%;
width:300px;
height:300px;
background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);
border-radius:50%;
}

.contact-container h2{
color:#fff;
font-size:32px;
margin-bottom:16px;
padding:0;
position:relative;
z-index:1;
}

.contact-container h2::before,
.contact-container h2::after{
display:none;
}

.contact-container p{
font-size:16px;
margin-bottom:32px;
opacity:.95;
position:relative;
z-index:1;
}

.contact-btn{
display:inline-flex;
align-items:center;
gap:10px;
padding:16px 40px;
background:#fff;
color:var(--main);
font-size:16px;
font-weight:600;
text-decoration:none;
border-radius:50px;
transition:all .3s ease;
position:relative;
z-index:1;
box-shadow:0 6px 20px rgba(0,0,0,.15);
}

.contact-btn:hover{
transform:translateY(-3px);
box-shadow:0 8px 28px rgba(0,0,0,.25);
background:#f8fbff;
}

.contact-btn i{
font-size:20px;
}

/* footer */

footer{
background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);
color:#d1d5db;
text-align:center;
padding:45px 20px;
margin-top:90px;
position:relative;
}

footer::before{
content:'';
position:absolute;
top:0;
left:0;
right:0;
height:1px;
background:linear-gradient(90deg,transparent,rgba(64,158,255,.3),transparent);
}

footer p{
margin-bottom:16px;
font-size:14px;
}

.footer-beian{
margin-top:14px;
display:flex;
justify-content:center;
align-items:center;
gap:24px;
flex-wrap:wrap;
font-size:13px;
}

.footer-beian img{
width:16px;
vertical-align:middle;
margin-right:6px;
}

.footer-beian a{
color:var(--main-light);
text-decoration:none;
transition:all .3s;
}

.footer-beian a:hover{
color:#fff;
text-decoration:underline;
}

@media(max-width:768px){
header{padding:70px 20px 110px;}
header h1{font-size:32px;}
header p{font-size:16px;}
h2{font-size:26px;margin-bottom:32px;}
.cards{grid-template-columns:1fr;gap:22px;}
.card{padding:26px 22px;}
.hero-image{margin-top:-70px;}
.hero-image img{width:92%;}
.contact-container{padding:50px 30px;}
.contact-container h2{font-size:28px;}
}

@media(max-width:600px){
header{padding:60px 20px 100px;}
header h1{font-size:28px;}
header p{font-size:15px;}
h2{font-size:24px;}
.hero-image{margin-top:-60px;}
.hero-image img{width:95%;}
section{margin:50px auto;}
.contact-section{margin:60px auto 0;}
.contact-container{padding:40px 24px;border-radius:16px;}
.contact-container h2{font-size:26px;}
.contact-container p{font-size:15px;margin-bottom:24px;}
.contact-btn{padding:14px 32px;font-size:15px;}
}
