.is-home #mainContent { color: #252525; background: #fff; }
.is-home #mainContent * { letter-spacing: 0; }
.hb-hero { position: relative; height: min(650px, calc(100svh - 174px)); min-height: 500px; background: #c3d4d2; }
.hb-hero > img { position: absolute; width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.hb-hero .site-shell { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-left: 46%; }
.hb-label { color: #497364; font-size: 12px; margin: 0 0 24px; }
.hb-hero h1 { font-size: 42px; font-weight: 500; line-height: 1.4; margin: 0 0 24px; }
.hb-hero h2 { font-size: 28px; font-weight: 400; line-height: 1.6; margin: 0 0 22px; }
.hb-hero p:not(.hb-label) { font-size: 15px; line-height: 2; color: #40594e; }
.hb-link { display: inline-flex; gap: 32px; padding: 10px 0; border-bottom: 1px solid #82998c; margin-top: 18px; font-size: 14px; }
.hb-values { display: flex; justify-content: center; gap: 90px; padding: 26px 20px; background: #eaf2ee; color: #40594e; font-size: 14px; }
.hb-new { display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
.hb-new > img { width: 100%; max-height: 660px; object-fit: contain; }
.hb-new-copy { padding: 65px 12%; }
.hb-new h2, .hb-series h2 { font-size: 34px; line-height: 1.5; font-weight: 500; margin: 0 0 26px; }
.hb-new-copy > p:not(.hb-label) { color: #64696a; line-height: 2; font-size: 16px; }
.hb-new-notes { display: flex; gap: 26px; border-top: 1px solid #d5ded9; padding-top: 22px; margin-top: 26px; color: #497364; font-size: 13px; }
.hb-series { padding: 85px 0; background: #f5f7f7; }
.hb-series-links { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 40px; border-top: 1px solid #ccd9d1; }
.hb-series-links a { padding: 28px 20px 24px 0; border-bottom: 1px solid #ccd9d1; }
.hb-series-links small { display: block; color: #82998c; margin-bottom: 18px; }
.hb-series-links strong { font-size: 17px; font-weight: 500; }
.hb-series-links a:hover { color: #176b49; background: #eaf2ee; }
.is-home .featured-section { padding: 90px 0; }
.is-home .section-heading h2, .is-home .journal-copy h2 { font-family: inherit; font-weight: 500; font-size: 34px; }
.is-home .product-card:nth-child(even) { margin-top: 0; }
.is-home .product-image { border-radius: 0 !important; background: #f6f8f7; }
.is-home .product-order { color: #497364; background: none; }
.is-home .product-view { border-radius: 3px; }
.is-home .product-meta h3 { line-height: 1.8; font-weight: 400; }
.hb-story { background: #eaf1ee; display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
.hb-story-visual { position: relative; min-width: 0; }
.hb-story-visual > img { display: block; width: 100%; height: auto; }
.hb-texture-labels { position: absolute; inset: 0; color: #174f3d; pointer-events: none; }
.hb-texture-note { position: absolute; top: 61.5%; width: 20%; text-align: center; transform: translateX(-50%); line-height: 1.35; }
.hb-texture-note strong, .hb-texture-note small { display: block; letter-spacing: 0; }
.hb-texture-note strong { font-size: 10px; font-weight: 600; }
.hb-texture-note small { margin-top: 3px; font-size: 9px; color: #526c63; }
.hb-texture-note.note-one { left: 10.2%; }
.hb-texture-note.note-two { left: 24.2%; }
.hb-texture-note.note-three { left: 38.2%; }
.hb-texture-note.note-four { left: 52.4%; }
.hb-story-copy { padding: 65px 12%; }
.hb-story-copy h2 { font-size: 34px; line-height: 1.55; font-weight: 500; margin: 0 0 26px; }
.hb-story-copy > p:not(.hb-label) { font-size: 16px; line-height: 2; color: #64696a; }
.is-home .journal-section { padding: 90px 0; background: #fff; }
.is-home .journal-card-media { border-radius: 0; }
.is-home .cta-section { background: #f0f3f5; padding: 75px 0; }
.is-home .cta-section h2 { font-family: inherit; font-size: 34px; font-weight: 500; }

/* English copy needs slightly wider rhythm than the Chinese edition. */
.hb-hero h2 { max-width: 610px; line-height: 1.35; }
.hb-new-copy { padding-right: 8%; }
.hb-new-copy > p:not(.hb-label), .hb-story-copy > p:not(.hb-label) { max-width: 650px; }
.hb-series-links strong { display: inline-block; max-width: calc(100% - 28px); line-height: 1.45; vertical-align: top; }
.is-home .cta-section h2 { max-width: 920px; margin-left: auto; margin-right: auto; }
@media (max-width: 1000px) {
  .hb-hero h1 { font-size: 32px; }
  .hb-new-copy, .hb-story-copy { padding: 40px 30px; }
  .hb-series-links { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .hb-hero { height: auto; min-height: 0; padding-bottom: 230px; background: #f0f5f3; }
  .hb-hero > img { bottom: 0; height: 230px; object-fit: contain; }
  .hb-hero .site-shell { padding: 35px 0 20px; width: calc(100% - 40px); }
  .hb-hero h1 { font-size: 29px; margin-bottom: 15px; }
  .hb-hero h2 { font-size: 24px; }
  .hb-label { margin-bottom: 18px; }
  .hb-values { gap: 15px; font-size: 11px; padding: 22px 15px; }
  .hb-new, .hb-story { grid-template-columns: 1fr; }
  .hb-texture-note strong { font-size: 7px; }
  .hb-texture-note small { margin-top: 1px; font-size: 6px; }
  .hb-new > img { max-height: 400px; }
  .hb-new-copy, .hb-story-copy { padding: 38px 24px; }
  .hb-new h2, .hb-story-copy h2, .hb-series h2, .is-home .section-heading h2, .is-home .journal-copy h2, .is-home .cta-section h2 { font-size: 27px; }
  .hb-series, .is-home .featured-section, .is-home .journal-section { padding: 55px 0; }
  .hb-series-links { grid-template-columns: repeat(2, 1fr); margin-top: 25px; }
  .hb-series-links strong { font-size: 15px; }
  .hb-new-notes { gap: 15px; }
}
