:root { color-scheme: light; }
body.info-page { margin: 0; background: #f8fafc; color: #0f172a; font: 17px/1.8 system-ui, -apple-system, "Noto Sans TC", sans-serif; }
.site-main { max-width: 850px; margin: auto; padding: max(24px, env(safe-area-inset-top)) max(22px, env(safe-area-inset-right)) max(36px, env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left)); }
.site-main h1 { font-size: clamp(28px, 5vw, 42px); line-height: 1.35; letter-spacing: -.03em; margin: 32px 0 18px; }
.site-main h2 { font-size: 23px; margin-top: 38px; line-height: 1.5; }
.site-main h3 { font-size: 18px; margin-bottom: 6px; }
.site-main p, .site-main li { max-width: 72ch; }
.site-main a { color: #0f766e; text-underline-offset: 4px; }
.site-main a:focus-visible { outline: 3px solid #0f766e; outline-offset: 5px; border-radius: 4px; }
.site-brand { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 25px; font-weight: 750; text-decoration: none; }
.site-brand img { border-radius: 14px; }
.site-brand span { font-size: 13px; letter-spacing: .08em; color: #64748b; }
.site-card { padding: 18px 24px; border: 1px solid #dce7e5; background: white; border-radius: 22px; margin-top: 18px; }
.site-cta { display: inline-block; padding: 12px 24px; background: #0f766e; color: white !important; border-radius: 28px; font-weight: 700; text-decoration: none; }
.site-links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 24px; }
.site-note { color: #526176; font-size: 15px; }
.site-footer { border-top: 1px solid #dce7e5; margin-top: 36px; padding-top: 20px; }
.initial-content { background: #f8fafc; color: #0f172a; font: 17px/1.8 system-ui, -apple-system, sans-serif; min-height: 100dvh; }
@media (prefers-reduced-motion: no-preference) { .site-cta { transition: background .15s; } }
.site-cta:hover { background: #115e59; }
