/* ================================================================
   首页 · home.css  —  作用域 body.home-page
   说明：所有样式限定在 .home-page 内，不重命名公共 class，
        不影响寻水脉 / 读水文 / 悟水德 / 游水境 / 创水礼 / 关于平台。
   ================================================================ */

/* ---- 页面级设计令牌（仅作用于本页，缺失时在 .home-page 作用域补充） ---- */
.home-page {
  --home-paper: #F5F1E8;
  --home-water: #E7F1EF;
  --home-water-light: #F2F7F5;
  --home-teal-dark: #123F3D;
  --home-teal: #17655F;
  --home-muted: #687775;
  --home-gold: #C6A15B;
  --home-gold-light: #E2D1A5;
  --home-border: rgba(23, 101, 95, 0.16);
  --home-shadow: 0 16px 42px rgba(36, 66, 62, 0.08);

  --motion-fast: 180ms;
  --motion-base: 320ms;
}

.home-page :focus-visible {
  outline: 2px solid var(--home-teal);
  outline-offset: 2px;
}
.home-page ::selection { background: rgba(23, 101, 95, 0.16); }

/* 锚点滚动避开吸顶导航（导航为 sticky，正文不被遮挡，仅锚点需偏移） */
.home-page [id] { scroll-margin-top: 88px; }

/* ================================================================
   首页内容区块（.home-page 作用域）
   ================================================================ */

/* ---- 01 首页 Hero ---- */
.home-page .home-hero {
  position: relative;
  overflow: hidden;
  padding: var(--section-space) 0 calc(var(--section-space) - 24px);
  background:
    radial-gradient(900px 420px at 6% 0%, rgba(23, 101, 95, 0.05) 0%, transparent 62%),
    radial-gradient(720px 360px at 94% 100%, rgba(198, 161, 91, 0.07) 0%, transparent 64%),
    linear-gradient(180deg, var(--home-water-light) 0%, var(--home-paper) 100%);
  border-bottom: 1px solid var(--home-border);
  min-height: clamp(560px, 74vh, 680px);
  display: grid;
  align-items: center;
}
.home-page .home-hero-inner {
  display: grid;
  grid-template-columns: 54fr 46fr;
  gap: clamp(36px, 4vw, 56px);
  align-items: center;
  width: 100%;
  max-width: var(--page-max);
  margin-inline: auto;
}
.home-page .home-hero-copy {
  max-width: 560px;
  justify-self: start;
  padding-inline: 4px;
}
.home-page .home-hero-kicker {
  margin-bottom: 20px;
  animation: hpHeroFadeUp 480ms var(--ease-out) 0ms both;
}
.home-page .home-hero-title {
  margin: 0 0 20px;
}
.home-page .home-hero-line { display: inline; }
.home-page .home-hero-line-1 { animation: hpHeroFadeUp 520ms var(--ease-out) 80ms both; }
.home-page .home-hero-line-2 { animation: hpHeroFadeUp 520ms var(--ease-out) 200ms both; }
.home-page .home-hero-sub {
  margin-bottom: 14px;
  animation: hpHeroFadeUp 520ms var(--ease-out) 340ms both;
}
.home-page .home-hero-desc {
  max-width: 540px;
  margin-bottom: 30px;
  animation: hpHeroFadeUp 520ms var(--ease-out) 420ms both;
}
.home-page .home-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  animation: hpHeroFadeUp 520ms var(--ease-out) 520ms both;
}
.home-page .home-hero-btn { min-height: 44px; border-radius: 8px; }

.home-page .home-hero-figure {
  margin: 0;
  width: 100%;
  max-width: 560px;
  justify-self: end;
  animation: hpHeroImgIn 620ms var(--ease-out) 160ms both;
}
.home-page .home-hero-media {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background:
    radial-gradient(120% 90% at 30% 20%, #FDFEFC 0%, var(--home-water-light) 55%, var(--home-water) 100%);
  border: 1px solid var(--home-border);
  box-shadow: var(--shadow-card);
}
.home-page .home-hero-media img {
  display: block;
  width: 100%;
  height: 118%;
  object-fit: cover;
  object-position: 50% 0;
}
@media (max-width: 600px) {
  .home-page .home-hero-media {
    min-height: 240px;
  }
}
.home-page .home-hero-fade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 42%;
  background: linear-gradient(180deg, rgba(231, 241, 239, 0) 0%, rgba(231, 241, 239, 0.5) 55%, rgba(231, 241, 239, 0.92) 100%);
  pointer-events: none;
}
.home-page .home-hero-ripple {
  display: block;
  width: 100%;
  height: 34px;
  margin-top: 2px;
  animation: hpHeroRipple 16s ease-in-out infinite;
}
.home-page .home-hero-caption {
  margin-top: 10px;
  text-align: center;
}

@keyframes hpHeroFadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: none; }
}
@keyframes hpHeroImgIn {
  from { opacity: 0; transform: translateX(24px); }
  to   { opacity: 1; transform: none; }
}
@keyframes hpHeroRipple {
  0%, 100% { transform: translateX(0); }
  50%      { transform: translateX(-18px); }
}

/* 平台命题/地方样本等区块的通用眉题（排版统一由 .ds-overline 提供） */
.home-page .home-kicker {
  margin-bottom: 18px;
}

/* ---- 02 平台命题 ---- */
.home-page .home-theme {
  background: var(--home-paper);
  padding: var(--section-space) 0 calc(var(--section-space) - 20px);
}
.home-page .home-theme-inner {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: clamp(32px, 4vw, 64px);
  align-items: start;
}
.home-page .home-theme-title {
  margin: 0;
}
.home-page .home-theme-copy {
  max-width: 760px;
}
.home-page .home-theme-p {
  margin: 0;
  max-width: 74em;
}
.home-page .home-theme-p + .home-theme-p {
  margin-top: 18px;
}
.home-page .home-theme-quote {
  margin: 28px 0 0;
}
.home-page .home-theme-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 26px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  color: var(--home-gold);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color var(--motion-fast), color var(--motion-fast);
}
.home-page .home-theme-link:hover,
.home-page .home-theme-link:focus-visible {
  border-color: var(--home-gold);
  color: var(--home-teal);
}

/* ---- 03 五个数字文化模块：横向水脉时间轴 ---- */
.home-page .home-modules {
  position: relative;
  background:
    radial-gradient(720px 320px at 92% 6%, rgba(23, 101, 95, 0.06), transparent 60%),
    var(--home-water-light);
  padding: var(--section-space) 0 calc(var(--section-space) - 8px);
}
.home-page .home-modules-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 22px;
  margin: 56px 0 0;
  padding: 0;
  list-style: none;
}
.home-page .home-modules-timeline::before {
  content: '';
  position: absolute;
  top: 42px;
  left: 5%;
  right: 5%;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, rgba(23, 101, 95, 0.1) 0%, rgba(23, 101, 95, 0.4) 50%, rgba(23, 101, 95, 0.1) 100%);
  pointer-events: none;
}
.home-page .home-module {
  position: relative;
  text-align: center;
}
.home-page .hm-node-row {
  position: relative;
  height: 84px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.home-page .hm-node {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: var(--home-paper);
  border: 2px solid rgba(23, 101, 95, 0.3);
  box-shadow: 0 0 0 5px var(--home-water-light);
  transition: border-color var(--motion-base), box-shadow var(--motion-base), transform var(--motion-base) var(--ease-out);
}
.home-page .hm-node .hm-num {
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.home-page .hm-icon {
  width: 24px;
  height: 24px;
  color: var(--home-teal);
  transition: color var(--motion-base);
}
.home-page .hm-body {
  margin-top: 16px;
  padding: 22px 14px 18px;
  border-radius: 14px;
  transition: transform var(--motion-base) var(--ease-out), box-shadow var(--motion-base) var(--ease-out);
}
.home-page .hm-stage {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 4px;
  text-indent: 4px;
  color: var(--home-teal);
  margin-bottom: 8px;
}
.home-page .hm-name {
  margin: 0;
}
.home-page .hm-desc {
  margin: 10px auto 0;
  max-width: 24em;
}
.home-page .hm-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 14px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  color: var(--home-gold);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color var(--motion-fast), border-color var(--motion-fast);
}
.home-page .hm-link:hover,
.home-page .hm-link:focus-visible {
  color: var(--home-teal);
  border-color: currentColor;
}
.home-page .hm-arrow {
  transition: transform var(--motion-base) var(--ease-out);
}

/* hover：节点金色高亮、内容上移、箭头右移、下方细金线 */
.home-page .home-module:hover .hm-node,
.home-page .home-module:focus-within .hm-node {
  border-color: var(--home-gold);
  box-shadow: 0 0 0 5px rgba(198, 161, 91, 0.16);
}
.home-page .home-module:hover .hm-icon,
.home-page .home-module:focus-within .hm-icon {
  color: var(--home-gold);
}
.home-page .home-module:hover .hm-body,
.home-page .home-module:focus-within .hm-body {
  transform: translateY(-4px);
}
.home-page .home-module:hover .hm-arrow,
.home-page .home-module:focus-within .hm-arrow {
  transform: translateX(4px);
}
.home-page .home-module::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 24%;
  right: 24%;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, transparent, var(--home-gold), transparent);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform var(--motion-base) var(--ease-out);
}
.home-page .home-module:hover::after,
.home-page .home-module:focus-within::after {
  transform: scaleX(1);
}

/* ---- 04 地方样本 ---- */
.home-page .home-sample {
  background: var(--home-paper);
  padding: 88px 0 96px;
}
.home-page .home-sample-inner {
  display: grid;
  grid-template-columns: 54fr 46fr;
  gap: 64px;
  align-items: center;
}
.home-page .home-sample-copy h3 {
  margin: 0 0 16px;
}
.home-page .home-sample-sub {
  margin: 0;
}
.home-page .home-sample-text {
  margin: 18px 0 0;
  max-width: 40em;
}
.home-page .home-sample-note {
  margin: 24px 0 0;
  padding: 4px 0 4px 18px;
  border-left: 3px solid var(--home-gold);
  max-width: 40em;
}
.home-page .home-sample-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 26px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  color: var(--home-gold);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color var(--motion-fast), color var(--motion-fast);
}
.home-page .home-sample-link:hover,
.home-page .home-sample-link:focus-visible {
  border-color: var(--home-gold);
  color: var(--home-teal);
}
.home-page .home-sample-figure {
  margin: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--home-border);
  box-shadow: var(--shadow-card);
}
.home-page .home-sample-media {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--home-water-light);
}
.home-page .home-sample-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.home-page .home-sample-fade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 30%;
  background: linear-gradient(180deg, rgba(231, 241, 239, 0) 0%, rgba(231, 241, 239, 0.55) 100%);
  pointer-events: none;
}

/* ---- 05 精选内容入口：2×2 轻卡 ---- */
.home-page .home-featured {
  background:
    radial-gradient(720px 320px at 4% 96%, rgba(198, 161, 91, 0.06), transparent 60%),
    var(--home-water-light);
  padding: 88px 0 96px;
}
.home-page .home-featured-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  max-width: 760px;
  margin: 56px auto 0;
}
.home-page .home-featured-item {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 232px;
  padding: 24px 26px 26px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  text-decoration: none;
  box-shadow: var(--shadow-card);
  overflow: hidden;
  transition: transform var(--motion-base) var(--ease-out), box-shadow var(--motion-base) var(--ease-out), border-color var(--motion-base);
}
.home-page .home-featured-item:hover,
.home-page .home-featured-item:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(198, 161, 91, 0.45);
  box-shadow: var(--shadow-card-hover);
}
.home-page .hf-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.home-page .hf-num {
  transition: color var(--motion-base);
}
.home-page .hf-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(23, 101, 95, 0.16);
  background: var(--home-water-light);
  color: var(--home-teal);
  transition: color var(--motion-base), border-color var(--motion-base), background var(--motion-base);
}
.home-page .hf-icon svg {
  width: 20px;
  height: 20px;
}
.home-page .home-featured-item:hover .hf-icon,
.home-page .home-featured-item:focus-visible .hf-icon {
  color: var(--home-gold);
  border-color: rgba(198, 161, 91, 0.5);
}
.home-page .home-featured-item:hover .hf-num,
.home-page .home-featured-item:focus-visible .hf-num {
  color: var(--home-gold);
}
.home-page .hf-body {
  margin-top: 18px;
}
.home-page .hf-name {
  margin: 0;
}
.home-page .hf-cor {
  margin: 6px 0 0;
}
.home-page .hf-desc {
  margin: 10px 0 0;
  max-width: 30em;
}
.home-page .hf-go {
  margin-top: auto;
  align-self: flex-end;
  padding-top: 16px;
  font-size: 16px;
  color: var(--home-gold);
  transition: transform var(--motion-base) var(--ease-out);
}
.home-page .home-featured-item:hover .hf-go,
.home-page .home-featured-item:focus-visible .hf-go {
  transform: translateX(5px);
}
.home-page .hf-line {
  position: absolute;
  bottom: 0;
  left: 26px;
  width: 52px;
  height: 3px;
  border-radius: 0 3px 3px 0;
  background: linear-gradient(90deg, var(--home-gold), rgba(198, 161, 91, 0.4));
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--motion-base) var(--ease-out);
}
.home-page .home-featured-item:hover .hf-line,
.home-page .home-featured-item:focus-visible .hf-line {
  transform: scaleX(1);
}

/* ---- 06 简短结语 ---- */
.home-page .home-closing {
  background: var(--home-paper);
  padding: var(--section-space) 0 calc(var(--section-space) + 12px);
  text-align: center;
}
.home-page .home-closing-inner {
  max-width: 760px;
  margin-inline: auto;
}
.home-page .home-closing-title {
  margin: 0;
}
.home-page .home-closing-text {
  margin: 24px auto 0;
  max-width: 32em;
}
.home-page .home-closing-btn {
  min-height: 44px;
  margin-top: 34px;
  border-radius: 8px;
}
.home-page #home-modules .subtitle,
.home-page #home-featured .subtitle {
  font-size: 16px;
}

/* ---- 响应式 ---- */
@media (max-width: 1024px) {
  .home-page .home-modules-timeline { gap: 16px; }
}

@media (max-width: 900px) {
  .home-page .home-hero-inner {
    grid-template-columns: 1fr;
    gap: 40px;
    padding-top: 64px;
    padding-bottom: 64px;
  }
  .home-page .home-hero-copy {
    justify-self: center;
    text-align: center;
  }
  .home-page .home-hero-kicker { justify-content: center; }
  .home-page .home-hero-desc { max-width: 560px; margin-inline: auto; }
  .home-page .home-hero-actions { justify-content: center; }
  .home-page .home-hero-figure {
    justify-self: center;
    max-width: 560px;
  }
  .home-page .home-theme-inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .home-page .home-modules-timeline {
    grid-template-columns: 1fr;
    gap: 44px;
    margin-top: 44px;
  }
  .home-page .home-modules-timeline::before {
    top: 0;
    bottom: 0;
    left: 30px;
    right: auto;
    width: 2px;
    height: auto;
    background: linear-gradient(180deg, rgba(23, 101, 95, 0.1) 0%, rgba(23, 101, 95, 0.4) 50%, rgba(23, 101, 95, 0.1) 100%);
  }
  .home-page .home-module {
    display: grid;
    grid-template-columns: 60px 1fr;
    column-gap: 22px;
    text-align: left;
  }
  .home-page .hm-node-row {
    height: auto;
    align-items: flex-start;
    padding-top: 6px;
  }
  .home-page .hm-node {
    width: 58px;
    height: 58px;
  }
  .home-page .hm-body {
    margin-top: 0;
    padding: 0;
    text-align: left;
  }
  .home-page .hm-desc {
    margin-left: 0;
    max-width: 42em;
  }
  .home-page .home-module::after {
    left: 62px;
    right: 0;
  }
  .home-page .home-sample-inner {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

@media (max-width: 768px) {
  .home-page .home-closing { padding: 80px 0 88px; }
}

@media (max-width: 600px) {
  .home-page .home-featured-grid { grid-template-columns: 1fr; }
}

/* ================================================================
   第十一步 · 统一入场显现（复用全局 .reveal / initScrollReveal 单观察器）
   初始隐藏仅在 html.js 下生效（无 JS 时内容直接可见）；
   首页仅一个 IntersectionObserver，波线绘制一并纳入该观察器。
   ================================================================ */
html:not(.js) .home-page .reveal,
html:not(.js) .home-page .reveal.visible {
  opacity: 1;
  transform: none;
  transition: none;
}

html.js .home-page .reveal {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 380ms var(--ease-out), transform 380ms var(--ease-out);
  transition-delay: var(--reveal-delay, 0ms);
}
html.js .home-page .reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
html.js .home-page .reveal-delay-1 { transition-delay: 60ms; }
html.js .home-page .reveal-delay-2 { transition-delay: 120ms; }
html.js .home-page .reveal-delay-3 { transition-delay: 180ms; }
html.js .home-page .reveal-delay-4 { transition-delay: 240ms; }

/* ---- 平台命题：01 编号先现、标题正文依次淡入、引文金线从左展开 ---- */
.home-page .home-theme-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  margin: 0 0 22px;
  border-radius: 50%;
  border: 2px solid var(--home-border);
  background: rgba(255, 255, 255, 0.55);
  box-shadow: var(--home-shadow);
}
html.js .home-page .home-theme-num.reveal {
  opacity: 0;
  transform: translateY(14px) scale(0.6);
}
html.js .home-page .home-theme-num.reveal.visible {
  opacity: 1;
  transform: none;
  transition: opacity 420ms var(--ease-out), transform 420ms var(--ease-out);
}
.home-page .home-theme-quote {
  position: relative;
  overflow: hidden;
}
.home-page .home-theme-quote::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--home-gold) 0%, rgba(198, 161, 91, 0.3) 100%);
}
html.js .home-page .home-theme-quote::before {
  transform: scaleX(0);
  transform-origin: left center;
}
html.js .home-page .home-theme-quote.visible::before {
  transform: scaleX(1);
  transition: transform 520ms cubic-bezier(0.16, 1, 0.3, 1) 460ms;
}

/* ---- 五个模块：水脉线从左绘制、01–05 节点依次点亮（无弹跳/旋转/发光） ---- */
html.js .home-page .home-modules-timeline::before {
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 780ms cubic-bezier(0.16, 1, 0.3, 1) 40ms;
}
html.js .home-page .home-modules-timeline.visible::before {
  transform: scaleX(1);
}
.home-page .home-modules-timeline .home-module:nth-child(1) { --d: 200ms; }
.home-page .home-modules-timeline .home-module:nth-child(2) { --d: 280ms; }
.home-page .home-modules-timeline .home-module:nth-child(3) { --d: 360ms; }
.home-page .home-modules-timeline .home-module:nth-child(4) { --d: 440ms; }
.home-page .home-modules-timeline .home-module:nth-child(5) { --d: 520ms; }
.home-page .home-modules-timeline .hm-node {
  transition:
    border-color var(--motion-base),
    box-shadow var(--motion-base),
    transform var(--motion-base) var(--ease-out);
}
.home-page .home-modules-timeline .hm-icon {
  transition: color var(--motion-base);
}
html.js .home-page .home-modules-timeline.visible .hm-node {
  border-color: var(--home-gold);
  box-shadow: 0 0 0 5px rgba(198, 161, 91, 0.16);
  transition-delay: var(--d, 0ms);
}
html.js .home-page .home-modules-timeline.visible .hm-icon {
  color: var(--home-gold);
  transition-delay: var(--d, 0ms);
}

/* ---- 地方样本：文字左侧淡入、图片轻微缩放进入、水纹线缓慢移动 ---- */
html.js .home-page .home-sample-copy.reveal {
  transform: translateX(-20px);
}
html.js .home-page .home-sample-copy.reveal.visible {
  transform: translateX(0);
}
html.js .home-page .home-sample-figure.reveal .home-sample-media img {
  transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1) 120ms;
}
html.js .home-page .home-sample-figure.reveal.visible .home-sample-media img {
  transform: scale(1.045);
}
.home-page .home-sample-ripple {
  display: block;
  width: 100%;
  height: 30px;
  margin-top: 2px;
  opacity: 0.72;
}
.home-page .home-sample-ripple path {
  animation: hpHeroRipple 18s ease-in-out infinite;
}
.home-page .home-sample-ripple path:nth-child(2) {
  animation-duration: 23s;
  animation-delay: 1s;
}
.home-page .home-sample-ripple path:nth-child(3) {
  animation-duration: 27s;
  animation-delay: 2s;
}

/* 移动端：时间轴转为竖向时，水脉线改为自上而下绘制 */
@media (max-width: 900px) {
  html.js .home-page .home-modules-timeline::before {
    transform: scaleY(0);
    transform-origin: top center;
    transition: transform 780ms cubic-bezier(0.16, 1, 0.3, 1) 40ms;
  }
  html.js .home-page .home-modules-timeline.visible::before {
    transform: scaleY(1);
  }
}

/* ---- 减少动态效果：关闭入场与位移动画 ---- */
@media (prefers-reduced-motion: reduce) {
  html.js .home-page .reveal,
  html.js .home-page .reveal.visible {
    opacity: 1;
    transform: none;
    transition: none;
  }
  html.js .home-page .home-theme-num.reveal.visible {
    transform: none;
    transition: none;
  }
  html.js .home-page .home-theme-quote::before {
    transform: scaleX(1);
    transition: none;
  }
  html.js .home-page .home-sample-copy.reveal.visible {
    transform: none;
  }
  html.js .home-page .home-sample-figure.reveal.visible .home-sample-media img {
    transform: none;
  }
  .home-page .home-sample-ripple path { animation: none; }
  .home-page .home-hero-kicker,
  .home-page .home-hero-line-1,
  .home-page .home-hero-line-2,
  .home-page .home-hero-sub,
  .home-page .home-hero-desc,
  .home-page .home-hero-actions,
  .home-page .home-hero-figure,
  .home-page .home-hero-ripple {
    animation: none;
    opacity: 1;
    transform: none;
  }
  .home-page .home-module:hover .hm-body,
  .home-page .home-module:focus-within .hm-body,
  .home-page .home-module:hover .hm-arrow,
  .home-page .home-module:focus-within .hm-arrow,
  .home-page .home-module::after,
  .home-page .home-module:hover::after,
  .home-page .home-module:focus-within::after {
    transform: none;
  }
  .home-page .home-featured-item,
  .home-page .home-featured-item:hover,
  .home-page .home-featured-item:focus-visible,
  .home-page .home-featured-item:hover .hf-go,
  .home-page .home-featured-item:focus-visible .hf-go,
  .home-page .hf-line,
  .home-page .home-featured-item:hover .hf-line,
  .home-page .home-featured-item:focus-visible .hf-line {
    transform: none;
  }
}
