/* ============================================================
   易木教育 · 官网原型共享样式
   品牌色：NYU 紫色系 主紫 #57068c / 深紫 #2e0a45 / 亮紫 #a23fc4
   ============================================================ */
:root{
  --violet:#57068c;          /* NYU Violet 主色 */
  --violet-d:#3d0466;        /* 深紫 */
  --violet-l:#f3e9fb;        /* 浅紫底 */
  --violet-a:#a23fc4;        /* 亮紫强调 */
  --navy:#2e0a45;            /* 深紫背景 */
  --navy-d:#1b042e;          /* 最深紫 */
  /* 兼容旧类名映射（保持引用不报错） */
  --blue:#57068c; --blue-d:#3d0466; --blue-l:#f3e9fb;
  --orange:#a23fc4;
  --ink:#1a1622; --sub:#5b556b; --sub2:#8a82a0;
  --line:#ece4f5; --bg:#f7f4fb; --card:#ffffff;
  --green:#1faa6b;           /* 成功态保留（录取/通过） */
  --gold:#f0a020;
  --shadow:0 10px 30px rgba(61,4,102,.08);
  --shadow-h:0 18px 48px rgba(61,4,102,.16);
  --radius:16px; --radius-s:10px;
  --maxw:1200px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; color:var(--ink); background:var(--bg);
  font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",system-ui,sans-serif;
  line-height:1.75; font-size:15px; -webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
h1,h2,h3,h4{margin:0; line-height:1.3; font-weight:800;}
p{margin:0 0 1em;}

/* ---------- 布局 ---------- */
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 40px;}
.section{padding:72px 0;}
.section.tight{padding:54px 0;}
.bg-white{background:#fff;}
.bg-gray{background:var(--bg);}
.bg-navy{background:linear-gradient(160deg,var(--navy),var(--navy-d)); color:#fff;}
.sec-head{text-align:center; max-width:760px; margin:0 auto 44px;}
.sec-head .ey{display:inline-block; color:var(--violet-a); font-weight:700; letter-spacing:2px; font-size:13px; margin-bottom:10px;}
.sec-head h2{font-size:30px; color:var(--navy);}
.sec-head p{color:var(--sub); margin-top:12px; font-size:15px;}
.bg-navy .sec-head h2{color:#fff;}
.bg-navy .sec-head p{color:rgba(255,255,255,.78);}

/* ---------- 按钮 ---------- */
.btn{display:inline-flex; align-items:center; gap:8px; padding:12px 26px; border-radius:999px;
  font-weight:700; font-size:15px; transition:.25s; border:0; cursor:pointer;}
.btn-primary{background:var(--violet); color:#fff; box-shadow:0 8px 20px rgba(87,6,140,.35);}
.btn-primary:hover{background:var(--violet-d); transform:translateY(-2px); box-shadow:0 14px 28px rgba(87,6,140,.45);}
.btn-orange{background:var(--violet-a); color:#fff; box-shadow:0 8px 20px rgba(162,63,196,.35);}
.btn-orange:hover{background:var(--violet); transform:translateY(-2px); box-shadow:0 14px 28px rgba(162,63,196,.45);}
.btn-ghost{background:#fff; color:var(--violet); border:1.5px solid var(--line);}
.btn-ghost:hover{border-color:var(--violet);}
.btn-light{background:rgba(255,255,255,.14); color:#fff; border:1.5px solid rgba(255,255,255,.4);}
.btn-light:hover{background:rgba(255,255,255,.24);}

/* ---------- 顶部导航 ---------- */
.header{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
.nav{display:flex; align-items:center; justify-content:space-between; height:68px;}
.brand-group{display:flex; align-items:center; gap:14px; min-width:0;}
.brand{display:flex; align-items:center; gap:10px; font-weight:800; color:var(--navy); flex-shrink:0;}
.brand img{height:40px; width:auto; display:block; flex-shrink:0;}
.brand-slogan{display:inline-flex; align-items:center; padding-left:14px; border-left:1px solid rgba(87,6,140,.14); font-size:13px; font-weight:500; letter-spacing:1.2px; color:rgba(87,6,140,.58); white-space:nowrap; line-height:1.2;}
@media (max-width:1080px){ .brand-slogan{display:none;} }
.nav-menu{display:flex; gap:6px; list-style:none; margin:0; padding:0;}
.nav-menu a{padding:9px 15px; border-radius:9px; font-weight:600; color:var(--ink); font-size:15px; transition:.2s;}
.nav-menu a:hover{color:var(--violet); background:var(--violet-l);}
.nav-cta{display:flex; align-items:center; gap:12px;}
.nav-phone{font-weight:800; color:var(--navy); font-size:16px;}
.nav-toggle{display:none; background:none; border:0; cursor:pointer; color:var(--navy); padding:4px;}
.nav-toggle svg{width:26px; height:26px;}

/* ---------- Hero 轮播 ---------- */
.hero{position:relative; height:560px; overflow:hidden; background:linear-gradient(120deg,rgba(46,10,69,.7),rgba(87,6,140,.5)),url('/uploads/siteimg/office-01.jpg') center/cover no-repeat;}
.slides{position:absolute; inset:0;}
.slide{position:absolute; inset:0; display:flex; align-items:center; opacity:0; transition:opacity .8s ease;
  background-size:cover; background-position:center;}
.slide.active{opacity:1;}
.slide::after{content:""; position:absolute; inset:0; background:linear-gradient(100deg,rgba(27,4,46,.86) 0%,rgba(27,4,46,.4) 60%,rgba(27,4,46,.18) 100%);}
.slide .wrap{position:relative; z-index:2; width:100%;}
.slide .tagline{display:inline-block; background:var(--violet-a); color:#fff; padding:6px 16px; border-radius:999px; font-weight:700; font-size:13px; margin-bottom:18px;}
.slide h1{color:#fff; font-size:46px; max-width:760px; text-shadow:0 2px 20px rgba(0,0,0,.3);}
.slide p{color:rgba(255,255,255,.9); font-size:18px; max-width:620px; margin:18px 0 28px;}
.hero-nav{position:absolute; bottom:26px; left:50%; transform:translateX(-50%); z-index:3; display:flex; gap:10px;}
.hero-nav button{width:11px; height:11px; border-radius:50%; border:0; background:rgba(255,255,255,.45); cursor:pointer; padding:0;}
.hero-nav button.active{background:#fff; width:28px; border-radius:6px;}

/* ---------- 数据信任条 ---------- */
.stats{background:linear-gradient(135deg,var(--violet),var(--navy)); color:#fff; border-radius:var(--radius);
  display:grid; grid-template-columns:repeat(4,1fr); margin-top:-46px; position:relative; z-index:5;
  box-shadow:var(--shadow-h); overflow:hidden;}
.stats .item{padding:30px 20px; text-align:center; border-right:1px solid rgba(255,255,255,.12);}
.stats .item:last-child{border-right:0;}
.stats .num{font-size:38px; font-weight:900; letter-spacing:1px;}
.stats .num span{color:var(--violet-a);}
.stats .lab{font-size:14px; opacity:.9; margin-top:4px;}

/* ---------- 卡片通用 ---------- */
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  transition:.28s; box-shadow:0 6px 22px rgba(61,4,102,.07); padding:28px 26px;}
.card:hover{transform:translateY(-6px); box-shadow:var(--shadow-h); border-color:var(--violet-a);}
.card .ico{width:52px; height:52px; flex:none; border-radius:14px; background:linear-gradient(135deg,var(--violet-a),var(--violet)); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
.card .ico .ic{width:26px; height:26px; stroke-width:1.8;}
.card h4{font-size:17px; margin:0 0 8px; color:var(--ink);}
.card p{margin:0; color:var(--sub); font-size:14px; line-height:1.7;}
.grid{display:grid; gap:22px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-5{grid-template-columns:repeat(5,1fr);}

/* ---------- 国家 / 项目卡片 ---------- */
.country{padding:0;}
.country .cover{height:150px; display:flex; align-items:flex-end; padding:16px; color:#fff; position:relative;}
.country .cover::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.45));}
.country .cover .flag{display:inline-flex; align-items:center; justify-content:center;
  width:46px; height:46px; border-radius:12px; background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.35); font-size:15px; font-weight:800; letter-spacing:1px;
  position:relative; z-index:2; backdrop-filter:blur(2px);}
.country .cover h3{position:relative; z-index:2; margin:0 0 0 12px; font-size:20px; font-weight:800;}
.country .body{padding:16px 18px 20px;}
.country .body p{color:var(--sub); font-size:13.5px; margin:0 0 12px; min-height:42px;}
.country .meta{display:flex; justify-content:space-between; align-items:center; font-size:13px;}
.country .meta b{color:var(--violet); font-size:16px;}
.country .meta a{color:var(--violet-a); font-weight:700;}
.c-uk{background:linear-gradient(135deg,#57068c,#3d0466);}
.c-us{background:linear-gradient(135deg,#7a1fa2,#57068c);}
.c-hk{background:linear-gradient(135deg,#8a1c9c,#57068c);}
.c-au{background:linear-gradient(135deg,#6a0dad,#3d0466);}
.c-ca{background:linear-gradient(135deg,#9b30c0,#6a0dad);}
.c-sg{background:linear-gradient(135deg,#a23fc4,#7a1fa2);}

.proj{padding:26px 22px; text-align:center; border-radius:var(--radius-s);}
.proj .ico{width:56px; height:56px; border-radius:14px; background:var(--violet-l); color:var(--violet);
  display:flex; align-items:center; justify-content:center; margin:0 auto 14px;}
.proj h4{font-size:17px; color:var(--navy); margin-bottom:8px;}

/* ---------- 学历阶段图卡（BY STAGE，留学规划页） ---------- */
.stage-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.stage-card{
  background:#fff; border:1px solid var(--line); border-radius:14px;
  overflow:hidden; box-shadow:var(--shadow);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  text-decoration:none; color:inherit; display:block;
  position:relative;
}
.stage-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-h); border-color:var(--violet-l);}
.stage-card .ph{
  aspect-ratio:4/3;
  overflow:hidden;
  background:linear-gradient(135deg,#f3e9fb,#e9d8f7);
  position:relative;
}
.stage-card .ph img{
  width:100%; height:100%; object-fit:cover; object-position:center 18%;
  display:block;
  transition:transform .5s ease;
}
.stage-card:hover .ph img{transform:scale(1.06);}
.stage-card .ph::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(46,10,69,.4));
  pointer-events:none;
}
.stage-card .num{
  position:absolute; top:12px; left:14px;
  display:inline-block; padding:3px 10px;
  background:rgba(255,255,255,.95); color:var(--violet);
  border-radius:999px;
  font-size:11px; font-weight:800; letter-spacing:1.5px;
  backdrop-filter:blur(6px);
  z-index:2;
}
.stage-card .body{padding:16px 20px 20px;}
.stage-card h4{font-size:17px; color:var(--navy); margin:0 0 6px; font-weight:800;}
.stage-card p{color:var(--sub); font-size:13px; margin:0; line-height:1.65;}
.proj p{color:var(--sub); font-size:13.5px; margin:0;}

/* ---------- 背景提升 ---------- */
.bg-item{display:flex; gap:16px; padding:22px; align-items:flex-start;}
.bg-item .ico{width:50px; height:50px; flex:none; border-radius:13px; background:linear-gradient(135deg,var(--violet-a),var(--violet));
  color:#fff; display:flex; align-items:center; justify-content:center;}
.bg-item h4{font-size:16.5px; color:var(--navy); margin-bottom:6px;}
.bg-item p{color:var(--sub); font-size:13.5px; margin:0;}

/* ---------- 服务流程 ---------- */
.flow{display:grid; grid-template-columns:repeat(5,1fr); gap:14px; counter-reset:step;}
.step{position:relative; text-align:center; padding:30px 16px 24px; background:#fff; border:1px solid var(--line); border-radius:var(--radius);}
.step .no{width:54px; height:54px; border-radius:50%; margin:0 auto 14px; background:linear-gradient(135deg,var(--violet),var(--navy));
  color:#fff; font-size:22px; font-weight:900; display:flex; align-items:center; justify-content:center; position:relative; z-index:2;}
.step h4{color:var(--navy); font-size:16px; margin-bottom:6px;}
.step p{color:var(--sub); font-size:13px; margin:0;}
.step:not(:last-child)::after{content:""; position:absolute; top:57px; right:-9px; width:18px; height:18px;
  border-top:2px solid var(--violet); border-right:2px solid var(--violet); transform:rotate(45deg); opacity:.5; z-index:1;}

/* ---------- 团队 ---------- */
.team .avatar{height:230px; background:linear-gradient(135deg,var(--violet-l),#e9d8f7); display:flex; align-items:center; justify-content:center; font-size:64px; color:var(--violet); font-weight:800;}
.team .body{padding:18px;}
.team .body h4{font-size:17px; color:var(--navy);}
.team .body .role{color:var(--violet-a); font-weight:700; font-size:13px; margin:2px 0 10px;}
.team .body p{color:var(--sub); font-size:13px; margin:0;}
.team .tags{margin-top:12px; display:flex; flex-wrap:wrap; gap:6px;}
.team .tags span{background:var(--violet-l); color:var(--violet-d); font-size:11.5px; padding:3px 9px; border-radius:999px;}

/* 导师照片卡：caption 等高居中，避免同排卡片因角色名换行而错位（第4条格式不齐修复） */
.grid .card[style*="text-align:center"]{display:flex; flex-direction:column;}
.grid .card[style*="text-align:center"] > div[style*="padding:14px"]{flex:1; min-height:64px; display:flex; flex-direction:column; justify-content:center;}

/* ---------- 学员案例（卡片网格，与首页一致） ---------- */
.case{
  position:relative; overflow:hidden;
  display:flex; flex-direction:column;
  background:#fff; border:1px solid var(--line); border-radius:18px;
  box-shadow:var(--shadow);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.case:hover{transform:translateY(-6px); box-shadow:var(--shadow-h); border-color:var(--violet-l);}
.case::before{ /* 顶部品牌色细线，hover 显现 */
  content:""; position:absolute; left:0; top:0; right:0; height:3px; z-index:4;
  background:linear-gradient(90deg,var(--violet),var(--violet-a)); opacity:0; transition:opacity .28s;
}
.case:hover::before{opacity:1;}

.case .cover{
  position:relative; aspect-ratio:4/5; overflow:hidden; padding:0 !important;
  background:linear-gradient(135deg,#f3e9fb,#e9d8f7);
}
.case .cover img{width:100%; height:100%; object-fit:cover; object-position:top center; display:block; transition:transform .5s ease;}
.case:hover .cover img{transform:scale(1.05);}
.case .cover::before{ /* 录取徽章浮于照片左上 */
  content:"录取"; position:absolute; left:12px; top:12px; z-index:3;
  padding:5px 13px; border-radius:999px; font-size:11.5px; font-weight:700; letter-spacing:.5px; color:#fff;
  background:linear-gradient(135deg,#57068c,#2e0a45); box-shadow:0 6px 16px rgba(46,10,69,.42);
}
.case .cover .big{display:none;} /* 字母占位已由插画替代 */
.case .school-overlay{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:28px 14px 12px; font-size:14px; font-weight:800; color:#fff; letter-spacing:.3px;
  background:linear-gradient(to top, rgba(46,10,69,.92), rgba(46,10,69,0));
}
.case .body{display:flex; flex-direction:column; gap:10px; padding:16px 18px 18px; flex:1;}
.case .body .school{display:none;} /* 已移至封面浮层 */
.case .body .major{font-size:15.5px; font-weight:800; color:var(--navy); line-height:1.4;}
.case .ft{display:flex; flex-wrap:wrap; gap:6px; margin:0;}
.case .ft span{font-size:11.5px; padding:3px 10px; border-radius:999px; background:#f1ecf8; color:var(--sub);}
.case .ft .ok{display:none;} /* 录取已作为封面角标 */
.case .quote{font-size:13.5px; line-height:1.8; color:var(--ink); margin:0; padding-left:14px; border-left:3px solid var(--violet-l); flex:1;}

/* ---------- Offer 墙 ---------- */
.offer{aspect-ratio:3/4; border-radius:12px; background:linear-gradient(160deg,#fff,#f3e9fb); border:1px solid var(--line);
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:18px; transition:.28s; position:relative; overflow:hidden;}
.offer:hover{transform:translateY(-5px); box-shadow:var(--shadow-h);}
.offer .seal{position:absolute; top:12px; right:12px; width:42px; height:42px; border-radius:50%; background:var(--green); color:#fff;
  display:flex; align-items:center; justify-content:center; opacity:.9;}
.offer .seal svg{width:20px; height:20px;}
.offer .u{font-size:13px; font-weight:800; letter-spacing:1px; color:var(--violet); background:var(--violet-l);
  padding:4px 11px; border-radius:999px; margin-bottom:10px;}
.offer .name{font-weight:800; color:var(--navy); font-size:16px;}
.offer .rank{font-size:12px; color:var(--sub2); margin:2px 0 8px;}
.offer .pro{font-size:13px; color:var(--sub);}
.offer .stu{font-size:12px; color:var(--violet-a); font-weight:700; margin-top:10px;}

/* ---------- 资讯 ---------- */
.news .cover{height:170px; background:linear-gradient(135deg,var(--violet),var(--navy)); display:flex; align-items:center; justify-content:center; color:#fff;}
.news .body{padding:16px 18px 20px;}
.news .cat{display:inline-block; background:var(--violet-l); color:var(--violet-d); font-size:11.5px; font-weight:700; padding:3px 10px; border-radius:999px; margin-bottom:10px;}
.news .body h4{font-size:16px; color:var(--navy); margin-bottom:8px; line-height:1.5;}
.news .body .date{color:var(--sub2); font-size:12.5px;}
.news-row{display:flex; gap:16px; padding:16px; border-bottom:1px solid var(--line);}
.news-row:last-child{border-bottom:0;}
.news-row .thumb{width:120px; height:80px; flex:none; border-radius:10px; background:linear-gradient(135deg,var(--violet),var(--navy)); display:flex; align-items:center; justify-content:center; color:#fff;}
.news-row .thumb svg{width:24px; height:24px;}
.news-row .info h4{font-size:15.5px; color:var(--navy); margin-bottom:6px;}
.news-row .info .date{color:var(--sub2); font-size:12.5px;}
/* 可点击的 news-row（链接版本） */
a.news-row{display:flex; text-decoration:none; color:inherit; cursor:pointer; transition:background .2s ease, padding-left .2s ease;}
a.news-row:hover{background:var(--violet-l); padding-left:22px;}
a.news-row:hover .info h4{color:var(--violet);}
a.news-row .thumb{transition:transform .25s ease;}
a.news-row:hover .thumb{transform:scale(1.05);}

/* ---------- 合作伙伴 ---------- */
.partners{display:grid; grid-template-columns:repeat(6,1fr); gap:16px;}
.partner{height:80px; border:1px solid var(--line); border-radius:12px; background:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; color:var(--sub2); font-size:15px; transition:.2s;}
.partner:hover{border-color:var(--violet); color:var(--violet);}

/* ---------- CTA ---------- */
.cta{background:linear-gradient(135deg,var(--violet),var(--violet-a)); color:#fff; border-radius:24px; padding:48px; text-align:center;}
.cta h2{font-size:30px; margin-bottom:12px;}
.cta p{font-size:16px; opacity:.95; margin-bottom:24px;}

/* ---------- 页脚 ---------- */
.footer{background:var(--navy-d); color:rgba(255,255,255,.75); padding:54px 0 26px; font-size:14px;}
.footer .cols{display:grid; grid-template-columns:2fr 1fr 1fr 1.4fr; gap:36px;}
.footer h4{color:#fff; font-size:15px; margin-bottom:16px;}
.footer a{color:rgba(255,255,255,.72); display:block; margin-bottom:9px; transition:.2s;}
.footer a:hover{color:#fff; padding-left:4px;}
.footer .brand{color:#fff; font-size:20px; margin-bottom:12px;}
.footer .desc{font-size:13.5px; line-height:1.8; max-width:300px;}
.footer .contact-line{margin-bottom:8px;}
.footer .bottom{border-top:1px solid rgba(255,255,255,.12); margin-top:34px; padding-top:18px; text-align:center; font-size:12.5px; color:rgba(255,255,255,.5);}

/* ---------- 内页头图 ---------- */
.page-hero{background:linear-gradient(120deg,rgba(46,10,69,.74),rgba(87,6,140,.58)),url('/uploads/siteimg/office-01.jpg') center/cover no-repeat; color:#fff; padding:64px 0; text-align:center;}
.page-hero h1{font-size:36px; margin-bottom:10px;}
.page-hero p{opacity:.85; font-size:16px; margin:0;}
.page-hero .ey{display:inline-block; font-weight:700; letter-spacing:2px; font-size:13px; color:#e6b8f2; margin-bottom:12px; text-transform:uppercase;}
.breadcrumb{font-size:13px; color:rgba(255,255,255,.7); margin-bottom:14px;}
.breadcrumb a:hover{color:#fff;}

/* ---------- about：紫色大卡片统计区块（banner 下方整宽横排） ---------- */
.about-stats{background:linear-gradient(180deg,#fff 0%,#f3e9fb 35%,#f3e9fb 100%); margin-top:-42px; padding:84px 0 64px; position:relative; z-index:2;}
.stats-row{display:grid; grid-template-columns:repeat(4,1fr); gap:0; background:linear-gradient(135deg,#3d0466,#2e0a45 55%,#1e0830); border-radius:20px; overflow:hidden; box-shadow:0 18px 48px rgba(46,10,69,.22), inset 0 1px 0 rgba(255,255,255,.08);}
.stat-card{padding:36px 24px; text-align:center; color:#fff; position:relative;}
.stat-card + .stat-card{border-left:1px solid rgba(255,255,255,.10);}
.stat-num{font-size:64px; font-weight:800; line-height:1; color:#fff; letter-spacing:-1px; display:flex; align-items:baseline; justify-content:center; gap:6px;}
.stat-num-suffix{font-size:22px; font-weight:700; color:#d8b8ee; letter-spacing:0;}
.stat-label{font-size:14px; color:rgba(255,255,255,.78); margin-top:12px; letter-spacing:.5px;}

/* ---------- 表单 ---------- */
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.field{display:flex; flex-direction:column; gap:7px;}
.field.full{grid-column:1/-1;}
.field label{font-weight:700; color:var(--navy); font-size:14px;}
.field input,.field select,.field textarea{padding:12px 14px; border:1.5px solid var(--line); border-radius:10px; font-size:14px; font-family:inherit; transition:.2s; background:#fff;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none; border-color:var(--violet); box-shadow:0 0 0 3px var(--violet-l);}
.field textarea{resize:vertical; min-height:110px;}

/* ---------- 联系我们：左右分栏 ---------- */
.contact-split{padding:72px 0;}
.contact-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:36px; align-items:stretch;}
/* 左：紫系联系信息面板 */
.contact-info{background:linear-gradient(160deg,var(--navy),var(--violet)); color:#fff; border-radius:var(--radius);
  padding:40px 38px; display:flex; flex-direction:column; box-shadow:var(--shadow);}
.contact-info .ey{color:var(--violet-a);}
.contact-info__title{color:#fff; font-size:26px; margin:10px 0 12px;}
.contact-info__sub{color:rgba(255,255,255,.82); font-size:14.5px; margin:0 0 30px; line-height:1.7;}
.info-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:18px;}
.info-item{display:flex; gap:14px; align-items:flex-start;}
.info-ic{width:42px; height:42px; flex:none; border-radius:12px; background:rgba(255,255,255,.14);
  display:flex; align-items:center; justify-content:center; color:#fff;}
.info-ic svg{width:20px; height:20px;}
.info-text{display:flex; flex-direction:column; gap:3px; padding-top:1px;}
.info-label{font-size:12.5px; color:rgba(255,255,255,.62); letter-spacing:.5px;}
.info-val{font-size:15.5px; font-weight:700; color:#fff; line-height:1.5;}
a.info-val{transition:.2s;}
a.info-val:hover{color:var(--violet-a);}
/* 右：评估表单卡 */
.contact-form{margin:0; display:flex; flex-direction:column; justify-content:center;}
.contact-form__title{color:var(--navy); font-size:21px; margin-bottom:6px;}
.contact-form__sub{color:var(--sub); font-size:14px; margin-bottom:22px;}
.contact-form__submit{width:100%; justify-content:center; margin-top:20px;}

/* ---------- 列表/详情工具 ---------- */
.pill{display:inline-block; background:var(--violet-l); color:var(--violet-d); font-size:12px; padding:3px 11px; border-radius:999px; margin:2px 4px 2px 0;}
.tag-list{display:flex; flex-wrap:wrap; gap:8px;}
.list-card{display:flex; gap:20px; padding:22px; align-items:center;}
.list-card .num{width:60px; height:60px; flex:none; border-radius:14px; background:var(--violet-l); color:var(--violet); font-size:24px; font-weight:900; display:flex; align-items:center; justify-content:center;}

/* ---------- SVG 图标 ---------- */
.ic{display:inline-block; width:1em; height:1em; fill:none; stroke:currentColor; stroke-width:1.8;
  stroke-linecap:round; stroke-linejoin:round; flex:none;}
.ic-h{width:22px; height:22px; vertical-align:-5px; margin-right:8px; color:var(--violet);}
.proj .ico svg{width:30px; height:30px;}
.bg-item .ico svg{width:26px; height:26px;}
.contact-line svg{width:16px; height:16px; margin-right:8px; vertical-align:-3px;}
.sec-title-ic{display:flex; align-items:center; color:var(--navy); margin-bottom:16px; font-size:20px; font-weight:800;}
.sec-title-ic svg{width:22px; height:22px; margin-right:8px; color:var(--violet);}

/* ---------- 筛选 / 分类条 ---------- */
.ftabs{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:0 auto 38px; max-width:820px;}
.ftabs button{border:1.5px solid var(--line); background:#fff; color:var(--sub); padding:9px 22px; border-radius:999px; font-weight:700; font-size:14px; cursor:pointer; transition:.2s;}
.ftabs button:hover{border-color:var(--violet); color:var(--violet);}
.ftabs button.active{background:var(--violet); color:#fff; border-color:var(--violet); box-shadow:0 8px 18px rgba(87,6,140,.28);}

/* ---------- 头条资讯大卡 ---------- */
.news-feature{display:grid; grid-template-columns:1.05fr 1fr; overflow:hidden; border-radius:var(--radius); border:1px solid var(--line); box-shadow:var(--shadow); margin-bottom:34px;}
.news-feature .cv{background:linear-gradient(135deg,var(--violet),var(--navy)); min-height:260px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:rgba(255,255,255,.92); padding:34px;}
.news-feature .cv svg{width:56px; height:56px; margin-bottom:16px; opacity:.92;}
.news-feature .cv .tag{background:var(--violet-a); color:#fff; padding:5px 14px; border-radius:999px; font-size:12px; font-weight:700; letter-spacing:1px;}
.news-feature .ct{padding:34px 36px; display:flex; flex-direction:column; justify-content:center;}
.news-feature .ct .cat{display:inline-block; background:var(--violet-l); color:var(--violet-d); font-size:12px; font-weight:700; padding:4px 12px; border-radius:999px; margin-bottom:14px; align-self:flex-start;}
.news-feature .ct h3{font-size:24px; color:var(--navy); margin-bottom:14px; line-height:1.4;}
.news-feature .ct p{color:var(--sub); margin-bottom:18px;}
.news-feature .ct .more{color:var(--violet); font-weight:700; display:inline-flex; align-items:center; gap:6px;}

/* ---------- 数据横条 ---------- */
.band{background:linear-gradient(135deg,var(--navy),var(--violet)); border-radius:var(--radius); padding:36px 40px; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; color:#fff; box-shadow:var(--shadow-h);}
.band .b{text-align:center; position:relative;}
.band .b:not(:last-child)::after{content:""; position:absolute; right:-10px; top:18%; height:64%; width:1px; background:rgba(255,255,255,.16);}
.band .b .n{font-size:36px; font-weight:900; letter-spacing:1px;}
.band .b .n span{color:var(--violet-a);}
.band .b .l{font-size:13.5px; opacity:.9; margin-top:6px;}

/* ---------- 咨询流程 3 步 ---------- */
.procs{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.fold{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--violet),var(--violet-a));box-shadow:0 8px 18px rgba(87,6,140,.22);}
.proc{position:relative; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px 26px 24px; transition:.28s;}
.proc:hover{transform:translateY(-5px); box-shadow:var(--shadow-h);}
.proc .pn{width:48px; height:48px; border-radius:50%; background:linear-gradient(135deg,var(--violet),var(--navy)); color:#fff; font-weight:900; font-size:20px; display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
.proc h4{color:var(--navy); font-size:17px; margin-bottom:8px;}
.proc p{color:var(--sub); font-size:13.5px; margin:0;}

/* ---------- FAQ 折叠 ---------- */
.faq{border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:#fff; box-shadow:var(--shadow);}
.faq .q{display:flex; justify-content:space-between; align-items:center; gap:14px; padding:18px 24px; cursor:pointer; font-weight:700; color:var(--navy); border-bottom:1px solid var(--line); font-size:15.5px;}
.faq .q:last-of-type{border-bottom:0;}
.faq .q svg{width:20px; height:20px; color:var(--violet); flex:none; transition:transform .28s; transform:rotate(0deg);}
.faq .q.open svg{transform:rotate(180deg);}
.faq .a{max-height:0; overflow:hidden; transition:max-height .32s ease; color:var(--sub);}
.faq .q.open + .a{max-height:240px;}
.faq .a p{padding:0 24px 20px; margin:0; font-size:14px;}

/* ---------- 国家覆盖徽章 ---------- */
.cc-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:14px;}
.cc{display:flex; flex-direction:column; align-items:center; gap:10px; padding:20px 10px; border:1px solid var(--line); border-radius:14px; background:#fff; transition:.25s;}
.cc:hover{border-color:var(--violet); transform:translateY(-3px); box-shadow:var(--shadow);}
.cc .badge{width:50px; height:50px; border-radius:13px; background:linear-gradient(135deg,var(--violet-a),var(--violet)); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:14px; letter-spacing:1px;}
.cc b{color:var(--navy); font-size:14px;}

/* ---------- 国家封面墙（关于易木页用真实照片） ---------- */
.cc-wall{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.cc-card{
  position:relative;
  aspect-ratio:4/3;
  border-radius:14px;
  overflow:hidden;
  background-size:cover; background-position:center;
  display:flex; flex-direction:column; justify-content:space-between;
  padding:18px 20px;
  color:#fff;
  text-decoration:none;
  transition:transform .3s ease, box-shadow .3s ease;
  box-shadow:0 4px 14px rgba(87,6,140,.12);
}
.cc-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 32px rgba(87,6,140,.3);
}
.cc-card::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(46,10,69,.15) 0%,rgba(46,10,69,.75) 100%);
  pointer-events:none;
}
.cc-card .badge{
  position:relative; z-index:2;
  align-self:flex-start;
  display:inline-block;
  padding:6px 14px;
  background:rgba(255,255,255,.95);
  color:var(--violet);
  border-radius:999px;
  font-weight:800;
  font-size:13px;
  letter-spacing:1.5px;
  backdrop-filter:blur(6px);
}
.cc-card .name{
  position:relative; z-index:2;
  font-size:20px; font-weight:800; line-height:1.3;
  text-shadow:0 2px 8px rgba(0,0,0,.4);
}
.cc-card .tag{
  position:relative; z-index:2;
  display:inline-block; align-self:flex-start;
  font-size:11.5px; padding:2px 9px; border-radius:6px;
  background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.3);
  backdrop-filter:blur(4px);
}

/* ---------- 速查表 ---------- */
.tbl{width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);}
.tbl th,.tbl td{padding:15px 18px; text-align:left; border-bottom:1px solid var(--line); font-size:14.5px;}
.tbl thead th{background:linear-gradient(135deg,var(--violet),var(--navy)); color:#fff; font-weight:700; font-size:14px;}
.tbl tbody tr:last-child td{border-bottom:0;}
.tbl tbody tr:hover{background:var(--violet-l);}
.tbl td b{color:var(--violet);}

/* ---------- 时间轴 ---------- */
.timeline{position:relative; margin:0 auto; max-width:880px; padding-left:28px;}
.timeline::before{content:""; position:absolute; left:7px; top:6px; bottom:6px; width:2px; background:linear-gradient(var(--violet),var(--violet-a));}
.tl{position:relative; padding:0 0 26px 26px;}
.tl:last-child{padding-bottom:0;}
.tl::before{content:""; position:absolute; left:-28px; top:4px; width:16px; height:16px; border-radius:50%; background:#fff; border:3px solid var(--violet);}
.tl .when{display:inline-block; font-weight:800; color:var(--violet); font-size:13px; margin-bottom:4px;}
.tl h4{color:var(--navy); font-size:16px; margin-bottom:6px;}
.tl p{color:var(--sub); font-size:13.5px; margin:0;}

/* ---------- 横版时间轴（services.html 学历时间线用） ---------- */
.timeline-h{
  position:relative;
  display:grid; grid-template-columns:repeat(5,1fr); gap:0;
  padding:8px 0 0;
  margin:30px 0 12px;
}
.timeline-h::before{
  content:""; position:absolute;
  left:8%; right:8%; top:54px; height:3px;
  background:linear-gradient(90deg,var(--violet),var(--violet-a));
  border-radius:2px; z-index:1;
}
.tl-h{
  position:relative; z-index:2;
  text-align:center; padding:0 10px;
  display:flex; flex-direction:column; align-items:center;
}
.tl-h .when{
  display:inline-block;
  font-size:12px; font-weight:700; color:var(--violet);
  background:var(--violet-l);
  padding:5px 12px; border-radius:999px;
  margin-bottom:14px;
  white-space:nowrap;
}
.tl-h .dot{
  width:18px; height:18px; border-radius:50%;
  background:#fff; border:4px solid var(--violet);
  margin-bottom:18px;
  box-shadow:0 0 0 5px rgba(87,6,140,.12);
  transition:transform .25s ease, box-shadow .25s ease;
}
.tl-h:hover .dot{
  transform:scale(1.18);
  box-shadow:0 0 0 7px rgba(87,6,140,.18);
  background:var(--violet);
}
.tl-h h4{
  font-size:15px; color:var(--navy);
  margin:0 0 6px; font-weight:800;
  line-height:1.4;
}
.tl-h p{
  font-size:12.5px; color:var(--sub);
  line-height:1.65; margin:0;
}
.ti{position:relative; padding:0 0 26px 26px;}
.ti:last-child{padding-bottom:0;}
.ti .dot{position:absolute; left:-28px; top:4px; width:16px; height:16px; border-radius:50%; background:#fff; border:3px solid var(--violet);}
.ti .t{display:inline-block; font-weight:800; color:var(--violet); font-size:13px; margin-bottom:4px;}
.ti h4{color:var(--navy); font-size:16px; margin-bottom:6px;}
.ti p{color:var(--sub); font-size:13.5px; margin:0;}

/* ---------- 热门排行 ---------- */
.rank-list{counter-reset:r; list-style:none; margin:0; padding:0;}
.rank-list li{display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--line);}
.rank-list li:last-child{border-bottom:0;}
.rank-list .rn{counter-increment:r; flex:none; width:26px; height:26px; border-radius:8px; background:var(--violet-l); color:var(--violet-d); font-weight:800; font-size:13px; display:flex; align-items:center; justify-content:center;}
.rank-list li:nth-child(1) .rn,.rank-list li:nth-child(2) .rn,.rank-list li:nth-child(3) .rn{background:var(--violet); color:#fff;}
.rank-list .rt{font-size:14px; color:var(--navy); font-weight:600; line-height:1.5;}
.rank-list .rd{font-size:12px; color:var(--sub2); margin-top:3px;}

/* ---------- 分页 ---------- */
.pager{display:flex; justify-content:center; gap:8px; margin-top:34px; flex-wrap:wrap;}
.pager a{width:42px; height:42px; display:flex; align-items:center; justify-content:center; border:1.5px solid var(--line); border-radius:10px; color:var(--sub); font-weight:700; transition:.2s;}
.pager a:hover{border-color:var(--violet); color:var(--violet);}
.pager a.cur{background:var(--violet); color:#fff; border-color:var(--violet);}
.pager a.wide{width:auto; padding:0 18px;}

/* ---------- 响应式 ---------- */
/* 平板 */
@media(max-width:980px){
  .grid-4,.grid-5{grid-template-columns:repeat(2,1fr);}
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .stats{grid-template-columns:repeat(2,1fr);}
  .stats .item:nth-child(2){border-right:0;}
  .flow{grid-template-columns:repeat(2,1fr);}
  .step:not(:last-child)::after{display:none;}
  .partners{grid-template-columns:repeat(3,1fr);}
  .footer .cols{grid-template-columns:1fr 1fr;}
  /* 联系我们/资讯内联 2 列分栏在平板档也强制单列，避免评估表/侧栏被挤 */
  .grid[style*="grid-template"]{grid-template-columns:1fr !important;}
  .form-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .contact-info{padding:34px 30px;}
}
/* 手机（大屏） */
@media(max-width:680px){
  .nav-menu,.nav-phone{display:none;}
  .nav-toggle{display:block;}
  .nav-toggle{min-width:44px; min-height:44px; padding:10px; justify-content:center; align-items:center;}
  .nav-menu.open{display:flex; position:absolute; top:68px; left:0; right:0; flex-direction:column; background:#fff; padding:14px; box-shadow:var(--shadow); border-top:1px solid var(--line);
    max-height:calc(100vh - 68px); overflow-y:auto; -webkit-overflow-scrolling:touch;}
  .slide h1{font-size:28px;}
  .slide p{font-size:14px;}
  .hero{height:auto; min-height:380px;}
  .grid-2,.grid-3,.grid-5,.form-grid{grid-template-columns:1fr;}
  .grid-4{grid-template-columns:repeat(2,1fr);} /* 4列网格(导师/办公图)手机端改2列，避免单列过长 */
  .card .grid-2{grid-template-columns:repeat(2,1fr);} /* 卡片内列表网格保持2列 */
  .flow{grid-template-columns:1fr !important;} /* 服务流程强制单列 */
  .stats{grid-template-columns:1fr 1fr;}
  .stats .item{border-right:0 !important;}
  .sec-head h2{font-size:22px;}
  .footer .cols{grid-template-columns:1fr;}
  /* 覆盖原型内联 2 列分栏（联系我们/资讯），手机端强制单列 */
  .grid[style*="grid-template"]{grid-template-columns:1fr !important;}
  .cta{padding:34px 22px;}
  .cta h2{font-size:24px;}
  .section{padding:48px 0;}
  .page-hero{padding:40px 0;}
  .page-hero h1{font-size:26px;}
  .partners{grid-template-columns:repeat(3,1fr);} /* 手机端保持3列或更小 */
  .news-row{flex-direction:column; gap:12px;}
  .news-row .thumb{width:100%; height:140px;}
  .list-card{flex-direction:column; text-align:center;}
  .list-card .num{margin:0 auto 14px;}
  /* about 紫色大卡片：平板 2x2 堆叠 */
  .about-stats{margin-top:-32px; padding:64px 0 48px;}
  .stats-row{grid-template-columns:repeat(2,1fr);}
  .stat-card + .stat-card{border-left:0;}
  .stat-card:nth-child(odd){border-right:1px solid rgba(255,255,255,.10);}
  .stat-card:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.10); padding-bottom:32px;}
  .stat-card:nth-child(n+3){padding-top:32px;}
  .stat-num{font-size:48px;}
  /* 防止水平溢出 */
  html,body{overflow-x:hidden;}
  /* backdrop-filter 回退：旧浏览器用半透明纯色 */
  @supports not (backdrop-filter:blur(1px)){
    .header{background:rgba(255,255,255,.96);}}
}
/* 手机（小屏） */
@media(max-width:480px){
  .nav{height:60px;}
  .brand img{height:32px; flex-shrink:0;}
  .nav-menu.open{top:60px; max-height:calc(100vh - 60px);}
  .hero{min-height:320px;}
  .slide h1{font-size:24px;}
  .slide p{font-size:13px;}
  .btn{padding:10px 20px; font-size:14px;}
  .section{padding:36px 0;}
  .wrap{padding:0 24px;}
  .sec-head{margin-bottom:32px;}
  .sec-head h2{font-size:20px;}
  .stats .num{font-size:28px;}
  .stats .item{padding:20px 12px;}
  /* about 紫色大卡片：小屏 1 列堆叠 */
  .stats-row{grid-template-columns:1fr;}
  .stat-card + .stat-card{border-left:0; border-top:1px solid rgba(255,255,255,.10);}
  .stat-card:nth-child(odd){border-right:0;}
  .stat-card:nth-child(-n+2){border-bottom:0; padding-bottom:24px;}
  .stat-card:nth-child(n+3){padding-top:24px;}
  .stat-num{font-size:40px;}
  .page-hero{padding:32px 0;}
  .page-hero h1{font-size:22px;}
  .partners{grid-template-columns:repeat(2,1fr);}
  .cc-grid{grid-template-columns:repeat(2,1fr);}
  [style*="grid-template-columns:repeat(4"]{grid-template-columns:repeat(2,1fr)!important;} /* 覆盖内联4列(关于页数据条)小屏改2列 */
  .timeline{max-width:100%; padding-left:20px;}
  .timeline::before{left:5px;}
  .tl::before{left:-20px;}
  .ti .dot{left:-20px;}
  .band .b .n{font-size:26px;}
  .proc{padding:20px 16px;}
  .card,.tool-card,.school,.review,.event{padding:18px 16px;}
}
@media(max-width:980px){
  .news-feature{grid-template-columns:1fr;}
  .news-feature .cv{min-height:160px;}
  .band{grid-template-columns:repeat(2,1fr); padding:30px;}
  .band .b:nth-child(2)::after{display:none;}
  .procs{grid-template-columns:1fr;}
  .cc-grid{grid-template-columns:repeat(3,1fr);}
  .tbl{display:block; overflow-x:auto; white-space:nowrap; -webkit-overflow-scrolling:touch;}
}
@media(max-width:680px){
  .band{grid-template-columns:1fr 1fr; gap:16px;}
  .band .b:nth-child(n)::after{display:none;} /* 小屏去掉所有竖分隔 */
  .cc-grid{grid-template-columns:repeat(2,1fr);}
  .review-grid{grid-template-columns:1fr;} /* 学员口碑单列 */
}

/* ---------- 留学工具 / 院校库 / 活动日历 ---------- */
.tool-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.tool-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px; text-align:center; transition:transform .25s, box-shadow .25s; box-shadow:var(--shadow);}
.tool-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-h);}
.tool-card .ti{width:60px; height:60px; margin:0 auto 14px; border-radius:16px; display:flex; align-items:center; justify-content:center; color:#fff; background:linear-gradient(135deg,var(--violet),var(--violet-a)); box-shadow:0 8px 18px rgba(87,6,140,.22);}
.tool-card h3{color:var(--navy); font-size:19px; margin-bottom:8px;}
.tool-card p{color:var(--sub); font-size:14px; margin-bottom:16px;}

/* 计算器 / 表单 */
.calc{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:30px; box-shadow:var(--shadow);}
.calc .row{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px;}
.calc label{display:block; font-size:13.5px; color:var(--navy); font-weight:600; margin-bottom:7px;}
.calc select,.calc input[type=number]{width:100%; padding:11px 13px; border:1px solid var(--line); border-radius:10px; font-size:14px; color:var(--ink); background:#fff;}
.calc select:focus,.calc input:focus{outline:none; border-color:var(--violet); box-shadow:0 0 0 3px rgba(162,63,196,.14);}
.calc .result{margin-top:22px; padding:22px; border-radius:12px; background:linear-gradient(135deg,#f3e9fb,#e9d8f7); text-align:center;}
.calc .result .big{font-size:34px; font-weight:900; color:var(--violet); letter-spacing:.5px;}
.calc .result .note{font-size:13px; color:var(--sub2); margin-top:6px;}
.calc .hint{font-size:13px; color:var(--sub2); margin-top:10px; line-height:1.6;}

/* 院校库 */
.filters{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:26px;}
.chip{padding:8px 16px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--sub); font-size:14px; cursor:pointer; transition:.2s;}
.chip:hover{border-color:var(--violet); color:var(--violet);}
.chip.active{background:var(--violet); border-color:var(--violet); color:#fff;}
.school-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.school{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow); transition:.25s;}
.school:hover{transform:translateY(-4px); box-shadow:var(--shadow-h);}
.school .top{display:flex; justify-content:space-between; align-items:flex-start; gap:12px;}
.school h3{color:var(--navy); font-size:17px; margin:0; line-height:1.35;}
.school .rank{font-size:13px; font-weight:800; color:#fff; background:linear-gradient(135deg,var(--violet),var(--navy)); padding:4px 11px; border-radius:999px; white-space:nowrap;}
.school .flag{display:inline-block; font-size:12px; font-weight:700; color:var(--violet); background:rgba(162,63,196,.12); padding:3px 10px; border-radius:6px; margin:12px 0 10px;}
.school .tags{display:flex; flex-wrap:wrap; gap:7px;}
.school .tag{font-size:12.5px; color:var(--sub); background:#f5f1fb; border:1px solid var(--line); padding:3px 10px; border-radius:6px;}

/* 活动日历 */
.events{display:grid; grid-template-columns:repeat(2,1fr); gap:18px;}
.event{display:flex; gap:16px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:20px; box-shadow:var(--shadow); transition:.25s;}
.event:hover{box-shadow:var(--shadow-h);}
.event .date{flex:none; width:66px; text-align:center; background:linear-gradient(135deg,var(--violet),var(--navy)); color:#fff; border-radius:12px; padding:10px 0; align-self:flex-start;}
.event .date .d{font-size:26px; font-weight:900; line-height:1;}
.event .date .m{font-size:13px; margin-top:4px; opacity:.9;}
.event h4{color:var(--navy); font-size:16px; margin:0 0 6px;}
.event .meta{font-size:13px; color:var(--sub2);}
.event .meta .pill{display:inline-block; font-size:12px; color:var(--violet); background:rgba(162,63,196,.1); padding:2px 9px; border-radius:6px; margin-right:8px;}

@media(max-width:980px){
  .tool-grid{grid-template-columns:1fr;}
  .school-grid{grid-template-columns:repeat(2,1fr);}
  .events{grid-template-columns:1fr;}
  .calc .row{grid-template-columns:1fr;}
}
@media(max-width:680px){
  .school-grid{grid-template-columns:1fr;}
}
@media(max-width:480px){
  .tool-card,.calc{padding:20px 16px;}
  .tool-card .ti{width:48px; height:48px;}
  .tool-card h3{font-size:17px;}
  .school{padding:18px 16px;}
  .event{padding:16px; flex-direction:column; align-items:center; text-align:center;}
  .event .date{width:56px; padding:8px 0;}
  .report .cover{height:140px;}
}

/* ---------- 资源中心下拉导航（已随导航移除，样式保留以备复用） ---------- */

/* ---------- 首页更多服务卡 ---------- */
.more-card{padding:26px 24px; text-decoration:none; display:block; transition:transform .25s, box-shadow .25s, border-color .25s;}
.more-card .mi{width:54px; height:54px; border-radius:15px; display:flex; align-items:center; justify-content:center; color:#fff;
  background:linear-gradient(135deg,var(--violet),var(--violet-a)); box-shadow:0 8px 18px rgba(87,6,140,.22); margin-bottom:16px;}
.more-card h3{color:var(--navy); font-size:18px; margin-bottom:8px;}
.more-card p{color:var(--sub); font-size:13.5px; margin:0 0 14px;}
.more-card .go{color:var(--violet); font-weight:700; font-size:13.5px; display:inline-flex; align-items:center; gap:6px;}
@media(max-width:680px){ .grid.more-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:480px){ .grid.more-grid{grid-template-columns:1fr;} }

/* ---------- 留学报告卡 ---------- */
.report .cover{height:184px; position:relative; background:linear-gradient(135deg,var(--navy),var(--violet));
  display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; text-align:center; padding:22px; overflow:hidden;}
.report .cover svg{width:48px; height:48px; opacity:.92; margin-bottom:12px;}
.report .cover .yr{position:absolute; top:14px; left:14px; font-size:12px; font-weight:700; background:var(--violet-a); color:#fff; padding:3px 11px; border-radius:999px; letter-spacing:1px;}
.report .cover .tag{position:absolute; top:14px; right:14px; font-size:12px; font-weight:700; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.35); padding:3px 11px; border-radius:999px;}
.report .body{padding:20px;}
.report .body .cat{display:inline-block; background:var(--violet-l); color:var(--violet-d); font-size:12px; font-weight:700; padding:3px 11px; border-radius:999px; margin-bottom:10px;}
.report .body h4{color:var(--navy); font-size:17px; line-height:1.45; margin-bottom:8px;}
.report .body p{color:var(--sub); font-size:13px; margin-bottom:16px;}
.report .body .dl{display:inline-flex; align-items:center; gap:7px;}

/* ---------- 学员口碑卡 ---------- */
.review{display:flex; flex-direction:column; padding:24px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); transition:.25s;}
.review:hover{transform:translateY(-4px); box-shadow:var(--shadow-h);}
.review .head{display:flex; align-items:center; gap:14px; margin-bottom:14px;}
.review .ava{width:54px; height:54px; border-radius:50%; flex:none; background:linear-gradient(135deg,var(--violet),var(--violet-a)); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:18px;}
.review .who b{color:var(--navy); font-size:15px;}
.review .who span{display:block; color:var(--sub2); font-size:12.5px; margin-top:2px;}
.review .stars{display:inline-flex; gap:2px; color:var(--gold); margin-bottom:12px;}
.review .stars svg{width:16px; height:16px; fill:currentColor; stroke:none;}
.review .quote{color:var(--ink); font-size:14px; line-height:1.8; margin:0 0 14px; flex:1;}
.review .ftags{display:flex; flex-wrap:wrap; gap:6px;}
.review .ftags span{font-size:11.5px; padding:3px 10px; border-radius:999px; background:#f1ecf8; color:var(--sub);}
@media(max-width:980px){ .review-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:680px){ .review-grid{grid-template-columns:1fr;} }

/* ---------- 低龄/境外 通用小卡 ---------- */
.stage .num{font-size:30px; font-weight:900; color:var(--violet); line-height:1;}
.stage .sub{display:inline-block; font-size:12.5px; color:var(--sub2); background:var(--violet-l); padding:3px 11px; border-radius:999px; margin:8px 0 10px; font-weight:700;}
.stage h4{color:var(--navy); font-size:17px; margin-bottom:6px;}
.svc .ico{width:50px; height:50px; flex:none; border-radius:13px; background:linear-gradient(135deg,var(--violet-a),var(--violet)); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:14px;}

/* ---------- 可访问性增强 ---------- */
/* 键盘焦点可见：仅键盘导航时显示焦点环，鼠标点击不显示 */
:focus-visible{outline:3px solid var(--violet-a); outline-offset:2px; border-radius:6px;}
/* 尊重"减少动态效果"系统偏好：关闭轮播/悬停/平滑滚动等动效 */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}

/* ==========================================================
   首页整体重构样式（2026-07-29）
   - 学员案例横版布局 .cases-h / .case-h
   - 导师团队大头像网格 .tutor-grid / .tutor
   - 走进易木办公环境 .office-grid / .office
   - 入场动画 .reveal
   ========================================================== */

/* ---------- 学员案例（卡片网格） ---------- */
.cases-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}

.case-card{
  position:relative; overflow:hidden;
  display:flex; flex-direction:column;
  background:#fff; border:1px solid var(--line); border-radius:18px;
  box-shadow:var(--shadow);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.case-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-h); border-color:var(--violet-l);}
.case-card::before{ /* 顶部品牌色细线，hover 显现 */
  content:""; position:absolute; left:0; top:0; right:0; height:3px; z-index:4;
  background:linear-gradient(90deg,var(--violet),var(--violet-a)); opacity:0; transition:opacity .28s;
}
.case-card:hover::before{opacity:1;}

.case-media{
  position:relative; aspect-ratio:4/5; overflow:hidden;
  background:linear-gradient(135deg,#f3e9fb,#e9d8f7);
}
.case-media img{
  width:100%; height:100%; object-fit:cover; object-position:top center; display:block;
  transition:transform .5s ease;
}
.case-card:hover .case-media img{transform:scale(1.05);}

.case-badge{ /* 录取徽章浮于照片左上 */
  position:absolute; left:12px; top:12px; z-index:3;
  padding:5px 13px; border-radius:999px; font-size:11.5px; font-weight:700; letter-spacing:.5px; color:#fff;
  background:linear-gradient(135deg,#57068c,#2e0a45); box-shadow:0 6px 16px rgba(46,10,69,.42);
}
.case-school{ /* 学校名浮于照片底部 */
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:28px 14px 12px; font-size:14px; font-weight:800; color:#fff; letter-spacing:.3px;
  background:linear-gradient(to top, rgba(46,10,69,.92), rgba(46,10,69,0));
}

.case-body{display:flex; flex-direction:column; gap:10px; padding:16px 18px 18px; flex:1;}
.case-major{font-size:15.5px; font-weight:800; color:var(--navy); line-height:1.4;}
.case-tags{display:flex; flex-wrap:wrap; gap:6px;}
.case-tags span{font-size:11.5px; padding:3px 10px; border-radius:999px; background:#f3e9fb; color:var(--violet-d); font-weight:600;}
.case-quote{
  position:relative; font-size:13.5px; line-height:1.8; color:var(--ink);
  margin:2px 0 0; padding-left:14px; border-left:3px solid var(--violet-l); flex:1;
}
.case-name{font-size:12px; color:var(--sub2); border-top:1px dashed var(--line); padding-top:10px;}

@media (max-width:980px){ .cases-grid{grid-template-columns:repeat(2,1fr); gap:20px;} }
@media (max-width:560px){ .cases-grid{grid-template-columns:1fr; gap:18px;} }

/* ---------- 导师团队横向大卡 ---------- */
/* ---------- 大导师竖向卡（照片顶部 + 信息栏底部） ---------- */
.tutor-cards{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.tutor-card{
  position:relative; overflow:hidden;
  display:flex; flex-direction:column;
  background:#fff; border:1px solid var(--line); border-radius:18px;
  padding:0; box-shadow:var(--shadow);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.tutor-card::before{ /* 顶部品牌色细线，hover 显现 */
  content:""; position:absolute; left:0; top:0; right:0; height:3px; z-index:5;
  background:linear-gradient(90deg,var(--violet),var(--violet-a)); opacity:0; transition:opacity .28s;
}
.tutor-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-h); border-color:var(--violet-l);}
.tutor-card:hover::before{opacity:1;}

/* 照片：4:5 顶部占满，名字+角色浮底部 */
.tutor-card .ph{
  position:relative; aspect-ratio:4/5; overflow:hidden;
  background:linear-gradient(135deg,#f3e9fb,#e9d8f7);
  border:none;
  display:block;
}
.tutor-card .ph img{
  width:100%; height:100%;
  object-fit:cover; object-position:center 22%;
  display:block; transition:transform .4s ease;
}
.tutor-card:hover .ph img{transform:scale(1.04);}
/* 照片底部加深蒙层：让叠在上面的白字在任何肤色背景下都可读 */
.tutor-card .ph::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:62%;
  background:linear-gradient(180deg,
    transparent 0%,
    rgba(28,5,42,.18) 30%,
    rgba(28,5,42,.62) 60%,
    rgba(28,5,42,.94) 100%);
  pointer-events:none; z-index:1;
}

/* 名字 + 角色：绝对定位照片底部，z-index 高于蒙层；不允许换行竖排 */
.tutor-card .ph > .head{
  position:absolute; left:18px; right:18px; bottom:16px;
  z-index:3;
  display:flex; align-items:center; gap:10px;
  flex-wrap:nowrap; white-space:nowrap;
  margin:0;
}
.tutor-card .ph > .head .name{
  font-size:24px; font-weight:800; color:#fff; line-height:1.1;
  letter-spacing:.5px; flex:none;
  text-shadow:
    0 0 4px rgba(28,5,42,.9),
    0 2px 8px rgba(0,0,0,.6),
    0 1px 0 rgba(28,5,42,.95);
  padding:0;
}
.tutor-card .ph > .head .role{
  display:inline-block; font-size:11.5px; font-weight:700; color:#fff;
  background:linear-gradient(135deg,#57068c,#a23fc4);
  padding:5px 12px; border-radius:999px; letter-spacing:1px; flex:none;
  box-shadow:0 4px 12px rgba(28,5,42,.45);
}

/* 信息栏：照片下方，纯文字布局 */
.tutor-card .info{
  display:flex; flex-direction:column; min-width:0;
  padding:20px 22px 22px; gap:10px;
  position:relative;
}

/* 学校 chip：浅紫胶囊 */
.tutor-card .info .school{
  font-size:12.5px; color:var(--violet-d); margin:0;
  display:inline-flex; align-items:center; gap:6px; font-weight:700;
  padding:6px 12px; background:linear-gradient(135deg,#f3e9fb,#f7eefb); border-radius:999px;
  align-self:flex-start;
  border:1px solid #ead7f7;
}
.tutor-card .info .school svg{width:14px; height:14px; color:var(--violet);}

/* 方向标题 */
.tutor-card .info .field-label{
  font-size:11px; color:var(--violet); margin:2px 0 0;
  text-transform:uppercase; letter-spacing:1.5px; font-weight:700;
}
.tutor-card .info .tags{display:flex; flex-wrap:wrap; gap:6px; margin:0;}
.tutor-card .info .tags span{
  font-size:12px; padding:4px 11px; border-radius:6px;
  background:#f3e9fb; color:var(--violet-d); font-weight:600;
}
/* 流程 */
.tutor-card .info .flow{
  font-size:12.5px; color:var(--ink); line-height:1.7;
  margin:0; padding:10px 12px;
  background:#faf7fe; border-radius:8px; border-left:3px solid var(--violet);
  display:flex; align-items:flex-start; gap:8px;
}
.tutor-card .info .flow svg{width:16px; height:16px; color:var(--violet); flex:none; margin-top:2px;}
/* 引言：与上方分隔 */
.tutor-card .info .quote{
  font-size:13px; color:var(--sub); font-style:italic; line-height:1.7;
  margin:0; padding:10px 0 0; border-top:1px dashed var(--line);
  margin-top:2px;
}
.tutor-note{
  margin-top:24px; padding:14px 18px;
  background:linear-gradient(135deg,#f3e9fb,#faf7fe);
  border-radius:10px; border:1px solid var(--violet-l);
  font-size:13px; color:var(--ink); line-height:1.7;
  display:flex; align-items:flex-start; gap:10px;
}
.tutor-note svg{width:18px; height:18px; color:var(--violet); flex:none; margin-top:2px;}
.tutor-note a{color:var(--violet); font-weight:700;}

/* ---------- 导师子区块标题（文书/进度/新媒体） ---------- */
.tutor-sub-head{text-align:center; margin:48px 0 24px;}
.tutor-sub-head:first-of-type{margin-top:32px;}
/* 直接子选择器提升特异性，避免被 .sec-head .ey 规则覆盖 */
.tutor-sub-head > .ey{
  display:inline-block !important;
  font-size:11px !important;
  letter-spacing:3px !important;
  text-transform:uppercase !important;
  color:var(--violet) !important;
  font-weight:700 !important;
  margin-bottom:10px !important;
  padding:3px 10px;
  border:1px solid var(--violet-l);
  border-radius:999px;
  background:var(--violet-l);
}
.tutor-sub-head > h3{
  font-size:26px !important;
  color:var(--navy) !important;
  margin:0 0 10px !important;
  font-weight:800 !important;
  letter-spacing:.5px;
}
.tutor-sub-head > p{
  font-size:14px !important;
  color:var(--sub) !important;
  max-width:680px; margin:0 auto !important; line-height:1.7;
}

/* ---------- 导师紧凑网格（文书/进度/新媒体） ---------- */
.tutor-mini-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.tutor-mini{
  text-align:center; padding:24px 16px 20px;
  background:#fff; border:1px solid var(--line); border-radius:12px;
  box-shadow:var(--shadow);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.tutor-mini:hover{transform:translateY(-4px); box-shadow:var(--shadow-h); border-color:var(--violet-l);}
.tutor-mini .face{
  width:96px; height:96px; border-radius:50%; overflow:hidden;
  margin:0 auto 12px; background:#f3e9fb;
  border:3px solid #fff; outline:2px solid var(--violet-l);
  box-shadow:0 4px 12px rgba(87,6,140,.1);
}
.tutor-mini .face img{width:100%; height:100%; object-fit:cover; object-position:center 22%; display:block;}
.tutor-mini h4{color:var(--navy); font-size:16px; margin:0 0 6px; font-weight:800;}
.tutor-mini .role{
  display:inline-block; font-size:11px; font-weight:700; color:#fff;
  background:linear-gradient(135deg,#57068c,#a23fc4);
  padding:3px 11px; border-radius:999px; margin-bottom:10px; letter-spacing:.5px;
}
.tutor-mini p{font-size:12.5px; color:var(--sub2); margin:0; line-height:1.55;}

/* ---------- 走进易木办公环境网格 ---------- */
.office-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
.office{
  aspect-ratio:4/3; border-radius:12px; overflow:hidden;
  background:linear-gradient(135deg,#f3e9fb,#e9d8f7);
  position:relative;
  cursor:pointer;
}
.office img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease;}
.office:hover img{transform:scale(1.06);}
.office::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(46,10,69,.5));
  opacity:0; transition:opacity .3s ease;
}
.office:hover::after{opacity:1;}

/* ---------- Offer 榜真实录取展示（深底白框海报墙） ---------- */
.offer-wall{
  display:flex; flex-wrap:wrap; justify-content:center; gap:28px;
}
.offer-real{
  flex:0 1 calc((100% - 56px) / 3);   /* 桌面 3 列；4-5 自然换行后由 justify-content 居中 */
  position:relative;
  background:#fff; border:1px solid var(--line); border-radius:16px;
  overflow:hidden; box-shadow:0 10px 28px rgba(0,0,0,.32);
  display:flex; flex-direction:column;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.offer-real::before{ /* 顶部品牌色细线 */
  content:""; position:absolute; left:0; top:0; right:0; height:3px; z-index:3;
  background:linear-gradient(90deg,var(--violet),var(--violet-a));
}
.offer-real:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 38px rgba(0,0,0,.45);
  border-color:var(--violet-l);
}
.offer-img{
  background:#f7f2fc;                 /* 极浅紫兜底，海报若有微缝隙不刺眼 */
  display:flex; align-items:flex-start; justify-content:center;
  overflow:hidden;
}
.offer-img img{
  width:100%; height:auto; display:block;   /* 海报按自然 5:8 展示，完整可读 */
  transition:transform .4s ease;
}
.offer-real:hover .offer-img img{transform:scale(1.02);}
.offer-info{padding:16px 18px 18px; background:#fff;}
.offer-info::before{ /* 信任徽章，伪元素实现 */
  content:"REAL · 真实录取";
  display:inline-block;
  font-size:10.5px; font-weight:800; letter-spacing:1.2px;
  color:var(--violet-a);
  background:#f3e9fb;
  border:1px solid #e6d4f3;
  padding:3px 9px; border-radius:999px;
  margin-bottom:10px;
}
.offer-info .school{
  font-size:12px; font-weight:800; color:var(--violet);
  letter-spacing:.6px; margin-bottom:6px;
}
.offer-info .major{
  font-size:14.5px; font-weight:700; color:var(--navy);
  margin-bottom:6px; line-height:1.45;
}
.offer-info .stu{
  font-size:12px; color:var(--sub2);
  padding-top:8px; margin-top:6px;
  border-top:1px dashed var(--line);
}

/* ---------- 入场动画（IntersectionObserver 触发） ---------- */
.reveal{opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1; transform:none;}
.reveal[data-d="100"]{transition-delay:.1s;}
.reveal[data-d="200"]{transition-delay:.2s;}
.reveal[data-d="300"]{transition-delay:.3s;}

/* ---------- Footer 备案号 ---------- */
.footer .bottom{padding-top:18px; border-top:1px solid rgba(255,255,255,.1); margin-top:34px;}

/* ---------- 响应式 ---------- */
@media(max-width:1100px){
  .cases-h{grid-template-columns:1fr;}
  .tutor-cards{grid-template-columns:repeat(2,1fr);}
  .tutor-mini-grid{grid-template-columns:repeat(2,1fr);}
  .stage-grid{grid-template-columns:repeat(2,1fr);}
  .offer-real{flex-basis:calc((100% - 28px) / 2);}
}
@media(max-width:980px){
  .office-grid{grid-template-columns:repeat(3,1fr);}
  .tutor-sub-head h3{font-size:20px;}
  .cc-wall{grid-template-columns:repeat(2,1fr); gap:14px;}
  /* 横版时间轴 → 窄屏改为水平滚动 */
  .timeline-h{
    grid-template-columns:repeat(5,minmax(180px,1fr));
    overflow-x:auto; padding-bottom:14px;
    -webkit-overflow-scrolling:touch;
  }
  .timeline-h::-webkit-scrollbar{height:6px;}
  .timeline-h::-webkit-scrollbar-thumb{background:var(--violet-l); border-radius:3px;}
}
@media(max-width:680px){
  .cases-h{gap:16px;}
  .tutor-cards{grid-template-columns:1fr;}
  .case-h{grid-template-columns:140px 1fr; gap:14px; padding:14px;}
  .case-h .ph{aspect-ratio:3/4;}
  .case-h .info .major{font-size:14px;}
  .case-h .quote{font-size:13px;}
  .tutor-card{padding:0;}
  .tutor-card .ph > .head .name{font-size:20px;}
  .tutor-card .info{padding:16px 18px 18px; gap:8px;}
  .tutor-card .info .tags span{font-size:11px; padding:3px 9px;}
  .tutor-card .info .flow{font-size:11.5px; padding:8px 10px;}
  .tutor-card .info .quote{font-size:12px;}
  .tutor-sub-head{margin:36px 0 18px;}
  .tutor-sub-head h3{font-size:18px;}
  .tutor-sub-head p{font-size:13px;}
  .tutor-mini{padding:18px 12px 14px;}
  .tutor-mini .face{width:80px; height:80px;}
  .tutor-mini h4{font-size:15px;}
  .office-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:480px){
  .case-h{grid-template-columns:110px 1fr;}
  .case-h .info .major{font-size:13.5px; margin-bottom:8px;}
  .case-h .quote{font-size:12.5px; line-height:1.7;}
  .case-h .info .ft span{font-size:11px; padding:2px 8px;}
  .tutor-card{padding:0;}
  .tutor-card .ph > .head{left:12px; right:12px; bottom:10px; gap:6px;}
  .tutor-card .ph > .head .name{font-size:18px;}
  .tutor-card .ph > .head .role{font-size:10px; padding:3px 8px;}
  .tutor-card .info{padding:12px 14px 14px; gap:6px;}
  .tutor-card .info .school{font-size:11.5px; padding:5px 10px;}
  .tutor-card .info .field-label{font-size:10px; margin-top:0;}
  .tutor-card .info .tags{gap:4px;}
  .tutor-card .info .tags span{font-size:10.5px; padding:2px 7px;}
  .tutor-sub-head{margin:28px 0 14px;}
  .tutor-sub-head h3{font-size:17px;}
  .tutor-sub-head p{font-size:12.5px;}
  .tutor-mini-grid{grid-template-columns:repeat(2,1fr); gap:12px;}
  .stage-grid{gap:12px;}
  .stage-card .body{padding:12px 14px 14px;}
  .stage-card h4{font-size:15px;}
  /* 横版时间轴 → 手机端继续水平滚动，但字号缩小 */
  .tl-h .when{font-size:11px; padding:4px 9px;}
  .tl-h h4{font-size:13.5px;}
  .tl-h p{font-size:11.5px;}
  .tutor-mini{padding:14px 10px 12px;}
  .tutor-mini .face{width:68px; height:68px; border-width:2px; outline-width:1px;}
  .tutor-mini h4{font-size:14px; margin-bottom:4px;}
  .tutor-mini .role{font-size:10px; padding:2px 8px; margin-bottom:6px;}
  .tutor-mini p{font-size:11.5px;}
  .cc-wall{gap:10px;}
  .cc-card{padding:14px 16px;}
  .cc-card .name{font-size:16px;}
  .offer-wall{gap:16px;}
  .offer-real{flex-basis:100%;}
  .offer-info{padding:14px 16px 16px;}
  .offer-info .school{font-size:11px;}
  .offer-info .major{font-size:13px;}
  .offer-info .stu{font-size:11px;}
  .office-grid{gap:10px;}
}

/* ===== GEO 通用 FAQ 区块（2026-08-15 新增） ===== */
.geo-faq{padding:64px 0;background:#f3e9fb;}
.geo-faq__title{text-align:center;font-size:28px;font-weight:700;color:#2e0a45;margin:0 0 32px;}
.geo-faq__list{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.geo-faq__item{background:#fff;border:1px solid #e7d6f4;border-radius:12px;overflow:hidden;}
.geo-faq__q{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:18px 22px;font-size:17px;font-weight:600;color:#2e0a45;list-style:none;}
.geo-faq__q::-webkit-details-marker{display:none;}
.geo-faq__q::after{content:"";width:10px;height:10px;border-right:2px solid #57068c;border-bottom:2px solid #57068c;transform:rotate(45deg);transition:transform .2s;margin-left:12px;flex:0 0 auto;}
.geo-faq__item[open] .geo-faq__q::after{transform:rotate(-135deg);}
.geo-faq__a{padding:0 22px 20px;color:#444;line-height:1.8;font-size:15px;}
