*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Microsoft YaHei","PingFang SC",sans-serif;color:#2b3440;line-height:1.8;background:#fff}
img{max-width:100%;display:block}

header{position:fixed;top:0;left:0;right:0;background:#fff;box-shadow:0 1px 8px rgba(0,0,0,.08);z-index:10}
.bar{max-width:1100px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.logo{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;color:#1c2733;text-decoration:none}
.logo .mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#2a9d8f,#1f6f65);display:grid;place-items:center;color:#fff;font-size:18px}
nav{display:flex;gap:26px;flex-wrap:wrap}
nav a{color:#2b3440;text-decoration:none;font-size:15px}
nav a:hover{color:#1f6f65}

.hero{background:linear-gradient(rgba(16,42,60,.55),rgba(16,42,60,.55)),url(img/hero.png) center/cover no-repeat;min-height:72vh;display:grid;place-items:center;text-align:center;color:#fff;padding:120px 20px 60px}
.hero h1{font-size:40px;letter-spacing:2px;margin-bottom:14px}
.hero p{font-size:18px;opacity:.92}

.section{padding:72px 20px;scroll-margin-top:70px}
.section.alt{background:#f5f8fa}
.container{max-width:1100px;margin:0 auto}
h2{font-size:28px;color:#1c2733;margin-bottom:28px;padding-left:14px;border-left:4px solid #2a9d8f}
#about p{margin-bottom:14px;max-width:860px}

.grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.07)}
.card img{width:100%;height:280px;object-fit:cover}
.card-body{padding:20px 22px 24px}
.card-body h3{font-size:19px;color:#1c2733;margin-bottom:8px}
.card-body p{font-size:15px;color:#5a6572}

.contact-list{list-style:none;font-size:16px}
.contact-list li{margin-bottom:14px;display:flex;align-items:baseline;gap:14px}
.contact-list .label{flex:none;width:64px;color:#1f6f65;font-weight:700}

footer{background:#1c2733;color:rgba(255,255,255,.75);text-align:center;padding:26px 20px;font-size:14px}
footer a{color:rgba(255,255,255,.75);text-decoration:none}
footer a:hover{text-decoration:underline}
footer p{margin:2px 0}

@media (max-width:720px){
  .grid{grid-template-columns:1fr}
  .hero h1{font-size:28px}
  .hero{min-height:60vh}
  .section{padding:52px 16px}
  nav{gap:16px}
}
