/* RGYS · Editorial type system. Keep brand/media proportions and functional UI intact. */
:root {
  --sans:
    "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Heiti SC", system-ui,
    sans-serif;
  --serif: "Noto Serif SC", "Songti SC", "STSong", Georgia, serif;
  --type-body: 16px;
  --type-support: 14px;
  --type-caption: 12px;
  --type-heading: clamp(27px, 2.5vw, 34px);
  --muted: #586e74;
}
body {
  font-family: var(--sans);
  font-size: var(--type-body);
  line-height: 1.85;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
button,
input,
select,
textarea {
  font-family: var(--sans);
}
h1 {
  font-family: var(--serif);
  font-weight: 600;
  letter-spacing: 0.015em;
}
h2 {
  font-family: var(--sans);
  font-size: var(--type-heading);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.015em;
}
h3 {
  font-family: var(--sans);
  font-size: 21px;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: 0;
}
p {
  line-height: 1.9;
}
.hero-updated h1 {
  font-size: clamp(38px, 4vw, 56px);
  line-height: 1.38;
  letter-spacing: 0.015em;
}
.hero-updated h1 .product {
  font-size: clamp(44px, 4.8vw, 66px);
  line-height: 1.3;
  letter-spacing: 0.035em;
}
.hero-updated h1 em {
  font-weight: 500;
}
.hero-updated p {
  font-size: 17px;
  line-height: 1.85;
}
.page-hero h1 {
  font-size: clamp(32px, 3.4vw, 46px);
  line-height: 1.4;
  letter-spacing: 0.015em;
  overflow-wrap: anywhere;
}
.page-hero p {
  font-size: 17px;
  line-height: 1.9;
}
.contact-hero h1 {
  font-size: clamp(30px, 3vw, 40px);
}
.contact-hero p {
  font-size: 16px;
}
:is(
    .section-heading,
    .split,
    .process-head,
    .reading-intro,
    .media-feature,
    .consultation-rail,
    .author-panel,
    .cta-inner
  )
  h2 {
  font-size: var(--type-heading);
  line-height: 1.45;
}
:is(.content-section, .guide-chapter, .dossier-chapter, .legal) h2 {
  font-size: clamp(25px, 2.2vw, 30px);
  line-height: 1.5;
}
:is(.content-section, .guide-chapter, .dossier-chapter, .legal) h3 {
  font-size: 21px;
  margin-block: 26px 12px;
}
:is(.content-section, .guide-chapter, .dossier-chapter, .legal) p,
.guide-chapter .chapter-intro,
.dossier-overview p,
:is(.dossier-adviser, .dossier-gaps, .dossier-risks) p {
  font-size: var(--type-body);
  line-height: 1.95;
  margin-bottom: 1.25em;
}
:is(
    .section-heading,
    .process-head,
    .reading-intro,
    .media-feature,
    .consultation-rail,
    .author-panel,
    .cta-inner
  )
  p,
.intro-copy {
  font-size: var(--type-body);
  line-height: 1.9;
}
:is(
    .card-body,
    .article-card,
    .topic-card,
    .country-card,
    .guide-entry,
    .related-card,
    .network-card,
    .office,
    .boundary-grid,
    .demo-card
  )
  h3,
.network-card strong {
  font-size: 20px;
  line-height: 1.6;
  font-weight: 600;
}
:is(
    .card-body,
    .article-card,
    .topic-card,
    .country-card,
    .guide-entry,
    .related-card,
    .network-card,
    .office,
    .boundary-grid,
    .demo-card
  )
  p,
.country-card .dossier-license-preview,
.reading-links p,
.chapter-link p,
.process-step p {
  font-size: 15px;
  line-height: 1.85;
}
.route-link strong {
  font-size: 17px;
  line-height: 1.6;
}
.route-link small {
  font-size: 13px;
  line-height: 1.75;
}
.route-link b {
  font-size: 29px;
}
.reading-links h3 {
  font-size: 21px;
}
.chapter-link h3,
.process-step h3,
.related-card h3 {
  font-size: 18px;
  line-height: 1.6;
}
.key-fact span,
.trust-item small {
  font-size: 13px;
}
.trust-item b {
  font-size: 16px;
}
:is(.faq-list, .faq-entry) summary {
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.7;
  font-weight: 600;
}
.faq-list details p,
.faq-entry p {
  font-size: var(--type-body);
  line-height: 1.95;
}
.faq-entry summary small {
  font-size: 12px;
  line-height: 1.6;
}
.faq-label {
  font-size: 15px;
  line-height: 1.9;
}
.faq-label b {
  font-size: 14px;
  line-height: 1.7;
}
.faq-label p {
  font-size: 15px;
  line-height: 1.9;
}
.faq-number {
  font-size: 13px;
}
.faq-entry summary > span {
  min-width: 0;
}
.dossier-overview h2 {
  font-size: clamp(27px, 2.6vw, 36px);
}
.dossier-regulators h3 {
  font-size: 20px;
}
.dossier-regulators b {
  font-size: 16px;
}
.dossier-regulators span:not(.dossier-citations) {
  font-size: 15px;
}
.dossier-licence summary strong {
  font-size: 21px;
  line-height: 1.6;
}
.dossier-licence summary small {
  font-size: 12px;
}
.dossier-license-hint {
  font-size: 14px;
  line-height: 1.7;
}
.dossier-licence-body dt {
  font-size: 14px;
  line-height: 1.8;
}
.dossier-licence-body dd,
.dossier-activities,
.dossier-checklist li,
.dossier-steps p {
  font-size: var(--type-body);
  line-height: 1.9;
}
.dossier-checklist h3,
.dossier-steps h3 {
  font-size: 19px;
  line-height: 1.6;
}
.dossier-sources li a {
  font-size: 15px;
}
.dossier-sources li p,
.dossier-sources > p {
  font-size: 14px;
}
.dossier-sources small {
  font-size: 12px;
}
.dossier-source-line,
.dossier-meta,
.dossier-citations {
  font-size: 14px;
  line-height: 1.8;
}
.dossier-source-line a,
.dossier-inline-citation {
  font-size: 0.875em;
}
:is(.detail-nav, .chapter-nav) h3 {
  font-size: 15px;
}
.detail-nav a,
.chapter-nav a,
.dossier-toc > a:not(.btn),
.dossier-mobile-toc nav a,
.mobile-chapters a {
  font-size: 14px;
  line-height: 1.7;
}
.mobile-chapters summary,
.dossier-mobile-toc > summary {
  font-size: 16px;
  line-height: 1.7;
}
.eyebrow,
.hero .eyebrow,
.content-section .eyebrow,
.section-heading .eyebrow,
.card-body .en,
.card-photo span,
.article-card small,
.guide-entry small,
.country-card small,
.topic-card small,
.network-card small,
.resource-row small,
.demo-card small,
.boundary-no {
  font-size: var(--type-caption);
  line-height: 1.65;
  letter-spacing: 0.08em;
}
.small,
.note-row,
.source-inline,
.media-note,
.privacy-note,
.author-sign span,
.form-help,
.form-ack-note,
.form-status,
.form-card .consent,
.form-section .consent,
.article-meta,
.breadcrumb,
.regional-note,
.fee-note,
.pager span {
  font-size: var(--type-support);
  line-height: 1.8;
}
.media-note,
.privacy-note,
.article-meta,
.breadcrumb {
  font-size: 13px;
}
.form-card h3,
.grouped-form h3 {
  font-family: var(--sans);
  font-size: 25px;
}
.form-section legend {
  font-size: 20px;
  line-height: 1.6;
}
.field,
.field label,
.form-section label {
  font-size: 15px;
  line-height: 1.75;
}
.field input,
.field select,
.field textarea,
input,
select,
textarea {
  font-size: 16px;
  line-height: 1.65;
}
.form-steps li {
  font-size: 13px;
  line-height: 1.7;
}
.form-section legend span {
  font-size: 12px;
}
.form-success-panel,
.confirm-flow ol {
  font-size: 15px;
  line-height: 1.9;
}
.form-success-panel strong {
  font-size: 21px;
}
:is(
  .btn,
  .chip,
  .service-selector button,
  .pager button,
  .related-reading a,
  .resource-row .btn
) {
  font-size: 14px;
  line-height: 1.6;
}
:is(.card-body, .network-card, .boundary-grid, .demo-card) .text-link,
.text-link {
  font-size: 14px;
  line-height: 1.7;
}
.service-facts a {
  font-size: 13px;
}
.hero-keywords span {
  font-size: 12px;
}
.hero-footer .wrap {
  font-size: 12px;
}
.hero-updated .hero-side span {
  font-size: 11px;
}
.site-header .nav {
  font-size: 14px;
  gap: 20px;
}
.site-header .nav-folder summary {
  font-size: 14px;
}
.nav-panel > a {
  font-size: 15px;
  line-height: 1.6;
}
.nav-panel > a span {
  font-size: 13px;
  line-height: 1.75;
}
.subnav-links {
  font-size: 13px;
  gap: 20px;
}
.subnav-note {
  font-size: 11px;
}
.site-header .header-actions .btn {
  font-size: 14px;
}
.site-header .brand--mso strong {
  font-size: 27px;
  letter-spacing: 0.035em;
}
.site-header .brand--mso .brand-tagline {
  font-size: 14px;
  letter-spacing: 0;
}
.site-header .brand--mso .brand-english {
  font-size: 9px;
  letter-spacing: 0.065em;
}
.site-footer p,
.footer-grid ul {
  font-size: 14px;
  line-height: 1.9;
}
.footer-grid h3 {
  font-size: 16px;
}
.footer-bottom {
  font-size: 12px;
  line-height: 1.8;
}
.author-note b {
  font-size: 14px;
}
.author-note p {
  font-size: 18px;
  line-height: 1.9;
}
.sources {
  font-size: 14px;
}
.contact-item b {
  font-size: 15px;
}
.contact-item p {
  font-size: 15px;
}
.contact-item a {
  font-size: 19px;
}
.role-row > *,
.role-row p,
.fee-block li,
.questions-list {
  font-size: var(--type-body);
  line-height: 1.9;
}
.official-fee-list h3,
.funds-stack b {
  font-size: 18px;
}
.official-fee-list p,
.cost-types p,
.funds-stack span {
  font-size: 15px;
  line-height: 1.85;
}
.cost-types b {
  font-size: 16px;
}
.resource-row h3 {
  font-size: 20px;
  line-height: 1.6;
}
.resource-row p {
  font-size: 15px;
  line-height: 1.85;
}
.fee-block h3 {
  font-size: 23px;
}
.check-list li {
  font-size: var(--type-body);
  line-height: 1.9;
}
.scope-board p {
  font-size: var(--type-body);
}
.scope-board h3 {
  font-size: 21px;
}
.calculator p {
  font-size: 14px;
}
.search-results {
  font-size: 16px;
}
.search-results span {
  font-size: 14px;
  line-height: 1.8;
}
.dialog-header h2 {
  font-size: 19px;
}
.video-caption {
  font-size: 14px;
  line-height: 1.8;
}
/* The circular reference dock keeps its proportions; supporting text becomes easier to read. */
.quick-contact {
  font-family: var(--sans);
}
.quick-contact-panel > p {
  font-size: 14px;
  line-height: 1.75;
}
.quick-contact-desk-head strong {
  line-height: 1.45;
}
.quick-contact-desk-list dt {
  font-size: 13px;
}
.quick-contact-desk-list dd {
  font-size: 15px;
}
.quick-contact-panel .quick-contact-desk-foot {
  font-size: 12px;
  line-height: 1.6;
}
.quick-contact-desk-actions a,
.quick-contact-desk-actions button,
.quick-contact-actions a,
.quick-contact-consult {
  font-size: 13px;
}
.quick-contact-codes span {
  font-size: 13px;
}
.contact-card-body dl {
  font-size: 14px;
}
@media (max-width: 1280px) and (min-width: 1201px) {
  .site-header .header-inner {
    gap: 16px;
  }
  .site-header .nav {
    gap: 14px;
    font-size: 13px;
  }
  .site-header .nav-folder summary {
    font-size: 13px;
  }
  .site-header .header-actions {
    gap: 12px;
  }
}
@media (max-width: 1200px) {
  .site-header .nav,
  .site-header .nav-folder summary {
    font-size: 15px;
  }
  .site-header .brand--mso strong {
    font-size: 25px;
  }
  .subnav-links {
    font-size: 13px;
  }
}
@media (max-width: 700px) {
  :root {
    --type-body: 15.5px;
    --type-support: 13px;
    --type-caption: 11px;
    --type-heading: 27px;
  }
  .hero-updated h1 {
    font-size: clamp(30px, 7.7vw, 39px);
    line-height: 1.4;
  }
  .hero-updated h1 .product {
    font-size: clamp(36px, 9.4vw, 45px);
    letter-spacing: 0.025em;
  }
  .hero-updated h1 em {
    font-size: clamp(29px, 7.6vw, 36px);
    line-height: 1.45;
  }
  .hero-updated p,
  .page-hero p {
    font-size: var(--type-body);
    line-height: 1.9;
  }
  .page-hero h1 {
    font-size: clamp(29px, 7.5vw, 36px);
    line-height: 1.5;
  }
  .contact-hero h1 {
    font-size: 30px;
  }
  :is(.content-section, .guide-chapter, .dossier-chapter, .legal) h2 {
    font-size: 25px;
    line-height: 1.5;
  }
  .dossier-overview h2 {
    font-size: 28px;
  }
  :is(
      .card-body,
      .article-card,
      .topic-card,
      .country-card,
      .guide-entry,
      .related-card,
      .network-card,
      .office,
      .boundary-grid,
      .demo-card
    )
    h3,
  .network-card strong {
    font-size: 19px;
  }
  .route-link strong {
    font-size: 15px;
  }
  .route-link small {
    font-size: 12px;
  }
  .route-link b {
    font-size: 25px;
  }
  .route-link {
    gap: 12px;
  }
  :is(.faq-list, .faq-entry) summary {
    font-size: 16px;
    line-height: 1.75;
  }
  .faq-label p {
    font-size: 15px;
  }
  .dossier-licence summary strong {
    font-size: 19px;
  }
  .dossier-meta {
    font-size: 13px;
  }
  .field label,
  .form-section label {
    font-size: 14px;
  }
  .form-section legend {
    font-size: 18px;
  }
  .form-steps li {
    font-size: 12px;
  }
  .form-card h3,
  .grouped-form h3 {
    font-size: 23px;
  }
  .subnav-links {
    font-size: 13px;
    gap: 14px;
  }
  .site-header .brand--mso strong {
    font-size: 23px;
  }
  .site-header .brand--mso .brand-tagline {
    font-size: 12px;
  }
  .site-header .brand--mso .brand-english {
    font-size: 9px;
    letter-spacing: 0.025em;
  }
  .site-header .header-actions .btn {
    font-size: 14px;
  }
  .site-footer p,
  .footer-grid ul {
    font-size: 13px;
  }
  .quick-contact-desk-list dd {
    font-size: 14px;
  }
}
@media (max-width: 350px) {
  .site-header .brand--mso strong {
    font-size: 21px;
  }
  .site-header .brand--mso .brand-tagline {
    font-size: 11px;
  }
  .site-header .brand--mso .brand-english {
    font-size: 8.5px;
    letter-spacing: 0;
  }
  .route-link strong {
    font-size: 14px;
  }
  .hero-updated h1 em {
    font-size: 27px;
  }
}

/* FAQ三色说明与全球资料摘要沿用正文尺度，不因卡片而缩水。 */
.faq-label p,
.country-card p,
.country-card .dossier-license-preview {
  font-size: var(--type-body);
  line-height: 1.95;
}

.subnav-links a {
  font-size: 13px;
  line-height: 1.65;
}
