@font-face {
  font-family: "Noto Serif SC";
  src: url("../fonts/noto-serif-sc.woff") format("woff");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans SC";
  src: url("../fonts/noto-sans-sc.woff") format("woff");
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
}

:root {
  --navy: #1b2340;
  --navy-2: #253153;
  --navy-3: #334067;
  --cream: #f7f3ec;
  --cream-2: #eee6da;
  --paper: #fffdf9;
  --gold: #d4b886;
  --gold-deep: #80602b;
  --purple: #6b579f;
  --ink: #1d2945;
  --muted: #61697a;
  --line: rgba(27, 35, 64, 0.13);
  --shadow: 0 22px 68px rgba(27, 35, 64, 0.12);
  --shell: min(1180px, calc(100vw - 48px));
  --radius: 28px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body.portal-page {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background: var(--cream);
  font-family: "Noto Sans SC", system-ui, sans-serif;
  line-height: 1.72;
  text-rendering: optimizeLegibility;
}

body.menu-open {
  overflow: hidden;
}

img {
  display: block;
  max-width: 100%;
}

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

button,
input,
textarea,
select {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

:focus-visible {
  outline: 3px solid var(--purple);
  outline-offset: 4px;
}

.shell {
  width: var(--shell);
  margin-inline: auto;
}

.skip-link {
  position: fixed;
  z-index: 9999;
  top: 12px;
  left: 12px;
  padding: 10px 16px;
  border-radius: 999px;
  color: var(--navy);
  background: var(--cream);
  transform: translateY(-160%);
}

.skip-link:focus {
  transform: translateY(0);
}

.nojs-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  padding-block: 16px;
  font-weight: 700;
}

.nojs-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--navy);
}

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

.portal-header {
  position: sticky;
  z-index: 100;
  top: 0;
  color: var(--cream);
  background: rgba(27, 35, 64, 0.96);
  border-bottom: 1px solid rgba(247, 243, 236, 0.1);
  backdrop-filter: blur(18px);
}

.portal-header__inner {
  width: min(1320px, calc(100vw - 40px));
  min-height: 78px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 26px;
}

.portal-brand {
  flex: 0 0 auto;
  width: 122px;
}

.portal-brand img {
  width: 100%;
  height: auto;
}

.portal-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-left: auto;
}

.portal-nav a {
  position: relative;
  padding: 10px 10px;
  border-radius: 999px;
  color: rgba(247, 243, 236, 0.78);
  font-size: 14px;
  white-space: nowrap;
  transition: color 180ms ease, background 180ms ease;
}

.portal-nav a:hover,
.portal-nav a:focus-visible,
.portal-nav a[aria-current="page"] {
  color: var(--cream);
  background: rgba(247, 243, 236, 0.1);
}

.portal-header__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: 8px;
}

.portal-header__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid rgba(247, 243, 236, 0.25);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 650;
}

.portal-header__actions .is-primary {
  color: var(--navy);
  background: var(--gold);
  border-color: var(--gold);
}

.portal-menu {
  display: none;
  width: 46px;
  height: 46px;
  margin-left: auto;
  border: 1px solid rgba(247, 243, 236, 0.24);
  border-radius: 50%;
  color: var(--cream);
  background: transparent;
}

.portal-menu i,
.portal-menu i::after {
  display: block;
  width: 18px;
  height: 1px;
  margin: auto;
  background: currentColor;
  content: "";
  transition: transform 180ms ease;
}

.portal-menu i::after {
  transform: translateY(6px);
}

.portal-header.menu-active .portal-menu i {
  transform: rotate(45deg) translateY(1px);
}

.portal-header.menu-active .portal-menu i::after {
  transform: rotate(-90deg);
}

.portal-main {
  overflow: clip;
}

.eyebrow {
  margin: 0 0 14px;
  color: var(--gold-deep);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.19em;
  text-transform: uppercase;
}

.eyebrow--light {
  color: var(--gold);
}

.portal-hero {
  position: relative;
  min-height: 760px;
  color: var(--cream);
  background: var(--navy);
  isolation: isolate;
}

.portal-hero__media,
.portal-hero__wash {
  position: absolute;
  inset: 0;
}

.portal-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.portal-hero__wash {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(27, 35, 64, 0.98) 0%, rgba(27, 35, 64, 0.9) 36%, rgba(27, 35, 64, 0.18) 72%),
    linear-gradient(180deg, rgba(27, 35, 64, 0.08), rgba(27, 35, 64, 0.62));
}

.portal-hero__content {
  position: relative;
  z-index: 2;
  min-height: 760px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 120px 0 104px;
}

.portal-hero h1,
.page-hero h1,
.section-heading h2,
.feature-copy h2,
.brand-teaser h2 {
  margin: 0;
  font-family: "Noto Serif SC", serif;
  font-weight: 650;
  line-height: 1.15;
  letter-spacing: -0.035em;
}

.portal-hero h1 {
  max-width: 760px;
  font-size: clamp(48px, 6vw, 82px);
}

.portal-hero__lead {
  max-width: 670px;
  margin: 26px 0 0;
  color: rgba(247, 243, 236, 0.82);
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.8;
}

.hero-actions,
.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.button {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 22px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  background: var(--paper);
  font-weight: 700;
  cursor: pointer;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.button:hover,
.button:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(27, 35, 64, 0.14);
}

.button--gold {
  color: var(--navy);
  background: var(--gold);
  border-color: var(--gold);
}

.button--navy {
  color: var(--cream);
  background: var(--navy);
  border-color: var(--navy);
}

.button--ghost {
  color: var(--cream);
  background: rgba(247, 243, 236, 0.06);
  border-color: rgba(247, 243, 236, 0.35);
}

.button--text {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--gold-deep);
  background: transparent;
}

.button--text:hover,
.button--text:focus-visible {
  transform: none;
  box-shadow: none;
}

.task-dock {
  position: relative;
  z-index: 5;
  width: var(--shell);
  margin: -58px auto 0;
  padding: 18px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
  border: 1px solid rgba(212, 184, 134, 0.3);
  border-radius: 30px;
  background: rgba(255, 253, 249, 0.97);
  box-shadow: var(--shadow);
}

.task-dock a,
.task-dock button {
  min-width: 0;
  padding: 18px 12px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  border: 0;
  border-radius: 18px;
  color: var(--ink);
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: background 180ms ease, transform 180ms ease;
}

.task-dock a:hover,
.task-dock a:focus-visible,
.task-dock button:hover,
.task-dock button:focus-visible {
  background: var(--cream-2);
  transform: translateY(-2px);
}

.task-dock span {
  color: var(--purple);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.task-dock strong {
  font-size: 17px;
}

.task-dock small {
  color: var(--muted);
  line-height: 1.5;
}

.portal-section {
  padding: 116px 0;
}

.portal-section--white {
  background: var(--paper);
}

.portal-section--navy {
  color: var(--cream);
  background: var(--navy);
}

.portal-section--soft {
  background: var(--cream-2);
}

.section-heading {
  max-width: 840px;
  margin-bottom: 52px;
}

.section-heading--center {
  margin-inline: auto;
  text-align: center;
}

.section-heading h2,
.feature-copy h2,
.brand-teaser h2 {
  font-size: clamp(36px, 4.5vw, 58px);
}

.section-heading > p:last-child,
.feature-copy > p,
.brand-teaser > p {
  max-width: 720px;
  margin: 20px 0 0;
  color: var(--muted);
  font-size: 18px;
}

.portal-section--navy .section-heading > p:last-child,
.portal-section--navy .feature-copy > p {
  color: rgba(247, 243, 236, 0.72);
}

.path-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.path-card {
  min-height: 350px;
  padding: 34px;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  box-shadow: 0 14px 48px rgba(27, 35, 64, 0.07);
}

.path-card:nth-child(2) {
  color: var(--cream);
  background: var(--navy-2);
  border-color: rgba(247, 243, 236, 0.1);
}

.path-card__index {
  color: var(--purple);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.13em;
}

.path-card:nth-child(2) .path-card__index {
  color: var(--gold);
}

.path-card h3 {
  margin: auto 0 14px;
  font-family: "Noto Serif SC", serif;
  font-size: 31px;
  line-height: 1.28;
}

.path-card p {
  margin: 0 0 24px;
  color: var(--muted);
}

.path-card:nth-child(2) p {
  color: rgba(247, 243, 236, 0.72);
}

.path-card a {
  align-self: flex-start;
  color: var(--gold-deep);
  font-weight: 750;
}

.path-card:nth-child(2) a {
  color: var(--gold);
}

.feature-split {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 54px;
  align-items: center;
}

.feature-split--reverse {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}

.feature-media {
  position: relative;
  overflow: hidden;
  border-radius: 32px;
  background: var(--navy-2);
  box-shadow: var(--shadow);
}

.feature-media img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.feature-media__badge {
  position: absolute;
  right: 18px;
  bottom: 18px;
  max-width: 290px;
  padding: 15px 18px;
  border: 1px solid rgba(247, 243, 236, 0.26);
  border-radius: 18px;
  color: var(--cream);
  background: rgba(27, 35, 64, 0.86);
  backdrop-filter: blur(12px);
}

.feature-media__badge strong,
.feature-media__badge span {
  display: block;
}

.feature-media__badge span {
  color: rgba(247, 243, 236, 0.7);
  font-size: 13px;
}

.feature-list {
  margin: 30px 0 0;
  padding: 0;
  display: grid;
  gap: 12px;
  list-style: none;
}

.feature-list li {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 14px;
  align-items: start;
}

.feature-list span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--navy);
  background: var(--gold);
  font-size: 12px;
  font-weight: 850;
}

.feature-list p {
  margin: 2px 0 0;
  color: var(--muted);
}

.portal-section--navy .feature-list p {
  color: rgba(247, 243, 236, 0.72);
}

.ledger-grid,
.service-grid,
.account-grid,
.category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.ledger-card,
.service-card,
.account-card,
.category-card {
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--paper);
}

.ledger-card {
  min-height: 310px;
}

.ledger-card span,
.service-card > span,
.account-card > span,
.category-card > span {
  color: var(--purple);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.1em;
}

.ledger-card h3,
.service-card h3,
.account-card h3,
.category-card h3 {
  margin: 28px 0 12px;
  font-family: "Noto Serif SC", serif;
  font-size: 26px;
  line-height: 1.35;
}

.ledger-card p,
.service-card p,
.account-card p,
.category-card p {
  margin: 0;
  color: var(--muted);
}

.ledger-card ul,
.service-card ul {
  margin: 20px 0 0;
  padding-left: 1.2em;
  color: var(--muted);
}

.life-line {
  margin-top: 54px;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
}

.life-line article {
  position: relative;
  min-height: 168px;
  padding: 22px 16px;
  border-top: 1px solid rgba(212, 184, 134, 0.55);
}

.life-line article::before {
  position: absolute;
  top: -5px;
  left: 0;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 0 7px rgba(212, 184, 134, 0.11);
  content: "";
}

.life-line span {
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
}

.life-line h3 {
  margin: 18px 0 8px;
  font-size: 17px;
}

.life-line p {
  margin: 0;
  color: rgba(247, 243, 236, 0.66);
  font-size: 14px;
}

.account-preview {
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 32px;
  background: var(--paper);
  box-shadow: var(--shadow);
}

.account-preview__top {
  padding: 18px 18px 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  border-bottom: 1px solid var(--line);
}

.pet-identity {
  display: flex;
  align-items: center;
  gap: 16px;
}

.pet-identity__avatar {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--cream);
  background: var(--navy);
  font-family: "Noto Serif SC", serif;
  font-size: 23px;
}

.pet-identity strong,
.pet-identity span {
  display: block;
}
/* 2026-08-16 BP 真机复验报「蓝色圆里的字漂出去」：上面这条 .pet-identity span{display:block}
   与 .pet-identity__avatar{display:grid} 特异性相同且写在后面，把头像的 grid 覆盖成了 block，
   place-items 失效，「宠」字掉到圆外左上角。用双类提升特异性把 grid 拿回来。 */
.pet-identity .pet-identity__avatar {
  display: grid;
}

.pet-identity span {
  color: var(--muted);
  font-size: 13px;
}

.account-preview__body {
  padding-top: 22px;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 16px;
}

.account-preview__body article {
  min-height: 164px;
  padding: 24px;
  border-radius: 20px;
  background: var(--cream);
}

.account-preview__body article:first-child {
  grid-row: span 2;
  color: var(--cream);
  background: var(--navy-2);
}

.account-preview h3 {
  margin: 0 0 10px;
  font-size: 19px;
}

.account-preview p {
  margin: 0;
  color: var(--muted);
}

.account-preview__body article:first-child p {
  color: rgba(247, 243, 236, 0.68);
}

.progress {
  height: 8px;
  margin: 25px 0 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(247, 243, 236, 0.14);
}

.progress i {
  display: block;
  width: 58%;
  height: 100%;
  border-radius: inherit;
  background: var(--gold);
}

.brand-teaser {
  min-height: 520px;
  padding: 70px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  border-radius: 36px;
  color: var(--cream);
  background:
    linear-gradient(90deg, rgba(27, 35, 64, 0.94), rgba(27, 35, 64, 0.35)),
    url("../img/hero-culture.webp") center / cover no-repeat;
  box-shadow: var(--shadow);
}

.brand-teaser > p {
  color: rgba(247, 243, 236, 0.78);
}

.visit-banner {
  padding: 42px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 30px;
  align-items: center;
  border-radius: 30px;
  color: var(--cream);
  background: var(--navy);
}

.visit-banner h2 {
  margin: 0 0 8px;
  font-family: "Noto Serif SC", serif;
  font-size: 34px;
}

.visit-banner p {
  margin: 0;
  color: rgba(247, 243, 236, 0.7);
}

.page-hero {
  position: relative;
  padding: 118px 0 82px;
  color: var(--cream);
  background:
    radial-gradient(circle at 78% 24%, rgba(142, 124, 195, 0.24), transparent 34%),
    radial-gradient(circle at 85% 78%, rgba(212, 184, 134, 0.16), transparent 29%),
    var(--navy);
  overflow: hidden;
}

.page-hero::after {
  position: absolute;
  right: -6vw;
  bottom: -22vw;
  width: 48vw;
  aspect-ratio: 1;
  border: 1px solid rgba(212, 184, 134, 0.2);
  border-radius: 50%;
  content: "";
}

.page-hero__content {
  position: relative;
  z-index: 1;
  max-width: 850px;
}

.page-hero h1 {
  font-size: clamp(44px, 6vw, 74px);
}

.page-hero p:last-child {
  max-width: 720px;
  margin: 24px 0 0;
  color: rgba(247, 243, 236, 0.76);
  font-size: 19px;
}

.page-tools {
  padding: 28px 0;
  background: var(--paper);
  border-bottom: 1px solid var(--line);
}

.page-tools__inner {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.page-tools button,
.page-tools a {
  padding: 10px 16px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  background: var(--paper);
  cursor: pointer;
}

.page-tools button[aria-pressed="true"],
.page-tools a[aria-current="true"] {
  color: var(--cream);
  background: var(--navy);
  border-color: var(--navy);
}

.breed-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.breed-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--paper);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.breed-card::before {
  content: "品种示意";
  position: absolute;
  z-index: 2;
  top: 12px;
  left: 12px;
  padding: 5px 9px;
  border: 1px solid rgba(247, 243, 236, 0.55);
  border-radius: 999px;
  color: var(--cream);
  background: rgba(27, 35, 64, 0.82);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  backdrop-filter: blur(8px);
}

.breed-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(27, 35, 64, 0.1);
}

.breed-card[hidden] {
  display: none;
}

.breed-card img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  background: var(--cream-2);
}

.breed-card div {
  padding: 18px;
}

.breed-card h3 {
  margin: 0;
  font-size: 17px;
}

.breed-card p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
}
/* 2026-08-17：卡片第二行＝从 breeds.v2.json 的 14 维画像自动导出的关键事实
   （精力/独处/护理/新手），让列表页就能筛掉明显不合适的，不用点进去才知道。 */
.breed-card__facts{margin:6px 0 0;font-size:12px;color:var(--navy);opacity:.72}

.fit-carry-notice {
  margin-bottom: 22px;
  padding: 18px 20px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px 18px;
  border: 1px solid rgba(212, 184, 134, 0.7);
  border-radius: 18px;
  color: var(--navy);
  background: #fff9ee;
}

.fit-carry-notice span {
  color: var(--muted);
  font-size: 14px;
}

.fit-carry-notice a {
  color: var(--purple-ink);
  font-weight: 800;
}

.inline-cta {
  margin-top: 48px;
  padding: 34px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  border-radius: 26px;
  color: var(--cream);
  background: var(--navy-2);
}

.inline-cta h3,
.inline-cta p {
  margin: 0;
}

.inline-cta p {
  margin-top: 6px;
  color: rgba(247, 243, 236, 0.68);
}

.fit-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 34px;
  align-items: start;
}

.fit-form,
.fit-result {
  padding: 34px;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: var(--paper);
}

.fit-question {
  margin: 0;
  padding: 25px 0;
  border: 0;
  border-bottom: 1px solid var(--line);
}

.fit-question:first-child {
  padding-top: 0;
}

.fit-question legend {
  margin-bottom: 14px;
  font-weight: 760;
}

.choice-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.choice-row label {
  cursor: pointer;
}

.choice-row input {
  position: absolute;
  opacity: 0;
}

.choice-row span {
  display: block;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  background: var(--cream);
}

.choice-row input:checked + span {
  color: var(--cream);
  background: var(--navy);
  border-color: var(--navy);
}

.fit-result {
  position: sticky;
  top: 108px;
  min-height: 460px;
  color: var(--cream);
  background: var(--navy);
}

.fit-result h2 {
  margin: 0 0 12px;
  font-family: "Noto Serif SC", serif;
  font-size: 33px;
}

.fit-result p {
  color: rgba(247, 243, 236, 0.7);
}

.fit-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 22px 0;
}

.fit-tags span {
  padding: 7px 11px;
  border: 1px solid rgba(247, 243, 236, 0.2);
  border-radius: 999px;
  color: var(--gold);
  font-size: 13px;
}

.fit-picks {
  display: grid;
  gap: 9px;
}

.fit-picks div {
  padding: 13px 15px;
  border-radius: 14px;
  background: rgba(247, 243, 236, 0.08);
}

.service-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.service-flow article {
  min-height: 220px;
  padding: 25px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--paper);
}

.service-flow span {
  color: var(--purple);
  font-weight: 850;
}

.service-flow h3 {
  margin: 44px 0 8px;
}

.service-flow p {
  margin: 0;
  color: var(--muted);
}

.service-router {
  padding: 34px;
  border-radius: 30px;
  color: var(--cream);
  background: var(--navy);
}

.service-router__choices {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 26px;
}

.service-router__choices button {
  min-height: 88px;
  padding: 16px;
  border: 1px solid rgba(247, 243, 236, 0.16);
  border-radius: 18px;
  color: var(--cream);
  background: rgba(247, 243, 236, 0.06);
  text-align: left;
  cursor: pointer;
}

.service-router__choices button:hover,
.service-router__choices button:focus-visible,
.service-router__choices button[aria-pressed="true"] {
  color: var(--navy);
  background: var(--gold);
}

.service-router__result {
  margin-top: 20px;
  padding: 24px;
  scroll-margin-block-start: 96px;
  border-radius: 18px;
  color: var(--ink);
  background: var(--cream);
}

.service-router__result h3,
.service-router__result p {
  margin-top: 0;
}

.category-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.category-card {
  min-height: 210px;
  display: flex;
  flex-direction: column;
}

.category-card h3 {
  margin-top: auto;
}

.plan-strip {
  padding: 46px;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 50px;
  align-items: center;
  border-radius: 32px;
  color: var(--cream);
  background: var(--navy);
}

.plan-strip h2 {
  margin: 0;
  font-family: "Noto Serif SC", serif;
  font-size: 38px;
}

.plan-strip p {
  color: rgba(247, 243, 236, 0.72);
}

.plan-points {
  display: grid;
  gap: 12px;
}

.plan-points div {
  padding: 14px 16px;
  display: flex;
  gap: 14px;
  border: 1px solid rgba(247, 243, 236, 0.14);
  border-radius: 16px;
}

.plan-points span {
  color: var(--gold);
  font-weight: 850;
}

.commerce-handoff {
  padding: clamp(34px, 5vw, 68px);
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(300px, 5fr);
  gap: clamp(34px, 5vw, 70px);
  align-items: stretch;
  border: 1px solid rgba(212, 184, 134, 0.28);
  border-radius: 36px;
  color: var(--cream);
  background:
    radial-gradient(circle at 92% 12%, rgba(142, 124, 195, 0.25), transparent 28%),
    radial-gradient(circle at 10% 90%, rgba(212, 184, 134, 0.13), transparent 26%),
    var(--navy);
  box-shadow: 0 30px 80px rgba(27, 35, 64, 0.16);
}

#commerce-access,
#food-plan {
  scroll-margin-top: 96px;
}

.commerce-handoff [hidden] {
  display: none !important;
}

.commerce-handoff__copy h2 {
  max-width: 720px;
  margin: 0;
  font-family: "Noto Serif SC", serif;
  font-size: clamp(38px, 4.8vw, 60px);
  line-height: 1.18;
}

.commerce-handoff__copy > p:not(.eyebrow, .commerce-handoff__status, .commerce-handoff__boundary) {
  max-width: 700px;
  margin: 22px 0 0;
  color: rgba(247, 243, 236, 0.76);
  font-size: 18px;
}

.commerce-handoff__facts {
  margin-top: 32px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.commerce-handoff__facts div {
  min-height: 148px;
  padding: 19px;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(247, 243, 236, 0.14);
  border-radius: 18px;
  background: rgba(247, 243, 236, 0.055);
}

.commerce-handoff__facts span {
  color: var(--gold);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.12em;
}

.commerce-handoff__facts strong {
  margin-top: auto;
  font-size: 16px;
}

.commerce-handoff__facts small {
  margin-top: 6px;
  color: rgba(247, 243, 236, 0.62);
  line-height: 1.55;
}

.commerce-handoff__status {
  margin: 24px 0 0;
  padding: 14px 17px;
  border-left: 3px solid var(--gold);
  color: rgba(247, 243, 236, 0.84);
  background: rgba(247, 243, 236, 0.06);
  line-height: 1.7;
}

.commerce-handoff__actions {
  margin-top: 24px;
}

.commerce-handoff__boundary {
  max-width: 720px;
  margin: 20px 0 0;
  color: rgba(247, 243, 236, 0.55);
  font-size: 13px;
  line-height: 1.7;
}

.commerce-handoff__device {
  min-height: 520px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(247, 243, 236, 0.52);
  border-radius: 30px;
  color: var(--navy);
  background: var(--cream);
  box-shadow: 0 22px 50px rgba(3, 8, 27, 0.22);
}

.commerce-handoff__device-top {
  padding-bottom: 17px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--line);
}

.commerce-handoff__device-top span {
  font-family: "Noto Serif SC", serif;
  font-size: 24px;
  font-weight: 800;
}

.commerce-handoff__device-top small {
  color: var(--muted);
  font-weight: 700;
}

.commerce-handoff__assisted,
.commerce-handoff__qr {
  flex: 1;
  min-height: 320px;
  padding: 34px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.commerce-handoff__mark {
  width: 92px;
  height: 92px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(212, 184, 134, 0.64);
  border-radius: 50%;
  color: var(--gold-deep);
  background: var(--paper);
  font-family: "Noto Serif SC", serif;
  font-size: 34px;
  font-weight: 800;
}

.commerce-handoff__assisted strong,
.commerce-handoff__assisted p {
  max-width: 250px;
  margin: 10px 0 0;
  color: var(--muted);
}

.commerce-handoff__assisted a {
  margin-top: 22px;
  color: var(--purple-ink);
  font-size: 20px;
  font-weight: 850;
}

.commerce-handoff__qr img {
  width: min(220px, 72%);
  height: auto;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  object-fit: contain;
}

.commerce-handoff__qr span {
  margin-top: 6px;
  color: var(--muted);
  font-size: 13px;
}

.commerce-handoff__qr .commerce-handoff__qr-tip {
  max-width: 260px;
  margin-top: 10px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
}

.commerce-handoff__roles {
  display: grid;
  gap: 7px;
}

.commerce-handoff__roles span {
  padding: 9px 12px;
  border-radius: 10px;
  color: var(--muted);
  background: var(--cream-2);
  font-size: 13px;
  font-weight: 720;
}

.section-boundary {
  margin: 24px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.75;
}

.button--outline {
  color: var(--navy);
  background: transparent;
  border-color: rgba(27, 35, 64, 0.26);
}

.channel-map {
  display: grid;
  gap: 12px;
}

.channel-map article {
  min-height: 150px;
  padding: 25px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--paper);
}

.channel-map article:nth-child(2) {
  color: var(--cream);
  background: var(--navy);
  border-color: var(--navy);
}

.channel-map span {
  color: var(--purple-ink);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.1em;
}

.channel-map article:nth-child(2) span {
  color: var(--gold);
}

.channel-map h3 {
  margin: 13px 0 6px;
  font-family: "Noto Serif SC", serif;
  font-size: 25px;
}

.channel-map p {
  margin: 0;
  color: var(--muted);
}

.channel-map article:nth-child(2) p {
  color: rgba(247, 243, 236, 0.68);
}

@media (min-width: 981px) {
  .commerce-handoff.has-qr .commerce-handoff__open {
    display: none !important;
  }
}

.learn-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.learn-card {
  min-height: 240px;
  padding: 26px;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--paper);
}

.learn-card span {
  color: var(--purple);
  font-size: 12px;
  font-weight: 850;
}

.learn-card h3 {
  margin: auto 0 8px;
  font-family: "Noto Serif SC", serif;
  font-size: 24px;
}

.learn-card p {
  margin: 0;
  color: var(--muted);
}

.faq-list {
  display: grid;
  gap: 10px;
}

.faq-list details {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--paper);
}

.faq-list summary {
  padding: 20px 52px 20px 22px;
  position: relative;
  cursor: pointer;
  font-weight: 760;
  list-style: none;
}

.faq-list summary::-webkit-details-marker {
  display: none;
}

.faq-list summary::after {
  position: absolute;
  top: 50%;
  right: 22px;
  color: var(--gold-deep);
  content: "+";
  transform: translateY(-50%);
}

.faq-list details[open] summary::after {
  content: "−";
}

.faq-list details div {
  padding: 0 22px 22px;
  color: var(--muted);
}

.faq-list details p {
  margin: 0;
}

.account-login {
  max-width: 820px;
  margin: auto;
  padding: 48px;
  border: 1px solid var(--line);
  border-radius: 34px;
  text-align: center;
  background: var(--paper);
  box-shadow: var(--shadow);
}

.account-login h2 {
  margin: 0;
  font-family: "Noto Serif SC", serif;
  font-size: 40px;
}

.account-login p {
  max-width: 620px;
  margin: 15px auto 28px;
  color: var(--muted);
}

.portal-footer {
  padding: 64px 0 96px;
  color: var(--cream);
  background: #121a31;
}

.portal-footer__grid {
  display: grid;
  grid-template-columns: 1.2fr 2fr;
  gap: 80px;
}

.portal-footer__brand img {
  width: 160px;
  height: auto;
}

.portal-footer__brand p {
  max-width: 330px;
  color: rgba(247, 243, 236, 0.62);
}

.portal-footer__links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.portal-footer__links h3 {
  margin: 0 0 12px;
  color: var(--gold);
  font-size: 14px;
}

.portal-footer__links a,
.portal-footer__links span {
  display: block;
  margin: 7px 0;
  color: rgba(247, 243, 236, 0.7);
  font-size: 14px;
}

.portal-footer__bottom {
  margin-top: 42px;
  padding-top: 22px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid rgba(247, 243, 236, 0.12);
  color: rgba(247, 243, 236, 0.48);
  font-size: 12px;
}

.mobile-dock {
  display: none;
}

.reveal {
  opacity: 1;
}

.enhanced .reveal {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 400ms ease, transform 400ms ease;
}

.enhanced .reveal.is-visible {
  opacity: 1;
  transform: none;
}

/* Visit guide: preserve the mature interaction while applying the current brand shell. */
.visit-page .visit-wrap {
  width: var(--shell);
  max-width: none;
  margin-inline: auto;
  padding: 72px 0 110px;
}

.visit-page .v-hero,
.visit-page .v-keys,
.visit-page .v-share,
.visit-page .v-body {
  border-color: var(--line);
  border-radius: 26px;
}

.visit-page .v-hero {
  padding: 42px;
  color: var(--cream);
  background: var(--navy);
}

.visit-page .v-hero h1 {
  font-family: "Noto Serif SC", serif;
  font-size: clamp(42px, 6vw, 70px);
}

.visit-page .v-dl .btn,
.visit-page .v-bar button,
.visit-page .v-lightbox button {
  border-radius: 999px;
}

.visit-page .v-section,
.visit-page .v-step {
  border-radius: 22px;
}

.visit-page .v-lightbox {
  z-index: 160;
}

@media (max-width: 1160px) {
  .portal-nav a {
    padding-inline: 7px;
    font-size: 13px;
  }

  .portal-header__actions a:first-child {
    display: none;
  }

  .task-dock {
    grid-template-columns: repeat(3, 1fr);
  }

  .breed-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  :root {
    --shell: min(100% - 36px, 860px);
  }

  .portal-header {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .portal-header__inner {
    width: calc(100vw - 28px);
  }

  .portal-menu {
    display: block;
  }

  .portal-nav,
  .portal-header__actions {
    position: fixed;
    z-index: 102;
    left: 0;
    right: 0;
    display: none;
    width: 100%;
  }

  .portal-nav {
    top: 0;
    bottom: 0;
    padding: 108px 24px 130px;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    overflow-y: auto;
    background: var(--navy);
  }

  .portal-nav.is-open {
    display: flex;
  }

  .portal-nav a {
    padding: 14px 8px;
    border-bottom: 1px solid rgba(247, 243, 236, 0.1);
    border-radius: 0;
    font-size: 20px;
  }

  .portal-header__actions {
    bottom: 24px;
    padding: 0 24px;
  }

  .portal-header.menu-active .portal-header__actions {
    z-index: 103;
    display: flex;
  }

  .portal-header__actions a,
  .portal-header__actions a:first-child {
    flex: 1;
    display: flex;
  }

  .portal-menu {
    position: relative;
    z-index: 104;
  }

  .portal-hero,
  .portal-hero__content {
    min-height: 710px;
  }

  .portal-hero__wash {
    background:
      linear-gradient(180deg, rgba(27, 35, 64, 0.22) 0%, rgba(27, 35, 64, 0.92) 64%, var(--navy) 100%);
  }

  .portal-hero__content {
    justify-content: flex-end;
    padding-bottom: 110px;
  }

  .portal-hero h1 {
    max-width: 760px;
  }

  .path-grid,
  .ledger-grid,
  .service-grid,
  .account-grid {
    grid-template-columns: 1fr 1fr;
  }

  .path-card:last-child,
  .ledger-card:last-child {
    grid-column: 1 / -1;
  }

  .feature-split,
  .feature-split--reverse,
  .fit-layout,
  .plan-strip,
  .commerce-handoff,
  .portal-footer__grid {
    grid-template-columns: 1fr;
  }

  .commerce-handoff__device {
    min-height: 430px;
  }

  .feature-split--reverse .feature-media {
    order: 2;
  }

  .feature-split--reverse .feature-copy {
    order: 1;
  }

  .life-line {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .account-preview__body {
    grid-template-columns: 1fr 1fr;
  }

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

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

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

  .service-flow,
  .service-router__choices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fit-result {
    position: static;
  }
}

@media (max-width: 680px) {
  :root {
    --shell: calc(100% - 28px);
    --radius: 24px;
  }

  body.portal-page {
    padding-bottom: calc(70px + env(safe-area-inset-bottom));
  }

  .portal-header__inner {
    min-height: 68px;
  }

  .portal-brand {
    width: 110px;
  }

  .portal-hero,
  .portal-hero__content {
    min-height: 660px;
  }

  .portal-hero__content {
    padding-bottom: 92px;
  }

  .portal-hero h1 {
    font-size: clamp(42px, 12.2vw, 58px);
  }

  .portal-hero__lead {
    font-size: 16px;
  }

  .hero-actions .button {
    flex: 1 1 145px;
    padding-inline: 14px;
  }

  .task-dock {
    margin-top: -42px;
    padding: 10px;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    border-radius: 24px;
  }

  .task-dock a,
  .task-dock button {
    padding: 15px 12px;
  }

  .task-dock strong {
    font-size: 15px;
  }

  .task-dock small {
    display: none;
  }

  .portal-section {
    padding: 82px 0;
  }

  .section-heading {
    margin-bottom: 36px;
  }

  .section-heading h2,
  .feature-copy h2,
  .brand-teaser h2 {
    font-size: clamp(34px, 10vw, 46px);
  }

  .section-heading > p:last-child,
  .feature-copy > p,
  .brand-teaser > p {
    font-size: 16px;
  }

  .path-grid,
  .ledger-grid,
  .service-grid,
  .account-grid,
  .category-grid,
  .service-flow,
  .service-router__choices,
  .learn-grid,
  .portal-footer__links {
    grid-template-columns: 1fr;
  }

  /* 2026-08-17 BP 真机复验：手机端 13 个页脚链接每个独占一行、无底无边、颜色同正文，
     拉成 1000px+ 的纯文字列，"容易理解成就是文字而不是新的选项卡"。
     改为横排药丸标签：有底、有边、可换行、紧凑；非链接的说明文字（地址/时间）保持素文。 */
  .portal-footer__links > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 8px;
  }
  .portal-footer__links h3 {
    flex-basis: 100%;
    margin: 0 0 2px;
  }
  .portal-footer__links a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid rgba(247, 243, 236, 0.22);
    border-radius: 999px;
    background: rgba(247, 243, 236, 0.08);
    color: rgba(247, 243, 236, 0.92);
    font-size: 14px;
    text-decoration: none;
  }
  .portal-footer__links a:active { background: rgba(247, 243, 236, 0.18); }
  .portal-footer__links span {
    flex-basis: 100%;
    margin: 2px 0;
    font-size: 13px;
    color: rgba(247, 243, 236, 0.6);
  }

  .path-card:last-child,
  .ledger-card:last-child {
    grid-column: auto;
  }

  .path-card {
    min-height: 270px;
    padding: 26px;
  }

  .feature-split {
    gap: 32px;
  }

  .feature-media,
  .brand-teaser,
  .account-preview,
  .plan-strip,
  .commerce-handoff,
  .commerce-handoff__device,
  .fit-form,
  .fit-result,
  .account-login {
    border-radius: 24px;
  }

  .commerce-handoff {
    padding: 26px;
    gap: 26px;
  }

  .commerce-handoff__copy {
    display: flex;
    flex-direction: column;
  }

  .commerce-handoff__status,
  .commerce-handoff__actions {
    order: 1;
  }

  .commerce-handoff__facts {
    order: 2;
  }

  .commerce-handoff__boundary {
    order: 3;
  }

  .commerce-handoff__copy h2 {
    font-size: clamp(34px, 9.5vw, 46px);
  }

  .commerce-handoff__facts {
    grid-template-columns: 1fr;
  }

  .commerce-handoff__facts div {
    min-height: 112px;
  }

  .commerce-handoff__actions .button {
    width: 100%;
  }

  .commerce-handoff__device {
    min-height: 390px;
    padding: 18px;
  }

  .life-line {
    grid-template-columns: 1fr 1fr;
  }

  .life-line article {
    min-height: 140px;
  }

  .account-preview__top,
  .inline-cta,
  .visit-banner,
  .portal-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .account-preview__body {
    grid-template-columns: 1fr;
  }

  .account-preview__body article:first-child {
    grid-row: auto;
  }

  .brand-teaser {
    min-height: 520px;
    padding: 34px 26px;
    background-position: 62% center;
  }

  .visit-banner {
    padding: 30px;
    display: flex;
  }

  .page-hero {
    padding: 92px 0 68px;
  }

  .page-hero h1 {
    font-size: clamp(42px, 12vw, 58px);
  }

  .breed-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .breed-card div {
    padding: 14px;
  }

  .fit-carry-notice {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .inline-cta {
    padding: 26px;
  }

  .fit-form,
  .fit-result,
  .service-router,
  .account-login,
  .plan-strip {
    padding: 26px;
  }

  .plan-strip {
    gap: 25px;
  }

  .portal-footer {
    padding-bottom: 34px;
  }

  .mobile-dock {
    position: fixed;
    z-index: 90;
    left: 10px;
    right: 10px;
    bottom: max(9px, env(safe-area-inset-bottom));
    min-height: 58px;
    padding: 6px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2px;
    border: 1px solid rgba(212, 184, 134, 0.26);
    border-radius: 20px;
    background: rgba(27, 35, 64, 0.96);
    box-shadow: 0 14px 40px rgba(27, 35, 64, 0.25);
    backdrop-filter: blur(16px);
  }

  .mobile-dock a,
  .mobile-dock button {
    padding: 5px 2px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    border: 0;
    color: rgba(247, 243, 236, 0.7);
    background: transparent;
    font-size: 11px;
  }

  .mobile-dock span {
    color: var(--gold);
    font-size: 14px;
  }

  .visit-page .visit-wrap {
    width: calc(100% - 20px);
    padding-top: 38px;
  }

  .visit-page .v-hero {
    padding: 26px 20px;
  }
}

@media (max-width: 900px) and (max-height: 600px) and (orientation: landscape) {
  .portal-hero,
  .portal-hero__content {
    min-height: 560px;
  }

  .portal-hero__media img {
    object-fit: contain;
  }

  .portal-hero__content {
    padding: 86px 0 38px;
    justify-content: center;
  }

  .portal-hero h1 {
    max-width: 620px;
    font-size: 42px;
  }

  .portal-hero__lead {
    max-width: 570px;
    margin-top: 14px;
    font-size: 14px;
  }

  .hero-actions {
    margin-top: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}

/* CHONGYU V4 SERVICE EXPERIENCE */
.portal-hero h1{max-width:860px;font-size:clamp(46px,4.8vw,68px);text-wrap:balance}.page-hero h1{max-width:900px;font-size:clamp(40px,4.6vw,60px);text-wrap:balance}.section-heading h2,.feature-copy h2,.brand-teaser h2{font-size:clamp(34px,3.6vw,52px);text-wrap:balance}.portal-hero__media img{object-fit:contain;object-position:center;background:var(--navy)}.feature-media img{height:auto;aspect-ratio:16/9;object-fit:contain;background:var(--navy)}.breed-card img{object-fit:contain}.breed-card__more{display:inline-flex;margin-top:12px;color:var(--gold-deep);font-size:13px;font-weight:800}.fit-depth-band{padding:30px 0;background:var(--navy-2);color:var(--cream)}.fit-depth-band .shell{display:flex;align-items:center;justify-content:space-between;gap:30px}.fit-depth-band h2{margin:4px 0 6px;font-family:"Noto Serif SC";font-size:clamp(25px,3vw,38px)}.fit-depth-band p{margin:0;color:rgba(247,243,236,.75)}
.page-hero--ai{background:radial-gradient(circle at 80% 30%,rgba(142,124,195,.26),transparent 34%),var(--navy)}.ai-service-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.ai-service-chips a{padding:10px 16px;border:1px solid rgba(247,243,236,.3);border-radius:999px;color:var(--cream);font-weight:800}.ai-workspace{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:42px;align-items:start}.ai-workspace__guide h2{font-family:"Noto Serif SC";font-size:38px}.ai-lane-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ai-lane-grid article{padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--paper)}.ai-lane-grid span{color:var(--purple);font-size:12px;font-weight:900}.ai-lane-grid h3{margin:10px 0 6px}.ai-lane-grid p{margin:0 0 10px;color:var(--muted);font-size:14px}.ai-lane-grid a{color:var(--gold-deep);font-weight:800}.ai-boundary{margin-top:18px;padding:20px;border-radius:20px;background:var(--navy);color:var(--cream)}.ai-boundary p{color:rgba(247,243,236,.74)}.ai-boundary a{color:var(--gold);font-weight:800}
.assistant-mode{display:flex;gap:8px;padding:10px 14px 0}.assistant-mode button{min-height:40px;padding:0 14px;border:1px solid rgba(27,35,64,.14);border-radius:999px;background:#fff;color:var(--ink);font-weight:800}.assistant-mode button[aria-pressed="true"]{background:var(--navy);color:var(--cream)}
.deep-fit-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:34px;align-items:start}.deep-fit-form,.deep-fit-report{padding:34px;border-radius:28px}.deep-fit-form{border:1px solid var(--line);background:var(--paper)}.deep-fit-report{position:sticky;top:100px;background:var(--navy);color:var(--cream)}.deep-fit-progress{display:flex;align-items:center;gap:16px;margin-bottom:30px;font-weight:800}.deep-fit-progress i{flex:1;height:8px;overflow:hidden;border-radius:99px;background:var(--cream-2)}.deep-fit-progress b{display:block;height:100%;background:var(--gold);transition:width .25s}.deep-fit-step{display:none}.deep-fit-step.is-active{display:block}.deep-fit-step h2{font-family:"Noto Serif SC";font-size:34px}.deep-fit-step fieldset{margin:24px 0 0;padding:20px;border:1px solid var(--line);border-radius:18px}.deep-fit-step fieldset.has-error{border-color:#a94343}.deep-fit-step legend{padding:0 8px;font-weight:800}.deep-fit-step label{display:flex;gap:10px;align-items:center;min-height:48px;padding:6px 10px;border-radius:12px}.deep-fit-step label:hover{background:var(--cream)}.deep-fit-actions{display:flex;gap:10px;margin-top:30px}.report-placeholder,.report-bars{display:grid;gap:10px;margin:24px 0}.report-placeholder{grid-template-columns:1fr 1fr}.report-placeholder span{padding:12px;border:1px solid rgba(247,243,236,.18);border-radius:12px}.report-bars>div{display:grid;grid-template-columns:78px 1fr 34px;align-items:center;gap:10px}.report-bars i{height:8px;border-radius:99px;background:rgba(247,243,236,.18)}.report-bars b{display:block;height:100%;border-radius:99px;background:var(--gold)}.report-block{margin-top:24px;padding-top:20px;border-top:1px solid rgba(247,243,236,.18)}.report-block ul,.report-block ol{padding-left:20px}.report-block .fit-picks a{color:var(--navy)}
/* 2026-08-17 BP 真机复验：深度报告「优先了解」下一片空白——上一条把品种链接写成 navy 字，
   而 .deep-fit-report 背景就是 navy，深蓝底深蓝字肉眼不可见（DOM 存在、vis=true、截图空白）。
   改成浅色卡片式链接，与简单版 .fit-picks div 的观感一致且明确可点。 */
.fit-picks--report a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;border-radius:14px;background:rgba(247,243,236,.10);border:1px solid rgba(247,243,236,.22);color:var(--cream)!important;font-weight:700;text-decoration:none}
.fit-picks--report a small{font-weight:500;font-size:12px;opacity:.75}
.fit-picks--report a:hover,.fit-picks--report a:focus-visible{background:rgba(247,243,236,.18);border-color:var(--gold)}
/* 品种页：深度报告带来的 picks 高亮置顶 */
.breed-card.is-pick{outline:2px solid var(--gold);outline-offset:2px;order:-1}
.breed-card.is-pick h3::after{content:" · 报告推荐";font-size:12px;color:var(--gold);font-weight:600}
.breed-detail-hero{padding:120px 0 70px;background:var(--navy);color:var(--cream)}.breed-detail-hero__grid{display:grid;grid-template-columns:1fr 430px;gap:60px;align-items:center}.breed-detail-hero h1{margin:14px 0;font-family:"Noto Serif SC";font-size:clamp(48px,6vw,76px)}.breed-detail-hero p{font-size:18px;color:rgba(247,243,236,.78)}.breed-detail-hero figure{margin:0;padding:18px;border-radius:30px;background:var(--cream)}.breed-detail-hero img{width:100%;height:auto;object-fit:contain}.breed-detail-hero figcaption{padding-top:10px;color:var(--muted);font-size:13px;text-align:center}.back-link{color:var(--gold);font-weight:800}.breed-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}.breed-metrics span{padding:12px 14px;border:1px solid rgba(247,243,236,.16);border-radius:14px;color:rgba(247,243,236,.7);font-size:13px}.breed-metrics strong{display:block;color:var(--cream);font-size:16px}.breed-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.breed-detail-grid article,.breed-detail-grid aside{padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--paper)}.breed-detail-grid aside{grid-column:1/-1;background:var(--cream-2)}
.course-paths,.tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.course-paths article,.tool-grid>a{padding:26px;border:1px solid var(--line);border-radius:24px;background:var(--paper)}.course-paths span,.tool-grid span{color:var(--purple);font-size:12px;font-weight:900}.course-paths h3,.tool-grid h2{margin:20px 0 10px}.course-paths p,.tool-grid p{color:var(--muted)}.course-paths a,.tool-grid b{color:var(--gold-deep);font-weight:800}.tool-grid{grid-template-columns:repeat(3,1fr)}.tool-grid>a{color:var(--ink);box-shadow:0 12px 34px rgba(27,35,64,.06)}.tool-grid>a:hover{transform:translateY(-3px)}.tool-grid h2{font-size:24px}.faq-browser{display:grid;grid-template-columns:1fr 360px;gap:40px;align-items:end;margin-bottom:24px}.faq-browser h2{font-family:"Noto Serif SC";font-size:clamp(34px,4vw,52px)}.faq-search span{display:block;margin-bottom:8px;font-weight:800}.faq-search input{width:100%;min-height:52px;padding:0 16px;border:1px solid var(--line);border-radius:15px;font:inherit}.faq-filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:12px}.faq-filters button{flex:0 0 auto;min-height:42px;padding:0 15px;border:1px solid var(--line);border-radius:99px;background:#fff}.faq-filters button[aria-pressed="true"]{background:var(--navy);color:var(--cream)}.faq-list details a{display:inline-flex;margin-top:10px;color:var(--gold-deep);font-weight:800}.faq-more{display:flex;justify-content:center;gap:12px;margin-top:28px}.ai-classroom-banner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:38px;border-radius:28px;background:var(--navy);color:var(--cream)}.ai-classroom-banner h2{font-family:"Noto Serif SC";font-size:38px}.ai-classroom-banner li{margin:8px 0}
.shop-hero{padding:120px 0 72px;background:var(--navy);color:var(--cream)}.shop-hero__grid{display:grid;grid-template-columns:1fr 520px;gap:60px;align-items:center}.shop-hero h1{margin:12px 0;font-family:"Noto Serif SC";font-size:clamp(48px,6vw,74px);line-height:1.1}.shop-hero p{color:rgba(247,243,236,.78);font-size:18px}.shop-hero figure{margin:0;overflow:hidden;border-radius:34px;background:var(--cream)}.shop-hero img{display:block;width:100%;height:auto;object-fit:contain}.shop-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.shop-category-grid article{padding:18px;border:1px solid var(--line);border-radius:22px;background:var(--paper)}.shop-category-grid img{display:block;width:92px;height:92px;object-fit:contain}.shop-category-grid h3{margin:12px 0 4px}.shop-category-grid p{margin:0;color:var(--muted);font-size:14px}.product-showcase{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.product-showcase article{overflow:hidden;border:1px solid var(--line);border-radius:26px;background:var(--paper)}.product-showcase img{display:block;width:100%;height:270px;object-fit:contain;background:#fff}.product-showcase div{padding:22px}.product-showcase span{color:var(--purple);font-size:12px;font-weight:900}.product-showcase h3{margin:8px 0}.product-showcase p{color:var(--muted)}
@media(max-width:980px){.portal-hero h1{font-size:clamp(40px,7vw,58px)}.page-hero h1{font-size:clamp(36px,6vw,52px)}.ai-workspace,.deep-fit-layout,.breed-detail-hero__grid,.shop-hero__grid{grid-template-columns:1fr}.deep-fit-report{position:static}.breed-detail-hero__grid figure,.shop-hero figure{max-width:620px}.course-paths{grid-template-columns:1fr 1fr}.tool-grid{grid-template-columns:1fr 1fr}.shop-category-grid{grid-template-columns:repeat(4,1fr)}.product-showcase{grid-template-columns:1fr 1fr}.faq-browser{grid-template-columns:1fr}.fit-depth-band .shell,.ai-classroom-banner{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.portal-hero h1{font-size:clamp(36px,9vw,46px);line-height:1.12}.page-hero h1{font-size:clamp(34px,9vw,46px)}.section-heading h2,.feature-copy h2,.brand-teaser h2{font-size:clamp(30px,8vw,40px)}.portal-hero__media img{object-fit:contain}.ai-lane-grid,.course-paths,.tool-grid,.breed-detail-grid,.shop-category-grid,.product-showcase{grid-template-columns:1fr 1fr}.deep-fit-form,.deep-fit-report{padding:22px}.deep-fit-step h2{font-size:28px}.breed-detail-hero{padding-top:100px}.breed-detail-hero h1{font-size:48px}.breed-metrics{grid-template-columns:1fr}.breed-detail-grid aside{grid-column:auto}.shop-hero{padding-top:100px}.shop-category-grid article{padding:12px}.shop-category-grid img{width:72px;height:72px}.product-showcase img{height:190px}.faq-more{flex-direction:column}.assistant-mode{overflow-x:auto}.fit-depth-band .button{width:100%}}
@media(max-width:420px){.ai-lane-grid,.course-paths,.tool-grid,.shop-category-grid,.product-showcase{grid-template-columns:1fr}.deep-fit-actions{flex-wrap:wrap}.shop-hero h1{font-size:44px}}
@media print{.portal-header,.portal-footer,.mobile-dock,.assistant-launcher,.deep-fit-form{display:none!important}.deep-fit-layout{display:block}.deep-fit-report{color:#111;background:#fff}.deep-fit-report .button-row{display:none}}



/* ── 商城 · 门店主推（2026-08-16 对齐第三批物料 M06 制作稿）── */
.hero-product-card{display:grid;grid-template-columns:240px 1fr 260px;gap:32px;align-items:center;
  background:#FEFEFD;border:1px solid #E4DFD4;border-radius:26px;padding:30px 34px;margin-top:34px}
.hp-pack{width:240px;height:240px;object-fit:contain;mix-blend-mode:multiply}
.hp-body h3{margin:0;font-size:28px;color:#1B2340}
.hp-spec{margin:6px 0 16px;font-size:14px;color:#8E7651;letter-spacing:.03em}
.hp-list{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.hp-list li{position:relative;padding-left:20px;font-size:15.5px;line-height:1.6;color:#4A5061}
.hp-list li:before{content:"";position:absolute;left:2px;top:9px;width:8px;height:8px;border-radius:50%;background:#D4B886}
.hp-ings{border-left:1px solid rgba(212,184,134,.55);padding-left:24px}
.hp-ings>span{display:block;text-align:center;font-size:13px;color:#8E7651;letter-spacing:.12em;margin-bottom:12px}
.hp-ings>div{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 16px}
.hp-ings figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:5px}
.hp-ings img{width:76px;height:76px;border-radius:50%;object-fit:cover}
.hp-ings figcaption{font-size:12.5px;color:#5A6072}
.also-sell{margin-top:30px}
.also-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.also-head b{font-size:19px;color:#1B2340}
.also-head span{font-size:14px;color:#8E7651}
.also-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.also-item{background:#FAF8F3;border-radius:16px;padding:16px 10px;display:flex;flex-direction:column;
  align-items:center;gap:8px}
.also-item img{width:88px;height:88px;object-fit:contain;mix-blend-mode:multiply}
.also-item b{font-size:14px;color:#4A5061;text-align:center}
.also-note{margin:12px 0 0;text-align:right;font-size:12.5px;color:#8E7651}
@media (max-width:900px){.hero-product-card{grid-template-columns:1fr;gap:22px;text-align:center}
  .hp-pack{margin:0 auto}.hp-list{text-align:left;max-width:420px;margin:0 auto}
  .hp-ings{border-left:0;border-top:1px solid rgba(212,184,134,.55);padding:20px 0 0}
  .also-row{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.also-row{grid-template-columns:repeat(2,1fr)}}

/* ── 品种详情 v2（2026-08-17）：8 块深度介绍 + 画像条 ─────────────────────────
   BP 裁决品种介绍要深；v1 每个 120–160 字。此处只加新类，不动 v1 用到的 .breed-metrics/.breed-detail-grid（回退仍可用）。 */
.breed-profile{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;margin-top:26px}
.breed-profile>div{display:grid;grid-template-columns:82px 1fr 34px;align-items:center;gap:10px;font-size:13px;color:rgba(247,243,236,.78)}
.breed-profile i{display:block;height:8px;border-radius:99px;background:rgba(247,243,236,.16);overflow:hidden}
.breed-profile b{display:block;height:100%;border-radius:99px;background:var(--gold)}
.breed-profile small{color:var(--cream);font-weight:700;text-align:right}
.breed-profile__note{margin-top:10px;font-size:12px;color:rgba(247,243,236,.55)}
.breed-article{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.breed-block{padding:26px 28px;border:1px solid var(--line);border-radius:22px;background:var(--paper)}
.breed-block h2{margin:0 0 10px;font-family:"Noto Serif SC";font-size:22px}
.breed-block p{margin:0;font-size:15px;line-height:1.85;color:var(--ink,#1b2340)}
.breed-block strong{color:var(--navy);font-weight:800}
.breed-block--health,.breed-block--store{background:var(--cream-2)}
.breed-block--store{border-color:var(--gold)}
.breed-disclaimer{margin:22px 0 0;font-size:13px;color:var(--muted)}
.breed-sources{margin-top:12px;font-size:12px;color:var(--muted)}
.breed-sources summary{cursor:pointer;font-weight:700}
.breed-sources ul{margin:8px 0 0;padding-left:18px}
.breed-sources li{margin:3px 0;word-break:break-all}
@media(max-width:900px){.breed-article{grid-template-columns:1fr}.breed-profile{grid-template-columns:1fr}}
@media(max-width:680px){.breed-block{padding:20px 18px}.breed-block h2{font-size:20px}}
/* 深度报告 v2 品种卡（含排名与理由） */
.fit-picks--report a{align-items:flex-start}
.fit-pick__rank{flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:var(--gold);color:var(--navy);font-weight:800;font-size:13px;display:grid;place-items:center;margin-top:2px}
.fit-pick__body{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.fit-pick__body b{font-size:16px}
.fit-pick__body em{font-style:normal;font-size:12px;color:var(--gold);font-weight:700}
.fit-pick__body small{font-size:12px;opacity:.82;line-height:1.5}
.fit-pick__warn{color:#f3c98b}
.fit-pick__go{flex:0 0 auto;font-size:12px;opacity:.75;margin-top:4px;white-space:nowrap}


/* ===== 2026-08-19 · 搜索可见性 P0 新增（只加不改，全部追加在文件末尾以确保优先级） ===== */

/* 首页/测试页：H1 让位给品牌名，原大标题降为品牌价值主张，视觉层级维持不变 */
.portal-hero .hero-brand{max-width:760px;margin:0 0 12px;font-family:"Noto Serif SC",serif;font-weight:650;
  font-size:clamp(20px,2vw,27px);line-height:1.35;letter-spacing:0;color:var(--gold)}
.portal-hero .hero-claim{max-width:860px;margin:0;font-family:"Noto Serif SC",serif;font-weight:650;
  line-height:1.15;letter-spacing:-.035em;font-size:clamp(46px,4.8vw,68px);text-wrap:balance;color:inherit}
.page-hero .hero-claim--sub{max-width:760px;margin:14px 0 0;font-family:"Noto Serif SC",serif;font-weight:650;
  font-size:clamp(19px,1.9vw,25px);line-height:1.4;letter-spacing:0;color:var(--gold)}
@media(max-width:980px){.portal-hero .hero-claim{font-size:clamp(40px,7vw,58px)}}
@media(max-width:680px){.portal-hero .hero-claim{font-size:clamp(36px,9vw,46px);line-height:1.12}
  .portal-hero .hero-brand{font-size:clamp(18px,4.6vw,22px)}}

/* 到店页顶部的门店信息（NAP）——完整标准地址进静态 HTML */
.visit-nap{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:22px 0 0;max-width:780px;
  font-size:clamp(15px,1.3vw,17px);line-height:1.7}
.visit-nap dt{color:var(--gold);font-weight:700;white-space:nowrap}
.visit-nap dd{margin:0;color:rgba(247,243,236,.9)}
.visit-nap dd a{color:inherit;border-bottom:1px solid rgba(212,184,134,.5)}
@media(max-width:680px){.visit-nap{grid-template-columns:1fr;gap:2px 0}
  .visit-nap dt{margin-top:10px}}

/* 页脚品牌全名 */
.portal-footer__name{margin:10px 0 4px;color:var(--cream);font-family:"Noto Serif SC",serif;
  font-size:18px;font-weight:650}

/* 静态门店信息兜底块：portal.js 正常执行时整块被页脚替换，看不到它；
   JS 未执行（含不跑 JS 的抓取端）时它就是页面底部的门店信息模块。 */
.store-nap{background:var(--navy);color:rgba(247,243,236,.85);padding:44px 24px;
  font-size:15px;line-height:1.9}
.store-nap>div{max-width:1180px;margin:0 auto}
.store-nap p{margin:0}
.store-nap__name strong{display:block;margin-bottom:10px;color:var(--cream);
  font-family:"Noto Serif SC",serif;font-size:21px;font-weight:650}
.store-nap a{color:var(--gold)}

/* 开业专题页 */
.opening-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:30px 0 0}
.opening-facts>div{background:rgba(247,243,236,.06);border:1px solid rgba(212,184,134,.28);
  border-radius:18px;padding:20px 22px}
.opening-facts dt{color:var(--gold);font-size:13px;font-weight:800;letter-spacing:.08em}
.opening-facts dd{margin:8px 0 0;color:rgba(247,243,236,.92);font-size:16px;line-height:1.7}
.opening-facts dd a{color:inherit;border-bottom:1px solid rgba(212,184,134,.5)}

/* 开业专题页正文（作用域只在本页，避免影响其它页面既有版式） */
[data-page="opening"] .portal-section .shell>p{max-width:840px;margin:18px 0 0;
  font-size:clamp(16px,1.35vw,18px);line-height:1.95}
[data-page="opening"] .portal-section--white .shell>p,
[data-page="opening"] .portal-section--soft .shell>p{color:var(--ink)}
[data-page="opening"] .opening-route{max-width:840px;margin:22px 0 0;padding-left:22px;
  font-size:clamp(16px,1.35vw,18px);line-height:2;color:var(--ink)}
[data-page="opening"] .opening-route li{margin:6px 0}
[data-page="opening"] .page-hero .hero-claim--sub{margin:14px 0 0}

/* ---- 开业专题页配图（2026-08-19 BP：开业画面要热烈，纯文字不行）---- */
/* 首屏改左文右图：右侧完整展示「迎客」竖图，不裁切主体 */
/* 桌面：左＝整块文字（head+body 自然堆叠，中间不会被右图撑开），右＝迎客画面。
   图不跨行——跨行的 item 会把自己的高度分摊进各行轨道，那正是空隙的来源。 */
[data-page="opening"] .opening-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.72fr);
  column-gap:clamp(28px,4vw,64px);align-items:center;position:relative;z-index:1}
[data-page="opening"] .opening-hero__text{min-width:0}
[data-page="opening"] .opening-hero__grid .page-hero__content{max-width:none}
[data-page="opening"] .opening-hero__media{margin:0}
[data-page="opening"] .opening-hero__media img{width:100%;height:auto;display:block;border-radius:26px;
  border:1px solid rgba(212,184,134,.34);box-shadow:0 30px 80px rgba(0,0,0,.42)}
[data-page="opening"] .opening-hero__media figcaption{margin-top:12px;text-align:center;
  color:var(--gold);font-size:13px;font-weight:700;letter-spacing:.02em}

/* 章节配图 */
[data-page="opening"] .opening-figure{margin:26px 0 0}
[data-page="opening"] .opening-figure img{width:100%;height:auto;display:block;border-radius:22px;
  box-shadow:0 22px 60px rgba(27,35,64,.16)}
[data-page="opening"] .portal-section--navy .opening-figure img{box-shadow:0 22px 60px rgba(0,0,0,.35)}

/* 20 品种缩略带 */
[data-page="opening"] .opening-breeds{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin:30px 0 10px}
[data-page="opening"] .opening-breeds a{display:block;text-align:center;text-decoration:none;color:var(--ink)}
[data-page="opening"] .opening-breeds img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;display:block;
  border-radius:16px;background:#f4efe6;transition:transform .25s ease,box-shadow .25s ease}
[data-page="opening"] .opening-breeds a:hover img{transform:translateY(-4px);box-shadow:0 14px 32px rgba(27,35,64,.2)}
[data-page="opening"] .opening-breeds span{display:block;margin-top:10px;font-size:15px;font-weight:700}

/* 到店路线：实拍卡 + 说明并排 */
[data-page="opening"] .opening-route__media{display:grid;grid-template-columns:220px 1fr;gap:26px;
  align-items:center;margin:24px 0 0}
[data-page="opening"] .opening-route__media figure{margin:0}
[data-page="opening"] .opening-route__media img{width:100%;height:auto;display:block;border-radius:18px;
  box-shadow:0 18px 44px rgba(27,35,64,.18)}
[data-page="opening"] .opening-route__media>p{margin:0;max-width:none}

/* 收尾 banner 背景图 */
[data-page="opening"] .opening-closing{position:relative;overflow:hidden}
[data-page="opening"] .opening-closing__media{position:absolute;inset:0;z-index:0}
[data-page="opening"] .opening-closing__media img{width:100%;height:100%;object-fit:cover;opacity:.5}
[data-page="opening"] .opening-closing .shell{position:relative;z-index:1}

@media(max-width:980px){
  /* 手机/平板：把 text 拆开参与外层 grid，画面插到标题之后、事实卡之前，
     第一屏就能看见迎客的画面（视觉顺序由 grid-area 决定，与 DOM 顺序无关）。 */
  [data-page="opening"] .opening-hero__grid{grid-template-columns:1fr;
    grid-template-areas:"head" "media" "body"}
  [data-page="opening"] .opening-hero__text{display:contents}
  [data-page="opening"] .opening-hero__head{grid-area:head}
  [data-page="opening"] .opening-hero__body{grid-area:body}
  [data-page="opening"] .opening-hero__media{grid-area:media;max-width:340px;margin:22px auto 4px}
  [data-page="opening"] .opening-breeds{grid-template-columns:repeat(4,1fr);gap:14px}
}
@media(max-width:680px){
  [data-page="opening"] .opening-breeds{grid-template-columns:repeat(3,1fr);gap:10px}
  [data-page="opening"] .opening-breeds span{font-size:12px}
  [data-page="opening"] .opening-route__media{grid-template-columns:1fr}
  [data-page="opening"] .opening-route__media figure{max-width:280px}
}

/* 开业页首屏微调：H1 一行放得下、事实卡 2×2 对齐、首屏不过高 */
[data-page="opening"] .page-hero h1{font-size:clamp(34px,3.4vw,50px);text-wrap:balance}
[data-page="opening"] .opening-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:26px}
[data-page="opening"] .opening-facts>div{padding:16px 18px}
[data-page="opening"] .opening-facts dd{font-size:15px;margin-top:6px}
[data-page="opening"] .opening-nav-tip{margin:16px 0 0;max-width:560px;
  color:rgba(247,243,236,.72);font-size:14px;line-height:1.75}
[data-page="opening"] .opening-nav-tip strong{color:var(--gold)}
[data-page="opening"] .page-hero .button-row{margin-top:26px}
@media(max-width:680px){[data-page="opening"] .opening-facts{grid-template-columns:1fr}}


/* Baidu-visible content hierarchy */
.breed-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 18px;color:rgba(255,255,255,.78);font-size:14px}.breed-breadcrumb a{color:var(--gold);text-decoration:none}.breed-breadcrumb a:hover{text-decoration:underline}.content-updated{margin:12px 0 0;color:rgba(255,255,255,.68);font-size:13px}
/* 2026-08-23: 养宠课堂的品种照护索引，强化内部链接与移动端可读性。 */
.care-index-section {
  background: linear-gradient(180deg, #f8f4ec 0%, #fffdf8 100%);
}
.care-index-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 34px;
}
.care-index-group {
  padding: 26px;
  border: 1px solid rgba(27, 35, 64, 0.12);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 18px 45px rgba(27, 35, 64, 0.08);
}
.care-index-group__head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
}
.care-index-group__head > span {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 50%;
  background: #1b2340;
  color: #ebcc8f;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}
.care-index-group__head h3,
.care-index-group__head p {
  margin: 0;
}
.care-index-group__head h3 {
  color: #1b2340;
  font-size: 1.18rem;
}
.care-index-group__head p {
  margin-top: 3px;
  color: #667087;
  font-size: 0.86rem;
}
.care-index-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.care-index-grid a {
  display: grid;
  gap: 3px;
  min-height: 72px;
  align-content: center;
  padding: 13px 15px;
  border: 1px solid rgba(27, 35, 64, 0.1);
  border-radius: 15px;
  background: #fff;
  color: #1b2340;
  text-decoration: none;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.care-index-grid a:hover,
.care-index-grid a:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(191, 144, 64, 0.55);
  box-shadow: 0 10px 24px rgba(27, 35, 64, 0.09);
}
.care-index-grid strong {
  font-size: 0.94rem;
}
.care-index-grid span {
  color: #6a7284;
  font-size: 0.78rem;
}
@media (max-width: 860px) {
  .care-index-layout {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 520px) {
  .care-index-group {
    padding: 20px 16px;
    border-radius: 20px;
  }
  .care-index-grid a {
    min-height: 62px;
  }
}

/* 原始 HTML 中保留域名备案信息；portal.js 加载后由完整页脚替换。 */
.store-legal-static {
  padding: 18px clamp(20px, 4vw, 48px);
  background: #11182d;
  color: rgba(255, 255, 255, 0.78);
  font-size: 13px;
  line-height: 1.7;
  text-align: center;
}

.store-legal-static p {
  margin: 0;
}

.store-legal-static a {
  color: #f0d6a2;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}