/* Credentials archive: page-local composition, inherited About and site tokens. */
.credentials-page .site-header { background: rgba(255,255,255,.97); }
.credentials-page main { overflow: visible; background: var(--about-paper); }
.credentials-page .credential-wrap { width: var(--wrap); margin-inline: auto; }
.credential-hero { min-height: clamp(560px,44vw,680px); padding-top: 86px; position: relative; display: flex; overflow: hidden; background: var(--about-ivory); border-bottom: 1px solid var(--about-line); }
.credential-hero-image { margin: 0; position: absolute; inset: 86px 0 0; }
.credential-hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.credential-hero::after { content: ''; position: absolute; inset: 86px 0 0; background: linear-gradient(90deg,rgba(249,246,239,.64) 0%,rgba(249,246,239,.38) 39%,rgba(249,246,239,.08) 56%,transparent 68%); pointer-events: none; }
.credential-hero-inner { min-height: calc(clamp(560px,44vw,680px) - 86px); position: relative; z-index: 1; display: flex; align-items: center; }
.credential-hero-copy { width: min(660px,46vw); padding: 54px 0 74px; }
.credential-hero h1 { max-width: 660px; margin: 20px 0 22px; font-size: clamp(44px,4.35vw,64px); line-height: 1.04; letter-spacing: -.052em; }
.credential-hero h1 em { color: var(--about-gold-dark); font-style: normal; }
html[lang="zh-Hant"] .credential-hero-copy { width: min(520px,40vw); }
html[lang="zh-Hant"] .credential-hero h1 { max-width: 520px; font-size: clamp(40px,3.5vw,50px); line-height: 1.14; letter-spacing: -.04em; white-space: nowrap; }
.credential-intro { max-width: 560px; padding-top: 20px; border-top: 1px solid rgba(7,26,53,.26); }
.credential-intro p { margin: 0; color: var(--about-ink); font-size: 15px; line-height: 1.8; }
.credential-caption { color: var(--about-gold-dark); font-size: 9px; font-weight: 700; letter-spacing: .13em; line-height: 1.7; text-transform: uppercase; }
.credential-section { padding: 44px 0 12px; scroll-margin-top: 24px; }
.credentials-page .about-section-head { width: 100%; margin: 0 0 22px; }
.credentials-page .about-section-head h2 { max-width: none; margin: 0; color: var(--about-ink); font-family: 'DM Sans','Noto Sans TC',sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .12em; line-height: 1.6; }
.index-head,.credential-index article { display: grid; grid-template-columns: 44px minmax(0,1.2fr) minmax(0,1fr) 105px; gap: 18px; align-items: baseline; }
.index-head { padding-bottom: 11px; border-bottom: 1px solid var(--about-line); color: var(--about-muted); font-size: 9px; letter-spacing: .1em; }
.credential-index article { padding: 15px 0; border-bottom: 1px solid var(--about-line); }
.record-number { color: var(--about-gold-dark); font-size: 11px; font-variant-numeric: tabular-nums; letter-spacing: .06em; }
.credential-index h3 { margin: 0; font-family: 'DM Sans','Noto Sans TC',sans-serif; font-size: 13px; font-weight: 500; line-height: 1.65; }
.credential-index h3 a { text-decoration: none; text-underline-offset: 4px; }
.credential-index h3 a:hover { text-decoration: underline; }
.credential-index p,.credential-index time { margin: 0; font-size: 12px; color: var(--about-muted); line-height: 1.7; font-variant-numeric: tabular-nums; }
.credential-module { display: block; scroll-margin-top: 24px; }
.credential-module + .credential-module { margin-top: 58px; }
.record-heading { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; gap: 18px; align-items: baseline; padding: 19px 0; border-block: 1px solid var(--about-line); }
.record-heading h3 { margin: 0; font-size: clamp(23px,2.1vw,30px); line-height: 1.25; letter-spacing: -.02em; }
.record-heading h3 small { display: inline-block; margin-left: 14px; font-family: 'DM Sans','Noto Sans TC',sans-serif; font-size: 13px; letter-spacing: .04em; }
.credential-details { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,.85fr) minmax(0,1fr) 100px; gap: 24px; margin: 0; padding: 20px 0 22px 62px; border-bottom: 1px solid var(--about-line); }
.credential-details div { min-width: 0; }
.credential-details dt { margin-bottom: 8px; color: var(--about-muted); font-size: 10px; line-height: 1.5; }
.credential-details dd { margin: 0; color: var(--about-ink); font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.document-preview { margin: 30px 0 0 62px; width: min(710px,calc(100% - 62px)); padding: 0; background: transparent; }
.document-preview img { width: 100%; height: auto; border: 1px solid var(--about-line); }
.document-preview figcaption { margin-top: 12px; color: var(--about-muted); font-size: 9px; letter-spacing: .06em; line-height: 1.7; }
.record-foot { display: grid; grid-template-columns: minmax(0,710px) auto; align-items: start; gap: 36px; margin: 20px 0 0 62px; padding-bottom: 20px; }
.record-foot p { margin: 0; color: var(--about-muted); font-size: 13px; line-height: 1.85; }
.document-action { justify-self: end; white-space: nowrap; }
.credentials-page .home-secondary { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; font-size: 10px; }
.credentials-page .document-note { margin: 22px 0 0; max-width: 900px; color: var(--about-muted); font-size: 12px; line-height: 1.9; }
#government-approvals > .credential-wrap > .document-note { margin-left: 62px; padding: 20px 0 12px; border-top: 1px solid var(--about-line); }
.professional .credential-details { grid-template-columns: minmax(0,1.15fr) minmax(0,1fr) 100px 100px; }
.professional .credential-details div:last-child { grid-column: 1 / -1; display: flex; gap: 22px; }
.professional .credential-details div:last-child dt { margin: 0; }
.professional .document-preview { width: min(630px,calc(100% - 62px)); }
.verification-copy,.framework-copy { max-width: 760px; }
.verification-copy p,.framework-copy p { margin: 0; color: var(--about-muted); font-size: 14px; line-height: 1.85; }
.verification-status { max-width: 760px; color: var(--about-muted); font-size: 12px; line-height: 1.9; margin: 12px 0 0; }
.verification-link { padding: 20px 0; margin-top: 20px; border-block: 1px solid var(--about-line); display: flex; gap: 32px; justify-content: space-between; align-items: center; }
.verification-link p { margin: 8px 0 0; font-size: 13px; line-height: 1.8; }
.verification-link .home-secondary { flex-shrink: 0; }
.framework-actions { display: flex; gap: 56px; margin-top: 20px; }
.framework-actions .credential-caption { display: block; font-size: 9px; margin-bottom: 3px; }
.credential-section:last-child { padding-bottom: 60px; }
.credentials-page :focus-visible { outline: 2px solid var(--about-ink); outline-offset: 5px; }
.credentials-page .site-footer :focus-visible { outline-color: white; }
.credential-dialog { width: min(1100px,94vw); max-width: none; height: 92dvh; max-height: 92dvh; padding: 0; border: 1px solid var(--about-line); background: var(--about-paper); color: var(--about-ink); }
.credential-dialog[open] { display: flex; flex-direction: column; }
.credential-dialog::backdrop { background: rgba(7,26,53,.76); }
.dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 24px; border-bottom: 1px solid var(--about-line); }
.dialog-header h2 { margin: 0; font-size: 25px; line-height: 1.25; }
.dialog-close { background: none; border: 1px solid var(--about-line); color: var(--about-ink); padding: 12px; min-width: 48px; min-height: 48px; cursor: pointer; }
.dialog-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding: 8px 24px; border-bottom: 1px solid var(--about-line); }
.dialog-toolbar button { padding: 10px 14px; min-height: 44px; border: 1px solid var(--about-line); background: transparent; color: inherit; font-size: 12px; cursor: pointer; }
.dialog-toolbar p { margin: 0; font-size: 12px; }
.dialog-pages { padding: 24px; overflow: auto; overscroll-behavior: contain; flex: 1; min-height: 0; background: var(--about-cream); }
.dialog-pages figure { width: min(760px,100%); margin: 0 auto 28px; }
.dialog-pages img { width: 100%; max-width: none; height: auto; }
.dialog-pages.is-zoomed figure { width: 1500px; max-width: none; margin-inline: 0; }
.dialog-pages figcaption { margin: 10px 0; font-size: 12px; }
.credentials-page .site-nav .lang-switch { color: var(--blue); font-weight: 700; letter-spacing: .08em; }

@media (max-width: 980px) {
  .credential-hero { min-height: 580px; }
  .credential-hero-inner { min-height: 494px; }
  .credential-hero-copy { width: min(570px,53vw); }
  .credential-hero h1 { font-size: 46px; }
  .credential-details { grid-template-columns: 1.1fr 1fr; gap: 20px 30px; }
  .professional .credential-details { grid-template-columns: 1fr 1fr; }
  .index-head,.credential-index article { grid-template-columns: 28px minmax(0,1.2fr) minmax(0,1fr) 82px; gap: 12px; }
  .record-foot { grid-template-columns: 1fr; gap: 12px; }
  .document-action { justify-self: start; }
}
@media (max-width: 767px) {
  .credentials-page .credential-wrap { width: auto; margin-inline: 21px; }
  .credential-hero { min-height: 530px; padding-top: 74px; }
  .credential-hero-image { inset: 74px 0 0; }
  .credential-hero-image img { object-position: 79% center; }
  .credential-hero::after { inset: 74px 0 0; background: linear-gradient(90deg,rgba(249,246,239,.82) 0%,rgba(249,246,239,.62) 48%,rgba(249,246,239,.14) 76%,transparent 90%); }
  .credential-hero-inner { min-height: 456px; align-items: flex-start; }
  .credential-hero-copy { width: min(335px,91%); padding: 66px 0 54px; }
  .credential-hero h1 { margin: 18px 0 21px; font-size: clamp(35px,10vw,42px); line-height: 1.08; }
  html[lang="zh-Hant"] .credential-hero-copy { width: min(335px,91%); }
  html[lang="zh-Hant"] .credential-hero h1 { max-width: none; font-size: 30px; line-height: 1.18; white-space: nowrap; }
  .credential-intro { max-width: 300px; padding-top: 17px; }
  .credential-intro p { font-size: 13px; line-height: 1.72; }
  .credential-section { padding: 32px 0 10px; }
  .credentials-page .about-section-head { margin-bottom: 16px; }
  .index-head { display: none; }
  .credential-index { border-top: 1px solid var(--about-line); }
  .credential-index article { grid-template-columns: 24px minmax(0,1fr) auto; gap: 6px 12px; padding: 14px 0; }
  .credential-index h3 { grid-column: 2 / -1; font-size: 13px; }
  .credential-index p { grid-column: 2; font-size: 10px; overflow-wrap: anywhere; }
  .credential-index time { grid-column: 3; font-size: 10px; }
  .record-heading { grid-template-columns: 24px minmax(0,1fr); gap: 8px 12px; padding: 16px 0; }
  .record-heading h3 { font-size: 24px; }
  .record-heading > .credential-caption { grid-column: 2; }
  .record-heading h3 small { margin-left: 8px; }
  .credential-details,.professional .credential-details { padding: 18px 0; grid-template-columns: 1fr 1fr; gap: 20px 18px; }
  .credential-details dd { font-size: 12px; }
  .professional .credential-details div:last-child { display: block; }
  .professional .credential-details div:last-child dt { margin-bottom: 8px; }
  .document-preview,.professional .document-preview { width: 100%; margin: 22px 0 0; }
  .record-foot { margin: 17px 0 0; gap: 10px; padding-bottom: 10px; }
  .credential-module + .credential-module { margin-top: 32px; }
  #government-approvals > .credential-wrap > .document-note { margin-left: 0; }
  .verification-link { flex-direction: column; align-items: flex-start; gap: 12px; }
  .framework-actions { flex-direction: column; gap: 20px; }
  .credential-section:last-child { padding-bottom: 40px; }
  .credential-dialog { width: calc(100vw - 16px); height: 96dvh; max-height: 96dvh; }
  .dialog-header,.dialog-toolbar { padding-inline: 14px; }
  .dialog-header h2 { font-size: 22px; }
  .dialog-pages { padding: 12px; }
  .credentials-page .menu-button { min-height: 44px; }
  .credentials-page .site-nav a { min-height: 44px; display: inline-flex; align-items: center; }
  .credentials-page .site-nav { gap: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.credentials-page) { scroll-behavior: auto; }
  .credentials-page *, .credentials-page *::before, .credentials-page *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
