﻿*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

:root{
  --ink:#0A0A0B;--ink2:#141416;--ink3:#1C1C1E;--ink4:#262628;
  --gold:#D4A855;--gold2:#E8C47E;
  --gold-dim:rgba(212,168,85,.08);--gold-line:rgba(212,168,85,.2);
  --white:#FAFAF8;--white2:#C4C4C0;--white3:#858583;--white4:rgba(250,250,248,.04);
  --border:rgba(250,250,248,.08);--border2:rgba(250,250,248,.12);
  --serif:'Cormorant Garamond','Noto Serif TC',serif;
  --sans:'Inter','Noto Sans TC',sans-serif;
  --mono:'IBM Plex Mono',monospace;
  --tc:'Noto Sans TC','Inter',sans-serif;
}

body{background:var(--ink);color:var(--white);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}

.page-topbar{
  position:sticky;top:0;z-index:50;
  background:rgba(10,10,11,.92);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border-bottom:1px solid var(--border);
}
.page-topbar-inner{
  max-width:1400px;margin:0 auto;
  height:64px;padding:0 64px;
  display:flex;align-items:center;gap:18px;
}
.page-back{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--white2);text-decoration:none;
  font-size:13px;font-weight:600;
  transition:color .2s;
}
.page-back:hover{color:var(--gold)}
.page-topbar-title{
  font-family:var(--serif);
  font-size:18px;font-weight:700;color:var(--white);
  letter-spacing:-.2px;
}
.icon-14{width:14px;height:14px;display:inline-block}
.icon-16{width:16px;height:16px;display:inline-block}

.section{padding:120px 64px;position:relative}
.section-inner{max-width:1400px;margin:0 auto}
.eyebrow{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.eyebrow-line{width:48px;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold2))}
.eyebrow-text{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--gold);letter-spacing:4px}
.section-title{font-family:var(--serif);font-size:clamp(36px,4vw,56px);font-weight:700;line-height:1.2;color:var(--white);margin-bottom:20px;letter-spacing:-.5px}
.section-desc{font-family:var(--tc);font-size:16px;color:var(--white2);line-height:1.9;max-width:720px;margin-bottom:64px}
.reveal{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.4,0,.2,1)}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ══════════════════════════════════════════════
   活動紀錄
══════════════════════════════════════════════ */
.activities{
  background:linear-gradient(180deg,var(--ink) 0%,var(--ink2) 100%);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}

.activity-timeline{
  display:flex;flex-direction:column;
  position:relative;padding-left:40px;
}
.activity-timeline::before{
  content:'';position:absolute;left:15px;top:0;bottom:0;width:1px;
  background:linear-gradient(180deg,var(--gold),var(--gold-line) 30%,var(--border) 70%,transparent);
}

.activity-item{
  display:grid;grid-template-columns:140px 1fr;gap:32px;
  padding:40px 0;border-bottom:1px solid var(--border);
  position:relative;
}
.activity-item:last-child{border-bottom:none}
.activity-item::before{
  content:'';position:absolute;left:-33px;top:48px;
  width:12px;height:12px;border-radius:50%;
  background:var(--ink);border:2px solid var(--gold);
  box-shadow:0 0 12px rgba(212,168,85,.3);z-index:1;
}

.activity-date{display:flex;flex-direction:column;gap:4px;padding-top:6px}
.activity-year{font-family:var(--serif);font-size:32px;font-weight:700;color:var(--gold);line-height:1;letter-spacing:-1px;opacity:.6}
.activity-month{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--white3);letter-spacing:2px}

.activity-body{display:flex;flex-direction:column;gap:16px}
.activity-header{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}
.activity-type{
  font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:1.5px;padding:5px 12px;
  border:1px solid var(--gold-line);color:var(--gold);background:var(--gold-dim);
  flex-shrink:0;align-self:flex-start;margin-top:4px;
}
.activity-title{font-family:var(--serif);font-size:26px;font-weight:700;color:var(--white);letter-spacing:-.3px;line-height:1.3}
.activity-partner{font-family:var(--tc);font-size:14px;color:var(--white3);display:flex;align-items:center;gap:8px}
.activity-partner strong{color:var(--white2);font-weight:600}
.activity-desc{font-family:var(--tc);font-size:15px;color:var(--white2);line-height:1.9;max-width:700px}
.activity-tags{display:flex;flex-wrap:wrap;gap:8px}
.activity-tag{font-family:var(--mono);font-size:10px;font-weight:600;color:var(--white3);background:var(--ink4);border:1px solid var(--border);padding:4px 10px;letter-spacing:1px}

/* ── 附件區 ── */
.att{display:flex;flex-direction:column;gap:16px;margin-top:4px}

/* 照片 */
.att-photos{display:flex;gap:12px;flex-wrap:wrap}
.att-photo{
  width:200px;height:130px;object-fit:cover;
  border:1px solid var(--border2);background:var(--ink3);
  transition:all .3s;cursor:pointer;
}
.att-photo:hover{border-color:var(--gold-line);box-shadow:0 4px 20px rgba(0,0,0,.5);transform:translateY(-2px)}

/* 連結（新聞 / 影片共用） */
.att-links{display:flex;flex-wrap:wrap;gap:10px}
.att-link{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 16px;border:1px solid var(--border2);background:var(--ink3);
  color:var(--white2);font-family:var(--tc);font-size:13px;font-weight:500;
  text-decoration:none;transition:all .2s;
}
.att-link:hover{border-color:var(--gold-line);color:var(--gold);background:var(--ink4)}
.att-link-icon{color:var(--gold);flex-shrink:0;display:flex;align-items:center}
.att-link-label{
  font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:1px;
  color:var(--white3);margin-left:auto;padding-left:12px;
}

/* ── Lightbox ── */
.lightbox{
  position:fixed;inset:0;z-index:500;
  background:rgba(0,0,0,.92);backdrop-filter:blur(16px);
  display:none;align-items:center;justify-content:center;cursor:zoom-out;
}
.lightbox.open{display:flex}
.lightbox img{max-width:90vw;max-height:85vh;object-fit:contain;border:1px solid var(--border2)}
.lightbox-close{
  position:absolute;top:24px;right:32px;
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--border2);background:var(--ink2);color:var(--white2);
  cursor:pointer;transition:all .2s;font-size:20px;
}
.lightbox-close:hover{border-color:var(--gold-line);color:var(--gold)}

@media(max-width:768px){
  .page-topbar-inner{padding:0 20px}
  .section{padding:80px 32px}
  .activity-timeline{padding-left:24px}
  .activity-timeline::before{left:7px}
  .activity-item{grid-template-columns:1fr;gap:12px}
  .activity-item::before{left:-21px;top:8px;width:10px;height:10px}
  .activity-date{flex-direction:row;align-items:baseline;gap:12px}
  .activity-year{font-size:24px}
  .att-photo{width:150px;height:100px}
}

