/* TC typography and the approved HJ navigation / media integration. */
:root {
  --serif: Georgia, "Times New Roman", "PMingLiU", "MingLiU", "Songti TC", "SimSun", "Noto Serif TC", serif;
  --sans: Arial, "Helvetica Neue", "Microsoft JhengHei", "PingFang TC", "Noto Sans TC", sans-serif;
}
.story h1,.story h2,.overview h2,.continue h2 { line-height:1.2;letter-spacing:0;text-wrap:balance;line-break:strict; }
.story-copy > p,#story-2 .story-copy > p,#story-3 .story-copy > p { line-height:1.55;line-break:strict;text-wrap:balance; }
.cn-unit { white-space:nowrap; }
.overview-content > p,.footer-intro p { line-break:strict;text-wrap:pretty; }
#story-2 .metrics { grid-template-columns:repeat(3,205px); }
.metrics small { line-height:1.6;line-break:strict; }
.locale-control { position:relative; }
.header-actions .locale { display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;white-space:nowrap; }
.locale span { color:#e12f42; }
.locale-options { position:absolute;top:calc(100% + 16px);right:0;width:200px;padding:16px;background:var(--navy);border:1px solid var(--line);text-align:left; }
.locale-options a { display:block;padding:10px 0;white-space:nowrap; }
.locale-options small { font-size:11px;opacity:.7; }
.locale-options p { font-size:12px;line-height:1.5; }
.locale-options p:empty { display:none; }
.locale-options[hidden],.preview-notice[hidden] { display:none; }
.preview-notice { position:fixed;z-index:1800;bottom:24px;left:50%;transform:translateX(-50%);width:min(520px,calc(100% - 40px));padding:16px 20px;background:var(--navy);border:1px solid var(--line);font-size:14px;line-height:1.6;text-align:center; }
.hj-background-video { position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 420ms ease-out;pointer-events:none; }
.hj-background-video.ready { opacity:1; }
.overview .hj-background-video { z-index:0; }
.footer-note { overflow-wrap:anywhere; }
#story-1 .media-overlay { background:rgba(0,18,27,.38); }
#story-2 .media-overlay { background:rgba(1,7,14,.58); }
#story-3 .media-overlay { background:transparent; }
.pill[type=button],.pill[type=submit] { border:0;cursor:pointer;font-family:var(--sans); }
.locale-options button { display:block;padding:10px 0;border:0;background:none;color:inherit;font:inherit;cursor:pointer; }
.locale-options button:hover { text-decoration:underline; }
.footer { padding-top:80px; }
.footer nav h3 { font:600 13px/1.5 var(--sans);opacity:.6;margin:0; }
.footer-grid { gap:48px; }
.footer-bottom { gap:24px;border-top:1px solid rgba(255,255,255,.18);line-height:1.6; }
.social-links { display:flex;flex-wrap:wrap;gap:18px;margin-top:30px; }
.social-links button { display:grid;justify-items:center;gap:8px;padding:0;border:0;background:none;color:inherit;cursor:pointer;font:12px var(--sans); }
.social-links svg { width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4; }
.social-links button:hover { color:#bacbd3; }
.form-trap { position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden; }
.form-status a { text-decoration:underline;overflow-wrap:anywhere; }
.hj-dialog { border:1px solid rgba(255,255,255,.25);border-radius:0;background:var(--navy);color:white;padding:40px;width:min(460px,calc(100% - 40px));max-height:calc(100dvh - 40px);overflow:auto;scrollbar-width:none;overscroll-behavior:contain; }
.hj-dialog::backdrop { background:rgba(0,14,22,.78); }
.hj-dialog h2 { margin:0 0 18px;font:400 34px/1.3 var(--serif);text-align:center; }
.hj-dialog p { margin:12px 0;line-height:1.7;font-size:15px;text-align:center; }
.hj-dialog .pill { width:180px;margin-top:24px; }
.qr-square { width:min(240px,100%);aspect-ratio:1;background:#f3f4f3;border:1px solid #bcc6ca;margin:24px auto; }
.qr-square img { width:100%;height:100%;object-fit:contain; }
.qr-square img[hidden] { display:none; }
.search-field { display:block;margin-top:16px; }
.search-field input { width:100%;padding:12px;border:1px solid #667884;background:transparent;color:white;font:16px var(--sans); }
.search-results { display:grid;gap:0;margin-top:18px; }
.search-results a { padding:12px 0;border-bottom:1px solid rgba(255,255,255,.15); }
:where(a,button,input):focus-visible { outline:2px solid #c1d7e1;outline-offset:4px; }
.footer a:hover,.consent a:hover { text-decoration:underline;text-underline-offset:4px; }
@media(max-width:700px) {
  #story-2 .metrics { grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
  #story-2 .metrics > div { min-width:0; }
  #story-2 .metrics small { font-size:11px;max-width:99px;margin:6px auto 0;text-wrap:balance; }
  .story h1,.story h2,.overview h2,.continue h2 { line-height:1.2; }
  .header-actions .locale { display:inline-flex; }
  .header-actions { gap:9px; }
  .continue-inner > span { line-height:1.6;line-break:strict;text-wrap:balance; }
  .footer { padding-top:64px; }
  .footer-grid { gap:40px 20px; }
  .footer-bottom { flex-direction:column;gap:14px; }
  .hj-dialog { padding:28px 24px; }
  .hj-dialog h2 { font-size:29px; }
}
