/* 公益爱心页 charity.html */
:root{--orange:#F08200;--ink:#2B2B2B;--ink-light:#6B6B6B;--bg:#FFFDF8;--bg-soft:#F7F1E6;--line:#E9DFCE;--radius:14px}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);line-height:1.7;letter-spacing:.3px}
img{max-width:100%;display:block}
a{color:var(--ink);text-decoration:none;transition:color .25s}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
h1,h2,h3,h4,h5{font-weight:700;line-height:1.4}

/* 顶部导航 */
.topnav{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:14px 0}
.topnav .wrap{display:flex;align-items:center;justify-content:space-between}
.topnav .logo{font-weight:700;font-size:17px;color:#222;letter-spacing:1px}
.topnav .logo span{font-size:11px;font-weight:400;color:#999;margin-left:8px;letter-spacing:2px}
.topnav nav{display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:flex-end}
.topnav nav a{font-size:13px;color:var(--ink-light);transition:color .25s}
.topnav nav a.active{color:var(--orange);font-weight:600}
.topnav nav a:hover{color:var(--orange)}
@media(max-width:900px){.topnav nav{gap:4px 14px}.topnav nav a{font-size:12px}}

/* HERO */
.hero{position:relative;width:100%;height:58vh;min-height:440px;overflow:hidden}
.hero img{width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.55) 100%);display:flex;align-items:flex-end}
.hero-overlay .inner{width:100%;max-width:1200px;margin:0 auto;padding:0 28px 64px;color:#fff}
.hero-overlay .kicker{font-size:13px;letter-spacing:6px;color:#FFD9A8;font-weight:600;margin-bottom:14px}
.hero-overlay h1{font-size:38px;font-weight:800;letter-spacing:3px;line-height:1.4;margin-bottom:18px;text-shadow:0 2px 10px rgba(0,0,0,.3)}
.hero-overlay .lead{font-size:16px;line-height:2.1;max-width:780px;color:rgba(255,255,255,.95);letter-spacing:.8px}

/* 通用区块 */
.block{padding:48px 0}
.block.soft{background:var(--bg-soft)}
.eyebrow{font-size:12px;letter-spacing:4px;color:var(--orange);font-weight:600;margin-bottom:14px}
.title{font-size:30px;font-weight:800;letter-spacing:2px;margin-bottom:8px}
.title-en{font-size:13px;color:var(--ink-light);letter-spacing:1.5px;margin-bottom:24px;font-style:italic}
.sub{font-size:14.5px;line-height:2.1;color:var(--ink-light);margin-bottom:32px;max-width:920px;letter-spacing:.4px}

/* 核心理念区 */
.belief{margin-top:30px;background:linear-gradient(135deg,#FFF9F0,#FFFDF8);border-radius:var(--radius);padding:38px 40px;border:1px solid rgba(240,130,0,.2)}
.belief .quote{font-size:18px;font-weight:700;letter-spacing:2px;color:var(--orange);text-align:center;margin-bottom:20px;font-style:italic}
.belief .quote::before,.belief .quote::after{content:"";display:inline-block;width:36px;height:1.5px;background:var(--orange);vertical-align:middle;margin:14px;opacity:.5}
.belief .intro{font-size:14.5px;line-height:2.1;color:var(--ink-light);text-align:center;margin-bottom:26px;letter-spacing:.5px}
.belief .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.belief .pillar{background:#fff;border-radius:12px;padding:22px 18px;border:1px solid rgba(240,130,0,.15);transition:transform .3s,box-shadow .3s}
.belief .pillar:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(240,130,0,.12)}
.belief .pillar .ic{font-size:30px;margin-bottom:12px}
.belief .pillar h5{font-size:15px;font-weight:700;letter-spacing:1.5px;color:var(--orange);margin-bottom:10px}
.belief .pillar p{font-size:13px;line-height:1.95;color:var(--ink-light);letter-spacing:.4px}

/* 三个故事卡片 */
.act-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}
.act-card-x{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px 30px;transition:transform .3s,box-shadow .3s}
.act-card-x:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(240,130,0,.12)}
.act-card-x .num{font-size:32px;font-weight:800;color:var(--orange);font-style:italic;line-height:1;margin-bottom:16px}
.act-card-x h3{font-size:18px;font-weight:700;letter-spacing:1.5px;margin-bottom:8px}
.act-card-x .en{font-size:11.5px;color:var(--orange);letter-spacing:2px;margin-bottom:14px;font-weight:500}
.act-card-x p{font-size:13.5px;line-height:2;color:var(--ink-light);letter-spacing:.4px}

/* 活动卡 */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(240,130,0,.12)}
.card a{display:block;color:inherit}
.card .pic{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bg-soft)}
.card .pic img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.card:hover .pic img{transform:scale(1.04)}
.card .tag{position:absolute;top:12px;left:12px;background:rgba(0,0,0,.6);color:#fff;font-size:11px;padding:4px 10px;border-radius:4px;letter-spacing:1px;backdrop-filter:blur(4px)}
.card .body{padding:18px 18px 20px}
.card .body h3{font-size:16px;font-weight:700;letter-spacing:1px;margin-bottom:8px;line-height:1.5}
.card .meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11.5px;color:var(--ink-light);margin-bottom:10px}
.card .desc{font-size:12.5px;line-height:1.9;color:var(--ink-light);margin-bottom:12px;letter-spacing:.3px}
.card .price{font-size:18px;font-weight:700;color:var(--orange)}
.card .price small{font-size:11.5px;font-weight:400;color:var(--ink-light);margin-left:4px}

/* 查看近期 */
.act-more{display:flex;justify-content:flex-end;margin-top:18px}
.act-more a{font-size:13.5px;color:var(--orange);font-weight:500;letter-spacing:1px;padding:6px 0 3px;border-bottom:1px dashed rgba(240,130,0,.55);transition:color .25s,border-color .25s}
.act-more a:hover{color:#c96a00;border-bottom-color:#c96a00}
.act-more a::after{content:" →";transition:transform .25s}
.act-more a:hover::after{transform:translateX(4px)}
@media(max-width:640px){.act-more{justify-content:center}}

/* 家长口碑 */
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
.review{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 20px}
.review .stars{color:#F5A623;font-size:13px;letter-spacing:2px;margin-bottom:10px}
.review .txt{font-size:13px;line-height:2;color:var(--ink-light);letter-spacing:.4px;margin-bottom:12px}
.review .who{display:flex;justify-content:space-between;align-items:baseline;font-size:11.5px;color:var(--ink-light);border-top:1px dashed var(--line);padding-top:8px;letter-spacing:.5px}
.review .who b{color:var(--ink);font-weight:600}

/* 差异化 */
.diff-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;margin-top:24px;align-items:stretch}
.diff-col{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px}
.diff-col.ours{background:linear-gradient(135deg,#FFF9F0,#FFFDF8);border-color:rgba(240,130,0,.3)}
.diff-col h4{font-size:16px;font-weight:700;letter-spacing:1.5px;margin-bottom:16px;color:var(--ink)}
.diff-col.ours h4{color:var(--orange)}
.diff-col ul{list-style:none}
.diff-col ul li{font-size:13.5px;line-height:2;color:var(--ink-light);padding-left:24px;position:relative;margin-bottom:8px;letter-spacing:.4px}
.diff-col ul li .ok{position:absolute;left:0;top:0;color:var(--orange);font-weight:700}
.diff-col ul li .x{position:absolute;left:0;top:0;color:#C9B89E;font-weight:700}
.diff-vs{align-self:center;font-size:13px;color:var(--ink-light);font-weight:700;letter-spacing:3px;padding:8px 14px;border:1px solid var(--line);border-radius:20px;background:#fff}

/* FAQ */
.faq-wrap{display:grid;grid-template-columns:1fr;gap:12px;margin-top:24px;max-width:960px}
.faq-box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 22px;transition:all .25s}
.faq-box[open]{border-color:rgba(240,130,0,.3);box-shadow:0 4px 12px rgba(240,130,0,.08)}
.faq-box summary{cursor:pointer;font-size:14.5px;font-weight:600;letter-spacing:.8px;list-style:none;display:flex;align-items:flex-start;gap:10px}
.faq-box summary::-webkit-details-marker{display:none}
.faq-box summary .q{flex-shrink:0;width:24px;height:24px;background:var(--orange);color:#fff;border-radius:50%;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.faq-box .ans{margin-top:12px;padding-left:34px;font-size:13.5px;line-height:2;color:var(--ink-light);letter-spacing:.4px}

/* CTA */
.cta-banner{margin-top:24px;background:linear-gradient(135deg,#F08200 0%,#D96600 100%);border-radius:var(--radius);padding:36px 32px;text-align:center;color:#fff;position:relative;overflow:hidden}
.cta-banner h3{font-size:22px;font-weight:700;letter-spacing:2px;margin-bottom:10px}
.cta-banner p{font-size:14px;opacity:.92;margin-bottom:18px;letter-spacing:1px}
.cta-banner .btns{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.cta-banner .btn{background:#fff;color:var(--orange);font-size:14px;font-weight:600;padding:10px 26px;border-radius:24px;letter-spacing:1.5px;transition:all .25s}
.cta-banner .btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.15)}
.cta-banner .btn.outline{background:transparent;color:#fff;border:1.5px solid #fff}
.cta-banner .btn.outline:hover{background:rgba(255,255,255,.08)}

/* footer */
.foot{border-top:1px solid var(--line);padding:30px 0 44px;text-align:center;font-size:13px;color:var(--ink-light);letter-spacing:1px}
.foot a{color:var(--ink-light);text-decoration:none;margin:0 6px}
.foot a:hover{color:var(--orange)}
.foot .meta{margin-top:10px;font-size:12px;color:#B7A88C}

/* 响应式 */
@media(max-width:900px){
  .act-grid{grid-template-columns:repeat(2,1fr)}
  .review-grid{grid-template-columns:repeat(2,1fr)}
  .diff-grid{grid-template-columns:1fr}
  .diff-vs{display:none}
  .belief .pillars{grid-template-columns:1fr}
  .hero-overlay h1{font-size:28px}
  .hero{height:50vh}
}
@media(max-width:640px){
  .block{padding:40px 0}
  .act-grid,.review-grid{grid-template-columns:1fr}
  .belief{padding:28px 20px}
  .act-card-x{padding:26px 22px}
  .hero{height:56vh}
  .hero-overlay h1{font-size:24px}
  .title{font-size:24px}
  h2.title{font-size:22px}
  .topnav nav{gap:4px 12px}
  .topnav nav a{font-size:12.5px}
}
