/* =========================================================
   國際崇她台灣夢想E社 — 前台樣式
   設計原則：長者友善（大字、高對比、大按鈕）、手機優先
   ========================================================= */
:root{
  --primary:#e5771e; --primary-2:#e5771e; --primary-50:#fde3cc; --primary-100:#fde3cc;
  --accent:#e5771e; --accent-ink:#e5771e; --accent-50:#fde3cc;
  --call:#e5771e; --line:#75c8ae;
  --ink:#e0570a; --ink-2:#e0570a; --muted:#c24a06;
  --bg:#ffffff; --bg-alt:#fffaf3; --border:#fde3cc;
  --focus:#f4a127;
  --radius:14px; --radius-lg:22px;
  --shadow:0 2px 6px rgba(224,87,10,.06),0 8px 24px rgba(224,87,10,.08);
  --tap:56px;
  --container:1200px;
  --header-h:84px;
  --font:"PingFang TC","Noto Sans TC","Microsoft JhengHei","Heiti TC",system-ui,-apple-system,"Segoe UI",sans-serif;
}
html{font-size:112.5%;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}
html[data-fs="2"]{font-size:125%}
html[data-fs="3"]{font-size:143.75%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---------- 高對比模式 ---------- */
html[data-contrast="high"]{
  --primary:#000; --primary-2:#000; --primary-50:#fff; --primary-100:#fff;
  --accent:#ffd400; --accent-ink:#000; --accent-50:#fff8c4;
  --call:#000; --line:#000; --ink:#000; --ink-2:#000; --muted:#000;
  --bg:#fff; --bg-alt:#fff; --border:#000; --shadow:none;
}
html[data-contrast="high"] a{text-decoration:underline!important}
html[data-contrast="high"] .btn,html[data-contrast="high"] .tile,html[data-contrast="high"] .card,html[data-contrast="high"] .faq{border:3px solid #000!important}
html[data-contrast="high"] .hero{background:#000!important}
html[data-contrast="high"] .hero-bg{display:none}
html[data-contrast="high"] .btn-accent{background:#ffd400!important;color:#000!important}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--font);font-size:1rem;line-height:1.8;color:var(--ink);background:var(--bg);letter-spacing:.02em;overflow-x:hidden;padding-bottom:calc(76px + env(safe-area-inset-bottom))}
@media (min-width:900px){body{padding-bottom:0}}
img{max-width:100%;height:auto;display:block}
picture{display:contents}
a{color:var(--primary-2);text-underline-offset:.2em}
a:hover{color:var(--primary)}
h1,h2,h3,h4{line-height:1.4;margin:0 0 .6em;color:var(--ink);letter-spacing:.03em}
p{margin:0 0 1em}
button{font:inherit;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:4px solid var(--focus);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-100px;background:var(--focus);color:#000;padding:12px 20px;font-weight:700;z-index:1000;border-radius:8px}
.skip-link:focus{top:12px}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 16px}
@media (min-width:760px){.container{padding:0 28px}}
.narrow{max-width:900px}
.container.narrow{max-width:900px}
.center{text-align:center}
.mt-xl{margin-top:3rem}
.small{font-size:.9rem}
.ico{width:1.25em;height:1.25em;flex:none;vertical-align:-.22em}
.ico-line{display:inline-flex;width:1.35em;height:1.35em}
.ico-line svg{width:100%;height:100%}
.em{color:var(--accent-ink)}

/* ---------- 按鈕：最小點擊高度 56px ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:var(--tap);padding:.6em 1.3em;border-radius:var(--radius);border:2px solid transparent;font-weight:700;font-size:1rem;line-height:1.3;text-decoration:none;transition:transform .15s,background .15s,box-shadow .15s;text-align:center}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--primary-2);color:#fff}
.btn-primary:hover{background:var(--primary);color:#fff}
.btn-accent{background:var(--accent-ink);color:#fff}
.btn-accent:hover{background:#e5771e;color:#fff}
.btn-light{background:#fff;color:var(--primary);border-color:#fff}
.btn-light:hover{background:var(--primary-50);color:var(--primary)}
.btn-outline{background:#fff;color:var(--primary-2);border-color:var(--primary-2)}
.btn-outline:hover{background:var(--primary-50);color:var(--primary)}
.btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn-call{background:var(--call);color:#fff}
.btn-call:hover{background:#e5771e;color:#fff}
.btn-line{background:var(--line);color:#fff}
.btn-line:hover{background:#3a9479;color:#fff}
.btn-lg{min-height:62px;font-size:1.08rem;padding:.7em 1.5em}
.btn-xl{min-height:68px;font-size:1.2rem;padding:.75em 1.6em;border-radius:18px}
.btn-block{display:flex;width:100%}

/* ---------- 載入動畫（與 Logo 連結：紅白條紋 → 徽章旋入 → 外圈轉動） ---------- */
#loader{display:none}
.show-loader #loader{display:grid;position:fixed;inset:0;z-index:9999;place-items:center;background:var(--primary);color:#fff;transition:opacity .45s ease,visibility .45s}
#loader.is-done{opacity:0;visibility:hidden}
.loader-inner{text-align:center;padding:24px}
.loader-badge{position:relative;width:200px;height:200px;margin:0 auto 20px}
.loader-stripes{position:absolute;inset:6px;border-radius:24px;overflow:hidden;display:flex;flex-direction:column;transform:rotate(-8deg);opacity:.95}
.loader-stripes span{flex:1;background:#e5771e;transform:scaleX(0);transform-origin:left;animation:lstripe .45s calc(var(--i) * 60ms) cubic-bezier(.6,.1,.3,1) forwards}
.loader-stripes span:nth-child(even){background:#fff;transform-origin:right}
.loader-logo{position:absolute;inset:20px;width:160px;height:160px;border-radius:50%;transform:scale(.2) rotate(-200deg);opacity:0;animation:lbadge .7s .45s cubic-bezier(.2,1.4,.4,1) forwards;box-shadow:0 8px 30px rgba(0,0,0,.35)}
.loader-ring{position:absolute;inset:0;width:200px;height:200px;animation:lspin 1.4s linear infinite;opacity:0;animation:lspin 1.2s 1.1s linear infinite,lfade .3s 1.1s forwards}
.loader-ring circle{fill:none;stroke:#fff;stroke-width:3;stroke-dasharray:60 236;stroke-linecap:round}
.loader-name{font-size:1.2rem;font-weight:700;margin:0 0 4px;opacity:0;animation:lfade .5s .9s forwards;letter-spacing:.1em}
.loader-sub{font-size:.95rem;opacity:0;animation:lfade .5s 1.1s forwards;margin:0;color:#fde3cc}
@keyframes lstripe{to{transform:scaleX(1)}}
@keyframes lbadge{to{transform:none;opacity:1}}
@keyframes lspin{to{transform:rotate(360deg)}}
@keyframes lfade{to{opacity:1}}
@media (prefers-reduced-motion:reduce){.loader-logo{transform:none;opacity:1}.loader-stripes span{transform:none}}

/* ---------- 頂部提醒、工具列 ---------- */
.notice-bar{background:var(--accent-50);border-bottom:1px solid #f6c193;color:#e0570a;font-size:.95rem}
.notice-bar .container{display:flex;gap:.7em;align-items:baseline;padding-top:.55em;padding-bottom:.55em;flex-wrap:wrap}
.notice-bar strong{background:var(--accent-ink);color:#fff;padding:.05em .6em;border-radius:6px;font-size:.85rem;flex:none}
.notice-bar a{color:#e0570a;font-weight:700}
.util-bar{background:var(--primary);color:#fff;font-size:.88rem}
.util-inner{display:flex;align-items:center;gap:12px;min-height:48px;flex-wrap:wrap;justify-content:flex-end}
.util-group{display:flex;align-items:center;gap:6px}
.util-label{display:inline-flex;align-items:center;gap:4px;margin-right:2px;opacity:.9}
.fs-btn,.contrast-btn{min-height:40px;min-width:48px;padding:0 .7em;border-radius:8px;border:2px solid rgba(255,255,255,.55);background:transparent;color:#fff;font-weight:700;display:inline-flex;align-items:center;gap:4px}
.fs-btn[data-fs="2"]{font-size:1.05em}.fs-btn[data-fs="3"]{font-size:1.18em}
.fs-btn[aria-pressed="true"],.contrast-btn[aria-pressed="true"]{background:#fff;color:var(--primary);border-color:#fff}
.util-phone{color:#fff;font-weight:700;text-decoration:none;display:inline-flex;gap:4px;align-items:center;margin-left:auto;font-size:1rem}
@media (max-width:759px){.util-inner{justify-content:space-between;gap:6px}.util-label span,.util-phone{display:none}.util-label{font-size:0}.util-label .ico{font-size:1rem}}
@media (min-width:760px){.util-phone{margin-left:12px}}

/* ---------- 頁首 ---------- */
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:4px;background:repeating-linear-gradient(90deg,#e5771e 0 28px,#fff 28px 40px);opacity:.9}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--border);box-shadow:0 2px 10px rgba(224,87,10,.05)}
.header-inner{display:flex;align-items:center;gap:12px;min-height:var(--header-h)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--primary);min-width:0;flex:1 1 auto}
.logo-mark{width:56px;height:56px;flex:none;border-radius:50%;object-fit:contain}
.brand-text{display:flex;flex-direction:column;min-width:0}
.brand-name{font-size:1.12rem;font-weight:800;line-height:1.3;letter-spacing:.06em;text-wrap:balance}
.brand-name .nb{display:inline-block;white-space:nowrap}
.brand-sub{font-size:.72rem;color:var(--muted);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:420px){.brand-name{font-size:.92rem;letter-spacing:.02em}.logo-mark{width:44px;height:44px}.brand-sub{display:none}}

.main-nav{display:none}
.menu-toggle{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:64px;min-height:60px;border:2px solid var(--primary-2);border-radius:var(--radius);background:#fff;color:var(--primary-2);font-weight:700;font-size:.82rem;padding:4px 8px}
.menu-toggle .ico{width:28px;height:28px}
.menu-toggle .i-close{display:none}
.menu-toggle[aria-expanded="true"]{background:var(--primary-2);color:#fff}
.menu-toggle[aria-expanded="true"] .i-open{display:none}
.menu-toggle[aria-expanded="true"] .i-close{display:block}
.header-search{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:var(--radius);color:var(--primary-2)}
.header-search .ico{width:28px;height:28px}

@media (min-width:1180px){
  .main-nav{display:block}
  .menu-toggle{display:none}
  .brand{flex:0 1 auto}
  .nav-list{display:flex;list-style:none;margin:0;padding:0;gap:2px;align-items:center}
  .nav-list>li{position:relative}
  .nav-top{display:inline-flex;align-items:center;gap:4px;min-height:52px;padding:0 .75em;border:0;background:none;color:var(--ink);font-weight:700;font-size:1rem;text-decoration:none;border-radius:10px;white-space:nowrap}
  .nav-top:hover,.has-sub.open>.nav-top{background:var(--primary-50);color:var(--primary)}
  .nav-top[aria-current="page"]{color:var(--primary-2);box-shadow:inset 0 -3px 0 var(--accent)}
  .nav-top .caret{width:1em;height:1em;transition:transform .2s}
  .has-sub.open .caret{transform:rotate(180deg)}
  .nav-cta{background:var(--primary-2);color:#fff!important;margin-left:6px}
  .nav-cta:hover{background:var(--primary)!important}
  .sub{position:absolute;top:100%;left:0;min-width:240px;list-style:none;margin:6px 0 0;padding:8px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:none}
  .has-sub.open .sub{display:block}
  .sub a{display:block;padding:.65em 1em;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:600}
  .sub a:hover,.sub a[aria-current="page"]{background:var(--primary-50);color:var(--primary)}
}
@media (min-width:1180px) and (max-width:1320px){.nav-top{padding:0 .5em;font-size:.95rem}.brand-sub{display:none}}

/* ---------- 手機選單 ---------- */
.mobile-menu{position:fixed;inset:calc(var(--header-h) + 0px) 0 0 0;top:var(--mm-top,132px);z-index:99;background:#fff;overflow-y:auto;padding:16px 16px calc(100px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;border-top:1px solid var(--border)}
.mobile-menu[hidden]{display:none}
.m-search{display:flex;gap:8px;margin-bottom:12px}
.m-search input{flex:1;min-height:var(--tap);border:2px solid var(--border);border-radius:var(--radius);padding:0 14px;font-size:1rem}
.m-search .btn{min-width:var(--tap);padding:0}
.m-list{list-style:none;margin:0 0 16px;padding:0}
.m-list>li{border-bottom:1px solid var(--border)}
.m-link{display:flex;align-items:center;gap:14px;width:100%;min-height:64px;padding:0 6px;font-size:1.15rem;font-weight:700;color:var(--ink);text-decoration:none;background:none;border:0;text-align:left}
.m-link>.ico:first-child{width:28px;height:28px;color:var(--primary-2)}
.m-link .caret{margin-left:auto;width:24px;height:24px;transition:transform .2s}
.m-toggle[aria-expanded="true"] .caret{transform:rotate(180deg)}
.m-toggle[aria-expanded="true"]{color:var(--primary-2)}
.m-sub{list-style:none;margin:0 0 10px;padding:0 0 0 42px}
.m-sub a{display:flex;align-items:center;min-height:54px;font-size:1.05rem;color:var(--ink-2);text-decoration:none;border-left:3px solid var(--primary-100);padding-left:14px}
.m-sub a:hover{border-color:var(--accent);color:var(--primary)}
body.menu-open{overflow:hidden}

/* ---------- 麵包屑 ---------- */
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.3em;margin:0;padding:16px 0 0;font-size:.9rem;color:var(--muted)}
.breadcrumbs li{display:inline-flex;align-items:center;gap:.3em}
.breadcrumbs li+li::before{content:"›";color:var(--muted);margin-right:.2em}
.breadcrumbs a{color:var(--muted);display:inline-flex;align-items:center;gap:.25em;min-height:32px}
.breadcrumbs [aria-current]{color:var(--ink);font-weight:600;max-width:20em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- 首頁 Hero：左文右圖，合照完整露出 ---------- */
.hero{position:relative;color:#fff;background:linear-gradient(135deg,#e5771e 0%,#e5771e 70%,#e5771e 100%);overflow:hidden;isolation:isolate;padding:28px 0 84px}
.hero::after{content:"";position:absolute;right:-140px;top:-160px;width:520px;height:520px;border-radius:50%;border:60px solid rgba(255,255,255,.05);z-index:-1}
.hero-grid{display:grid;gap:24px;align-items:center}
.hero-photo{margin:0;order:-1;position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.3);border:4px solid rgba(255,255,255,.9);background:#e0570a}
.hero-photo img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.hero-photo figcaption{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;background:rgba(0,0,0,.6);color:#fff;font-size:.85rem;padding:.25em .8em;border-radius:999px}
@media (min-width:900px){
  .hero{padding:56px 0 112px}
  .hero-grid{grid-template-columns:1.05fr 1fr;gap:48px}
  .hero-photo{order:0;transform:rotate(1.2deg)}
}
.hero-title{color:#fff;font-size:clamp(1.65rem,5.4vw,2.6rem);font-weight:800;line-height:1.38;margin-bottom:.5em;letter-spacing:.04em;text-wrap:balance}
.hero-sub{font-size:clamp(1.02rem,2.2vw,1.15rem);max-width:36em;color:#fde3cc;margin-bottom:1.4em}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}
@media (max-width:559px){.hero-actions .btn{width:100%}}
.hero-phone{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius);padding:.6em 1em;font-size:1rem}
.hero-phone strong{display:block;font-size:1.35rem;letter-spacing:.06em}
.hero-phone .ico{width:32px;height:32px;color:#ffecb4}
.hero-phone:hover{background:rgba(255,255,255,.2);color:#fff}

/* 數字列：疊在大圖下緣 */
.stats-wrap{position:relative;z-index:2;margin-top:-56px}
@media (min-width:900px){.stats-wrap{margin-top:-72px}}
.stats{display:grid;grid-template-columns:repeat(var(--n),1fr);background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border);overflow:hidden}
.stat{display:flex;flex-direction:column;gap:2px;padding:16px 10px;text-align:center}
.stat+.stat{border-left:1px solid var(--border)}
.stat-n{font-size:clamp(1.5rem,5vw,2.3rem);font-weight:800;color:var(--primary);line-height:1.15;font-variant-numeric:tabular-nums}
.stat-n small{font-size:.5em;margin-left:2px;color:var(--accent-ink)}
.stat-t{font-size:.85rem;color:var(--ink-2);line-height:1.5}
@media (min-width:760px){.stat{padding:22px 16px}.stat-t{font-size:.95rem}}
@media (max-width:400px){.stats{grid-template-columns:1fr}.stat{flex-direction:row;align-items:baseline;gap:12px;text-align:left;padding:12px 16px}.stat+.stat{border-left:0;border-top:1px solid var(--border)}.stat-n{min-width:4.2em}}

/* ---------- 區塊 ---------- */
.section{padding:40px 0}
@media (min-width:760px){.section{padding:60px 0}}
.quick{padding-top:32px}
.section-alt{background:var(--bg-alt)}
.section-title{font-size:clamp(1.45rem,3.6vw,1.9rem);font-weight:800;position:relative;padding-left:.75em;margin-bottom:1em}
.section-title::before{content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:.3em;border-radius:4px;background:var(--accent)}
.section-title.sm{font-size:1.3rem;margin-top:1.6em}
.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.more{display:inline-flex;align-items:center;gap:4px;font-weight:700;min-height:48px;text-decoration:none}
.lead{font-size:1.1rem;color:var(--ink-2)}
.empty{background:var(--bg-alt);border-radius:var(--radius);padding:1.4em;color:var(--ink-2);font-size:1.05rem}
.hint{font-size:.92rem;color:var(--muted);display:flex;gap:.4em;align-items:flex-start}
.hint .ico{margin-top:.3em}
.note{font-size:.9rem;color:var(--muted)}

/* 快速入口 */
.tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media (min-width:760px){.tiles{grid-template-columns:repeat(4,1fr);gap:18px}}
.tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:22px 10px 18px;min-height:150px;background:#fff;border:2px solid var(--border);border-radius:var(--radius-lg);text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s,box-shadow .15s}
.tile-main .tile{border-color:var(--primary-100);background:var(--primary-50)}
.tile-main .tile-ico{background:var(--primary-2);color:#fff}
.tile:hover{border-color:var(--primary-2);transform:translateY(-3px);box-shadow:var(--shadow);color:var(--ink)}
.tile-ico{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--primary-50);color:var(--primary-2)}
.tile-ico .ico{width:34px;height:34px}
.tile-t{font-size:1.15rem;font-weight:800}
.tile-s{font-size:.88rem;color:var(--muted);line-height:1.5}

/* 手機：快速入口改成橫式小卡、相簿改兩欄，縮短首頁長度 */
@media (max-width:759px){
  .tiles{gap:10px}
  .tile{flex-direction:row;text-align:left;align-items:center;gap:10px;min-height:78px;padding:10px 12px;display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:10px;row-gap:0}
  .tile-ico{width:44px;height:44px;grid-row:1/3}
  .tile-ico .ico{width:24px;height:24px}
  .tile-t{font-size:1.02rem;line-height:1.35}
  .tile-s{font-size:.8rem;line-height:1.35}
  .cards-compact .cards{grid-template-columns:1fr 1fr;gap:10px}
  .cards-compact .card:nth-child(3){display:none}
  .cards-compact .card-body{padding:10px 12px 12px}
  .cards-compact .card-title{font-size:.98rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}
  .cards-compact .card-meta{font-size:.8rem;margin-bottom:2px}
  .cards-compact .card-media{aspect-ratio:4/3}
}
/* 消息列表 */
.news-list{list-style:none;margin:0;padding:0;background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden}
.news-item+.news-item{border-top:1px solid var(--border)}
.news-item a{display:grid;grid-template-columns:auto auto 1fr auto;grid-template-areas:"date tag hot arrow" "title title title arrow";gap:4px 10px;align-items:center;padding:18px 18px;text-decoration:none;color:var(--ink);min-height:72px}
.news-item a:hover{background:var(--primary-50)}
.news-item time{grid-area:date;font-weight:700;color:var(--primary-2);font-variant-numeric:tabular-nums}
.news-item .tag{grid-area:tag;justify-self:start}
.news-item .tag-hot{grid-area:hot;justify-self:start}
.news-title{grid-area:title;font-size:1.08rem;font-weight:600;line-height:1.6}
.news-item .arrow{grid-area:arrow;color:var(--muted)}
@media (min-width:900px){.news-item a{grid-template-columns:8em auto 1fr auto;grid-template-areas:"date tag title arrow"}.news-item .tag-hot{display:none}}
.tag{display:inline-flex;align-items:center;font-size:.8rem;font-weight:700;background:var(--primary-50);color:var(--primary);padding:.15em .7em;border-radius:999px;line-height:1.6;text-decoration:none;white-space:nowrap}
.tag-hot{background:var(--accent-50);color:var(--accent-ink)}
.tag-new{background:var(--accent-ink);color:#fff;margin-right:8px;vertical-align:.12em;font-size:.72rem;padding:.05em .6em}

/* 誰可以加入 */
.check-list{list-style:none;padding:0;margin:0 0 1em}
.check-list li{display:flex;gap:10px;padding:.4em 0;font-size:1.05rem}
.check-list .ico{color:var(--call);margin-top:.3em;width:1.3em;height:1.3em}
.join-grid{display:grid;gap:28px}
@media (min-width:960px){.join-grid{grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}}
.join-steps{background:var(--primary-50);border-radius:var(--radius-lg);padding:22px 20px}
.steps-label{font-weight:800;color:var(--primary);font-size:1.15rem;margin:0 0 12px}
.steps{list-style:none;margin:0 0 18px;padding:0;counter-reset:s}
.step{display:flex;gap:14px;position:relative;padding-bottom:18px}
.step:not(:last-child)::before{content:"";position:absolute;left:23px;top:50px;bottom:4px;width:3px;background:var(--primary-100);border-radius:2px}
.step-n{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--primary-2);color:#fff;font-size:1.35rem;font-weight:800}
.step:last-child .step-n{background:var(--call)}
.step-t{font-size:1.15rem;margin:.35em 0 .2em}
.step p{margin:0;color:var(--ink-2)}

/* 年度福利行事曆 */
.cal-note{color:var(--ink-2);margin-top:-.4em}
.cal{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:1fr}
@media (min-width:640px){.cal{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.cal{gap:16px}.cal-item{padding:18px 20px}}
.cal-item{display:flex;gap:14px;background:#fff;border:2px solid var(--border);border-radius:var(--radius-lg);padding:16px}
.cal-m{flex:none;display:grid;place-items:center;align-content:center;width:72px;min-height:72px;border-radius:14px;background:var(--primary-50);color:var(--primary);font-size:1.5rem;font-weight:800;line-height:1.1;text-align:center}
.cal-m small{display:block;font-size:.6em;font-weight:700}
.cal-body{min-width:0}
.cal-t{font-size:1.1rem;margin:0 0 .25em}
.cal-body p{margin:0;font-size:.95rem;color:var(--ink-2);line-height:1.65}
.cal-badge{display:inline-block;font-size:.8rem;font-weight:800;padding:.1em .7em;border-radius:999px;margin-bottom:4px;color:#fff}
.b-now{background:var(--call)}.b-next{background:var(--accent-ink)}
.cal-item.is-now{border-color:var(--call);box-shadow:0 0 0 3px rgba(0,126,140,.15)}
.cal-item.is-now .cal-m{background:var(--call);color:#fff}
.cal-item.is-next{border-color:var(--accent)}
.cal-item.is-next .cal-m{background:var(--accent-50);color:var(--accent-ink)}

/* 會員推薦 */
.partners{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:760px){.partners-2,.partners-3{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.partners-3{grid-template-columns:repeat(3,1fr)}}
.partners-1{max-width:760px}
.partner{display:flex;gap:16px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px}
.pt-logo{flex:none;width:84px;height:84px;border-radius:16px;overflow:hidden;background:var(--primary-50);display:grid;place-items:center;border:1px solid var(--border)}
.pt-logo img,.pt-logo picture{width:100%;height:100%;object-fit:contain}
.pt-initial{font-size:1.6rem;font-weight:800;color:var(--primary-2);letter-spacing:.05em}
.pt-name{font-size:1.15rem;margin:0 0 4px}
.pt-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.88rem;color:var(--muted);margin:0 0 6px}
.pt-sum{font-size:.98rem;color:var(--ink-2);margin:0 0 10px;line-height:1.7}
.pt-links{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.pt-links .btn{min-height:48px;padding:.4em 1em;font-size:.95rem}
.recommend-list{margin:28px 0}

/* 卡片 */
.cards{display:grid;gap:18px;grid-template-columns:1fr}
@media (min-width:640px){
  .cards-1{max-width:880px}
  .cards-1 .card-link{display:grid;grid-template-columns:minmax(240px,42%) 1fr}
  .cards-1 .card-media{aspect-ratio:auto;min-height:220px}
  .cards-1 .card-body{padding:24px 26px;align-self:center}
  .cards-1 .card-title{font-size:1.3rem}
}
@media (min-width:640px){.cards:not(.cards-1){grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.cards-3{grid-template-columns:repeat(3,1fr)!important;gap:24px}}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .15s,transform .15s}
.card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.card-link{display:block;color:var(--ink);text-decoration:none;height:100%}
.card-media{position:relative;aspect-ratio:3/2;background:var(--primary-50);overflow:hidden}
.card-media img{width:100%;height:100%;object-fit:cover}
.card-ph{display:grid;place-items:center;height:100%;color:var(--primary-2)}
.date-tile{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-2) 100%);position:relative;overflow:hidden}
.date-tile::after{content:"";position:absolute;right:-30px;bottom:-30px;width:140px;height:140px;border-radius:50%;background:repeating-linear-gradient(0deg,rgba(229,119,30,.5) 0 12px,rgba(255,255,255,.35) 12px 24px);opacity:.5}
.dt-m{font-size:1.1rem;font-weight:700;opacity:.9}
.dt-d{font-size:3.4rem;font-weight:800;line-height:1}
.dt-w{font-size:1rem;opacity:.9}
.card-ph .ico{width:56px;height:56px;opacity:.5}
.card-body{padding:16px 18px 20px}
.card-meta{margin:0 0 6px;color:var(--muted);font-size:.9rem}
.card-title{font-size:1.12rem;font-weight:700;line-height:1.55;margin:0 0 8px}
.card-info{display:flex;gap:6px;align-items:flex-start;font-size:.95rem;color:var(--ink-2);margin:0 0 4px}
.card-info .ico{color:var(--primary-2);margin-top:.3em}
.status{position:absolute;top:12px;left:12px;font-size:.85rem;font-weight:800;padding:.25em .8em;border-radius:999px;color:#fff;background:var(--muted)}
.article-meta .status{position:static}
.st-open{background:var(--call)}.st-soon{background:var(--accent-ink)}.st-closed{background:#c24a06}
.count{position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.65);color:#fff;font-size:.85rem;padding:.2em .7em;border-radius:999px;display:inline-flex;gap:4px;align-items:center}

/* 常見問題 */
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq{background:#fff;border:2px solid var(--border);border-radius:var(--radius);overflow:hidden}
.faq[open]{border-color:var(--primary-2)}
.faq summary{display:flex;align-items:flex-start;gap:12px;padding:16px 16px;min-height:var(--tap);cursor:pointer;list-style:none;font-weight:700;font-size:1.08rem;line-height:1.6}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{background:var(--primary-50)}
.faq-q,.faq-a-mark{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--primary-2);color:#fff;font-weight:800;font-size:1rem;line-height:1}
.faq-a-mark{background:var(--accent-ink)}
.faq-text{flex:1;padding-top:.1em}
.faq summary .caret{flex:none;width:26px;height:26px;margin-top:4px;color:var(--primary-2);transition:transform .2s}
.faq[open] summary .caret{transform:rotate(180deg)}
.faq-a{display:flex;gap:12px;padding:4px 16px 18px;color:var(--ink-2);font-size:1.03rem}
.faq-a p:last-child{margin:0}
.faq-group{margin-bottom:2rem}

/* 拜訪資訊 */
.visit-grid{display:grid;gap:28px}
@media (min-width:900px){.visit-grid{grid-template-columns:1fr 1.2fr;align-items:start}}
.info-dl{margin:0 0 1.4em;display:grid;grid-template-columns:auto 1fr;gap:12px 16px}
.info-dl dt{font-weight:800;display:flex;gap:6px;align-items:flex-start;white-space:nowrap;color:var(--primary)}
.info-dl dt .ico{margin-top:.3em}
.info-dl dd{margin:0}
.big-tel{font-size:1.5rem;font-weight:800;letter-spacing:.05em}
.map-wrap{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);aspect-ratio:4/3;background:var(--bg-alt)}
.map-wrap iframe{width:100%;height:100%;border:0;display:block}

/* ---------- 內頁 ---------- */
.page-head{padding:20px 0 8px}
.page-title{font-size:clamp(1.6rem,4.6vw,2.3rem);font-weight:800;margin-bottom:.35em}
.eyebrow{color:var(--accent-ink);font-weight:800;margin:0 0 .2em;letter-spacing:.1em}
.updated{font-size:.88rem;color:var(--muted);display:flex;gap:.35em;align-items:center}
.article-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:var(--muted);margin:0 0 .5em}
.article-meta time{display:inline-flex;gap:6px;align-items:center;font-weight:700;color:var(--ink-2)}
.summary-box{background:var(--primary-50);border:2px solid var(--primary-100);border-left:8px solid var(--primary-2);border-radius:var(--radius);padding:16px 20px;margin:12px 0 24px;font-size:1.06rem}
.summary-box p{margin:0}
.summary-label{display:flex;align-items:center;gap:6px;font-weight:800;color:var(--primary);margin-bottom:6px!important}
.cover{margin:0 0 24px;border-radius:var(--radius-lg);overflow:hidden}
.cover a{display:block}
.page-layout{display:grid;gap:32px;padding-bottom:40px}
@media (min-width:1000px){.page-layout{grid-template-columns:1fr 300px}}
.page-side{display:flex;flex-direction:column;gap:20px}
@media (min-width:1000px){.page-side{position:sticky;top:calc(var(--header-h) + 20px);align-self:start}}
.side-nav{background:var(--bg-alt);border-radius:var(--radius-lg);padding:18px}
.side-nav h2{font-size:1.1rem;margin-bottom:.5em}
.side-nav ul{list-style:none;margin:0;padding:0}
.side-nav a{display:flex;align-items:center;min-height:52px;padding:0 14px;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:600}
.side-nav a:hover{background:#fff}
.side-nav a[aria-current="page"]{background:var(--primary-2);color:#fff}
.side-call{border:2px solid var(--border);border-radius:var(--radius-lg);padding:18px;text-align:center}
.side-call p{margin:0 0 8px;font-weight:700}
.side-call .small{font-weight:400;margin-top:10px;color:var(--muted)}

/* 內文排版 */
.prose{font-size:1.06rem;line-height:1.95}
.prose h2{font-size:1.4rem;margin-top:1.8em;padding-bottom:.3em;border-bottom:2px solid var(--primary-100)}
.prose h3{font-size:1.2rem;margin-top:1.5em;color:var(--primary)}
.prose ul,.prose ol{padding-left:1.4em;margin:0 0 1.2em}
.prose li{margin:.35em 0}
.prose li::marker{color:var(--primary-2);font-weight:700}
.prose blockquote{margin:1.2em 0;padding:.8em 1.2em;background:var(--bg-alt);border-left:6px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0}
.prose img{border-radius:var(--radius)}
.prose .content-img{display:block;margin:1em 0;cursor:zoom-in}
.prose .ql-align-center{text-align:center}.prose .ql-align-right{text-align:right}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 1.4em;border:1px solid var(--border);border-radius:var(--radius)}
.table-wrap table{width:100%;border-collapse:collapse;min-width:560px;font-size:.98rem}
.table-wrap th,.table-wrap td{padding:.75em .9em;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.table-wrap thead th{background:var(--primary);color:#fff;font-weight:700;white-space:nowrap}
.table-wrap tbody tr:nth-child(even){background:var(--bg-alt)}
.table-wrap tbody tr:last-child td{border-bottom:0}

/* 分類 chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.chip{display:inline-flex;align-items:center;min-height:48px;padding:0 1.1em;border-radius:999px;border:2px solid var(--border);background:#fff;color:var(--ink);text-decoration:none;font-weight:700}
.chip:hover{border-color:var(--primary-2);color:var(--primary)}
.chip[aria-current="page"]{background:var(--primary-2);border-color:var(--primary-2);color:#fff}
.chips-label{margin:0 0 6px;color:var(--muted);font-size:.92rem}

.pager{display:flex;justify-content:center;align-items:center;gap:12px;margin:32px 0;flex-wrap:wrap}
.pager-info{font-weight:700;color:var(--ink-2)}

/* 上下則 */
.prev-next{display:grid;gap:12px;margin:28px 0}
@media (min-width:760px){.prev-next{grid-template-columns:1fr 1fr}}
.pn{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:2px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--ink)}
.pn:hover{border-color:var(--primary-2);background:var(--primary-50)}
.pn span{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:.9rem}
.pn-next{text-align:right;align-items:flex-end}
.related{margin-top:24px}

/* 課程 */
.course-facts{display:grid;gap:0;margin:8px 0 20px;border:2px solid var(--border);border-radius:var(--radius);overflow:hidden}
.course-facts>div{display:grid;grid-template-columns:6.5em 1fr;border-bottom:1px solid var(--border)}
.course-facts>div:last-child{border-bottom:0}
.course-facts dt{background:var(--bg-alt);padding:.8em 1em;font-weight:800;display:flex;gap:6px;align-items:center;color:var(--primary)}
.course-facts dd{margin:0;padding:.8em 1em;font-size:1.05rem}
.signup-cta{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 24px}
@media (max-width:559px){.signup-cta .btn{width:100%}}

/* 相簿 */
.gallery{list-style:none;margin:0 0 32px;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (min-width:760px){.gallery{grid-template-columns:repeat(3,1fr);gap:16px}}
@media (min-width:1100px){.gallery{grid-template-columns:repeat(4,1fr)}}
.gallery a{display:block;aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;background:var(--bg-alt);position:relative;cursor:zoom-in}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.gallery a:hover img{transform:scale(1.05)}
.g-cap{font-size:.88rem;color:var(--ink-2);margin:6px 2px 0;line-height:1.5}
.yt-facade{display:block;position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#000;cursor:pointer;margin:1em 0}
.gallery .yt-facade{aspect-ratio:1/1;margin:0}
.yt-facade img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity .2s}
.yt-facade:hover img{opacity:1}
.yt-play{position:absolute;inset:0;margin:auto;width:76px;height:76px;border-radius:50%;background:rgba(229,119,30,.92);color:#fff;display:grid;place-items:center;box-shadow:0 4px 16px rgba(0,0,0,.4)}
.yt-play .ico{width:38px;height:38px;margin-left:4px}

/* 下載 */
.dl-group{margin-bottom:12px}
.dl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.dl-item{display:flex;align-items:center;gap:14px;padding:14px 16px;min-height:72px;border:2px solid var(--border);border-radius:var(--radius);background:#fff;text-decoration:none;color:var(--ink)}
a.dl-item:hover{border-color:var(--primary-2);background:var(--primary-50)}
.dl-ext{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:12px;background:var(--primary-2);color:#fff;font-weight:800;font-size:.85rem}
.is-pending .dl-ext{background:var(--muted)}
.dl-title{flex:1;font-weight:700;font-size:1.05rem;display:flex;flex-direction:column;line-height:1.5}
.dl-title small{font-weight:400;color:var(--muted);font-size:.85rem}
.dl-act{flex:none;display:inline-flex;align-items:center;gap:4px;font-weight:700;color:var(--primary-2)}

/* 試算 */
.calc{background:#fff;border:2px solid var(--border);border-radius:var(--radius-lg);padding:20px;margin-top:8px}
@media (min-width:760px){.calc{padding:32px}}
.calc-step{margin-bottom:24px}
.calc-label{display:flex;align-items:center;gap:10px;font-size:1.15rem;font-weight:800;margin-bottom:10px}
.step-no{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--accent-ink);color:#fff;font-size:1rem;flex:none}
.big-select{width:100%;min-height:64px;font-size:1.25rem;font-weight:700;padding:0 16px;border:2px solid var(--primary-2);border-radius:var(--radius);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005f71' stroke-width='3'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center/24px;appearance:none;-webkit-appearance:none}
.stepper{display:inline-flex;align-items:stretch;border:2px solid var(--primary-2);border-radius:var(--radius);overflow:hidden}
.step-btn{width:68px;min-height:64px;border:0;background:var(--primary-50);color:var(--primary);font-size:2rem;font-weight:800;line-height:1}
.step-btn:hover{background:var(--primary-100)}
.stepper input{width:80px;border:0;border-left:2px solid var(--primary-2);border-right:2px solid var(--primary-2);text-align:center;font-size:1.6rem;font-weight:800;-moz-appearance:textfield}
.stepper input::-webkit-inner-spin-button{-webkit-appearance:none}
.calc-result{background:var(--primary);color:#fff;border-radius:var(--radius-lg);padding:20px 22px;margin:8px 0 14px}
.cr-row,.cr-total{display:flex;align-items:baseline;gap:8px;padding:.45em 0;border-bottom:1px solid rgba(255,255,255,.18)}
.cr-row span:first-child,.cr-total span:first-child{flex:1}
.cr-row strong{font-size:1.4rem;font-variant-numeric:tabular-nums}
.cr-total{border-bottom:0;padding-top:.8em}
.cr-total strong{font-size:2.3rem;color:#f9c77f;font-variant-numeric:tabular-nums;line-height:1.1}
.unit{font-size:.95rem}
.cr-2m{margin:6px 0 0;text-align:right;color:#fde3cc}
.salary-table tr.is-current td{background:var(--accent-50)!important;font-weight:800}

/* 搜尋 */
.search-form{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.search-form input{flex:1 1 240px;min-height:62px;border:2px solid var(--primary-2);border-radius:var(--radius);padding:0 16px;font-size:1.15rem}
.result-count{font-size:1.05rem}
.search-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.search-results a{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:2px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--ink)}
.search-results a:hover{border-color:var(--primary-2);background:var(--primary-50)}
.search-results .tag{align-self:flex-start}
.search-results strong{font-size:1.1rem}
.search-results span:last-child{color:var(--ink-2);font-size:.95rem}

/* 聯絡卡片 */
.contact-cards{display:grid;gap:14px}
@media (min-width:760px){.contact-cards{grid-template-columns:repeat(3,1fr)}}
.contact-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:24px 16px;border-radius:var(--radius-lg);border:2px solid var(--border);text-decoration:none;color:var(--ink);background:#fff}
.contact-card:hover{border-color:var(--primary-2);box-shadow:var(--shadow)}
.cc-ico{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--primary-50);color:var(--primary-2);margin-bottom:6px}
.cc-ico .ico,.cc-ico .ico-line{width:36px;height:36px}
.cc-call{background:var(--call);border-color:var(--call);color:#fff}
.cc-call .cc-ico{background:rgba(255,255,255,.18);color:#fff}
.cc-call:hover{color:#fff}
.cc-line .cc-ico{background:#e5f6ec;color:var(--line)}
.cc-t{font-weight:800;font-size:1.15rem}
.cc-v{font-size:1.3rem;font-weight:800;letter-spacing:.04em}
.cc-s{font-size:.88rem;opacity:.85}

/* ---------- 分享區塊 ---------- */
.share-box{margin:32px 0;padding:20px;border-radius:var(--radius-lg);background:var(--bg-alt);border:2px dashed var(--border)}
.share-h{display:flex;align-items:center;gap:8px;font-size:1.2rem;margin-bottom:12px}
.share-url label{display:block;font-weight:700;font-size:.92rem;color:var(--muted);margin-bottom:4px}
.share-url-row{display:flex;gap:8px;flex-wrap:wrap}
.share-url-row input{flex:1 1 220px;min-height:var(--tap);border:2px solid var(--border);border-radius:var(--radius);padding:0 14px;font-size:1.05rem;background:#fff;font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--primary)}
.share-actions{display:grid;gap:10px;margin-top:14px;grid-template-columns:1fr}
@media (min-width:640px){.share-actions{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}}
.share-preview{margin-top:12px;font-size:.9rem;color:var(--muted)}
.share-preview summary{cursor:pointer;min-height:40px;display:flex;align-items:center}
.share-preview pre{white-space:pre-wrap;background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px;font-family:inherit;color:var(--ink);margin:6px 0 0}

/* ---------- 頁尾 ---------- */
.site-footer{background:#e0570a;color:#fde3cc;margin-top:40px}
.footer-grid{display:grid;gap:28px;padding-top:44px;padding-bottom:32px}
@media (min-width:900px){.footer-grid{grid-template-columns:1.1fr 1.2fr 1fr}}
.site-footer a{color:#fff}
.brand-footer{color:#fff;margin-bottom:12px}
.brand-footer .logo-mark{background:#fff;padding:2px}
.brand-footer .brand-name{color:#fff}
.footer-h{color:#fff;font-size:1.08rem;margin:0 0 .7em}
.footer-contact{list-style:none;margin:0;padding:0}
.footer-contact li{display:flex;gap:10px;margin-bottom:12px}
.footer-contact .ico{margin-top:.3em;color:#ec9450}
.footer-contact small{color:#f6c193}
.footer-links{list-style:none;margin:0 0 1.2em;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:2px 16px}
.footer-links a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.footer-links a:hover{text-decoration:underline}
.footer-social{display:flex;gap:10px;flex-wrap:wrap}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:16px 0;font-size:.85rem;color:#f6c193}

/* ---------- 手機底部功能列 ---------- */
.action-bar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid var(--border);box-shadow:0 -4px 16px rgba(224,87,10,.1);padding-bottom:env(safe-area-inset-bottom)}
.action-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:68px;color:var(--ink);text-decoration:none;font-size:.85rem;font-weight:700}
.action-bar .ico,.action-bar .ico-line{width:28px;height:28px;color:var(--primary-2)}
.action-bar .ab-call{background:var(--call);color:#fff}
.action-bar .ab-call .ico{color:#fff}
.action-bar .ab-line .ico-line{color:var(--line)}
@media (min-width:900px){.action-bar{display:none}}

/* ---------- 回到頁首 ---------- */
.to-top{position:fixed;right:14px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:95;display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;border:3px solid #fff;background:var(--primary-2);color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25);font-size:.75rem;font-weight:800;line-height:1;opacity:0;transform:translateY(16px);transition:opacity .25s,transform .25s,background .15s;padding:0}
.to-top .ico{width:26px;height:26px;margin-bottom:1px}
.to-top.is-show{opacity:1;transform:none}
.to-top:hover{background:var(--primary)}
.to-top[hidden]{display:none}
@media (min-width:900px){.to-top{right:24px;bottom:24px;width:68px;height:68px}}

/* ---------- 提示訊息 ---------- */
.toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translate(-50%,20px);z-index:10001;background:#e0570a;color:#fff;padding:14px 22px;border-radius:14px;font-weight:700;font-size:1.02rem;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100% - 32px);text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.toast.is-show{opacity:1;transform:translate(-50%,0)}

/* ---------- 燈箱（照片、YouTube） ---------- */
.lb{position:fixed;inset:0;z-index:10000;background:rgba(224,87,10,.94);display:flex;flex-direction:column;opacity:0;transition:opacity .2s;touch-action:pan-y}
.lb.is-open{opacity:1}
.lb-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top));color:#fff}
.lb-count{font-weight:700;font-size:1rem;min-width:4em}
.lb-close{display:inline-flex;align-items:center;gap:6px;min-height:56px;padding:0 18px;border-radius:14px;border:2px solid rgba(255,255,255,.6);background:rgba(255,255,255,.1);color:#fff;font-weight:800;font-size:1.05rem}
.lb-close .ico{width:28px;height:28px}
.lb-close:hover{background:#fff;color:#000}
.lb-stage{flex:1;position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:0 8px}
.lb-stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;user-select:none;-webkit-user-drag:none;transition:opacity .2s}
.lb-stage img.is-loading{opacity:.2}
.lb-video{width:min(100%,1100px);aspect-ratio:16/9;max-height:100%}
.lb-video iframe{width:100%;height:100%;border:0;border-radius:8px;background:#000}
.lb-spinner{position:absolute;width:52px;height:52px;border:5px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spin-ccw{to{transform:rotate(-360deg)}}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:64px;height:64px;border-radius:50%;border:2px solid rgba(255,255,255,.55);background:rgba(0,0,0,.45);color:#fff;display:grid;place-items:center;z-index:2}
.lb-nav .ico{width:34px;height:34px}
.lb-nav:hover{background:#fff;color:#000}
.lb-prev{left:10px}.lb-next{right:10px}
@media (max-width:640px){.lb-nav{top:auto;bottom:12px;transform:none;width:58px;height:58px}}
.lb-cap{color:#fff;text-align:center;padding:12px 16px calc(14px + env(safe-area-inset-bottom));font-size:1.02rem;min-height:3em}
@media (max-width:640px){.lb-cap{padding-left:80px;padding-right:80px}}

/* ---------- 列印 ---------- */
@media print{
  .util-bar,.site-header,.action-bar,.to-top,.share-box,.notice-bar,.site-footer,#loader,.mobile-menu{display:none!important}
  body{padding:0;font-size:12pt}
  a{color:#000}
}

/* =========================================================
   AI 工具
   ========================================================= */
/* 首頁 AI 工具列 */
.ai-strip-wrap{padding-top:0}
.ai-strip{display:grid;gap:12px;grid-template-columns:1fr}
@media (min-width:760px){.ai-strip{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}
.ai-card{display:flex;align-items:center;gap:14px;padding:16px 18px;min-height:84px;border-radius:var(--radius-lg);border:2px solid var(--primary-100);background:linear-gradient(135deg,#fff 0%,var(--primary-50) 100%);color:var(--ink);text-decoration:none;text-align:left;font:inherit;cursor:pointer}
.ai-card:hover{border-color:var(--primary-2);box-shadow:var(--shadow);color:var(--ink)}
.ai-card strong{display:block;font-size:1.12rem}
.ai-card small{display:block;color:var(--ink-2);font-size:.9rem;line-height:1.5}
.ai-ico{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--primary-2);color:#fff}
.ai-ico .ico{width:28px;height:28px}
.ai-ico-warn{background:var(--accent-ink)}
.ai-ico-ok{background:var(--call)}

/* 底部功能列 5 格 */
.action-bar.has-5{grid-template-columns:repeat(5,1fr)}
.action-bar.has-5 a,.action-bar.has-5 button{font-size:.78rem}
.action-bar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:68px;border:0;background:none;color:var(--ink);font:inherit;font-weight:700;font-size:.85rem;padding:0}
.action-bar .ab-ai{color:var(--primary)}
.action-bar .ab-ai .ico{color:var(--primary-2)}

/* 浮動按鈕（桌機） */
.chat-fab{display:none}
@media (min-width:900px){
  .chat-fab{position:fixed;right:24px;bottom:104px;z-index:96;display:inline-flex;align-items:center;gap:8px;min-height:60px;padding:0 22px 0 18px;border-radius:999px;border:3px solid #fff;background:var(--accent-ink);color:#fff;font:inherit;font-weight:800;font-size:1.05rem;box-shadow:0 8px 24px rgba(0,0,0,.25);cursor:pointer}
  .chat-fab .ico{width:26px;height:26px}
  .chat-fab:hover{background:#e5771e}
  body.chat-open .chat-fab{display:none}
}

/* 對話面板 */
.chat-panel{position:fixed;z-index:9000;inset:0;display:flex;flex-direction:column;background:#fff;opacity:0;transform:translateY(16px);transition:opacity .2s,transform .2s}
.chat-panel.is-open{opacity:1;transform:none}
.chat-panel[hidden]{display:none}
@media (min-width:900px){.chat-panel{inset:auto 24px 24px auto;width:420px;height:min(680px,calc(100vh - 48px));border-radius:22px;box-shadow:0 20px 60px rgba(0,0,0,.3);border:1px solid var(--border);overflow:hidden}}
@media (max-width:899px){body.chat-open{overflow:hidden}}
.chat-head{display:flex;align-items:center;gap:12px;padding:12px 14px;padding-top:max(12px,env(safe-area-inset-top));background:var(--primary);color:#fff}
.chat-logo{width:40px;height:40px;border-radius:50%;background:#fff}
.chat-head h2{color:#fff;font-size:1.15rem;margin:0}
.chat-head p{margin:0;font-size:.82rem;color:#fde3cc}
.chat-close{margin-left:auto;display:inline-flex;align-items:center;gap:4px;min-height:48px;padding:0 14px;border-radius:12px;border:2px solid rgba(255,255,255,.6);background:transparent;color:#fff;font:inherit;font-weight:700}
.chat-close:hover{background:#fff;color:var(--primary)}
.chat-log{flex:1;overflow-y:auto;padding:16px 14px;background:var(--bg-alt);display:flex;flex-direction:column;gap:12px;-webkit-overflow-scrolling:touch}
.msg{max-width:88%;border-radius:18px;padding:12px 16px;font-size:1.05rem;line-height:1.75;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.msg p{margin:0}
.msg-bot{align-self:flex-start;background:#fff;border:1px solid var(--border);border-bottom-left-radius:6px}
.msg-user{align-self:flex-end;background:var(--primary-2);color:#fff;border-bottom-right-radius:6px}
.msg-links{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.msg-links a{display:flex;align-items:center;min-height:44px;padding:6px 12px;border-radius:10px;background:var(--primary-50);text-decoration:none;font-weight:700;font-size:.95rem}
.msg-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.msg-speak,.msg-call{display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:0 12px;border-radius:999px;border:2px solid var(--border);background:#fff;color:var(--ink-2);font:inherit;font-size:.88rem;font-weight:700;text-decoration:none;cursor:pointer}
.msg-speak.is-on{border-color:var(--accent-ink);color:var(--accent-ink)}
.msg-call{border-color:var(--call);color:var(--call)}
.msg-typing p{display:flex;gap:6px;padding:6px 2px}
.msg-typing span{width:9px;height:9px;border-radius:50%;background:var(--muted);animation:typing 1s infinite}
.msg-typing span:nth-child(2){animation-delay:.15s}.msg-typing span:nth-child(3){animation-delay:.3s}
@keyframes typing{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-4px)}}
.chat-suggest{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px 0;background:var(--bg-alt)}
.chat-suggest[hidden]{display:none}
.chat-suggest .chip{min-height:44px;font-size:.95rem;background:#fff;cursor:pointer}
.chat-form{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--border);background:#fff}
.chat-form textarea{flex:1;min-height:52px;max-height:140px;resize:none;border:2px solid var(--border);border-radius:14px;padding:12px 14px;font-size:1.05rem;line-height:1.5}
.chat-form textarea:focus{border-color:var(--primary-2);outline:none}
.chat-send,.chat-mic{min-width:52px;min-height:52px;padding:0;border-radius:14px}
.chat-call{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding-bottom:env(safe-area-inset-bottom);background:var(--call);color:#fff;font-weight:800;text-decoration:none}
.chat-call:hover{color:#fff;background:#e5771e}

/* 語音按鈕 */
.voice-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:52px;min-width:52px;padding:0 14px;border-radius:14px;border:2px solid var(--primary-2);background:#fff;color:var(--primary-2);font:inherit;font-weight:700;cursor:pointer}
.voice-btn[hidden]{display:none}
.voice-btn.is-on{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff;animation:lpulse 1s infinite}
.voice-wrap{position:relative}
.voice-wrap .voice-btn{position:absolute;right:10px;bottom:10px}

/* 朗讀按鈕 */
.read-btn{min-height:50px;margin-top:6px}
.read-btn.is-on{border-color:var(--accent-ink);color:var(--accent-ink);background:var(--accent-50)}

/* 工具頁 */
.tool-card{background:#fff;border:2px solid var(--border);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;gap:12px}
@media (min-width:760px){.tool-card{padding:28px}}
.tool-label{display:flex;align-items:center;gap:10px;font-size:1.15rem;font-weight:800;margin:6px 0 0;padding:0}
.tool-card textarea{width:100%;min-height:170px;border:2px solid var(--primary-2);border-radius:var(--radius);padding:14px 16px 70px;font-size:1.08rem;line-height:1.7;resize:vertical}
.file-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:64px;border:3px dashed var(--primary-100);border-radius:var(--radius);background:var(--primary-50);color:var(--primary);font-weight:800;font-size:1.05rem;cursor:pointer;padding:10px}
.file-btn-lg{min-height:96px;font-size:1.15rem}
.file-btn:hover{border-color:var(--primary-2)}
.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}
.tool-preview{max-height:320px;width:auto;margin:0 auto;border-radius:var(--radius);border:1px solid var(--border)}
.choice-group{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.choice{display:flex;align-items:center;gap:12px;min-height:58px;padding:0 16px;border:2px solid var(--border);border-radius:var(--radius);font-weight:700;font-size:1.05rem;cursor:pointer}
.choice input{width:24px;height:24px;accent-color:var(--primary-2)}
.choice:has(input:checked){border-color:var(--primary-2);background:var(--primary-50)}
.privacy-box{display:flex;gap:12px;align-items:flex-start;background:var(--accent-50);border:2px solid #f6c193;border-radius:var(--radius);padding:14px 16px;margin-bottom:16px;color:#e0570a}
.privacy-box .ico{width:28px;height:28px;flex:none;color:var(--accent-ink)}
.tool-result{margin-top:20px;border-radius:var(--radius-lg);padding:20px 22px;border:3px solid var(--border);background:#fff;font-size:1.05rem}
.tool-result:focus{outline:none}
.tool-result h3{font-size:1.1rem;margin:1em 0 .4em}
.tool-result ul{padding-left:1.3em;margin:0 0 .8em}
.tool-result li{margin:.3em 0}
.tool-result.is-loading{color:var(--ink-2);border-style:dashed}
.tool-result.is-error{border-color:var(--accent);background:var(--accent-50)}
.verdict{font-size:1.5rem;font-weight:800;margin:0 0 .2em}
.verdict-sub{font-weight:700;margin:0}
.lv-high{border-color:#e5771e;background:#fde3cc}
.lv-high .verdict{color:#e0570a}
.lv-warn{border-color:#e5771e;background:#fde3cc}
.lv-warn .verdict{color:#e5771e}
.lv-low{border-color:var(--call);background:#eaf7ef}
.lv-low .verdict{color:#e5771e}
.result-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.miss-list li::marker{content:"✏️ "}
.att-list li::marker{content:"📎 "}
.rules-list{padding-left:1.4em;font-size:1.05rem}
.rules-list li{margin:.6em 0}
.spin{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin-right:6px}

/* =========================================================
   線上報名
   ========================================================= */
.st-wait{background:#e5771e}
.card-seat{display:flex;gap:6px;align-items:center;font-weight:700;color:var(--call);margin:6px 0 0;font-size:.95rem}
.card-seat.is-low{color:var(--accent-ink)}
.reg{margin:24px 0;padding:20px;border:3px solid var(--primary-100);border-radius:var(--radius-lg);background:#fff}
@media (min-width:760px){.reg{padding:28px}}
.reg-h{display:flex;align-items:center;gap:8px;font-size:1.4rem;margin-bottom:14px}
.reg-status{background:var(--bg-alt);border-radius:var(--radius);padding:16px 18px;margin-bottom:16px}
.reg-bar{height:14px;border-radius:999px;background:#fde3cc;overflow:hidden;margin-bottom:12px}
.reg-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--call),#75c8ae);border-radius:999px}
.reg-full .reg-bar span,.reg-waitlist .reg-bar span{background:var(--accent-ink)}
.reg-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin:0 0 8px}
.reg-nums div{background:#fff;border-radius:12px;padding:8px 10px;text-align:center;border:1px solid var(--border)}
.reg-nums dt{font-size:.85rem;color:var(--muted);font-weight:700}
.reg-nums dd{margin:0;font-size:1.6rem;font-weight:800;color:var(--primary);font-variant-numeric:tabular-nums}
.reg-nums .is-low dd{color:var(--accent-ink)}
.reg-msg{margin:0;font-weight:700;font-size:1.05rem}
.reg-waitlist .reg-msg{color:#e5771e}.reg-full .reg-msg,.reg-closed .reg-msg{color:var(--muted)}
.reg-note{border-left:6px solid var(--accent);background:var(--accent-50);padding:12px 16px;border-radius:0 var(--radius) var(--radius) 0;margin-bottom:16px}
.reg-note strong{display:block;margin-bottom:4px}
.reg-note p:last-child{margin:0}
.reg-error{display:flex;gap:8px;align-items:flex-start;background:var(--accent-50);border:2px solid #f6c193;color:#e0570a;border-radius:var(--radius);padding:12px 16px;margin-bottom:14px;font-weight:700}
.reg-form{display:flex;flex-direction:column;gap:14px}
.reg-grid{display:grid;gap:14px}
@media (min-width:640px){.reg-grid{grid-template-columns:1fr 1fr}.reg-full{grid-column:1/-1}}
.reg-field{display:flex;flex-direction:column;gap:6px;font-weight:700}
.reg-field em{font-style:normal;font-size:.8rem;background:var(--accent-ink);color:#fff;padding:0 .5em;border-radius:6px;margin-left:4px;vertical-align:.1em}
.reg-field input,.reg-field select,.reg-field textarea,.big-input{min-height:58px;border:2px solid var(--border);border-radius:var(--radius);padding:10px 14px;font-size:1.1rem;font-weight:400;background:#fff;width:100%}
.reg-field textarea{min-height:80px}
.reg-field input:focus,.reg-field select:focus,.reg-field textarea:focus,.big-input:focus{border-color:var(--primary-2);outline:none}
.code-input{letter-spacing:.3em;font-weight:800;text-transform:uppercase;font-family:ui-monospace,Menlo,monospace}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.reg-privacy{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt)}
.reg-privacy summary{cursor:pointer;min-height:52px;display:flex;align-items:center;padding:0 16px;font-weight:700;color:var(--primary-2)}
.reg-privacy div{padding:0 16px 14px;font-size:.95rem;line-height:1.8;color:var(--ink-2)}
.reg-consent{display:flex;gap:12px;align-items:flex-start;font-weight:700;font-size:1.05rem;cursor:pointer;padding:12px 14px;border:2px solid var(--border);border-radius:var(--radius)}
.reg-consent:has(input:checked){border-color:var(--call);background:#eaf7ef}
.reg-consent input{width:26px;height:26px;flex:none;accent-color:var(--call);margin-top:2px}
.reg-phone{margin:16px 0 0;font-weight:700}
.reg-result{border-radius:var(--radius-lg);padding:20px 22px;margin-bottom:18px;border:3px solid var(--border);background:#fff}
.reg-result:focus{outline:none}
.reg-result.is-ok{border-color:var(--call);background:#eaf7ef}
.reg-result.is-wait{border-color:#e5771e;background:#fde3cc}
.reg-result.is-off{background:var(--bg-alt)}
.reg-result-h{font-size:1.4rem;font-weight:800;margin:0 0 6px}
.reg-code-label{margin:12px 0 2px;font-weight:700}
.reg-code{font-size:2.6rem;font-weight:800;letter-spacing:.25em;font-family:ui-monospace,Menlo,monospace;background:#fff;border:2px dashed var(--primary-2);border-radius:14px;padding:6px 16px;display:inline-block;margin:0 0 10px;color:var(--primary)}
.reg-actions{display:flex;flex-wrap:wrap;gap:10px}
@media print{.reg-form,.reg-status,.reg-note,.reg-phone,.share-box,.reg-actions{display:none!important}}
.reg-line-bind{margin-top:16px;padding:14px 16px;border-radius:var(--radius);background:#fff;border:2px dashed var(--line);display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.reg-line-bind p{margin:0}
.reg-line-bind code{font-size:1.05em;background:#eef8f1;padding:2px 8px;border-radius:6px;white-space:nowrap}

/* =========================================================
   首頁改版（v6）：滿版主視覺、彩色辦理卡、會員怎麼說、焦點課程、照片牆
   ========================================================= */
/* 波浪線背景（取自社徽的海浪）（SVG） */
:root{
  --circuit:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='160' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-opacity='.9'%3E%3Cpath d='M0 120c40-22 80-22 120-4s80 18 120 0 60-16 80-10'/%3E%3Cpath d='M0 140c40-16 80-16 120 0s80 16 120 0 60-12 80-8'/%3E%3C/svg%3E");
  --circuit-ink:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='160' fill='none' stroke='%23e18431' stroke-width='2' stroke-linecap='round' stroke-opacity='.5'%3E%3Cpath d='M0 120c40-22 80-22 120-4s80 18 120 0 60-16 80-10'/%3E%3Cpath d='M0 140c40-16 80-16 120 0s80 16 120 0 60-12 80-8'/%3E%3C/svg%3E");
}

/* ---------- 主視覺 ---------- */
.hero-v2{padding:0;background:#e0570a;min-height:auto;display:flex;flex-direction:column}
.hero-v2::after{display:none}
.hero-slides{position:absolute;inset:0;z-index:-3;overflow:hidden}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease}
.hero-slide.is-on{opacity:1}
.hero-slide picture,.hero-slide img{display:block;width:100%;height:100%}
.hero-slide img{object-fit:cover;object-position:62% 35%}
.hero-slide.is-on img{animation:hero-zoom 16s ease-out both}
@keyframes hero-zoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(224,87,10,.2) 0%,rgba(224,87,10,.55) 30%,rgba(224,87,10,.93) 52%,#e0570a 100%)}
.hero-circuit{position:absolute;inset:0;z-index:-1;background:var(--circuit) 0 0/240px;opacity:.07;-webkit-mask:linear-gradient(90deg,#000 0%,transparent 60%);mask:linear-gradient(90deg,#000 0%,transparent 60%);pointer-events:none}
.hero-inner{display:grid;gap:22px;padding-top:min(46vw,300px);padding-bottom:20px;position:relative}
.no-photo .hero-inner{padding-top:32px}
.no-photo .hero-shade{background:linear-gradient(135deg,#e5771e 0%,#e5771e 70%,#e5771e 100%)}
.hero-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;padding:5px 14px 5px 5px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);font-size:.92rem;font-weight:700;color:#fff;backdrop-filter:blur(4px)}
.hero-kicker .logo-mark{width:34px;height:34px;border-radius:50%;background:#fff;padding:1px}
.hero-v2 .hero-title{font-size:clamp(1.85rem,6vw,3.1rem);text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero-v2 .hero-sub{color:#fff8f0;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.hero-now{display:flex;flex-direction:column;gap:10px;align-self:end}
.now-item{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:var(--radius);background:rgba(255,255,255,.96);color:var(--ink);text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.25);border-left:6px solid var(--call);transition:transform .15s}
.now-item:hover{transform:translateX(4px);color:var(--ink)}
.now-item strong{font-size:1.1rem;line-height:1.45}
.now-item small{font-size:.9rem;color:var(--ink-2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.now-badge{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;font-size:.82rem;font-weight:800;color:#fff;background:var(--call);padding:.15em .7em;border-radius:999px;margin-bottom:2px}
.now-badge .ico{width:16px;height:16px}
.now-badge.is-next{background:var(--primary-2)}
.now-item:has(.is-next){border-left-color:var(--primary-2)}
.now-badge.is-course{background:var(--accent-ink)}
.now-item:has(.is-course){border-left-color:var(--accent-ink)}
.hero-ctrl{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:84px;position:relative}
.hero-cap{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:.85rem;color:#fde3cc;max-width:60%}
.hero-cap .ico{width:16px;height:16px;flex:none}
.hero-cap span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-dots{display:flex;align-items:center;gap:8px;margin-left:auto}
.hero-dot{width:14px;height:14px;border-radius:50%;border:2px solid #fff;background:transparent;padding:0;cursor:pointer;position:relative}
.hero-dot::before{content:"";position:absolute;inset:-12px}
.hero-dot.is-on{background:#fff;width:34px;border-radius:8px}
.hero-pause{display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.25);color:#fff;font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}
.hero-pause .ico{width:16px;height:16px}
.hero-pause:hover{background:rgba(0,0,0,.45)}
.hero-curve{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:36px;fill:var(--bg);pointer-events:none}
.hero-v2:not(:has(.hero-ctrl)) .hero-inner{padding-bottom:96px}
@media (min-width:900px){
  .hero-v2{min-height:clamp(600px,80vh,780px);justify-content:center}
  .hero-shade{background:linear-gradient(90deg,rgba(224,87,10,.95) 0%,rgba(224,87,10,.86) 34%,rgba(224,87,10,.35) 62%,rgba(224,87,10,.12) 100%),linear-gradient(0deg,rgba(224,87,10,.55) 0%,transparent 30%)}
  .hero-inner{grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:end;padding-top:72px;padding-bottom:28px;flex:1;align-content:center}
  .hero-text{max-width:640px}
  .hero-ctrl{padding-bottom:104px}
  .hero-curve{height:60px}
  .hero-slide img{object-position:70% 40%}
}
@media (max-width:899px){.hero-cap{max-width:100%}.hero-dots{margin-left:0}}
@media (prefers-reduced-motion:reduce){.hero-slide.is-on img{animation:none}.hero-slide{transition:none}}
html[data-contrast="high"] .hero-shade{background:#000!important}
html[data-contrast="high"] .hero-slides,html[data-contrast="high"] .hero-circuit{display:none}
html[data-contrast="high"] .now-item{border:3px solid #000}

/* 數字列：跑數動畫 */
.page-home .stats{border:0;box-shadow:0 10px 40px rgba(224,87,10,.16)}
.page-home .stat-n{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
html[data-contrast="high"] .page-home .stat-n{background:none;color:#000}
.page-home .stat-n small{-webkit-text-fill-color:var(--accent-ink)}

/* ---------- 彩色辦理卡 ---------- */
.tiles>li{--c:#e5771e;--c50:#fff8e6;--c100:#ffecb4}
.tiles>.c-green{--c:#e5771e;--c50:#e8f6ee;--c100:#dcdbdb}
.tiles>.c-orange{--c:#e5771e;--c50:#fff8e6;--c100:#f6c193}
.tiles>.c-teal{--c:#3a9479;--c50:#e6f5f3;--c100:#b9e3d6}
.tiles>.c-purple{--c:#c24a06;--c50:#f2edfd;--c100:#cdc9ca}
.tiles>.c-red{--c:#e5771e;--c50:#fde3cc;--c100:#ffecb4}
.tiles>.c-slate{--c:#c24a06;--c50:#eff2f6;--c100:#fde3cc}
.tiles>.c-indigo{--c:#e0570a;--c50:#eceefd;--c100:#cdc9ca}
.page-home .tile{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--c50) 0%,#fff 75%);border-color:var(--c100);transition:transform .18s,box-shadow .18s,border-color .18s}
.page-home .tile::after{content:"";position:absolute;right:-26px;top:-26px;width:90px;height:90px;border-radius:50%;background:var(--c);opacity:.07;transition:transform .3s}
.page-home .tile:hover{border-color:var(--c);transform:translateY(-5px);box-shadow:0 14px 30px -10px var(--c)}
.page-home .tile:hover::after{transform:scale(1.6)}
.page-home .tile-ico{background:var(--c);color:#fff;box-shadow:0 6px 14px -4px var(--c);transition:transform .18s}
.page-home .tile:hover .tile-ico{transform:scale(1.08) rotate(-4deg)}
.page-home .tile-s{color:var(--ink-2)}
@media (min-width:760px){.page-home .tile{min-height:178px;padding-top:26px}.page-home .tile-ico{width:76px;height:76px}.page-home .tile-ico .ico{width:38px;height:38px}.page-home .tile-t{font-size:1.22rem}}
html[data-contrast="high"] .tiles>li{--c:#000;--c50:#fff;--c100:#000}

/* 「我是…」快速選項 */
.life{margin-top:22px;padding:18px;border-radius:var(--radius-lg);background:var(--bg-alt);border:2px dashed var(--primary-100)}
.life-q{margin:0 0 10px;font-weight:800;font-size:1.1rem;color:var(--primary)}
.life-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.life-chip{display:inline-flex;align-items:center;min-height:52px;padding:.4em 1.1em;border-radius:999px;background:#fff;border:2px solid var(--primary-100);color:var(--ink);font-weight:700;font-size:1.02rem;text-decoration:none;transition:background .15s,border-color .15s,color .15s}
.life-chip:hover{border-color:var(--primary-2);color:var(--primary-2)}
.life-chip[aria-expanded="true"]{background:var(--primary-2);border-color:var(--primary-2);color:#fff}
.life-ans{margin-top:14px;padding:16px 18px;border-radius:var(--radius);background:#fff;border-left:6px solid var(--call);box-shadow:var(--shadow);animation:life-in .25s ease}
.life-ans p{margin:0 0 12px;font-size:1.05rem}
.life-ans-t{display:flex;align-items:center;gap:8px;color:var(--call)}
.life-ans-t strong{color:var(--ink);font-size:1.12rem}
@keyframes life-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (max-width:759px){.life{padding:14px}.life-chip{min-height:48px;font-size:.98rem}}

/* 區塊之間：交錯底色加電路紋與弧線分隔 */
.page-home .section-alt{position:relative;background-color:var(--bg-alt);background-image:var(--circuit-ink);background-size:300px;background-repeat:no-repeat;background-position:right -60px top -40px;background-blend-mode:normal}
.page-home .section-alt::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg-alt) 55%,rgba(243,246,250,.9) 100%);pointer-events:none}
.page-home .section-alt>.container{position:relative}
.page-home .section-alt{border-radius:48px 48px 0 0;margin-top:-24px}
@media (max-width:759px){.page-home .section-alt{border-radius:28px 28px 0 0;margin-top:-16px}}
html[data-contrast="high"] .page-home .section-alt{background-image:none;border-radius:0;margin-top:0}

/* ---------- 會員怎麼說 ---------- */
.section-voice{background:linear-gradient(135deg,#e0570a 0%,#e5771e 100%);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.section-voice::after{content:"";position:absolute;inset:0;background:var(--circuit) 0 0/240px;opacity:.06;z-index:-1}
.section-voice .section-title{color:#fff}
.section-voice .section-title::before{background:#ffecb4}
.voices{list-style:none;margin:0;padding:0;display:grid;gap:18px}
@media (min-width:760px){.voices-2,.voices-3{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.voices-3{grid-template-columns:repeat(3,1fr)}}
.voice{background:#fff;color:var(--ink);border-radius:var(--radius-lg);padding:26px 22px 20px;display:flex;flex-direction:column;gap:16px;position:relative;box-shadow:0 14px 40px rgba(0,0,0,.2)}
.voice blockquote{margin:0;position:relative;padding-top:22px}
.voice blockquote::before{content:"“";position:absolute;top:-22px;left:-4px;font-size:4.4rem;line-height:1;color:var(--accent);font-family:Georgia,serif}
.voice blockquote p{margin:0;font-size:1.12rem;line-height:1.8}
.voice-who{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid var(--border)}
.voice-img,.voice-who picture img{width:58px;height:58px;border-radius:50%;object-fit:cover;flex:none}
.voice-initial{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;flex:none;background:linear-gradient(135deg,var(--primary-2),var(--primary));color:#fff;font-size:1.5rem;font-weight:800}
.voice-who span{display:flex;flex-direction:column}
.voice-who strong{font-size:1.05rem}
.voice-who small{color:var(--muted);font-size:.88rem}
html[data-contrast="high"] .section-voice{background:#fff;color:#000}
html[data-contrast="high"] .section-voice .section-title{color:#000}
html[data-contrast="high"] .voice{border:3px solid #000;box-shadow:none}

/* ---------- 名額進度條 ---------- */
.seatbar{margin:10px 0 4px}
.seatbar-track{height:12px;border-radius:999px;background:#fde3cc;overflow:hidden}
.seatbar-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#e5771e,#75c8ae)}
.seatbar.is-low .seatbar-track span{background:linear-gradient(90deg,#e5771e,#e5771e)}
.seatbar-t{display:flex;justify-content:space-between;gap:8px;margin:6px 0 0;font-size:.9rem;color:var(--ink-2)}
.seatbar-t b{font-size:1.1em;color:var(--ink)}
.seatbar.is-low .seatbar-t span:last-child b{color:var(--accent-ink)}
.course-card .card-seat+.seatbar{margin-top:6px}

/* ---------- 焦點課程 ---------- */
.cf{display:grid;background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border)}
@media (min-width:760px){.cf{grid-template-columns:300px 1fr}}
.cf-date{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:26px 16px;color:#fff;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-2) 100%);overflow:hidden;isolation:isolate;min-height:180px}
.cf-date::before{content:"";position:absolute;inset:0;background:var(--circuit) 0 0/200px;opacity:.12;z-index:-1}
.cf-m{font-size:1.2rem;font-weight:700;opacity:.9}
.cf-d{font-size:clamp(4rem,10vw,5.6rem);font-weight:800;line-height:1}
.cf-w{font-size:1.05rem;opacity:.9}
.cf-photo{position:absolute;inset:0;z-index:-2}
.cf-photo img,.cf-photo picture{width:100%;height:100%;object-fit:cover;display:block}
.cf-photo+*{}
.cf-date:has(.cf-photo)::after{content:"";position:absolute;inset:0;background:rgba(224,87,10,.6);z-index:-1}
.cf-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:4px}
.cf-body .card-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cf-body .status{position:static}
.cf-title{font-size:clamp(1.3rem,3vw,1.6rem);font-weight:800;margin:4px 0 8px;line-height:1.45}
.cf-title a{color:var(--ink);text-decoration:none}
.cf-title a:hover{color:var(--primary-2);text-decoration:underline}
.cf-count{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin:8px 0 0;padding:.3em .9em;border-radius:999px;background:var(--accent-50);color:var(--accent-ink);font-weight:700}
.cf-count b{font-size:1.25em}
.cf-actions{margin:14px 0 0}
@media (max-width:559px){.cf-actions .btn{width:100%}.cf-date{min-height:150px;flex-direction:row;gap:12px}.cf-d{font-size:3.6rem}}

/* ---------- 照片牆 ---------- */
.wall{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}
.wall-big{grid-column:span 2;grid-row:span 2}
@media (min-width:760px){
  .wall{gap:14px;grid-auto-rows:190px}
  .wall-5{grid-template-columns:repeat(4,1fr)}
  .wall-4{grid-template-columns:2fr 1fr 1fr}.wall-4 .wall-big{grid-column:auto}.wall-4 .wall-item:last-child{grid-column:span 2}
  .wall-3{grid-template-columns:2fr 1fr}.wall-3 .wall-big{grid-column:auto}
}
@media (max-width:759px){.wall-4 .wall-item:last-child{grid-column:span 2}}
.wall-item a{position:relative;display:block;height:100%;border-radius:var(--radius);overflow:hidden;background:var(--primary-50);color:#fff;text-decoration:none}
.wall-item img,.wall-item picture{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.wall-item a:hover img{transform:scale(1.06)}
.wall-cap{position:absolute;left:0;right:0;bottom:0;padding:28px 12px 10px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.78));display:flex;flex-direction:column}
.wall-cap strong{font-size:.98rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wall-cap small{font-size:.8rem;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wall-big .wall-cap strong{font-size:1.2rem}
.wall-item:not(.wall-big) .wall-cap small{display:none}
.wall-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:rgba(229,119,30,.92);display:grid;place-items:center}
.wall-albums{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.wall-albums a{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:.3em 1em;border-radius:999px;background:#fff;border:1px solid var(--border);color:var(--ink);text-decoration:none;font-weight:700;font-size:.95rem}
.wall-albums a:hover{border-color:var(--primary-2);color:var(--primary-2)}
.wall-albums small{color:var(--muted);font-weight:400}
.wall-albums .ico{color:var(--primary-2)}

/* ---------- 問與答＋找不到答案 ---------- */
.faq-home{display:grid;gap:20px;align-items:start}
@media (min-width:900px){.faq-home{grid-template-columns:minmax(0,1fr) 320px;gap:28px}.faq-help{position:sticky;top:calc(var(--header-h) + 16px)}}
.faq-help{background:#fff;border-radius:var(--radius-lg);padding:22px;border:2px solid var(--primary-100);display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow)}
.faq-help h3{margin:0;font-size:1.25rem}
.faq-help p{margin:0 0 4px;color:var(--ink-2)}
.faq-help .faq-help-t{display:flex;gap:6px;align-items:flex-start;font-size:.9rem;color:var(--muted);margin-top:4px}
.faq-help .faq-help-t .ico{flex:none;margin-top:.25em}

/* ---------- 捲動淡入（只在有 JS、且沒有設定減少動態時） ---------- */
.js-reveal .reveal{transition:opacity .7s ease,transform .7s ease;transition-delay:var(--d,0s)}
.js-reveal .reveal:not(.is-in){opacity:0;transform:translateY(22px)}
.js-reveal .reveal.is-in{opacity:1;transform:none}
@media print{.js-reveal .reveal{opacity:1!important;transform:none!important}}
.action-bar .ab-join{color:var(--accent-ink)}
.action-bar .ab-join .ico{color:var(--accent-ink)}
.hero-pause [hidden]{display:none}
/* 本月可辦理：放在文字欄下方，不擋住照片中的人物 */
.hero-now{display:grid;gap:10px;margin-top:18px;align-self:auto}
@media (min-width:640px){.hero-now:has(.now-item+.now-item){grid-template-columns:1fr 1fr}}
.now-item{padding:12px 14px}
.now-item strong{font-size:1.04rem}
@media (min-width:900px){
  .hero-v2{min-height:clamp(560px,74vh,720px)}
  .hero-inner{grid-template-columns:minmax(0,680px);padding-top:56px}
  .hero-text{max-width:680px}
}
@media (min-width:900px){.hero-slide img{object-position:72% 78%}.hero-v2 .hero-title{font-size:clamp(2rem,3.4vw,2.8rem)}}
.hero-slide img{object-position:65% 70%}
/* 手機：照片放在主視覺上方一條，人物完整露出；文字在深藍底上，最好讀 */
@media (max-width:899px){
  .hero-slides{bottom:auto;height:min(64vw,380px)}
  .hero-slide img{object-position:60% 62%}
  .hero-shade{background:linear-gradient(180deg,rgba(224,87,10,0) 0,rgba(224,87,10,0) calc(min(64vw,380px) - 120px),#e0570a min(64vw,380px),#e0570a 100%)}
  .hero-inner{padding-top:calc(min(64vw,380px) - 56px)}
  .hero-kicker{font-size:.85rem}
}
@media (max-width:759px){
  .page-home .tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;min-height:128px;padding:14px 8px 12px}
  .page-home .tile-ico{width:52px;height:52px;grid-row:auto}
  .page-home .tile-ico .ico{width:28px;height:28px}
  .page-home .tile-t{font-size:1.02rem;line-height:1.35}
  .page-home .tile-s{font-size:.8rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
}

/* =========================================================
   頁尾改版：聯絡行動區＋分組選單
   ========================================================= */
.footer-cta{position:relative;z-index:2;margin-top:48px;margin-bottom:-64px}
.fcta-box{display:grid;gap:18px;align-items:center;padding:24px;border-radius:var(--radius-lg);color:#fff;background:linear-gradient(120deg,#e5771e 0%,#e5771e 45%,#e5771e 100%);box-shadow:0 18px 40px -12px rgba(229,119,30,.55);position:relative;overflow:hidden;isolation:isolate}
.fcta-box::before{content:"";position:absolute;inset:0;background:var(--circuit) 0 0/220px;opacity:.12;z-index:-1}
.fcta-box::after{content:"";position:absolute;right:-60px;bottom:-90px;width:260px;height:260px;border-radius:50%;border:40px solid rgba(255,255,255,.08);z-index:-1}
.fcta-text h2{color:#fff;font-size:clamp(1.35rem,3.2vw,1.75rem);margin:0 0 6px}
.fcta-text p{display:flex;gap:8px;align-items:flex-start;margin:0;color:#fde3cc;font-size:.98rem}
.fcta-text p .ico{flex:none;margin-top:.3em}
.fcta-actions{display:flex;flex-wrap:wrap;gap:10px}
.fcta-actions .btn{min-height:64px}
.fcta-actions .btn-call{background:#fff;color:var(--call);border-color:#fff}
.fcta-actions .btn-call:hover{background:#eaf7ef;color:#e5771e}
.fcta-actions .btn-call span{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}
.fcta-actions .btn-call strong{font-size:1.25rem;letter-spacing:.04em}
.fcta-actions .btn-line{border:2px solid rgba(255,255,255,.75)}
.fcta-actions .btn-light{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.85)}
.fcta-actions .btn-light:hover{background:#fff;color:var(--accent-ink)}
@media (min-width:1000px){.fcta-box{grid-template-columns:1fr auto;padding:30px 36px}}
@media (max-width:559px){.fcta-actions .btn{width:100%;justify-content:flex-start}.footer-cta{margin-top:32px}}

.site-footer{position:relative;margin-top:0;padding-top:64px;background:linear-gradient(180deg,#e0570a 0%,#e0570a 100%);overflow:hidden;isolation:isolate}
.footer-circuit{position:absolute;inset:0;background:var(--circuit) 0 0/260px;opacity:.04;z-index:-1;pointer-events:none}
.footer-grid{padding-top:36px;padding-bottom:28px;gap:32px}
@media (min-width:900px){.footer-grid{grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) 1.6fr;gap:40px}}
.brand-footer{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-footer .logo-mark{width:64px;height:64px}
.brand-footer .brand-name{display:flex;flex-direction:column;font-size:1.15rem;line-height:1.35}
.brand-footer .brand-name small{font-size:.78rem;font-weight:400;color:#f6c193;letter-spacing:.02em}
.footer-intro{color:#fde3cc;font-size:.95rem;margin:12px 0}
.footer-ids{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.footer-ids div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:6px 12px}
.footer-ids dt{font-size:.75rem;color:#f6c193}
.footer-ids dd{margin:0;font-weight:700;color:#fff;letter-spacing:.04em}
.footer-social{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.soc{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);color:#fff;text-decoration:none;font-weight:700;font-size:.95rem}
.soc:hover{background:#fff;color:var(--primary)}
.soc .ico,.soc .ico-line{width:22px;height:22px}
.soc-line .ico-line{color:#f9c77f}
.soc-fb .ico{color:#f9c77f}
.soc:hover .ico{color:#2a7a63}
.footer-h{position:relative;padding-bottom:.5em;margin-bottom:.8em;font-size:1.05rem}
.footer-h::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:3px;border-radius:2px;background:var(--accent)}
.footer-contact li{margin-bottom:14px;line-height:1.6}
.footer-contact li>span{display:flex;flex-direction:column}
.footer-contact small{font-size:.78rem;color:#f6c193;letter-spacing:.06em}
.footer-contact em{font-style:normal;font-size:.85rem;color:#fde3cc;margin-top:2px}
.footer-contact a{text-underline-offset:3px}
.footer-contact .ft-big{font-size:1.4rem;font-weight:800;letter-spacing:.05em;text-decoration:none}
.footer-contact .ft-big:hover{text-decoration:underline}
.footer-contact .ico{color:var(--on-dark-accent)}
.footer-nav{display:grid;gap:8px 28px;grid-template-columns:1fr 1fr}
.footer-gov{grid-column:1/-1}
@media (min-width:1100px){.footer-nav{grid-template-columns:1fr 1fr 1fr}.footer-gov{grid-column:auto}}
.footer-links{grid-template-columns:1fr;gap:0}
.footer-gov .footer-links{grid-template-columns:1fr 1fr}
@media (min-width:1100px){.footer-gov .footer-links{grid-template-columns:1fr}}
.footer-links a{color:#fde3cc;min-height:42px;gap:6px;position:relative}
.footer-links a::before{content:"";width:5px;height:5px;border-radius:50%;background:#f6b24f;flex:none;opacity:.8}
.footer-links-ext a::before{display:none}
.footer-links a:hover{color:#fff}
.ico-ext{width:14px;height:14px;opacity:.6}
.footer-bottom{background:rgba(0,0,0,.18);padding:14px 0}
.footer-bottom-in{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between}
.footer-bottom-in p{margin:0}
.footer-legal{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px}
.footer-legal a,.ft-a11y{color:#fde3cc;font-size:.85rem;text-decoration:none;min-height:40px;display:inline-flex;align-items:center}
.footer-legal a:hover,.ft-a11y:hover{color:#fff;text-decoration:underline}
.ft-a11y{background:none;border:0;padding:0;font:inherit;font-size:.85rem;cursor:pointer}
@media (min-width:900px){.footer-bottom-in{padding-right:120px}}
html[data-contrast="high"] .fcta-box{background:#000;box-shadow:none}
html[data-contrast="high"] .site-footer{background:#000}
html[data-contrast="high"] .footer-circuit,html[data-contrast="high"] .fcta-box::before{display:none}
@media print{.footer-cta{display:none}}
@media (min-width:900px){.footer-grid{grid-template-columns:280px 290px 1fr;gap:36px}}
@media (min-width:900px) and (max-width:1099px){.footer-grid{grid-template-columns:1fr 1fr}.footer-nav{grid-column:1/-1;grid-template-columns:1fr 1fr 1fr}.footer-gov{grid-column:auto}.footer-gov .footer-links{grid-template-columns:1fr}}
@media (min-width:1100px){.footer-nav{grid-template-columns:auto auto auto;justify-content:space-between}}
.footer-links a{white-space:nowrap}
.brand-footer .logo-mark{width:56px;height:56px}
.fcta-text h2{text-wrap:balance}
@media (min-width:1000px){.fcta-box{grid-template-columns:minmax(0,1fr) auto;gap:28px}.fcta-actions{flex-wrap:nowrap}}
@media (max-width:899px){.footer-bottom-in{padding-right:76px}}
@media (min-width:1000px){.fcta-text h2{white-space:nowrap}.fcta-text p{font-size:.92rem}.fcta-actions .btn{padding:.55em 1.15em;font-size:1.08rem}.fcta-actions .btn-call strong{font-size:1.15rem}}

/* ---------- 會員商品・服務推薦卡片 ---------- */
.partners{align-items:stretch}
.partner{display:flex;flex-direction:column;gap:14px;padding:22px;position:relative;overflow:hidden;transition:box-shadow .18s,transform .18s,border-color .18s}
.partner::before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:linear-gradient(90deg,var(--primary-2),#e5771e)}
.partner:hover{box-shadow:var(--shadow);border-color:var(--primary-100);transform:translateY(-3px)}
.pt-head{display:flex;gap:14px;align-items:center}
.pt-logo{width:72px;height:72px;border-radius:18px}
.pt-logo.has-img{background:#fff;padding:6px}
.pt-name{font-size:1.2rem;line-height:1.4;margin:0 0 6px}
.pt-meta{margin:0}
.pt-no{display:inline-flex;align-items:center;gap:4px}
.pt-no .ico{width:16px;height:16px}
.pt-sum{margin:0;font-size:1rem;line-height:1.8}
.pt-sum.is-clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.pt-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.pt-points li{position:relative;padding-left:30px;line-height:1.65;font-size:.98rem;color:var(--ink-2)}
.pt-points li::before{content:"";position:absolute;left:0;top:.28em;width:20px;height:20px;border-radius:50%;background:var(--primary-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005f71' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat}
.pt-points strong{display:block;color:var(--ink);font-size:1.02rem}
.pt-more{display:inline-flex;align-items:center;gap:4px;font-weight:700;font-size:.95rem;color:var(--primary-2);min-height:40px;align-self:flex-start}
.pt-more .ico{width:18px;height:18px}
.pt-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:14px;border-top:1px dashed var(--border)}
.pt-links .btn{flex:1 1 auto;justify-content:center}
@media (min-width:760px){.pt-links .btn{flex:0 0 auto}}
html[data-contrast="high"] .partner::before{background:#000}

/* =========================================================
   Rovix 風格改版（版型參考 Rovix，配色採用國際崇她品牌色：桃花心木紅、金黃、橘、青藍）
   桃花心木紅＝主色、橘／金＝重點色
   ========================================================= */
:root{
  --navy:#e0570a; --navy-2:#e0570a; --navy-3:#e0570a;
  --red:#e5771e; --red-ink:#e5771e; --red-50:#fde3cc;
  --sand:#fffaf3; --sand-2:#fde3cc;
  --latin:"Urbanist",system-ui,sans-serif;
  --radius:12px; --radius-lg:24px;
}
html[data-contrast="high"]{--navy:#000;--navy-2:#000;--navy-3:#000;--red:#ffd400;--red-ink:#000;--red-50:#fff;--sand:#fff;--sand-2:#fff}
body{font-family:var(--latin),var(--font)}
h1,h2,h3,.section-title,.page-title{color:var(--navy)}
html[data-contrast="high"] h1,html[data-contrast="high"] h2,html[data-contrast="high"] h3{color:#000}

/* ---------- 頂端資訊列＋頁首（深藍） ---------- */
.notice-bar{background:#ffecb4;border-bottom:1px solid #f6b24f;color:#e0570a}
.notice-bar strong{background:var(--red-ink)}
.notice-bar a{color:#e0570a}
.util-bar{background:var(--red-ink)}
.site-header{background:var(--navy);border-bottom:0;box-shadow:0 6px 24px -12px rgba(224,87,10,.6);backdrop-filter:none}
.site-header::after{display:none}
.brand{color:#fff}
.brand .logo-mark{background:#fff;padding:2px}
.brand-sub{color:#f6c193}
.header-search{color:#fff}
.header-search:hover{background:rgba(255,255,255,.1)}
.menu-toggle{background:transparent;border-color:rgba(255,255,255,.7);color:#fff}
.menu-toggle[aria-expanded="true"]{background:#fff;color:var(--navy)}
@media (min-width:1180px){
  .nav-top{color:#fff}
  .nav-top:hover,.has-sub.open>.nav-top{background:rgba(255,255,255,.1);color:#fff}
  .nav-top[aria-current="page"]{color:#fff;box-shadow:inset 0 -3px 0 var(--red)}
  .nav-cta{background:#fff!important;color:var(--navy)!important;padding:0 6px 0 16px!important;gap:12px;border-radius:12px}
  .nav-cta::after{content:"";width:40px;height:40px;border-radius:9px;background:var(--red) var(--arrow) center/18px no-repeat}
  .nav-cta:hover{background:var(--sand-2)!important}
}
html[data-contrast="high"] .site-header{background:#000}

/* 箭頭圖示（按鈕右側方塊） */
:root{--arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E")}

/* ---------- 按鈕 ---------- */
.btn{border-radius:12px;font-family:var(--latin),var(--font)}
.btn-go{padding-right:8px!important;gap:12px}
.btn-go::after{content:"";flex:none;width:44px;height:44px;border-radius:10px;background:rgba(255,255,255,.2) var(--arrow) center/20px no-repeat;transition:transform .2s}
.btn-go:hover::after{transform:rotate(45deg)}
.btn-light.btn-go::after{background-color:var(--red)}
.fcta-actions .btn-light.btn-go::after{background-color:rgba(255,255,255,.2)}
@media (prefers-reduced-motion:reduce){.btn-go:hover::after{transform:none}}

/* ---------- 膠囊小標籤＋區塊標題 ---------- */
.eyebrow-pill{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;padding:.32em 1em .32em .4em;border-radius:999px;background:var(--red-50);color:var(--red-ink);font-weight:800;font-size:.9rem;letter-spacing:.06em}
.eyebrow-pill span{font-family:var(--latin);font-size:.78rem;letter-spacing:.12em;background:var(--red-ink);color:#fff;border-radius:999px;padding:.15em .8em}
.eyebrow-pill.on-dark{background:rgba(255,255,255,.12);color:#fff}
.section-title{font-size:clamp(1.65rem,4vw,2.45rem);font-weight:800;padding-left:0;letter-spacing:.04em;line-height:1.3}
.section-title::before{display:none}
.section-head{align-items:flex-end;margin-bottom:6px}
.section-head .section-title{margin-bottom:.6em}
.more{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:var(--navy);text-decoration:none;padding:.35em .4em .35em 1em;border:2px solid var(--sand-2);border-radius:999px;min-height:48px}
.more .ico{width:32px;height:32px;padding:7px;border-radius:50%;background:var(--navy);color:#fff}
.more:hover{border-color:var(--navy)}
.section-voice .eyebrow-pill{background:rgba(255,255,255,.14);color:#fff}
.section-voice .eyebrow-pill span{background:#fff;color:var(--navy)}

/* ---------- 編號服務卡（辦理卡） ---------- */
.page-home .tile{background:#fff;border:1px solid var(--sand-2);border-radius:24px;box-shadow:0 10px 30px -18px rgba(224,87,10,.35)}
.page-home .tile::after{right:auto;left:50%;top:auto;bottom:-60px;width:160px;height:120px;margin-left:-80px;border-radius:50%;opacity:.06}
.tile-no{position:absolute;top:12px;right:16px;font-family:var(--latin);font-weight:800;font-size:2.4rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--c,#e0570a);opacity:.35}
.page-home .tile:hover{background:linear-gradient(180deg,#fff 0%,var(--c50) 100%)}
@media (max-width:759px){.tile-no{font-size:1.4rem;top:8px;right:10px}}
html[data-contrast="high"] .tile-no{-webkit-text-stroke-color:#000;opacity:1}

/* 交錯底色改為淺灰藍（Rovix 的淺色區塊） */
.page-home .section-alt{background-color:var(--sand)}
.page-home .section-alt::before{background:linear-gradient(90deg,var(--sand) 55%,rgba(255,250,243,.9) 100%)}

/* ---------- 內頁大圖橫幅 ---------- */
.page-banner{position:relative;isolation:isolate;color:#fff;background:var(--navy) var(--banner-img) center 35%/cover no-repeat;overflow:hidden}
.page-banner::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(224,87,10,.94) 0%,rgba(224,87,10,.82) 45%,rgba(224,87,10,.6) 100%)}
.page-banner::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--circuit) 0 0/240px;opacity:.07}
.page-banner-in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding-top:clamp(34px,6vw,64px);padding-bottom:clamp(30px,5vw,56px)}
.page-banner-title{margin:0;font-weight:800;font-size:clamp(1.9rem,5.4vw,3.2rem);letter-spacing:.06em;line-height:1.25;text-wrap:balance;text-shadow:0 2px 20px rgba(0,0,0,.3)}
.page-banner .breadcrumbs ol{padding:6px 16px;justify-content:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:999px;backdrop-filter:blur(4px)}
.page-banner .breadcrumbs,.page-banner .breadcrumbs a,.page-banner .breadcrumbs li+li::before{color:#fde3cc}
.page-banner .breadcrumbs [aria-current]{color:#fff}
.banner-single .page-head .page-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.banner-single .page-head:not(:has(> :not(.page-title))){padding:0}
html[data-contrast="high"] .page-banner{background:#000}
html[data-contrast="high"] .page-banner::before,html[data-contrast="high"] .page-banner::after{display:none}

/* ---------- 最新訊息：卡片＋側欄 ---------- */
.with-side{display:grid;gap:32px;padding-top:28px;padding-bottom:20px}
@media (min-width:1000px){.with-side{grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start}}
.main-col{min-width:0}
.ncards{display:grid;gap:24px}
.ncards-home,.ncards-sm{grid-template-columns:1fr}
@media (min-width:760px){.ncards-home{grid-template-columns:repeat(3,minmax(0,1fr))}.ncards-sm{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ncard{display:flex;flex-direction:column;background:#fff;border-radius:24px;border:1px solid var(--sand-2);overflow:hidden;transition:box-shadow .2s,transform .2s}
.ncard:hover{box-shadow:0 18px 40px -22px rgba(224,87,10,.45);transform:translateY(-3px)}
.ncard-media{position:relative;display:block;aspect-ratio:1200/630;overflow:hidden;background:var(--sand)}
.ncard-media img,.ncard-media picture{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.ncard:hover .ncard-media img{transform:scale(1.04)}
.ncard-date{position:absolute;right:14px;bottom:14px;display:flex;flex-direction:column;align-items:center;min-width:64px;padding:6px 8px 4px;border-radius:12px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.18);line-height:1.1}
.ncard-date b{font-family:var(--latin);font-size:1.7rem;font-weight:800;color:var(--navy)}
.ncard-date small{font-family:var(--latin);font-size:.78rem;font-weight:700;color:#fff;background:var(--red-ink);border-radius:6px;padding:1px 6px;margin-top:3px}
.ncard-body{display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px;flex:1}
.ncard-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0;font-size:.88rem;color:var(--muted)}
.ncard-views{display:inline-flex;align-items:center;gap:4px}
.ncard-views .ico{width:16px;height:16px}
.ncard-title{font-size:1.12rem;line-height:1.55;margin:0}
.ncard-title a{color:var(--navy);text-decoration:none}
.ncard-title a:hover{color:var(--red-ink);text-decoration:underline}
.ncard-big .ncard-title{font-size:clamp(1.25rem,2.4vw,1.55rem)}
.ncard-text{margin:0;color:var(--ink-2)}
.more-arrow{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;font-weight:800;color:var(--navy);text-decoration:none;min-height:44px}
.more-arrow .sq{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--navy);color:#fff;transition:background .2s}
.more-arrow .sq .ico{width:18px;height:18px}
.more-arrow:hover .sq{background:var(--red-ink)}
.news-list-more{margin-top:20px}
@media (min-width:760px){.ncards:not(.ncards-home):not(.ncards-sm) .ncard-big{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
  .ncards:not(.ncards-home):not(.ncards-sm) .ncard-big .ncard-media{aspect-ratio:auto;min-height:100%}}

.side{display:grid;gap:20px;min-width:0}
@media (min-width:1000px){.side{position:sticky;top:calc(var(--header-h) + 20px)}}
.side-box{background:var(--sand);border-radius:24px;padding:22px}
.side-h{font-size:1.2rem;margin:0 0 14px;padding-bottom:10px;position:relative}
.side-h::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:3px;border-radius:2px;background:var(--red)}
.side-search{display:flex;background:#fff;border-radius:12px;border:2px solid var(--sand-2);overflow:hidden}
.side-search input{flex:1;min-width:0;border:0;padding:0 14px;min-height:52px;font:inherit;background:transparent}
.side-search input:focus{outline:none}
.side-search:focus-within{border-color:var(--navy)}
.side-search button{flex:none;width:52px;border:0;background:var(--red-ink);color:#fff;display:grid;place-items:center;cursor:pointer}
.side-posts{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.side-posts a{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;align-items:center;text-decoration:none;color:var(--navy)}
.side-posts img,.side-posts picture{width:84px;height:64px;object-fit:cover;border-radius:12px;display:block}
.side-posts span{display:flex;flex-direction:column;min-width:0}
.side-posts small{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:.8rem}
.side-posts small .ico{width:14px;height:14px;color:var(--red-ink)}
.side-posts strong{font-size:.98rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.side-posts a:hover strong{color:var(--red-ink)}
.side-cats{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.side-cats a{display:flex;justify-content:space-between;align-items:center;min-height:50px;padding:0 8px 0 16px;background:#fff;border-radius:12px;color:var(--navy);font-weight:700;text-decoration:none;border:1px solid transparent}
.side-cats b{font-family:var(--latin);min-width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--sand-2);font-size:.9rem}
.side-cats a:hover,.side-cats a[aria-current="page"]{border-color:var(--navy)}
.side-cats a[aria-current="page"] b{background:var(--red-ink);color:#fff}
.side-call{background:var(--navy) var(--circuit) right -40px top -40px/220px no-repeat;color:#fff}
.side-call h2{color:#fff;font-size:1.3rem;margin:0 0 10px}
.side-call p{margin:0;color:#fde3cc;font-size:.92rem}
.side-tel{display:inline-flex;align-items:center;gap:8px;font-family:var(--latin);font-size:1.6rem;font-weight:800;color:#fff;text-decoration:none;margin-bottom:6px;letter-spacing:.03em}
.side-tel .ico{width:30px;height:30px;padding:6px;border-radius:9px;background:var(--red-ink)}
html[data-contrast="high"] .side-call{background:#000}

/* 文章頁在有側欄時不要太窄 */
.with-side .article{max-width:none}

/* ---------- 頁尾：超大鏤空字跑馬燈 ---------- */
.ft-marquee{overflow:hidden;padding:20px 0 0;margin-top:32px;user-select:none;pointer-events:none}
.ft-track{display:flex;width:max-content;animation:ft-scroll 60s linear infinite}
.ft-track span{display:flex;align-items:center;white-space:nowrap;font-family:var(--latin),var(--font);font-weight:800;font-size:clamp(3.2rem,8vw,6.5rem);line-height:1.1;letter-spacing:.02em;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.14);padding-right:.4em}
.ft-track i{font-style:normal;margin:0 .45em;color:var(--red);-webkit-text-stroke:0;font-size:.45em;opacity:.7}
@keyframes ft-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ft-track{animation:none}}
html[data-contrast="high"] .ft-marquee{display:none}
.site-footer{background:linear-gradient(180deg,var(--navy-2) 0%,#e0570a 100%)}
.footer-about{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:22px}
.footer-h::after{background:var(--red)}

/* ---------- 其他元件換成圓角大卡 ---------- */
.card,.cf,.partner,.voice,.faq-help,.life,.cal-item{border-radius:24px}
.cf-date{border-radius:0}
.faq{border-radius:16px}
.btn-accent{background:var(--red-ink)}
.hero-kicker{background:rgba(229,119,30,.25);border-color:rgba(255,255,255,.35)}
.section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:end}
.section-head>.eyebrow-pill{grid-column:1/-1;justify-self:start}
.section-head>.more{margin-bottom:1.2em}
.page-home .tile::after{display:none}
@media (max-width:559px){.section-head{grid-template-columns:1fr}.section-head>.more{justify-self:start;margin:-.4em 0 1em}}
@media (min-width:760px){.ncards:not(.ncards-home):not(.ncards-sm) .ncard-big .ncard-media{aspect-ratio:1200/630;min-height:0;align-self:center;margin:16px 0 16px 16px;border-radius:16px}}
.with-side{grid-template-columns:minmax(0,1fr)}@media (min-width:1000px){.with-side{grid-template-columns:minmax(0,1fr) 340px}}
.side{grid-template-columns:minmax(0,1fr)}
.side-call{background:radial-gradient(circle at 100% 0,rgba(229,119,30,.35),transparent 55%),var(--navy)}

/* =========================================================
   柔和配色（A＋B）：紅色只留給主要行動，藍紅降低飽和度，米白底
   ========================================================= */
:root{
  --navy:#e0570a; --navy-2:#e0570a; --navy-3:#c24a06;
  --red:#e5771e; --red-ink:#e5771e; --red-50:#f7ebe7;
  --sand:#f6f4ef; --sand-2:#ebe7de;
  --primary:#c24a06; --primary-2:#e0570a; --primary-50:#eef1f6; --primary-100:#fde3cc;
  --accent:#e5771e; --accent-ink:#e5771e; --accent-50:#f7ebe7;
  --bg-alt:#f6f4ef; --border:#d9dde4; --ink:#e0570a;
  --tint:#e9edf3;
}
html[data-contrast="high"]{--tint:#fff}
/* 頂部：工具列改深藍、拿掉紅白條紋 */
.util-bar{background:var(--navy-2);border-bottom:1px solid rgba(255,255,255,.08)}
.site-header::after{display:none}
@media (min-width:1000px){.nav-top[aria-current="page"]{box-shadow:inset 0 -3px 0 #f9c98f}
  .nav-cta::after{background-color:var(--navy-3)}}
/* 主視覺遮罩：較柔和的藍 */
.hero-v2{background:var(--navy)}
.hero-shade{background:linear-gradient(180deg,rgba(224,87,10,.15) 0%,rgba(224,87,10,.5) 30%,rgba(224,87,10,.9) 52%,var(--navy) 100%)}
@media (min-width:900px){.hero-shade{background:linear-gradient(90deg,rgba(224,87,10,.9) 0%,rgba(224,87,10,.78) 34%,rgba(224,87,10,.3) 62%,rgba(224,87,10,.08) 100%),linear-gradient(0deg,rgba(224,87,10,.45) 0%,transparent 35%)}}
.hero-phone .ico{color:#ffecb4}
/* 區塊小標：淺藍灰 */
.eyebrow-pill{background:var(--tint);color:var(--navy)}
.eyebrow-pill span{background:var(--navy)}
/* 次要元素一律藍色系 */
.ncard-date small,.side-search button,.side-cats a[aria-current="page"] b,.side-tel .ico{background:var(--navy-3)}
.ncard-title a:hover,.side-posts a:hover strong{color:var(--navy-3)}
.side-posts small .ico{color:var(--muted)}
.more-arrow:hover .sq{background:var(--navy-3)}
.side-h::after,.footer-h::after{background:#f9c77f}
.ft-track i{color:#f9c77f}
.tag-hot{background:var(--red-50);color:var(--red-ink)}
/* 底部行動區：米白底、深藍字，只有「我要入會」是紅色 */
.fcta-box{background:var(--sand);color:var(--navy);border:1px solid var(--sand-2);box-shadow:0 18px 40px -30px rgba(224,87,10,.5)}
.fcta-box::before{display:none}
.fcta-box::after{border-color:rgba(224,87,10,.05)}
.fcta-text h2{color:var(--navy)}
.fcta-text p{color:var(--muted)}
.fcta-actions .btn-call{background:#fff;border:1px solid var(--sand-2)}
.fcta-actions .btn-light{background:var(--accent-ink);color:#fff;border-color:var(--accent-ink)}
.fcta-actions .btn-light:hover{background:#e5771e;color:#fff;border-color:#e5771e}
.fcta-actions .btn-light.btn-go::after{background-color:rgba(255,255,255,.22)}
/* 頁尾與課程日期卡 */
.site-footer{background:linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%)}
.cf-date{background:linear-gradient(135deg,var(--navy-3) 0%,var(--navy) 100%)}
.page-home .tile{box-shadow:0 10px 30px -22px rgba(224,87,10,.35)}
.page-home .section-alt::before{background:linear-gradient(90deg,var(--sand) 55%,rgba(246,244,239,.9) 100%)}
.loader-stripes span{background:var(--red)}
html[data-contrast="high"] .fcta-box{background:#000;color:#fff;border-color:#fff}
html[data-contrast="high"] .fcta-text h2,html[data-contrast="high"] .fcta-text p{color:#fff}
html[data-contrast="high"] .util-bar{background:#000}
.hero-kicker{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3)}

/* =========================================================
   國際崇她台灣夢想E社：社團專屬區塊
   ========================================================= */
:root{--mahogany:#e5771e;--brand:#e5771e;--gold:#f6b24f;--gold-tint:#ffecb4;--orange:#e5771e;--paper-2:#fffaf3}
.loader-stripes span{background:var(--orange)}
.loader-stripes span:nth-child(even){background:var(--gold-tint)}
.eyebrow-pill{background:#fde3cc;color:#e5771e}
.eyebrow-pill span{background:var(--mahogany)}
.eyebrow-pill.on-dark{background:rgba(255,255,255,.12);color:#fff}
.eyebrow-pill.on-dark span{background:var(--gold);color:#e0570a}
.btn-fb{background:#2a7a63;color:#fff}
.btn-fb:hover{background:#2a7a63;color:#fff}
.util-fb{opacity:.95}
.side-fb{display:inline-flex;align-items:center;gap:6px;color:#fff;font-weight:700}
.prose blockquote{border-left-color:var(--gold);font-weight:700;color:var(--navy)}
.prose .ql-hashtags{color:var(--muted);font-size:.9rem;word-break:break-word}
.prose .ql-source{color:var(--muted);font-size:.88rem;border-top:1px dashed var(--border);padding-top:.8em;margin-top:1.6em}
.prose th{white-space:nowrap}

/* 首頁主視覺 */
.hero-facts{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:0}
.hero-facts li{padding:.3em .9em;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);font-weight:700;font-size:.92rem;color:#fff}
.hero-now .now-badge{background:var(--mahogany)}

/* 關於本社＋年度回顧 */
.found-grid{display:grid;gap:32px;align-items:start}
@media (min-width:980px){.found-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:48px}}
.found-prose p{font-size:1.05rem}
.share-card{margin-top:28px;padding:24px;border-radius:24px;background:var(--paper-2);border:1px solid var(--sand-2)}
.share-word{font-family:var(--latin);font-weight:800;font-size:clamp(2rem,6vw,2.8rem);letter-spacing:.08em;margin:0 0 4px;color:var(--mahogany);line-height:1.1}
.share-word i{font-style:normal;color:var(--orange)}
.share-card h3{margin:0 0 .4em;font-size:1.15rem}
.more-sm{min-height:44px;font-size:.95rem}
.recap{position:relative;overflow:hidden;isolation:isolate;padding:28px;border-radius:28px;color:#fff;background:linear-gradient(150deg,#e5771e 0%,#e5771e 55%,#e5771e 120%);box-shadow:0 24px 50px -24px rgba(229,119,30,.7)}
.recap::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--circuit) 0 0/220px;opacity:.12}
.recap-k{font-family:var(--latin);font-weight:800;letter-spacing:.14em;font-size:.82rem;color:var(--on-dark-accent);margin:0 0 8px}
.recap-h{color:#fff;font-size:1.5rem;line-height:1.35;margin:0 0 14px}
.recap-n{display:flex;align-items:baseline;gap:8px;margin:0}
.recap-n b{font-family:var(--latin);font-size:clamp(4rem,12vw,5.5rem);line-height:1;color:var(--on-dark-accent)}
.recap-n span{font-size:1.2rem;font-weight:800}
.recap-busy{font-weight:700;margin:6px 0 12px;color:#fde3cc}
.recap-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 14px}
.recap-tags li{padding:.2em .8em;border-radius:999px;background:rgba(255,255,255,.16);font-size:.9rem;font-weight:700}
.recap-t{font-size:.95rem;color:#fff6ec;margin-bottom:18px}
.recap .btn-light{color:var(--mahogany)}

/* 大事記（橫向時間軸） */
.tl-scroll{overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 2px 16px;-webkit-overflow-scrolling:touch}
.tl-scroll:focus-visible{outline-offset:6px}
.timeline{list-style:none;margin:0;padding:0;display:flex;gap:16px;align-items:stretch;position:relative}
.timeline::before{content:"";position:absolute;left:0;right:0;top:46px;height:3px;background:linear-gradient(90deg,var(--gold),var(--orange));border-radius:3px}
.tl-year{flex:none;display:flex;align-items:flex-start;padding-top:28px}
.tl-year span{position:relative;font-family:var(--latin);font-weight:800;font-size:1.05rem;background:var(--mahogany);color:#fff;border-radius:999px;padding:.3em 1em}
.tl-item{flex:0 0 min(78vw,280px);scroll-snap-align:start;padding-top:70px;position:relative}
.tl-item::before{content:"";position:absolute;top:38px;left:22px;width:20px;height:20px;border-radius:50%;background:#fff;border:5px solid var(--orange);box-sizing:border-box}
.tl-item.is-first::before{border-color:var(--mahogany);background:var(--gold)}
.tl-card{display:flex;flex-direction:column;height:100%;padding:20px;border-radius:20px;background:#fff;border:1px solid var(--sand-2);color:var(--ink);text-decoration:none;box-shadow:0 10px 30px -22px rgba(224,87,10,.5);transition:transform .2s,box-shadow .2s}
a.tl-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px -20px rgba(224,87,10,.55);color:var(--ink)}
.tl-kicker{margin:0 0 4px;font-family:var(--latin);font-size:.78rem;font-weight:800;letter-spacing:.1em;color:var(--orange)}
.is-first .tl-kicker{color:var(--mahogany)}
.tl-date{margin:0 0 6px;font-weight:800;color:var(--muted);font-size:.95rem}
.tl-t{font-size:1.12rem;margin:0 0 6px;color:var(--navy)}
.tl-text{font-size:.93rem;color:var(--ink-2);margin:0 0 10px}
.tl-more{margin-top:auto;display:inline-flex;align-items:center;gap:4px;font-weight:800;color:var(--mahogany);font-size:.92rem}
.tl-hint{margin:6px 0 0;color:var(--muted);font-size:.9rem}
@media (min-width:1100px){.tl-hint{display:none}}
.page-main .tl-scroll{margin:1.5em 0}

/* 現任幹部 */
.officers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}
@media (min-width:760px){.officers{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}}
.officer{text-align:center}
.off-face{width:min(100%,180px);aspect-ratio:1;margin:0 auto 14px;border-radius:50%;overflow:hidden;background:var(--sand-2);border:5px solid #fff;box-shadow:0 0 0 3px var(--gold),0 16px 30px -18px rgba(224,87,10,.6)}
.off-face img{width:100%;height:100%;object-fit:cover}
.off-initial{display:grid;place-items:center;width:100%;height:100%;font-size:3rem;font-weight:800;color:#fff;background:linear-gradient(140deg,var(--mahogany),var(--orange))}
.off-title{display:inline-block;margin:0 0 4px;padding:.15em .9em;border-radius:999px;background:#fde3cc;color:#e5771e;font-weight:800;font-size:.9rem}
.off-name{margin:0;font-size:1.3rem}
.off-bio{font-size:.92rem;color:var(--ink-2);margin:8px 0 0}
.officers-big{margin:1.5em 0}

/* 影音專區 */
.section-dark{background:linear-gradient(160deg,#e0570a 0%,#e0570a 60%,#e0570a 100%);color:#fff;position:relative;isolation:isolate}
.section-dark::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--circuit) 0 0/260px;opacity:.06}
.section-dark .section-title{color:#fff}
.more-light{color:#fff;border-color:rgba(255,255,255,.35)}
.more-light .ico{background:var(--gold);color:#e0570a}
.more-light:hover{color:#fff;border-color:#fff}
.videos{list-style:none;margin:0;padding:0;display:grid;gap:18px}
@media (min-width:800px){.videos-4,.videos-3{grid-template-columns:2fr 1fr 1fr}.videos .v-main{grid-row:span 2;grid-column:1}}
.videos li{min-width:0}
.videos .yt-facade{display:block;position:relative;border-radius:18px;overflow:hidden;aspect-ratio:16/9;background:#000}
.videos .yt-facade img{width:100%;height:100%;object-fit:cover}
.videos .v-main .yt-facade{aspect-ratio:auto;height:calc(100% - 3.4em);min-height:220px}
.v-cap{margin:8px 0 0;font-weight:700;font-size:.95rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.section:not(.section-dark) .v-cap{color:var(--navy)}
.album-videos{margin-bottom:2.5rem}
.page-video{margin:2em 0}
.page-video .videos{grid-template-columns:1fr}

/* 姊妹社 */
.sisters{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:10px}
.sisters span{white-space:nowrap}
.sisters a,.sis-plain{display:flex;align-items:center;gap:8px;min-height:56px;padding:0 16px;border-radius:14px;background:#fff;border:1px solid var(--sand-2);color:var(--navy);font-weight:800;text-decoration:none}
.sisters a .ico{color:var(--orange)}
.sisters a:hover{border-color:var(--mahogany);color:var(--mahogany)}
.contact-side .sisters{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}

/* 頁尾行動區 */
.fcta-box{background:linear-gradient(120deg,#e0570a 0%,#e5771e 45%,#e5771e 100%)}
.fcta-kicker{font-family:var(--latin);font-weight:800;letter-spacing:.14em;font-size:.82rem;color:var(--on-dark-accent)!important;margin:0 0 6px!important}
.fcta-actions .btn-light span{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25}
.fcta-actions .btn-light strong{font-size:1.02rem;letter-spacing:.02em;word-break:break-all}
.fcta-actions .btn-fb{border:2px solid rgba(255,255,255,.6)}
.cc-fb .cc-ico{background:#fff8e6;color:#2a7a63}
.footer-ids dd{color:#fff}
@media (max-width:420px){.hero-facts li{font-size:.85rem}}

.fcta-text h2{color:#fff}
.fcta-text p{color:#fde3cc}
@media (min-width:0px){.fcta-box{grid-template-columns:1fr!important}}
.fcta-text p{max-width:46em}
.side-tel span{font-size:clamp(.95rem,1.6vw,1.15rem);word-break:break-all;line-height:1.3}
.footer-contact a{word-break:break-all}

/* =========================================================
   社徽元素：橘色、海浪、日出（取自國際崇她台灣夢想E社社徽）
   ========================================================= */
:root{--brand:#e5771e;--brand-ink:#e5771e;--brand-deep:#e0570a;--cream:#fffaf3}
.site-header{background:var(--brand-deep)}
.site-header::after{display:block;bottom:-4px;height:4px;background:var(--brand);opacity:1}
.util-bar{background:#e0570a}
.logo-mark{border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.9)}
/* 主視覺：社徽橘漸層 + 海浪線 */
.hero{background:linear-gradient(135deg,#e5771e 0%,#e5771e 60%,#e5771e 100%)}
.no-photo .hero-shade{background:linear-gradient(135deg,#e5771e 0%,#e5771e 70%,#e5771e 100%)}
.hero-shade{background:linear-gradient(180deg,rgba(229,119,30,.15) 0%,rgba(229,119,30,.6) 30%,rgba(229,119,30,.95) 52%,#e5771e 100%)!important}
@media (min-width:900px){.hero-shade{background:linear-gradient(90deg,rgba(229,119,30,.96) 0%,rgba(229,119,30,.86) 36%,rgba(229,119,30,.32) 64%,rgba(229,119,30,.06) 100%),linear-gradient(0deg,rgba(224,87,10,.4) 0%,transparent 35%)!important}}
.hero-circuit{display:none}
.hero-waves{position:absolute;left:0;right:0;bottom:34px;width:100%;height:90px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;opacity:.55;pointer-events:none;z-index:0}
.hero-waves path:last-child{opacity:.6}
.hero-facts li{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.45)}
.hero-now .now-badge{background:var(--brand-deep)}
.hero-now .now-item{border-left-color:var(--brand)}
.btn-accent{background:#fff;color:var(--brand-ink);border-color:#fff}
.btn-accent:hover{background:var(--cream);color:#e5771e}
.btn-light.btn-go::after,.btn-accent.btn-go::after{background-color:var(--brand)}
html[data-contrast="high"] .hero-waves{display:none}
/* 關於本社：大社徽 */
.found-head{display:flex;align-items:center;gap:22px;margin-bottom:8px}
.found-logo{width:clamp(96px,16vw,160px);height:auto;flex:none;border-radius:50%;box-shadow:0 14px 34px -14px rgba(229,119,30,.6)}
.found-head .section-title{margin-bottom:.2em}
.recap{background:linear-gradient(150deg,#e0570a 0%,#e5771e 55%,#e5771e 120%)}
.recap::before{opacity:.18}
.share-word{color:var(--brand-ink)}
.share-word i{color:var(--brand)}
/* 大事記、幹部 */
.timeline::before{background:linear-gradient(90deg,var(--brand),#f6b24f)}
.tl-item::before{border-color:var(--brand)}
.tl-item.is-first::before{border-color:var(--brand-deep);background:var(--brand)}
.off-face{box-shadow:0 0 0 3px var(--brand),0 16px 30px -18px rgba(224,87,10,.6)}
.off-initial{background:linear-gradient(140deg,var(--brand-ink),var(--brand))}
/* 影音區：深咖啡底＋海浪線 */
.section-dark{background:linear-gradient(160deg,#e0570a 0%,#e0570a 60%,#e0570a 100%)}
.section-dark::before{opacity:.12;background-size:420px}
.more-light .ico{background:var(--brand);color:#fff}
.eyebrow-pill.on-dark span{background:var(--brand);color:#fff}
/* 頁首橫幅、頁尾 */
.page-banner{background-color:var(--brand-deep)}
.fcta-box{background:linear-gradient(120deg,#e5771e 0%,#e5771e 45%,#e5771e 100%)}
.fcta-box::before{opacity:.25;background-size:360px;background-position:bottom right;background-repeat:no-repeat}
.fcta-actions .btn-light{background:#fff;color:var(--brand-ink)}
.fcta-kicker{color:#fde3cc!important}
/* 聯絡頁大社徽 */
.contact-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:24px;border-radius:28px;background:var(--cream);border:1px solid var(--sand-2)}
.contact-logo-img{width:min(260px,70vw);height:auto;border-radius:50%;box-shadow:0 20px 40px -18px rgba(229,119,30,.6)}
.contact-logo p{margin:0;font-weight:800;color:var(--navy);font-family:var(--latin)}
/* 載入動畫：只顯示社徽與橘色外圈 */
.loader-stripes{display:none}
.loader-ring circle{stroke:var(--brand)}

/* =========================================================
   版面優化（參考公益組織版型）：浮動白色頁首、左對齊大標題橫幅、
   淺灰底＋白色圓角卡片、圖上文字卡片、深藍灰頁尾；重點色沿用社徽橘
   ========================================================= */
:root{
  --navy:#e0570a; --navy-2:#161b27; --navy-3:#e0570a;
  --ink:#e0570a; --ink-2:#2a7a63; --muted:#2a7a63;
  --btn:#e5771e; --btn-d:#e5771e;
  --page-bg:#f5f5f4; --card-r:18px;
  --sand:#f5f5f4; --sand-2:#ebebea;
  --hh:96px;
  --arrow-o:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e18431' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E");
}
body{background:var(--page-bg);color:var(--ink)}
h1,h2,h3,.section-title,.page-title{color:var(--navy)}
.section-title{font-weight:800;letter-spacing:.02em}
.section-alt,.page-home .section-alt{background:#fff!important;background-image:none!important}
.page-home .section-alt::before{display:none}

/* 小標籤：白底圓角＋橘點（取代英文膠囊） */
.eyebrow-pill{display:inline-flex;align-items:center;gap:8px;padding:.32em 1em;border-radius:999px;background:#fff;color:var(--navy);font-weight:700;font-size:.85rem;letter-spacing:.04em;box-shadow:0 1px 3px rgba(224,87,10,.08)}
.eyebrow-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand);flex:none}
.eyebrow-pill span{display:none}
.section-alt .eyebrow-pill{background:var(--page-bg);box-shadow:none}
.eyebrow-pill.on-dark{background:rgba(255,255,255,.12);color:#fff}

/* 按鈕：橘色＋白色箭頭方塊 */
.btn-primary,.btn-call{background:var(--btn);color:#fff;border-color:var(--btn)}
.btn-primary:hover,.btn-call:hover{background:var(--btn-d);color:#fff}
.btn-go::after,.btn-light.btn-go::after,.btn-accent.btn-go::after{background:#fff var(--arrow-o) center/16px no-repeat!important;border-radius:6px}
.btn-accent{background:var(--btn);color:#fff;border-color:var(--btn)}
.btn-accent:hover{background:var(--btn-d);color:#fff}
.more{background:#fff;border-color:#e5e5e3;color:var(--navy)}
.more .ico{background:var(--btn)}
.more:hover{border-color:var(--btn)}

/* ---------- 浮動白色頁首 ---------- */
.util-bar{background:var(--navy-2)!important}
.site-header{position:sticky;top:0;z-index:100;background:transparent!important;box-shadow:none!important;border:0;padding:12px 0;pointer-events:none}
.site-header::after{display:none!important}
.site-header .header-inner{pointer-events:auto;width:calc(100% - 24px);max-width:1180px;min-height:72px;background:#fff;border-radius:18px;box-shadow:0 12px 32px -14px rgba(224,87,10,.38);padding:0 10px 0 14px}
.has-photo-top .site-header{margin-bottom:calc(-1 * var(--hh))}
.brand,.brand-name{color:var(--navy)}
.brand-sub{color:var(--muted)}
.brand .logo-mark{box-shadow:none;padding:0;background:none}
.header-search{color:var(--navy)}
.header-search:hover{background:#f5f5f4}
.menu-toggle{background:#fff;border-color:#e5e5e3;color:var(--navy)}
.menu-toggle[aria-expanded="true"]{background:var(--navy);color:#fff}
@media (min-width:1000px){
  .nav-top{color:var(--navy)!important}
  .nav-top:hover,.has-sub.open>.nav-top{background:#fde3cc!important;color:var(--btn-d)!important}
  .nav-top[aria-current="page"]{color:var(--btn)!important;box-shadow:none!important}
  .nav-cta{background:var(--btn)!important;color:#fff!important;padding:0 6px 0 16px!important}
  .nav-cta::after{background:#fff var(--arrow-o) center/16px no-repeat!important;width:36px;height:36px;border-radius:8px}
  .nav-cta:hover{background:var(--btn-d)!important}
}

/* ---------- 首頁主視覺：照片＋左側深色漸層 ---------- */
.hero,.hero-v2{background:var(--navy)}
.hero-shade{background:linear-gradient(180deg,rgba(22,27,39,.1) 0%,rgba(22,27,39,.55) 30%,rgba(22,27,39,.94) 52%,var(--navy) 100%)!important}
@media (min-width:900px){
  .hero-shade{background:linear-gradient(90deg,rgba(22,27,39,.92) 0%,rgba(22,27,39,.72) 38%,rgba(22,27,39,.2) 68%,rgba(22,27,39,0) 100%),linear-gradient(0deg,rgba(22,27,39,.55) 0%,transparent 40%)!important}
  .hero-v2 .hero-inner{padding-top:calc(var(--hh) + 80px)}
  .hero-v2{min-height:min(88vh,760px)}
}
.no-photo .hero-shade{background:linear-gradient(135deg,var(--navy) 0%,#e0570a 100%)!important}
.hero-v2 .hero-title{font-size:clamp(2rem,6vw,3.6rem);line-height:1.2}
.hero-kicker{background:rgba(255,255,255,.12)}
.hero-waves{stroke:var(--brand);opacity:.6}
.hero-now .now-badge{background:var(--btn)}
.hero-now .now-item{border-left-color:var(--btn)}
.hero-facts li{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3)}
.stats{border-radius:var(--card-r)}
.stat-n small{color:var(--btn)}

/* ---------- 內頁橫幅：照片＋左對齊大標題 ---------- */
.page-banner{background:var(--navy) var(--banner-img) center 30%/cover no-repeat!important}
.page-banner::before{background:linear-gradient(90deg,rgba(22,27,39,.92) 0%,rgba(22,27,39,.7) 45%,rgba(22,27,39,.3) 100%)!important}
.page-banner::after{display:none!important}
.page-banner-in{align-items:flex-start!important;text-align:left!important;gap:12px;padding-top:calc(var(--hh) + clamp(48px,7vw,96px))!important;padding-bottom:clamp(48px,7vw,96px)!important}
.page-banner-title{font-size:clamp(1.9rem,5vw,3.4rem)!important;letter-spacing:.02em!important;max-width:22em;text-shadow:none!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.page-banner .breadcrumbs ol{background:none!important;border:0!important;padding:0!important;justify-content:flex-start!important;backdrop-filter:none!important}
.page-banner .breadcrumbs,.page-banner .breadcrumbs a,.page-banner .breadcrumbs li+li::before{color:#fff!important}
.page-banner .breadcrumbs li+li::before{content:"/"!important}
.page-banner .breadcrumbs .ico{display:none}
.page-banner-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;color:#fff;font-weight:600}
.page-banner-meta a{color:#fff;background:var(--btn);padding:.15em .8em;border-radius:999px;text-decoration:none;font-size:.9rem}
.bm-sep{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.6)}
.has-photo-top .page-head>.page-title,.has-photo-top .page-head>.eyebrow,.has-photo-top .page-head>h1.page-title{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
main>.container:first-of-type,.page-layout,.list-wrap,.contact-wrap{padding-top:clamp(36px,6vw,72px)}

/* ---------- 圖上文字卡片（活動、相簿） ---------- */
.ncards-grid,.ncards-home,.related .ncards{display:grid;gap:22px;grid-template-columns:1fr}
@media (min-width:640px){.ncards-grid,.ncards-home,.related .ncards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:980px){.ncards-grid,.ncards-home,.related .ncards{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ncard{display:block!important;background:var(--navy)!important;border:0!important;border-radius:var(--card-r)!important;overflow:hidden;box-shadow:0 14px 30px -20px rgba(224,87,10,.6)}
.ncard:hover{transform:translateY(-3px)}
.ncard-link{position:relative;display:block;aspect-ratio:5/6;color:#fff;text-decoration:none}
.ncard-link::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,27,39,0) 35%,rgba(22,27,39,.55) 60%,rgba(22,27,39,.94) 100%);pointer-events:none}
.ncard .ncard-media{position:absolute!important;inset:0;aspect-ratio:auto!important;background:var(--navy-3)}
.ncard .ncard-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.ncard-link:hover .ncard-media img{transform:scale(1.06)}
.ncard-tags{position:absolute;top:14px;left:14px;z-index:2;display:flex;gap:6px}
.ncard-tags .tag{background:#fff;color:var(--navy);border:0;font-weight:700;display:inline-flex;align-items:center;gap:4px}
.ncard-tags .tag-new{background:var(--btn);color:#fff}
.ncard-over{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-direction:column;gap:8px;padding:22px}
.ncard .ncard-date{position:static!important;flex-direction:row!important;align-items:center!important;gap:6px;min-width:0!important;padding:0!important;background:none!important;box-shadow:none!important;border-radius:0!important;color:#fff;font-size:.88rem;font-weight:600;line-height:1.3}
.ncard .ncard-date .ico{width:16px;height:16px}
.ncard-title{font-size:1.1rem;font-weight:800;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ncard-text{font-size:.9rem;opacity:.85;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-ph{position:absolute;inset:0;display:grid;place-items:center;color:#fff;opacity:.4}
.chips{margin-bottom:24px}
.pager .btn{border-radius:10px}

/* ---------- 文章頁：大圖＋窄欄內文 ---------- */
.article-wrap{max-width:1040px}
.article-cover{margin:0 0 32px}
.article-cover img{width:100%;max-height:560px;object-fit:cover;border-radius:22px}
.article-body{max-width:820px;margin:0 auto}
.article-body .summary-box{background:#fff;border:0;border-left:6px solid var(--btn);border-radius:14px;box-shadow:0 2px 10px rgba(224,87,10,.05)}
.prose blockquote{position:relative;margin:1.6em 0;padding:24px 26px 24px 78px;background:#fff;border:0!important;border-radius:18px;box-shadow:0 2px 12px rgba(224,87,10,.05);color:var(--navy);font-weight:700;font-size:1.08rem}
.prose blockquote::before{content:"\201C";position:absolute;left:22px;top:6px;font:900 4.2rem/1 Georgia,serif;color:var(--btn)}
.prose h2{color:var(--navy);border:0}
.article-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:32px;padding-top:22px;border-top:1px solid #e5e5e3}
.article-tags{margin:0;display:flex;align-items:center;gap:8px}
.tag-pill{display:inline-block;padding:.3em 1em;border-radius:999px;background:var(--btn);color:#fff;font-weight:700;font-size:.9rem;text-decoration:none}
.article-share{display:flex;gap:8px;margin:0}
.sh-circle{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:0;background:var(--btn);color:#fff;cursor:pointer}
.sh-circle:hover{background:var(--btn-d);color:#fff}
.sh-circle .ico{width:18px;height:18px}
.related{margin-top:56px}

/* ---------- 一般頁面、相簿、問答：白色卡片 ---------- */
.page-main,.faq-list .faq{background:#fff}
.page-main{padding:clamp(20px,4vw,40px);border-radius:var(--card-r)}
.side-nav,.page-side .side-call{border-radius:var(--card-r)}
.gallery li{border-radius:14px;overflow:hidden}

/* ---------- 聯絡頁：兩欄 ---------- */
.contact-grid{display:grid;gap:28px;align-items:start}
@media (min-width:960px){.contact-grid{grid-template-columns:1fr 1fr;gap:40px}}
.contact-intro .section-title{font-size:clamp(1.6rem,3.6vw,2.4rem);margin:.4em 0 .4em}
.contact-photo{position:relative;border-radius:var(--card-r);overflow:hidden;min-height:340px;background:var(--navy);margin-top:20px}
.contact-photo .cp-img,.contact-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.contact-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,27,39,0) 30%,rgba(22,27,39,.9) 100%)}
.cp-items{position:absolute;left:0;right:0;bottom:0;z-index:1;list-style:none;margin:0;padding:22px;display:flex;flex-wrap:wrap;gap:14px 26px}
.cp-items a{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.cp-items small{display:block;font-size:.8rem;opacity:.85}
.cp-items strong{font-size:1.02rem;word-break:break-all}
.cp-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--btn);flex:none}
.cp-ico .ico,.cp-ico .ico-line{width:20px;height:20px}
.contact-form-card{background:#fff;border-radius:var(--card-r);padding:clamp(22px,4vw,40px);box-shadow:0 2px 14px rgba(224,87,10,.05)}
.contact-form-card h2{font-size:clamp(1.6rem,3.4vw,2.2rem);margin:0 0 .3em}
.contact-form-card .muted{color:var(--muted);font-size:.95rem}
.mail-form{display:grid;gap:14px;margin:20px 0 26px}
.mf-row{display:grid;gap:14px}
@media (min-width:560px){.mf-row{grid-template-columns:1fr 1fr}}
.mail-form input,.mail-form select,.mail-form textarea{width:100%;min-height:54px;padding:12px 16px;border:1px solid transparent;border-radius:10px;background:#f5f5f4;font-size:1rem}
.mail-form input:focus,.mail-form select:focus,.mail-form textarea:focus{outline:0;border-color:var(--btn);background:#fff}
.mail-form .btn{justify-self:start}
.contact-facts{margin:0;display:grid;gap:8px;padding-top:18px;border-top:1px solid #ebebea;font-size:.95rem}
.contact-facts div{display:grid;grid-template-columns:5em 1fr;gap:8px}
.contact-facts dt{color:var(--muted);font-weight:700}
.contact-facts dd{margin:0}
.contact-facts small{display:block;color:var(--muted)}

/* ---------- 頁尾：深藍灰 ---------- */
.footer-cta{margin-bottom:-70px}
.fcta-box{background:linear-gradient(110deg,#e5771e 0%,#e5771e 50%,#e5771e 100%)!important;border-radius:22px}
.gv-footer{position:relative;margin-top:0;padding:120px 0 0;color:#c7ccd6;background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M0 20 20 0M20 40 40 20' stroke='%23ffffff' stroke-opacity='.035' stroke-width='1.5'/%3E%3C/svg%3E")!important}
.gv-footer .brand-footer .logo-mark{width:58px;height:58px;padding:0;background:none}
.gv-footer .brand-name{color:#fff}
.gv-footer .brand-name small{color:#a9a8a9}
.gv-ft-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.1)}
.gv-social{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700}
.gv-social span{margin-right:6px}
.gv-social a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.22);color:#fff}
.gv-social a:hover{background:var(--btn);border-color:var(--btn)}
.gv-social .ico,.gv-social .ico-line{width:18px;height:18px}
.gv-ft-cols{display:grid;gap:30px;padding:40px 0}
@media (min-width:700px){.gv-ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.gv-ft-cols{grid-template-columns:.8fr .8fr 1.2fr 1.3fr}}
.gv-footer .footer-h{color:#fff;font-size:1.08rem;margin:0 0 16px;padding:0}
.gv-footer .footer-h::after{display:none}
.gv-footer .footer-links{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.gv-footer .footer-links a{display:inline-flex;align-items:center;gap:8px;color:#c7ccd6;text-decoration:none;font-size:.95rem}
.gv-footer .footer-links a::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--btn);flex:none}
.gv-footer .footer-links a:hover{color:#fff}
.gv-ft-text{font-size:.92rem;color:#a9a8a9;margin:0 0 12px}
.gv-ft-line{margin:0 0 8px;font-size:.95rem;color:#fff}
.gv-ft-line small{display:block;color:#a9a8a9;font-size:.8rem}
.gv-ft-line a{color:#fff;word-break:break-all}
.gv-ft-bottom{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:22px 0 28px;border-top:1px solid rgba(255,255,255,.1);font-size:.88rem}
.gv-ft-bottom p{margin:0;color:#c7ccd6}
.gv-ft-bottom .footer-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;list-style:none;margin:0;padding:0}
.gv-ft-bottom .footer-legal a,.gv-ft-bottom .ft-a11y{color:#a9a8a9;background:none;border:0;font-size:.85rem}
@media (max-width:899px){.gv-footer{padding-bottom:84px}}

/* ---------- 深色區塊統一深藍灰 ---------- */
.section-dark{background:var(--navy)!important}
.recap{background:linear-gradient(150deg,var(--navy) 0%,#e0570a 55%,#e5771e 130%)!important}
.recap-n b,.recap-k{color:#ec9450}
.more-light .ico{background:var(--btn)}
html[data-contrast="high"] .site-header .header-inner{border:3px solid #000}
html[data-contrast="high"] .ncard-link::after{background:rgba(0,0,0,.75)}
.article-wrap{padding-top:clamp(36px,6vw,72px)}
.chip[aria-current="page"]{background:var(--btn)!important;border-color:var(--btn)!important;color:#fff!important}
.chip{background:#fff;border-color:#e5e5e3}
.action-bar .ab-call{background:var(--btn)!important;color:#fff!important}
.action-bar .ab-join{color:var(--btn-d)!important}
.news-item time{color:var(--btn-d)}

/* =========================================================
   國際崇她品牌規範（Brand Guidelines, June 2023）
   正式場合使用 Corporate Brand Colors：
   Mahogany #e0570a・Gold #f4a127・Orange #e5771e・Cyan #2a7a63・Gray #A9A8A9（含 80/60/40/20% 色階）
   字型：Lato（中文以系統黑體顯示）
   對比：白字只放在 Mahogany 或 Cyan 上；Orange 用於裝飾與重點；Gold 用於深色底上的重點文字
   ========================================================= */
:root{
  --z-mahogany:#e0570a; --z-mahogany-80:#c24a06; --z-mahogany-40:#f9c98f; --z-mahogany-20:#ffecb4;
  --z-gold:#f4a127; --z-gold-80:#f6b24f; --z-gold-60:#f9c77f; --z-gold-40:#ffecb4;
  --z-orange:#e5771e; --z-orange-80:#ec9450; --z-orange-40:#f6c193; --z-orange-20:#fde3cc;
  --z-cyan:#2a7a63; --z-cyan-80:#3a9479; --z-cyan-60:#75c8ae; --z-cyan-40:#b9e3d6;
  --z-gray:#a9a8a9; --z-gray-60:#cdc9ca; --z-gray-40:#dcdbdb; --z-gray-20:#fff8e6;
  /* 角色對應 */
  --navy:var(--z-mahogany); --navy-2:var(--z-mahogany); --navy-3:var(--z-mahogany-80);
  --primary:var(--z-mahogany); --primary-2:var(--z-mahogany); --primary-50:var(--z-mahogany-20); --primary-100:var(--z-mahogany-40);
  --accent:var(--z-orange); --accent-ink:var(--z-mahogany); --accent-50:var(--z-orange-20);
  --red:var(--z-orange); --red-ink:var(--z-mahogany); --red-50:var(--z-orange-20);
  --brand:var(--z-orange); --brand-ink:var(--z-mahogany); --brand-deep:var(--z-mahogany);
  --btn:var(--z-mahogany); --btn-d:var(--z-mahogany-80);
  --call:var(--z-cyan); --line:var(--z-cyan);
  --ink:#3d2a1e; --ink-2:#5a3d2b; --muted:#6b5446; /* 內文用深咖啡，主色交給橘 */
  --bg-alt:var(--z-gray-20); --page-bg:var(--z-gray-20); --border:var(--z-gray-40);
  --sand:var(--z-gray-20); --sand-2:var(--z-gray-40); --cream:var(--z-gray-20); --paper-2:var(--z-gray-20);
  --focus:var(--z-gold);
  --on-dark-accent:#ffecb4; /* 咖啡底上的強調文字（奶油黃，對比 8:1） */
  --latin:"Lato",system-ui,sans-serif;
  --font:"Lato","PingFang TC","Noto Sans TC","Microsoft JhengHei","Heiti TC",system-ui,sans-serif;
  --arrow-o:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e0570a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E");
}
body{font-family:var(--font);color:var(--ink);background:var(--z-gray-20)}
h1,h2,h3,.section-title,.page-title{color:var(--z-mahogany)}
a{color:var(--z-mahogany)}
a:hover{color:var(--z-mahogany-80)}
.prose a{color:var(--z-cyan)}

/* 按鈕：主要＝Mahogany、次要＝Cyan（白字對比 ≥ 7:1） */
.btn-primary,.btn-call,.btn-accent{background:var(--z-mahogany)!important;border-color:var(--z-mahogany)!important;color:#fff!important}
.btn-primary:hover,.btn-call:hover,.btn-accent:hover{background:var(--z-mahogany-80)!important;border-color:var(--z-mahogany-80)!important}
.btn-fb,.btn-line,.fcta-actions .btn-fb{background:var(--z-cyan)!important;border-color:var(--z-cyan)!important;color:#fff!important}
.btn-fb:hover,.btn-line:hover{background:var(--z-cyan-80)!important}
.btn-light{background:#fff;color:var(--z-mahogany);border-color:#fff}
.btn-outline{color:var(--z-mahogany);border-color:var(--z-mahogany)}
.btn-go::after{background:#fff var(--arrow-o) center/16px no-repeat!important}
.more{background:#fff;border-color:var(--z-gray-40);color:var(--z-mahogany)}
.more .ico,.more-arrow .sq{background:var(--z-mahogany);color:#fff}
.more-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.more-light .ico{background:var(--z-gold);color:var(--z-mahogany)}

/* 頁首 */
.util-bar{background:var(--z-mahogany)!important}
.brand,.brand-name{color:var(--z-mahogany)}
.brand-sub{color:#666}
.header-search,.menu-toggle{color:var(--z-mahogany)}
.menu-toggle{border-color:var(--z-gray-40)}
.menu-toggle[aria-expanded="true"]{background:var(--z-mahogany);color:#fff}
@media (min-width:1000px){
  .nav-top{color:#333!important}
  .nav-top:hover,.has-sub.open>.nav-top{background:var(--z-mahogany-20)!important;color:var(--z-mahogany)!important}
  .nav-top[aria-current="page"]{color:var(--z-mahogany)!important;box-shadow:inset 0 -3px 0 var(--z-orange)!important}
  .nav-cta{background:var(--z-mahogany)!important;color:#fff!important}
  .nav-cta:hover{background:var(--z-mahogany-80)!important}
}
.sub a:hover,.sub a[aria-current="page"]{background:var(--z-mahogany-20);color:var(--z-mahogany)}

/* 小標籤、標籤 */
.eyebrow-pill{background:#fff;color:var(--z-mahogany)}
.eyebrow-pill::before{background:var(--z-orange)}
.section-alt .eyebrow-pill{background:var(--z-gray-20)}
.eyebrow-pill.on-dark{background:rgba(255,255,255,.14);color:#fff}
.eyebrow-pill.on-dark::before{background:var(--z-gold)}
.tag{background:var(--z-orange-20);color:var(--z-mahogany);border-color:var(--z-orange-40)}
.tag-new,.ncard-tags .tag-new{background:var(--z-gold)!important;color:var(--z-mahogany)!important}
.tag-hot{background:var(--z-mahogany);color:#fff}
.chip[aria-current="page"]{background:var(--z-mahogany)!important;border-color:var(--z-mahogany)!important;color:#fff!important}
.chip{background:#fff;border-color:var(--z-gray-40);color:#333}
.tag-pill,.page-banner-meta a{background:var(--z-mahogany)!important;color:#fff!important}
.sh-circle{background:var(--z-mahogany)}
.sh-circle:hover{background:var(--z-mahogany-80)}

/* 主視覺與橫幅：Mahogany 漸層覆蓋照片 */
.hero,.hero-v2{background:var(--z-mahogany)}
.hero-shade{background:linear-gradient(180deg,rgba(224,87,10,.1) 0%,rgba(224,87,10,.6) 30%,rgba(224,87,10,.95) 52%,#e0570a 100%)!important}
@media (min-width:900px){.hero-shade{background:linear-gradient(90deg,rgba(224,87,10,.94) 0%,rgba(224,87,10,.78) 38%,rgba(224,87,10,.25) 68%,rgba(224,87,10,0) 100%),linear-gradient(0deg,rgba(224,87,10,.5) 0%,transparent 40%)!important}}
.no-photo .hero-shade{background:var(--z-mahogany)!important}
.hero-waves{stroke:var(--z-gold);opacity:.55}
.hero-kicker{background:rgba(255,255,255,.14)}
.hero-now .now-badge{background:var(--z-mahogany)}
.hero-now .now-item{border-left-color:var(--z-orange)}
.page-banner{background-color:var(--z-mahogany)!important}
.page-banner::before{background:linear-gradient(90deg,rgba(224,87,10,.94) 0%,rgba(224,87,10,.75) 45%,rgba(224,87,10,.3) 100%)!important}

/* 數字列、卡片 */
.stat-n{color:var(--z-mahogany)}
.stat-n small{color:var(--z-mahogany-80)}
.ncard{background:var(--z-mahogany)!important}
.ncard-link::after{background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.45) 62%,rgba(0,0,0,.85) 100%)}
.ncard .ncard-media{background:var(--z-mahogany-80)}
.ncard-tags .tag{background:#fff;color:var(--z-mahogany)}
.news-item time{color:var(--z-mahogany)}

/* 關於、年度回顧、時間軸、幹部 */
.share-card{background:#fff;border-color:var(--z-gray-40)}
.share-word{color:var(--z-mahogany)}
.share-word i{color:var(--z-orange)}
.recap{background:var(--z-mahogany)!important;box-shadow:0 24px 50px -24px rgba(224,87,10,.6)}
.recap-k,.recap-n b{color:var(--on-dark-accent)!important}
.recap-busy,.recap-t{color:#fff}
.recap .btn-light{color:var(--z-mahogany)}
.timeline::before{background:linear-gradient(90deg,var(--z-orange),var(--z-gold))}
.tl-item::before{border-color:var(--z-orange)}
.tl-item.is-first::before{border-color:var(--z-mahogany);background:var(--z-gold)}
.tl-kicker{color:var(--z-mahogany-80)}
.is-first .tl-kicker,.tl-more{color:var(--z-mahogany)}
.off-face{box-shadow:0 0 0 3px var(--z-gold),0 16px 30px -18px rgba(224,87,10,.5)}
.off-title{background:var(--z-orange-20);color:var(--z-mahogany)}
.off-initial{background:var(--z-mahogany)}
.found-logo{box-shadow:0 14px 34px -14px rgba(224,87,10,.45)}

/* 影音區、YouTube 播放鈕 */
.section-dark{background:var(--z-mahogany)!important}
.yt-play{background:var(--z-mahogany)!important;color:#fff}
.yt-facade:hover .yt-play{background:var(--z-orange)!important}

/* 文章頁 */
.prose blockquote{color:var(--z-mahogany)}
.prose blockquote::before{color:var(--z-orange)}
.article-body .summary-box{border-left-color:var(--z-orange)}
.summary-label{color:var(--z-mahogany)}

/* 聯絡頁 */
.cp-ico{background:var(--z-mahogany)}
.mail-form input,.mail-form select,.mail-form textarea{background:var(--z-gray-20)}
.mail-form input:focus,.mail-form select:focus,.mail-form textarea:focus{border-color:var(--z-mahogany)}

/* 頁尾行動區＝Cyan、頁尾＝Mahogany */
.fcta-box{background:var(--z-cyan)!important;box-shadow:0 18px 40px -16px rgba(0,95,113,.55)}
.fcta-kicker{color:var(--on-dark-accent)!important}
.fcta-text p{color:#fff}
.fcta-actions .btn-light{background:#fff;color:var(--z-cyan)}
.fcta-actions .btn-fb{border:2px solid rgba(255,255,255,.7)}
.fcta-actions .btn-outline-light{color:#fff;border-color:rgba(255,255,255,.7)}
.gv-footer{background:var(--z-mahogany) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M0 20 20 0M20 40 40 20' stroke='%23ffffff' stroke-opacity='.05' stroke-width='1.5'/%3E%3C/svg%3E")!important;color:var(--z-mahogany-20)}
.gv-footer .footer-links a,.gv-ft-bottom p{color:var(--z-mahogany-20)}
.gv-footer .footer-links a::before{background:var(--z-gold)}
.gv-ft-text,.gv-ft-line small,.gv-footer .brand-name small,.gv-ft-bottom .footer-legal a,.gv-ft-bottom .ft-a11y{color:var(--z-mahogany-40)}
.gv-social a:hover{background:var(--z-orange);border-color:var(--z-orange)}

/* 手機底部列 */
.action-bar .ab-call{background:var(--z-mahogany)!important;color:#fff!important}
.action-bar .ab-join{color:var(--z-mahogany)!important}
/* 深色（Mahogany／Cyan）底上的主要按鈕：Gold 底＋Mahogany 字 */
.hero .btn-accent,.hero .btn-primary,.recap .btn-primary{background:var(--z-gold)!important;border-color:var(--z-gold)!important;color:var(--z-mahogany)!important}
.hero .btn-accent:hover,.hero .btn-primary:hover{background:var(--z-gold-80)!important;border-color:var(--z-gold-80)!important}
.hero .btn-go::after{background-color:var(--z-mahogany)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E")!important}
.hero .btn-light{color:var(--z-mahogany)}
.fcta-box .btn-fb{border:2px solid #fff!important}

/* =========================================================
   首頁亮點：電影感主視覺、旋轉主題徽章、照片跑馬燈、使命區、雜誌式活動牆
   （全部使用品牌色；系統設定「減少動態」時自動停用動畫）
   ========================================================= */
/* 主視覺 */
@media (min-width:900px){
  .hero-v2{min-height:min(92vh,820px)}
  .hero-shade{background:linear-gradient(90deg,rgba(224,87,10,.96) 0%,rgba(224,87,10,.82) 30%,rgba(224,87,10,.35) 58%,rgba(224,87,10,0) 78%),linear-gradient(0deg,rgba(224,87,10,.7) 0%,transparent 34%)!important}
}
.hero-slide.is-on img{animation:kenburns 22s ease-out both}
@keyframes kenburns{from{transform:scale(1.12)}to{transform:scale(1)}}
.hero-v2 .hero-title{font-size:clamp(2.3rem,7vw,4.6rem);line-height:1.12;letter-spacing:.02em;font-weight:900}
.hero-title .hl{display:block;color:var(--on-dark-accent);position:relative;width:max-content;max-width:100%}
.hero-title .hl::after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.14em;border-radius:99px;background:var(--z-orange);opacity:.85;transform-origin:left;animation:hlgrow 1s .9s cubic-bezier(.2,.8,.2,1) both}
@keyframes hlgrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero-text>*{animation:heroup .9s cubic-bezier(.2,.8,.2,1) both}
.hero-text>*:nth-child(1){animation-delay:.1s}.hero-text>*:nth-child(2){animation-delay:.22s}.hero-text>*:nth-child(3){animation-delay:.36s}
.hero-text>*:nth-child(4){animation-delay:.48s}.hero-text>*:nth-child(5){animation-delay:.6s}.hero-text>*:nth-child(6){animation-delay:.72s}
@keyframes heroup{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.hero-sub{font-size:clamp(1.02rem,1.6vw,1.18rem);max-width:34em}
/* 旋轉主題徽章（不放社徽，依規範避免在 Logo 周圍疊圖） */
.hero-badge{display:none}
@media (min-width:1100px){
  .hero-badge{display:grid;place-items:center;position:absolute;right:max(4vw,calc((100vw - 1180px)/2));bottom:150px;width:190px;height:190px;z-index:3;border-radius:50%;background:rgba(224,87,10,.88);box-shadow:0 20px 50px -18px rgba(0,0,0,.5);backdrop-filter:blur(4px)}
  .hero-badge svg{position:absolute;inset:0;width:100%;height:100%;animation:spin-ccw 26s linear infinite}
  .hero-badge text{fill:var(--z-gold);font:900 13px/1 "Lato",sans-serif}
  .hb-in{display:flex;flex-direction:column;align-items:center;color:#fff;line-height:1}
  .hb-in b{font:900 2.6rem/1 "Lato",sans-serif;color:#fff}
  .hb-in small{margin-top:6px;font:700 .72rem/1 "Lato",sans-serif;letter-spacing:.2em;color:var(--z-gold-40)}
}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spin-ccw{to{transform:rotate(-360deg)}}
.hero-scroll{display:none}
@media (min-width:900px){
  .hero-scroll{display:flex;flex-direction:column;align-items:center;gap:8px;position:absolute;left:50%;bottom:92px;transform:translateX(-50%);z-index:3;color:#fff;text-decoration:none;font-size:.82rem;font-weight:700;letter-spacing:.2em;opacity:.85}
  .hero-scroll i{width:2px;height:44px;background:linear-gradient(var(--z-gold),transparent);border-radius:2px;animation:scrollcue 1.8s ease-in-out infinite}
}
@keyframes scrollcue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.hero-curve path{fill:var(--z-gray-20)}

/* 數字列 */
.stats{box-shadow:0 24px 50px -28px rgba(224,87,10,.5)}
.stat-n{font-family:"Lato",var(--font);font-weight:900;font-size:clamp(2rem,4vw,2.8rem)}

/* 照片跑馬燈 */
.marquee{overflow:hidden;padding:40px 0 10px;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee-track{display:flex;gap:16px;width:max-content;animation:mq 70s linear infinite}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}
.mq-item{flex:none;width:clamp(200px,22vw,300px);aspect-ratio:16/11;border-radius:18px;overflow:hidden;background:var(--z-mahogany-20);box-shadow:0 12px 26px -18px rgba(0,0,0,.45);transition:transform .35s}
.mq-item:nth-child(even){transform:translateY(18px)}
.mq-item:hover{transform:translateY(-6px) scale(1.03)}
.mq-item img{width:100%;height:100%;object-fit:cover}
@keyframes mq{to{transform:translateX(-50%)}}

/* 使命區 */
.mission{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:var(--z-mahogany);padding:clamp(64px,9vw,120px) 0;margin-top:clamp(40px,6vw,80px)}
.mission::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--circuit) 0 0/520px;opacity:.14}
.mission::after{content:"\201C";position:absolute;right:-.05em;top:-.28em;z-index:-1;font:900 clamp(16rem,34vw,30rem)/1 Georgia,serif;color:var(--z-orange);opacity:.18}
.mission-in{display:grid;gap:36px;align-items:end}
@media (min-width:960px){.mission-in{grid-template-columns:1.1fr 1fr;gap:56px}}
.mission-title{color:#fff;font-size:clamp(2rem,5vw,3.6rem);line-height:1.2;margin:.35em 0 .3em;font-weight:900}
.mission-title span{color:var(--on-dark-accent)}
.mission-en{margin:0;font-family:"Lato",sans-serif;font-style:italic;font-size:clamp(1.05rem,2vw,1.4rem);color:var(--z-gold-40)}
.mission-cols{display:grid;gap:16px}
.mission-card{padding:24px 26px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(2px)}
.mission-card p{margin:0 0 10px;color:#fff;font-size:1rem}
.mission-card .mc-k{font-family:"Lato",sans-serif;font-weight:900;letter-spacing:.14em;font-size:.82rem;color:var(--on-dark-accent)}
.mission-card .more{margin-top:6px}

/* 區塊標題的背景英文大字 */
.section-head[data-bg]{position:relative}
.section-head[data-bg]::before{content:attr(data-bg);position:absolute;left:-.04em;top:-.38em;z-index:0;font:900 clamp(3.4rem,10vw,7.5rem)/1 "Lato",sans-serif;letter-spacing:.02em;color:var(--z-mahogany);opacity:.06;white-space:nowrap;pointer-events:none}
.section-dark .section-head[data-bg]::before{color:#fff;opacity:.07}
.section-head[data-bg]>*{position:relative;z-index:1}
.page-home .section-title{font-size:clamp(1.8rem,4vw,2.7rem)}

/* 雜誌式活動牆 */
.ncards-bento{display:grid;gap:18px;grid-template-columns:1fr}
@media (min-width:640px){.ncards-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.ncards-bento .ncard-big{grid-column:1/-1}}
@media (min-width:1000px){.ncards-bento{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:260px}
  .ncards-bento .ncard-big{grid-column:span 2;grid-row:span 2}
  .ncards-bento .ncard-link{aspect-ratio:auto;height:100%}}
.ncards-bento .ncard-big .ncard-title{font-size:clamp(1.3rem,2.2vw,1.8rem);-webkit-line-clamp:2}
.ncards-bento .ncard-big .ncard-over{padding:30px}
.ncards-bento .ncard-big .ncard-text{font-size:1rem;-webkit-line-clamp:3}
.ncards-bento .ncard-big::before{content:"FEATURED";position:absolute;top:16px;right:16px;z-index:3;padding:.25em .9em;border-radius:99px;background:var(--z-gold);color:var(--z-mahogany);font:900 .72rem/1.6 "Lato",sans-serif;letter-spacing:.14em}
.ncards-bento .ncard{position:relative}

/* 卡片細節：滑過時邊框高光 */
.ncard,.tl-card,.officer .off-face,.share-card,.recap{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.officer:hover .off-face{transform:translateY(-6px) rotate(-2deg)}
.tl-card:hover{box-shadow:0 22px 40px -22px rgba(224,87,10,.55)}

@media (prefers-reduced-motion:reduce){
  .hero-slide.is-on img,.hero-text>*,.hero-title .hl::after,.hero-badge svg,.hero-scroll i{animation:none!important}
  .marquee{overflow-x:auto}
  .marquee-track{animation:none}
}
html[data-contrast="high"] .mission{background:#000}
html[data-contrast="high"] .mission::after,html[data-contrast="high"] .section-head[data-bg]::before,html[data-contrast="high"] .hero-badge{display:none}
.ncard-text{color:#fff!important;opacity:.9}
/* 修正跑版：內容欄不可被寬元素（時間軸、表格、影片）撐開，寬元素在自己的框內左右捲動 */
.page-layout>*,.with-side>*,.contact-grid>*,.found-grid>*,.mission-in>*,.visit-grid>*{min-width:0}
@media (min-width:1000px){.page-layout{grid-template-columns:minmax(0,1fr) 300px}}
.tl-scroll,.table-wrap{max-width:100%}
.page-main .tl-scroll{margin-left:0;margin-right:0}
html,body{overflow-x:clip}
/* 照片不裁切：文章封面與相簿顯示完整照片；固定比例的卡片以上方為重心（避免切到人臉） */
.article-cover{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 2px 14px rgba(0,0,0,.05)}
.article-cover a{display:block}
.article-cover img{display:block;width:auto!important;max-width:100%;height:auto!important;max-height:80vh!important;margin:0 auto;object-fit:contain!important;border-radius:0!important}
.cover img{object-fit:contain}
/* 相簿：依照片原始比例排列（瀑布流），不裁切 */
.gallery{display:block!important;columns:2 220px;column-gap:12px}
@media (min-width:900px){.gallery{columns:3 260px}}
.gallery li{break-inside:avoid;margin:0 0 12px;display:block}
.gallery a{aspect-ratio:auto!important;height:auto}
.gallery img{height:auto!important;object-fit:contain!important}
.gallery .yt-facade{aspect-ratio:16/9!important}
.gallery .yt-facade img{height:100%!important;object-fit:cover!important}
/* 卡片、主視覺、照片牆：裁切時保留上半部 */
.ncard .ncard-media img,.wall-item img,.mq-item img,.contact-photo img,.hero-slide img,.off-face img{object-position:center 28%}
.page-banner{background-position:center 28%!important}
/* 內文影片 */
.prose .yt-facade{display:block;position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000;margin:1.4em 0}
.prose .yt-facade img{width:100%;height:100%;object-fit:cover}
.gv-credit{margin:0;font-size:.85rem;color:var(--z-mahogany-40)}
.gv-credit a{color:#fff;text-decoration:underline;text-underline-offset:.2em}
.gv-credit a:hover{color:var(--on-dark-accent)}
main>.page-banner+.container{padding-top:clamp(36px,6vw,72px)}

/* =========================================================
   山與海（取自社徽：台灣山脈稜線、日出、海浪），僅用品牌色
   ========================================================= */
.landscape{display:block;width:100%;pointer-events:none;overflow:hidden}
.landscape .ls-rays{fill:none;stroke-width:5;stroke-linecap:round}
.landscape .ls-wave{fill:none;stroke-width:3;stroke-linecap:round}
/* 主視覺底部：半透明山脈＋金色海浪，接到頁面底色 */
.hero-curve,.hero-waves{display:none}
.ls-hero{position:absolute;left:0;right:0;bottom:-1px;height:clamp(90px,11vw,170px);z-index:1}
.ls-hero .ls-back{fill:rgba(255,255,255,.12)}
.ls-hero .ls-front{fill:rgba(255,255,255,.2)}
.ls-hero .ls-wave{stroke:var(--z-gold);opacity:.8}
.ls-hero .ls-sea{fill:var(--z-gray-20)}
.ls-hero .ls-sun circle{fill:var(--z-gold);opacity:.9}
.ls-hero .ls-rays{stroke:var(--z-gold);opacity:.9}
.hero-v2 .hero-inner{padding-bottom:clamp(110px,12vw,180px)}
.hero-badge{bottom:clamp(170px,15vw,230px)!important}
/* 內頁橫幅底部 */
.page-banner{position:relative}
.ls-banner{position:absolute;left:0;right:0;bottom:-1px;height:clamp(44px,6vw,90px);z-index:0}
.ls-banner .ls-back{fill:rgba(255,255,255,.12)}
.ls-banner .ls-front{fill:rgba(255,255,255,.18)}
.ls-banner .ls-wave{stroke:var(--z-gold);opacity:.7}
.ls-banner .ls-sea{fill:var(--z-gray-20)}
.page-banner-in{position:relative;z-index:1}
/* 使命區上緣：從淺灰底升起紅褐色山海 */
.ls-divider{height:clamp(70px,9vw,140px);background:var(--z-gray-20);margin:calc(-1 * clamp(64px,9vw,120px)) 0 clamp(32px,4vw,56px)}
.ls-divider .ls-back{fill:var(--z-mahogany-40)}
.ls-divider .ls-front{fill:var(--z-mahogany-80)}
.ls-divider .ls-sea{fill:var(--z-mahogany)}
.ls-divider .ls-wave{stroke:var(--z-gold);opacity:.9}
.mission{margin-top:0;overflow:hidden}
/* 頁尾上緣：日出、山脈、海浪 */
.gv-footer{padding-top:0!important}
.ls-footer{height:clamp(110px,12vw,190px);background:var(--z-gray-20);margin-bottom:clamp(40px,5vw,64px)}
.ls-footer .ls-back{fill:var(--z-mahogany-40)}
.ls-footer .ls-front{fill:var(--z-mahogany-80)}
.ls-footer .ls-sea{fill:var(--z-mahogany)}
.ls-footer .ls-wave{stroke:var(--z-gold)}
.ls-footer .ls-sun circle{fill:var(--z-orange)}
.ls-footer .ls-rays{stroke:var(--z-orange)}
.footer-cta{margin-bottom:calc(-1 * clamp(80px,9vw,140px))}
html[data-contrast="high"] .landscape{display:none}

/* 年度行事曆 */
.wcal{list-style:none;margin:1.5em 0;padding:0;display:grid;gap:12px}
.wcal:not(.wcal-compact){grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr))}
.wcal-item{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;background:#fff;border:1px solid var(--z-gray-40);border-radius:16px}
.wcal-m{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:64px;border-radius:14px;background:var(--z-mahogany-20);color:var(--z-mahogany);line-height:1}
.wcal-m b{font:900 1.7rem/1 "Lato",sans-serif}
.wcal-m small{font-size:.75rem;font-weight:700;margin-top:2px}
.wcal-body{min-width:0}
.wcal-t{font-size:1.05rem;margin:0 0 .25em;color:var(--z-mahogany)}
.wcal-body p{margin:0;font-size:.94rem;color:#4d4d4d;line-height:1.6}
.wcal-note{display:flex;gap:6px;align-items:center;margin-top:6px!important;color:var(--z-mahogany-80)!important;font-weight:700}
.wcal-note .ico{width:16px;height:16px}
.wcal-badge{display:inline-block;margin-bottom:4px;padding:.1em .7em;border-radius:99px;background:var(--z-mahogany);color:#fff;font-size:.78rem;font-weight:800}
.wcal-badge.b-next{background:var(--z-gold);color:var(--z-mahogany)}
.wcal-item.is-now{border:2px solid var(--z-mahogany);box-shadow:0 14px 30px -20px rgba(224,87,10,.6)}
.wcal-item.is-now .wcal-m{background:var(--z-mahogany);color:#fff}
.wcal-item.is-next{border-color:var(--z-gold)}
.wcal-item.is-rest{opacity:.7}
.wcal-item.is-past{opacity:.55}
/* 首頁：接下來的會務 */
.up-grid{display:grid;gap:22px;align-items:start}
@media (min-width:960px){.up-grid{grid-template-columns:1.4fr 1fr}}
.up-grid .wcal{margin:0}
.up-days{position:relative;overflow:hidden;isolation:isolate;padding:24px;border-radius:22px;background:var(--z-cyan);color:#fff}
.up-days::after{content:"";position:absolute;right:-30px;bottom:-30px;width:160px;height:160px;border-radius:50%;background:var(--z-gold);opacity:.18;z-index:-1}
.up-k{margin:0 0 10px;font:900 .82rem/1 "Lato",sans-serif;letter-spacing:.14em;color:var(--on-dark-accent)}
/* 紀念日倒數 */
.zdays{list-style:none;margin:1.5em 0;padding:0;display:grid;gap:12px}
.zd-item{display:flex;gap:16px;align-items:center;padding:16px 18px;background:#fff;border:1px solid var(--z-gray-40);border-radius:16px}
.zd-item.is-first{border:2px solid var(--z-gold)}
.zd-count{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:86px;height:86px;border-radius:50%;background:var(--z-mahogany);color:#fff;line-height:1.05;text-align:center}
.zd-count b{font:900 1.9rem/1 "Lato",sans-serif;color:var(--on-dark-accent)}
.zd-count small{font-size:.72rem;font-weight:700}
.zd-count.is-on b{font-size:1rem;color:#fff}
.zd-date{margin:0;font:700 .85rem/1.3 "Lato",sans-serif;color:var(--z-mahogany-80)}
.zd-t{margin:.15em 0 .25em;font-size:1.08rem;color:var(--z-mahogany)}
.zd-body p:last-child{margin:0;font-size:.92rem;color:#4d4d4d}
.zdays-compact{margin:0 0 14px}
.zdays-compact .zd-item{background:transparent;border:0;padding:0;align-items:flex-start}
.zdays-compact .zd-count{background:#fff}
.zdays-compact .zd-count b{color:var(--z-mahogany)}
.zdays-compact .zd-count small{color:var(--z-mahogany)}
.zdays-compact .zd-count.is-on b{color:var(--z-mahogany)}
.zdays-compact .zd-date{color:var(--z-gold-40)}
.zdays-compact .zd-t{color:#fff;font-size:1.25rem}
.zdays-compact .zd-body p:last-child{color:#fff;opacity:.92}
/* 入社費用試算 */
.feecalc{margin:2em 0;padding:clamp(20px,3vw,30px);border-radius:20px;background:#fff;border:2px solid var(--z-mahogany-20)}
.feecalc h2{display:flex;align-items:center;gap:8px;margin:0 0 .6em;font-size:1.35rem}
.fc-q{display:grid;gap:14px}
@media (min-width:640px){.fc-q{grid-template-columns:1fr 1fr}}
.fc-q fieldset{border:0;margin:0;padding:0;display:grid;gap:8px}
.fc-q legend{font-weight:800;color:var(--z-mahogany);margin-bottom:6px}
.fc-q label{display:flex;align-items:center;gap:10px;padding:12px 14px;border:2px solid var(--z-gray-40);border-radius:12px;cursor:pointer}
.fc-q label:has(input:checked){border-color:var(--z-mahogany);background:var(--z-mahogany-20)}
.fc-q input{width:20px;height:20px;accent-color:var(--z-mahogany)}
.fc-q label span{display:flex;flex-direction:column;font-weight:700}
.fc-q label small{font-weight:400;color:#666;font-size:.82rem}
.fc-out{margin-top:16px;border-radius:14px;overflow:hidden;border:1px solid var(--z-gray-40)}
.fc-out p{display:flex;justify-content:space-between;gap:12px;margin:0;padding:12px 16px;border-bottom:1px solid var(--z-gray-40)}
.fc-out b{font-family:"Lato",var(--font)}
.fc-total{background:var(--z-mahogany);color:#fff;border:0!important}
.fc-total b{color:var(--on-dark-accent);font-size:1.15rem}
/* 章程目錄 */
.bylaws-toc{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0!important;margin:1em 0 1.6em!important}
.bylaws-toc li{margin:0!important}
.bylaws-toc li::before{display:none!important}
.bylaws-toc a{display:inline-block;padding:.35em 1em;border-radius:99px;background:var(--z-gray-20);border:1px solid var(--z-gray-40);text-decoration:none;font-weight:700;color:var(--z-mahogany)}
.bylaws-toc a:hover{background:var(--z-mahogany-20)}

/* 大事記頁：直式時間軸（內容區較窄，不再橫向排列，避免跑版） */
.tl-vertical{margin:1.6em 0;max-width:100%}
.tl-vertical .timeline{flex-direction:column;gap:14px;padding-left:44px}
.tl-vertical .timeline::before{left:15px;right:auto;top:6px;bottom:6px;width:3px;height:auto;background:linear-gradient(180deg,var(--z-gold),var(--z-orange))}
.tl-vertical .tl-year{padding-top:0;margin-left:-44px}
.tl-vertical .tl-item{flex:none;width:auto;padding-top:0}
.tl-vertical .tl-item::before{top:22px;left:-38px}
.tl-vertical .tl-card{height:auto}
.tl-vertical .tl-text{margin-bottom:8px}

/* === 首頁細修 === */
/* 背景英文字：移到右側、改為線框字，不再壓到小標與標題 */
.section-head[data-bg]::before{left:auto;right:0;top:-.42em;color:transparent;-webkit-text-stroke:1.5px var(--z-mahogany);opacity:.13;font-size:clamp(3.4rem,9vw,7rem)}
.section-dark .section-head[data-bg]::before{color:transparent;-webkit-text-stroke:1.5px #fff;opacity:.16}
@media (max-width:899px){.section-head[data-bg]::before{display:none}}
/* 創社緣起：年度回顧跟著捲動，避免右側大片留白；與使命區的間距收緊 */
@media (min-width:960px){.recap{position:sticky;top:110px;align-self:start}}
#founding{padding-bottom:clamp(12px,2vw,24px)}
.ls-divider{margin-top:calc(-1 * clamp(64px,9vw,120px))}
/* 大事記橫向捲動：細捲軸、右緣淡出、箭頭按鈕 */
.tl-scroll{scrollbar-width:thin;scrollbar-color:var(--z-mahogany-40) transparent;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 64px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 64px),transparent)}
.tl-scroll.at-end{-webkit-mask-image:none;mask-image:none}
.tl-scroll::-webkit-scrollbar{height:6px}
.tl-scroll::-webkit-scrollbar-thumb{background:var(--z-mahogany-40);border-radius:6px}
.tl-scroll::-webkit-scrollbar-track{background:transparent}
.tl-nav{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:10px}
.tl-nav .tl-hint{margin:0 auto 0 0}
.tl-btn{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;border:2px solid var(--z-mahogany);background:#fff;color:var(--z-mahogany);cursor:pointer;transition:background .2s,color .2s}
.tl-btn .ico{width:22px;height:22px}
.tl-btn:hover:not(:disabled){background:var(--z-mahogany);color:#fff}
.tl-btn:disabled{opacity:.3;cursor:default}
html[data-contrast="high"] .tl-scroll{-webkit-mask-image:none;mask-image:none}
#found-h{word-break:keep-all;text-wrap:balance}

/* === 山海日出 v2：太陽獨立繪製（不變形），從山後升起 === */
.landscape{position:relative;overflow:hidden;pointer-events:none}
.landscape .ls-land{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1}
.landscape .ls-sun{position:absolute;z-index:0;display:block;height:auto}
.landscape .ls-sun circle{fill:var(--z-gold)}
.landscape .ls-sun .ls-rays line{stroke:var(--z-gold);stroke-width:9;stroke-linecap:round}
@media (prefers-reduced-motion:no-preference){
  .landscape .ls-sun{animation:sunrise 1.6s cubic-bezier(.2,.7,.2,1) both}
  .landscape .ls-rays{transform-origin:100px 100px;animation:rays 6s ease-in-out infinite}
}
@keyframes sunrise{from{transform:translateY(45%);opacity:0}to{transform:none;opacity:1}}
@keyframes rays{50%{opacity:.55}}
/* 主視覺 */
.ls-hero .ls-sun{right:15%;bottom:34%;width:clamp(64px,7vw,108px);opacity:.95}
/* 頁尾：白色聯絡卡＋暖色日出 */
.footer-cta{margin-bottom:0!important}
.footer-cta .fcta-box{background:#fff!important;color:#3a3a3a;border:1px solid var(--z-gray-40);border-top:0;box-shadow:0 24px 50px -30px rgba(224,87,10,.45);padding-top:34px}
.footer-cta .fcta-box::before{display:block;content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,var(--z-mahogany),var(--z-orange) 55%,var(--z-gold));opacity:1;z-index:0}
.footer-cta .fcta-box::after{border:0;width:220px;height:220px;right:-70px;bottom:-110px;background:var(--z-gold-40);opacity:.55;border-radius:50%}
.footer-cta .fcta-kicker{color:var(--z-orange)!important}
.footer-cta .fcta-text h2{color:var(--z-mahogany)}
.footer-cta .fcta-text p{color:#555}
.footer-cta .fcta-actions .btn-light{background:var(--z-mahogany)!important;color:#fff!important;border:2px solid var(--z-mahogany)!important}
.footer-cta .fcta-actions .btn-light:hover{background:var(--z-mahogany-80)!important}
.footer-cta .fcta-actions .btn-fb{background:var(--z-cyan)!important;color:#fff!important;border:2px solid var(--z-cyan)!important}
.footer-cta .fcta-actions .btn-outline-light{background:#fff!important;color:var(--z-mahogany)!important;border:2px solid var(--z-mahogany)!important}
.footer-cta .fcta-actions .btn-outline-light:hover{background:var(--z-mahogany-20)!important}
.footer-cta .fcta-actions .btn-outline-light.btn-go::after{background-color:var(--z-mahogany)!important}
.ls-footer{height:clamp(130px,14vw,220px);margin-bottom:clamp(40px,5vw,64px);background:linear-gradient(180deg,var(--z-gray-20) 0%,var(--z-gray-20) 30%,#ffecb4 100%)}
.ls-footer .ls-sun{right:16%;bottom:30%;width:clamp(96px,10vw,160px)}
.ls-footer .ls-back{fill:#f6c193}
.ls-footer .ls-front{fill:#ec9450}
.ls-footer .ls-wave{stroke:var(--z-gold);stroke-width:4}
.ls-footer .ls-sea{fill:var(--z-mahogany)}
html[data-contrast="high"] .footer-cta .fcta-box{background:#000!important;color:#fff}
html[data-contrast="high"] .footer-cta .fcta-text h2{color:#fff}
/* 影片縮圖清晰：不再半透明，備援的 4:3 縮圖裁掉黑邊 */
.yt-facade img,.yt-facade .yt-thumb{opacity:1!important;width:100%;height:100%;object-fit:cover;object-position:center}
.yt-facade::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.28));pointer-events:none}
.yt-facade .yt-play{z-index:1}



.footer-cta .fcta-box::after{display:none}
.footer-cta .fcta-actions .btn-outline-light.btn-go::after{background-color:var(--z-mahogany-20)!important}
.ls-footer .ls-sun{right:9%;bottom:32%}
.ls-footer{height:clamp(170px,17vw,280px)}
.ls-footer .ls-land{top:auto;bottom:0;height:72%}
.ls-footer .ls-sun{right:9%;bottom:44%;width:clamp(90px,9vw,150px)}
@media (max-width:559px){.footer-cta .fcta-actions .btn-light strong{font-size:.98rem;word-break:normal;overflow-wrap:anywhere}.footer-cta .fcta-actions .btn{justify-content:flex-start;padding-left:20px}}
.footer-cta .fcta-text h2{word-break:keep-all}

/* =========================================================
   蜜蜂女孩客服（右下角）
   ========================================================= */
.chat-fab{display:none!important}
.bee-dock{position:fixed;right:16px;bottom:calc(88px + env(safe-area-inset-bottom));z-index:96;display:flex;align-items:flex-end;gap:10px;pointer-events:none}
.bee-dock>*{pointer-events:auto}
@media (min-width:900px){.bee-dock{right:24px;bottom:108px}}
body.chat-open .bee-dock{display:none}
.bee-fab{position:relative;display:block;width:72px;height:72px;padding:0;border:4px solid #fff;border-radius:50%;background:var(--z-gold);box-shadow:0 10px 26px -6px rgba(224,87,10,.55),0 0 0 3px var(--z-gold);cursor:pointer;transition:transform .2s}
@media (min-width:900px){.bee-fab{width:84px;height:84px}}
.bee-fab img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.bee-fab:hover{transform:translateY(-3px) rotate(-4deg)}
.bee-fab:focus-visible{outline:3px solid var(--z-mahogany);outline-offset:4px}
.bee-fab-t{position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);padding:.15em .7em;border-radius:99px;background:var(--z-mahogany);color:#fff;font-size:.78rem;font-weight:800;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.2)}
@media (prefers-reduced-motion:no-preference){
  .bee-fab{animation:bee-float 3.2s ease-in-out infinite}
  .bee-fab:hover{animation:none}
}
@keyframes bee-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.bee-hello{position:relative;margin:0 0 30px;max-width:230px;padding:12px 30px 12px 14px;border-radius:16px 16px 4px 16px;background:#fff;color:#333;font-size:.95rem;line-height:1.55;box-shadow:0 12px 30px -10px rgba(224,87,10,.45);border:2px solid var(--z-gold);opacity:0;transform:translateY(8px) scale(.96);transform-origin:right bottom;transition:opacity .25s,transform .25s}
.bee-hello.is-on{opacity:1;transform:none}
.bee-hello[hidden]{display:none}
.bee-hello-x{position:absolute;top:4px;right:6px;width:26px;height:26px;border:0;border-radius:50%;background:transparent;color:#666;font-size:1.2rem;line-height:1;cursor:pointer}
.bee-hello-x:hover{background:var(--z-gray-20)}
/* 手機：回到頁首按鈕移到蜜蜂上方 */
@media (max-width:899px){.to-top{bottom:calc(184px + env(safe-area-inset-bottom))}}
@media (min-width:900px){.to-top{bottom:220px}}
/* 底部功能列的蜜蜂 */
.action-bar .ab-bee img{width:34px;height:34px;border-radius:50%;border:2px solid var(--z-gold);background:var(--z-gold)}
/* 對話視窗 */
.bee-panel .chat-head{background:var(--z-mahogany)}
.bee-panel .bee-avatar{width:48px;height:48px;border:3px solid var(--z-gold);background:var(--z-gold)}
.bee-panel .chat-head p{color:var(--z-gold-40)}
.bee-intro{display:flex;justify-content:center;margin:-4px 0 -8px}
.bee-intro img{width:150px;height:150px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(224,87,10,.18))}
.bee-panel .msg-bot{position:relative;margin-left:42px;border-color:var(--z-gold-40)}
.bee-panel .msg-bot::before{content:"";position:absolute;left:-42px;top:0;width:34px;height:34px;border-radius:50%;background:var(--z-gold) url("../img/bee-face-96.webp") center/cover;border:2px solid var(--z-gold)}
.bee-panel .msg-user{background:var(--z-mahogany)}
.bee-panel .msg-links a{background:var(--z-gold-40);color:var(--z-mahogany)}
.bee-panel .chat-suggest .chip{border-color:var(--z-gold);color:var(--z-mahogany)}
.bee-panel .chat-call{background:var(--z-cyan)}
html[data-contrast="high"] .bee-hello{background:#000;color:#fff;border-color:#ff0}
@media print{.bee-dock{display:none}}
.bee-panel .chat-close{white-space:nowrap;flex:none}
.bee-panel .chat-head>div{min-width:0}
@media (max-width:899px){.bee-hello{max-width:200px;font-size:.9rem}}
/* 頁尾天空：改為單色，太陽後方加柔和光暈，避免漸層色帶 */
.ls-footer{background:var(--z-gray-20)}
.ls-footer::before{content:"";position:absolute;right:calc(9% - 4vw);bottom:20%;width:clamp(200px,22vw,360px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(244,161,39,.28) 0%,rgba(244,161,39,0) 68%);z-index:0}
/* 使命區山脈：保留完整山頂 */
.mission .ls-divider{position:relative;z-index:0}
#founding{position:relative;z-index:1}
.footer-cta{position:relative;z-index:2}
.ls-footer::before{width:clamp(150px,15vw,240px);right:calc(9% - 2.5vw);bottom:24%;background:radial-gradient(circle closest-side,rgba(244,161,39,.3),rgba(244,161,39,0))}
/* 窄螢幕：山脈不壓縮成尖刺，改為保持寬度、只顯示其中一段 */
.landscape .ls-land{right:auto;width:max(100%,960px)}
.ls-footer .ls-land,.ls-hero .ls-land{left:auto;right:0}
/* 主視覺山脈改為不透明，太陽才會乾淨地「藏在山後」 */
.ls-hero .ls-back{fill:var(--z-mahogany-80)}
.ls-hero .ls-front{fill:var(--z-mahogany-40)}
.ls-hero .ls-sun{opacity:1;bottom:30%}
.ls-hero .ls-sun{bottom:46%}@media (max-width:699px){.ls-hero .ls-sun{bottom:50%;right:12%}}
.ls-hero{overflow:visible}.hero-v2{overflow:hidden}

/* =========================================================
   主視覺 v3：左文字、右照片（文字不再疊在人物上）
   ========================================================= */
.hero-v2.hero-split{position:relative;isolation:isolate;overflow:hidden;min-height:0!important;display:block;background:var(--z-mahogany)!important;padding-bottom:clamp(90px,10vw,150px)}
.hero-split .hero-shade{display:none}
.hero-split .hero-circuit{display:block;opacity:.06}
.hero-split .hero-inner{display:grid!important;grid-template-columns:1fr!important;gap:22px!important;padding-bottom:0!important;align-items:center}
.hero-split .hero-text{max-width:none;order:2;position:relative;z-index:2}
.hero-split .hero-title,.hero-split .hero-sub{text-shadow:none}
.hero-split .hero-title{font-size:clamp(2rem,7vw,3.4rem)!important}
.hero-split .hero-sub{color:#fff;opacity:.92}
.hero-split .hero-media{order:1;position:relative;z-index:2;min-width:0}
.hero-split .hero-frame{position:relative;border-radius:22px;aspect-ratio:3/2;box-shadow:0 30px 60px -28px rgba(0,0,0,.6);outline:6px solid rgba(255,255,255,.12);outline-offset:0}
.hero-split .hero-slides{position:absolute!important;inset:0!important;height:auto!important;z-index:0!important;border-radius:22px;overflow:hidden}
.hero-split .hero-slide img,.hero-split .hero-slide picture{width:100%;height:100%;object-fit:cover;object-position:center 40%!important}
.hero-split .hero-ctrl{padding:12px 2px 0!important;display:flex;align-items:center;justify-content:space-between;gap:12px}
.hero-split .hero-cap{max-width:none;color:var(--z-gold-40)}
.hero-split .hero-now{display:flex;margin-top:12px;border-left:6px solid var(--z-gold)}
.hero-split .hero-badge{display:none!important}
@media (min-width:960px){
  .hero-split .hero-inner{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;gap:clamp(36px,4vw,64px)!important;padding-top:clamp(40px,4vw,64px)!important}
  .hero-split .hero-text{order:1}
  .hero-split .hero-media{order:2}
  .hero-split .hero-title{font-size:clamp(2.3rem,3.6vw,3.4rem)!important}
  .hero-split .hero-badge{display:grid!important;place-items:center;position:absolute!important;left:-62px!important;right:auto!important;bottom:-48px!important;top:auto!important;width:150px!important;height:150px!important;z-index:3}
  .hero-split .hero-badge .hb-in b{font-size:1.9rem}
}
@media (max-width:959px){.hero-split .hero-frame{margin:0 -4px}}
/* 主視覺底部山海：放在照片下方 */
.hero-split .ls-hero{z-index:1}
@media (min-width:800px){.videos-3{grid-template-columns:2fr 1fr!important}.videos-3 .v-main{grid-row:span 2}}
/* 使命區：標題在上、願景／使命／S.H.A.R.E. 三卡並排 */
.mission-in{grid-template-columns:1fr!important;gap:28px!important;align-items:start!important}
.mission-head{display:grid;gap:4px}
.mission-title{margin:.2em 0 .1em!important}
@media (min-width:900px){.mission-cols{grid-template-columns:repeat(3,minmax(0,1fr))}.mission-title br{display:none}.mission-title{font-size:clamp(2rem,3.4vw,2.9rem)!important}}
.mission-card{display:flex;flex-direction:column}
.mission-card .more{margin-top:auto!important;align-self:flex-start}
.mc-share{background:rgba(244,161,39,.12)!important;border-color:rgba(244,161,39,.45)!important}
.found-links{display:flex;flex-wrap:wrap;gap:10px;margin:0}
/* 山海圖案：主視覺與內頁橫幅固定貼在底部 */
.landscape.ls-hero,.landscape.ls-banner{position:absolute;left:0;right:0;bottom:-1px}
/* 主視覺預留浮動選單的高度 */
.hero-split .hero-inner{padding-top:calc(var(--hh,96px) + 28px)!important}
@media (min-width:960px){.hero-split .hero-inner{padding-top:calc(var(--hh,96px) + 44px)!important}}
.hero-split{padding-bottom:clamp(110px,11vw,170px)}
/* 2087 徽章：照片右下角外側，不擋說明文字 */
@media (min-width:960px){.hero-split .hero-badge{left:auto!important;right:-34px!important;bottom:-56px!important;width:136px!important;height:136px!important}}
.hero-split .hero-ctrl{padding-right:110px!important}
@media (max-width:959px){.hero-split .hero-ctrl{padding-right:0!important}}
.hero-split .hero-text .hero-now{margin-top:18px;max-width:560px}
/* 手機：招呼泡泡不蓋住內容，只留蜜蜂 */
@media (max-width:599px){.bee-hello{display:none!important}}
@media (max-width:599px){
  .page-home .stats{grid-template-columns:1fr 1fr!important}
  .page-home .stat{flex-direction:column!important;align-items:center!important;text-align:center!important;padding:14px 8px!important;gap:2px!important}
  .page-home .stat+.stat{border:0!important}
  .page-home .stat:nth-child(odd){border-right:1px solid var(--border)!important}
  .page-home .stat:nth-child(n+3){border-top:1px solid var(--border)!important}
  .page-home .stat-n{min-width:0!important}
}

/* =========================================================
   首頁手機版精簡：改用左右滑動與雙欄，縮短頁面長度
   ========================================================= */
@media (max-width:759px){
  /* 社團活動、使命三卡：橫向滑動 */
  .page-home .ncards-bento,.page-home .mission-cols{display:grid!important;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:82%;gap:12px!important;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;margin:0 -16px;padding-left:16px;padding-right:16px;scrollbar-width:none}
  .page-home .ncards-bento::-webkit-scrollbar,.page-home .mission-cols::-webkit-scrollbar{display:none}
  .page-home .ncards-bento>*,.page-home .mission-cols>*{scroll-snap-align:start;grid-column:auto!important;grid-row:auto!important;min-height:0}
  .page-home .ncards-bento .ncard{aspect-ratio:4/5}
  .page-home .ncards-bento .ncard .ncard-text{display:none}
  /* 創社緣起：內文最多 6 行，年度回顧精簡 */
  .page-home .found-prose{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
  .page-home .found-prose p+p{display:none}
  .page-home .recap-t{display:none}
  .page-home .found-logo{width:84px!important;height:84px!important}
  /* 接下來的會務：只列 2 個月 */
  .page-home .wcal-compact .wcal-item:nth-child(n+3){display:none}
  .page-home .wcal-compact .wcal-body p:not(.wcal-note){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .page-home .zdays-compact .zd-body p:last-child{display:none}
  /* 幹部：四人一列 */
  .page-home .officers{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
  .page-home .officer .off-face{width:100%!important;height:auto!important;aspect-ratio:1}
  .page-home .officer .off-name{font-size:.95rem}
  .page-home .officer .off-bio{display:none}
  /* 影音：主影片＋兩部小影片並排 */
  .page-home .videos-3{grid-template-columns:1fr 1fr!important}
  .page-home .videos-3 .v-main{grid-column:1/-1}
  .page-home .videos-3 li:not(.v-main) .v-cap{font-size:.85rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  /* 頁尾連結：兩欄 */
  .gv-ft-cols{grid-template-columns:1fr 1fr!important;gap:22px 16px!important;padding:28px 0!important}
  .gv-ft-cols>section{grid-column:1/-1}
  .gv-ft-cols .footer-links li{margin:0}
  .gv-ft-cols .footer-links a{padding:6px 0;display:inline-block}
}
/* 滑動提示 */
.swipe-hint{display:none}
@media (max-width:759px){.swipe-hint{display:block;margin:4px 0 0;font-size:.85rem;color:var(--muted);text-align:right}.mission .swipe-hint{color:var(--z-gold-40)}}
@media (max-width:599px){.page-home .hero-facts{display:none}}

/* =========================================================
   頁首 v3：移除上方工具列（字體／對比收進「字級」面板），Logo 放大
   ========================================================= */
:root{--hh:108px}
.util-bar{display:none!important}
.site-header .header-inner{min-height:84px!important;gap:10px}
.site-header .brand{gap:12px}
.site-header .brand .logo-mark{width:66px!important;height:66px!important;padding:0!important;background:transparent!important;box-shadow:0 4px 12px -4px rgba(229,119,30,.55)}
.site-header .brand-name{font-size:1.18rem}
@media (max-width:899px){:root{--hh:96px}.site-header .header-inner{min-height:72px!important}.site-header .brand .logo-mark{width:54px!important;height:54px!important}}
@media (max-width:420px){.site-header .brand .logo-mark{width:48px!important;height:48px!important}}
/* 字級按鈕與面板 */
.a11y{position:relative;flex:none}
.a11y-btn{display:inline-flex;align-items:center;gap:4px;min-height:46px;padding:0 12px;border:2px solid var(--z-gray-40);border-radius:12px;background:#fff;color:var(--z-mahogany);font:inherit;font-weight:800;font-size:.95rem;cursor:pointer}
.a11y-btn .ico{width:20px;height:20px}
.a11y-btn:hover,.a11y-btn[aria-expanded="true"]{border-color:var(--z-mahogany);background:var(--z-mahogany-20)}
@media (max-width:520px){.a11y-t{display:none}.a11y-btn{padding:0 10px}}
.a11y-pop{position:absolute;right:0;top:calc(100% + 12px);z-index:120;width:260px;padding:16px;border-radius:16px;background:#fff;border:1px solid var(--z-gray-40);box-shadow:0 20px 44px -16px rgba(224,87,10,.45)}
.a11y-pop[hidden]{display:none}
.a11y-pop::before{content:"";position:absolute;right:22px;top:-7px;width:12px;height:12px;background:#fff;border-left:1px solid var(--z-gray-40);border-top:1px solid var(--z-gray-40);transform:rotate(45deg)}
.a11y-k{margin:0 0 8px;font-weight:800;font-size:.9rem;color:var(--z-mahogany)}
.a11y-fs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}
.a11y-pop .fs-btn{min-height:44px;border:2px solid var(--z-gray-40);border-radius:10px;background:#fff;color:#333;font:inherit;font-weight:800;cursor:pointer}
.a11y-pop .fs-btn[data-fs="2"]{font-size:1.1rem}.a11y-pop .fs-btn[data-fs="3"]{font-size:1.25rem}
.a11y-pop .fs-btn[aria-pressed="true"]{background:var(--z-mahogany);border-color:var(--z-mahogany);color:#fff}
.a11y-pop .contrast-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:46px;border:2px solid #222;border-radius:10px;background:#fff;color:#222;font:inherit;font-weight:800;cursor:pointer}
.a11y-pop .contrast-btn[aria-pressed="true"]{background:#000;color:#ff0;border-color:#000}
html[data-contrast="high"] .a11y-btn,html[data-contrast="high"] .a11y-pop{background:#000;color:#fff;border-color:#fff}
@media print{.a11y{display:none}}
.site-header .header-inner{max-width:1280px!important}
.site-header .brand-name{letter-spacing:.02em}
@media (min-width:1240px){.site-header .brand-name{white-space:nowrap;text-wrap:nowrap}.site-header .nav-top{padding:0 .6em}}
.site-header .header-search{width:46px;height:46px}
.a11y-pop{width:280px;font-size:16px}
.a11y-pop .fs-btn{white-space:nowrap;font-size:15px!important}
.a11y-pop .fs-btn[data-fs="2"]{font-size:18px!important}.a11y-pop .fs-btn[data-fs="3"]{font-size:21px!important}
.a11y-pop .contrast-btn,.a11y-k{font-size:15px}
.a11y-pop .fs-btn{display:grid;place-items:center;text-align:center;padding:0}

/* =========================================================
   語系切換
   ========================================================= */
.lang-btn{display:inline-flex;align-items:center;gap:5px;flex:none;min-height:46px;padding:0 12px;border:2px solid var(--z-gray-40);border-radius:12px;background:#fff;color:var(--z-mahogany);font-weight:800;font-size:.95rem;text-decoration:none;font-family:"Lato",var(--font)}
.lang-btn .ico{width:19px;height:19px}
.lang-btn:hover{border-color:var(--z-mahogany);background:var(--z-mahogany-20);color:var(--z-mahogany)}
@media (max-width:420px){.lang-btn{padding:0 9px}.lang-btn .ico{display:none}}
html[data-contrast="high"] .lang-btn{background:#000;color:#fff;border-color:#fff}
.zh-only-note{display:flex;align-items:center;gap:8px;margin:0 0 1em;padding:10px 14px;border-radius:12px;background:var(--z-gold-40);color:var(--z-mahogany);font-weight:700;font-size:.95rem}
.zh-only-note::before{content:"中";display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--z-mahogany);color:#fff;font-size:.8rem;flex:none}
.wcal-m .wcal-mn{font-size:1.15rem!important;letter-spacing:.02em}
html[lang="en"] .stat-n small{margin-left:.2em;font-size:.55em}
html[lang="en"] .hero-title,html[lang="en"] .section-title,html[lang="en"] .mission-title{letter-spacing:0}
html[lang="en"] .brand-name{letter-spacing:0}
/* 英文版：社名較長，允許換行；主視覺標題略小 */
html[lang="en"] .site-header .brand-name{white-space:normal!important;text-wrap:balance!important;max-width:11.5em;font-size:1.05rem;line-height:1.2}
html[lang="en"] .site-header .brand-sub{font-size:.78rem}
@media (min-width:1240px){html[lang="en"] .site-header .nav-top{padding:0 .5em}}
@media (min-width:960px){html[lang="en"] .hero-split .hero-title{font-size:clamp(2.1rem,3.1vw,3rem)!important}}
html[lang="en"] .footer-cta .fcta-text h2{white-space:normal}
@media (max-width:520px){
  .site-header .header-search{display:none}
  html[lang="en"] .site-header .brand-name{font-size:.9rem;max-width:8.5em;hyphens:none;word-break:keep-all;overflow-wrap:normal}
  html[lang="en"] .site-header .brand-name .nb{white-space:nowrap}
}
@media (max-width:520px){html[lang="en"] .site-header .brand-name{max-width:none;font-size:.92rem}}
html[lang="en"] .site-header .brand-name .nb{white-space:nowrap}
@media (max-width:420px){
  .site-header .header-inner{gap:6px;padding:0 8px 0 10px}
  .site-header .brand{gap:8px;min-width:0}
  .site-header .brand .logo-mark{width:44px!important;height:44px!important}
  html[lang="en"] .site-header .brand-name{font-size:.82rem}
  .lang-btn,.a11y-btn{min-height:42px;padding:0 8px;font-size:.88rem}
}
@media (max-width:380px){
  .site-header .brand .logo-mark{width:40px!important;height:40px!important}
  .site-header .brand-name{font-size:.86rem!important;letter-spacing:0}
  html[lang="en"] .site-header .brand-name{font-size:.74rem!important}
  .lang-btn,.a11y-btn{padding:0 7px;min-height:40px}
  .site-header .menu-toggle{min-width:48px;padding:0 6px}
  .site-header .menu-toggle .menu-label{font-size:.72rem}
}
/* 蜜蜂女孩：「問我」標籤放在圓圈下方，不遮住臉 */
.bee-fab-t{bottom:auto!important;top:calc(100% + 6px);transform:translateX(-50%)!important}
.bee-dock{bottom:calc(112px + env(safe-area-inset-bottom))}
@media (min-width:900px){.bee-dock{bottom:128px}}
.bee-hello{margin-bottom:40px}

/* =========================================================
   配色 v4：以橘為主——橘・琥珀・咖啡・薄荷・奶油
   橘底上的文字一律用深咖啡（--ink-on-orange，對比 5.4:1）；重點字放在咖啡色塊上
   深色區（影音、頁尾、按鈕）用咖啡色配白字
   ========================================================= */
:root{--ink-on-orange:#2e1d12;--z-mint:#75c8ae}
/* 首頁主視覺：橘底 */
.hero-v2.hero-split,.hero,.hero-v2{background:var(--z-orange)!important}
.hero-v2.hero-split .hero-shade{background:var(--z-orange)!important}
.hero-split .hero-circuit{opacity:.3}
.hero-split .hero-text,.hero-split .hero-title,.hero-split .hero-text p{color:var(--ink-on-orange)!important}
.hero-split .hero-title .hl{display:inline-block;color:var(--z-gold-40)!important;background:var(--z-mahogany);padding:.02em .32em .08em;margin:.08em 0 0 -.1em;border-radius:.28em .5em .32em .6em;transform:rotate(-1.2deg)}
.hero-split .hero-title .hl::after{display:none}
.hero-split .hero-facts li,.hero-split .hero-kicker{background:rgba(255,255,255,.3)!important;color:var(--ink-on-orange)!important}
.hero-split .hero-cap,.hero-split .hero-cap *{color:var(--ink-on-orange)!important}
.hero-split .hero-frame{outline-color:rgba(255,236,180,.6)}
.hero .btn-accent,.hero .btn-primary{color:var(--ink-on-orange)!important}
.hero-split .hero-now{border-left-color:var(--z-mahogany)}
.ls-hero .ls-back{fill:var(--z-gold)}
.ls-hero .ls-front{fill:var(--z-mint)}
.hero-split .hero-dot{border-color:var(--ink-on-orange)}.hero-split .hero-dot.is-on{background:var(--ink-on-orange)}
.hero-split .hero-pause{color:var(--ink-on-orange);border-color:rgba(46,29,18,.45);background:rgba(255,255,255,.25)}
/* 宗旨使命區：橘底深咖啡字 */
.mission{background:var(--z-orange)!important;color:var(--ink-on-orange)}
.mission::before{opacity:.35}
.mission .mission-title,.mission .section-title,.mission h2,.mission h3,.mission p,.mission li,.mission .mission-sub,.mission em{color:var(--ink-on-orange)!important}
.mission .mission-title span{color:var(--z-gold-40)!important;background:var(--z-mahogany);padding:0 .25em;border-radius:.2em .4em .25em .45em}
.mission .mission-card{background:rgba(255,248,230,.55)!important;border-color:rgba(46,29,18,.12)!important}
.mission .mission-card .mc-k,.mission .eyebrow,.mission .kicker{color:var(--z-mahogany)!important}
.mission .btn,.mission .mc-link,.mission .mission-card a{color:var(--ink-on-orange)!important;border-color:var(--ink-on-orange)!important}
/* 年度回顧卡：橘底 */
.recap{background:var(--z-orange)!important;color:var(--ink-on-orange)!important}
.recap h2,.recap h3,.recap p,.recap-k,.recap-n,.recap-n b,.recap-sub,.recap li{color:var(--ink-on-orange)!important}
.recap-tags li{background:rgba(255,255,255,.35)!important}
.recap .btn-primary,.recap .btn{background:var(--z-mahogany)!important;color:#fff!important}
/* 薄荷點綴 */
.section-title::after,.eyebrow::before{background-color:var(--z-mint)}

/* 內頁橫幅：手機用縮圖、桌機用原圖（header.php 提供兩種尺寸） */
@media (max-width:700px){.page-banner{background-image:var(--banner-img-sm,var(--banner-img))!important}}

/* 頁尾小連結（隱私權政策、系統登入等） */
.gv-ft-links{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;font-size:.85rem}
.gv-ft-links a{color:#fff;opacity:.85;text-decoration:underline;text-underline-offset:.2em}
.gv-ft-links a:hover{opacity:1;color:var(--on-dark-accent)}
.gv-ft-links .ext-ico{width:.9em;height:.9em;margin-left:3px;vertical-align:-1px}

/* 配色 v5：深色區塊也改為橘色系（深橘 #e0570a 配白字，對比 5.3:1）；咖啡色只留給內文 */
.page-banner::before{background:linear-gradient(90deg,rgba(224,87,10,.92) 0%,rgba(229,119,30,.72) 50%,rgba(229,119,30,.25) 100%)!important}
.hero-split .hero-title .hl,.mission .mission-title span{background:#fff8e6!important;color:var(--z-mahogany)!important}

/* =========================================================
   配色 v6：明亮有朝氣
   大區塊改用亮橘→琥珀漸層＋深色字；頁尾、影音區改為暖黃淺底；按鈕用活力橘 #E0570A
   小字連結用 #B04800（在米白底對比 5:1 以上）
   ========================================================= */
:root{--sun-1:#ff8a1f;--sun-2:#ffb23e;--sun-3:#ffd27a;--sun-light:#fff1d6;--sun-light-2:#ffe6bf;--link:#b04800}
a{color:var(--link)}
.prose a,.page-content a{color:var(--link)}
/* 主視覺 */
.hero-v2.hero-split,.hero,.hero-v2{background:linear-gradient(120deg,var(--sun-1) 0%,#ff9d2e 45%,var(--sun-2) 100%)!important}
.hero-v2.hero-split .hero-shade{background:transparent!important}
.hero-split .hero-circuit{opacity:.25}
.ls-hero .ls-back{fill:var(--sun-3)}
.ls-hero .ls-front{fill:var(--z-mint)}
.hero .btn-accent,.hero .btn-primary{background:#fff!important;color:var(--ink-on-orange)!important;box-shadow:0 8px 20px -10px rgba(120,50,0,.5)}
.hero .btn-accent:hover,.hero .btn-primary:hover{background:var(--sun-light)!important}
.hero-split .hero-title .hl,.mission .mission-title span{background:#fff!important;color:var(--z-mahogany)!important;box-shadow:0 6px 16px -10px rgba(120,50,0,.5)}
/* 宗旨使命 */
.mission{background:linear-gradient(160deg,var(--sun-2) 0%,var(--sun-1) 100%)!important}
.mission .mission-card{background:rgba(255,255,255,.72)!important}
/* 年度回顧卡 */
.recap{background:linear-gradient(150deg,var(--sun-1) 0%,var(--sun-2) 100%)!important}
/* 影音專區：暖黃淺底 */
.section-dark{background:linear-gradient(180deg,var(--sun-light) 0%,var(--sun-light-2) 100%)!important;color:var(--ink)!important}
.section-dark::before{opacity:.06!important}
.section-dark h2,.section-dark h3,.section-dark p,.section-dark .section-title,.section-dark figcaption,.section-dark .vid-title,.section-dark a:not(.btn){color:var(--ink)!important}
.section-dark .eyebrow,.section-dark .kicker{color:var(--z-mahogany)!important}
.section-dark .section-head[data-bg]::before{-webkit-text-stroke:1.5px var(--z-orange)!important;opacity:.18!important}
/* 頁尾：暖黃淺底、深色字 */
.gv-footer{background:var(--sun-light)!important;color:var(--ink)!important}
.gv-footer .brand-name,.gv-footer .footer-h,.gv-ft-line,.gv-ft-line a,.gv-footer .footer-links a,.gv-ft-bottom p,.gv-ft-links a,.gv-credit,.gv-credit a{color:var(--ink)!important}
.gv-footer .footer-h{color:var(--z-mahogany)!important}
.gv-ft-text,.gv-ft-line small,.gv-footer .brand-name small,.gv-ft-bottom .footer-legal a,.gv-ft-bottom .ft-a11y{color:var(--muted)!important}
.gv-footer .footer-links a:hover,.gv-ft-links a:hover,.gv-ft-line a:hover,.gv-credit a:hover{color:var(--link)!important}
.gv-footer .footer-links a::before{background:var(--z-orange)!important}
.gv-footer .social a,.gv-footer .ft-social a{color:var(--z-mahogany)!important;border-color:rgba(224,87,10,.35)!important}
.gv-ft-bottom{border-top-color:rgba(224,87,10,.2)!important}
/* 內頁橫幅：亮橘漸層 */
.page-banner::before{background:linear-gradient(90deg,rgba(224,87,10,.94) 0%,rgba(255,138,31,.78) 48%,rgba(255,178,62,.3) 100%)!important}
.gv-social span{color:var(--z-mahogany)!important;font-weight:800}
.gv-social a{color:var(--z-mahogany)!important;background:#fff!important;border:1px solid rgba(224,87,10,.35)!important}
.gv-social a:hover{background:var(--z-mahogany)!important;color:#fff!important}
.section-dark .btn,.section-dark .more-link{color:var(--z-mahogany)!important;border-color:var(--z-mahogany)!important}

/* =========================================================
   影音相簿 v2：影片獨立成區、尺寸一致；播放鈕移到左下角不擋主體
   ========================================================= */
/* 播放鈕：左下角膠囊，不再蓋住畫面中央 */
.yt-facade .yt-play,.yt-play{inset:auto auto 12px 12px!important;margin:0!important;width:auto!important;height:auto!important;border-radius:999px!important;padding:7px 14px 7px 10px;display:inline-flex!important;align-items:center;gap:6px;font-weight:800;font-size:.88rem;line-height:1;background:rgba(224,87,10,.94)!important;color:#fff!important;box-shadow:0 4px 14px rgba(0,0,0,.3)!important}
.yt-play .ico{width:18px!important;height:18px!important;margin:0!important}
.yt-facade:hover .yt-play{background:#c24a06!important;transform:translateY(-1px)}
.vgrid .yt-play-t,.videos li:not(.v-main) .yt-play-t{display:none}
.vgrid .yt-play,.videos li:not(.v-main) .yt-play{padding:8px!important}
.yt-facade::after{background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.35))!important}
/* 影片格：全部 16:9、同尺寸 */
.vgrid{list-style:none;margin:0;padding:0;display:grid;gap:22px 18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.vgrid li{min-width:0}
.vgrid .yt-facade{aspect-ratio:16/9!important;margin:0!important;border-radius:16px;height:auto!important}
.vgrid .v-cap{margin:10px 0 2px;font-size:.98rem}
.v-from{margin:0;font-size:.85rem}
.v-from a{display:inline-flex;align-items:center;gap:4px;color:var(--muted);text-decoration:none}
.v-from a:hover{color:var(--link)}
.v-from .ico{width:14px;height:14px}
/* 首頁影音：主影片也維持 16:9，不再被拉高裁切 */
.videos{align-items:start}
.videos .v-main .yt-facade{aspect-ratio:16/9!important;height:auto!important;min-height:0!important}
/* 區塊標題與快速跳轉 */
.media-h{display:flex;align-items:center;gap:10px;scroll-margin-top:120px}
.media-h .ico{width:1.1em;height:1.1em;color:var(--z-mahogany)}
.media-h small{font-size:.6em;color:var(--muted);font-weight:700}
.media-jump{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}
.media-jump a{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:#fff;border:2px solid var(--z-orange-40);color:var(--ink);font-weight:700;text-decoration:none}
.media-jump a:hover{border-color:var(--z-mahogany);color:var(--z-mahogany)}
.media-jump b{color:var(--z-mahogany);font-size:1.1em}
.media-jump .ico{width:18px;height:18px;color:var(--z-mahogany)}
.album-videos{margin-bottom:2.8rem}
/* 相簿卡片：照片數、影片數分開標示 */
.ncard-tags .tag-video{background:var(--z-mahogany)!important;color:#fff!important}
/* 相簿內照片：統一 4:3 縮圖、整齊排列（點開燈箱看完整照片） */
.gallery.gallery-even{display:grid!important;columns:auto!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.gallery.gallery-even li{margin:0!important}
.gallery.gallery-even a{aspect-ratio:4/3!important;height:auto}
.gallery.gallery-even img{width:100%!important;height:100%!important;object-fit:cover!important}
@media (max-width:599px){.vgrid{grid-template-columns:1fr}.gallery.gallery-even{grid-template-columns:repeat(2,1fr);gap:8px}}

.vmore{margin-top:22px}
.vmore>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:999px;border:2px solid var(--z-mahogany);color:var(--z-mahogany);font-weight:800;background:#fff}
.vmore>summary::-webkit-details-marker{display:none}
.vmore>summary:hover{background:var(--z-mahogany);color:#fff}
.vmore>summary .ico{width:16px;height:16px}
.vmore[open]>summary{margin-bottom:22px}

/* =========================================================
   手機版調整：橘色滿版太刺眼 → 主視覺改柔和蜜桃底；頁首店名不被按鈕蓋住；蜜蜂女孩縮小
   ========================================================= */
@media (max-width:700px){
  .hero-v2.hero-split,.hero,.hero-v2{background:linear-gradient(180deg,#ffdcb3 0%,#ffe9cf 55%,#fff6e8 100%)!important}
  .hero-split .hero-circuit{opacity:.15}
  .hero-split .hero-frame{outline-color:rgba(255,255,255,.9)}
  .hero .btn-accent,.hero .btn-primary{background:var(--z-mahogany)!important;color:#fff!important}
  .hero .btn-accent:hover,.hero .btn-primary:hover{background:#c24a06!important}
  .hero .btn-accent .btn-go::after,.hero .btn-go::after{background-color:rgba(255,255,255,.22)!important}
  .hero-split .hero-title .hl{background:var(--z-mahogany)!important;color:#fff!important}
  .ls-hero .ls-back{fill:#ffc77d}
  .mission{background:linear-gradient(180deg,#ffd9a8 0%,#ffe8c8 100%)!important}
  .mission .mission-title span{background:var(--z-mahogany)!important;color:#fff!important}
  .page-banner::before{background:linear-gradient(90deg,rgba(224,87,10,.88) 0%,rgba(255,138,31,.6) 60%,rgba(255,178,62,.2) 100%)!important}
}
@media (max-width:480px){
  .site-header .brand{min-width:0;flex:1 1 auto;gap:8px}
  .site-header .brand .logo-mark{width:46px!important;height:46px!important}
  .site-header .brand-name{font-size:1rem!important;line-height:1.25;min-width:0}
  .lang-btn,.a11y-btn{min-height:40px!important;padding:0 7px!important;font-size:.85rem!important}
  .menu-toggle{min-width:52px;padding:4px 6px!important}
  .bee-fab{width:58px!important;height:58px!important}
  .bee-fab img{width:100%!important;height:100%!important}
  .bee-fab-t{font-size:.7rem!important}
}
/* 手機標題：「跨越地域，」不在詞中斷行 */
.hero-title{word-break:keep-all;line-break:strict}
@media (max-width:380px){.hero-split .hero-title{font-size:1.9rem!important}}
/* 小螢幕防溢出：搜尋框、英文職稱 */
.search-form{max-width:100%}
.search-form input{min-width:0;flex:1 1 auto;width:100%}
.off-title{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center}
/* 內文表格：第一列若是粗體表頭，加底色 */
.prose tr:first-child td:has(> strong:only-child){background:var(--sun-light,#fff1d6);color:var(--z-mahogany)}

/* =========================================================
   手機：浮動按鈕縮小、自動讓位；查詢碼不超出畫面；頁首不受字級放大影響
   ========================================================= */
.reg-code{max-width:100%;box-sizing:border-box;font-size:clamp(1.6rem,9vw,2.6rem);letter-spacing:.14em;overflow-wrap:anywhere;text-align:center}
@media (max-width:700px){
  .bee-dock,.to-top{transition:transform .25s ease,opacity .25s ease}
  body.fab-off .bee-dock,body.fab-off .to-top{transform:translateX(130%);opacity:0;pointer-events:none}
  .bee-fab{width:50px!important;height:50px!important;animation:none!important}
  .bee-fab-t{display:none!important}
  .bee-hello{display:none!important}
  .bee-dock{right:10px!important}
  .to-top{width:44px!important;height:44px!important;right:13px!important}
  .to-top span{display:none}
  .to-top .ico{width:20px;height:20px}
  /* 頁首用固定像素：字級放大只放大內文，頁首不會擠在一起 */
  .site-header .brand-name{font-size:16px!important;line-height:1.25!important}
  .site-header .logo-mark{width:46px!important;height:46px!important}
  .lang-btn,.a11y-btn{font-size:14px!important;min-height:40px!important}
  .menu-toggle,.menu-toggle .menu-label{font-size:12px!important}
}
@media (max-width:380px){.site-header .brand-name{font-size:14.5px!important}}

/* 頁尾登山小動畫 */
.gv-footer{position:relative}
.hikers{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;transition:opacity .6s}
.hikers.is-ready{opacity:1}
.hk{position:absolute;left:0;top:0;color:#5a3d2b;will-change:transform;transform-origin:15px 38px;transition:opacity .4s}
.hk svg{display:block;width:30px;height:40px;overflow:visible}
.hk-1{color:#6b4a35}.hk-2{color:#4a3324}
.hk-leg{transform-box:fill-box;transform-origin:50% 0;animation:hk-step .7s ease-in-out infinite alternate}
.hk-l2{animation-delay:-.7s}
.hk-arm{transform-box:fill-box;transform-origin:100% 0;animation:hk-arm .7s ease-in-out infinite alternate}
.hk-body{animation:hk-bob .35s ease-in-out infinite alternate}
.hk-1 .hk-leg,.hk-1 .hk-arm{animation-delay:-.23s}.hk-1 .hk-l2{animation-delay:-.93s}
.hk-2 .hk-leg,.hk-2 .hk-arm{animation-delay:-.47s}.hk-2 .hk-l2{animation-delay:-1.17s}
@keyframes hk-step{from{transform:rotate(-16deg)}to{transform:rotate(16deg)}}
@keyframes hk-arm{from{transform:rotate(-20deg)}to{transform:rotate(14deg)}}
@keyframes hk-bob{from{transform:translateY(0)}to{transform:translateY(-1.2px)}}
.hikers.is-still .hk-leg,.hikers.is-still .hk-arm,.hikers.is-still .hk-body{animation:none}
@media (max-width:600px){.hk svg{width:24px;height:32px}.hk{transform-origin:12px 30px}}
@media print{.hikers{display:none}}

/* 走到山頂：停下來揮手（腳站定、手舉高左右揮，小跳一下） */
.hikers.is-wave .hk-leg{animation:none;transform:rotate(0)}
.hikers.is-wave .hk-body{animation:hk-hop .55s ease-in-out 2}
.hikers.is-wave .hk-arm{animation:hk-wave .32s ease-in-out infinite alternate}
.hikers.is-wave .hk-1 .hk-arm{animation-delay:-.12s}.hikers.is-wave .hk-2 .hk-arm{animation-delay:-.24s}
@keyframes hk-wave{from{transform:rotate(118deg)}to{transform:rotate(162deg)}}
@keyframes hk-hop{0%,100%{transform:translateY(0)}45%{transform:translateY(-4px)}}

/* 揮手：專用的舉高手臂（平常隱藏） */
.hk-wave{display:none;transform-box:fill-box;transform-origin:100% 100%}
.hikers.is-wave .hk-wave{display:inline;animation:hk-wave2 .3s ease-in-out infinite alternate}
.hikers.is-wave .hk-arm{display:none}
.hikers.is-wave .hk-1 .hk-wave{animation-delay:-.1s}.hikers.is-wave .hk-2 .hk-wave{animation-delay:-.2s}
@keyframes hk-wave2{from{transform:rotate(-22deg)}to{transform:rotate(14deg)}}
/* 耶誕節（12/1–12/26）：戴聖誕帽、飄小雪 */
.hk-xmas{display:none}
.hikers.is-xmas .hk-xmas{display:inline}
.hikers.is-xmas .hk-hat{display:none}
.hk-snow{position:absolute;left:0;right:0;top:0;height:var(--ls-h,300px);pointer-events:none;
  background-image:radial-gradient(circle,#fff 0 1.8px,rgba(214,120,50,.35) 2.3px,transparent 3px),radial-gradient(circle,#fff 0 1.3px,rgba(214,120,50,.3) 1.8px,transparent 2.4px),radial-gradient(circle,#fff 0 1px,rgba(214,120,50,.25) 1.5px,transparent 2px);
  background-size:140px 140px,190px 190px,110px 110px;background-position:0 0,40px 60px,80px 20px;animation:hk-snow 14s linear infinite;opacity:.9;
  -webkit-mask-image:linear-gradient(#000 40%,transparent);mask-image:linear-gradient(#000 45%,transparent 80%)}
@keyframes hk-snow{to{background-position:30px 140px,10px 250px,100px 130px}}
@media (prefers-reduced-motion:reduce){.hk-snow{animation:none}}
