@charset "utf-8";
:root { --cyan:#14d8ff; --blue:#079fe6; --deep:#080b24; --text:#28344c; --muted:#66738b; }
* { box-sizing:border-box; margin:0; padding:0; }
html { min-height:100%; scroll-behavior:smooth; }
body { min-height:100vh; display:flex; flex-direction:column; color:var(--text); background:#f4f7fc; font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif; line-height:1.75; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; }

.site-header { height:76px; padding:0 max(6vw,28px); display:flex; align-items:center; justify-content:space-between; position:relative; z-index:20; flex-shrink:0; background:rgba(8,11,36,.97); border-bottom:1px solid rgba(77,219,255,.12); box-shadow:0 7px 24px rgba(5,12,38,.18); }
.brand,.brand img { display:block; }
.brand img { width:148px; }
.site-header nav { display:flex; align-self:stretch; gap:8px; }
.site-header nav a { padding:0 24px; display:flex; align-items:center; position:relative; color:#aab4d3; font-size:14px; transition:color .25s; }
.site-header nav a:hover,.site-header nav a.active { color:#fff; }
.site-header nav a.active::after { content:""; position:absolute; left:24px; right:24px; bottom:0; height:3px; border-radius:3px 3px 0 0; background:var(--cyan); box-shadow:0 0 12px var(--cyan); }

.page-main { flex:1; }
.page-hero { min-height:270px; display:flex; align-items:center; position:relative; overflow:hidden; color:#fff; background:#08132f; }
.page-hero::before { content:""; position:absolute; inset:0; background-image:linear-gradient(90deg,rgba(5,10,35,.94),rgba(3,44,85,.55),rgba(10,8,38,.72)),var(--hero-image); background-position:center; background-size:cover; transform:scale(1.01); }
.page-hero::after { content:""; position:absolute; inset:0; opacity:.16; background-image:linear-gradient(rgba(42,179,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(42,179,255,.16) 1px,transparent 1px); background-size:60px 60px; }
.page-hero-content { width:min(1120px,calc(100% - 48px)); margin:auto; position:relative; z-index:2; }
.eyebrow,.section-kicker { color:var(--cyan); font-size:12px; font-weight:700; letter-spacing:3px; }
.page-hero h1 { margin-top:3px; font-size:42px; line-height:1.3; letter-spacing:2px; }
.page-hero h1::after { content:""; display:block; width:54px; height:3px; margin-top:13px; background:var(--cyan); box-shadow:0 0 10px var(--cyan); }
.page-hero p { display:flex; gap:10px; margin-top:20px; color:#9eacc7; font-size:13px; }
.page-hero p a { color:#e3eeff; }

.section-shell { width:min(1120px,calc(100% - 48px)); margin:0 auto; }
.section-shell h2 { color:#17233d; font-size:32px; line-height:1.4; }
.intro-grid { padding:72px 0; display:grid; grid-template-columns:1.05fr .95fr; gap:65px; align-items:center; }
.intro-copy h2 { margin:6px 0 25px; }
.intro-copy p { margin-top:16px; color:var(--muted); font-size:16px; text-align:justify; }
.intro-image { width:100%; min-height:315px; object-fit:cover; border-radius:16px; box-shadow:0 20px 45px rgba(13,37,76,.18); }
.services-section { padding:0 0 72px; }
.section-heading { margin-bottom:30px; text-align:center; }
.section-heading h2 { margin-top:4px; }
.section-heading p { margin-top:8px; color:var(--muted); }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.feature-card { min-height:225px; padding:30px; position:relative; overflow:hidden; background:#fff; border:1px solid #e2eaf6; border-radius:14px; box-shadow:0 12px 34px rgba(28,57,100,.07); transition:transform .25s,box-shadow .25s,border-color .25s; }
.feature-card::after { content:""; position:absolute; right:-40px; bottom:-55px; width:130px; height:130px; border-radius:50%; background:radial-gradient(circle,rgba(20,216,255,.13),transparent 68%); }
.feature-card:hover { transform:translateY(-6px); border-color:rgba(20,216,255,.55); box-shadow:0 18px 40px rgba(0,157,218,.12); }
.card-number { color:#b9eefa; font-size:34px; font-weight:800; }
.feature-card h3 { margin:10px 0 12px; color:#137da9; font-size:19px; }
.feature-card p { color:var(--muted); font-size:14px; }
.value-panel { margin-bottom:76px; padding:42px 48px; position:relative; overflow:hidden; color:#c9d6ee; background:linear-gradient(120deg,#0a1231,#08264a); border:1px solid rgba(20,216,255,.2); border-radius:16px; box-shadow:0 15px 40px rgba(7,21,52,.16); }
.value-panel::after { content:""; position:absolute; width:260px; height:260px; right:-80px; top:-100px; border-radius:50%; background:rgba(20,216,255,.12); filter:blur(35px); }
.value-panel h2 { margin:5px 0 13px; color:#fff; }
.value-panel p { max-width:830px; }

.contact-section { padding:72px 0 80px; display:grid; grid-template-columns:.82fr 1.18fr; gap:52px; align-items:center; }
.contact-copy h2 { margin:5px 0 12px; }
.contact-lead { color:var(--muted); }
.contact-list { margin-top:31px; display:grid; gap:15px; }
.contact-list > * { min-height:70px; padding:13px 16px; display:flex; align-items:center; gap:15px; background:#fff; border:1px solid #e3ebf6; border-radius:11px; box-shadow:0 8px 22px rgba(28,57,100,.05); }
.contact-icon { width:40px; height:40px; display:grid; place-items:center; flex-shrink:0; color:#072744; font-size:18px; font-weight:800; background:linear-gradient(135deg,#49e9f5,#08b7e9); border-radius:10px; }
.contact-list small,.contact-list strong { display:block; }
.contact-list small { color:#8a96aa; font-size:11px; }
.contact-list strong { color:#344159; font-size:14px; font-weight:600; }
.map-card { overflow:hidden; position:relative; background:#fff; border:1px solid #e1e9f5; border-radius:16px; box-shadow:0 18px 45px rgba(15,40,78,.14); }
.map-card img { width:100%; height:390px; display:block; object-fit:cover; }
.map-card figcaption { position:absolute; left:18px; right:18px; bottom:18px; padding:15px 18px; display:flex; flex-direction:column; color:#fff; background:rgba(7,13,39,.86); border:1px solid rgba(77,219,255,.2); border-radius:10px; backdrop-filter:blur(8px); }
.map-card figcaption span { color:#aebbd1; font-size:12px; }

.policy-section { padding:65px 0 80px; }
.policy-card { padding:45px 50px; background:#fff; border:1px solid #e2eaf5; border-radius:16px; box-shadow:0 14px 38px rgba(28,57,100,.07); }
.policy-card h2 { margin:34px 0 12px; padding-left:13px; border-left:3px solid var(--cyan); font-size:21px; }
.policy-card h2:first-child { margin-top:0; }
.policy-card p,.policy-card li { color:#57657c; }
.policy-card ol { padding-left:22px; }
.policy-card img { display:block; margin:25px auto; border-radius:10px; }
.policy-table { width:100%; margin-top:22px; border-collapse:collapse; text-align:center; }
.policy-table th { padding:13px; color:#fff; background:#087fb7; }
.policy-table td { padding:12px; border:1px solid #e1e8f2; }
.policy-sign { margin-top:35px; text-align:right; }

/* 家长监护页保留原功能布局，重做外围视觉 */
#ban-i1 { height:240px; overflow:hidden; position:relative; background:#08132f; }
#ban-i1 img { width:100%; height:100%; object-fit:cover; opacity:.72; }
body > .main-content { width:min(1100px,calc(100% - 32px)); margin:45px auto 65px; padding:25px; background:#fff; border:1px solid #e2eaf5; border-radius:16px; box-shadow:0 14px 38px rgba(28,57,100,.07); }
.main_tab li.now { color:#fff!important; background:linear-gradient(100deg,#28d9f4,#079fe6)!important; }
.col_ttl { color:#18233d!important; }

.site-footer { flex-shrink:0; padding:38px max(7vw,28px) 24px; color:#8995b4; background:#07091d; border-top:1px solid rgba(72,205,255,.1); }
.footer-main { max-width:1120px; margin:auto; display:flex; align-items:center; gap:55px; }
.footer-main img { width:132px; opacity:.9; }
.footer-links { display:flex; gap:32px; flex:1; }
.footer-links a:hover,.copyright a:hover { color:var(--cyan); }
.contact { display:flex; flex-direction:column; text-align:right; }
.contact strong { color:#dce5fb; font-size:21px; line-height:1.4; }
.contact span { font-size:12px; }
.copyright { max-width:1120px; margin:26px auto 0; padding-top:20px; display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.07); font-size:12px; }

@media (max-width:760px) {
  .site-header { height:auto; min-height:68px; padding:12px 18px; align-items:flex-start; }
  .brand img { width:112px; }
  .site-header nav { flex-wrap:wrap; justify-content:flex-end; gap:2px; }
  .site-header nav a { padding:8px 9px; font-size:12px; }
  .site-header nav a.active::after { left:9px; right:9px; }
  .page-hero { min-height:215px; }
  .page-hero h1 { font-size:31px; }
  .section-shell { width:calc(100% - 28px); }
  .intro-grid,.contact-section { padding:42px 0 52px; grid-template-columns:1fr; gap:30px; }
  .intro-image { min-height:220px; }
  .section-shell h2 { font-size:27px; }
  .service-grid { grid-template-columns:1fr; }
  .services-section { padding-bottom:50px; }
  .value-panel { padding:30px 24px; margin-bottom:52px; }
  .map-card img { height:270px; }
  .policy-section { padding:38px 0 52px; }
  .policy-card { padding:28px 20px; overflow-x:auto; }
  #ban-i1 { height:170px; }
  body > .main-content { margin:28px auto 45px; padding:14px; overflow-x:auto; }
  .footer-main { flex-wrap:wrap; gap:25px; }
  .footer-links { order:3; flex-basis:100%; gap:22px; }
  .contact { margin-left:auto; }
  .copyright { flex-direction:column; gap:7px; }
}
