/* ============================================================
   仁能幸福学院 · 官网
   传统 · 简洁 · 大方
   主色：品牌蓝 #3FA5E8 / 墨色 #1F2A37 / 暖白 #F7F9FB
   ============================================================ */

:root{
  --c-blue:       #3FA5E8;
  --c-blue-deep:  #2B86C4;
  --c-ink:        #1F2A37;
  --c-ink-soft:   #5B6B7B;
  --c-ink-muted:  #98A5B3;
  --c-line:       #E4E8EE;
  --c-paper:      #FFFFFF;
  --c-bg:         #F7F9FB;
  --c-blue-tint:  #EAF4FC;

  --f-serif: "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;
  --f-sans:  -apple-system, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;

  --max: 1100px;
  --pad: 24px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--f-sans);
  font-size:15px; line-height:1.75;
  color:var(--c-ink);
  background:var(--c-paper);
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4{ margin:0; font-weight:500; }
p{ margin:0; }
ul,ol{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; }
input,textarea,select{ font-family:inherit; font-size:inherit; color:inherit; }
::selection{ background:var(--c-blue-tint); }

.container{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--pad);
}

/* ================= 通用按钮 ================= */
.btn{
  display:inline-block;
  padding:10px 26px;
  border-radius:4px;
  font-size:15px;
  border:1px solid transparent;
  cursor:pointer;
  transition:background .2s, color .2s, border-color .2s;
}
.btn-primary{
  background:var(--c-blue); color:#fff;
  border-color:var(--c-blue);
}
.btn-primary:hover{ background:var(--c-blue-deep); border-color:var(--c-blue-deep); }
.btn-outline{
  background:transparent; color:var(--c-ink);
  border-color:#C7D0DA;
}
.btn-outline:hover{ border-color:var(--c-blue); color:var(--c-blue); }

/* ================= 顶部导航 ================= */
.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--c-line);
}
.nav__inner{
  height:60px;
  display:flex; align-items:center; gap:24px;
}
.nav__brand{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.nav__logo{ width:34px; height:34px; flex-shrink:0; }
.nav__name{
  font-family:var(--f-serif);
  font-size:17px; font-weight:700;
  letter-spacing:.04em;
  white-space:nowrap;
}
.nav__menu{
  display:flex; align-items:center; gap:2px;
  margin-left:auto;
  min-width:0;
}
.nav__menu a{
  padding:6px 9px;
  font-size:14px;
  color:var(--c-ink-soft);
  border-radius:4px;
  transition:color .2s, background .2s;
  white-space:nowrap;
}
.nav__menu a:hover{ color:var(--c-blue); }
.nav__menu a.is-active{
  color:var(--c-blue);
  background:var(--c-blue-tint);
}
/* 导航「预约咨询」按钮 */
.nav__cta{
  flex-shrink:0;
  display:inline-flex; align-items:center; gap:6px;
  margin-left:8px;
  padding:8px 18px;
  border:0; border-radius:4px;
  background:var(--c-blue); color:#fff;
  font-size:14px; font-weight:600;
  cursor:pointer;
  transition:background .2s;
}
.nav__cta svg{ width:16px; height:16px; }
.nav__cta:hover{ background:var(--c-blue-deep); }
.nav__burger{
  display:none;
  margin-left:auto;
  border:0; background:none; padding:8px;
  flex-direction:column; gap:4px;
}
.nav__burger span{ width:22px; height:2px; background:var(--c-ink); }

/* ================= Banner 轮播（拉满视口） ================= */
.banner{
  position:relative;
  background:var(--c-bg);
  border-bottom:1px solid var(--c-line);
  overflow:hidden;
}
.banner__track{
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  aspect-ratio:1920/600;
}
.banner__slide{
  position:absolute; inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .6s ease, visibility .6s;
}
.banner__slide.is-active{
  opacity:1;
  visibility:visible;
}
.banner__img{
  width:100%;
  height:100%;
  object-fit:cover;   /* 按比例铺满，不拉伸、不留空缺 */
  display:block;
}
.banner__overlay{
  position:absolute; inset:0;
  display:flex;
  align-items:center;
  z-index:2;
  pointer-events:none;
}
.banner__overlay .container{
  width:100%;
  pointer-events:auto;
}
.banner__eyebrow{
  display:inline-block;
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--c-blue-deep);
  background:rgba(255,255,255,.7);
  border:1px solid rgba(255,255,255,.9);
  padding:4px 12px;
  border-radius:20px;
  margin-bottom:14px;
}
.banner__title{
  font-family:var(--f-serif);
  font-size:40px;
  font-weight:700;
  letter-spacing:.06em;
  color:var(--c-ink);
  text-shadow:0 1px 2px rgba(255,255,255,.8);
  margin-bottom:10px;
}
.banner__sub{
  font-size:16px;
  color:var(--c-ink-soft);
  letter-spacing:.12em;
  margin-bottom:20px;
}
.banner__actions{
  display:flex; gap:12px;
}

/* 左右箭头 */
.banner__arrow{
  position:absolute; top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:42px; height:42px;
  border:1px solid rgba(255,255,255,.9);
  background:rgba(255,255,255,.65);
  color:var(--c-ink);
  font-size:24px; line-height:1;
  border-radius:50%;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background .2s, color .2s;
}
.banner__arrow:hover{ background:var(--c-blue); color:#fff; border-color:var(--c-blue); }
.banner__arrow--prev{ left:24px; }
.banner__arrow--next{ right:24px; }

/* 指示圆点 */
.banner__dots{
  position:absolute; bottom:18px; left:50%;
  transform:translateX(-50%);
  z-index:3;
  display:flex; gap:8px;
}
.banner__dot{
  width:10px; height:10px;
  border-radius:50%;
  border:0;
  background:rgba(31,42,55,.25);
  cursor:pointer;
  transition:background .2s, transform .2s;
}
.banner__dot.is-active{
  background:var(--c-blue);
  transform:scale(1.25);
}

/* ================= 区块 ================= */
.section{ padding:64px 0; }
.section--alt{ background:var(--c-bg); }

.sec-head{
  text-align:center;
  margin-bottom:40px;
}
.sec-head h2{
  font-family:var(--f-serif);
  font-size:28px; font-weight:700;
  letter-spacing:.05em;
  color:var(--c-ink);
}
.sec-head h2::after{
  content:"";
  display:block;
  width:36px; height:3px;
  background:var(--c-blue);
  margin:14px auto 0;
}
.sec-head p{
  margin-top:12px;
  font-size:14px;
  color:var(--c-ink-soft);
}

/* ================= 关于我们 · 双板块（新闻中心 + 科普文章） ================= */
.duo{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
}
.duo__col{
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:8px;
  padding:28px 28px 22px;
}
.duo__head{
  display:flex; align-items:baseline; justify-content:space-between;
  padding-bottom:14px;
  margin-bottom:6px;
  border-bottom:1px solid var(--c-line);
}
.duo__head h3{
  font-family:var(--f-serif);
  font-size:20px; font-weight:700;
  letter-spacing:.04em;
  color:var(--c-ink);
}
.duo__more{
  font-size:13px;
  color:var(--c-blue);
  white-space:nowrap;
  transition:color .2s;
}
.duo__more:hover{ color:var(--c-blue-deep); }

.duo__list{
  display:flex; flex-direction:column;
}
.duo__list li{
  border-bottom:1px dashed var(--c-line);
}
.duo__list li:last-child{ border-bottom:0; }
.duo__item{
  display:block;
  padding:14px 2px;
  color:inherit;
  transition:background .2s;
  border-radius:4px;
}
.duo__item:hover{ background:var(--c-blue-tint); }
.duo__meta{
  display:flex; align-items:center; gap:8px;
  margin-bottom:6px;
}
.duo__date{
  font-size:12px;
  color:var(--c-ink-muted);
  font-family:var(--f-serif);
}
.duo__tag{
  display:inline-block;
  font-size:12px;
  padding:2px 8px;
  border-radius:3px;
  background:var(--c-blue-tint);
  color:var(--c-blue-deep);
}
.duo__tag--blue{ background:var(--c-blue-tint); color:var(--c-blue-deep); }
.duo__title{
  font-size:15px; font-weight:600;
  color:var(--c-ink);
  margin-bottom:4px;
  line-height:1.55;
  transition:color .2s;
}
.duo__item:hover .duo__title{ color:var(--c-blue); }
.duo__excerpt{
  font-size:13px;
  color:var(--c-ink-soft);
  line-height:1.7;
}

/* ================= 内容专区 ================= */
.zones__grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:20px;
}
.zones__grid > .zone:last-child:nth-child(3n+1){
  /* 兜底：若卡片数量非 3 列整除，最后一项居中 */
  grid-column:2 / span 1;
}
.zone__inner{
  margin:12px 0 14px;
  display:flex; flex-direction:column;
  gap:6px;
}
.zone__inner li{
  display:flex; align-items:baseline;
  gap:8px;
  font-size:13px;
  color:var(--c-ink-soft);
  line-height:1.6;
}
.zone__inner li b{
  flex-shrink:0;
  font-family:var(--f-serif);
  font-weight:700;
  color:var(--c-blue-deep);
  font-size:13px;
}
.zone__inner--chips{
  flex-direction:row;
  flex-wrap:wrap;
  gap:6px;
}
.zone__inner--chips li{
  padding:3px 9px;
  border:1px solid var(--c-line);
  border-radius:3px;
  background:var(--c-bg);
  font-size:12px;
  color:var(--c-ink-soft);
}
.zone{
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:8px;
  padding:28px 24px;
  transition:border-color .2s, box-shadow .2s, transform .2s;
}
.zone:hover{
  border-color:var(--c-blue);
  box-shadow:0 8px 24px rgba(63,165,232,.12);
  transform:translateY(-2px);
}
.zone__num{
  display:block;
  font-family:var(--f-serif);
  font-size:13px; font-weight:700;
  color:var(--c-blue);
  margin-bottom:10px;
}
.zone h3{
  font-family:var(--f-serif);
  font-size:19px; font-weight:700;
  margin-bottom:8px;
}
.zone p{ font-size:13px; color:var(--c-ink-soft); margin-bottom:14px; }
.zone__more{
  font-size:13px;
  color:var(--c-blue);
}
.zone__more:hover{ color:var(--c-blue-deep); }

/* ================= 联系我们 ================= */
.contact__grid{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:56px;
  align-items:start;
}
.contact__info li{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:12px;
  padding:14px 0;
  border-bottom:1px solid var(--c-line);
}
.contact__info span{ font-size:13px; color:var(--c-ink-muted); }
.contact__info b{ font-size:15px; font-weight:500; }

.contact__form{
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:8px;
  padding:28px;
  display:flex; flex-direction:column; gap:16px;
}
.form__row{
  display:grid; grid-template-columns:1fr 1fr; gap:14px;
}
.contact__form label{
  display:flex; flex-direction:column; gap:6px;
  font-size:13px; color:var(--c-ink-soft);
}
.contact__form input,
.contact__form select,
.contact__form textarea{
  border:1px solid var(--c-line);
  border-radius:4px;
  padding:8px 10px;
  font-size:14px;
  background:#fff;
  transition:border-color .2s;
}
.contact__form input:focus,
.contact__form select:focus,
.contact__form textarea:focus{
  outline:0;
  border-color:var(--c-blue);
}
.contact__form textarea{ resize:vertical; }
.contact__form .btn{ align-self:flex-start; }
.form-ok{ font-size:13px; color:var(--c-blue-deep); }
.form-ok.is-error{ color:#d33; }
.fc-form__ok.is-error{ color:#d33; }

/* ================= 页脚 ================= */
.foot{
  background:var(--c-bg);
  border-top:1px solid var(--c-line);
  padding:48px 0 20px;
}
.foot__top{
  display:flex;
  justify-content:space-between;
  gap:40px;
  padding-bottom:28px;
  border-bottom:1px solid var(--c-line);
}
.foot__brand{ display:flex; align-items:center; gap:12px; }
.foot__brand img{ width:40px; height:40px; }
.foot__brand strong{ display:block; font-family:var(--f-serif); font-size:16px; font-weight:700; }
.foot__brand span{ font-size:11px; color:var(--c-ink-muted); }
.foot__links{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:48px;
}
.foot__links h4{
  font-size:14px; font-weight:600;
  margin-bottom:10px;
}
.foot__links a{
  display:block;
  padding:3px 0;
  font-size:13px;
  color:var(--c-ink-soft);
  transition:color .2s;
}
.foot__links a:hover{ color:var(--c-blue); }

.foot__links-b{
  padding:16px 0;
  border-bottom:1px solid var(--c-line);
  font-size:12px;
  color:var(--c-ink-muted);
  display:flex; flex-wrap:wrap; gap:6px 14px;
  align-items:center;
}
.foot__links-b a{ color:var(--c-ink-soft); transition:color .2s; }
.foot__links-b a:hover{ color:var(--c-blue); }

.foot__bottom{
  padding-top:16px;
  display:flex; justify-content:space-between; gap:16px;
  font-size:12px;
  color:var(--c-ink-muted);
}

/* ================= 响应式 ================= */
@media (max-width: 1100px){
  .nav__menu{ display:none; }
  .nav__burger{ display:flex; }
  .nav.is-open .nav__menu{
    display:flex; flex-direction:column;
    position:absolute; top:60px; left:0; right:0;
    background:#fff;
    padding:8px var(--pad) 16px;
    border-bottom:1px solid var(--c-line);
  }
  .nav.is-open .nav__menu a{ padding:10px 0; }
}

@media (max-width: 900px){
  .duo{ grid-template-columns:1fr; gap:24px; }
  .zones__grid{ grid-template-columns:repeat(2, 1fr); }
  .zones__grid > .zone:last-child{ grid-column:auto; }
  .contact__grid{ grid-template-columns:1fr; gap:32px; }
  .foot__top{ flex-direction:column; gap:24px; }
}

@media (max-width: 560px){
  .banner__title{ font-size:26px; }
  .banner__sub{ font-size:14px; letter-spacing:.06em; }
  .banner__eyebrow{ font-size:11px; }
  .banner__arrow{ width:34px; height:34px; font-size:18px; }
  .banner__arrow--prev{ left:12px; }
  .banner__arrow--next{ right:12px; }
  .banner__dots{ bottom:12px; }
  .zones__grid{ grid-template-columns:1fr; }
  .foot__links{ grid-template-columns:1fr; gap:16px; }
  .foot__bottom{ flex-direction:column; gap:6px; }
  .contact__grid{ grid-template-columns:1fr; }
  .contact__grid > *{ min-width:0; }
  .form__row{ grid-template-columns:1fr; }
  .contact__info li{ grid-template-columns:60px 1fr; }
  .contact__form{ padding:20px 16px; }
}

/* ================= 悬浮咨询窗口 ================= */
.fc-fab{
  position:fixed; right:24px; bottom:24px; z-index:60;
  display:flex; flex-direction:column; align-items:flex-end; gap:10px;
}
.fc-fab__btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 22px;
  border-radius:40px;
  background:var(--c-blue); color:#fff;
  border:0; cursor:pointer;
  box-shadow:0 8px 24px rgba(63,165,232,.4);
  transition:transform .2s, background .2s;
}
.fc-fab__btn:hover{ background:var(--c-blue-deep); transform:translateY(-2px); }
.fc-fab__btn[aria-expanded="true"]{ background:var(--c-ink); }
.fc-fab__btn svg{ width:22px; height:22px; }
.fc-fab__text{
  font-size:15px; font-weight:600;
  letter-spacing:.04em;
}

.fc-mask{
  position:fixed; inset:0; z-index:70;
  background:rgba(31,42,55,.45);
  opacity:0; visibility:hidden;
  transition:opacity .2s, visibility .2s;
}
.fc-mask.is-open{ opacity:1; visibility:visible; }

.fc-panel{
  position:fixed; right:24px; bottom:96px; z-index:80;
  width:340px; max-width:calc(100vw - 32px);
  background:#fff;
  border-radius:12px;
  box-shadow:0 20px 50px rgba(31,42,55,.2);
  display:flex; flex-direction:column;
  overflow:hidden;
  transform:translateY(20px) scale(.96);
  opacity:0; visibility:hidden;
  transition:transform .22s ease, opacity .22s ease, visibility .22s;
}
.fc-panel.is-open{
  transform:translateY(0) scale(1);
  opacity:1; visibility:visible;
}
.fc-panel__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 18px;
  background:linear-gradient(135deg, var(--c-blue) 0%, #5FBDF0 100%);
  color:#fff;
}
.fc-panel__title{
  font-family:var(--f-serif);
  font-size:16px; font-weight:700;
  letter-spacing:.04em;
}
.fc-panel__sub{
  font-size:12px;
  opacity:.85;
  margin-top:2px;
}
.fc-panel__close{
  border:0; background:transparent; color:#fff;
  font-size:22px; line-height:1; cursor:pointer;
  padding:4px 8px;
  border-radius:4px;
  transition:background .2s;
}
.fc-panel__close:hover{ background:rgba(255,255,255,.18); }

.fc-tabs{
  display:flex;
  border-bottom:1px solid var(--c-line);
  background:var(--c-bg);
}
.fc-tab{
  flex:1; border:0; background:transparent;
  padding:12px 8px;
  font-size:13px; color:var(--c-ink-soft);
  cursor:pointer;
  border-bottom:2px solid transparent;
  transition:color .2s, border-color .2s, background .2s;
}
.fc-tab:hover{ color:var(--c-blue); }
.fc-tab.is-active{
  color:var(--c-blue);
  border-bottom-color:var(--c-blue);
  background:#fff;
  font-weight:600;
}

.fc-panel__body{
  padding:20px 18px 18px;
  min-height:240px;
}
.fc-pane{ display:none; }
.fc-pane.is-active{ display:block; }

.fc-qr{
  display:flex; flex-direction:column; align-items:center; gap:10px;
}
.fc-qr__img{
  width:160px; height:160px;
  border:1px solid var(--c-line);
  border-radius:6px;
  padding:6px;
  background:#fff;
}
.fc-qr__tip{
  font-size:12px;
  color:var(--c-ink-soft);
}
.fc-qr__id{
  font-family:var(--f-serif);
  font-size:14px;
  font-weight:700;
  color:var(--c-ink);
  background:var(--c-blue-tint);
  padding:3px 10px;
  border-radius:3px;
}

.fc-phone{
  text-align:center;
  padding:14px 0 6px;
}
.fc-phone__num{
  font-family:var(--f-serif);
  font-size:22px;
  font-weight:700;
  color:var(--c-blue);
  letter-spacing:.04em;
}
.fc-phone__hint{
  font-size:12px;
  color:var(--c-ink-soft);
  margin-top:6px;
}
.fc-phone__hours{
  margin-top:14px;
  padding:10px 12px;
  background:var(--c-bg);
  border-radius:6px;
  font-size:13px;
  color:var(--c-ink-soft);
}

.fc-form{
  display:flex; flex-direction:column; gap:10px;
}
.fc-form label{
  display:flex; flex-direction:column; gap:4px;
  font-size:12px; color:var(--c-ink-soft);
}
.fc-form input,
.fc-form select,
.fc-form textarea{
  border:1px solid var(--c-line);
  border-radius:4px;
  padding:7px 9px;
  font-size:13px;
  background:#fff;
  transition:border-color .2s;
}
.fc-form input:focus,
.fc-form select:focus,
.fc-form textarea:focus{
  outline:0;
  border-color:var(--c-blue);
}
.fc-form textarea{ resize:vertical; min-height:54px; }
.fc-form__btn{
  border:0; background:var(--c-blue); color:#fff;
  border-radius:4px; padding:9px 14px;
  font-size:13px; cursor:pointer;
  transition:background .2s;
}
.fc-form__btn:hover{ background:var(--c-blue-deep); }
.fc-form__ok{
  font-size:12px; color:var(--c-blue-deep);
  text-align:center; padding:4px 0 0;
}

@media (max-width: 560px){
  .fc-fab{ right:16px; bottom:16px; }
  .fc-panel{ right:16px; bottom:84px; }
}

/* ================= 二级页：面包屑 + Hero ================= */
.crumbs{
  font-size:13px;
  color:var(--c-ink-soft);
  padding:14px 0;
  border-bottom:1px solid var(--c-line);
}
.crumbs a{
  color:var(--c-ink-soft);
  transition:color .2s;
}
.crumbs a:hover{ color:var(--c-blue); }
.crumbs span{ margin:0 6px; color:var(--c-ink-muted); }
.crumbs em{ font-style:normal; color:var(--c-ink); }

.page-hero{
  background:linear-gradient(180deg, var(--c-blue-tint) 0%, #fff 100%);
  border-bottom:1px solid var(--c-line);
  padding:64px 0 56px;
}
.page-hero__inner{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:48px;
  align-items:center;
}
.page-hero__text{ min-width:0; }
.page-hero__figure{
  margin:0;
  border-radius:14px;
  overflow:hidden;
  border:1px solid var(--c-line);
  background:#fff;
  box-shadow:0 12px 32px rgba(63,165,232,.10);
  aspect-ratio:16/9;
}
.page-hero__figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.page-hero__highlights{
  margin-top:24px;
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:12px;
  padding:20px 22px;
  box-shadow:0 8px 24px rgba(63,165,232,.08);
}
.page-hero__highlights h4{
  font-family:var(--f-serif);
  font-size:14px; font-weight:700;
  color:var(--c-blue-deep);
  margin:0 0 10px;
  letter-spacing:.04em;
}
.page-hero__highlights ul{
  display:flex; flex-direction:column; gap:8px;
  margin:0; padding:0; list-style:none;
}
.page-hero__highlights li{
  display:flex; align-items:flex-start; gap:10px;
  font-size:13px;
  color:var(--c-ink-soft);
  line-height:1.7;
}
.page-hero__highlights li b{
  flex-shrink:0;
  width:20px; height:20px;
  border-radius:50%;
  background:var(--c-blue-tint);
  color:var(--c-blue-deep);
  display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:700;
}
.page-hero__eyebrow{
  display:inline-block;
  font-size:12px;
  letter-spacing:.18em;
  color:var(--c-blue-deep);
  background:var(--c-paper);
  border:1px solid var(--c-line);
  padding:4px 12px;
  border-radius:20px;
  margin-bottom:18px;
}
.page-hero__title{
  font-family:var(--f-serif);
  font-size:36px;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--c-ink);
  line-height:1.25;
}
.page-hero__title::after{
  content:"";
  display:block;
  width:40px; height:3px;
  background:var(--c-blue);
  margin:18px 0 0;
}
.page-hero__lead{
  margin-top:18px;
  font-size:15px;
  line-height:1.9;
  color:var(--c-ink-soft);
  max-width:560px;
}
.page-hero__cta{
  margin-top:24px;
  display:flex; gap:10px; flex-wrap:wrap;
}
/* 二级页内容通用板块 */
.block{ padding:64px 0; }
.block--alt{ background:var(--c-bg); }
.block__head{
  text-align:center;
  margin-bottom:36px;
}
.block__head h2{
  font-family:var(--f-serif);
  font-size:26px; font-weight:700;
  letter-spacing:.04em;
}
.block__head h2::after{
  content:"";
  display:block;
  width:32px; height:3px;
  background:var(--c-blue);
  margin:14px auto 0;
}
.block__head p{
  margin-top:10px;
  font-size:14px;
  color:var(--c-ink-soft);
}

/* 服务项目（icon 网格） */
.svc-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
}
.svc{
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:8px;
  padding:24px 22px;
  transition:border-color .2s, transform .2s, box-shadow .2s;
}
.svc:hover{
  border-color:var(--c-blue);
  box-shadow:0 8px 24px rgba(63,165,232,.10);
  transform:translateY(-2px);
}
.svc__icon{
  width:38px; height:38px;
  border-radius:8px;
  background:var(--c-blue-tint);
  color:var(--c-blue-deep);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--f-serif);
  font-size:18px; font-weight:700;
  margin-bottom:14px;
}
.svc h3{
  font-family:var(--f-serif);
  font-size:17px; font-weight:700;
  margin-bottom:8px;
}
.svc p{ font-size:13px; color:var(--c-ink-soft); line-height:1.7; }

/* 适用人群：标签云 */
.audience{
  display:flex; flex-wrap:wrap; gap:10px;
  justify-content:center;
}
.audience li{
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:30px;
  padding:8px 18px;
  font-size:14px;
  color:var(--c-ink);
  transition:border-color .2s, color .2s, background .2s;
}
.audience li:hover{
  border-color:var(--c-blue);
  color:var(--c-blue);
  background:var(--c-blue-tint);
}

/* 课程体系：步骤 */
.steps{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:16px;
  counter-reset:step;
}
.step{
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:8px;
  padding:22px 18px;
  position:relative;
}
.step::before{
  counter-increment:step;
  content:counter(step, decimal-leading-zero);
  display:block;
  font-family:var(--f-serif);
  font-size:24px; font-weight:700;
  color:var(--c-blue);
  margin-bottom:10px;
}
.step h4{
  font-family:var(--f-serif);
  font-size:15px; font-weight:700;
  margin-bottom:6px;
}
.step p{ font-size:13px; color:var(--c-ink-soft); line-height:1.7; }

/* 师资/团队：四列网格 */
.faculty{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:18px;
}
.faculty__item{
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:8px;
  padding:22px 18px;
  text-align:center;
  transition:border-color .2s, transform .2s;
}
.faculty__item:hover{ border-color:var(--c-blue); transform:translateY(-2px); }
.faculty__avatar{
  width:64px; height:64px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--c-blue-tint), #fff);
  border:1px solid var(--c-line);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--f-serif);
  font-size:22px; font-weight:700;
  color:var(--c-blue-deep);
  margin:0 auto 12px;
}
.faculty__photo{
  width:96px; height:96px;
  border-radius:50%;
  object-fit:cover;
  border:2px solid var(--c-blue-tint);
  display:block;
  margin:0 auto 12px;
}
.faculty__tags{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin-top:10px; }
.faculty__tag{
  display:inline-block;
  font-size:12px;
  padding:3px 10px;
  border-radius:999px;
  background:var(--c-blue-tint);
  color:var(--c-blue-deep);
}
.faculty__item h4{
  font-family:var(--f-serif);
  font-size:16px; font-weight:700;
  margin-bottom:4px;
}
.faculty__role{
  font-size:12px;
  color:var(--c-blue-deep);
  margin-bottom:8px;
}
.faculty__intro{
  font-size:13px;
  color:var(--c-ink-soft);
  line-height:1.7;
}

/* 案例：左图右文（用 SVG 占位） */
.case{
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:8px;
  padding:24px;
  display:grid;
  grid-template-columns:160px 1fr;
  gap:24px;
  align-items:center;
}
.case + .case{ margin-top:14px; }
.case__art{
  aspect-ratio:4/3;
  background:linear-gradient(135deg, var(--c-blue-tint), #fff);
  border-radius:6px;
  border:1px solid var(--c-line);
  display:flex; align-items:center; justify-content:center;
  color:var(--c-blue-deep);
  font-family:var(--f-serif);
  font-size:13px;
}
.case__meta{
  display:flex; gap:8px;
  margin-bottom:6px;
}
.case__meta .tag{ background:var(--c-blue-tint); color:var(--c-blue-deep); }
.case h3{
  font-family:var(--f-serif);
  font-size:18px; font-weight:700;
  margin-bottom:8px;
}
.case p{ font-size:14px; color:var(--c-ink-soft); line-height:1.8; }

/* 关联资讯 */
.related-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
}
.related__col h3{
  font-family:var(--f-serif);
  font-size:18px; font-weight:700;
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:1px solid var(--c-line);
}
.related__list li{
  padding:14px 0;
  border-bottom:1px dashed var(--c-line);
}
.related__list li:last-child{ border-bottom:0; }
.related__list a{
  display:flex; align-items:center; gap:10px;
  font-size:14px;
  transition:color .2s;
}
.related__list a:hover{ color:var(--c-blue); }
.related__list time{
  font-size:12px;
  color:var(--c-ink-muted);
  font-variant-numeric:tabular-nums;
  flex-shrink:0;
}

/* CTA 板块 */
.cta-strip{
  background:linear-gradient(135deg, var(--c-blue) 0%, #5FBDF0 100%);
  color:#fff;
  padding:48px 0;
}
.cta-strip__inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}
.cta-strip h3{
  font-family:var(--f-serif);
  font-size:22px; font-weight:700;
  letter-spacing:.04em;
}
.cta-strip p{
  margin-top:6px;
  font-size:14px;
  opacity:.9;
}
.cta-strip .btn{ background:#fff; color:var(--c-blue); }
.cta-strip .btn:hover{ background:var(--c-bg); }

/* 二级页响应式 */
@media (max-width: 900px){
  .page-hero__inner{ grid-template-columns:1fr; gap:24px; }
  .page-hero__figure{ order:-1; }
  .page-hero__title{ font-size:28px; }
  .svc-grid{ grid-template-columns:repeat(2, 1fr); }
  .steps{ grid-template-columns:repeat(2, 1fr); }
  .faculty{ grid-template-columns:repeat(2, 1fr); }
  .case{ grid-template-columns:1fr; }
  .related-grid{ grid-template-columns:1fr; gap:24px; }
  .cta-strip__inner{ flex-direction:column; align-items:flex-start; }
}
@media (max-width: 560px){
  .page-hero{ padding:36px 0 28px; }
  .page-hero__title{ font-size:24px; }
  .svc-grid{ grid-template-columns:1fr; }
  .steps{ grid-template-columns:1fr; }
  .faculty{ grid-template-columns:1fr; }
}