/* =========================================================
   Elite Match elitematch.tw｜前台樣式
   版型 A：深色底、香檳金、圓角卡片、捲動淡入、浮動 LINE
   基底取自定案設計 mockups/a.css，並補上動態頁面（活動、報名、專欄內頁等）所需的元件。
   ========================================================= */

:root{
  --bg:#0E1116; --bg-2:#151A22; --surface:#1B212B; --line:#2B3340;
  --ink:#F2EEE6; --muted:#A8A196; --gold:#C9A96E; --gold-2:#E3CB98;
  --brick:#E2837A;
  --serif:"Playfair Display","Noto Serif TC",serif;
  --sans:-apple-system,"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;
  --w:min(1200px,92vw);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:16px/1.8 var(--sans);letter-spacing:.02em;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
iframe{max-width:100%}
/* 後台編輯器嵌入的影片固定寬高，窄螢幕縮到容器寬時依 16:9 重算高度 */
iframe[src*="youtube.com/embed"],iframe[src*="youtube-nocookie.com/embed"],iframe[src*="player.vimeo.com"]{height:auto;aspect-ratio:16/9}
/* 富文字錨點（rt- 前綴）跳轉時避開固定頁首 */
[id^="rt-"]{scroll-margin-top:96px}
.wrap{width:var(--w);margin:0 auto}
.eyebrow{font:500 12px/1 var(--sans);letter-spacing:.32em;color:var(--gold);text-transform:uppercase}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.35}
h2{font-size:clamp(28px,3.4vw,42px)}
.btn{display:inline-block;padding:14px 32px;border:1px solid var(--gold);color:var(--gold);font:15px/1.6 var(--sans);letter-spacing:.12em;transition:.25s;border-radius:999px;background:none;cursor:pointer}
.btn:hover,.btn.solid{background:var(--gold);color:var(--bg)}
.btn.solid:hover{background:var(--gold-2)}
.btn[disabled],.btn.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
.ph{position:relative;background:linear-gradient(135deg,#2A2F38,#1A1E25 60%,#3A3226);background-size:cover;background-position:center;overflow:hidden}
.ph::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(201,169,110,.12),transparent 55%);pointer-events:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ===== 頁首 ===== */
header.top{position:fixed;inset:0 0 auto;z-index:50;transition:.3s;background:linear-gradient(180deg,rgba(14,17,22,.75),rgba(14,17,22,0))}
header.top.scrolled{background:rgba(14,17,22,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:80px}
.logo{font:600 22px/1 var(--serif);letter-spacing:.08em;white-space:nowrap}
.logo em{color:var(--gold);font-style:italic}
.menu{display:flex;gap:36px;font-size:14px;letter-spacing:.14em;color:#D9D2C5}
.menu a:hover,.menu a.on{color:var(--gold)}
.burger{display:none;background:none;border:0;color:var(--ink);font-size:24px;cursor:pointer}

/* ===== 首頁主視覺 ===== */
.hero{min-height:100vh;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden}
.hero .ph{position:absolute;inset:0}
.hero .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,17,22,.15),rgba(14,17,22,.65))}
.hero-in{position:relative;z-index:2;padding:0 4vw}
.hero h1{font-size:clamp(36px,6vw,76px);margin:28px 0 20px}
/* 斜體的中文是瀏覽器把字往右傾斜產生的，字頂會超出文字框；background-clip:text 只在框內上色，超出的筆畫會變透明。左右各留 .12em 再用負邊界抵銷，版面位置不變 */
.hero h1 i,.page-hero h1 i{font-style:italic;background:linear-gradient(90deg,#F3DDAE,#FBEBC8 55%,#F3DDAE);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 .12em;margin:0 -.12em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero p{color:#DCD5C8;max-width:560px;margin:0 auto 40px}
.hero .btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.rule{width:1px;height:64px;background:var(--gold);margin:56px auto 0;opacity:.6}
/* 主視覺文字底板（待辦 E5 方案三）：後台換成任何亮度的照片，文字對比仍達 WCAG AA */
.hero .hero-in,.page-hero .hero-in{background:rgba(14,17,22,.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:20px;padding:36px clamp(20px,4vw,56px);margin:0 16px}
.hero .eyebrow,.page-hero .eyebrow{color:#F3DDAE}
.hero .rule{position:absolute;left:50%;top:100%;margin:0}
.page-hero .crumb{color:#DCD5C8}
.page-hero .crumb a{color:#E8C9A0}

section{padding:120px 0}
.head{text-align:center;margin-bottom:64px}
.head h2{margin-top:18px}
.lead{max-width:760px;margin:0 auto;text-align:center;color:var(--muted);font-size:17px}

/* ===== 首頁：三支柱 ===== */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pillar{padding:56px 40px;border:1px solid var(--line);border-radius:20px;background:var(--surface);transition:transform .3s,border-color .3s}
.pillar:hover{transform:translateY(-6px);border-color:var(--gold)}
.pillar .no{font:italic 500 44px/1 var(--serif);color:var(--gold)}
.pillar h3{font-size:24px;margin:20px 0 4px}
.pillar small{color:var(--gold);letter-spacing:.3em;font-size:11px}
.pillar p{color:var(--muted);margin-top:16px;font-size:15px}
.more-link{display:inline-block;margin-top:20px;color:var(--gold);font-size:14px;letter-spacing:.1em}
.more-link:hover{color:var(--gold-2)}

/* ===== 首頁：近期活動 ===== */
.events{background:var(--bg-2)}
.ev-list{display:grid;gap:14px}
.ev{display:grid;grid-template-columns:120px 1fr auto;gap:32px;align-items:center;padding:28px 36px;background:var(--bg-2);border:1px solid var(--line);border-radius:18px;transition:.25s}
.ev:hover{background:var(--surface)}
.ev .date{font:500 34px/1 var(--serif);color:var(--gold)}
.ev .date small{display:block;font:13px/1.6 var(--sans);color:var(--muted);margin-top:6px}
.ev h3{font-size:20px}
.ev h3 a:hover{color:var(--gold)}
.ev p{color:var(--muted);font-size:14px}
.tag{display:inline-block;font-size:11px;letter-spacing:.2em;border:1px solid var(--line);padding:2px 10px;margin-right:8px;color:var(--gold);border-radius:999px}
.tag.full{color:var(--brick);border-color:var(--brick)}
.more-row{text-align:center;margin-top:48px}
.empty{text-align:center;color:var(--muted);padding:70px 0;font-size:15.5px}

/* ===== 首頁：活動花絮 ===== */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:14px}
.g-item{position:relative;border-radius:18px;overflow:hidden;cursor:zoom-in;margin:0;background:var(--surface)}
.g-item:nth-child(1){grid-column:span 2;grid-row:span 2}
.g-item:nth-child(6){grid-column:span 2}
.g-item .ph{position:absolute;inset:0;transition:transform .6s;isolation:isolate}
.g-item .ph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.g-item .ph::before{z-index:1}
.g-item:hover .ph{transform:scale(1.06)}
.g-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 14px;background:linear-gradient(180deg,transparent,rgba(14,17,22,.85));display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
.g-item figcaption b{font-weight:500;font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g-item figcaption small{color:var(--gold);font-size:12px;letter-spacing:.1em;white-space:nowrap}
.gallery.plain .g-item:nth-child(1),.gallery.plain .g-item:nth-child(6){grid-column:auto;grid-row:auto}
.album+.album{margin-top:88px}
.album-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:24px;border-bottom:1px solid var(--line);padding-bottom:16px}
.album-head h2{font-size:clamp(22px,2.4vw,30px)}
.album-head small{color:var(--gold);letter-spacing:.14em}
.album-desc{color:var(--muted);max-width:760px;margin:-8px 0 24px}

/* 花絮大圖瀏覽 */
.gv{position:fixed;inset:0;z-index:120;background:rgba(5,6,9,.92);display:none;place-items:center;padding:16px}
.gv.on{display:grid;animation:fade .3s}
.gv figure{margin:0;text-align:center}
.gv img{max-width:min(1100px,88vw);max-height:78vh;border-radius:12px;display:block;margin:0 auto}
.gv figcaption{color:var(--ink);margin-top:14px;font-size:15px;letter-spacing:.06em}
.gv-x{position:absolute;top:14px;right:18px;background:none;border:0;color:var(--ink);font-size:34px;cursor:pointer}
.gv-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid var(--gold);background:rgba(14,17,22,.6);color:var(--gold);font-size:28px;line-height:1;cursor:pointer}
.gv-prev{left:16px}.gv-next{right:16px}

/* ===== 首頁：品牌故事 ===== */
.story{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center}
.story .ph{aspect-ratio:4/5;border-radius:20px}
.story blockquote{font:500 clamp(22px,2.4vw,30px)/1.6 var(--serif);border-left:2px solid var(--gold);padding-left:28px;margin:28px 0}
.story p{color:var(--muted);margin-bottom:16px}
.story h2{margin-top:14px}

/* ===== 首頁：成長課程與數字 ===== */
.courses{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.courses.n1{grid-template-columns:minmax(0,320px);justify-content:center}
.courses.n2{grid-template-columns:repeat(2,minmax(0,320px));justify-content:center}
.courses.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.course{display:block}
.course .ph{aspect-ratio:3/4;margin-bottom:20px;border-radius:20px;transition:transform .5s}
.course:hover .ph{transform:scale(1.03)}
.course h3{font-size:19px}
.course p{color:var(--muted);font-size:14px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;border-top:1px solid var(--line);padding-top:56px;margin-top:96px}
.stats b{display:block;font:500 48px/1 var(--serif);color:var(--gold)}
.stats span{color:var(--muted);font-size:14px}

/* ===== 常見問題 ===== */
.faq{max-width:820px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line);padding:24px 0}
.faq summary{font:500 19px/1.6 var(--serif);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold)}
.faq details[open] summary::after{content:"−"}
.faq p,.faq .ans{color:var(--muted);margin-top:12px}
.faqGroup+.faqGroup{margin-top:56px}
.faqGroup h2{font-size:22px;margin-bottom:6px;color:var(--gold)}
.faqMore{text-align:center;margin-top:56px}
.faqMore p{color:var(--muted);margin-bottom:18px}

/* ===== 頁尾 ===== */
.about-strip{background:var(--bg-2);border-top:1px solid var(--line);padding:80px 0}
.about-strip .wrap{display:grid;grid-template-columns:240px 1fr;gap:56px}
.about-strip h2{font-size:26px}
.about-strip p{color:var(--muted);margin-bottom:12px}
.info{display:grid;grid-template-columns:88px 1fr;gap:10px 18px;margin-top:8px;font-size:15px}
.info dt{color:var(--gold);letter-spacing:.1em}
.info dd{color:var(--ink)}
.info a{color:var(--ink);border-bottom:1px solid var(--gold)}
footer.foot{border-top:1px solid var(--line);padding:40px 0;color:var(--muted);font-size:13px}
footer.foot .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
footer.foot a{color:var(--gold)}
.foot .links{display:flex;gap:18px;flex-wrap:wrap}
.social{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.social a{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:8px 18px;font-size:14px;color:var(--ink);transition:.2s}
.social a:hover{border-color:var(--gold);color:var(--gold)}
.social svg{width:18px;height:18px;flex:none}

/* ===== 浮動 LINE ===== */
.line-fab{position:fixed;right:20px;bottom:20px;z-index:90;width:58px;height:58px;border-radius:50%;background:#06C755;color:#fff;display:grid;place-items:center;box-shadow:0 10px 28px rgba(6,199,85,.35);transition:transform .2s}
.line-fab:hover{transform:scale(1.07)}
.line-fab svg{width:30px;height:30px}

/* ===== 首頁燈箱 ===== */
.lb{position:fixed;inset:0;z-index:100;background:rgba(5,6,9,.78);display:none;place-items:center;padding:16px}
.lb.on{display:grid;animation:fade .35s}
.lb-card{width:min(760px,100%);display:grid;grid-template-columns:1fr 1fr;background:var(--surface);border:1px solid var(--gold);border-radius:24px;overflow:hidden;position:relative}
.lb-card.noimg{grid-template-columns:1fr;width:min(460px,100%)}
.lb-card .ph{min-height:360px}
.lb-body{padding:44px 36px}
.lb-body h3{font-size:28px;margin:16px 0 12px}
.lb-body p{color:var(--muted);font-size:15px;margin-bottom:24px}
.lb-x{position:absolute;top:10px;right:14px;z-index:2;background:none;border:0;color:var(--ink);font-size:26px;cursor:pointer}
.lb-skip{display:block;margin-top:18px;font-size:13px;color:var(--muted);background:none;border:0;cursor:pointer;font-family:inherit;letter-spacing:inherit}
.lb-skip:hover{color:var(--gold)}
@keyframes fade{from{opacity:0}to{opacity:1}}

/* ===== 捲動淡入 ===== */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* ===== 內頁共用 ===== */
.page-hero{min-height:64vh;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden;padding:150px 0 90px}
.page-hero.sm{min-height:0;padding:150px 0 64px}
.page-hero .ph{position:absolute;inset:0}
.page-hero .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,17,22,.62),rgba(14,17,22,.45) 45%,rgba(14,17,22,.85))}
.page-hero .hero-in{position:relative;z-index:2}
.page-hero h1{font-size:clamp(34px,5vw,62px);margin:22px 0 16px}
.page-hero.sm h1{font-size:clamp(30px,4vw,48px)}
.page-hero p{color:#DCD5C8;max-width:620px;margin:0 auto}
.crumb{font-size:13px;color:var(--muted);margin-top:26px;letter-spacing:.1em}
.crumb a{color:var(--gold)}
.inner{padding-top:112px}
.inner .crumb{margin:0 0 28px}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pcard{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:transform .3s,border-color .3s;display:flex;flex-direction:column}
.pcard:hover{transform:translateY(-6px);border-color:var(--gold)}
.pcard .ph{aspect-ratio:4/3}
.pcard .b{padding:26px 26px 30px;display:flex;flex-direction:column;flex:1}
.pcard h3{font-size:21px;margin:12px 0 10px}
.pcard h3 a:hover{color:var(--gold)}
.pcard p{color:var(--muted);font-size:15px}
.pcard .more{margin-top:auto;padding-top:18px;color:var(--gold);font-size:14px;letter-spacing:.1em}
.pcard .meta{font-size:13px;color:var(--muted);margin-top:auto;padding-top:14px}
.flow{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;counter-reset:f}
.flow li{list-style:none;border:1px solid var(--line);border-radius:18px;padding:26px 18px;background:var(--surface)}
.flow li::before{counter-increment:f;content:"0" counter(f);display:block;font:italic 500 30px/1 var(--serif);color:var(--gold);margin-bottom:14px}
.flow h3{font-size:18px;margin-bottom:6px}
.flow p{font-size:14px;color:var(--muted)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.split .ph{aspect-ratio:5/4;border-radius:20px}
.split h2{margin:14px 0 8px}
.checks{list-style:none;margin-top:20px}
.checks li{padding:16px 0;border-bottom:1px solid var(--line)}
.checks li b{font-weight:500}
.checks li b::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gold);margin-right:14px;vertical-align:middle}
.checks li span{display:block;color:var(--muted);font-size:14px;padding-left:22px;margin-top:2px}
.quote-card blockquote{font:500 19px/1.8 var(--serif);margin:4px 0 14px}
.quote-card small{color:var(--gold);letter-spacing:.1em}
.cta-band{background:linear-gradient(120deg,#1B212B,#2A2418);border-top:1px solid var(--line);text-align:center;padding:96px 0}
.cta-band h2{margin:14px 0}
.cta-band p{color:var(--muted);margin-bottom:32px}
.cta-band .btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* 長文（頁面內容、文章內文、活動內容區塊） */
.prose{max-width:820px;margin:0 auto}
.prose h2{font-size:clamp(22px,2.4vw,28px);margin:44px 0 14px;color:var(--gold-2)}
.prose h3{font-size:20px;margin:28px 0 10px}
.prose p{color:#CFC8BA;margin-bottom:16px}
.prose ul,.prose ol{padding-left:22px;margin-bottom:16px}
.prose li{padding:4px 0;color:#CFC8BA}
.prose a{color:var(--gold);border-bottom:1px solid rgba(201,169,110,.5)}
.prose img{border-radius:14px;margin:14px 0}
.prose strong{color:var(--ink);font-weight:500}
.doc{max-width:820px;margin:0 auto;padding:0 0 100px}
.doc .lead{margin:0 auto 36px}

/* 館長真心話 */
.feature{display:grid;grid-template-columns:1.2fr 1fr;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--surface)}
.feature .ph{min-height:420px}
.feature .b{padding:56px 48px;display:flex;flex-direction:column;justify-content:center}
.feature h2{font-size:clamp(26px,2.8vw,36px);margin:16px 0}
.feature p{color:var(--muted);margin-bottom:28px}
.feature .btn{align-self:flex-start}
.filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:40px}
.filters a,.filters button{background:none;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:9px 22px;font:14px var(--sans);letter-spacing:.1em;cursor:pointer;transition:.2s}
.filters a.on,.filters a:hover,.filters button.on,.filters button:hover{border-color:var(--gold);color:var(--gold)}
.filters.venues a{font-size:13px;padding:6px 18px}
.ask{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;border:1px solid var(--gold);border-radius:24px;padding:48px 56px;background:var(--surface)}
.ask h2{font-size:clamp(24px,2.6vw,32px);margin:12px 0 8px}
.ask p{color:var(--muted)}

/* ===== 活動列表 ===== */
.archiveNote{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 22px;font-size:14.5px;color:var(--muted);text-align:center;margin:0 0 40px}
.archiveNote a{color:var(--gold);text-decoration:underline}
.evgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.evcard{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,border-color .3s}
.evcard:hover{transform:translateY(-6px);border-color:var(--gold)}
.evcard .ph{aspect-ratio:297/210}
.evcard .bd{padding:22px 24px 24px;flex:1;display:flex;flex-direction:column}
.evcard .tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.evcard .tags span{font-size:12px;letter-spacing:.08em;padding:2px 11px;border-radius:999px;line-height:1.7;white-space:nowrap;border:1px solid var(--line);color:var(--gold)}
.evcard .tags .venue{color:#fff;border-color:transparent}
.evcard .tags .full{color:var(--brick);border-color:var(--brick)}
.evcard .tags .past{color:var(--muted)}
.evcard h3{font-size:19px;line-height:1.55;margin-bottom:10px}
.evcard h3 a:hover{color:var(--gold)}
.evcard .bd>p{font-size:14.5px;color:var(--muted);flex:1;margin-bottom:16px}
.evcard .meta{border-top:1px dashed var(--line);padding-top:14px;display:flex;flex-direction:column;gap:7px;font-size:14px}
.evcard .meta .r{display:flex;gap:8px;color:#CFC8BA}
.evcard .meta .r b{font-weight:500;color:var(--gold);letter-spacing:.1em;flex:none}
.evcard .foot{display:flex;justify-content:space-between;align-items:center;margin-top:16px}
.evcard .price{font:500 20px var(--serif);letter-spacing:.04em}
.evcard .price small{font-size:12.5px;color:var(--muted);letter-spacing:0;font-family:var(--sans)}
.evcard .go{font-size:14px;letter-spacing:.1em;border:1px solid var(--gold);color:var(--gold);border-radius:999px;padding:6px 18px;transition:.2s}
.evcard .go:hover{background:var(--gold);color:var(--bg)}
.pager{display:flex;gap:8px;justify-content:center;margin-top:52px;flex-wrap:wrap}
.pager a,.pager span{min-width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;background:var(--surface);padding:0 10px;transition:.2s}
.pager a:hover{border-color:var(--gold);color:var(--gold)}
.pager .on{background:var(--gold);border-color:var(--gold);color:var(--bg)}
.pager .disabled{color:#5b6472;background:transparent}

/* ===== 活動與文章內頁 ===== */
.dt{display:grid;grid-template-columns:1fr 320px;gap:48px;padding:0 0 100px;align-items:start}
.poster{width:100%;aspect-ratio:297/210;background-size:cover;background-position:center;border-radius:20px;border:1px solid var(--line)}
.ttl{margin:30px 0 6px}
.ttl h1{font-size:clamp(26px,3.2vw,40px);line-height:1.5}
.subline{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:32px}
.subline .tags span{display:inline-block;font-size:12.5px;letter-spacing:.14em;color:var(--gold);border:1px solid var(--line);border-radius:999px;padding:3px 13px;margin-right:8px}
.subline time{font-size:14px;color:var(--muted);letter-spacing:.06em}
.subline .byline{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.subline .author{font-size:14px;color:var(--muted);letter-spacing:.06em}
.blk{margin-bottom:38px}
.blk h2{font-size:21px;margin-bottom:16px;padding-left:14px;border-left:2px solid var(--gold);line-height:1.3}
.blk h3{font-size:18px;margin:28px 0 10px}
.blk p{font-size:15.5px;color:#CFC8BA;margin-bottom:10px}
.blk ul,.blk ol{padding-left:22px;margin-bottom:10px}
.blk li{font-size:15.5px;color:#CFC8BA;padding:4px 0}
.blk img{border-radius:14px;margin:14px 0}
.blk a{color:var(--gold);text-decoration:underline}
.infobox{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:8px 26px}
.infobox dl{display:grid;grid-template-columns:104px 1fr}
.infobox dt{padding:13px 0;color:var(--gold);font-size:15px;border-bottom:1px solid var(--line);letter-spacing:.08em}
.infobox dd{padding:13px 0;font-size:15px;color:#CFC8BA;border-bottom:1px solid var(--line)}
.infobox dl>dt:last-of-type,.infobox dl>dd:last-of-type{border-bottom:none}
.ctaBar{background:var(--surface);border:1px solid var(--gold);border-radius:20px;padding:26px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:44px}
.ctaBar .p{font:500 26px var(--serif);letter-spacing:.04em}
.ctaBar .p small{font-size:13px;color:var(--muted);letter-spacing:0;display:block;margin-top:2px;font-family:var(--sans)}
.ctaBar .p .lbl{font:15px var(--sans);color:var(--muted)}
.ctaBar .closed{color:var(--brick);font-size:15px;text-align:right}
.ctaBar .closed a{text-decoration:underline}

/* 表單 */
.form{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:34px 34px 30px}
.form h2{font-size:24px;text-align:center;margin-bottom:6px}
.form .lead{text-align:center;color:var(--muted);font-size:14px;margin-bottom:28px}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}
.f{display:flex;flex-direction:column;gap:7px}
.f.full,.full{grid-column:1/-1}
.f label{font-size:14.5px;color:#CFC8BA}
.f label i{color:var(--brick);font-style:normal;margin-left:3px}
.f input,.f select,.f textarea{font-family:inherit;font-size:15px;color:var(--ink);background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:11px 14px;outline:none;transition:.2s;width:100%;color-scheme:dark}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--gold)}
.f input.err,.f select.err,.f textarea.err{border-color:var(--brick)}
.f textarea{resize:vertical;min-height:92px}
.f .radios{display:flex;align-items:center;gap:26px;min-height:44px}
.f .radios label{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-size:15px;white-space:nowrap;margin:0}
.f .radios input[type=radio]{width:17px;height:17px;flex:none;margin:0;accent-color:var(--gold)}
.f .lock{font-size:12px;color:var(--muted);margin-left:6px;white-space:nowrap}
.f .pair{display:flex;align-items:center;gap:8px;width:100%}
.f .pair .unit{position:relative;flex:1 1 0;min-width:0;display:block}
.f .pair .unit input{width:100%;padding-right:40px}
.f .pair .unit em{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-style:normal;font-size:13px;color:var(--muted);pointer-events:none;line-height:1}
.f .pair .sep{flex:0 0 auto;font-size:14px;color:var(--muted);white-space:nowrap}
.match-head{margin-top:14px;padding-top:22px;border-top:1px dashed var(--line);text-align:center;font:500 18px var(--serif);letter-spacing:.2em;color:var(--gold)}
.agree{grid-column:1/-1;display:flex;gap:9px;align-items:flex-start;font-size:13.5px;color:var(--muted);margin-top:6px;line-height:1.7}
.agree input{margin-top:5px;flex:none;accent-color:var(--gold)}
.agree>span{flex:1 1 auto;min-width:0}
.agree a{color:var(--gold);text-decoration:underline;white-space:nowrap}
.submit{grid-column:1/-1;text-align:center;margin-top:14px}
.submit .btn{padding:14px 56px;font-size:16px}
.formNote{grid-column:1/-1;text-align:center;font-size:13px;color:var(--muted);margin-top:14px}
.alert{border-radius:12px;padding:13px 18px;font-size:14.5px;margin-bottom:22px}
.alert-error{background:rgba(226,131,122,.1);border:1px solid rgba(226,131,122,.45);color:#F0B3AD}
.alert-success{background:rgba(201,169,110,.1);border:1px solid rgba(201,169,110,.45);color:var(--gold-2)}

/* 側欄 */
.side{position:sticky;top:104px}
.side h3{font-size:17px;padding-bottom:12px;border-bottom:1px solid var(--gold);margin-bottom:6px}
.side .it{display:flex;gap:13px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}
.side .it .th{width:96px;aspect-ratio:297/210;border-radius:8px;background-size:cover;background-position:center;flex:none;border:1px solid var(--line)}
.side .it .tx h4{font:500 14.5px/1.55 var(--sans);margin-bottom:4px}
.side .it:hover .tx h4{color:var(--gold)}
.side .it .tx time{font-size:12.5px;color:var(--muted);letter-spacing:.06em}
.side .lineBox,.lineBox{background:#06C755;border-radius:18px;padding:22px 20px;text-align:center;margin-top:26px}
.lineBox p{color:#fff;font-size:14.5px;margin-bottom:12px;line-height:1.7}
.lineBox a{display:inline-block;background:#fff;color:#05a948;font-weight:500;font-size:14.5px;padding:9px 22px;border-radius:999px;letter-spacing:.06em}

/* 服務據點與聯絡 */
.venues-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;max-width:760px;margin:0 auto;text-align:left}
.venue-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px 22px}
.venue-card .chip{display:inline-block;color:#fff;font-size:12.5px;letter-spacing:.08em;padding:3px 12px;border-radius:999px;margin-bottom:10px}
.venue-card p{font-size:14.5px;color:#CFC8BA;margin:0 0 4px}
.contact-box{max-width:560px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px 30px;text-align:left}

/* 網站地圖（給人看的） */
.smGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.smCol h2,.smFull h2{font-size:21px;color:var(--gold);margin-bottom:14px}
.smCol h2+ul{margin-bottom:30px}
.smCol h3,.smFull h3{font:500 15.5px var(--sans);color:var(--gold-2);letter-spacing:.06em;margin:22px 0 10px}
.smList{list-style:none;padding:0}
.smList li{padding:7px 0;border-bottom:1px solid var(--line);font-size:15px}
.smList li a:hover{color:var(--gold)}
.smList.cols{columns:3;column-gap:36px}
.smList.cols li{break-inside:avoid}
.smFull{margin-top:56px}
.smSub{margin-bottom:26px}
.smNote{margin-top:56px;padding-top:22px;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted);text-align:center}
.smNote a{color:var(--gold);text-decoration:underline}

/* ===== 響應式 ===== */
@media (max-width:1200px){.menu{gap:22px;font-size:13px;letter-spacing:.08em}}
@media (max-width:1050px){.menu{gap:16px;letter-spacing:.04em}.logo{font-size:20px}}
@media (max-width:960px){
  .dt{grid-template-columns:1fr;gap:34px}
  .side{position:static}
  .smGrid{grid-template-columns:1fr 1fr;gap:32px}
  .smList.cols{columns:2}
}
@media (max-width:900px){
  .menu{display:none;position:absolute;top:80px;left:0;right:0;flex-direction:column;gap:0;background:var(--bg);font-size:14px;letter-spacing:.14em}
  .menu.open{display:flex}
  .menu a{padding:16px 4vw;border-top:1px solid var(--line)}
  .burger{display:block}
  section{padding:80px 0}
  .pillars,.courses,.courses.n3,.stats{grid-template-columns:1fr 1fr}
  .courses.n1{grid-template-columns:minmax(0,320px)}
  .story{grid-template-columns:1fr;gap:40px}
  .ev{grid-template-columns:90px 1fr;padding:24px}
  .ev .btn{grid-column:1/-1;text-align:center}
  .about-strip .wrap{grid-template-columns:1fr;gap:20px}
  .lb-card{grid-template-columns:1fr}
  .lb-card .ph{min-height:180px}
  .cards3,.split,.feature,.ask,.evgrid{grid-template-columns:1fr}
  .flow{grid-template-columns:1fr 1fr}
  .split{gap:40px}
  .feature .ph{min-height:240px}.feature .b{padding:36px 28px}
  .ask{padding:36px 28px;gap:24px}
  .page-hero{min-height:56vh;padding:130px 0 70px}
  .page-hero.sm{min-height:0;padding:124px 0 48px}
  .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:170px}
  .g-item:nth-child(6){grid-column:auto}
  .smGrid{grid-template-columns:1fr}
  .smList.cols{columns:1}
}
@media (max-width:640px){
  .fg{grid-template-columns:1fr}
  .infobox dl{grid-template-columns:1fr}
  .infobox dt{padding-bottom:0;border-bottom:none}
  .form{padding:26px 20px 24px}
}
@media (max-width:560px){
  .pillars,.courses,.courses.n3,.courses.n2,.stats{grid-template-columns:1fr}
  .stats{gap:32px}
  .hero .btn,.ask .btn,.cta-band .btn{width:100%;text-align:center}
  .flow{grid-template-columns:1fr}
  .gallery{grid-auto-rows:140px;gap:10px}
  .g-item figcaption{padding:28px 12px 10px}
  .g-item figcaption small{display:none}
  .g-item figcaption b{font-size:13px}
  .gv-nav{width:40px;height:40px;font-size:22px}
  .ctaBar .closed{text-align:left}
}
@media print{.line-fab,.burger,.lb,.gv{display:none}}

/* ===== 補充：主視覺背景變數、連結型圖片區塊 ===== */
.hero .ph{background-image:var(--bg)}
a.ph{display:block}
@media (max-width:768px){.hero .ph{background-image:var(--bg-m,var(--bg))}}
