/* English additions to the shared Chinese site's design system.
   styles.css is copied from www on each build; edit only additions here. */
:root {
  --font-sans: Avenir, "Helvetica Neue", Arial, "Microsoft YaHei", sans-serif;
}
body { line-height: 1.7; }
h1, h2, h3, p, a { overflow-wrap: break-word; }
h1, h2, h3 { text-wrap: balance; }
.page-title { font-size: clamp(2.4rem, 4.5vw, 4.3rem); line-height: 1.1; letter-spacing: -0.035em; }
.page-lede { max-width: 62ch; }
.site-header__inner { gap: 16px; }
.site-nav { gap: 14px; }
.site-nav__link { font-size: .84rem; white-space: nowrap; }
.site-subnav-toggle { width: 25px; height: 32px; padding: 0; border: 0; background: transparent; color: var(--color-leaf); cursor: pointer; }
.site-nav__item.submenu-open .site-subnav { visibility: visible; opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.site-header__cta { font-size: .84rem; padding-inline: 16px; }
.site-subnav { min-width: 215px; visibility: hidden; }
.site-nav__item:hover .site-subnav,
.site-nav__item:focus-within .site-subnav { visibility: visible; }
.language-switch { white-space: nowrap; font-size: .86rem; }
.site-footer__inner { grid-template-columns: minmax(190px, 1.2fr) repeat(3, minmax(0, 1fr)); }
.site-footer__brand { min-width: 0; }
.site-footer h3 { font-size: 1rem; }
.footer-note { max-width: 30ch; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 100; background: var(--color-ink-green); color: white; padding: 12px 20px; }
.skip-link:focus { top: 8px; }
:focus-visible { outline: 3px solid var(--color-grain); outline-offset: 4px; }
.home-entry-hero h1 { font-size: clamp(2.8rem, 5.4vw, 5rem); line-height: 1.05; letter-spacing: -.04em; }
.home-entry-hero__copy { max-width: 720px; }
.home-entry-hero__copy > p:not(.eyebrow) { max-width: 53ch; line-height: 1.75; }
.family-membership-title { display: block; }
.family-membership-facts strong { font-size: clamp(1.7rem, 3.2vw, 3rem); }
.family-membership-facts > div:nth-child(3) strong { font-size: clamp(1.5rem, 2.6vw, 2.3rem); }
.english-trip__price { color: var(--color-ink-green); font-size: 1.3rem; }
.english-home__trip-summary { font-weight: 700; letter-spacing: .03em; }
.family-membership-facts { align-items: center; }
.family-membership-facts span { line-height: 1.5; }
.family-membership-facts > p { font-size: .95rem; }
.family-membership-benefits h3 { line-height: 1.35; }
.family-membership-note { line-height: 1.8; }
.contact-advisor-card__details a { overflow-wrap: anywhere; }
.contact-prep__form-action { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.contact-prep__form-action .family-membership-note { max-width: 60ch; margin: 0; }
@media (max-width: 1279px) {
  .site-header__cta { display: none; }
}
@media (min-width: 1081px) and (max-width: 1279px) {
  .site-nav { gap: 11px; }
  .site-nav__link { font-size: .8rem; }
  .site-header__inner { gap: 10px; }
}
@media (max-width: 1080px) {
  .site-nav__link { font-size: 1rem; white-space: normal; }
  .site-subnav { visibility: visible; }
  .site-nav__item:hover .site-subnav,
  .site-nav__item:focus-within .site-subnav,
  .site-nav__item.submenu-open .site-subnav { transform: none; }
  .language-switch { margin-left: auto; }
}
@media (max-width: 860px) {
  .site-footer__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer__brand { grid-column: 1 / -1; }
  .page-title { font-size: clamp(2.1rem, 7vw, 3.3rem); }
  .footer-bottom { flex-wrap: wrap; }
}
@media (max-width: 520px) {
  .home-entry-hero h1 { font-size: 2.75rem; }
  .site-header__inner { gap: 10px; }
  .site-footer__inner { gap: 28px 18px; }
  .family-membership-facts > div { padding: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
