/* Spanish-language refinements; structural page components are shared with the Chinese route stylesheet. */
.es-site {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  line-height: 1.72;
  word-break: normal;
  overflow-wrap: anywhere;
}

.es-site h1,
.es-site h2,
.es-site h3 {
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: -.028em;
}

.es-site .language-switcher a[aria-current="page"] { color: var(--copper); }
.es-site .primary-nav { gap: clamp(.4rem, .75vw, .8rem); }
.es-site .primary-nav a { font-size: clamp(.62rem, .68vw, .76rem); white-space: nowrap; }
.es-site .header-inner { gap: clamp(.55rem, 1.15vw, 1rem); }
.es-site .header-right { gap: .65rem; }

.es-site .zh-home-hero {
  background-image: url('/manus-storage/hero-port_104231ff.webp');
  background-position: center 56%;
  background-size: cover;
}
.es-site .zh-home-hero .hero-image { z-index: 0; }
.es-site .zh-home-hero .hero-shade { z-index: 1; }
.es-site .zh-home-hero .hero-lines { z-index: 2; }
.es-site .zh-home-hero .hero-content { z-index: 3; }
.es-site .zh-home-hero h1 {
  max-width: 930px;
  font-size: clamp(2.8rem, 6.3vw, 5.7rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.es-site .zh-home-hero .hero-lede { max-width: 760px; line-height: 1.78; }
.es-site .zh-home-hero .hero-actions { gap: .8rem; }
.es-site .button { letter-spacing: 0; }

.es-site .zh-page-heading h1 {
  font-size: clamp(2.25rem, 5.1vw, 4.35rem);
  line-height: 1.14;
  letter-spacing: -.035em;
}
.es-site .zh-page-heading > p,
.es-site .zh-section-heading > p,
.es-site .zh-copy,
.es-site .zh-card p,
.es-site .zh-plain-list li,
.es-site .zh-steps li,
.es-site .zh-terms-note,
.es-site .zh-followup-note { line-height: 1.78; }
.es-site .zh-section-heading h2 {
  font-size: clamp(1.9rem, 4vw, 3.45rem);
  line-height: 1.16;
}
.es-site .section--navy .zh-section-heading h2 { color: #f8f5ef; }
.es-site .section--navy .zh-section-heading > p { color: rgba(248, 245, 239, .72); }
.es-site .zh-card h3,
.es-site .zh-card h2 { line-height: 1.32; }
.es-site .zh-closing-banner p { font-family: Georgia, "Times New Roman", serif; line-height: 1.48; }
.es-site .faq-item summary { font-family: Georgia, "Times New Roman", serif; font-size: 1rem; line-height: 1.55; }
.es-site .faq-answer p { line-height: 1.75; }
.es-site .form-field label { font-size: .76rem; line-height: 1.5; }
.es-site .form-field input:not([type="checkbox"]),
.es-site .form-field select,
.es-site .form-field textarea { font-family: inherit; font-size: .84rem; }

@media (max-width: 1280px) {
  .es-site .header-inner { flex-wrap: wrap; justify-content: space-between; padding-block: .55rem; }
  .es-site .brand { order: 1; }
  .es-site .header-right { order: 2; margin-left: auto; }
  .es-site .nav-toggle { order: 3; display: inline-flex; flex: none; flex-direction: column; align-items: center; justify-content: center; }
  .es-site .primary-nav { order: 4; width: 100%; justify-content: flex-start; flex-wrap: wrap; margin: 0; padding: .25rem 0 .55rem; }
  html.js-ready .es-site .primary-nav { display: none; }
  html.js-ready .es-site .primary-nav.is-open { display: flex; }
}

@media (max-width: 900px) {
  .es-site .zh-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .es-site .zh-contact-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .es-site .header-inner { min-height: var(--header-height); gap: .35rem; }
  .es-site .brand { gap: .4rem; }
  .es-site .brand-mark { width: 30px; }
  .es-site .brand-type strong { font-size: .78rem; letter-spacing: .06em; }
  .es-site .brand-type > span { font-size: .39rem; letter-spacing: .07em; }
  .es-site .header-right { gap: .35rem; }
  .es-site .language-switcher { gap: .16rem; }
  .es-site .language-switcher a { font-size: .6rem; }
  .es-site .button--nav { display: none; }
  .es-site .nav-toggle { width: 36px; height: 36px; padding: 8px; }
  .es-site .primary-nav { gap: .35rem .8rem; }
  .es-site .primary-nav a { padding: .3rem 0; font-size: .82rem; white-space: normal; }
  .es-site .hero h1 { font-size: clamp(2.45rem, 10vw, 3.8rem); line-height: 1.08; }
  .es-site .zh-page-hero { padding-block: 3.6rem; }
  .es-site .zh-page-heading h1 { font-size: clamp(2.1rem, 8.4vw, 3.2rem); }
  .es-site .zh-section-heading h2 { font-size: clamp(1.85rem, 7.5vw, 2.8rem); }
  .es-site .zh-card-grid,
  .es-site .zh-card-grid--three,
  .es-site .zh-category-grid,
  .es-site .zh-two-columns { grid-template-columns: 1fr; }
  .es-site .zh-steps li { grid-template-columns: 2rem minmax(0, 1fr); gap: .65rem; }
  .es-site .zh-closing-banner { grid-template-columns: 1fr; }
  .es-site .zh-closing-banner .button,
  .es-site .zh-submit-row .button { width: 100%; }
  .es-site .zh-submit-row { grid-template-columns: 1fr; }
  .es-site .zh-footer-inner { align-items: flex-start; flex-direction: column; gap: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .es-site *, .es-site *::before, .es-site *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
