/* 信孚项目首页样式(子集移植,全部加 .xinfu-home 命名空间避免与 portal.css 冲突) */

.xinfu-home {
  --blue-950: #092d62;
  --blue-800: #124987;
  --blue-100: #eaf3ff;
  --green-900: #31572f;
  --green-700: #5b7d49;
  --cream: #f8f5ec;
  --ink: #18211d;
  --muted: #68716d;
  --shadow: 0 22px 60px rgba(18, 46, 57, .10);
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: "Noto Serif SC", "Songti SC", "Microsoft YaHei", serif;
}

.xinfu-home a { color: inherit; text-decoration: none; }
.xinfu-home .page-width { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.xinfu-home .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }

.xinfu-home .hero {
  min-height: 610px;
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  isolation: isolate;
  background: linear-gradient(90deg, #dbeaff 0%, #f7f7f1 49%, #f8f1db 100%);
}

.xinfu-home .hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(circle at 50% 56%, rgba(255, 255, 255, .98) 0 12%, rgba(255, 255, 255, .62) 36%, rgba(255, 255, 255, .16) 58%, transparent 74%);
}

/* 主图整体压暗,让深色标题更突出 */
.xinfu-home .hero-picture img {
  filter: brightness(.8) saturate(1.06) contrast(1.02);
}

.xinfu-home .hero-copy { width: min(970px, calc(100% - 48px)); text-align: center; margin-top: -8px; }
.xinfu-home .hero h1 { margin: 0; font-size: clamp(42px, 5vw, 70px); line-height: 1.18; letter-spacing: .03em; font-weight: 700; }
.xinfu-home .hero h1 span { color: var(--blue-950); }
.xinfu-home .hero h1 em { color: var(--green-900); font-style: normal; }
.xinfu-home .hero h1 em::before { content: "，"; color: var(--ink); }
.xinfu-home .hero p { margin: 26px auto 38px; font-size: clamp(16px, 1.6vw, 21px); letter-spacing: .06em; }
.xinfu-home .hero-actions { display: flex; justify-content: center; gap: 22px; margin-top: 46px; max-width: 640px; margin-inline: auto; }
.xinfu-home .button {
  flex: 1 1 0;
  min-width: 188px;
  padding: 15px 25px;
  border-radius: 7px;
  color: #fff;
  font-family: "Microsoft YaHei", sans-serif;
  transition: transform .2s, box-shadow .2s;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-align: center;
}
.xinfu-home .button strong {
  font-weight: 600;
  line-height: 1.3;
}
.xinfu-home .button small {
  font-size: 12px;
  line-height: 1.4;
  opacity: .85;
  font-weight: normal;
}
.xinfu-home .button:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(23, 54, 70, .18);
}
.xinfu-home .button-ai { background: var(--blue-950); }
.xinfu-home .button-psychology { background: var(--green-700); }

.xinfu-home .philosophy { min-height: 290px; display: grid; grid-template-columns: 1fr minmax(420px, 700px) 1fr; background: var(--cream); overflow: hidden; }
.xinfu-home .philosophy-landscape { min-height: 290px; opacity: .78; }
.xinfu-home .philosophy-landscape.left {
  background: radial-gradient(ellipse at 10% 100%, #294d68, transparent 48%), linear-gradient(145deg, #aac4d4, #f8f5ec 75%);
  clip-path: polygon(0 25%, 18% 15%, 35% 44%, 53% 26%, 75% 62%, 100% 40%, 100% 100%, 0 100%);
}
.xinfu-home .philosophy-landscape.right {
  background: radial-gradient(ellipse at 90% 100%, #47613e, transparent 50%), linear-gradient(215deg, #bac898, #f8f5ec 72%);
  clip-path: polygon(0 55%, 18% 38%, 38% 62%, 55% 24%, 75% 46%, 100% 20%, 100% 100%, 0 100%);
}
.xinfu-home .philosophy-copy { text-align: center; align-self: center; padding: 40px 10px; }
.xinfu-home .philosophy-copy h2 { font-size: clamp(28px, 3vw, 43px); margin: 12px 0 17px; }
.xinfu-home .philosophy-copy p { color: var(--muted); font-size: 17px; letter-spacing: .05em; }
.xinfu-home .seed { color: var(--green-700); font-size: 31px; }

.xinfu-home .reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.xinfu-home .reveal.is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .xinfu-home .reveal { opacity: 1; transform: none; }
}

/* 首页无 header:清除 portal.css 为固定 header 预留的 body 顶部留白 */
body.home-no-header {
  padding-top: 0 !important;
}

/* 桌面一屏构图(首页无 header,按 footer 约 84px 重算高度) */
@media (min-width: 761px) {
  .xinfu-home .homepage {
    height: calc(100vh - 84px);
    min-height: 650px;
    display: grid;
    grid-template-rows: minmax(300px, 1fr) auto;
    overflow: hidden;
  }
  .xinfu-home .hero {
    min-height: 0;
    position: relative;
    overflow: hidden;
    display: grid;
    place-items: center;
    isolation: isolate;
    background: #eef1ec;
  }
  .xinfu-home .hero::before {
    background: radial-gradient(ellipse at 50% 54%, rgba(255, 255, 255, .98) 0 10%, rgba(255, 255, 255, .72) 28%, rgba(255, 255, 255, .18) 58%, transparent 76%);
  }
  .xinfu-home .hero-picture { position: absolute; inset: 0; z-index: -2; }
  .xinfu-home .hero-picture img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
  .xinfu-home .hero-copy { width: min(940px, calc(100% - 48px)); margin: 0; }
  .xinfu-home .hero h1 {
    font-size: clamp(37px, 4.1vw, 61px);
    line-height: 1.14;
    text-shadow:
      0 2px 26px rgba(255, 255, 255, .96),
      -1px -1px 0 rgba(255, 255, 255, .95), 1px -1px 0 rgba(255, 255, 255, .95),
      -1px 1px 0 rgba(255, 255, 255, .95), 1px 1px 0 rgba(255, 255, 255, .95),
      -1px 0 0 rgba(255, 255, 255, .95), 1px 0 0 rgba(255, 255, 255, .95),
      0 -1px 0 rgba(255, 255, 255, .95), 0 1px 0 rgba(255, 255, 255, .95);
  }
  .xinfu-home .hero p { margin: 16px auto 22px; font-size: clamp(15px, 1.2vw, 18px); text-shadow: 0 1px 14px rgba(255, 255, 255, .95); }
  .xinfu-home .button { padding: 11px 20px; min-width: 174px; }

  .xinfu-home .philosophy { min-height: 90px; grid-template-columns: 1fr minmax(420px, 700px) 1fr; }
  .xinfu-home .philosophy-landscape { min-height: 90px; }
  .xinfu-home .philosophy-copy { padding: 10px; }
  .xinfu-home .philosophy-copy h2 { margin: 1px 0 5px; font-size: clamp(22px, 2vw, 29px); }
  .xinfu-home .philosophy-copy p { margin: 0; font-size: 14px; }
  .xinfu-home .seed { display: none; }
}

@media (min-width: 761px) and (max-height: 850px) {
  .xinfu-home .homepage { height: calc(100vh - 64px); min-height: 570px; grid-template-rows: minmax(255px, 1fr) auto; }
  .xinfu-home .hero h1 { font-size: clamp(33px, 3.8vw, 50px); }
  .xinfu-home .hero p { margin-block: 10px 15px; }
  .xinfu-home .philosophy,
  .xinfu-home .philosophy-landscape { min-height: 76px; }
  .xinfu-home .philosophy-copy h2 { font-size: 22px; }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .xinfu-home .homepage { height: calc(100vh - 64px); }
}

@media (max-width: 760px) {
  .xinfu-home .homepage { display: block; min-height: 0; }
  .xinfu-home .hero { min-height: 560px; position: relative; isolation: isolate; }
  .xinfu-home .hero-picture { position: absolute; inset: 0; z-index: -2; }
  .xinfu-home .hero-picture img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
  .xinfu-home .hero::before { background: linear-gradient(180deg, rgba(255, 255, 255, .4), rgba(255, 255, 255, .92) 45%, rgba(255, 255, 255, .45)); }
  .xinfu-home .hero h1 {
    font-size: 40px;
    text-shadow:
      0 2px 20px rgba(255, 255, 255, .95),
      -1px -1px 0 rgba(255, 255, 255, .95), 1px -1px 0 rgba(255, 255, 255, .95),
      -1px 1px 0 rgba(255, 255, 255, .95), 1px 1px 0 rgba(255, 255, 255, .95),
      -1px 0 0 rgba(255, 255, 255, .95), 1px 0 0 rgba(255, 255, 255, .95),
      0 -1px 0 rgba(255, 255, 255, .95), 0 1px 0 rgba(255, 255, 255, .95);
  }
  .xinfu-home .hero h1 span,
  .xinfu-home .hero h1 em { display: block; }
  .xinfu-home .hero h1 em::before { content: ""; }
  .xinfu-home .hero p { line-height: 1.8; }
  .xinfu-home .hero-actions { flex-direction: column; align-items: center; margin-top: 36px; }
  .xinfu-home .hero-actions .button { flex: none; width: min(320px, 100%); }
  .xinfu-home .philosophy { display: block; min-height: 310px; position: relative; }
  .xinfu-home .philosophy-landscape { position: absolute; inset: auto 0 0; min-height: 160px; }
  .xinfu-home .philosophy-landscape.left { right: 50%; }
  .xinfu-home .philosophy-landscape.right { left: 50%; }
  .xinfu-home .philosophy-copy { position: relative; z-index: 2; padding: 65px 16px 150px; }
  .xinfu-home .philosophy-copy h2 { font-size: min(23px, 6.4vw); text-wrap: balance; }
}
