/* Shared public and retained-review homepage composition. */
body[data-page="home-review"] {
  --home-deep: #082f30;
  --home-forest: #0e4540;
  --home-teal: #14776c;
  --home-mint: #72c9ba;
  --home-gold: #d89b42;
  --home-paper: #f5f3ec;
  --home-paper-light: #fbfaf6;
  --home-ink: #112d2b;
  --home-muted: #4d625f;
  --home-rule: rgba(14, 69, 64, 0.24);
  background: var(--home-paper-light);
  color: var(--home-ink);
}

body[data-page="home-review"] > .skip-link {
  background: #fff;
  border: 2px solid var(--home-deep);
  color: var(--home-deep);
  font-weight: 800;
  left: 16px;
  padding: 10px 14px;
  position: fixed;
  top: -120px;
  z-index: 200;
}

body[data-page="home-review"] > .skip-link:focus { top: 12px; }

.home-review-main { margin: 0; max-width: none; padding: 0; }

.home-review-stage {
  background: linear-gradient(180deg, var(--home-paper-light), var(--home-paper));
  border-bottom: 1px solid var(--home-rule);
}

.home-review-stage__inner,
.home-review-support__inner,
.home-review-trust__inner {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: var(--layout-wide);
  padding-left: var(--layout-padding);
  padding-right: var(--layout-padding);
}

.home-review-stage__inner { padding-bottom: 64px; padding-top: 54px; }

.home-review-intro {
  align-items: end;
  display: grid;
  gap: 14px 56px;
  grid-template-columns: minmax(280px, 0.9fr) minmax(340px, 1.1fr);
  margin-bottom: 50px;
}

.home-review-eyebrow,
.home-review-entry__label {
  color: #8a552f;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.3;
  margin: 0;
  text-transform: uppercase;
}

.home-review-intro .home-review-eyebrow { grid-column: 1 / -1; }

.home-review-intro h1 {
  color: var(--home-deep);
  font-family: var(--font-heading);
  font-size: 2.65rem;
  font-weight: 760;
  letter-spacing: 0;
  line-height: 1.05;
  margin: 0;
  max-width: 15ch;
  text-wrap: balance;
}

.home-review-intro__body {
  color: var(--home-muted);
  font-size: 1.06rem;
  line-height: 1.65;
  margin: 0 0 3px;
  max-width: 62ch;
}

.home-review-entries {
  border-bottom: 1px solid var(--home-rule);
  border-top: 1px solid var(--home-rule);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-review-entry {
  --entry-accent: var(--home-teal);
  align-content: start;
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 34px 44px 38px 0;
  position: relative;
}

.home-review-entry + .home-review-entry {
  --entry-accent: var(--home-gold);
  border-left: 1px solid var(--home-rule);
  padding-left: 44px;
  padding-right: 0;
}

.home-review-entry::before {
  background: var(--entry-accent);
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  top: -1px;
  width: 76px;
}

.home-review-entry__label { color: var(--entry-accent); }

.home-review-entry h2 {
  color: var(--home-deep);
  font-family: var(--font-heading);
  font-size: 1.75rem;
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1.12;
  margin: 0;
  text-wrap: balance;
}

.home-review-entry > p:not(.home-review-entry__label) {
  color: var(--home-muted);
  font-size: 1rem;
  line-height: 1.58;
  margin: 0;
  max-width: 58ch;
}

.home-review-entry > p.home-review-entry__note { color: #5e706e; font-size: 0.92rem; }

.home-review-entry__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-top: 7px;
}

.home-review-action {
  align-items: center;
  border-radius: 5px;
  display: inline-flex;
  font-size: 0.94rem;
  font-weight: 760;
  justify-content: center;
  line-height: 1.25;
  min-height: 44px;
  padding: 0 17px;
  text-decoration: none;
}

.home-review-action--primary {
  background: var(--home-forest);
  border: 1px solid var(--home-forest);
  color: #fff;
  gap: 9px;
}

.home-review-action--secondary { border: 1px solid var(--home-teal); color: var(--home-forest); }

.home-review-action:hover,
.home-review-action:focus-visible { background: var(--home-teal); border-color: var(--home-teal); color: #fff; }

.home-review-action:focus-visible,
.home-review-support__links a:focus-visible {
  outline: 3px solid var(--home-gold);
  outline-offset: 3px;
}

.home-review-support { background: var(--home-paper-light); border-bottom: 1px solid var(--home-rule); }

.home-review-support__inner {
  display: grid;
  gap: 68px;
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
  padding-bottom: 62px;
  padding-top: 62px;
}

.home-review-support__intro { align-self: start; display: grid; gap: 15px; }

.home-review-support h2,
.home-review-trust h2 {
  color: var(--home-deep);
  font-family: var(--font-heading);
  font-size: 1.85rem;
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1.12;
  margin: 0;
  text-wrap: balance;
}

.home-review-support__intro > p:not(.home-review-eyebrow) {
  color: var(--home-muted);
  font-size: 1rem;
  line-height: 1.62;
  margin: 0;
}

.home-review-support__links {
  border-bottom: 1px solid var(--home-rule);
  list-style: none;
  margin: 0;
  padding: 0;
}

.home-review-support__links li { border-top: 1px solid var(--home-rule); }

.home-review-support__links a {
  align-items: center;
  color: inherit;
  display: grid;
  gap: 16px 24px;
  grid-template-columns: minmax(125px, 0.4fr) minmax(0, 1fr) auto;
  min-height: 98px;
  padding: 16px 2px;
  text-decoration: none;
}

.home-review-support__links strong {
  color: var(--home-deep);
  font-family: var(--font-heading);
  font-size: 1.22rem;
  line-height: 1.15;
}

.home-review-support__links strong sup { font-size: 0.62em; margin-left: 0.12em; }

.home-review-support__links a > span { color: var(--home-muted); font-size: 0.95rem; line-height: 1.52; }
.home-review-support__links em { color: var(--home-forest); font-size: 0.88rem; font-style: normal; font-weight: 760; white-space: nowrap; }
.home-review-support__links a:hover :is(strong, em),
.home-review-support__links a:focus-visible :is(strong, em) { color: var(--home-teal); }

.home-review-trust { background: var(--home-forest); color: #edf6f2; }

.home-review-trust__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  padding-bottom: 50px;
  padding-top: 48px;
}

.home-review-trust__inner > div { display: grid; gap: 13px; }
.home-review-trust .home-review-eyebrow { color: var(--home-mint); }
.home-review-trust h2 { color: #fff; }

.home-review-trust__inner > div > p:not(.home-review-eyebrow) {
  color: #cce0dc;
  line-height: 1.6;
  margin: 0;
}

html[lang="zh-Hans"] .home-review-eyebrow,
html[lang="zh-Hans"] .home-review-entry__label { letter-spacing: 0.04em; }

html[lang="zh-Hans"] :is(.home-review-intro h1, .home-review-entry h2, .home-review-support h2, .home-review-trust h2, .home-review-support__links strong) {
  font-weight: 600;
  letter-spacing: 0;
}

@media (max-width: 900px) {
  .home-review-intro { align-items: start; gap: 14px; grid-template-columns: 1fr; }
  .home-review-intro .home-review-eyebrow { grid-column: auto; }
  .home-review-intro h1,
  .home-review-intro__body { max-width: 760px; }
  .home-review-entries { grid-template-columns: 1fr; }
  .home-review-entry,
  .home-review-entry + .home-review-entry { border-left: 0; padding: 31px 0 34px; }
  .home-review-entry + .home-review-entry { border-top: 1px solid var(--home-rule); }
  .home-review-support__inner { gap: 38px; grid-template-columns: 1fr; }
  .home-review-support__intro { max-width: 680px; }
}

@media (max-width: 640px) {
  .home-review-stage__inner { padding-bottom: 48px; padding-top: 40px; }
  .home-review-intro { margin-bottom: 36px; }
  .home-review-support__inner { padding-bottom: 48px; padding-top: 48px; }
  .home-review-support__links a { align-items: start; gap: 7px; grid-template-columns: 1fr; padding: 18px 0; }
  .home-review-support__links em { white-space: normal; }
  .home-review-trust__inner { grid-template-columns: 1fr; }
}

@media (max-width: 390px) {
  .home-review-stage__inner,
  .home-review-support__inner,
  .home-review-trust__inner { padding-left: 18px; padding-right: 18px; }
  .home-review-action { width: 100%; }
}

@media (forced-colors: active) {
  .home-review-entries,
  .home-review-support__links { border: 1px solid CanvasText; }
  .home-review-entry::before { background: CanvasText; }
}

@media print {
  .site-header,
  .site-footer,
  body[data-page="home-review"] > .skip-link { display: none !important; }
  body[data-page="home-review"],
  .home-review-stage,
  .home-review-support,
  .home-review-trust { background: #fff !important; color: #000 !important; }
  .home-review-stage__inner,
  .home-review-support__inner,
  .home-review-trust__inner { display: block; padding: 18pt 0; }
  .home-review-intro,
  .home-review-entry,
  .home-review-support__intro,
  .home-review-support__links li,
  .home-review-trust__inner > div { break-inside: avoid; margin-bottom: 14pt; }
  .home-review-main :is(h1, h2, p, strong, span, em, a) { color: #000 !important; }
  .home-review-action { border: 1px solid #000; }
}
