
    :root {
      --paper: #f4efe5;
      --paper-deep: #e8deca;
      --paper-light: #fbf8f1;
      --ink: #211e19;
      --ink-soft: #5f5a51;
      --red: #872a24;
      --red-deep: #63201c;
      --red-light: #b95f50;
      --moss: #5b6656;
      --gold: #ae9365;
      --line: rgba(74, 61, 44, .18);
      --shadow: 0 24px 70px rgba(56, 40, 24, .11);
      --serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, SimSun, serif;
      --sans: "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif;
      --container: min(1240px, calc(100vw - 80px));
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
      overflow-x: clip;
    }

    body {
      margin: 0;
      overflow-x: clip;
      color: var(--ink);
      background:
        radial-gradient(circle at 10% 0%, rgba(174, 147, 101, .08), transparent 30%),
        linear-gradient(rgba(88, 70, 46, .022) 1px, transparent 1px),
        var(--paper);
      background-size: auto, 100% 6px, auto;
      font-family: var(--sans);
      font-size: 16px;
      line-height: 1.75;
      -webkit-font-smoothing: antialiased;
    }

    body.menu-open {
      overflow: hidden;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    button {
      font: inherit;
    }

    .container {
      width: var(--container);
      margin: 0 auto;
    }

    .utility-bar {
      position: relative;
      z-index: 40;
      min-height: 36px;
      color: rgba(255,255,255,.82);
      background: var(--red-deep);
      font-size: 12px;
      letter-spacing: .08em;
    }

    .utility-inner {
      min-height: 36px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    .utility-meta {
      display: flex;
      align-items: center;
      gap: 28px;
    }

    .utility-meta span {
      white-space: nowrap;
    }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 35;
      border-bottom: 1px solid transparent;
      background: rgba(244, 239, 229, .92);
      backdrop-filter: blur(14px);
      transition: box-shadow .3s ease, border-color .3s ease, background .3s ease;
    }

    .site-header.scrolled {
      border-color: var(--line);
      background: rgba(250, 247, 239, .96);
      box-shadow: 0 10px 36px rgba(46, 36, 25, .08);
    }

    .nav-wrap {
      height: 88px;
      display: grid;
      grid-template-columns: 220px 1fr auto;
      align-items: center;
      gap: 28px;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: 13px;
      width: fit-content;
    }

    .brand-seal {
      width: 48px;
      height: 48px;
      display: grid;
      place-items: center;
      color: var(--red);
      border: 2px solid var(--red);
      font-family: var(--serif);
      font-size: 18px;
      font-weight: 700;
      line-height: 1.05;
      letter-spacing: .12em;
      writing-mode: vertical-rl;
    }

    .brand-copy {
      display: flex;
      flex-direction: column;
      line-height: 1.15;
    }

    .brand-name {
      font-family: var(--serif);
      font-size: 24px;
      font-weight: 700;
      letter-spacing: .22em;
    }

    .brand-sub {
      margin-top: 7px;
      color: var(--ink-soft);
      font-size: 10px;
      letter-spacing: .25em;
      text-transform: uppercase;
    }

    .main-nav {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: clamp(18px, 2vw, 34px);
    }

    .main-nav a {
      position: relative;
      padding: 31px 0 28px;
      color: #38342d;
      font-size: 14px;
      letter-spacing: .08em;
      white-space: nowrap;
    }

    .main-nav a::after {
      content: "";
      position: absolute;
      left: 50%;
      bottom: 20px;
      width: 0;
      height: 1px;
      background: var(--red);
      transform: translateX(-50%);
      transition: width .25s ease;
    }

    .main-nav a:hover,
    .main-nav a.active {
      color: var(--red);
    }

    .main-nav a:hover::after,
    .main-nav a.active::after {
      width: 22px;
    }

    .phone-link {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: var(--red);
      font-family: var(--serif);
      font-size: 19px;
      font-weight: 700;
      letter-spacing: .05em;
      white-space: nowrap;
    }

    .phone-link::before {
      content: "";
      width: 25px;
      height: 1px;
      background: var(--red);
    }

    .menu-toggle {
      display: none;
      width: 42px;
      height: 42px;
      padding: 10px;
      border: 1px solid var(--line);
      background: transparent;
      cursor: pointer;
    }

    .menu-toggle span {
      display: block;
      width: 100%;
      height: 1px;
      margin: 5px 0;
      background: var(--ink);
      transition: transform .25s ease, opacity .25s ease;
    }

    .image-banner {
      position: relative;
      min-height: max(650px, calc(100svh - 124px));
      display: flex;
      align-items: flex-end;
      overflow: hidden;
      color: #fff;
      background:
        linear-gradient(90deg, rgba(28, 30, 25, .64) 0%, rgba(28, 30, 25, .2) 58%, rgba(28, 30, 25, .38) 100%),
        linear-gradient(135deg, #777c70 0%, #5f675d 48%, #8c8b7b 100%);
    }

    .sr-only {
      position: absolute !important;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }

    .image-banner-media {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .image-banner::before {
      content: "";
      position: absolute;
      inset: 28px;
      border: 1px solid rgba(255,255,255,.2);
      pointer-events: none;
    }

    .image-banner::after {
      content: "尔意堂";
      position: absolute;
      right: -18px;
      top: 2%;
      color: rgba(255,255,255,.06);
      font-family: var(--serif);
      font-size: clamp(150px, 20vw, 330px);
      font-weight: 700;
      line-height: 1;
      letter-spacing: .04em;
      writing-mode: vertical-rl;
      pointer-events: none;
    }

    .image-banner-inner {
      position: relative;
      z-index: 2;
      min-height: inherit;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 60px;
      padding: 0 0 70px;
    }

    .image-banner-copy {
      max-width: 650px;
      text-shadow: 0 3px 24px rgba(0,0,0,.25);
    }

    .image-banner-copy .eyebrow {
      color: rgba(255,255,255,.72);
    }

    .image-banner-copy .eyebrow::before {
      background: rgba(255,255,255,.7);
    }

    .image-banner-copy h1 {
      margin: 22px 0 18px;
      font-family: var(--serif);
      font-size: clamp(48px, 6vw, 86px);
      font-weight: 500;
      line-height: 1.25;
      letter-spacing: .12em;
      white-space: nowrap;
    }

    .image-banner-copy p {
      margin: 0;
      color: rgba(255,255,255,.72);
      font-size: 14px;
      letter-spacing: .1em;
    }

    .banner-image-note {
      min-width: 220px;
      padding: 22px 24px;
      border-left: 1px solid rgba(255,255,255,.42);
      color: rgba(255,255,255,.68);
      font-size: 11px;
      line-height: 1.9;
      letter-spacing: .1em;
      text-align: right;
    }

    .banner-image-note strong {
      display: block;
      margin-bottom: 4px;
      color: white;
      font-family: var(--serif);
      font-size: 16px;
      font-weight: 500;
    }

    .banner-scroll {
      position: absolute;
      left: 50%;
      bottom: 25px;
      z-index: 3;
      color: rgba(255,255,255,.62);
      font-size: 9px;
      letter-spacing: .25em;
      transform: translateX(-50%);
    }

    .banner-scroll::after {
      content: "";
      display: block;
      width: 1px;
      height: 28px;
      margin: 10px auto -24px;
      background: rgba(255,255,255,.5);
    }

    .hero {
      position: relative;
      min-height: 760px;
      overflow: hidden;
      border-bottom: 1px solid var(--line);
    }

    .hero::before {
      content: "YI YI TANG";
      position: absolute;
      left: -28px;
      top: 42%;
      color: rgba(99, 32, 28, .07);
      font-family: Georgia, serif;
      font-size: 92px;
      letter-spacing: .12em;
      transform: rotate(-90deg);
      transform-origin: center;
      pointer-events: none;
    }

    .hero-inner {
      min-height: 670px;
      display: grid;
      grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr);
      align-items: center;
      gap: 64px;
      padding: 68px 0 40px;
    }

    .hero-copy {
      position: relative;
      z-index: 2;
      padding-left: 54px;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 13px;
      margin-bottom: 25px;
      color: var(--red);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: .22em;
    }

    .eyebrow::before {
      content: "";
      width: 34px;
      height: 1px;
      background: currentColor;
    }

    .hero h2 {
      max-width: 620px;
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(50px, 5.2vw, 76px);
      font-weight: 600;
      line-height: 1.28;
      letter-spacing: .08em;
    }

    .hero h2 .accent {
      color: var(--red);
    }

    .hero-lead {
      max-width: 570px;
      margin: 27px 0 0;
      color: var(--ink-soft);
      font-family: var(--serif);
      font-size: 18px;
      line-height: 2;
      letter-spacing: .045em;
    }

    .hero-actions {
      display: flex;
      gap: 16px;
      margin-top: 38px;
    }

    .btn {
      min-width: 146px;
      min-height: 48px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      padding: 0 24px;
      border: 1px solid var(--red);
      font-size: 13px;
      letter-spacing: .13em;
      transition: color .25s ease, background .25s ease, transform .25s ease;
    }

    .btn::after {
      content: "";
      width: 18px;
      height: 1px;
      background: currentColor;
      transition: width .25s ease;
    }

    .btn:hover {
      transform: translateY(-2px);
    }

    .btn:hover::after {
      width: 28px;
    }

    .btn-primary {
      color: #fffaf1;
      background: var(--red);
    }

    .btn-outline {
      color: var(--red);
      background: transparent;
    }

    .hero-visual {
      position: relative;
      min-height: 540px;
    }

    .hero-block {
      position: absolute;
      inset: 0 0 36px 36px;
      overflow: hidden;
      background:
        linear-gradient(135deg, rgba(25, 31, 25, .12), transparent 35%),
        linear-gradient(145deg, #b7b29e 0%, #777969 55%, #4b5149 100%);
      box-shadow: var(--shadow);
    }

    .hero-block::before {
      content: "";
      position: absolute;
      inset: 8% 8%;
      border: 1px solid rgba(255,255,255,.28);
    }

    .hero-block::after {
      content: "品牌主视觉图片占位";
      position: absolute;
      right: 32px;
      bottom: 28px;
      color: rgba(255,255,255,.88);
      font-family: var(--serif);
      font-size: 13px;
      letter-spacing: .18em;
    }

    .hero-red-panel {
      position: absolute;
      left: 0;
      bottom: 0;
      width: 190px;
      height: 205px;
      display: flex;
      align-items: flex-end;
      padding: 26px;
      color: #f8efe1;
      background: var(--red);
      font-family: var(--serif);
      font-size: 20px;
      line-height: 1.65;
      letter-spacing: .12em;
      box-shadow: 16px 20px 50px rgba(74, 28, 20, .22);
    }

    .hero-stamp {
      position: absolute;
      right: -22px;
      top: 46px;
      width: 88px;
      height: 88px;
      display: grid;
      place-items: center;
      color: var(--red);
      border: 2px solid var(--red);
      background: var(--paper);
      font-family: var(--serif);
      font-size: 15px;
      font-weight: 700;
      line-height: 1.35;
      letter-spacing: .08em;
      text-align: center;
      transform: rotate(5deg);
    }

    .hero-facts {
      position: relative;
      z-index: 3;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      border-top: 1px solid var(--line);
      background: rgba(250, 247, 239, .72);
    }

    .fact {
      min-height: 90px;
      display: flex;
      align-items: center;
      gap: 17px;
      padding: 16px 28px;
      border-right: 1px solid var(--line);
    }

    .fact:last-child {
      border-right: 0;
    }

    .fact-no {
      color: var(--red);
      font-family: Georgia, serif;
      font-size: 30px;
      line-height: 1;
    }

    .fact strong {
      display: block;
      font-family: var(--serif);
      font-size: 15px;
      letter-spacing: .08em;
    }

    .fact small {
      display: block;
      margin-top: 3px;
      color: var(--ink-soft);
      font-size: 11px;
      letter-spacing: .06em;
    }

    .section {
      position: relative;
      padding: 120px 0;
    }

    .section-kicker {
      display: flex;
      align-items: center;
      gap: 12px;
      color: var(--red);
      font-family: Georgia, serif;
      font-size: 11px;
      letter-spacing: .24em;
      text-transform: uppercase;
    }

    .section-kicker::before {
      content: "";
      width: 36px;
      height: 1px;
      background: currentColor;
    }

    .section-title {
      margin: 16px 0 0;
      font-family: var(--serif);
      font-size: clamp(34px, 3.3vw, 52px);
      font-weight: 600;
      line-height: 1.4;
      letter-spacing: .08em;
    }

    .section-desc {
      max-width: 620px;
      margin: 18px 0 0;
      color: var(--ink-soft);
      line-height: 2;
    }

    .section-head {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 40px;
      margin-bottom: 55px;
    }

    .section-head .btn {
      flex: 0 0 auto;
    }

    .heritage {
      background: var(--paper-light);
    }

    .heritage::before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      width: 26%;
      height: 100%;
      border-left: 1px solid rgba(135, 42, 36, .08);
      background: repeating-linear-gradient(90deg, rgba(135, 42, 36, .025) 0 1px, transparent 1px 15px);
    }

    .heritage-grid {
      display: grid;
      grid-template-columns: .95fr 1.05fr;
      align-items: center;
      gap: 100px;
    }

    .heritage-visual {
      position: relative;
      min-height: 590px;
    }

    .heritage-main {
      position: absolute;
      left: 0;
      top: 0;
      width: 82%;
      height: 500px;
      background:
        linear-gradient(145deg, rgba(255,255,255,.12), transparent 40%),
        #817b6b;
      box-shadow: var(--shadow);
    }

    .heritage-main::after,
    .doctor-photo::after,
    .news-image::after {
      content: attr(data-label);
      position: absolute;
      left: 24px;
      bottom: 20px;
      color: rgba(255,255,255,.85);
      font-family: var(--serif);
      font-size: 12px;
      letter-spacing: .16em;
    }

    .heritage-cert {
      position: absolute;
      right: 0;
      bottom: 0;
      width: 46%;
      min-height: 245px;
      padding: 38px 32px;
      border: 1px solid rgba(135, 42, 36, .28);
      background: var(--paper);
      box-shadow: 12px 20px 50px rgba(52, 36, 20, .13);
    }

    .heritage-cert::before {
      content: "非遗";
      position: absolute;
      right: 24px;
      top: 22px;
      width: 56px;
      height: 56px;
      display: grid;
      place-items: center;
      color: var(--red);
      border: 1px solid var(--red);
      font-family: var(--serif);
      font-size: 16px;
      font-weight: 700;
      transform: rotate(4deg);
    }

    .heritage-cert small {
      color: var(--red);
      font-family: Georgia, serif;
      letter-spacing: .18em;
    }

    .heritage-cert strong {
      display: block;
      max-width: 170px;
      margin-top: 25px;
      font-family: var(--serif);
      font-size: 21px;
      line-height: 1.7;
      letter-spacing: .08em;
    }

    .heritage-copy .section-desc {
      margin-top: 24px;
      font-family: var(--serif);
      font-size: 17px;
    }

    .heritage-points {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1px;
      margin-top: 38px;
      border: 1px solid var(--line);
      background: var(--line);
    }

    .heritage-point {
      min-height: 112px;
      padding: 22px;
      background: var(--paper-light);
    }

    .heritage-point span {
      color: var(--red);
      font-family: Georgia, serif;
      font-size: 12px;
      letter-spacing: .15em;
    }

    .heritage-point strong {
      display: block;
      margin-top: 8px;
      font-family: var(--serif);
      font-size: 16px;
      letter-spacing: .06em;
    }

    .doctors {
      overflow: hidden;
      color: #f7f0e5;
      background: var(--red-deep);
    }

    .doctors::before {
      content: "医";
      position: absolute;
      right: -45px;
      top: -100px;
      color: rgba(255,255,255,.035);
      font-family: var(--serif);
      font-size: 440px;
      line-height: 1;
    }

    .doctors .section-kicker {
      color: #d9b998;
    }

    .doctors .section-desc {
      color: rgba(255,255,255,.66);
    }

    .doctors .btn-outline {
      color: #eadbca;
      border-color: rgba(255,255,255,.35);
    }

    .doctor-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 26px;
    }

    .doctor-card {
      position: relative;
      border: 1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.035);
      transition: transform .3s ease, background .3s ease;
    }

    .doctor-card:hover {
      transform: translateY(-8px);
      background: rgba(255,255,255,.07);
    }

    .doctor-photo {
      position: relative;
      height: 360px;
      background: linear-gradient(145deg, #8f8171, #4f4a42);
    }

    .doctor-card:nth-child(2) .doctor-photo {
      background: linear-gradient(145deg, #9a958a, #62685f);
    }

    .doctor-card:nth-child(3) .doctor-photo {
      background: linear-gradient(145deg, #877c6c, #4c514d);
    }

    .doctor-info {
      position: relative;
      padding: 28px 30px 31px;
    }

    .doctor-index {
      position: absolute;
      right: 24px;
      top: 22px;
      color: rgba(255,255,255,.28);
      font-family: Georgia, serif;
      font-size: 26px;
    }

    .doctor-info h3 {
      margin: 0;
      font-family: var(--serif);
      font-size: 22px;
      letter-spacing: .08em;
    }

    .doctor-info p {
      margin: 10px 0 0;
      color: rgba(255,255,255,.62);
      font-size: 13px;
      line-height: 1.8;
    }

    .doctor-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 18px;
    }

    .doctor-tags span {
      display: inline-flex;
      align-items: center;
      min-height: 25px;
      padding: 4px 9px 4px 8px;
      color: #ead4ba;
      border: 1px solid rgba(217,185,152,.32);
      background: rgba(217,185,152,.07);
      font-size: 11px;
      line-height: 1.35;
      letter-spacing: .08em;
    }

    .doctor-tags span::before {
      content: "";
      width: 4px;
      height: 4px;
      margin-right: 7px;
      background: #d9b998;
      transform: rotate(45deg);
    }

    .therapies {
      background: var(--paper);
    }

    .therapy-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1px;
      border: 1px solid var(--line);
      background: var(--line);
    }

    .therapy-item {
      position: relative;
      min-height: 300px;
      padding: 34px 30px;
      overflow: hidden;
      background: var(--paper-light);
      transition: color .32s ease, background .32s ease;
    }

    .therapy-item::before {
      content: attr(data-no);
      position: absolute;
      right: 17px;
      bottom: -12px;
      color: rgba(135, 42, 36, .06);
      font-family: Georgia, serif;
      font-size: 104px;
      line-height: 1;
      transition: color .32s ease, transform .32s ease;
    }

    .therapy-item:hover {
      color: #fff8ed;
      background: var(--red);
    }

    .therapy-item:hover::before {
      color: rgba(255,255,255,.1);
      transform: translateY(-5px);
    }

    .therapy-no {
      color: var(--red);
      font-family: Georgia, serif;
      font-size: 12px;
      letter-spacing: .16em;
    }

    .therapy-item:hover .therapy-no,
    .therapy-item:hover p {
      color: rgba(255,255,255,.72);
    }

    .therapy-item h3 {
      position: relative;
      z-index: 1;
      margin: 42px 0 0;
      font-family: var(--serif);
      font-size: 22px;
      letter-spacing: .08em;
    }

    .therapy-item p {
      position: relative;
      z-index: 1;
      margin: 14px 0 0;
      color: var(--ink-soft);
      font-size: 13px;
      line-height: 1.85;
      transition: color .32s ease;
    }

    .therapy-mark {
      position: absolute;
      left: 30px;
      bottom: 30px;
      width: 28px;
      height: 1px;
      background: var(--red);
    }

    .therapy-item:hover .therapy-mark {
      background: #f7e9d8;
    }

    .conditions {
      background:
        linear-gradient(90deg, rgba(91, 102, 86, .07), transparent 24%),
        var(--paper-light);
    }

    .conditions-layout {
      display: grid;
      grid-template-columns: 340px 1fr;
      gap: 90px;
    }

    .conditions-heading {
      position: sticky;
      top: 130px;
      align-self: start;
    }

    .conditions-heading .section-title {
      font-size: 44px;
    }

    .condition-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      border-top: 1px solid var(--line);
      border-left: 1px solid var(--line);
    }

    .condition {
      position: relative;
      min-height: 190px;
      padding: 29px 25px;
      border-right: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      background: rgba(255,255,255,.26);
      transition: background .25s ease, transform .25s ease;
    }

    .condition:hover {
      z-index: 2;
      background: #fffaf1;
      transform: translateY(-4px);
      box-shadow: 0 18px 45px rgba(50, 40, 26, .09);
    }

    .condition .index {
      color: var(--red);
      font-family: Georgia, serif;
      font-size: 11px;
      letter-spacing: .14em;
    }

    .condition h3 {
      margin: 34px 0 0;
      font-family: var(--serif);
      font-size: 18px;
      letter-spacing: .06em;
    }

    .condition p {
      margin: 10px 0 0;
      color: var(--ink-soft);
      font-size: 12px;
      line-height: 1.7;
    }

    .news {
      background: var(--paper);
    }

    .news-layout {
      display: grid;
      grid-template-columns: 1.15fr .85fr;
      gap: 52px;
    }

    .news-feature {
      display: grid;
      grid-template-columns: 1fr .86fr;
      min-height: 410px;
      background: var(--red-deep);
      box-shadow: var(--shadow);
    }

    .news-image {
      position: relative;
      min-height: 410px;
      background: linear-gradient(145deg, #a99b84, #5f5c52);
    }

    .news-feature-copy {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 46px 42px;
      color: #f7efe4;
    }

    .news-meta {
      color: #d8b898;
      font-family: Georgia, serif;
      font-size: 11px;
      letter-spacing: .17em;
      text-transform: uppercase;
    }

    .news-feature h3 {
      margin: 22px 0 0;
      font-family: var(--serif);
      font-size: 26px;
      font-weight: 600;
      line-height: 1.65;
      letter-spacing: .06em;
    }

    .news-feature p {
      margin: 18px 0 0;
      color: rgba(255,255,255,.62);
      font-size: 13px;
      line-height: 1.85;
    }

    .text-link {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      width: fit-content;
      margin-top: 28px;
      color: #ead4bd;
      font-size: 12px;
      letter-spacing: .12em;
    }

    .text-link::after {
      content: "";
      width: 28px;
      height: 1px;
      background: currentColor;
    }

    .news-list {
      border-top: 1px solid var(--line);
    }

    .news-row {
      display: grid;
      grid-template-columns: 78px 1fr;
      gap: 25px;
      padding: 29px 0;
      border-bottom: 1px solid var(--line);
    }

    .news-date {
      color: var(--red);
      font-family: Georgia, serif;
      font-size: 30px;
      line-height: 1;
    }

    .news-date small {
      display: block;
      margin-top: 8px;
      color: var(--ink-soft);
      font-family: var(--sans);
      font-size: 10px;
      letter-spacing: .12em;
    }

    .news-row h4 {
      margin: 0;
      font-family: var(--serif);
      font-size: 17px;
      font-weight: 600;
      line-height: 1.6;
      letter-spacing: .04em;
    }

    .news-row p {
      margin: 8px 0 0;
      color: var(--ink-soft);
      font-size: 12px;
      line-height: 1.7;
    }

    .site-footer {
      color: rgba(255,255,255,.76);
      background: #241d19;
    }

    .footer-contact {
      border-bottom: 1px solid rgba(255,255,255,.11);
      background:
        linear-gradient(90deg, rgba(135,42,36,.65), rgba(77,30,27,.8)),
        #5d2622;
    }

    .footer-contact-inner {
      min-height: 190px;
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: center;
      gap: 60px;
    }

    .footer-contact h2 {
      margin: 0;
      color: #fff7eb;
      font-family: var(--serif);
      font-size: 34px;
      font-weight: 600;
      letter-spacing: .08em;
    }

    .footer-contact p {
      margin: 10px 0 0;
      color: rgba(255,255,255,.65);
      font-size: 13px;
      letter-spacing: .05em;
    }

    .footer-phone {
      color: #fff7eb;
      font-family: Georgia, var(--serif);
      font-size: 34px;
      letter-spacing: .08em;
      white-space: nowrap;
    }

    .footer-main {
      display: grid;
      grid-template-columns: 1.3fr .7fr .8fr 1fr;
      gap: 60px;
      padding: 76px 0 60px;
    }

    .footer-brand .brand-seal {
      color: #d6b899;
      border-color: #d6b899;
    }

    .footer-brand .brand-name {
      color: #fff7eb;
    }

    .footer-brand .brand-sub {
      color: rgba(255,255,255,.42);
    }

    .footer-brand p {
      max-width: 330px;
      margin: 27px 0 0;
      color: rgba(255,255,255,.54);
      font-family: var(--serif);
      font-size: 13px;
      line-height: 2;
    }

    .footer-column h3 {
      margin: 0 0 22px;
      color: #fff7eb;
      font-family: var(--serif);
      font-size: 15px;
      letter-spacing: .12em;
    }

    .footer-column a,
    .footer-column span {
      display: block;
      margin: 10px 0;
      color: rgba(255,255,255,.52);
      font-size: 12px;
      line-height: 1.75;
      transition: color .2s ease;
    }

    .footer-column a:hover {
      color: #fff2df;
    }

    .qr-placeholder {
      width: 112px;
      height: 112px;
      display: grid;
      place-items: center;
      margin-top: 16px;
      color: rgba(255,255,255,.5);
      border: 1px solid rgba(255,255,255,.24);
      background:
        linear-gradient(45deg, rgba(255,255,255,.04) 25%, transparent 25% 75%, rgba(255,255,255,.04) 75%),
        linear-gradient(45deg, rgba(255,255,255,.04) 25%, transparent 25% 75%, rgba(255,255,255,.04) 75%);
      background-position: 0 0, 5px 5px;
      background-size: 10px 10px;
      font-size: 10px;
      text-align: center;
    }

    .footer-bottom {
      min-height: 66px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 30px;
      border-top: 1px solid rgba(255,255,255,.1);
      color: rgba(255,255,255,.34);
      font-size: 11px;
    }

    .reveal {
      opacity: 0;
      transform: translateY(28px);
      animation: reveal-in .7s ease forwards;
    }

    @keyframes reveal-in {
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    .delay-1 { animation-delay: .08s; }
    .delay-2 { animation-delay: .16s; }
    .delay-3 { animation-delay: .24s; }

    @media (max-width: 1160px) {
      :root {
        --container: min(100% - 48px, 1100px);
      }

      .nav-wrap {
        grid-template-columns: 200px 1fr auto;
        gap: 18px;
      }

      .main-nav {
        gap: 16px;
      }

      .main-nav a {
        font-size: 12px;
      }

      .phone-link {
        font-size: 16px;
      }

      .hero-inner {
        grid-template-columns: .95fr 1.05fr;
        gap: 40px;
      }

      .hero-copy {
        padding-left: 20px;
      }

      .therapy-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (max-width: 900px) {
      :root {
        --container: min(100% - 36px, 820px);
      }

      .utility-meta span:first-child {
        display: none;
      }

      .nav-wrap {
        height: 74px;
        grid-template-columns: 1fr auto auto;
      }

      .brand-seal {
        width: 42px;
        height: 42px;
        font-size: 16px;
      }

      .brand-name {
        font-size: 20px;
      }

      .brand-sub {
        display: none;
      }

      .main-nav {
        position: fixed;
        inset: 110px 0 0;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        padding: 35px 28px;
        background: rgba(247,243,234,.985);
        transform: translateX(100%);
        transition: transform .3s ease;
      }

      .menu-open .main-nav {
        transform: translateX(0);
      }

      .main-nav a {
        padding: 17px 8px;
        border-bottom: 1px solid var(--line);
        font-family: var(--serif);
        font-size: 18px;
      }

      .main-nav a::after {
        display: none;
      }

      .menu-toggle {
        display: block;
      }

      .menu-open .menu-toggle span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
      }

      .menu-open .menu-toggle span:nth-child(2) {
        opacity: 0;
      }

      .menu-open .menu-toggle span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
      }

      .hero {
        min-height: auto;
      }

      .hero::before {
        display: none;
      }

      .hero-inner {
        min-height: auto;
        grid-template-columns: 1fr;
        padding: 70px 0 45px;
      }

      .image-banner-inner {
        padding-bottom: 62px;
      }

      .hero-copy {
        padding-left: 0;
      }

      .hero-visual {
        min-height: 520px;
      }

      .hero-facts {
        grid-template-columns: repeat(2, 1fr);
      }

      .fact:nth-child(2) {
        border-right: 0;
      }

      .fact:nth-child(-n+2) {
        border-bottom: 1px solid var(--line);
      }

      .heritage-grid {
        grid-template-columns: 1fr;
        gap: 65px;
      }

      .doctor-grid {
        grid-template-columns: 1fr;
      }

      .doctor-card {
        display: grid;
        grid-template-columns: .8fr 1fr;
      }

      .doctor-photo {
        height: 300px;
      }

      .conditions-layout {
        grid-template-columns: 1fr;
        gap: 45px;
      }

      .conditions-heading {
        position: static;
      }

      .news-layout {
        grid-template-columns: 1fr;
      }

      .footer-main {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (max-width: 620px) {
      :root {
        --container: calc(100% - 28px);
      }

      .utility-bar {
        display: none;
      }

      .main-nav {
        inset: 74px 0 0;
      }

      .phone-link {
        gap: 5px;
        font-size: 13px;
      }

      .phone-link::before {
        display: none;
      }

      .image-banner {
        min-height: max(560px, calc(100svh - 74px));
      }

      .image-banner::before {
        inset: 14px;
      }

      .image-banner-inner {
        display: block;
        padding: 0 0 68px;
      }

      .image-banner-copy {
        position: absolute;
        left: 0;
        bottom: 72px;
      }

      .image-banner-copy h1 {
        margin: 16px 0 12px;
        font-size: 43px;
      }

      .image-banner-copy p {
        max-width: 280px;
        font-size: 12px;
        line-height: 1.8;
      }

      .banner-image-note {
        position: absolute;
        right: 0;
        top: 42px;
        min-width: 0;
        padding: 13px 0 13px 16px;
        font-size: 9px;
      }

      .banner-image-note strong {
        font-size: 13px;
      }

      .banner-scroll {
        display: none;
      }

      .hero-inner {
        gap: 30px;
        padding-top: 52px;
      }

      .hero h2 {
        font-size: 42px;
        letter-spacing: .05em;
      }

      .hero-lead {
        font-size: 15px;
      }

      .hero-actions {
        flex-direction: column;
      }

      .btn {
        width: 100%;
      }

      .hero-visual {
        min-height: 390px;
      }

      .hero-block {
        inset: 0 0 26px 16px;
      }

      .hero-red-panel {
        width: 145px;
        height: 160px;
        padding: 20px;
        font-size: 16px;
      }

      .hero-stamp {
        right: -5px;
        top: 26px;
        width: 70px;
        height: 70px;
        font-size: 12px;
      }

      .hero-facts {
        grid-template-columns: 1fr;
      }

      .fact {
        min-height: 76px;
        border-right: 0;
        border-bottom: 1px solid var(--line);
      }

      .fact:last-child {
        border-bottom: 0;
      }

      .section {
        padding: 82px 0;
      }

      .section-head {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 38px;
      }

      .section-title,
      .conditions-heading .section-title {
        font-size: 34px;
      }

      .heritage-visual {
        min-height: 470px;
      }

      .heritage-main {
        width: 90%;
        height: 370px;
      }

      .heritage-cert {
        width: 64%;
        min-height: 205px;
        padding: 26px 22px;
      }

      .heritage-cert strong {
        font-size: 17px;
      }

      .heritage-points {
        grid-template-columns: 1fr;
      }

      .doctor-card {
        display: block;
      }

      .doctor-photo {
        height: 330px;
      }

      .therapy-grid {
        grid-template-columns: 1fr;
      }

      .therapy-item {
        min-height: 250px;
      }

      .condition-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .condition {
        min-height: 170px;
      }

      .news-feature {
        grid-template-columns: 1fr;
      }

      .news-image {
        min-height: 260px;
      }

      .news-feature-copy {
        padding: 34px 27px;
      }

      .footer-contact-inner {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 42px 0;
      }

      .footer-contact h2 {
        font-size: 27px;
      }

      .footer-phone {
        font-size: 27px;
      }

      .footer-main {
        grid-template-columns: 1fr;
        gap: 36px;
        padding: 58px 0 44px;
      }

      .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        padding: 18px 0;
      }
    }

    /* 2026-08-07：首页真实素材与结构精修 */
    section[id],
    footer[id] {
      scroll-margin-top: 92px;
    }

    .brand-logo {
      display: block;
      width: 168px;
      height: 58px;
      object-fit: contain;
      object-position: left center;
    }

    .phone-link {
      gap: 8px;
      font-family: var(--serif);
      font-size: 14px;
      letter-spacing: .08em;
    }

    .phone-link::before {
      width: 17px;
      height: 17px;
      flex: 0 0 17px;
      background: url("../images/home-v3/icon-tel.svg") center / contain no-repeat;
    }

    .image-banner {
      min-height: max(620px, calc(100svh - 124px));
      background: #4d5149;
    }

    .image-banner-media {
      object-position: center 46%;
      filter: saturate(.82) contrast(.98) brightness(.82);
      transform: scale(1.008);
    }

    .image-banner::before {
      z-index: 1;
      inset: 30px;
      border-color: rgba(255,255,255,.25);
      box-shadow: inset 0 0 90px rgba(31,28,22,.18);
    }

    .image-banner::after {
      content: "";
      z-index: 1;
      inset: 0;
      right: 0;
      top: 0;
      background:
        linear-gradient(180deg, rgba(26,24,19,.08) 0%, transparent 38%, rgba(26,24,19,.25) 100%),
        linear-gradient(90deg, rgba(30,28,22,.2), transparent 34%, transparent 70%, rgba(30,28,22,.12));
      pointer-events: none;
    }

    .hero::before,
    .hero .eyebrow,
    .section-kicker {
      display: none;
    }

    .hero-copy {
      padding-left: 0;
    }

    .hero-visual,
    .heritage-visual {
      isolation: isolate;
    }

    .hero-block {
      background:
        linear-gradient(140deg, rgba(48,43,32,.04), rgba(47,54,45,.2)),
        url("../images/home-v3/brand-space.jpg") center / cover no-repeat;
      clip-path: polygon(0 0, 94% 0, 100% 7%, 100% 100%, 7% 100%, 0 93%);
    }

    .hero-block::after,
    .heritage-main::after {
      content: none;
    }

    .hero-block::before {
      inset: 7%;
      border-color: rgba(255,255,255,.38);
    }

    .heritage-main {
      overflow: hidden;
      background:
        linear-gradient(145deg, rgba(53,43,28,.05), rgba(43,50,41,.18)),
        url("../images/home-v3/heritage-scene.jpg") center / cover no-repeat;
      clip-path: polygon(0 0, 100% 0, 100% 92%, 92% 100%, 0 100%);
    }

    .heritage-main::before {
      content: "";
      position: absolute;
      inset: 24px;
      border: 1px solid rgba(255,255,255,.32);
      pointer-events: none;
    }

    .heritage-cert::before {
      content: "非遗";
    }

    .heritage-point {
      display: flex;
      flex-direction: column;
      justify-content: center;
      min-height: 124px;
    }

    .doctor-carousel {
      position: relative;
    }

.doctor-viewport {
  /* Reserve paint space for the card's upward hover motion so the viewport
     keeps clipping adjacent slides without cutting off the card's top radius. */
  margin-top: -8px;
  padding-top: 8px;
  overflow: hidden;
}

    .doctor-grid {
      display: flex;
      gap: 26px;
      transition: transform .5s cubic-bezier(.22,.61,.36,1);
      will-change: transform;
    }

    .doctor-card {
      min-width: calc((100% - 128px) / 3);
      height: 472px;
      display: flex;
      flex-direction: column;
      color: inherit;
      text-decoration: none;
      cursor: pointer;
    }

    .doctor-card:focus-visible {
      outline: 1px solid rgba(235, 205, 163, .88);
      outline-offset: 4px;
      transform: translateY(-6px);
      background: rgba(255,255,255,.075);
    }

    .doctor-photo {
      height: auto;
      aspect-ratio: 3 / 4;
    }

    .doctor-info {
      display: flex;
      flex: 1;
      flex-direction: column;
    }

    .doctor-index {
      display: none;
    }

    .doctor-info p {
      display: -webkit-box;
      min-height: calc(1.8em * 4);
      overflow: hidden;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 4;
    }

    .doctor-tags {
      min-height: 58px;
      align-content: flex-start;
      margin-top: auto;
      padding-top: 18px;
      overflow: hidden;
    }

    .doctor-controls {
      display: flex;
      justify-content: flex-end;
      gap: 10px;
      margin-top: 28px;
    }

    .doctor-controls[hidden] {
      display: none;
    }

    .doctor-control {
      width: 44px;
      height: 44px;
      display: grid;
      place-items: center;
      color: #eadbca;
      border: 1px solid rgba(255,255,255,.3);
      background: rgba(255,255,255,.035);
      cursor: pointer;
      transition: background .25s ease, transform .25s ease, opacity .25s ease;
    }

    .doctor-control:hover:not(:disabled) {
      background: rgba(255,255,255,.12);
      transform: translateY(-2px);
    }

    .doctor-control:disabled {
      opacity: .35;
      cursor: default;
    }

    .therapy-grid {
      gap: 18px;
      border: 0;
      background: transparent;
    }

    .therapy-item {
      min-height: 420px;
      display: flex;
      flex-direction: column;
      padding: 0;
      border: 1px solid rgba(135,42,36,.12);
      background: rgba(255,255,255,.42);
      box-shadow: 0 20px 45px rgba(69,52,30,.06);
      clip-path: polygon(0 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%);
    }

    .therapy-item::before {
      right: 12px;
      bottom: 4px;
      font-size: 72px;
    }

    .therapy-item:hover {
      color: var(--ink);
      background: #fffaf1;
      transform: translateY(-7px);
      box-shadow: 0 28px 60px rgba(69,52,30,.13);
    }

    .therapy-item:hover::before {
      color: rgba(135,42,36,.08);
    }

    .therapy-image {
      position: relative;
      aspect-ratio: 4 / 3;
      overflow: hidden;
      background: #817b6b;
    }

    .therapy-image::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, transparent 50%, rgba(38,31,23,.2));
      pointer-events: none;
    }

    .therapy-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: saturate(.72) contrast(.96);
      transition: transform .55s ease, filter .55s ease;
    }

    .therapy-item:hover .therapy-image img {
      transform: scale(1.045);
      filter: saturate(.88) contrast(1);
    }

    .therapy-body {
      position: relative;
      z-index: 1;
      flex: 1;
      padding: 27px 26px 32px;
    }

    .therapy-no {
      font-family: Georgia, serif;
      font-size: 12px;
      letter-spacing: .16em;
    }

    .therapy-item:hover .therapy-no,
    .therapy-item:hover p {
      color: var(--ink-soft);
    }

    .therapy-item h3 {
      margin: 14px 0 0;
      font-size: 21px;
    }

    .therapy-mark {
      left: 26px;
      bottom: 20px;
    }

    .conditions-heading {
      position: relative;
      top: auto;
    }

    .homepage-ad {
      position: relative;
      min-height: 220px;
      display: grid;
      place-items: center;
      overflow: hidden;
      color: rgba(255,255,255,.82);
      background:
        linear-gradient(100deg, rgba(69,73,62,.98), rgba(91,91,75,.92) 52%, rgba(99,32,28,.86)),
        radial-gradient(circle at 20% 30%, rgba(255,255,255,.16), transparent 38%);
      text-align: center;
    }

    .homepage-ad::before {
      content: "";
      position: absolute;
      inset: 18px;
      border: 1px solid rgba(255,255,255,.2);
    }

    .homepage-ad span {
      position: relative;
      z-index: 1;
      font-family: var(--serif);
      font-size: 18px;
      letter-spacing: .18em;
    }

    .footer-logo {
      display: block;
      width: min(260px, 100%);
      height: 92px;
      object-fit: contain;
      object-position: left center;
      filter: brightness(0) invert(1) sepia(.08);
      opacity: .94;
    }

    @media (max-width: 1100px) {
      .brand-logo { width: 142px; height: 52px; }
      .doctor-card { min-width: calc((100% - 26px) / 2); }
      .therapy-grid { grid-template-columns: repeat(2, 1fr); }
    }

    @media (max-width: 760px) {
      .brand-logo { width: 126px; height: 46px; }
      .image-banner { min-height: 62svh; }
      .image-banner::before { inset: 14px; }
      .image-banner-media { object-position: 52% center; }
      .hero-block,
      .heritage-main { clip-path: none; }
      .doctor-card { min-width: 100%; height: auto; }
      .doctor-info p {
        display: block;
        min-height: 0;
        overflow: visible;
      }
      .doctor-tags { min-height: 0; }
      .therapy-grid { grid-template-columns: 1fr; }
      .therapy-item { min-height: 0; }
      .homepage-ad { min-height: 150px; }
      .homepage-ad span { font-size: 14px; }
      .footer-logo { width: 220px; height: 78px; }
    }

    /* 2026-08-07：首页第二轮视觉与交互精修 */
    .phone-desktop {
      color: inherit;
      cursor: pointer;
      text-decoration: none;
      user-select: text;
    }

    .phone-mobile {
      display: none;
    }

    .phone-link {
      font-family: var(--serif);
      font-size: 14px;
      font-weight: 500;
      line-height: 1;
      letter-spacing: .04em;
      font-variant-numeric: lining-nums tabular-nums;
    }

    .hero-actions .btn {
      width: 158px;
      min-width: 158px;
      padding-inline: 18px;
      transform: none;
    }

    .hero-actions .btn > span {
      display: inline-block;
      transition: transform .25s ease;
    }

    .hero-actions .btn:hover,
    .hero-actions .btn:focus-visible {
      border-color: var(--red);
      transform: none;
    }

    .hero-actions .btn:hover > span,
    .hero-actions .btn:focus-visible > span {
      transform: scale(1.045);
    }

    .hero-actions .btn:hover::after {
      width: 18px;
    }

    .hero-collage {
      min-height: 560px;
    }

    .hero-collage-item {
      position: absolute;
      margin: 0;
      overflow: hidden;
      background: #817b6b;
      box-shadow: 0 24px 52px rgba(52, 42, 28, .14);
    }

    .hero-collage-item::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(145deg, rgba(53,43,28,.03), rgba(43,50,41,.16));
      pointer-events: none;
    }

    .hero-collage-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: saturate(.76) contrast(.96) brightness(.98);
    }

    .hero-collage-main {
      z-index: 1;
      left: 13%;
      top: 0;
      width: 76%;
      height: 78%;
      clip-path: polygon(0 0, 94% 0, 100% 8%, 100% 100%, 0 100%);
    }

    .hero-collage-main img {
      object-position: center 52%;
    }

    .hero-collage-side {
      z-index: 2;
      left: 0;
      bottom: 0;
      width: 43%;
      height: 42%;
      border: 9px solid var(--paper);
      clip-path: polygon(0 0, 100% 0, 100% 88%, 88% 100%, 0 100%);
    }

    .hero-collage-side img {
      object-position: 30% center;
    }

    .hero-collage-detail {
      z-index: 3;
      right: 0;
      bottom: 5%;
      width: 39%;
      height: 34%;
      border: 9px solid var(--paper);
      clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%, 0 12%);
    }

    .hero-collage-detail img {
      object-position: center;
    }

    .heritage-visual {
      min-height: 540px;
    }

    .heritage-main {
      width: 100%;
      height: 520px;
      margin: 0;
      clip-path: polygon(0 0, 100% 0, 100% 91%, 91% 100%, 0 100%);
    }

    .heritage-main::before {
      z-index: 2;
      inset: 20px;
      border-color: rgba(255,255,255,.42);
    }

    .heritage-main::after {
      content: "";
      position: absolute;
      z-index: 1;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(44,35,25,.04) 48%, rgba(39,29,20,.36) 100%),
        linear-gradient(90deg, rgba(35,29,22,.08), transparent 36%);
      pointer-events: none;
    }

    .heritage-main > img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      filter: saturate(.82) contrast(.96) brightness(.96);
    }

    .heritage-watermark {
      position: absolute;
      z-index: 3;
      left: 48px;
      bottom: 42px;
      padding-left: 18px;
      color: #fff9ee;
      border-left: 1px solid rgba(255,249,238,.7);
      text-shadow: 0 2px 18px rgba(22,16,12,.46);
    }

    .heritage-watermark small {
      display: block;
      margin-bottom: 12px;
      font-family: var(--sans);
      font-size: 10px;
      letter-spacing: .2em;
    }

    .heritage-watermark strong {
      font-family: var(--serif);
      font-size: 21px;
      font-weight: 500;
      line-height: 1.65;
      letter-spacing: .09em;
    }

    .doctors::before {
      content: none;
    }

    .doctor-info p {
      flex: 0 0 auto;
      min-height: calc(1.8em * 4);
    }

    .doctor-tags {
      min-height: 58px;
      margin-top: 18px;
      padding-top: 0;
      align-content: flex-start;
    }

    .therapy-grid {
      gap: 16px;
    }

    .therapy-item {
      min-height: 0;
      aspect-ratio: 4 / 3;
      display: block;
      border: 0;
      background: #665f52;
      box-shadow: 0 18px 42px rgba(69,52,30,.09);
      clip-path: polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%);
      isolation: isolate;
      cursor: pointer;
    }

    .therapy-item::before {
      z-index: 4;
      right: 18px;
      top: 16px;
      bottom: auto;
      color: rgba(255,255,255,.25);
      font-family: var(--serif);
      font-size: 54px;
      font-weight: 500;
      text-shadow: 0 1px 12px rgba(0,0,0,.12);
    }

    .therapy-image,
    .therapy-body {
      position: absolute;
      inset: 0;
    }

    .therapy-image {
      aspect-ratio: auto;
    }

    .therapy-image::after {
      background: linear-gradient(180deg, rgba(25,20,16,.05) 12%, rgba(25,20,16,.12) 45%, rgba(25,20,16,.8) 100%);
      transition: background .38s ease;
    }

    .therapy-image img {
      filter: saturate(.68) contrast(.96) brightness(.88);
    }

    .therapy-body {
      z-index: 3;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      padding: 28px 26px 26px;
      color: #fff9ef;
    }

    .therapy-item h3 {
      margin: 0;
      color: #fff9ef;
      font-size: 21px;
      text-shadow: 0 2px 16px rgba(18,13,10,.42);
      transition: transform .38s ease;
    }

    .therapy-item p {
      max-height: 0;
      margin: 0;
      overflow: hidden;
      color: rgba(255,249,239,.82);
      opacity: 0;
      transform: translateY(12px);
      transition: max-height .42s ease, margin .36s ease, opacity .32s ease, transform .38s ease;
    }

    .therapy-item:hover,
    .therapy-item:focus-visible {
      color: #fff9ef;
      background: #665f52;
      transform: translateY(-5px);
      outline: 1px solid rgba(135,42,36,.48);
      outline-offset: 3px;
    }

    .therapy-item:hover::before,
    .therapy-item:focus-visible::before {
      color: rgba(255,255,255,.34);
      transform: none;
    }

    .therapy-item:hover .therapy-image::after,
    .therapy-item:focus-visible .therapy-image::after {
      background: linear-gradient(180deg, rgba(25,20,16,.16) 0%, rgba(25,20,16,.35) 42%, rgba(25,20,16,.9) 100%);
    }

    .therapy-item:hover .therapy-image img,
    .therapy-item:focus-visible .therapy-image img {
      transform: scale(1.045);
      filter: saturate(.76) contrast(.98) brightness(.78);
    }

    .therapy-item:hover h3,
    .therapy-item:focus-visible h3 {
      transform: translateY(-4px);
    }

    .therapy-item:hover p,
    .therapy-item:focus-visible p {
      max-height: 7em;
      margin-top: 12px;
      color: rgba(255,249,239,.82);
      opacity: 1;
      transform: translateY(0);
    }

    .therapy-no,
    .therapy-mark {
      display: none;
    }

    .condition-grid {
      position: relative;
      border-color: rgba(135,42,36,.17);
      box-shadow: 0 22px 60px rgba(69,52,30,.045);
    }

    .condition {
      min-height: 200px;
      overflow: hidden;
      border-color: rgba(135,42,36,.13);
      background:
        linear-gradient(145deg, rgba(255,255,255,.62), rgba(244,239,229,.35)),
        repeating-linear-gradient(90deg, rgba(135,42,36,.018) 0 1px, transparent 1px 14px);
    }

    .condition::after {
      content: "";
      position: absolute;
      right: -34px;
      bottom: -34px;
      width: 78px;
      height: 78px;
      border: 1px solid rgba(135,42,36,.1);
      transform: rotate(45deg);
      transition: border-color .28s ease, transform .28s ease;
    }

    .condition:hover {
      background: linear-gradient(145deg, #fffaf1, #f0e7d7);
      transform: translateY(-3px);
      box-shadow: 0 18px 42px rgba(50,40,26,.08);
    }

    .condition:hover::after {
      border-color: rgba(135,42,36,.3);
      transform: rotate(45deg) translate(-4px, -4px);
    }

    .condition h3 {
      position: relative;
      margin-top: 30px;
    }

    .condition h3::before {
      content: "";
      position: absolute;
      left: 0;
      top: -15px;
      width: 24px;
      height: 1px;
      background: rgba(135,42,36,.48);
    }

    .news-date {
      font-family: var(--serif);
      font-weight: 500;
      font-variant-numeric: lining-nums tabular-nums;
    }

    .news-date small {
      font-family: var(--sans);
      font-size: 10px;
      font-weight: 500;
      line-height: 1.4;
      letter-spacing: .1em;
    }

    .news-row p {
      display: -webkit-box;
      min-height: calc(1.7em * 2);
      max-height: calc(1.7em * 2);
      overflow: hidden;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
    }

    /* WordPress 动态资讯与静态 V2 的实际渲染规格对齐。 */
    .news > .container {
      width: var(--shared-container);
    }

    .news-image img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }

    .news-feature-copy {
      font-family: var(--font-display);
    }

    .news-meta {
      font-family: var(--font-body);
      font-size: 11px;
      font-weight: 600;
      line-height: 1.3;
      letter-spacing: .18em;
    }

    .news-feature h3 {
      font-family: var(--font-display);
      font-size: 26px;
      line-height: 1.6;
      letter-spacing: .04em;
    }

    .news-feature p {
      font-family: var(--font-display);
      font-size: 14px;
      line-height: 1.85;
      letter-spacing: 0;
    }

    .news .text-link {
      font-family: var(--font-body);
      font-size: 13px;
      font-weight: 500;
    }

    /* 医馆资讯沿用 V2 的克制交互，隔离站点通用 hover 增强规则。 */
    .news [data-card-href],
    .news .text-link {
      cursor: pointer;
    }

    .news .news-feature:hover .news-image img,
    .news .news-feature:focus-visible .news-image img {
      transform: none;
    }

    .news .text-link:hover::after {
      width: 28px;
      transform: none;
    }

    .news .btn-outline:hover,
    .news .btn-outline:focus-visible {
      color: var(--red);
      border-color: var(--red);
      background: transparent;
      transform: none;
    }

    .news .btn-outline:focus-visible {
      outline: 1px solid currentColor;
      outline-offset: 4px;
    }

    .news-row h4 {
      font-family: var(--font-display);
      font-size: 18px;
      line-height: 1.6;
      letter-spacing: .04em;
    }

    .news-row p {
      font-family: var(--font-display);
      font-size: 14px;
      line-height: 1.85;
      letter-spacing: 0;
    }

    .news .section-desc {
      font-family: var(--font-display);
      font-size: 16px;
      line-height: 1.9;
    }

    @media (max-width: 620px) {
      .news .news-image {
        height: 250px;
        min-height: 250px;
      }
    }

    .homepage-ad {
      cursor: default;
      user-select: none;
    }

    .footer-main {
      align-items: start;
    }

    .footer-brand p {
      max-width: 370px;
      min-height: 112px;
      margin-top: 24px;
    }

    .qr-placeholder {
      width: 124px;
      height: 124px;
      padding: 6px;
      border-color: rgba(255,255,255,.18);
      background: #fff;
    }

    .qr-placeholder img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain;
    }

    @media (max-width: 900px) {
      .phone-desktop {
        display: none;
      }

      .phone-mobile {
        display: inline-flex;
      }

      .hero-collage {
        min-height: 520px;
      }

      .heritage-main {
        width: 100%;
      }
    }

    @media (max-width: 760px) {
      .hero-actions .btn {
        width: 100%;
        min-width: 0;
      }

      .hero-collage {
        min-height: 410px;
      }

      .hero-collage-main {
        left: 0;
        width: 87%;
        height: 72%;
        clip-path: none;
      }

      .hero-collage-side {
        width: 48%;
        height: 39%;
        border-width: 6px;
        clip-path: none;
      }

      .hero-collage-detail {
        width: 45%;
        height: 35%;
        border-width: 6px;
        clip-path: none;
      }

      .heritage-visual {
        min-height: 410px;
      }

      .heritage-main {
        height: 390px;
        clip-path: none;
      }

      .heritage-watermark {
        left: 28px;
        bottom: 28px;
      }

      .heritage-watermark small {
        font-size: 8px;
      }

      .heritage-watermark strong {
        font-size: 17px;
      }

      .doctor-tags {
        min-height: 58px;
      }

      .therapy-item {
        aspect-ratio: 4 / 3;
      }

      .condition {
        min-height: 184px;
      }

      .footer-brand p {
        min-height: 0;
      }
    }

    @media (hover: none), (pointer: coarse) {
      .therapy-item p {
        max-height: 7em;
        margin-top: 10px;
        opacity: 1;
        transform: none;
      }

      .therapy-image::after {
        background: linear-gradient(180deg, rgba(25,20,16,.08) 0%, rgba(25,20,16,.25) 38%, rgba(25,20,16,.9) 100%);
      }
    }

    /* 2026-08-10：首页第三轮减法式视觉精修 */
    :root {
      --radius-lg: 16px;
      --radius-md: 12px;
      --line-soft: rgba(135, 42, 36, .18);
    }

    /* 首屏 Banner 仅呈现实景照片：无暗角、无蒙层、无底纹、无装饰边框 */
    .image-banner {
      background: none !important;
    }

    .image-banner::before,
    .image-banner::after {
      content: none !important;
      display: none !important;
    }

    .image-banner-media {
      opacity: 1 !important;
      filter: none !important;
    }

    /* 纸张质感保持极轻，只承担分区，不与照片争抢注意力 */
    .hero {
      min-height: auto;
      background:
        radial-gradient(circle at 18% 24%, rgba(135, 42, 36, .035), transparent 27%),
        repeating-linear-gradient(90deg, rgba(96, 76, 49, .018) 0 1px, transparent 1px 18px),
        var(--paper);
    }

    .hero::before {
      content: none !important;
    }

    .hero-inner {
      min-height: 660px;
      grid-template-columns: minmax(0, 1.08fr) minmax(430px, .92fr);
      gap: 72px;
      padding-block: 86px;
    }

    .hero-copy {
      padding-left: 0;
    }

    /* A 方案：一张主图 + 右侧两张纵向副图，不重叠、不满铺 */
    .hero-collage {
      width: min(100%, 540px);
      min-height: 470px;
      justify-self: end;
      display: grid;
      grid-template-columns: minmax(0, 1.42fr) minmax(150px, .82fr);
      grid-template-rows: repeat(2, minmax(0, 1fr));
      gap: 12px;
      padding: 12px;
      border: 1px solid rgba(135, 42, 36, .12);
      border-radius: 20px;
      background: rgba(255, 253, 247, .52);
      box-shadow: 0 24px 54px rgba(52, 42, 28, .1);
    }

    .hero-collage-item,
    .hero-collage-main,
    .hero-collage-side,
    .hero-collage-detail {
      position: relative;
      inset: auto;
      left: auto;
      right: auto;
      top: auto;
      bottom: auto;
      width: auto;
      height: auto;
      margin: 0;
      border: 0;
      border-radius: var(--radius-md);
      clip-path: none;
      box-shadow: none;
    }

    .hero-collage-item::after {
      content: none;
    }

    .hero-collage-main {
      grid-column: 1;
      grid-row: 1 / -1;
    }

    .hero-collage-side {
      grid-column: 2;
      grid-row: 1;
    }

    .hero-collage-detail {
      grid-column: 2;
      grid-row: 2;
    }

    .hero-collage-item img {
      filter: none;
    }

    /* 统一主标题：宋体为主，短线与印点作为低存在感装饰 */
    .section-title.art-title {
      position: relative;
      margin-top: 0;
      padding-top: 22px;
      letter-spacing: .035em;
    }

    .section-title.art-title::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 54px;
      height: 1px;
      background: var(--red);
    }

    .section-title.art-title::after {
      content: "";
      position: absolute;
      top: -3px;
      left: 60px;
      width: 7px;
      height: 7px;
      border: 1px solid var(--red);
      transform: rotate(45deg);
    }

    .section-title.art-title em {
      color: var(--red);
      font-style: normal;
      font-weight: inherit;
    }

    .art-title-stacked span,
    .art-title-stacked em {
      display: block;
    }

    .heritage {
      background:
        linear-gradient(115deg, rgba(255, 253, 247, .94), rgba(244, 238, 225, .88)),
        radial-gradient(circle at 88% 18%, rgba(135, 42, 36, .08), transparent 32%);
    }

    .heritage-visual {
      background: transparent;
    }

    .heritage-main,
    .heritage-main > img {
      border-radius: var(--radius-lg);
      clip-path: none;
    }

    .heritage-main::before {
      border-radius: var(--radius-md);
    }

    /* 医师屏压缩高度，保留三张卡的清晰阅读顺序 */
    .doctors {
      padding-block: 82px;
      background:
        radial-gradient(circle at 15% 12%, rgba(255, 244, 221, .055), transparent 30%),
        repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 1px, transparent 1px 18px),
        linear-gradient(130deg, #6e201d, #7e2924 58%, #681d1b);
    }

    .doctors .section-head {
      margin-bottom: 38px;
    }

    .doctors .section-title.art-title::before {
      background: rgba(235, 205, 163, .78);
    }

    .doctors .section-title.art-title::after {
      border-color: rgba(235, 205, 163, .78);
    }

    .doctors .section-title.art-title em {
      color: #dfc19b;
    }

    .doctor-card {
      overflow: hidden;
      border-radius: var(--radius-lg);
      background: rgba(87, 22, 20, .34);
    }

    .doctor-photo {
      height: 248px;
      min-height: 248px;
    }

    .doctor-info {
      padding: 24px 24px 22px;
    }

    .doctor-info p {
      display: -webkit-box;
      min-height: calc(1.8em * 4);
      max-height: calc(1.8em * 4);
      overflow: hidden;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 4;
    }

    .doctor-tags span {
      border-radius: 999px;
      background: rgba(251, 239, 215, .075);
    }

    .therapies {
      background:
        radial-gradient(circle at 92% 9%, rgba(135, 42, 36, .045), transparent 26%),
        repeating-linear-gradient(0deg, rgba(83, 67, 47, .015) 0 1px, transparent 1px 15px),
        #f6f1e7;
    }

    .therapy-item {
      overflow: hidden;
      border-radius: var(--radius-md);
      clip-path: none;
    }

    .therapy-item::before {
      content: none !important;
      display: none !important;
    }

    /* 九项方向共享一张低对比度实景底图，卡片仍保证文字可读 */
    .conditions {
      position: relative;
      overflow: hidden;
      background:
        linear-gradient(90deg, rgba(247, 242, 232, .97) 0 25%, rgba(247, 242, 232, .88) 48%, rgba(247, 242, 232, .79) 100%),
        url("../images/home-v3/brand-space.jpg") center / cover no-repeat;
    }

    .conditions::before {
      content: "";
      position: absolute;
      inset: 0;
      background: repeating-linear-gradient(90deg, rgba(135,42,36,.018) 0 1px, transparent 1px 22px);
      pointer-events: none;
    }

    .conditions-layout {
      position: relative;
      z-index: 1;
      grid-template-columns: 270px minmax(0, 1fr);
      gap: 62px;
      align-items: center;
    }

    .conditions-heading {
      min-height: 420px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
    }

    .conditions-more {
      margin-top: 30px;
    }

    .conditions-heading .section-title {
      height: 370px;
      display: flex;
      flex-direction: row-reverse;
      gap: 18px;
      writing-mode: vertical-rl;
      text-orientation: upright;
      line-height: 1.14;
      letter-spacing: .08em;
    }

    .conditions-heading .section-title span,
    .conditions-heading .section-title em {
      display: block;
    }

    .conditions-heading .section-title::before {
      top: 0;
      right: -22px;
      left: auto;
      width: 1px;
      height: 62px;
    }

    .conditions-heading .section-title::after {
      top: 70px;
      right: -25px;
      left: auto;
    }

    .condition-grid {
      gap: 10px;
      border: 0;
      background: transparent;
      box-shadow: none;
    }

    .condition {
      min-height: 178px;
      border: 1px solid rgba(135, 42, 36, .12);
      border-radius: var(--radius-md);
      background: rgba(255, 252, 245, .8);
      backdrop-filter: blur(6px);
    }

    .condition::after {
      border-radius: 8px;
    }

    .news {
      background:
        radial-gradient(circle at 13% 15%, rgba(135, 42, 36, .04), transparent 26%),
        repeating-linear-gradient(90deg, rgba(81,67,47,.015) 0 1px, transparent 1px 17px),
        #f7f2e8;
    }

    .news .section-title.art-title em {
      margin-left: .16em;
    }

    .news-row,
    .news-feature {
      border-radius: var(--radius-md);
    }

    .homepage-ad,
    .homepage-ad img {
      border-radius: var(--radius-md);
    }

    @media (max-width: 1100px) {
      .hero-inner {
        grid-template-columns: minmax(0, 1fr) minmax(390px, .9fr);
        gap: 42px;
      }

      .conditions-layout {
        grid-template-columns: 220px minmax(0, 1fr);
        gap: 36px;
      }
    }

    @media (max-width: 900px) {
      .hero-inner {
        grid-template-columns: 1fr;
        min-height: auto;
        padding-block: 70px;
      }

      .hero-collage {
        width: min(100%, 620px);
        min-height: 470px;
        justify-self: center;
      }

      .conditions-layout {
        grid-template-columns: 1fr;
      }

      .conditions-heading {
        min-height: 0;
        justify-content: flex-start;
      }

      .conditions-heading .section-title {
        height: auto;
        display: block;
        writing-mode: horizontal-tb;
        text-orientation: mixed;
        letter-spacing: .035em;
      }

      .conditions-heading .section-title span,
      .conditions-heading .section-title em {
        display: inline;
      }

      .conditions-heading .section-title::before {
        top: 0;
        right: auto;
        left: 0;
        width: 54px;
        height: 1px;
      }

      .conditions-heading .section-title::after {
        top: -3px;
        right: auto;
        left: 60px;
      }
    }

    @media (max-width: 760px) {
      .phone-mobile {
        width: 34px;
        height: 34px;
        padding: 8px;
        justify-content: center;
        overflow: hidden;
        color: transparent;
        font-size: 0;
        letter-spacing: 0;
        border: 1px solid rgba(143, 43, 35, .22);
        border-radius: 50%;
      }

      .phone-mobile::before {
        display: block;
        width: 16px;
        height: 16px;
        flex: 0 0 16px;
      }

      .hero-inner {
        padding-block: 56px;
      }

      .hero-collage {
        min-height: 350px;
        grid-template-columns: minmax(0, 1.35fr) minmax(105px, .8fr);
        gap: 8px;
        padding: 8px;
        border-radius: 14px;
      }

      .hero-collage-item,
      .hero-collage-main,
      .hero-collage-side,
      .hero-collage-detail {
        width: auto;
        height: auto;
        border: 0;
        border-radius: 9px;
      }

      .doctors {
        padding-block: 64px;
      }

      .doctor-photo {
        height: auto;
        min-height: 0;
        aspect-ratio: 3 / 4;
      }

      .condition {
        min-height: 166px;
      }
    }

    /* 2026-08-10：首页第四轮定点精修 */
    .hero-inner {
      grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr);
      gap: 48px;
    }

    .hero-collage {
      width: min(100%, 680px);
      min-height: 540px;
      gap: 0;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
      overflow: hidden;
      -webkit-mask-image:
        linear-gradient(to right, transparent 0, #000 5%, #000 95%, transparent 100%),
        linear-gradient(to bottom, transparent 0, #000 5%, #000 95%, transparent 100%);
      -webkit-mask-composite: source-in;
      mask-image:
        linear-gradient(to right, transparent 0, #000 5%, #000 95%, transparent 100%),
        linear-gradient(to bottom, transparent 0, #000 5%, #000 95%, transparent 100%);
      mask-composite: intersect;
    }

    .hero-collage-item,
    .hero-collage-main,
    .hero-collage-side,
    .hero-collage-detail {
      border-radius: 0;
      overflow: hidden;
    }

    .hero-collage-item img {
      transform: scale(1.035);
    }

    .heritage-points {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .heritage-point strong {
      line-height: 1.65;
    }

    .doctor-info {
      padding-bottom: 14px;
    }

    .doctor-tags {
      min-height: 25px;
      margin-top: 12px;
      flex-wrap: nowrap;
      gap: 5px;
      align-items: center;
      align-content: center;
    }

    .doctor-tags span {
      min-width: 0;
      padding-inline: 7px;
      white-space: nowrap;
      font-size: 10px;
      letter-spacing: .035em;
    }

    .doctor-tags span::before {
      width: 3px;
      height: 3px;
      margin-right: 5px;
    }

    .conditions-heading .section-title {
      width: 176px;
      height: 365px;
      display: flex;
      flex-direction: row-reverse;
      justify-content: center;
      gap: 24px;
      writing-mode: horizontal-tb;
      text-orientation: mixed;
    }

    .conditions-heading .section-title span,
    .conditions-heading .section-title em {
      display: block;
      writing-mode: vertical-rl;
      text-orientation: upright;
      white-space: nowrap;
    }

    .btn,
    .btn:hover {
      transform: none;
    }

    .btn:hover::after {
      width: 18px;
    }

    .btn > span {
      display: inline-block;
      transition: transform .22s ease;
    }

    .btn:hover > span {
      transform: scale(1.045);
    }

    /* 2026-08-10：首页第六轮 PC 视觉精修 */
    .section-title.art-title,
    .section-title.art-title span,
    .section-title.art-title em,
    .hero-copy h2,
    .hero-copy h2 span {
      color: var(--ink);
    }

    .hero .hero-copy h2 .accent {
      color: inherit;
    }

    .doctors .section-title.art-title,
    .doctors .section-title.art-title span,
    .doctors .section-title.art-title em {
      color: var(--paper-light);
    }

    @media (min-width: 901px) {
      .hero {
        background:
          linear-gradient(rgba(250, 248, 242, .58), rgba(250, 248, 242, .64)),
          url("../images/home-v5/bg-hero-mountain.jpg") center bottom / cover no-repeat;
      }

      .hero-collage {
        -webkit-mask-image: none;
        mask-image: none;
        -webkit-mask-composite: initial;
        mask-composite: initial;
      }

      .hero-collage-item::after {
        content: none;
      }

      .hero-collage-item img {
        filter: none;
        opacity: 1;
      }

      .heritage {
        background:
          linear-gradient(rgba(255, 253, 247, .46), rgba(255, 253, 247, .52)),
          url("../images/home-v5/bg-light-solid.webp") center bottom / cover no-repeat;
      }

      .heritage::before {
        content: none;
      }

      .heritage-points.heritage-honors {
        display: flex;
        align-items: center;
        gap: 14px;
        margin-top: 34px;
        border: 0;
        background: transparent;
      }

      .heritage-honor {
        position: relative;
        flex: 1 1 0;
        display: grid;
        place-items: center;
        min-width: 0;
        min-height: 58px;
        padding: 11px 18px;
        border: 1px solid rgba(135, 42, 36, .34);
        border-radius: 999px;
        background: rgba(255, 251, 240, .86);
        box-shadow:
          inset 0 0 0 3px rgba(255, 251, 240, .92),
          inset 0 0 0 4px rgba(135, 42, 36, .12),
          0 8px 20px rgba(72, 52, 31, .06);
      }

      .heritage-honor::before,
      .heritage-honor::after {
        content: "";
        position: absolute;
        top: 50%;
        width: 5px;
        height: 5px;
        border: 1px solid rgba(135, 42, 36, .46);
        transform: translateY(-50%) rotate(45deg);
      }

      .heritage-honor::before { left: 11px; }
      .heritage-honor::after { right: 11px; }

      .heritage-honor strong {
        color: var(--red);
        font-family: var(--serif);
        font-size: 15px;
        font-weight: 600;
        line-height: 1.3;
        letter-spacing: .12em;
        white-space: nowrap;
      }

      .therapies {
        background:
          linear-gradient(rgba(249, 247, 241, .62), rgba(249, 247, 241, .68)),
          url("../images/home-v5/bg-therapies-crane.jpg") center bottom / cover no-repeat;
      }

      .news {
        background:
          linear-gradient(rgba(255, 253, 247, .52), rgba(255, 253, 247, .58)),
          url("../images/home-v5/bg-light-solid.webp") center bottom / cover no-repeat;
      }

      .news-feature,
      .news-row,
      .news-feature h3,
      .news-row h4,
      .news-row p,
      .news-image {
        transition: color .28s ease, transform .42s ease, background-color .28s ease;
      }

      .news-feature {
        overflow: hidden;
      }

      .news-feature .news-image:hover {
        transform: scale(1.025);
      }

      .news-feature .news-feature-copy:hover h3,
      .news-row:hover h4,
      .news-row:focus-visible h4 {
        color: var(--red);
      }

      .news-row {
        grid-template-columns: 56px minmax(0, 1fr);
        gap: 16px;
      }

      .news-row:hover,
      .news-row:focus-visible {
        transform: translateX(5px);
        background: rgba(255, 252, 244, .48);
      }

      .news-date small {
        font-family: var(--serif);
        font-size: 12px;
        letter-spacing: .06em;
      }
    }

    @media (max-width: 1100px) {
      .hero-inner {
        grid-template-columns: minmax(0, .9fr) minmax(430px, 1.1fr);
        gap: 32px;
      }
    }

    @media (max-width: 900px) {
      .hero-inner {
        grid-template-columns: 1fr;
      }

      .hero-collage {
        width: min(100%, 640px);
        min-height: 480px;
      }

      .conditions-heading .section-title {
        width: auto;
        height: auto;
        display: block;
      }

      .conditions-heading .section-title span,
      .conditions-heading .section-title em {
        display: inline;
        writing-mode: horizontal-tb;
        text-orientation: mixed;
        white-space: normal;
      }

      /* 移动与平板沿用桌面定稿背景，不再回退到早期临时纹理。 */
      .heritage {
        background:
          linear-gradient(rgba(255, 253, 247, .46), rgba(255, 253, 247, .52)),
          url("../images/home-v5/bg-light-solid.webp") center bottom / cover no-repeat;
      }

      .heritage::before { content: none; }

      .news {
        background:
          linear-gradient(rgba(255, 253, 247, .52), rgba(255, 253, 247, .58)),
          url("../images/home-v5/bg-light-solid.webp") center bottom / cover no-repeat;
      }

      /* 非遗荣誉在窄屏仍保持三个独立标签，而不是父容器公共矩形。 */
      .heritage-points.heritage-honors {
        border: 0;
        background: transparent;
      }

      .heritage-honor {
        position: relative;
        display: grid;
        place-items: center;
        border: 1px solid rgba(135, 42, 36, .34);
        border-radius: 999px;
        background: rgba(255, 251, 240, .86);
        box-shadow:
          inset 0 0 0 2px rgba(255, 251, 240, .92),
          inset 0 0 0 3px rgba(135, 42, 36, .1);
      }

      .heritage-honor strong {
        margin: 0;
        color: var(--red);
      }
    }

    @media (max-width: 760px) {
      .hero-collage {
        min-height: 350px;
        gap: 0;
        padding: 0;
        border-radius: 0;
      }

      .hero-collage-item,
      .hero-collage-main,
      .hero-collage-side,
      .hero-collage-detail {
        border-radius: 0;
      }

      .heritage-points {
        grid-template-columns: 1fr;
      }

      .doctor-tags {
        flex-wrap: wrap;
        min-height: 0;
      }
    }
    /* Design System 2.0 · 首页共用规范接入 */
    :where(a, button, input, select, textarea, [tabindex]):focus-visible {
      outline: 2px solid var(--gold);
      outline-offset: 3px;
    }

    body .doctor-photo,
    body .therapy-image,
    body .news-image {
      overflow: hidden;
      border-radius: 12px !important;
    }

    .doctor-photo > img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center;
    }

    .reveal {
      opacity: 1;
      transform: none;
      animation: none !important;
    }

    .motion-ready .reveal {
      opacity: 0;
      transform: translateY(18px);
      transition: opacity 600ms cubic-bezier(.22,.61,.36,1), transform 600ms cubic-bezier(.22,.61,.36,1);
      will-change: opacity, transform;
    }

    .motion-ready .reveal.is-visible {
      opacity: 1;
      transform: none;
      will-change: auto;
    }

    .motion-ready .reveal.delay-1 { transition-delay: 80ms; }
    .motion-ready .reveal.delay-2,
    .motion-ready .reveal.delay-3 { transition-delay: 160ms; }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        transition-delay: 0ms !important;
      }
      .reveal,
      .motion-ready .reveal { opacity: 1 !important; transform: none !important; }
    }

    /* 首页定点精修 · 2026-08-12 */
    .hero {
      background:
        linear-gradient(rgba(250, 247, 239, .74), rgba(250, 247, 239, .72)),
        url("../images/home-v6/bg-hero-beige-mountain.webp") center / cover no-repeat !important;
    }

    .doctors {
      background:
        linear-gradient(rgba(91, 22, 20, .54), rgba(91, 22, 20, .62)),
        url("../images/home-v6/bg-doctors-red-cloud.webp") center / cover no-repeat !important;
    }

    .therapies {
      background:
        linear-gradient(rgba(249, 247, 241, .56), rgba(249, 247, 241, .62)),
        url("../images/home-v6/bg-therapies-beige-crane.webp") center bottom / cover no-repeat !important;
    }

    .conditions {
      background:
        linear-gradient(90deg, rgba(247, 242, 232, .92) 0 25%, rgba(247, 242, 232, .79) 48%, rgba(247, 242, 232, .72) 100%),
        url("../images/home-v6/bg-conditions.webp") center / cover no-repeat !important;
    }

    .news-image {
      background: url("../images/home-v6/news-feature-cover.webp") center / cover no-repeat !important;
    }

    .news-feature:hover h3,
    .news-feature:focus-visible h3,
    .news-feature .news-feature-copy:hover h3 {
      color: #fff8eb !important;
    }

    .homepage-ad {
      min-height: 220px;
      color: transparent;
      background: #241d19 !important;
    }

    .homepage-ad span { display: none; }

    /* 内容图存在时只保留稳定占位色，避免 CSS 旧图与真实图片重复下载、先后闪现。 */
    .heritage-main { background: #817b6b !important; }
    .news-image.has-image { background: #665f52 !important; }

    @media (max-width: 760px) {
      .homepage-ad { min-height: 150px; }
    }

    @media (max-width: 920px) {
      .main-nav {
        inset: 110px 0 0;
        width: 100%;
        height: calc(100vh - 110px);
      }

      .menu-open .main-nav { height: calc(100vh - 110px); }
    }

    @media (max-width: 620px) {
      .main-nav,
      .menu-open .main-nav {
        inset: 74px 0 0;
        height: calc(100vh - 74px);
      }
    }

    /* 首页移动端定稿适配 · 2026-08-18 */
    @media (max-width: 620px) {
      .image-banner { min-height: 0; height: 260px; }
      .image-banner-media { height: 100%; object-fit: cover; object-position: 52% center; }

      .hero-inner { padding-block: 50px 58px; }
      .hero-copy h2 { font-size: 32px; line-height: 1.42; }
      .hero-lead { font-size: 15px; line-height: 1.9; }
      .hero-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
      .hero-actions .btn { width: 100%; min-width: 0; padding-inline: 12px; }
      .hero-collage { min-height: 292px; margin-top: 8px; gap: 6px; }

      .section { padding-block: 64px; }
      .section-head { margin-bottom: 30px; }
      .section-title,
      .conditions-heading .section-title { font-size: 30px; line-height: 1.42; }

      .heritage-grid { gap: 40px; }
      .heritage-visual { min-height: 0; }
      .heritage-main { position: relative; width: 100%; height: auto; aspect-ratio: 4 / 3; }
      .heritage-watermark { left: 24px; bottom: 24px; }
      .heritage-watermark strong { font-size: 18px; }
      .heritage-points.heritage-honors { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
      .heritage-honor { min-height: 58px; padding: 10px 5px; text-align: center; }
      .heritage-honor strong { font-size: 12px; letter-spacing: .02em; white-space: normal; }

      .doctors { padding-block: 62px; }
      .doctor-card { min-width: 100%; height: auto; }
      .doctor-photo { aspect-ratio: 4 / 3; }
      .doctor-info { padding: 22px 18px 18px; }
      .doctor-info p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 5; }
      .doctor-controls { margin-top: 18px; }

      .therapy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
      .therapy-item { aspect-ratio: 4 / 3; }
      .therapy-body { padding: 16px 14px; }
      .therapy-item h3 { font-size: 16px; line-height: 1.4; }
      .therapy-item p { display: none; }
      .therapy-item:hover,
      .therapy-item:focus-visible { transform: none; }

      /* 相邻两屏共享移动端节奏，合并后的区块留白由 128px 收敛为 80px。 */
      .therapies { padding-bottom: 40px; }
      .conditions { padding-top: 40px; }

      /* 标题、内容、入口按移动阅读顺序排列；桌面 DOM 与排版保持不变。 */
      .conditions-layout { gap: 30px; }
      .conditions-heading { display: contents; }
      .conditions-heading .section-title {
        grid-row: 1;
        padding-top: 20px;
      }
      .condition-grid { grid-row: 2; }
      .conditions-more {
        grid-row: 3;
        width: auto;
        min-width: 140px;
        min-height: 44px;
        justify-self: start;
        margin-top: 0;
        padding: 0 22px;
      }
      .condition-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
      .condition { min-height: 176px; padding: 22px 14px 18px; }
      .condition h3 { font-size: 16px; line-height: 1.45; }
      .condition p { font-size: 12px; line-height: 1.7; }

      .news-layout { gap: 34px; }
      .news > .container {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
      }
      .news .section-head { display: contents; }
      .news .section-head > div { grid-row: 1; margin-bottom: 30px; }
      .news .news-layout { grid-row: 2; }
      .news .section-head > .btn {
        grid-row: 3;
        width: auto;
        min-width: 150px;
        min-height: 44px;
        justify-self: start;
        margin-top: 30px;
        padding: 0 22px;
      }
      .news-feature { grid-template-columns: 1fr; }
      .news-image { min-height: 250px; }
      .news-feature-copy { padding: 28px 24px 30px; }
      .news-feature h3 { font-size: 26px; }
      .news-row { grid-template-columns: 48px minmax(0, 1fr); gap: 12px; padding: 22px 0; }
      .news-row h4 { font-size: 16px; line-height: 1.55; }
      .news-row p { font-size: 12px; line-height: 1.7; }
    }

    /* 组件圆角收口：外轮廓圆角，内部拼接边保持直角。 */
    .hero-collage {
      overflow: hidden;
      border-radius: 20px;
      -webkit-mask-image: none;
      mask-image: none;
    }

    /* 首页两处主视觉沿用品牌页主场景大图的圆角。 */
    .heritage-main,
    .heritage-main > img {
      border-radius: 20px;
    }

    .hero-collage-item,
    .hero-collage-main,
    .hero-collage-side,
    .hero-collage-detail,
    .hero-collage-item img {
      border-radius: 0;
    }

    .news-feature {
      overflow: hidden;
    }

    body .news-feature .news-image {
      border-radius: 0 !important;
    }

    /* 医师卡由卡片外轮廓统一裁切：图片铺满，底部接缝保持直角。 */
    body .doctor-card .doctor-photo {
      overflow: hidden;
      border-radius: 0 !important;
    }

    body .doctor-card .doctor-photo > img {
      object-fit: cover;
    }

    @media (max-width: 620px) {
      /* 手机端区块远高于横向原图：完整宽度展示一次实景底图，余下区域延续同色纸面，
         不再用 cover 放大裁切，也不叠加历史竖条纹。 */
      .conditions {
        background:
          linear-gradient(rgba(247, 242, 232, .78), rgba(247, 242, 232, .88)) center / cover no-repeat,
          url("../images/home-v6/bg-conditions.webp") center top / 100% auto no-repeat,
          #f7f2e8 !important;
      }

      .conditions::before { content: none; display: none; }

      .hero-collage,
      .heritage-main,
      .heritage-main > img {
        border-radius: 12px;
      }
    }
  
