    .hero {
      position: relative;
      overflow: hidden;
      min-height: 760px;
      background:
        radial-gradient(circle at 82% 12%, rgba(196, 146, 69, .16), transparent 24%),
        linear-gradient(125deg, #fffaf0 0%, #f7efe2 48%, #edf4ef 100%);
    }

    .hero:before {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(138, 50, 43, .05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(138, 50, 43, .05) 1px, transparent 1px);
      background-size: 68px 68px;
      mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
    }

    .hero-inner {
      position: relative;
      z-index: 2;
      min-height: 680px;
      display: grid;
      grid-template-columns: 0.76fr 1.24fr;
      align-items: center;
      gap: 34px;
      padding: 24px 0 76px;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 28px;
      color: #8a5a3b;
      font-weight: 800;
    }

    .eyebrow:before {
      content: "";
      width: 42px;
      height: 2px;
      background: var(--red);
    }

    h1 {
      margin: 0;
      color: var(--ink);
      font-family: "SimSun", "Songti SC", serif;
      font-size: 56px;
      line-height: 1.16;
      letter-spacing: 0;
    }

    .lead {
      max-width: 560px;
      margin: 22px 0 0;
      color: #645d52;
      font-size: 18px;
      line-height: 1.9;
    }

    .hero-copy {
      position: relative;
      padding-top: 10px;
    }

    .hero-copy:before {
      content: "";
      position: absolute;
      left: -28px;
      top: 48px;
      width: 4px;
      height: 156px;
      border-radius: 999px;
      background: linear-gradient(180deg, var(--red), var(--gold));
    }

    .hero-title-mark {
      display: inline-block;
      position: relative;
      color: var(--red);
    }

    .hero-title-mark:after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 7px;
      height: 12px;
      background: rgba(200, 59, 50, .12);
      z-index: -1;
    }

    .hero-path {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-top: 26px;
      color: #766b5e;
      font-weight: 800;
    }

    .hero-path span {
      min-width: 34px;
      height: 34px;
      border-radius: 50%;
      display: inline-grid;
      place-items: center;
      color: #fff;
      background: var(--green);
      font-size: 14px;
    }

    .hero-path i {
      width: 34px;
      height: 1px;
      background: #dac9ae;
    }

    .hero-action-card {
      display: inline-flex;
      align-items: center;
      gap: 18px;
      margin-top: 30px;
      padding: 14px 16px;
      border-radius: 999px;
      background: rgba(255,253,248,.72);
      border: 1px solid rgba(224, 211, 189, .86);
      box-shadow: 0 18px 42px rgba(72, 57, 38, .08);
    }

    .cta {
      display: flex;
      gap: 16px;
      margin-top: 0;
    }

    .metrics {
      display: flex;
      align-items: stretch;
      max-width: 560px;
      margin-top: 22px;
      padding: 8px;
      border-radius: 18px;
      color: #6d766f;
      background: rgba(255,253,248,.74);
      border: 1px solid rgba(224, 211, 189, .78);
      box-shadow: 0 16px 36px rgba(72, 57, 38, .07);
    }

    .metric {
      flex: 1;
      min-width: 0;
      min-height: 76px;
      padding: 12px 16px;
      border-radius: 12px;
    }

    .metric + .metric {
      border-left: 1px solid rgba(218, 201, 174, .78);
    }

    .metric strong {
      display: block;
      margin-bottom: 5px;
      color: var(--green);
      font-size: 21px;
      line-height: 1.18;
    }

    .hero-visual {
      position: relative;
      min-height: 650px;
      margin-left: -42px;
    }

    .hero-showcase {
      position: absolute;
      inset: 18px 18px 20px 0;
      display: grid;
      grid-template-columns: 1.08fr .92fr;
      grid-template-rows: 214px 1fr;
      gap: 18px;
    }

    .showcase-card {
      overflow: hidden;
      border-radius: 24px;
      background: rgba(255,253,248,.92);
      border: 1px solid rgba(224, 211, 189, .88);
      box-shadow: 0 24px 70px rgba(69, 53, 35, .12);
    }

    .family-preview {
      grid-column: 1 / 3;
      display: grid;
      grid-template-columns: 170px 1fr 238px;
      align-items: center;
      gap: 24px;
      padding: 28px;
      background:
        linear-gradient(90deg, rgba(255,253,248,.95), rgba(255,253,248,.78)),
        radial-gradient(circle at 78% 22%, rgba(196,146,69,.2), transparent 26%);
    }

    .preview-book {
      width: 132px;
      height: 158px;
      border-radius: 12px;
      position: relative;
      background: linear-gradient(155deg, #143d57, #092d42);
      box-shadow: 0 18px 42px rgba(11, 41, 61, .22);
    }

    .preview-book:before {
      content: "汤氏\A家谱";
      white-space: pre;
      position: absolute;
      left: 24px;
      top: 24px;
      width: 34px;
      padding: 8px 3px;
      color: #1c302d;
      line-height: 1.2;
      text-align: center;
      background: #fbf0d8;
      border: 1px solid rgba(203, 176, 122, .9);
      font-weight: 800;
      font-size: 14px;
    }

    .family-preview h3 {
      margin: 0 0 12px;
      font-size: 28px;
    }

    .family-preview p {
      max-width: 430px;
      margin: 0;
      color: var(--muted);
      line-height: 1.8;
    }

    .preview-stats {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 10px;
    }

    .stat-pill {
      min-height: 66px;
      padding: 12px;
      border-radius: 14px;
      background: #f7efe2;
      color: #716454;
    }

    .stat-pill strong {
      display: block;
      color: var(--green);
      font-size: 22px;
      line-height: 1.1;
    }

    .showcase-video {
      position: relative;
      display: block;
      min-height: 286px;
      color: #fff;
      background: #213f38;
    }

    .showcase-video img {
      width: 100%;
      height: 100%;
      min-height: 286px;
      display: block;
      object-fit: cover;
      filter: saturate(.9);
    }

    .showcase-video:before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(20, 35, 31, .05), rgba(20, 35, 31, .78));
    }

    .showcase-video .play {
      position: absolute;
      left: 28px;
      bottom: 84px;
      width: 62px;
      height: 62px;
      border-radius: 50%;
      background: rgba(255,255,255,.94);
      box-shadow: 0 12px 30px rgba(0,0,0,.18);
    }

    .showcase-video .play:after {
      content: "";
      position: absolute;
      left: 25px;
      top: 18px;
      width: 0;
      height: 0;
      border-top: 13px solid transparent;
      border-bottom: 13px solid transparent;
      border-left: 20px solid var(--red);
    }

    .showcase-video h3,
    .showcase-video p {
      position: absolute;
      left: 28px;
      right: 28px;
      margin: 0;
    }

    .showcase-video h3 {
      bottom: 44px;
      font-size: 26px;
    }

    .showcase-video p {
      bottom: 22px;
      color: rgba(255,255,255,.78);
    }

    .showcase-search {
      min-height: 286px;
      padding: 24px;
    }

    .showcase-search h3 {
      margin: 0 0 16px;
      font-size: 22px;
    }

    .showcase-search .search-box {
      height: 46px;
    }

    .recommend-list {
      display: grid;
      gap: 10px;
      margin-top: 16px;
    }

    .recommend-item {
      padding: 13px 14px;
      border-radius: 14px;
      background: #f8f1e5;
      color: #6d6357;
      line-height: 1.55;
    }

    .recommend-item strong {
      display: block;
      margin-bottom: 4px;
      color: var(--ink);
      font-size: 16px;
    }

    .portal-card {
      position: absolute;
      inset: 18px 18px 20px 0;
      overflow: hidden;
      border-radius: 32px;
      background: rgba(255,253,248,.92);
      border: 1px solid rgba(224, 211, 189, .88);
      box-shadow: 0 34px 90px rgba(69, 53, 35, .13);
    }

    .portal-cover {
      position: relative;
      height: 250px;
      overflow: hidden;
      background:
        linear-gradient(180deg, rgba(255,253,248,.08), rgba(31, 63, 55, .66)),
        radial-gradient(circle at 78% 18%, rgba(255,255,255,.55) 0 6%, transparent 7%),
        linear-gradient(135deg, #e9d1a1 0%, #c4533f 45%, #173f52 100%);
    }

    .portal-cover:before {
      content: "";
      position: absolute;
      left: 50%;
      top: 34px;
      width: 390px;
      height: 190px;
      transform: translateX(-50%);
      background:
        linear-gradient(180deg, #f3d083 0 18%, #be4033 18% 70%, #8e3029 70% 100%);
      clip-path: polygon(2% 38%, 20% 13%, 80% 13%, 98% 38%, 88% 38%, 88% 94%, 12% 94%, 12% 38%);
      filter: drop-shadow(0 18px 32px rgba(61, 38, 28, .2));
    }

    .portal-cover:after {
      content: "代代相传";
      position: absolute;
      left: 34px;
      bottom: 30px;
      color: rgba(255,255,255,.96);
      font-size: 28px;
      font-weight: 800;
    }

    .portal-book {
      position: absolute;
      left: 34px;
      top: 34px;
      width: 118px;
      height: 164px;
      border-radius: 12px;
      background: linear-gradient(155deg, #143d57, #092d42);
      box-shadow: 0 20px 48px rgba(11, 41, 61, .26);
      z-index: 2;
    }

    .portal-book:before {
      content: "汤氏\A家谱";
      white-space: pre;
      position: absolute;
      left: 18px;
      top: 24px;
      width: 32px;
      padding: 8px 3px;
      color: #1c302d;
      line-height: 1.2;
      text-align: center;
      background: #fbf0d8;
      border: 1px solid rgba(203, 176, 122, .9);
      font-weight: 800;
      font-size: 14px;
    }

    .portal-body {
      display: grid;
      grid-template-columns: 1.18fr .82fr;
      gap: 18px;
      padding: 22px;
    }

    .portal-box {
      min-height: 198px;
      padding: 22px;
      border-radius: 20px;
      background: #fffaf1;
      border: 1px solid #eadfce;
    }

    .portal-box h3 {
      margin: 0 0 16px;
      font-size: 22px;
    }

    .portal-box p {
      margin: 0;
      color: var(--muted);
      line-height: 1.75;
    }

    .portal-video {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      color: #fff;
      background:
        linear-gradient(180deg, rgba(33,63,56,.18), rgba(33,63,56,.86)),
        radial-gradient(circle at 78% 24%, rgba(255,255,255,.46) 0 9%, transparent 10%),
        linear-gradient(135deg, #476f63, #c49245 50%, #c83b32);
      border-color: rgba(255,255,255,.28);
    }

    .portal-video p {
      color: rgba(255,255,255,.78);
    }

    .play-line {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
    }

    .play-button {
      width: 58px;
      height: 58px;
      border-radius: 50%;
      position: relative;
      flex: 0 0 auto;
      background: rgba(255,255,255,.94);
      box-shadow: 0 12px 28px rgba(30, 30, 30, .18);
    }

    .play-button:after {
      content: "";
      position: absolute;
      left: 23px;
      top: 17px;
      width: 0;
      height: 0;
      border-top: 12px solid transparent;
      border-bottom: 12px solid transparent;
      border-left: 18px solid var(--red);
    }

    .public-list {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
      margin-top: 16px;
    }

    .public-item {
      min-height: 66px;
      padding: 9px 12px;
      border-radius: 12px;
      background: #f5ecd9;
      color: #61584d;
      font-size: 13px;
      line-height: 1.55;
    }

    .public-item strong {
      display: block;
      margin-bottom: 4px;
      color: var(--ink);
      font-size: 15px;
    }

    .archive-stage {
      position: absolute;
      inset: 14px 0 22px 0;
      border-radius: 30px;
      background:
        linear-gradient(90deg, rgba(255,255,255,.82), rgba(255,255,255,.55)),
        radial-gradient(circle at 78% 22%, rgba(180, 51, 42, .12), transparent 26%);
      border: 1px solid rgba(196, 146, 69, .28);
      box-shadow: 0 34px 90px rgba(69, 53, 35, .13);
    }

    .book-cover {
      position: absolute;
      left: 54px;
      top: 44px;
      width: 220px;
      height: 310px;
      border-radius: 18px;
      background: linear-gradient(155deg, #143d57, #092d42);
      box-shadow: 0 28px 70px rgba(19, 54, 76, .22);
    }

    .book-cover:before {
      content: "张氏家谱";
      position: absolute;
      left: 34px;
      top: 34px;
      width: 29px;
      padding: 12px 4px;
      line-height: 1.25;
      text-align: center;
      color: #1c302d;
      background: #fbf0d8;
      border: 1px solid rgba(203, 176, 122, .9);
      font-weight: 800;
    }

    .hall {
      position: absolute;
      right: 28px;
      top: 34px;
      width: 342px;
      height: 198px;
      overflow: hidden;
      border-radius: 22px;
      background: #fff8ec;
      border: 1px solid rgba(224, 211, 189, .9);
      box-shadow: 0 24px 60px rgba(93, 72, 45, .14);
    }

    .hall:before {
      content: none;
    }

    .hall:after {
      content: none;
    }

    .hall img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
    }

    .word-scroll-card {
      display: flex;
      align-items: center;
      gap: 16px;
      max-width: 620px;
      margin-top: 22px;
      padding: 10px 0;
      border-radius: 999px;
      color: #766b5e;
      overflow: hidden;
    }

    .word-scroll-card:before {
      content: "";
      width: 42px;
      height: 2px;
      flex: 0 0 auto;
      background: linear-gradient(90deg, var(--red), var(--gold));
    }

    .word-scroll-card:after {
      content: none;
    }

    .word-scroll-label {
      color: #8b6c48;
      font-size: 14px;
      font-weight: 800;
    }

    .word-window {
      flex: 1;
      height: 34px;
      overflow: hidden;
      mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    }

    .word-track {
      display: flex;
      align-items: center;
      gap: 24px;
      width: max-content;
      animation: wordMarquee 16s linear infinite;
    }

    .word {
      height: 34px;
      display: flex;
      align-items: center;
      color: var(--green-dark);
      font-family: "SimSun", "Songti SC", serif;
      font-size: 24px;
      font-weight: 800;
      line-height: 1;
      white-space: nowrap;
    }

    @keyframes wordMarquee {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
    }

    .video-card {
      position: absolute;
      right: 28px;
      top: 244px;
      width: 342px;
      height: 182px;
      overflow: hidden;
      border-radius: 20px;
      color: #fff;
      background:
        linear-gradient(180deg, rgba(31, 63, 55, .12), rgba(25, 39, 34, .82)),
        radial-gradient(circle at 78% 18%, rgba(255,255,255,.42) 0 8%, transparent 9%),
        linear-gradient(135deg, #476f63, #c49245 48%, #c83b32);
      box-shadow: 0 22px 56px rgba(45, 55, 50, .18);
    }

    .video-card:before {
      content: "";
      position: absolute;
      left: 50%;
      top: 50%;
      width: 62px;
      height: 62px;
      border-radius: 50%;
      background: rgba(255,255,255,.92);
      transform: translate(-50%, -50%);
      box-shadow: 0 12px 28px rgba(30, 30, 30, .18);
    }

    .video-card:after {
      content: "";
      position: absolute;
      left: calc(50% - 8px);
      top: calc(50% - 14px);
      width: 0;
      height: 0;
      border-top: 14px solid transparent;
      border-bottom: 14px solid transparent;
      border-left: 22px solid var(--red);
    }

    .video-card span {
      position: absolute;
      left: 22px;
      bottom: 20px;
      font-weight: 800;
      font-size: 20px;
    }

    .video-card small {
      position: absolute;
      left: 22px;
      bottom: 50px;
      color: rgba(255,255,255,.78);
      font-size: 14px;
    }

    .search-panel {
      position: absolute;
      left: 68px;
      right: 28px;
      top: 440px;
      padding: 18px 20px;
      border-radius: 20px;
      background: rgba(255,255,255,.92);
      border: 1px solid rgba(224, 211, 189, .8);
      box-shadow: 0 24px 70px rgba(73, 59, 41, .12);
    }

    .search-panel h3 {
      margin: 0 0 16px;
      font-size: 22px;
    }

    .search-box {
      display: flex;
      height: 48px;
      overflow: hidden;
      border-radius: 999px;
      border: 1px solid #e2d4bf;
      background: #fbf8f1;
    }

    .search-box span {
      flex: 1;
      display: flex;
      align-items: center;
      padding-left: 22px;
      color: #9c9488;
    }

    .search-box b {
      width: 118px;
      display: grid;
      place-items: center;
      color: #fff;
      background: var(--red);
    }

    .genealogy-list {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
      margin-top: 14px;
    }

    .genealogy-item {
      min-height: 62px;
      padding: 9px 12px;
      border-radius: 12px;
      background: #f8f1e5;
      color: #61584d;
      font-size: 14px;
      line-height: 1.55;
    }

    .genealogy-item strong {
      display: block;
      margin-bottom: 5px;
      color: var(--ink);
      font-size: 16px;
    }

    .quick-strip {
      position: relative;
      z-index: 3;
      margin-top: -58px;
    }

    .quick-inner {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 18px;
    }

    .quick-card {
      min-height: 104px;
      padding: 20px 24px;
      border-radius: 12px;
      color: var(--ink);
      border: 1px solid rgba(218, 201, 174, .72);
      background:
        radial-gradient(circle at 88% 18%, rgba(255, 253, 248, .66), transparent 30%),
        linear-gradient(135deg, #f6f1e7 0%, #e9d8c6 100%);
      box-shadow: 0 18px 44px rgba(36, 42, 38, .08);
    }

    .quick-card:nth-child(2) {
      background:
        radial-gradient(circle at 88% 18%, rgba(255, 253, 248, .64), transparent 30%),
        linear-gradient(135deg, #f2f5ed 0%, #dbe8d2 100%);
    }

    .quick-card:nth-child(3) {
      background:
        radial-gradient(circle at 88% 18%, rgba(255, 253, 248, .64), transparent 30%),
        linear-gradient(135deg, #f8efe9 0%, #ead0c7 100%);
    }

    .quick-card:nth-child(4) {
      background:
        radial-gradient(circle at 88% 18%, rgba(255, 253, 248, .66), transparent 30%),
        linear-gradient(135deg, #f4efe4 0%, #e5d1aa 100%);
    }

    .quick-card b {
      display: block;
      margin-bottom: 10px;
      font-size: 20px;
      color: var(--ink);
    }

    .quick-card span {
      color: var(--muted);
      line-height: 1.7;
    }

    section {
      padding: 76px 0;
    }

    .section-head {
      margin-bottom: 34px;
      text-align: center;
    }

    .section-head h2 {
      margin: 0;
      font-family: "SimSun", "Songti SC", serif;
      font-size: 42px;
      line-height: 1.25;
    }

    .section-head p {
      margin: 14px auto 0;
      max-width: 680px;
      color: var(--muted);
      font-size: 17px;
      line-height: 1.9;
    }

    .functions {
      background: #fffdf8;
      padding-bottom: 0;
    }

    .function-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 22px;
    }

    .function-card {
      min-height: 190px;
      padding: 24px;
      border-radius: 14px;
      background: #fbf7ed;
      border: 1px solid #eee1cf;
      transition: transform .2s ease;
    }

    .function-card:hover { transform: translateY(-4px); }

    .icon {
      width: 46px;
      height: 46px;
      margin-bottom: 18px;
      border-radius: 14px;
      display: grid;
      place-items: center;
      color: var(--red);
      background: #f7e4dc;
      font-size: 22px;
      font-weight: 900;
    }

    .function-card h3 {
      margin: 0 0 12px;
      font-size: 21px;
    }

    .function-card p {
      margin: 0;
      color: var(--muted);
      line-height: 1.8;
    }

    .plaza {
      background:
        linear-gradient(180deg, #fffdf8, #f8f0e4);
    }

    .plaza-layout {
      display: grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 34px;
      align-items: stretch;
    }

    .featured-family {
      min-height: 430px;
      padding: 34px;
      border-radius: 22px;
      color: #fff;
      background:
        linear-gradient(180deg, rgba(28, 48, 45, .18), rgba(21, 55, 51, .84)),
        linear-gradient(135deg, #476f63, #a95c3e);
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      box-shadow: 0 24px 70px rgba(42, 65, 59, .15);
    }

    .featured-family h3 {
      margin: 0 0 16px;
      font-size: 34px;
    }

    .featured-family p {
      max-width: 560px;
      margin: 0;
      color: rgba(255,255,255,.82);
      line-height: 1.9;
      font-size: 17px;
    }

    .family-cards {
      display: grid;
      gap: 18px;
    }

    .family-card {
      padding: 22px;
      border-radius: 18px;
      background: #fffdf8;
      border: 1px solid #eadfce;
      box-shadow: 0 16px 42px rgba(57, 48, 36, .07);
    }

    .family-card h4 {
      margin: 0 0 8px;
      font-size: 22px;
    }

    .family-card p {
      margin: 0 0 18px;
      color: var(--muted);
      line-height: 1.7;
    }

    .tag-row {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
    }

    .tag {
      padding: 6px 12px;
      border-radius: 999px;
      color: var(--green);
      background: #eaf0eb;
      font-size: 14px;
      font-weight: 700;
    }

    .culture {
      background: #fffdf8;
    }

    .article-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
    }

    .article-card {
      overflow: hidden;
      border-radius: 18px;
      background: #fff;
      border: 1px solid #eadfce;
      box-shadow: 0 18px 48px rgba(57, 48, 36, .07);
    }

    .article-cover {
      height: 190px;
      background:
        radial-gradient(circle at 74% 28%, rgba(255,255,255,.7) 0 8%, transparent 9%),
        linear-gradient(135deg, #e7c89e, #b94135 48%, #143d57);
    }

    .article-card:nth-child(2) .article-cover {
      background: linear-gradient(135deg, #dfd1b5, #6b7f70 48%, #26302c);
    }

    .article-card:nth-child(3) .article-cover {
      background: linear-gradient(135deg, #f0d8ac, #c49245 45%, #7d342d);
    }

    .article-body {
      padding: 24px;
    }

    .article-body h3 {
      margin: 0 0 12px;
      font-size: 22px;
      line-height: 1.45;
    }

    .article-body p {
      margin: 0 0 20px;
      color: var(--muted);
      line-height: 1.75;
    }

    .article-meta {
      color: #9a8f82;
      font-size: 14px;
    }

    .ad-slots {
      background: linear-gradient(180deg, #fffdf8, #f8f0e4);
      padding: 0;
    }

    .ad-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
      gap: 16px;
      align-items: start;
    }

    .ad-card {
      position: relative;
      display: block;
      aspect-ratio: 2.8 / 1;
      padding: 8px;
      border-radius: 12px;
      overflow: hidden;
      border: 1px solid rgba(224, 211, 189, .84);
      background: #fffdf8;
      box-shadow: 0 12px 30px rgba(57, 48, 36, .06);
    }

    .ad-card img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain;
      transition: transform .32s ease;
    }

    .ad-card:hover img {
      transform: scale(1.025);
    }

    .surname {
      background:
        radial-gradient(circle at 12% 20%, rgba(200, 59, 50, .09), transparent 24%),
        #f8f0e4;
    }

    .surname-panel {
      display: grid;
      grid-template-columns: 360px 1fr;
      gap: 34px;
      padding: 30px;
      border-radius: 24px;
      background: rgba(255,255,255,.7);
      border: 1px solid rgba(224, 211, 189, .8);
      box-shadow: 0 24px 70px rgba(57, 48, 36, .08);
    }

    .surname-intro {
      padding: 30px;
      border-radius: 18px;
      color: #fff;
      background: linear-gradient(155deg, var(--green-dark), var(--green));
    }

    .surname-intro h2 {
      margin: 0 0 16px;
      font-family: "SimSun", "Songti SC", serif;
      font-size: 38px;
    }

    .surname-intro p {
      color: rgba(255,255,255,.78);
      line-height: 1.9;
    }

    .surname-grid {
      display: grid;
      grid-template-columns: repeat(8, 1fr);
      gap: 10px;
      align-content: start;
    }

    .surname-name {
      height: 62px;
      border-radius: 12px;
      display: grid;
      place-items: center;
      color: #7c4a33;
      background: #fbf7ed;
      border: 1px solid #eadfce;
      font-size: 24px;
      font-family: "SimSun", "Songti SC", serif;
      font-weight: 800;
      transition: transform .24s ease, color .24s ease, background .24s ease, border-color .24s ease, box-shadow .24s ease;
      will-change: transform;
    }

    .surname-name:hover {
      color: #fff;
      background: var(--red);
      border-color: rgba(200, 59, 50, .72);
      box-shadow: 0 16px 34px rgba(200, 59, 50, .18);
      transform: translateY(-6px) scale(1.03);
    }

    .surname-panel:hover .surname-name {
      animation: surnameFloat 1.9s ease-in-out infinite;
    }

    .surname-panel:hover .surname-name:nth-child(2n) { animation-delay: .08s; }
    .surname-panel:hover .surname-name:nth-child(3n) { animation-delay: .14s; }
    .surname-panel:hover .surname-name:nth-child(4n) { animation-delay: .2s; }

    @keyframes surnameFloat {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-4px); }
    }

    .download {
      background: #fffdf8;
    }

    .recommend {
      background: #fffdf8;
    }

    .recommend-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
      gap: 18px;
    }

    .recommend-card {
      min-height: 184px;
      padding: 22px;
      border-radius: 14px;
      border: 1px solid rgba(224, 211, 189, .84);
      background: linear-gradient(180deg, #fffdf8, #fbf7ed);
      box-shadow: 0 18px 48px rgba(57, 48, 36, .07);
    }

    .recommend-card span {
      display: inline-flex;
      margin-bottom: 18px;
      padding: 6px 12px;
      border-radius: 999px;
      color: var(--green);
      background: #eaf0eb;
      font-size: 13px;
      font-weight: 900;
    }

    .recommend-card h3 {
      margin: 0 0 12px;
      font-size: 24px;
      line-height: 1.35;
    }

    .recommend-card p {
      margin: 0;
      color: var(--muted);
      line-height: 1.8;
    }

    .friend-links {
      padding: 0 0;
      background: #fffdf8;
    }

    .friend-links-panel {
      display: flex;
      align-items: center;
      gap: 24px;
      padding: 24px 28px;
      border-radius: 18px;
      border: 1px solid rgba(224, 211, 189, .84);
      background: #fbf7ed;
    }

    .friend-links-panel h2 {
      flex: 0 0 auto;
      margin: 0;
      font-family: "SimSun", "Songti SC", serif;
      font-size: 30px;
    }

    .friend-link-list {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }

    .friend-link-list a {
      padding: 8px 14px;
      border-radius: 999px;
      color: #5e665f;
      background: rgba(255, 255, 255, .76);
      border: 1px solid rgba(224, 211, 189, .78);
      transition: color .22s ease, border-color .22s ease, transform .22s ease;
    }

    .friend-link-list a:hover {
      color: var(--red);
      border-color: rgba(200, 59, 50, .32);
      transform: translateY(-2px);
    }

    .download-panel {
      display: grid;
      grid-template-columns: 1fr 380px;
      gap: 56px;
      align-items: center;
      padding: 44px;
      border-radius: 28px;
      background:
        radial-gradient(circle at 82% 30%, rgba(200, 59, 50, .12), transparent 28%),
        linear-gradient(135deg, #f7efe2, #edf4ef);
      border: 1px solid #eadfce;
    }

    .download-panel h2 {
      margin: 0;
      font-family: "SimSun", "Songti SC", serif;
      font-size: 42px;
    }

    .download-panel p {
      margin: 18px 0 30px;
      color: var(--muted);
      font-size: 18px;
      line-height: 1.9;
    }

    .qr-wrap {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 18px;
    }

    .qr {
      min-height: 190px;
      padding: 18px;
      border-radius: 18px;
      text-align: center;
      background: rgba(255,255,255,.78);
      border: 1px solid #eadfce;
    }

    .qr-box {
      width: 112px;
      height: 112px;
      margin: 0 auto 14px;
      background:
        linear-gradient(90deg, #26302c 10px, transparent 10px) 0 0 / 22px 22px,
        linear-gradient(#26302c 10px, transparent 10px) 0 0 / 22px 22px,
        #fff;
      border: 10px solid #fff;
      box-shadow: inset 0 0 0 1px #ddd;
    }
@media (max-width: 1120px) {
      .nav-links { display: none; }
      .hero-inner,
      .plaza-layout,
      .surname-panel,
      .download-panel { grid-template-columns: 1fr; }
      .function-grid,
      .quick-inner { grid-template-columns: repeat(2, 1fr); }
      .article-grid,
      .recommend-grid { grid-template-columns: 1fr; }
      .friend-links-panel {
        align-items: flex-start;
        flex-direction: column;
      }
    }

.qr-note { margin: 8px 0 0; color: var(--muted); }

    @media (hover: hover) and (pointer: fine) {
      .quick-card, .function-card, .family-card, .article-card, .ad-card, .surname-panel, .recommend-card, .download-panel {
        cursor: pointer;
      }
    }

    .quick-card,
    .function-card,
    .family-card,
    .article-card,
    .ad-card,
    .surname-panel,
    .recommend-card,
    .download-panel {
      transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease, background .24s ease, color .22s ease;
      will-change: transform;
    }

    .quick-card:hover,
    .function-card:hover,
    .family-card:hover,
    .article-card:hover,
    .ad-card:hover,
    .recommend-card:hover {
      border-color: rgba(196, 146, 69, .42);
      box-shadow: 0 24px 60px rgba(57, 48, 36, .11);
    }

    .function-card {
      position: relative;
      overflow: hidden;
    }

    .function-card:after {
      content: "";
      position: absolute;
      left: -42%;
      top: 0;
      width: 36%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.54), transparent);
      transform: skewX(-18deg);
      transition: left .56s ease;
    }

    .function-card:hover:after {
      left: 112%;
    }

    .function-card:hover .icon {
      color: #fff;
      background: var(--red);
      transform: rotate(-6deg) scale(1.08);
    }

    .icon {
      transition: transform .26s ease, background .26s ease, color .26s ease;
    }

    .tilt-card {
      transform: perspective(900px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(var(--lift, 0));
      transition: transform .18s ease, box-shadow .24s ease, border-color .24s ease;
      will-change: transform;
    }

    .tilt-card:hover {
      --lift: -6px;
    }

    .magnetic {
      will-change: transform;
    }

    @media (prefers-reduced-motion: reduce) {
      *, *:before, *:after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
      }
    }
