:root {
  color-scheme: light;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Noto Sans TC", "Hiragino Sans", Arial, sans-serif;
  background: #fbfaf7;
  color: #171b1f;
}

* { box-sizing: border-box; }
body { margin: 0; background: #fbfaf7; line-height: 1.7; }
a { color: #007c78; }
.site-header { background: #007c78; color: #fff; padding: 28px 20px 24px; }
.header-inner, main { width: min(100% - 32px, 760px); margin: 0 auto; }
.brand { margin: 0; font-size: 28px; letter-spacing: .02em; }
.tagline { margin: 4px 0 16px; opacity: .85; }
.language-nav { display: flex; flex-wrap: wrap; gap: 8px; }
.language-nav a { color: #fff; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; padding: 4px 12px; text-decoration: none; font-size: 14px; }
.language-nav a[aria-current="true"] { background: #fff; color: #007c78; }
main { padding: 32px 0 56px; }
.page-title { margin: 0 0 4px; font-size: 32px; line-height: 1.25; }
.updated { color: #687074; margin: 0 0 28px; font-size: 14px; }
.notice { background: #d9efec; border-radius: 12px; padding: 14px 16px; margin: 0 0 24px; }
section { background: #fff; border: 1px solid #dde1df; border-radius: 14px; padding: 22px 20px; margin: 16px 0; }
h2 { margin: 0 0 10px; font-size: 21px; line-height: 1.35; }
h3 { margin: 18px 0 6px; font-size: 17px; }
p { margin: 8px 0; }
ul { margin: 8px 0; padding-left: 24px; }
.contact-card { display: flex; align-items: center; gap: 12px; background: #d9efec; border-radius: 12px; padding: 14px 16px; margin-top: 12px; }
.contact-card strong { display: block; }
.footer { color: #687074; text-align: center; font-size: 13px; padding: 0 16px 32px; }
[data-lang] { display: none; }
[data-lang].is-visible { display: block; }
@media (min-width: 640px) {
  .site-header { padding-top: 38px; }
  main { padding-top: 44px; }
  section { padding: 26px 28px; }
}
