
:root{--ink:#0f172a;--muted:#475569;--line:#e2e8f0;--bg:#f8fafc;--brand:#0f172a}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,'Noto Sans TC','PingFang TC',sans-serif}
a{color:var(--ink);text-decoration:none}
img{max-width:100%;display:block;border-radius:14px}
header{position:sticky;top:0;background:#ffffffd0;backdrop-filter:saturate(1.3) blur(8px);border-bottom:1px solid var(--line);z-index:50}
.container{max-width:1152px;margin:0 auto;padding:12px 16px}
.nav{display:none;gap:24px}@media(min-width:768px){.nav{display:flex}}
.nav a{font-size:14px;color:#475569}.nav a:hover{color:#0f172a}
.brand{display:flex;align-items:center;gap:8px;font-weight:600}
.brand img{height:28px;width:28px}
.btn{display:inline-block;border-radius:999px;padding:8px 14px;font-size:14px;border:1px solid #cbd5e1;color:var(--ink);background:#fff;cursor:pointer}
.btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}
.section{padding:56px 0}
.grid{display:grid;gap:20px}
.grid-3{grid-template-columns:1fr}@media(min-width:768px){.grid-3{grid-template-columns:repeat(3,1fr)}}
.grid-2{grid-template-columns:1fr}@media(min-width:768px){.grid-2{grid-template-columns:repeat(2,1fr)}}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.kicker{letter-spacing:.08em;text-transform:uppercase;opacity:.9;font-size:12px;color:#e2e8f0}
h1{font-size:36px;margin:8px 0;color:#fff}@media(min-width:768px){h1{font-size:48px}}
h2{font-size:24px;margin:0}h3{font-size:18px;margin:0}
.small{font-size:12px;color:#64748b}
.hero{position:relative;height:56vh}@media(min-width:768px){.hero{height:70vh}}
.mask{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.35))}
.hero .inner{position:absolute;inset:0;display:flex;align-items:center;color:#fff}
.list{list-style:disc;padding-left:22px;color:#334155;font-size:14px}
.footer{border-top:1px solid var(--line);background:#fff;padding:24px 0;color:#64748b;font-size:14px}
.lang{display:none}.lang.active{display:block}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid #94a3b8;border-radius:999px;padding:6px 12px;font-size:12px;color:#334155;background:#fff;cursor:pointer}
#news-grid .card, .cta-open{cursor:pointer}
.modal{position:fixed;inset:0;display:none;z-index:100}
.modal .overlay{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.modal .panel{position:relative;margin:80px auto;max-width:640px;width:92%;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 48px rgba(0,0,0,.12)}
.modal .panel .hd{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}
.modal .panel form{padding:20px}
input,textarea{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px}
label{font-size:14px;display:block}
.ph{width:100%;height:190px;border-radius:14px;position: relative;
  overflow: hidden;}
  /* background:linear-gradient(135deg,#e2e8f0,#cbd5e1); */
.parent img {
  position: absolute;
  height: 100%;
  top: 50%;
  transform: translateY(-50%);
}
.badge{display:inline-block;padding:2px 8px;border:1px solid #cbd5e1;border-radius:999px;font-size:11px;color:#475569;margin-left:6px}

