:root{
  --cream:#FAF3EA;
  --cream-deep:#F1E7D8;
  --ink:#242A38;
  --ink-soft:#5B5A56;
  --coral:#E2634C;
  --coral-soft:#F6D9CF;
  --sage:#57705A;
  --sage-soft:#DCE5D9;
  --neutral:#8A7F6B;
  --neutral-soft:#E9E2D4;
  --rose:#C97B6D;
  --line:#E4D9C8;
}
*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Noto Sans TC', sans-serif;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:960px;margin:0 auto;padding:0 20px;}

/* Hero */
.hero{padding:48px 0 40px;text-align:center;position:relative;}
.hero h1{
  font-family:'Noto Serif TC', serif;
  font-weight:900;
  font-size:clamp(28px,7vw,46px);
  line-height:1.3;
  margin:0 0 16px;
  color:var(--ink);
  letter-spacing:0.01em;
}
.hero h1 span{
  color:var(--coral);
  font-style:italic;
  position:relative;
  padding:0 2px;
}
.hero .hero-sub{
  font-size:15px;color:var(--ink-soft);line-height:1.8;
  max-width:440px;margin:0 auto;
}
.hero-divider{
  width:44px;height:3px;background:var(--rose);border-radius:2px;
  margin:22px auto 20px;
}
.hero .hero-issue{
  font-family:'Noto Serif TC', serif;
  font-size:20px;font-weight:700;color:var(--sage);
  margin:0 0 8px;letter-spacing:0.06em;
}
.hero p:last-child{
  font-size:14px;color:var(--ink-soft);margin:0;
}

/* Cards */
.cards{
  display:grid;grid-template-columns:1fr;gap:22px;
  padding:8px 0 40px;
}
@media (min-width:760px){
  .cards{grid-template-columns:1fr 1fr;gap:28px;padding:8px 0 64px;}
}

.card{
  background:#fff;
  border-radius:20px;
  padding:26px 22px 24px;
  border:1px solid var(--line);
  box-shadow:0 18px 40px -28px rgba(36,42,56,0.35);
  display:flex;flex-direction:column;
}
@media (min-width:760px){
  .card{padding:32px 28px 28px;}
}
.card.type-lecture{border-top:5px solid var(--coral);}
.card.type-bookclub{border-top:5px solid var(--sage);}
.card.type-default{border-top:5px solid var(--neutral);}

.badge{
  display:inline-flex;align-items:center;gap:6px;
  font-size:13px;font-weight:700;
  padding:6px 14px;border-radius:100px;
  width:fit-content;margin-bottom:18px;
}
.card.type-lecture .badge{background:var(--coral-soft);color:var(--coral);}
.card.type-bookclub .badge{background:var(--sage-soft);color:var(--sage);}
.card.type-default .badge{background:var(--neutral-soft);color:var(--neutral);}

.card h2{
  font-family:'Noto Serif TC', serif;
  font-size:21px;font-weight:700;line-height:1.55;
  margin:0 0 14px;color:var(--ink);
}
@media (min-width:760px){
  .card h2{font-size:23px;}
}
.card .desc{
  font-size:14.5px;line-height:1.85;color:var(--ink-soft);
  margin-bottom:18px;
}

.meta{
  list-style:none;margin:0 0 20px;padding:0;
  display:flex;flex-direction:column;gap:10px;
}
.meta li{
  font-size:14px;color:var(--ink);
  display:flex;align-items:baseline;gap:8px;
}
.meta li b{font-weight:700;}

.people, .follow-note{
  font-size:13px;color:var(--ink-soft);
  margin-bottom:22px;padding-top:16px;
  border-top:1px dashed var(--line);
}

.cta{
  margin-top:auto;
  display:block;text-align:center;
  padding:14px 20px;border-radius:12px;
  font-weight:700;font-size:15px;text-decoration:none;
  transition:opacity .15s ease;
  border:none;cursor:pointer;
}
a.cta:hover{opacity:.85;}
.card.type-lecture .cta{background:var(--coral);color:#fff;}
.card.type-bookclub .cta{background:var(--sage);color:#fff;}
.card.type-default .cta{background:var(--neutral);color:#fff;}
.cta.is-disabled{
  background:var(--cream-deep)!important;
  color:var(--ink-soft)!important;
  cursor:default;
}

.note{
  font-size:12.5px;color:var(--rose);margin-top:14px;text-align:center;
}

/* Past events */
.past-section{padding:0 0 40px;}
.past-section summary{
  cursor:pointer;list-style:none;
  font-size:14px;font-weight:700;color:var(--ink-soft);
  text-align:center;padding:10px 0;
  border-top:1px dashed var(--line);
  border-bottom:1px dashed var(--line);
}
.past-section summary::-webkit-details-marker{display:none;}
.past-section summary::after{content:"︾";margin-left:6px;font-weight:400;}
.past-section[open] summary::after{content:"︽";}
.past-empty{
  text-align:center;padding:16px 0 40px;font-size:13px;color:var(--ink-soft);
}
.past-list{list-style:none;margin:0;padding:18px 0 0;display:flex;flex-direction:column;gap:12px;}
.past-item{
  display:flex;align-items:center;gap:12px;
  padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:14px;
  font-size:13.5px;
}
.past-item .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.past-item.type-lecture .dot{background:var(--coral);}
.past-item.type-bookclub .dot{background:var(--sage);}
.past-item.type-default .dot{background:var(--neutral);}
.past-item .past-title{flex:1;color:var(--ink);font-weight:500;}
.past-item .past-date{color:var(--ink-soft);white-space:nowrap;}

/* Footer */
.footer{
  background:var(--ink);color:#EFE9DE;
  padding:48px 0;text-align:center;
}
.footer p.line1{
  font-family:'Noto Serif TC', serif;
  font-size:18px;font-weight:700;margin:0 0 14px;
}
.footer p.line2{
  font-size:13.5px;color:#B9B4A9;margin:0;
}
.footer a{color:var(--coral-soft);text-decoration:none;font-weight:700;}
