:root { font-family: "Noto Sans TC", "Microsoft JhengHei", sans-serif; color: #17334a; background: #f3f6f8; line-height: 1.75; }
* { box-sizing: border-box; }
body { margin: 0; }
header { padding: 20px max(24px, calc((100% - 760px) / 2)); background: #102a43; }
header img { display: block; width: 190px; height: auto; }
main { width: min(100% - 32px, 760px); margin: 40px auto; padding: clamp(24px, 5vw, 44px); border: 1px solid #dce5eb; border-radius: 16px; background: #fff; }
h1 { font-size: clamp(26px, 5vw, 34px); line-height: 1.3; margin-top: 0; }
h2 { font-size: 21px; }
.eyebrow { color: #007e87; font-weight: 700; margin-bottom: 8px; }
p { margin: 16px 0; }
label { display: block; font-weight: 650; }
input[type=email] { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #9db2c1; border-radius: 8px; font: inherit; }
.consent { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; font-weight: 400; margin: 20px 0; }
.consent input { margin-top: 7px; width: 18px; height: 18px; flex: 0 0 auto; }
button { min-height: 44px; padding: 10px 18px; border: 1px solid #007e87; border-radius: 8px; background: #007e87; color: white; font: inherit; font-weight: 700; cursor: pointer; }
button:disabled { opacity: .6; cursor: wait; }
button:focus-visible, input:focus-visible, a:focus-visible { outline: 3px solid #6fb9d0; outline-offset: 3px; }
.secondary { background: #fff; color: #00666e; margin-top: 16px; }
.note { color: #607585; font-size: 13px; }
[role=status] { padding: 14px 16px; background: #edf6f7; border-radius: 8px; }
.site-footer-legal { display: flex; flex-wrap: wrap; gap: 16px; padding-top: 22px; border-top: 1px solid #dce5eb; font-size: 14px; }
a { color: #006a74; }
[hidden] { display: none !important; }
