:root{
    --ink-900:#0f172a; --ink-800:#1e293b; --ink-700:#334155; --ink-500:#64748b;
    --line:#e2e8f0; --bg:#f8fafc; --card:#fff; --accent:#0ea5a0; --accent-ink:#075e5a;
    --max:1100px; --radius:14px; --shadow:0 8px 18px rgba(15,23,42,.06);
  }
  body{margin:0;background:var(--bg);color:var(--ink-700);font:16px/1.7 "Noto Sans TC",sans-serif;}
  .container{max-width:var(--max);margin:auto;padding:0 20px}
  h1,h2,h3{color:var(--ink-900);line-height:1.25;margin:.4em 0 .35em}
  h1{font-size:clamp(28px,4vw,40px)} h2{font-size:clamp(22px,3vw,28px)} h3{font-size:clamp(18px,2.2vw,22px)}
  p{margin:.3em 0 .6em}

  /* Nav */
  nav.sticky{position:sticky;top:0;z-index:40;background:#ffffffcc;border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
  nav.sticky ul{display:flex;gap:18px;justify-content:center;list-style:none;margin:0;padding:10px 0}
  nav.sticky a{color:var(--ink-700);font-weight:700;padding:6px 10px;border-radius:10px;text-decoration:none}
  nav.sticky a:hover{background:#eef2f7}

  /* Hero */
  header.hero{background:#f8fafc;padding:20px 0}
  .eyebrow{display:inline-block;padding:3px 10px;background:#ecfeff;border:1px solid #c7f9ff;border-radius:999px;color:#0e7490;font-size:12px;font-weight:800}
  .hero-lead{font-size:18px;color:var(--ink-700)}
  .heading-img{text-align:center;margin-bottom:12px}
  .heading-img img{max-width:100%;border-radius:12px;box-shadow:0 4px 12px rgba(15,23,42,.08)}

  /* Card/Grid */
  .grid{display:grid;gap:16px}
  .grid-2{grid-template-columns:repeat(2,1fr)} .grid-3{grid-template-columns:repeat(3,1fr)}
  @media(max-width:960px){.grid-2,.grid-3{grid-template-columns:1fr}}
  .card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}

  /* List check */
  .list-check{list-style:none;padding:0;margin:0}
  .list-check li{display:flex;gap:8px;margin:6px 0}
  .dot{width:10px;height:10px;border-radius:50%;background:#0ea5a0;margin-top:7px}

  /* 課程大綱 */
  .grid-curriculum{display:grid;gap:16px}
  @media(min-width:961px){.grid-curriculum{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:960px){.grid-curriculum{grid-template-columns:1fr}}
  .curr-item .benefit{color:#475569;font-size:14px;border-left:3px solid #cbd5e1;padding-left:8px;margin-top:.4em}

  /* 場次卡 */
  .venue-grid{display:grid;gap:16px}
  @media(min-width:961px){.venue-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:960px){.venue-grid{grid-template-columns:1fr}}
  .venue-card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
  .venue-media img{width:100%;height:200px;object-fit:cover;display:block}
  .venue-body{padding:14px}
  .venue-title{font-weight:700;margin-bottom:4px}
  .btn-venue{display:inline-block;background:#fef3c7;color:#7c3e0a;border:1px solid #fde68a;padding:8px 12px;border-radius:8px;font-weight:700;text-decoration:none}
  .btn-venue:hover{filter:brightness(.95)}

  /* 福利卡 */
  .perk-grid{display:grid;gap:16px}
  @media(min-width:961px){.perk-grid{grid-template-columns:repeat(3,1fr)}}
  @media(max-width:960px){.perk-grid{grid-template-columns:1fr}}
  .perk{background:#0b2230;color:#e6eef6;border-radius:12px;padding:18px;box-shadow:var(--shadow)}
  .perk h3{color:#fff;margin:.3em 0}
  .perk .icon{font-size:22px;margin-bottom:6px;display:block}

#who .grid-3 {
  grid-template-columns: 1fr !important;
}