/* Horizon: vermilion, warm gold, and paper. */
:root {
  color-scheme: light;
  --bg: #faf5eb;
  --surface: #fffaf2;
  --text: #392c29;
  --muted: #75645c;
  --accent: #ac2630;
  --line: rgba(136, 65, 42, .19);
  --gold: #edc88c;
  --serif: "Songti SC", "STSong", "SimSun", "Noto Serif CJK SC", serif;
}
::selection { background: #edc88c; color: #6e1621; }
body { background: var(--bg); min-height: 100svh; display: flex; flex-direction: column; }
main { flex: 1; }
.header { color: #fff3df; border-bottom-color: #f2cd973d; }
.brand-mark { width: 48px; height: 48px; flex-shrink: 0; }
.brand > span { letter-spacing: .22em; }
.brand-sub { color: #f0cbb4; font-size: 11px; letter-spacing: .26em; }
.header nav a { color: #f5d6c1; }
.header nav a:hover { color: #fff5d9; }
.language { color: #eab5a0; }
.language button { color: #edb8a7; }
.language button[aria-pressed=true] { color: #fff6e3; }
.login { color: #75232b; background: #f3d7a0; border-color: #f3d7a0; gap: 23px; }
.login svg { color: #75232b; }
.login:hover { background: #ffe9bc; border-color: #ffe9bc; }
.header a:focus-visible, .header button:focus-visible,
.hero a:focus-visible, .hero button:focus-visible { outline-color: #ffe2a8; }
.hero {
  --accent: #f6dba4;
  --text: #fff7e9;
  color: var(--text);
  background: radial-gradient(ellipse at 76% 30%, #da4a38 0%, transparent 50%), linear-gradient(120deg, #811e2c 0%, #b52d31 56%, #941e2c 100%);
  border-bottom: 4px solid #d0a56e;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(#f8d3a20b 1px, transparent 1px), linear-gradient(90deg, #f8d3a20b 1px, transparent 1px);
  background-size: 74px 74px;
  mask-image: linear-gradient(90deg, transparent 30%, #000);
}
#horizon-field { opacity: 1; }
.hero-shade { background: linear-gradient(90deg, #811e2c96 0%, #9e29324d 36%, transparent 69%), linear-gradient(0deg, #811e2cba, transparent 20%); }
.hero-content { z-index: 2; }
.eyebrow { color: #f6dab7; letter-spacing: .2em; }
.hero .tiny-cross { color: #f6dba4; }
h1 { font-family: var(--serif); font-weight: 600; letter-spacing: .035em; line-height: 1.4; }
.hero-lead { color: #fff0de; }
.hero-lead.secondary { color: #edc5b4; }
.explore { color: #ffefd2; }
.circle-arrow { border-color: #f5d59990; color: #ffe5b1; }
.explore:hover .circle-arrow { background: #efd098; color: #7c2230; }
.hero-bottom { color: #f2c5ab; }
.scroll-line { background: #e3ad7b66; }
.motion-toggle { color: #f5d7b8; background: #781d2870; border-color: #e5b08566; }
.motion-toggle:hover { background: #781d28; color: #ffe6b6; }
.horizon-emblem { position: absolute; top: 29%; left: 73%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 24px; pointer-events: none; opacity: .88; }
.horizon-emblem img { width: clamp(120px, 13vw, 195px); height: auto; box-shadow: 0 18px 70px #6315222e; transform: rotate(-4deg); }
.horizon-emblem span { font: 12px "Consolas", monospace; color: #f6d5a2; letter-spacing: .35em; }
.section-index { color: #a33c36; font-size: 13px; }
h2 { font-family: var(--serif); font-weight: 600; letter-spacing: .015em; }
.intro { padding-top: 92px; padding-bottom: 96px; }
.intro h2 { font-size: 34px; }
.body-copy { color: #75645c; }
.heading-note { color: #816d62; font-size: 15px; }
.markets { border-top: 2px solid #b64039; background: #fffaf3; box-shadow: 0 16px 50px #9e5e2710; }
.market { padding-top: 34px; }
.market:hover { background: #f7ead8; }
.market-top .mono { color: #9b5b4a; }
.market-top svg { color: #b33532; }
.market-top .dim { stroke: #d9c3ad; }
.market h3 { font-family: var(--serif); font-weight: 600; font-size: 24px; }
.market-en { color: #9a6b55 !important; }
.market > p:last-child { color: #776357; font-size: 16px; }
.philosophy-heading h2 { line-height: 1.65; }
.principle-sign { color: #ad4c3c; }
.principle { border-top-color: #b66c4838; }
.principle > .mono { color: #b33735; }
.principle h3 { color: #682e2c; font-family: var(--serif); font-size: 23px; font-weight: 600; }
.principle p { color: #79655b; font-size: 16px; }
.together { margin: 0; padding: 102px 6% 82px; background: radial-gradient(ellipse at 50% 100%, #e9bb7540, transparent 66%), #f2e6d4; border-top: 1px solid #dcc3a0; }
.together h2 { color: #71302f; }
.together .accent { color: #b02d32; }
.together > p:not(.section-index):not(.closing) { color: #796153; }
.closing-rule { background: linear-gradient(transparent, #b53334); }
.closing { color: #9b3931; font-family: var(--serif); font-size: 20px; letter-spacing: .18em; }
.footer { margin: 0; padding: 30px 5.6%; background: #8b2330; color: #ffecd2; border-top-color: #e1bc832e; }
.footer-brand { display: flex; align-items: center; gap: 13px; }
.footer-mark { flex-shrink: 0; }
.footer-brand span { color: #f0c6ae; margin-left: 5px; }
.copyright, .back-top { color: #f0c6ae; }
html[lang=en] h1, html[lang=en] h2, html[lang=en] h3 { font-family: Arial, sans-serif; font-weight: 400; }
html[lang=en] h1 { font-size: clamp(43px, 4.7vw, 74px); }
@media(min-width:1600px) {
  .together, .footer { max-width: none; }
  .footer { padding-left: max(5.6%, calc((100vw - 1440px)/2)); padding-right: max(5.6%, calc((100vw - 1440px)/2)); }
}
@media(max-width:1000px) {
  .horizon-emblem { left: 79%; top: 31%; opacity: .7; }
  .horizon-emblem img { width: 128px; }
  .horizon-emblem span { font-size: 9px; }
}
@media(max-width:700px) {
  .header { gap: 10px; }
  .brand-mark { width: 35px; height: 35px; }
  .brand > span { font-size: 16px; letter-spacing: .1em; }
  .brand-sub { font-size: 9px; letter-spacing: .13em; }
  .header-actions { gap: 12px; }
  .login { gap: 10px; padding: 9px 10px; }
  .hero { min-height: 760px; }
  .hero-shade { background: linear-gradient(90deg, #811e2c8c, transparent), linear-gradient(0deg, #811e2c80, transparent 25%); }
  .hero-content { padding-top: 172px; }
  .horizon-emblem { top: auto; bottom: 160px; left: auto; right: 9%; transform: none; opacity: .72; gap: 10px; }
  .horizon-emblem img { width: 74px; box-shadow: none; }
  .horizon-emblem span { font-size: 7px; letter-spacing: .1em; }
  h1 { font-size: clamp(43px, 9vw, 63px); }
  .hero-lead { font-size: 15px; }
  .intro { padding: 68px 0; }
  .intro h2 { font-size: 27px; }
  .body-copy, .market > p:last-child, .principle p { font-size: 16px; }
  .market h3 { font-size: 21px; }
  .market { padding: 25px 16px 27px; }
  .principle h3 { font-size: 21px; }
  .together { margin: 0; padding: 76px 6% 64px; }
  .together > p:not(.section-index):not(.closing) { font-size: 16px; }
  .closing { font-size: 18px; }
  .footer { margin: 0; padding: 28px 6%; }
  .footer-brand { gap: 10px; flex-wrap: wrap; }
  .footer-brand span { margin-left: 3px; }
  html[lang=en] h1 { font-size: clamp(38px, 8vw, 55px); }
  html[lang=en] .footer-brand span { margin: 0; flex-basis: 100%; padding-left: 46px; }
}
@media(max-width:370px) {
  .brand-mark { width: 29px; height: 29px; }
  .brand > span { font-size: 14px; }
  .header-actions { gap: 7px; }
  .language { gap: 4px; }
  .login { gap: 7px; padding: 8px; }
  .horizon-emblem { bottom: 135px; }
}

/* Shared navigation and responsive research layout. */
.header nav a[aria-current="page"] { color: #ffe9b7; box-shadow: 0 2px #edc88c; padding-bottom: 7px; }
.header nav { gap: 26px; margin-right: 30px; }
.text-link { display: inline-block; margin-top: 24px; color: #a12830; font-size: 15px; border-bottom: 1px solid #bd7770; padding-bottom: 6px; }
.text-link:hover { color: #74202a; }
.markets { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.market { min-height: 320px; }
.market:nth-child(n) { border-bottom: 0; border-right: 1px solid var(--line); }
.market:last-child { border-right: 0; }
.market > p:last-child { max-width: 100%; }
@media(max-width:1000px) and (min-width:701px) {
  .header { gap: 15px; }
  .header nav { gap: 18px; margin-right: 0; }
  .header nav a { font-size: 13px; white-space: nowrap; }
  .brand > span { font-size: 18px; }
  .brand-mark { width: 38px; height: 38px; }
  .header-actions { gap: 16px; }
  .login { gap: 10px; padding: 10px 12px; }
  .market { padding-left: 20px; padding-right: 20px; }
  .market h3 { font-size: 22px; }
}
@media(max-width:700px) {
  .header { display: grid; grid-template-columns: 1fr auto; grid-template-rows: 77px 45px; height: 123px; gap: 0 10px; }
  .header nav { display: flex; grid-column: 1 / -1; grid-row: 2; justify-content: center; align-items: center; gap: 30px; margin: 0; border-top: 1px solid #f0c99626; height: 100%; }
  .header nav a { font-size: 13px; }
  .header nav a[aria-current="page"] { padding-bottom: 4px; }
  .header-actions { grid-column: 2; grid-row: 1; }
  .hero-content { padding-top: 204px; }
  .markets { grid-template-columns: 1fr; }
  .market { min-height: 0; padding: 28px; }
  .market:nth-child(n) { border-right: 0; border-bottom: 1px solid var(--line); }
  .market:last-child { border-bottom: 0; }
  .market-top { display: flex; margin-bottom: 22px; align-items: center; }
  .market-top .mono { margin-bottom: 0; }
  .market h3 { font-size: 25px; }
  .market-en { font-size: 11px !important; }
  .horizon-emblem { bottom: 133px; }
}

.hero-next { position: absolute; z-index: 3; right: 5.6%; bottom: 175px; display: flex; align-items: center; justify-content: space-between; gap: 28px; min-width: 210px; padding: 19px 24px; color: #75232b; background: #f6dba4; border: 1px solid #fff0ca; box-shadow: 0 10px 32px #68121d38; font-size: 19px; font-weight: 600; transition: transform .25s, background .25s; }
.hero-next:hover { transform: translateY(4px); background: #ffedc4; }
.next-arrow { font-size: 28px; line-height: 1; font-weight: 400; }
@media(max-width:700px) {
  .hero-next { right: 6%; bottom: 145px; min-width: 188px; padding: 17px 20px; font-size: 18px; }
  .hero { min-height: 820px; }
  .hero .horizon-emblem { display: none; }
}

/* Keep both language headlines to two complete lines at every width. */
html[lang] .hero-content { max-width: none; container-type: inline-size; }
#hero-title > span { display: block; white-space: nowrap; }
html[lang="zh-CN"] #hero-title { font-size: min(clamp(43px, 5.1vw, 82px), 18cqi); }
html[lang="en"] #hero-title { font-size: min(clamp(43px, 4.7vw, 74px), 13cqi); }
@media(max-width:700px) {
  html[lang="zh-CN"] #hero-title { font-size: min(clamp(43px, 9vw, 63px), 18cqi); }
  html[lang="en"] #hero-title { font-size: min(clamp(38px, 8vw, 55px), 13cqi); }
}

/* Primary section titles lead the hierarchy; supporting statements sit below. */
#research .section-title, #about .section-title {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 0 0 44px;
  padding: 0 0 26px;
  border-bottom: 2px solid #d0a56e;
  color: #a12530;
  font-family: Arial, "Microsoft YaHei", sans-serif;
  font-size: clamp(30px, 4.1vw, 58px);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: .025em;
}
.section-title::before { content: ""; flex: 0 0 8px; width: 8px; height: .85em; background: #ac2630; }
.section-statement { font-family: var(--serif); font-size: clamp(27px, 3vw, 40px); font-weight: 600; line-height: 1.55; letter-spacing: -.02em; }
#about > .intro { display: block; }
.about-intro-copy { display: grid; grid-template-columns: 1fr 1.25fr; gap: 7%; align-items: start; }
.about-intro-copy .body-copy { margin-top: 0; }
.footer { flex-wrap: wrap; }
.icp-filing { flex-basis: 100%; padding-top: 18px; border-top: 1px solid #e1bc8333; text-align: center; font-size: 13px; line-height: 1.7; color: #f0c6ae; }
.icp-filing a:hover { color: #fff0d7; text-decoration: underline; }
.icp-filing a:focus-visible { outline-color: #f6dba4; }
@media(max-width:700px) {
  #research .section-title, #about .section-title { gap: 13px; margin-bottom: 30px; padding-bottom: 20px; font-size: clamp(27px, 7vw, 38px); }
  .section-title::before { flex-basis: 5px; width: 5px; }
  .about-intro-copy { display: block; }
  .about-intro-copy .body-copy { margin-top: 22px; }
  .section-statement { font-size: 27px; }
}
