.g15-hero{padding:clamp(1.75rem,3.5vw,3rem) clamp(1.5rem,4vw,3rem);border:1px solid var(--line);border-radius:var(--radius);
  background:radial-gradient(circle at 10% 10%,rgba(69,198,191,.10),transparent 320px),var(--surface);box-shadow:var(--shadow)}
.g15-hero .eyebrow{display:inline-block;padding:0.25rem 0.75rem;border-radius:999px;background:var(--teal-soft);
  color:var(--teal-strong);font-size:0.75rem;font-weight:900;letter-spacing:.04em}
.g15-hero h1{margin:1rem 0 0.625rem;font-family:"Noto Serif TC","Songti TC",serif;
  font-size:clamp(1.75rem,3.2vw,2.625rem);font-weight:900;line-height:1.3;text-wrap:balance}
.g15-hero p{margin:0;max-width:60ch;color:var(--muted);font-size:1rem;line-height:1.95}
.g15-hero .how{display:flex;gap:1.25rem;flex-wrap:wrap;margin-top:1.125rem;padding-top:1rem;border-top:1px solid var(--line);
  color:#9aa3ad;font-size:0.8125rem;line-height:1.7}
.g15-hero .how b{color:var(--ink)}
.g15-era{margin-top:1.75rem}
.g15-era > .sec b small{margin-left:0.5rem;color:#9aa3ad;font-weight:400;font-size:0.75rem}
.g15-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:0.875rem;margin-top:0.875rem}
.g15-card{display:flex;flex-direction:column;gap:0.5rem;padding:1.25rem 1.375rem 1.125rem;border:1px solid var(--line);
  border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}
.g15-card .no{color:#9aa3ad;font-size:0.71875rem;font-variant-numeric:tabular-nums;letter-spacing:.06em}
.g15-card h2{margin:0;font-family:"Noto Serif TC","Songti TC",serif;font-size:1.3125rem;font-weight:900;line-height:1.4}
.g15-card h2 a{color:inherit;text-decoration:none}
.g15-card h2 a:hover{color:var(--teal-strong)}
.g15-card .meta{color:#9aa3ad;font-size:0.78125rem}
.g15-card .meta b{color:var(--ink);font-weight:700;margin-right:0.5rem}
.g15-card .open{margin:0;color:var(--muted);font-size:0.90625rem;line-height:1.85;
  font-family:"Noto Serif TC","Songti TC",serif}
.g15-card .acts{display:flex;gap:0.5rem;flex-wrap:wrap;margin-top:auto;padding-top:0.625rem}
.g15-card .acts a{padding:0.375rem 0.875rem;border-radius:999px;font-size:0.8125rem;font-weight:900;text-decoration:none;
  border:1px solid var(--teal);color:var(--teal-strong);background:var(--surface)}
.g15-card .acts a.main{background:var(--teal-strong);border-color:var(--teal-strong);color:#fff}
.g15-card .acts a:hover{filter:brightness(.95)}
.g15-note{margin:1.5rem 0 0;padding:1.125rem 1.375rem;border:1px dashed var(--line);border-radius:16px;
  color:var(--muted);font-size:0.875rem;line-height:1.9}
.g15-note b{color:var(--ink)}
.g15-guide{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:0.875rem;margin-top:0.875rem}
.g15-guide div{padding:1.25rem 1.375rem;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.g15-guide b{display:block;margin-bottom:0.5rem;font-size:1rem;line-height:1.6}
.g15-guide b i{font-style:normal;margin-right:0.5rem;color:var(--teal-strong);font-family:"Noto Serif TC","Songti TC",serif}
.g15-guide p{margin:0;color:var(--muted);font-size:0.90625rem;line-height:1.95}
.g15-guide a{color:var(--teal-strong);font-weight:700;text-decoration:none}
@media(max-width:768px){.g15-list,.g15-guide{grid-template-columns:1fr}}