/* ==========================================================================
   青衿纪念册 · 首页新增板块
   ========================================================================== */

/* ---------------------------------------------------------- Hero 补充 */
.hero__motto {
  margin-top: 6px;
  font-size: clamp(12.5px, 1.5vw, 14.5px);
  letter-spacing: .16em;
  color: rgba(255, 255, 255, .66);
}
.hero__hello {
  margin-top: 26px;
  font-size: 12.5px;
  letter-spacing: .04em;
  color: rgba(255, 255, 255, .52);
}

.section__meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.section__link {
  font-size: 12.5px;
  padding: 7px 15px;
  border-radius: 999px;
  color: rgba(255, 255, 255, .86);
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .18);
  transition: background .3s ease, gap .3s var(--ease), transform .35s var(--ease);
  white-space: nowrap;
}
.section__link:hover { background: rgba(255, 255, 255, .18); transform: translateX(3px); }

/* ---------------------------------------------------------- 时间轴预览 */
.minitl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}
.minitl__item {
  position: relative;
  padding: 18px 18px 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .16);
  transition: transform .5s var(--ease), background .35s ease;
}
.minitl__item:hover { transform: translateY(-5px); background: rgba(255, 255, 255, .13); }
.minitl__item::before {
  content: "";
  position: absolute; left: 18px; top: 0; width: 26px; height: 3px;
  border-radius: 0 0 4px 4px;
  background: linear-gradient(90deg, #7dffd8, var(--c-accent));
}
.minitl__icon { font-size: 20px; }
.minitl__item time { display: block; margin-top: 6px; font-size: 11px; letter-spacing: .1em; color: #a8f7ea; }
.minitl__item b { display: block; margin-top: 5px; font-size: 14.5px; }
.minitl__item p { margin-top: 6px; font-size: 12.5px; line-height: 1.75; color: rgba(255, 255, 255, .74); }

/* ---------------------------------------------------------- 首页留言 */
.homewall {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}
.homewall__item {
  display: flex;
  gap: 12px;
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(255, 255, 255, .09);
  border: 1px solid rgba(255, 255, 255, .17);
  backdrop-filter: blur(10px);
  transition: transform .5s var(--ease), background .35s ease;
}
.homewall__item:hover { transform: translateY(-4px); background: rgba(255, 255, 255, .14); }
.homewall__item b { display: flex; align-items: baseline; gap: 8px; font-size: 13.5px; }
.homewall__item b em { font-style: normal; font-size: 11px; opacity: .5; font-weight: 400; }
.homewall__item p { margin-top: 6px; font-size: 13px; line-height: 1.8; color: rgba(255, 255, 255, .84); }
.homewall__item footer { margin-top: 8px; font-size: 11.5px; opacity: .6; }

.homewall__note {
  margin-top: 16px;
  padding: clamp(22px, 3vw, 34px);
  border-radius: 22px;
  text-align: center;
  background: linear-gradient(150deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .05));
  border: 1px solid rgba(255, 255, 255, .2);
  backdrop-filter: blur(12px);
}
.homewall__quote { font-size: 40px; line-height: .5; opacity: .3; font-family: Georgia, serif; }
.homewall__note p { font-size: clamp(15px, 2vw, 20px); line-height: 1.9; margin: 10px 0 8px; }
.homewall__note i { display: block; font-style: normal; font-size: 12.5px; opacity: .66; margin-bottom: 16px; }

/* ---------------------------------------------------------- 老师卡片 */
.tgallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 14px;
}
.tcard {
  position: relative;
  margin: 0;
  padding: 22px 20px 18px;
  border-radius: 20px;
  background: linear-gradient(155deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .05));
  border: 1px solid rgba(255, 255, 255, .2);
  backdrop-filter: blur(10px);
  transition: transform .5s var(--ease), border-color .35s ease;
  overflow: hidden;
}
.tcard::after {
  content: "“";
  position: absolute; right: 14px; top: 2px;
  font-size: 70px; line-height: 1; opacity: .12; font-family: Georgia, serif;
}
.tcard:hover { transform: translateY(-5px); border-color: rgba(255, 255, 255, .38); }
.tcard__avatar {
  width: 54px; height: 54px; border-radius: 50%;
  overflow: hidden; margin-bottom: 12px;
  border: 2px solid rgba(255, 255, 255, .6);
  box-shadow: 0 12px 24px -12px rgba(0, 0, 0, .9);
}
.tcard__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tcard__avatar span {
  display: grid; place-items: center; width: 100%; height: 100%;
  font-size: 22px; font-weight: 800;
  color: hsl(var(--hue, 170) 60% 22%);
  background: linear-gradient(140deg, hsl(var(--hue, 170) 78% 80%), hsl(calc(var(--hue, 170) + 50) 82% 86%));
}
.tcard blockquote {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.95;
  color: rgba(255, 255, 255, .88);
}
.tcard figcaption { margin-top: 14px; display: flex; flex-direction: column; gap: 2px; }
.tcard figcaption b { font-size: 13px; }
.tcard figcaption i { font-style: normal; font-size: 11.5px; opacity: .55; }

@media (max-width: 560px) {
  .hero__motto { letter-spacing: .06em; }
  .homewall { grid-template-columns: minmax(0, 1fr); }
  .minitl { grid-template-columns: minmax(0, 1fr); }
  .section__link { font-size: 11.5px; padding: 6px 12px; }
}
