@import url(https://fonts.googleapis.com/css2?family=Newsreader:opsz,wght@6..72,400&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,700&display=swap);
/* Shared base for the Hong Kong landing components. Ported from
   1510/Hong Kong Langing Page Brief Assets/styles.css (design tokens in DEVELOPER_BRIEF.md section 4). */
:where(.hk-section),
:where(.hk-section) * { box-sizing: border-box; margin: 0; padding: 0; }
.hk-section {
  --hk-navy: #001a49;
  --hk-ink: #1a2744;
  --hk-gold: #e6bf1c;
  --hk-gold-dark: #9a7a00;
  --hk-lav: #f2f3ff;
  --hk-line: #dfdfdf;
  --hk-muted: #5c5c5c;
  --hk-pull: #e8eefa;
  position: relative;
  color: var(--hk-ink);
  font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-size: 18px; line-height: 1.6; text-align: left;
  -webkit-font-smoothing: antialiased;
  scroll-margin-top: 90px;
}
:where(.hk-section) a { color: inherit; }
:where(.hk-section) img { display: block; max-width: 100%; height: auto; }
:where(.hk-section) ul, :where(.hk-section) ol { list-style: none; }
.hk-section h1, .hk-section h2, .hk-section h3, .hk-h2 {
  font-family: "Newsreader", Georgia, "Times New Roman", serif; font-weight: 400;
  color: var(--hk-navy); line-height: 1.15; text-wrap: balance;
}
.hk-section h1 { font-size: clamp(38px, 5.4vw, 58px); }
.hk-section h2 { font-size: clamp(30px, 3.6vw, 42px); }
.hk-section h3 { font-size: clamp(22px, 2.2vw, 28px); }

.hk-wrap { max-width: 1200px; margin: 0 auto; padding-left: 20px; padding-right: 20px; }
.hk-band { padding-block: 80px; }
.hk-bg--white { background: #fff; }
.hk-bg--lav { background: var(--hk-lav); }
.hk-bg--navy { background: var(--hk-navy); color: #e4e8f2; }
.hk-bg--navy h2, .hk-bg--navy h3 { color: #fff; }

.hk-eyebrow { display: block; margin-bottom: 14px; font-size: 12px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--hk-gold-dark); line-height: 1.6; }
.hk-bg--navy .hk-eyebrow, .hk-on-dark .hk-eyebrow { color: var(--hk-gold); }
.hk-lede { margin-top: 16px; max-width: 62ch; font-size: 20px; color: var(--hk-muted); }
.hk-bg--navy .hk-lede { color: #c5ccdd; }
.hk-head { margin-bottom: 44px; }

.hk-btns { display: flex; flex-wrap: wrap; gap: 14px; }
.hk-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 15px 28px; border: 2px solid var(--hk-gold); border-radius: 50px;
  background: var(--hk-gold); color: var(--hk-navy);
  font-size: 15px; font-weight: 700; line-height: 1.6; text-decoration: none;
  transition: transform .15s ease, background .15s ease;
}
.hk-btn:hover { transform: translateY(-1px); background: #f2cd2c; }
.hk-btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.7); }
.hk-btn--ghost:hover { background: rgba(255,255,255,.1); }
.hk-btn svg { width: 20px; height: 20px; }
.hk-section :focus-visible { outline: 3px solid var(--hk-gold); outline-offset: 3px; }

/* Diamond bullets (two buyers, SPARK price card). */
.hk-ticks { display: grid; gap: 12px; font-size: 16px; }
.hk-ticks li { position: relative; padding-left: 26px; }
.hk-ticks li::before { content: ""; position: absolute; left: 2px; top: 9px; width: 9px; height: 9px; background: var(--hk-gold); transform: rotate(45deg); }
.hk-tag { font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--hk-gold-dark); }

@media (max-width: 900px) {
  .hk-band { padding-block: 60px; }
}
@media (max-width: 560px) {
  .hk-section { font-size: 17px; }
  .hk-btns .hk-btn { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .hk-section * { transition: none !important; }
}

/* The nav lives in a shadow root, so stickiness has to be set on the host element itself. */
:host(:has(.hk-nav--sticky)) { display: block; position: sticky; top: 0; z-index: 20; }

.hk-nav { background: var(--hk-navy); color: #fff; }
.hk-nav__bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 72px; }
.hk-nav__logo img { width: auto; height: 34px; }
.hk-nav__links { display: flex; gap: 26px; font-size: 15px; }
.hk-nav__links a, .hk-nav__mobile a { text-decoration: none; opacity: .9; }
.hk-nav__links a:hover, .hk-nav__mobile a:hover { opacity: 1; color: var(--hk-gold); }
.hk-nav__end { display: flex; align-items: center; gap: 14px; }
.hk-nav__flag { padding: 4px 12px; border: 1px solid rgba(230,191,28,.5); border-radius: 40px; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; white-space: nowrap; color: var(--hk-gold); }
.hk-nav__toggle { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 40px; height: 40px; padding: 0 9px; border: 0; background: transparent; cursor: pointer; }
.hk-nav__toggle span { display: block; height: 2px; background: #fff; transition: transform .2s ease, opacity .2s ease; }
.hk-nav.is-open .hk-nav__toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hk-nav.is-open .hk-nav__toggle span:nth-child(2) { opacity: 0; }
.hk-nav.is-open .hk-nav__toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.hk-nav__mobile { display: none; }
@media (max-width: 1000px) {
  .hk-nav__links { display: none; }
  .hk-nav__toggle { display: flex; }
  .hk-nav__mobile { display: grid; gap: 4px; padding-bottom: 16px; font-size: 16px; border-top: 1px solid rgba(255,255,255,.12); }
  .hk-nav__mobile a { display: block; padding: 10px 0; }
}

