/* QBPremium VI 3.0 — Gotham (Latin) + Source Han Sans (CJK). See ★QBP_VIM3.0_JP_(2023修正済み).pdf §3.5 */

@font-face {
  font-family: "Gotham";
  src: url("/qb-assets/fonts/GothamBook.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gotham";
  src: url("/qb-assets/fonts/GothamMedium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gotham";
  src: url("/qb-assets/fonts/GothamBold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Source Han Sans";
  src: url("/qb-assets/fonts/SourceHanSans-Normal.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Source Han Sans";
  src: url("/qb-assets/fonts/SourceHanSans-Medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Source Han Sans";
  src: url("/qb-assets/fonts/SourceHanSans-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  /* QBP VIM 3.0 — Relax Green / Woody Brown / Accent Black / Neutral Grey */
  --qb-primary: #003241;
  --qb-primary-hover: #002530;
  --qb-brown: #8c785a;
  --qb-black: #323232;
  --qb-grey: #e6e6e6;
  --qb-font-latin: "Gotham", "Source Han Sans", sans-serif;
  --qb-font-cjk: "Source Han Sans", "Gotham", sans-serif;
}

.qb-btn-primary {
  background-color: var(--qb-primary);
  color: #fff;
}
.qb-btn-primary:hover {
  background-color: var(--qb-primary-hover);
}
.qb-text-primary {
  color: var(--qb-primary);
}
.qb-text-accent {
  color: var(--qb-brown);
}
.qb-text-black {
  color: var(--qb-black);
}
.qb-bg-grey {
  background-color: var(--qb-grey);
}
.card-grad {
  background: linear-gradient(150deg, #001820 0%, var(--qb-primary-hover) 40%, var(--qb-primary) 100%);
}

html[lang="en"] body {
  font-family: var(--qb-font-latin);
}

html[lang="ja"] body,
html[lang="zh-HK"] body,
html:lang(ja) body,
html:lang(zh-HK) body {
  font-family: var(--qb-font-cjk);
}

/* Header logo — QBPREMIUM-BLUE-LOGO.png (1266×402) */
.qb-header-logo {
  display: block;
  width: min(46.67vw, 210px);
  height: auto;
}

@media (min-width: 751px) {
  .qb-header-logo {
    width: 210px;
  }
}

/* Primary nav — SG-style uppercase Gotham Medium */
.qb-site-nav {
  font-family: var(--qb-font-latin);
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

html[lang="ja"] .qb-site-nav,
html[lang="zh-HK"] .qb-site-nav {
  font-family: var(--qb-font-cjk);
  letter-spacing: 0.04em;
  text-transform: none;
}
