*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --ts-gold:#AE9B7E;
  --ts-gold-deep:#8D7E66;
  --ts-ink:#2B2620;
  --ts-gray:#6B6357;
  --ts-gray-light:#9A9284;
  --ts-border:#E6E0D4;
  --ts-bg-warm:#F5F2EC;
  --ts-bg:#FFFFFF;
  --ts-serif:'Noto Serif TC',serif;
  --ts-sans:'Nunito Sans',sans-serif;
}
html{font-size:16px;scroll-behavior:smooth}
body{background:var(--ts-bg);color:var(--ts-ink);font-family:var(--ts-sans);line-height:1.7}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}

.ts-topbar{background:var(--ts-gold);color:#fff;text-align:center;font-size:0.8125rem;letter-spacing:0.15em;padding:11px 0}

.ts-header{background:var(--ts-bg)}
.ts-header-inner{max-width:1240px;margin:0 auto;padding:22px 32px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.ts-logo{display:flex;align-items:center;gap:10px}
.ts-logo-mark{width:36px;height:36px;border:1.5px solid var(--ts-gold);display:flex;align-items:center;justify-content:center;font-family:var(--ts-serif);font-size:1.125rem;color:var(--ts-gold-deep)}
.ts-logo-text{font-family:var(--ts-serif);font-size:1.25rem;font-weight:700;color:var(--ts-ink);letter-spacing:0.05em}
.ts-nav{display:flex;align-items:center;gap:30px}
.ts-nav a{font-size:0.8125rem;color:var(--ts-gray);letter-spacing:0.03em}
.ts-nav a:hover{color:var(--ts-gold-deep)}

.ts-catnav{max-width:1240px;margin:0 auto;padding:0 32px 18px;display:flex;align-items:center;justify-content:center;gap:36px;border-top:1px solid var(--ts-border)}
.ts-catnav a{padding-top:14px;font-size:0.8125rem;font-weight:600;color:var(--ts-ink);letter-spacing:0.03em}
.ts-catnav a:hover{color:var(--ts-gold-deep)}

.ts-banner{position:relative;aspect-ratio:25/8;overflow:hidden;background:var(--ts-bg-warm)}
.ts-banner-slide{position:absolute;inset:0}
.ts-banner-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ts-banner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(43,38,32,0.6) 0%,rgba(43,38,32,0.15) 55%,rgba(43,38,32,0) 100%);display:flex;flex-direction:column;justify-content:center;padding:0 64px}
.ts-banner-eyebrow{font-size:0.75rem;letter-spacing:0.2em;color:#E6DCC8;margin-bottom:14px}
.ts-banner-overlay h2{font-family:var(--ts-serif);font-size:1.75rem;font-weight:700;color:#fff;letter-spacing:0.03em;line-height:1.5;max-width:520px}
.ts-banner-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:none;border-radius:50%;background:rgba(255,255,255,0.85);color:var(--ts-ink);font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ts-banner-prev{left:24px}
.ts-banner-next{right:24px}
.ts-banner-arrow:hover{background:#fff}

.ts-hero{position:relative;aspect-ratio:21/9;overflow:hidden}
.ts-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(43,38,32,0.15) 0%,rgba(43,38,32,0.55) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px}
.ts-hero-eyebrow{font-size:0.75rem;letter-spacing:0.2em;color:#E6DCC8;margin-bottom:16px}
.ts-hero-overlay h1{font-family:var(--ts-serif);font-size:2rem;font-weight:700;color:#fff;letter-spacing:0.04em;line-height:1.5}

.ts-showcase{max-width:1240px;margin:0 auto;padding:56px 32px 8px}
.ts-showcase-head{text-align:center;margin-bottom:32px}
.ts-showcase-head h2{font-family:var(--ts-serif);font-size:1.5rem;font-weight:700;color:var(--ts-ink);margin-top:10px}
.ts-showcase-grid{list-style:none;display:flex;flex-wrap:wrap;justify-content:space-between;gap:0}
.ts-showcase-item{position:relative;width:calc(50% - 12px);aspect-ratio:4/5;overflow:hidden;background:var(--ts-border)}
.ts-showcase-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ts-showcase-cap{position:absolute;inset:0;margin:0;display:flex;align-items:center;justify-content:center;text-align:center;background:rgba(43,38,32,0.55);color:#fff;font-size:1.0625rem;font-weight:600;letter-spacing:0.04em;opacity:0;transition:opacity 0.25s ease}
.ts-showcase-item:hover .ts-showcase-cap{opacity:1}

.ts-slogan{padding:56px 24px 40px;text-align:center}
.ts-slogan h2{font-size:1.375rem;font-weight:800;letter-spacing:0.14em;color:var(--ts-gold-deep);margin-bottom:16px}
.ts-slogan-sub{display:flex;align-items:center;justify-content:center;gap:20px;font-size:0.9375rem;letter-spacing:0.1em;color:var(--ts-gray)}
.ts-slogan-line{width:64px;height:1px;background:var(--ts-border)}

.ts-stats{max-width:1100px;margin:0 auto;padding:24px 32px 72px;display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.ts-stat-card{padding:32px 28px;text-align:center;border-right:1px solid var(--ts-border)}
.ts-stat-card:last-child{border-right:none}
.ts-stat-mark{display:inline-flex;width:34px;height:34px;border:1.5px solid var(--ts-gold);align-items:center;justify-content:center;font-family:var(--ts-serif);font-size:1rem;color:var(--ts-gold-deep);margin-bottom:14px}
.ts-stat-card h4{font-family:var(--ts-serif);font-size:0.9375rem;font-weight:700;color:var(--ts-ink);margin-bottom:12px}
.ts-stat-num{font-size:2.5rem;font-weight:800;color:var(--ts-gold-deep);line-height:1}
.ts-stat-num sup{font-size:1.25rem}
.ts-stat-eng{font-size:0.6875rem;letter-spacing:0.15em;color:var(--ts-gray-light);margin:6px 0 16px}
.ts-stat-line{width:36px;height:1px;background:var(--ts-border);margin:0 auto 16px}
.ts-stat-card p:last-child{font-size:0.8125rem;color:var(--ts-gray);line-height:1.7}

.ts-section{max-width:1240px;margin:0 auto;padding:64px 32px;border-top:1px solid var(--ts-border)}
.ts-section-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.ts-reverse .ts-section-img{order:2}
.ts-reverse .ts-section-text{order:1}
.ts-section-img{aspect-ratio:4/3;overflow:hidden;background:var(--ts-border)}
.ts-section-eyebrow{font-size:0.75rem;letter-spacing:0.15em;color:var(--ts-gold-deep);font-weight:700;margin-bottom:14px}
.ts-section-text h2{font-family:var(--ts-serif);font-size:1.5rem;font-weight:700;color:var(--ts-ink);margin-bottom:16px;line-height:1.5}
.ts-section-text p{font-size:0.9375rem;color:var(--ts-gray);line-height:1.85;margin-bottom:26px}
.ts-pill-btn{display:inline-block;border:1px solid var(--ts-ink);color:var(--ts-ink);font-size:0.8125rem;font-weight:700;padding:12px 30px;letter-spacing:0.04em}
.ts-pill-btn:hover{background:var(--ts-ink);color:#fff}

.ts-footer{background:var(--ts-bg-warm);padding:48px 0 24px;border-top:1px solid var(--ts-border)}
.ts-footer-inner{max-width:1240px;margin:0 auto;padding:0 32px}
.ts-footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-bottom:32px}
.ts-footer-col h5{font-family:var(--ts-serif);font-size:0.9375rem;font-weight:700;color:var(--ts-ink);margin-bottom:16px}
.ts-footer-col p{font-size:0.8125rem;color:var(--ts-gray);line-height:1.75}
.ts-footer-links{list-style:none;display:flex;flex-direction:column;gap:8px}
.ts-footer-links a{font-size:0.8125rem;color:var(--ts-gray)}
.ts-footer-links li{font-size:0.8125rem;color:var(--ts-gray)}
.ts-footer-bottom{border-top:1px solid var(--ts-border);padding-top:16px}
.ts-footer-bottom p{font-size:0.75rem;color:var(--ts-gray-light)}

@media(max-width:900px){
  .ts-nav{display:none}
  .ts-catnav{gap:20px;overflow-x:auto;justify-content:flex-start;padding:0 20px 16px}
  .ts-catnav a{white-space:nowrap}
  .ts-banner{aspect-ratio:4/3}
  .ts-banner-overlay{padding:0 28px;background:linear-gradient(180deg,rgba(43,38,32,0.2) 0%,rgba(43,38,32,0.7) 100%)}
  .ts-banner-overlay h2{font-size:1.25rem;max-width:100%}
  .ts-banner-arrow{width:36px;height:36px;font-size:1.25rem}
  .ts-showcase{padding:40px 20px 4px}
  .ts-showcase-grid{gap:12px}
  .ts-showcase-item{width:100%;aspect-ratio:4/3}
  .ts-showcase-cap{opacity:1;background:rgba(43,38,32,0.35)}
  .ts-stats{grid-template-columns:1fr;padding:24px 32px 48px}
  .ts-stat-card{border-right:none;border-bottom:1px solid var(--ts-border);padding:24px 0}
  .ts-stat-card:last-child{border-bottom:none}
  .ts-section{padding:48px 20px}
  .ts-section-row{grid-template-columns:1fr;gap:24px}
  .ts-reverse .ts-section-img{order:1}
  .ts-reverse .ts-section-text{order:2}
  .ts-footer-grid{grid-template-columns:1fr;gap:24px}
  .ts-hero-overlay h1{font-size:1.375rem}
}
