/* Final repair layer: readable media-card copy and stable image-card layout. */
body .page-card.page-card--media {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(185, 207, 238, 0.78) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow:
    0 16px 34px rgba(43, 49, 94, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.94) !important;
}

body .page-card.page-card--media::before {
  z-index: 2 !important;
  height: 4px !important;
  inset: 0 0 auto !important;
  background: linear-gradient(90deg, #20a775, #7bc89d 42%, #58a6d9 100%) !important;
}

body .page-card.page-card--media::after {
  display: none !important;
  content: none !important;
}

body .page-card.page-card--media .page-card__media,
body .page-card.page-card--media > img {
  width: 100% !important;
  min-height: 190px !important;
  aspect-ratio: 16 / 9 !important;
  display: block !important;
  object-fit: cover !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body .page-card.page-card--media .page-card__body {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 150px !important;
  margin: 0 !important;
  padding: 24px 26px 28px !important;
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  overflow: visible !important;
  border: 0 !important;
  border-top: 1px solid rgba(217, 233, 225, 0.92) !important;
  border-radius: 0 !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(247, 252, 249, 0.97)),
    radial-gradient(circle at 100% 100%, rgba(96, 190, 150, 0.08), transparent 34%) !important;
}

body .page-card.page-card--media .page-card__body::after {
  content: "" !important;
  position: absolute !important;
  right: 18px !important;
  bottom: 18px !important;
  width: 54px !important;
  height: 54px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, rgba(32, 167, 117, 0.13), rgba(88, 166, 217, 0.11)) !important;
  opacity: 0.8 !important;
  pointer-events: none !important;
}

body .page-card.page-card--media .page-card__body h3,
body:has(.page-hero__panel) .page-card.page-card--media .page-card__body h3,
body:has(.page-hero__panel) .page-card.page-card--media h3 {
  position: relative !important;
  z-index: 1 !important;
  max-width: calc(100% - 24px) !important;
  margin: 0 !important;
  color: #0d4639 !important;
  font-size: clamp(19px, 1.6vw, 23px) !important;
  line-height: 1.36 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  opacity: 1 !important;
  text-shadow: none !important;
  overflow-wrap: anywhere !important;
}

body .page-card.page-card--media .page-card__body p,
body .page-card.page-card--media .page-card__body li,
body:has(.page-hero__panel) .page-card.page-card--media .page-card__body p,
body:has(.page-hero__panel) .page-card.page-card--media .page-card__body li,
body:has(.page-hero__panel) .page-card.page-card--media p,
body:has(.page-hero__panel) .page-card.page-card--media li {
  position: relative !important;
  z-index: 1 !important;
  max-width: calc(100% - 18px) !important;
  margin: 0 !important;
  color: #315d53 !important;
  font-size: 15px !important;
  line-height: 1.82 !important;
  opacity: 1 !important;
  text-shadow: none !important;
  overflow-wrap: anywhere !important;
}

body #advisors .page-card.page-card--media .page-card__body {
  min-height: 138px !important;
  background:
    linear-gradient(135deg, rgba(13, 29, 48, 0.82), rgba(13, 29, 48, 0.56)),
    radial-gradient(circle at 100% 100%, rgba(125, 207, 163, 0.16), transparent 36%) !important;
}

body #advisors .page-card.page-card--media .page-card__body h3,
body #advisors .page-card.page-card--media .page-card__body p,
body:has(.page-hero__panel) #advisors .page-card.page-card--media .page-card__body h3,
body:has(.page-hero__panel) #advisors .page-card.page-card--media .page-card__body p {
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.42) !important;
}

@media (max-width: 720px) {
  body .page-card.page-card--media .page-card__body {
    min-height: 0 !important;
    padding: 20px 20px 24px !important;
  }

  body .page-card.page-card--media .page-card__body h3,
  body .page-card.page-card--media .page-card__body p,
  body .page-card.page-card--media .page-card__body li {
    max-width: 100% !important;
  }
}

/* Logo replacement: use the supplied image as the full brand mark, not a thumbnail card. */
body .brand {
  min-width: 112px !important;
  gap: 0 !important;
}

body .brand > span:last-child {
  display: none !important;
}

body .brand__logo {
  width: 112px !important;
  height: 78px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 112px !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .brand__logo img {
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center !important;
}

body .footer__logo-image {
  width: 108px !important;
  height: 76px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 108px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, 0.42) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.9) !important;
  box-shadow: 0 14px 28px rgba(9, 55, 44, 0.16) !important;
}

body .footer__logo-image img {
  width: 100% !important;
  height: 100% !important;
  padding: 3px !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center !important;
}

body .footer__socials {
  gap: 10px !important;
}

body .footer__socials a,
body .footer__social-placeholder {
  min-height: 36px !important;
  padding: 8px 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(255, 255, 255, 0.34) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.12) !important;
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14) !important;
}

body .footer__social-placeholder {
  opacity: 0.9 !important;
}

body .triage-output {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(181, 218, 204, 0.86) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(241, 251, 246, 0.94)),
    radial-gradient(circle at 100% 0, rgba(91, 176, 130, 0.13), transparent 34%) !important;
  box-shadow: 0 20px 42px rgba(43, 49, 94, 0.10) !important;
}

body .triage-output::after {
  content: "" !important;
  position: absolute !important;
  right: -34px !important;
  bottom: -34px !important;
  width: 130px !important;
  height: 130px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, rgba(45, 170, 120, 0.13), rgba(93, 166, 210, 0.10)) !important;
  pointer-events: none !important;
}

body .triage-output > * {
  position: relative !important;
  z-index: 1 !important;
}

/* Card quality layer: warmer surfaces, clearer hierarchy, and softer depth. */
body .journey-steps article,
body .page-card:not(.page-card--media),
body .section-panel,
body .panel-card,
body .guide-card,
body .tool-sheet,
body .service-card,
body .process-card,
body .detail-card,
body .article-card,
body .download-card,
body .event-card,
body .feature-card,
body .info-card,
body .resource-card,
body .search-result-card,
body .related-links__card,
body .guide-sidebar__card,
body .store-locator__card,
body .contact-panel,
body .map-card,
body .visual-card,
body .service-standard__card,
body .dashboard-card,
body .admin-card,
body .side-card,
body .metric-grid article,
body .footer__contact-card {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(179, 217, 205, 0.82) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(246, 252, 248, 0.96) 58%, rgba(239, 249, 245, 0.92)),
    radial-gradient(circle at 100% 0, rgba(90, 184, 142, 0.14), transparent 34%),
    radial-gradient(circle at 0 100%, rgba(84, 157, 213, 0.10), transparent 30%) !important;
  box-shadow:
    0 18px 42px rgba(21, 83, 67, 0.10),
    0 6px 18px rgba(43, 49, 94, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
}

body .journey-steps article::before,
body .page-card:not(.page-card--media)::before,
body .section-panel::before,
body .panel-card::before,
body .guide-card::before,
body .tool-sheet::before,
body .service-card::before,
body .process-card::before,
body .detail-card::before,
body .article-card::before,
body .download-card::before,
body .event-card::before,
body .feature-card::before,
body .info-card::before,
body .resource-card::before,
body .search-result-card::before,
body .related-links__card::before,
body .guide-sidebar__card::before,
body .store-locator__card::before,
body .contact-panel::before,
body .map-card::before,
body .visual-card::before,
body .service-standard__card::before,
body .dashboard-card::before,
body .admin-card::before,
body .side-card::before,
body .metric-grid article::before,
body .footer__contact-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto !important;
  height: 4px !important;
  background: linear-gradient(90deg, #23a875, #8bcf9d 42%, #5aa8d8 100%) !important;
  opacity: 0.86 !important;
  pointer-events: none !important;
}

body .journey-steps article::after,
body .page-card:not(.page-card--media)::after,
body .section-panel::after,
body .panel-card::after,
body .guide-card::after,
body .tool-sheet::after,
body .service-card::after,
body .process-card::after,
body .detail-card::after,
body .article-card::after,
body .download-card::after,
body .event-card::after,
body .feature-card::after,
body .info-card::after,
body .resource-card::after,
body .search-result-card::after,
body .related-links__card::after,
body .guide-sidebar__card::after,
body .store-locator__card::after,
body .contact-panel::after,
body .map-card::after,
body .visual-card::after,
body .service-standard__card::after,
body .dashboard-card::after,
body .admin-card::after,
body .side-card::after,
body .metric-grid article::after {
  content: "" !important;
  position: absolute !important;
  right: -32px !important;
  bottom: -42px !important;
  width: 130px !important;
  height: 130px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, rgba(45, 170, 120, 0.12), rgba(93, 166, 210, 0.10)) !important;
  pointer-events: none !important;
}

body .journey-steps article > *,
body .page-card:not(.page-card--media) > *,
body .section-panel > *,
body .panel-card > *,
body .guide-card > *,
body .tool-sheet > *,
body .service-card > *,
body .process-card > *,
body .detail-card > *,
body .article-card > *,
body .download-card > *,
body .event-card > *,
body .feature-card > *,
body .info-card > *,
body .resource-card > *,
body .search-result-card > *,
body .related-links__card > *,
body .guide-sidebar__card > *,
body .store-locator__card > *,
body .contact-panel > *,
body .map-card > *,
body .visual-card > *,
body .service-standard__card > *,
body .dashboard-card > *,
body .admin-card > *,
body .side-card > *,
body .metric-grid article > *,
body .footer__contact-card > * {
  position: relative !important;
  z-index: 1 !important;
}

body .journey-steps article {
  padding: 28px 28px 30px !important;
  min-height: 156px !important;
}

body .journey-steps article span {
  width: 42px !important;
  height: 42px !important;
  margin: 0 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(255, 255, 255, 0.76) !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #21a875, #63b7de) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  box-shadow:
    0 12px 22px rgba(35, 168, 117, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.45) !important;
}

body .journey-steps article h3,
body .page-card:not(.page-card--media) h3,
body .section-panel h2,
body .guide-card h3,
body .tool-sheet h3,
body .service-card h3,
body .process-card h3,
body .detail-card h3,
body .article-card h3,
body .download-card h3,
body .event-card h3,
body .feature-card h3,
body .info-card h3,
body .resource-card h3,
body .search-result-card h3,
body .related-links__card h3,
body .guide-sidebar__card h3,
body .store-locator__card h3,
body .contact-panel h3,
body .map-card h3,
body .visual-card h3,
body .service-standard__card h3,
body .side-card h3,
body .footer__contact-card h3 {
  color: #103f36 !important;
  letter-spacing: 0 !important;
  overflow-wrap: anywhere !important;
}

body .journey-steps article p,
body .page-card:not(.page-card--media) p,
body .section-panel p,
body .guide-card p,
body .tool-sheet p,
body .service-card p,
body .process-card p,
body .detail-card p,
body .article-card p,
body .download-card p,
body .event-card p,
body .feature-card p,
body .info-card p,
body .resource-card p,
body .search-result-card p,
body .related-links__card p,
body .guide-sidebar__card p,
body .store-locator__card p,
body .contact-panel p,
body .map-card p,
body .visual-card p,
body .service-standard__card p,
body .side-card p,
body .footer__contact-card p,
body .footer__contact-card li {
  color: #3d665c !important;
  line-height: 1.82 !important;
  overflow-wrap: anywhere !important;
}

body .journey-steps article:hover,
body .page-card:not(.page-card--media):hover,
body .guide-card:hover,
body .tool-sheet:hover,
body .service-card:hover,
body .process-card:hover,
body .detail-card:hover,
body .article-card:hover,
body .download-card:hover,
body .event-card:hover,
body .feature-card:hover,
body .info-card:hover,
body .resource-card:hover,
body .search-result-card:hover,
body .related-links__card:hover,
body .guide-sidebar__card:hover,
body .store-locator__card:hover,
body .service-standard__card:hover,
body .metric-grid article:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(105, 190, 157, 0.92) !important;
  box-shadow:
    0 24px 54px rgba(21, 83, 67, 0.14),
    0 10px 24px rgba(43, 49, 94, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.98) !important;
}

/* Image-overlay cards need light copy for contrast over darkened photos. */
body .story-gallery__card h3,
body .story-gallery__card span,
body .story-gallery__card p,
body .gallery-card h3,
body .gallery-card span,
body .gallery-card p,
body .photo-card h3,
body .photo-card p,
body .photo-card__tag {
  color: #ffffff !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.48) !important;
}

body .story-gallery__card::after,
body .gallery-card::after,
body .photo-card::before {
  background:
    linear-gradient(180deg, rgba(11, 34, 28, 0.08) 0%, rgba(11, 34, 28, 0.36) 48%, rgba(11, 34, 28, 0.72) 100%) !important;
}

/* Buttons and form controls: consistent tactile surface across the site. */
body .button,
body a.button,
body button.button,
body .footer__button,
body input[type="submit"] {
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(34, 159, 113, 0.18) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  box-shadow:
    0 12px 24px rgba(21, 83, 67, 0.13),
    inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease !important;
}

body .button:not(.button--ghost):not(.button--secondary),
body a.button:not(.button--ghost):not(.button--secondary),
body button.button:not(.button--ghost):not(.button--secondary),
body .footer__button--primary,
body input[type="submit"] {
  background: linear-gradient(135deg, #168b66, #24b07c 48%, #53a9d2) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.24) !important;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.16) !important;
}

body .button--secondary,
body .footer__button--secondary {
  background: linear-gradient(135deg, rgba(235, 250, 244, 0.98), rgba(230, 247, 255, 0.96)) !important;
  color: #125748 !important;
  border-color: rgba(79, 178, 142, 0.36) !important;
  box-shadow:
    0 10px 22px rgba(21, 83, 67, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
}

body .button--ghost {
  background: rgba(255, 255, 255, 0.74) !important;
  color: #1a5c4c !important;
  border-color: rgba(95, 173, 151, 0.34) !important;
  box-shadow:
    0 8px 18px rgba(43, 49, 94, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.82) !important;
}

body .button:hover,
body a.button:hover,
body button.button:hover,
body .footer__button:hover {
  transform: translateY(-2px) !important;
  box-shadow:
    0 16px 30px rgba(21, 83, 67, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.48) !important;
}

body input,
body select,
body textarea {
  border: 1px solid rgba(163, 203, 190, 0.82) !important;
  border-radius: 14px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 253, 251, 0.96)) !important;
  color: #153f37 !important;
  box-shadow:
    inset 0 1px 2px rgba(28, 92, 76, 0.06),
    0 8px 18px rgba(43, 49, 94, 0.04) !important;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
}

body input:focus,
body select:focus,
body textarea:focus {
  outline: 0 !important;
  border-color: rgba(34, 159, 113, 0.78) !important;
  box-shadow:
    0 0 0 4px rgba(34, 159, 113, 0.14),
    inset 0 1px 2px rgba(28, 92, 76, 0.06) !important;
}

body .nav-dropdown__trigger,
body .subnav a,
body .disease-tag,
body .article-card__type,
body .photo-card__tag {
  border-radius: 999px !important;
  border: 1px solid rgba(119, 190, 166, 0.34) !important;
  background: rgba(255, 255, 255, 0.72) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76) !important;
}

body .nav-dropdown__menu {
  border: 1px solid rgba(171, 214, 199, 0.84) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 20px 44px rgba(21, 83, 67, 0.14) !important;
}

body .nav-dropdown__menu a:hover,
body .subnav a:hover {
  background: linear-gradient(135deg, rgba(231, 249, 241, 0.96), rgba(229, 246, 255, 0.92)) !important;
  color: #125748 !important;
}

/* Story image cards: keep over-photo copy readable. */
body .story-visual {
  isolation: isolate !important;
}

body .story-visual::after {
  background:
    linear-gradient(180deg, rgba(8, 28, 24, 0) 0%, rgba(8, 28, 24, 0.26) 42%, rgba(8, 28, 24, 0.76) 100%) !important;
}

body .story-visual h3 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 3px 16px rgba(0, 0, 0, 0.58) !important;
}

body .story-visual h3 *,
body.home-polish .story-visual h3,
body.home-polish .story-visual h3 * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 3px 18px rgba(0, 0, 0, 0.64) !important;
}

/* Final text-fit repair: cards should grow with Chinese copy instead of clipping it. */
body .page-card:not(.page-card--media),
body .journey-steps article,
body.home-polish .journey-steps article {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: max-content !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 10px !important;
}

body .page-card:not(.page-card--media) *,
body .journey-steps article *,
body.home-polish .journey-steps article * {
  box-sizing: border-box !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body .page-card:not(.page-card--media) h3,
body .journey-steps article h3,
body.home-polish .journey-steps article h3 {
  line-height: 1.42 !important;
}

body .page-card:not(.page-card--media) p,
body .journey-steps article p,
body.home-polish .journey-steps article p {
  line-height: 1.78 !important;
}

body .page-card:not(.page-card--media) .button,
body .journey-steps article .button,
body.home-polish .journey-steps article .button {
  margin-top: auto !important;
}

body .story-visual__badge {
  color: #ffffff !important;
  background: linear-gradient(135deg, rgba(18, 111, 84, 0.92), rgba(53, 150, 190, 0.82)) !important;
  border-color: rgba(255, 255, 255, 0.34) !important;
}

body .photo-card__tag {
  color: #ffffff !important;
  background: rgba(12, 58, 47, 0.58) !important;
  border-color: rgba(255, 255, 255, 0.34) !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.42) !important;
}

/* Detail polish for lower-frequency components across inner pages. */
body .breadcrumb {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin-bottom: 18px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(134, 198, 176, 0.34) !important;
  background: rgba(255, 255, 255, 0.68) !important;
  color: #477267 !important;
  box-shadow:
    0 10px 22px rgba(21, 83, 67, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.74) !important;
  line-height: 1.6 !important;
}

body .breadcrumb a {
  color: #146b57 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body .guide-tile,
body .disease-card,
body .panel-card,
body .status-grid article,
body .admin-actions,
body .article-filters,
body .popular-searches,
body .site-search,
body .content-table,
body .demand-table,
body .bar-chart,
body .progress-list,
body .event-modal__panel,
body .admin-sidebar {
  border: 1px solid rgba(173, 214, 198, 0.86) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 253, 250, 0.96)) !important;
  box-shadow:
    0 18px 42px rgba(21, 83, 67, 0.10),
    0 6px 16px rgba(43, 49, 94, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
}

body .guide-tile {
  position: relative !important;
  min-height: 132px !important;
  padding: 22px 22px 20px !important;
  overflow: hidden !important;
}

body .guide-tile::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 5px !important;
  background: linear-gradient(180deg, #25ad7a, #54a9d1) !important;
  opacity: 0.95 !important;
}

body .guide-tile h3,
body .disease-card h3,
body .panel-card h3,
body .side-card h3,
body .article-sidebar h3,
body .admin-sidebar h3,
body .event-modal__panel h3 {
  color: #123f36 !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere !important;
}

body .guide-tile p,
body .disease-card p,
body .panel-card p,
body .article-sidebar p,
body .admin-sidebar p,
body .event-modal__panel p {
  color: #3e6a5f !important;
  line-height: 1.78 !important;
  overflow-wrap: anywhere !important;
}

body .article-sidebar {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body .admin-sidebar {
  padding: 18px !important;
}

body .article-sidebar .side-card,
body .admin-sidebar a {
  margin-bottom: 14px !important;
}

body .admin-sidebar a,
body .popular-searches a,
body .article-filters a,
body .knowledge-filter a,
body .tool-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(129, 194, 172, 0.42) !important;
  background: rgba(255, 255, 255, 0.78) !important;
  color: #165c4d !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
}

body .admin-sidebar a:hover,
body .popular-searches a:hover,
body .article-filters a:hover,
body .knowledge-filter a:hover,
body .tool-link:hover {
  background: linear-gradient(135deg, rgba(232, 249, 242, 0.98), rgba(230, 246, 255, 0.96)) !important;
  border-color: rgba(39, 166, 119, 0.55) !important;
  transform: translateY(-1px) !important;
}

body .site-search {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  padding: 16px !important;
}

body .site-search input {
  min-width: 0 !important;
}

body .search-results {
  display: grid !important;
  gap: 18px !important;
}

body .event-status,
body .store-locator__card > span,
body .article-card__type,
body .disease-tag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  padding: 5px 11px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  color: #15614f !important;
  background: linear-gradient(135deg, rgba(232, 249, 242, 0.96), rgba(229, 246, 255, 0.94)) !important;
  border: 1px solid rgba(102, 184, 154, 0.44) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
}

body .event-status--open,
body .event-status--soon {
  color: #ffffff !important;
  background: linear-gradient(135deg, #168b66, #29b17e) !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
}

body .event-status--limited {
  color: #6b4a0a !important;
  background: linear-gradient(135deg, #fff2c8, #ffe0a1) !important;
  border-color: rgba(210, 154, 45, 0.36) !important;
}

body .event-status--closed {
  color: #65736f !important;
  background: linear-gradient(135deg, #eef4f2, #e4ece9) !important;
  border-color: rgba(157, 176, 170, 0.42) !important;
}

body .footer__qr {
  display: grid !important;
  gap: 12px !important;
  justify-items: start !important;
}

body .footer__qr-box {
  display: grid !important;
  place-items: center !important;
  width: 118px !important;
  height: 118px !important;
  padding: 10px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.34) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(239, 250, 246, 0.92)) !important;
  box-shadow:
    0 16px 30px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.92) !important;
}

body .footer__qr-box img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  border-radius: 10px !important;
}

body .content-table,
body .demand-table {
  overflow-x: auto !important;
  padding: 0 !important;
}

body .content-table table,
body .demand-table table,
body table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

body .content-table th,
body .content-table td,
body .demand-table th,
body .demand-table td,
body table th,
body table td {
  padding: 14px 16px !important;
  border-bottom: 1px solid rgba(183, 216, 203, 0.72) !important;
  color: #244f46 !important;
  line-height: 1.65 !important;
  vertical-align: top !important;
}

body .content-table th,
body .demand-table th,
body table th {
  color: #123f36 !important;
  font-weight: 900 !important;
  background: linear-gradient(135deg, rgba(231, 249, 241, 0.98), rgba(229, 246, 255, 0.96)) !important;
}

body .bar-chart,
body .progress-list {
  padding: 20px !important;
}

body .progress-list li,
body .bar-chart li {
  margin: 10px 0 !important;
  color: #28594f !important;
  line-height: 1.7 !important;
}

body .event-modal {
  backdrop-filter: blur(8px) !important;
  background: rgba(9, 33, 28, 0.46) !important;
}

body .event-modal__panel {
  max-width: min(620px, calc(100vw - 32px)) !important;
  padding: 26px !important;
}

body .event-modal__close {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(126, 188, 166, 0.46) !important;
  background: rgba(255, 255, 255, 0.88) !important;
  color: #164f43 !important;
  box-shadow: 0 8px 18px rgba(21, 83, 67, 0.12) !important;
}

body .header__actions,
body .hero__actions,
body .page-utility__actions,
body .journey-stage__actions,
body .help-banner__actions,
body .admin-actions,
body .footer__buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
}

body .button--small {
  min-height: 36px !important;
  padding: 8px 14px !important;
  font-size: 14px !important;
}

body .button--wide {
  width: auto !important;
  min-width: 160px !important;
}

/* Floating service rail: remove duplicated icon-label text and keep it polished on mobile. */
body .floating-rail {
  right: 24px !important;
  width: 52px !important;
  filter: drop-shadow(0 18px 28px rgba(21, 83, 67, 0.16)) !important;
}

body .floating-rail__buttons {
  width: 52px !important;
  gap: 8px !important;
}

body .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button {
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.24) !important;
  background: linear-gradient(135deg, #168b66, #28b17f) !important;
  box-shadow:
    0 14px 24px rgba(21, 83, 67, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.24) !important;
}

body .floating-rail__button:nth-child(1),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(1) {
  background: linear-gradient(135deg, #e85f65, #f28b67) !important;
}

body .floating-rail__button:nth-child(2),
body .floating-rail__button:nth-child(3),
body .floating-rail__button:nth-child(4),
body .floating-rail__button:nth-child(5),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(2),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(3),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(4),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(5) {
  background: linear-gradient(135deg, #248f9b, #4aa6c8) !important;
}

body .floating-rail__button--top,
body .floating-rail .floating-rail__buttons .floating-rail__button--top {
  background: linear-gradient(135deg, #86b83f, #44a568) !important;
}

body .floating-rail__icon {
  display: none !important;
}

body .floating-rail__label {
  max-width: 44px !important;
  font-size: 12px !important;
  line-height: 1.16 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
}

body .floating-rail__button--top .floating-rail__icon {
  display: none !important;
  font-size: 14px !important;
}

body .floating-rail__button--top .floating-rail__label {
  font-size: 10px !important;
}

body .floating-rail.is-open .floating-panel {
  right: 66px !important;
  width: min(320px, calc(100vw - 110px)) !important;
  border-radius: 18px !important;
}

@media (max-width: 980px) {
  body .brand {
    min-width: 96px !important;
  }

  body .brand__logo {
    width: 96px !important;
    height: 67px !important;
    flex-basis: 96px !important;
  }

  body .site-search {
    grid-template-columns: 1fr !important;
  }

  body .article-layout,
  body .guide-layout {
    grid-template-columns: 1fr !important;
  }

  body .floating-rail {
    top: auto !important;
    right: 12px !important;
    bottom: 12px !important;
    left: 12px !important;
    width: auto !important;
    transform: none !important;
    z-index: 95 !important;
  }

  body .floating-rail__buttons {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding: 8px !important;
    border: 1px solid rgba(174, 214, 199, 0.72) !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: 0 18px 36px rgba(21, 83, 67, 0.18) !important;
    backdrop-filter: blur(14px) !important;
  }

  body .floating-rail__button,
  body .floating-rail .floating-rail__buttons .floating-rail__button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    border-radius: 14px !important;
  }

  body .floating-rail__label {
    max-width: 100% !important;
    font-size: 11px !important;
    line-height: 1.12 !important;
  }

  body .floating-rail.is-open .floating-panel {
    right: 0 !important;
    left: 0 !important;
    top: auto !important;
    bottom: 66px !important;
    width: 100% !important;
    max-width: none !important;
  }

  body {
    padding-bottom: 74px !important;
  }
}

@media (max-width: 520px) {
  body .brand {
    min-width: 82px !important;
  }

  body .brand__logo {
    width: 82px !important;
    height: 57px !important;
    flex-basis: 82px !important;
  }

  body .footer__logo-image {
    width: 96px !important;
    height: 66px !important;
    flex-basis: 96px !important;
  }

  body .breadcrumb {
    width: 100% !important;
    border-radius: 16px !important;
  }

  body .button,
  body a.button,
  body button.button,
  body .footer__button {
    width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    text-align: center !important;
  }

  body .guide-tile,
  body .side-card,
  body .panel-card,
  body .event-modal__panel {
    border-radius: 16px !important;
    padding: 18px !important;
  }

  body .footer__qr {
    justify-items: stretch !important;
  }

  body .footer__qr-box {
    width: 108px !important;
    height: 108px !important;
  }
}

@media (max-width: 640px) {
  body .content-table,
  body .demand-table {
    padding: 14px !important;
    overflow: visible !important;
  }

  body .content-table table,
  body .demand-table table,
  body .content-table thead,
  body .demand-table thead,
  body .content-table tbody,
  body .demand-table tbody,
  body .content-table tr,
  body .demand-table tr,
  body .content-table th,
  body .demand-table th,
  body .content-table td,
  body .demand-table td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body .content-table thead,
  body .demand-table thead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
  }

  body .content-table tr,
  body .demand-table tr {
    margin: 0 0 12px !important;
    padding: 14px !important;
    border: 1px solid rgba(166, 211, 194, 0.78) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.82) !important;
    box-shadow: 0 10px 22px rgba(21, 83, 67, 0.08) !important;
  }

  body .content-table td,
  body .demand-table td {
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: start !important;
    padding: 8px 0 !important;
    border-bottom: 1px dashed rgba(171, 207, 194, 0.72) !important;
    overflow-wrap: anywhere !important;
  }

  body .content-table td:last-child,
  body .demand-table td:last-child {
    border-bottom: 0 !important;
  }

  body .content-table td::before,
  body .demand-table td::before {
    color: #69857d !important;
    font-weight: 900 !important;
  }

  body .demand-table td:nth-child(1)::before { content: "需求类型" !important; }
  body .demand-table td:nth-child(2)::before { content: "数量" !important; }
  body .demand-table td:nth-child(3)::before { content: "占比" !important; }
  body .demand-table td:nth-child(4)::before { content: "建议动作" !important; }

  body .content-table td:nth-child(1)::before { content: "标题" !important; }
  body .content-table td:nth-child(2)::before { content: "分类" !important; }
  body .content-table td:nth-child(3)::before { content: "状态" !important; }
  body .content-table td:nth-child(4)::before { content: "更新时间" !important; }
  body .content-table td:nth-child(5)::before { content: "操作" !important; }
}

@media (max-width: 640px) {
  html body .dashboard-card .demand-table > table,
  html body .admin-card .content-table > table,
  html body .section-panel .content-table > table,
  html body .dashboard-card .demand-table > table > tbody,
  html body .admin-card .content-table > table > tbody,
  html body .section-panel .content-table > table > tbody,
  html body .dashboard-card .demand-table > table > tbody > tr,
  html body .admin-card .content-table > table > tbody > tr,
  html body .section-panel .content-table > table > tbody > tr,
  html body .dashboard-card .demand-table > table > tbody > tr > td,
  html body .admin-card .content-table > table > tbody > tr > td,
  html body .section-panel .content-table > table > tbody > tr > td {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    inline-size: 100% !important;
    min-inline-size: 0 !important;
    max-inline-size: 100% !important;
  }

  html body .dashboard-card .demand-table > table,
  html body .admin-card .content-table > table,
  html body .section-panel .content-table > table {
    display: block !important;
    table-layout: fixed !important;
  }
}

/* Functional-page finish: make utility lists, forms, status chips and secondary cards feel designed. */
body .news-item,
body .impact-card,
body .stat-card,
body .form-card,
body .disease-card,
body .quick-form,
body .admin-form,
body .article-list__summary,
body .knowledge-index__list,
body .progress-list,
body .store-heat-list,
body .review-list,
body .faq-list,
body .event-list,
body .tool-list {
  box-sizing: border-box !important;
  max-width: 100% !important;
}

body .news-item,
body .impact-card,
body .stat-card,
body .form-card,
body .disease-card,
body .quick-form,
body .admin-form {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(174, 214, 199, 0.84) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(246, 253, 250, 0.96)),
    radial-gradient(circle at 100% 0, rgba(83, 169, 210, 0.10), transparent 34%),
    radial-gradient(circle at 0 100%, rgba(35, 168, 117, 0.09), transparent 30%) !important;
  box-shadow:
    0 18px 42px rgba(21, 83, 67, 0.10),
    0 6px 18px rgba(43, 49, 94, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
}

body .news-item::before,
body .impact-card::before,
body .stat-card::before,
body .form-card::before,
body .disease-card::before,
body .quick-form::before,
body .admin-form::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto !important;
  height: 4px !important;
  background: linear-gradient(90deg, #23a875, #8bcf9d 44%, #5aa8d8) !important;
  opacity: 0.86 !important;
  pointer-events: none !important;
}

body .news-item > *,
body .impact-card > *,
body .stat-card > *,
body .form-card > *,
body .disease-card > *,
body .quick-form > *,
body .admin-form > * {
  position: relative !important;
  z-index: 1 !important;
}

body .news-item:hover,
body .impact-card:hover,
body .stat-card:hover,
body .form-card:hover,
body .disease-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(105, 190, 157, 0.92) !important;
  box-shadow:
    0 24px 54px rgba(21, 83, 67, 0.14),
    0 10px 24px rgba(43, 49, 94, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.98) !important;
}

body .progress-list,
body .store-heat-list,
body .review-list,
body .knowledge-index__list,
body .article-list,
body .event-list,
body .tool-list,
body .faq-list {
  gap: 14px !important;
}

body .progress-list li,
body .store-heat-list li,
body .review-list li,
body .knowledge-index__list a,
body .article-list__summary,
body .form-feedback,
body .quick-form__feedback {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  border: 1px solid rgba(176, 216, 201, 0.76) !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, rgba(246, 253, 249, 0.96), rgba(238, 248, 255, 0.90)) !important;
  color: #315d53 !important;
  box-shadow: 0 10px 22px rgba(21, 83, 67, 0.07) !important;
  overflow-wrap: anywhere !important;
}

body .form-feedback:empty,
body .quick-form__feedback:empty {
  display: none !important;
}

body .status,
body .store-status,
body .event-status,
body .article-card__type,
body .disease-tag,
body .page-card__meta span,
body .store-card__meta span,
body .dashboard-card__head span,
body [data-search-term],
body .popular-searches button {
  box-sizing: border-box !important;
  min-height: 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  border: 1px solid rgba(102, 184, 154, 0.44) !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, rgba(232, 249, 242, 0.98), rgba(229, 246, 255, 0.94)) !important;
  color: #15614f !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;
  white-space: normal !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86), 0 8px 16px rgba(21, 83, 67, 0.06) !important;
}

body progress {
  width: 100% !important;
  height: 10px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(214, 234, 226, 0.92) !important;
  box-shadow: inset 0 1px 2px rgba(21, 83, 67, 0.10) !important;
}

body progress::-webkit-progress-bar {
  border-radius: 999px !important;
  background: rgba(214, 234, 226, 0.92) !important;
}

body progress::-webkit-progress-value {
  border-radius: 999px !important;
  background: linear-gradient(90deg, #23a875, #53a9d2) !important;
}

body .admin-form,
body .quick-form,
body .booking-form {
  display: grid !important;
  gap: 16px !important;
}

body .admin-form label,
body .quick-form label,
body .booking-form label,
body .booking-form fieldset {
  min-width: 0 !important;
  color: #234f45 !important;
  font-weight: 800 !important;
}

body .admin-form input,
body .admin-form select,
body .admin-form textarea,
body .quick-form input,
body .quick-form select,
body .quick-form textarea {
  width: 100% !important;
}

/* Final button color lock: remove legacy purple from ghost and small actions. */
body .button,
body a.button,
body button.button,
body .footer__button {
  border-color: rgba(92, 179, 145, 0.34) !important;
  color: #155249 !important;
}

body .button:not(.button--ghost):not(.button--secondary),
body a.button:not(.button--ghost):not(.button--secondary),
body button.button:not(.button--ghost):not(.button--secondary),
body input[type="submit"] {
  color: #ffffff !important;
  background: linear-gradient(135deg, #168b66, #24b07c 48%, #53a9d2) !important;
  border-color: rgba(255, 255, 255, 0.24) !important;
}

body .button--ghost,
body a.button--ghost,
body button.button--ghost {
  color: #155249 !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(237, 250, 245, 0.90)),
    radial-gradient(circle at 100% 0, rgba(83, 169, 210, 0.10), transparent 34%) !important;
  border-color: rgba(92, 179, 145, 0.42) !important;
  box-shadow:
    0 10px 22px rgba(21, 83, 67, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
}

body .button--secondary,
body a.button--secondary,
body button.button--secondary {
  color: #125748 !important;
  background: linear-gradient(135deg, rgba(235, 250, 244, 0.98), rgba(230, 247, 255, 0.96)) !important;
  border-color: rgba(79, 178, 142, 0.42) !important;
}

body .header__actions .button--ghost,
body .header__actions a.button--ghost,
body .header__actions button.button--ghost,
body .site-header .button--ghost,
body .header a.button.button--ghost {
  color: #155249 !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(237, 250, 245, 0.90)),
    radial-gradient(circle at 100% 0, rgba(83, 169, 210, 0.10), transparent 34%) !important;
  border-color: rgba(92, 179, 145, 0.42) !important;
  box-shadow:
    0 10px 22px rgba(21, 83, 67, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
}

/* Interaction finish: navigation, focus rings, checkbox chips and CTA rows stay in the green system. */
body {
  --brand: #168b66 !important;
  --brand-dark: #125748 !important;
  --brand-soft: #eaf8f1 !important;
  --accent: #53a9d2 !important;
}

body .menu-toggle,
body button.menu-toggle,
body .event-modal__close {
  color: #155249 !important;
  border: 1px solid rgba(92, 179, 145, 0.42) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(237, 250, 245, 0.92)),
    radial-gradient(circle at 100% 0, rgba(83, 169, 210, 0.10), transparent 34%) !important;
  box-shadow: 0 10px 22px rgba(21, 83, 67, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
}

body .menu-toggle::before,
body .menu-toggle::after,
body button.menu-toggle::before,
body button.menu-toggle::after {
  background: #155249 !important;
  box-shadow: none !important;
}

body .nav-dropdown__trigger,
body .subnav a,
body .breadcrumb,
body .article-meta span,
body .article-meta a,
body .article-meta button,
body .page-hero__meta span {
  color: #155249 !important;
  border-color: rgba(102, 184, 154, 0.42) !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(237, 250, 245, 0.86)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86), 0 8px 16px rgba(21, 83, 67, 0.05) !important;
}

body .nav-dropdown:hover .nav-dropdown__trigger,
body .nav-dropdown:focus-within .nav-dropdown__trigger,
body .subnav a:hover,
body .breadcrumb a:hover,
body .article-meta a:hover,
body .article-meta button:hover {
  color: #0f4d40 !important;
  border-color: rgba(35, 168, 117, 0.64) !important;
  background: linear-gradient(135deg, rgba(232, 249, 242, 0.98), rgba(229, 246, 255, 0.94)) !important;
}

body .nav-dropdown__menu {
  border: 1px solid rgba(171, 214, 199, 0.86) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 253, 250, 0.96)),
    radial-gradient(circle at 100% 0, rgba(83, 169, 210, 0.10), transparent 34%) !important;
  box-shadow: 0 22px 48px rgba(21, 83, 67, 0.14) !important;
}

body .header .nav .nav-dropdown__menu,
body .header .nav .nav-dropdown .nav-dropdown__menu,
body:has(.page-hero__panel) .nav-dropdown__menu,
body:has(.page-hero__panel) .header .nav .nav-dropdown__menu {
  border: 1px solid rgba(171, 214, 199, 0.86) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 253, 250, 0.96)),
    radial-gradient(circle at 100% 0, rgba(83, 169, 210, 0.10), transparent 34%) !important;
  box-shadow: 0 22px 48px rgba(21, 83, 67, 0.14) !important;
}

body .nav-dropdown__menu a {
  color: #23564c !important;
  border-radius: 12px !important;
}

body .header .nav .nav-dropdown__menu a,
body:has(.page-hero__panel) .nav-dropdown__menu a {
  color: #23564c !important;
  border-radius: 12px !important;
}

body .nav-dropdown__menu a:hover,
body .nav-dropdown__menu a:focus-visible {
  color: #0f4d40 !important;
  background: linear-gradient(135deg, rgba(232, 249, 242, 0.98), rgba(229, 246, 255, 0.94)) !important;
}

body .cta-row,
body .page-utility__actions,
body .hero__actions,
body .help-banner__actions,
body .admin-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}

body .check-grid {
  gap: 10px !important;
}

body .check-grid label {
  min-width: 0 !important;
  border: 1px solid rgba(176, 216, 201, 0.76) !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, rgba(246, 253, 249, 0.96), rgba(238, 248, 255, 0.90)) !important;
  color: #234f45 !important;
  box-shadow: 0 8px 18px rgba(21, 83, 67, 0.06) !important;
}

body input[type="checkbox"],
body input[type="radio"] {
  accent-color: #168b66 !important;
}

body :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 0 !important;
  box-shadow:
    0 0 0 4px rgba(35, 168, 117, 0.16),
    0 10px 22px rgba(21, 83, 67, 0.10) !important;
}

body ::selection {
  background: rgba(35, 168, 117, 0.22) !important;
  color: #103f36 !important;
}

/* State finish: current, selected, pressed and disabled states use the same refined system. */
body .nav a[aria-current="page"],
body .header__actions a[aria-current="page"],
body .subnav a[aria-current="page"],
body .knowledge-filter a[aria-current="page"],
body .article-filters a[aria-current="page"],
body .nav a.is-active,
body .subnav a.is-active {
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
  background: linear-gradient(135deg, #168b66, #24b07c 48%, #53a9d2) !important;
  box-shadow:
    0 12px 26px rgba(21, 83, 67, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.32) !important;
}

body .popular-searches button.is-active,
body .popular-searches button[aria-pressed="true"],
body [data-search-term].is-active,
body [data-search-term][aria-pressed="true"] {
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
  background: linear-gradient(135deg, #168b66, #24b07c 48%, #53a9d2) !important;
  box-shadow:
    0 12px 24px rgba(21, 83, 67, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.32) !important;
}

body .button:active,
body a.button:active,
body button.button:active,
body .menu-toggle:active,
body .event-modal__close:active,
body [data-search-term]:active,
body .floating-rail__button:active {
  transform: translateY(0) scale(0.98) !important;
  box-shadow:
    0 6px 14px rgba(21, 83, 67, 0.10),
    inset 0 2px 5px rgba(20, 87, 70, 0.10) !important;
}

body button:disabled,
body .button[aria-disabled="true"],
body .button.is-disabled,
body input:disabled,
body select:disabled,
body textarea:disabled {
  cursor: not-allowed !important;
  opacity: 0.58 !important;
  filter: saturate(0.72) !important;
  box-shadow: none !important;
}

body [hidden],
body .is-hidden {
  display: none !important;
}

body [data-store-card],
body [data-article-card] {
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease !important;
}

body .event-modal.is-open .event-modal__panel,
body .floating-rail.is-open .floating-panel {
  border-color: rgba(171, 214, 199, 0.86) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 253, 250, 0.96)),
    radial-gradient(circle at 100% 0, rgba(83, 169, 210, 0.12), transparent 34%) !important;
  box-shadow: 0 26px 62px rgba(21, 83, 67, 0.18) !important;
}

/* Final overlay title lock: keep over-image story titles white. */
body .story-split .story-visual > h3,
body .story-split .story-visual > h3 *,
body.home-polish .story-split .story-visual > h3,
body.home-polish .story-split .story-visual > h3 * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: none !important;
  background-image: none !important;
  text-shadow: 0 3px 18px rgba(0, 0, 0, 0.68) !important;
  mix-blend-mode: normal !important;
}

body .story-split .story-visual::after,
body.home-polish .story-split .story-visual::after {
  background:
    linear-gradient(180deg, rgba(7, 28, 24, 0.04) 0%, rgba(7, 28, 24, 0.34) 44%, rgba(7, 28, 24, 0.82) 100%) !important;
}

/* Final palette lock: route legacy accent variables into the green healthcare system. */
body {
  --brand: #168b66 !important;
  --brand-dark: #125748 !important;
  --brand-soft: #eaf8f1 !important;
  --accent: #53a9d2 !important;
  --accent-soft: #e6f6ff !important;
  --ui-lilac: #eaf8f1 !important;
  --hope-purple: #168b66 !important;
  --hope-purple-deep: #125748 !important;
  --v5-purple: #168b66 !important;
  --v5-purple-2: #24b07c !important;
  --v5-purple-deep: #125748 !important;
  --v5-purple-soft: #eaf8f1 !important;
  --figma-purple: #168b66 !important;
  --figma-purple-dark: #125748 !important;
  --repair-accent: #168b66 !important;
  --card-accent: #168b66 !important;
  --button-color: #168b66 !important;
}

body .footer {
  background: linear-gradient(180deg, #f4fbf8 0%, #edf8f3 100%) !important;
  border-top-color: rgba(184, 220, 205, 0.95) !important;
}

body .footer__contact-card,
body .footer__brand {
  border-color: rgba(184, 220, 205, 0.95) !important;
  box-shadow: 0 14px 34px rgba(21, 83, 67, 0.08) !important;
}

body .footer,
body .footer p,
body .footer li,
body .footer a,
body .footer__intro,
body .footer__brand,
body .footer__contact-card {
  color: #3d665c !important;
}

body .footer h2,
body .footer h3,
body .footer strong,
body .footer__logo h2,
body .footer__logo p {
  color: #123f36 !important;
}

body .footer__social-placeholder,
body .footer__socials a,
body.home-polish .journey-steps span {
  color: #168b66 !important;
  background: linear-gradient(135deg, #ffffff, #f0faf5) !important;
  border-color: rgba(184, 220, 205, 0.95) !important;
}

body input:focus,
body select:focus,
body textarea:focus {
  border-color: rgba(34, 159, 113, 0.68) !important;
  box-shadow:
    0 0 0 4px rgba(34, 159, 113, 0.14),
    inset 0 1px 2px rgba(28, 92, 76, 0.06) !important;
}

body .hero__panel,
body .hero__panel .panel-card,
body .dashboard-card,
body .admin-card,
body .content-table,
body .demand-table,
body .tool-sheet,
body .store-heat-list li {
  border-color: rgba(184, 220, 205, 0.92) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 253, 250, 0.96)),
    radial-gradient(circle at 100% 0, rgba(83, 169, 210, 0.10), transparent 34%) !important;
  box-shadow:
    0 18px 44px rgba(21, 83, 67, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
}

body .floating-rail {
  position: fixed !important;
  top: 50% !important;
  right: max(16px, env(safe-area-inset-right)) !important;
  left: auto !important;
  bottom: auto !important;
  width: 48px !important;
  max-width: 48px !important;
  height: auto !important;
  min-height: 0 !important;
  display: block !important;
  transform: translateY(-50%) !important;
  translate: none !important;
  overflow: visible !important;
}

body .floating-rail__buttons {
  position: relative !important;
  inset: auto !important;
  left: 0 !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  padding: 0 !important;
  margin: 0 !important;
  transform: none !important;
  translate: none !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button {
  position: relative !important;
  inset: auto !important;
  left: 0 !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  transform: none !important;
  translate: none !important;
}

body .floating-rail > .floating-panel,
body .floating-rail .floating-panel {
  display: none !important;
  position: absolute !important;
  top: 0 !important;
  right: 58px !important;
  left: auto !important;
  bottom: auto !important;
  width: min(320px, calc(100vw - 100px)) !important;
  max-width: 320px !important;
  max-height: min(70vh, 520px) !important;
  overflow: auto !important;
  transform: none !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

body .floating-rail.is-open > .floating-panel,
body .floating-rail.is-open .floating-panel {
  display: block !important;
}

body .floating-panel__close {
  color: #155249 !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(237, 250, 245, 0.92)) !important;
  border-color: rgba(92, 179, 145, 0.42) !important;
  box-shadow:
    0 8px 18px rgba(21, 83, 67, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
}

body .related-links__card {
  height: auto !important;
  min-height: 144px !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  align-items: flex-start !important;
}

body .related-links__card * {
  max-width: 100% !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
}

/* Tech finish: add a refined clinical-tech surface to every card family. */
body {
  --tech-card-border: rgba(112, 203, 174, 0.48) !important;
  --tech-card-border-strong: rgba(67, 180, 148, 0.72) !important;
  --tech-card-shadow: rgba(21, 83, 67, 0.13) !important;
  --tech-card-blue: rgba(83, 169, 210, 0.16) !important;
  --tech-card-green: rgba(36, 176, 124, 0.14) !important;
}

body .page-card:not(.page-card--media),
body .section-panel,
body .panel-card,
body .guide-card,
body .guide-tile,
body .knowledge-card,
body .knowledge-column,
body .store-card,
body .stat-card,
body .heat-list,
body .store-heat-list,
body .article-body,
body .article-sidebar .side-card,
body .tool-sheet,
body .service-card,
body .process-card,
body .detail-card,
body .article-card,
body .download-card,
body .event-card,
body .feature-card,
body .info-card,
body .resource-card,
body .search-result-card,
body .related-links__card,
body .guide-sidebar__card,
body .store-locator__card,
body .contact-panel,
body .map-card,
body .visual-card,
body .service-standard__card,
body .dashboard-card,
body .admin-card,
body .side-card,
body .metric-grid article,
body .status-grid article,
body .results-stats article,
body .hero__stats article,
body .footer__contact-card,
body .content-table,
body .demand-table,
body .bar-chart,
body .progress-list,
body .popular-searches,
body .article-filters,
body .admin-actions {
  position: relative !important;
  isolation: isolate !important;
  border: 1px solid var(--tech-card-border) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(246, 253, 250, 0.94) 54%, rgba(238, 249, 255, 0.92)),
    linear-gradient(90deg, rgba(255, 255, 255, 0.54), rgba(255, 255, 255, 0.08)) !important;
  box-shadow:
    0 24px 54px var(--tech-card-shadow),
    0 8px 22px rgba(83, 169, 210, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.96),
    inset 0 0 0 1px rgba(255, 255, 255, 0.42) !important;
  backdrop-filter: blur(10px) saturate(1.08) !important;
}

body .page-card:not(.page-card--media)::before,
body .section-panel::before,
body .panel-card::before,
body .guide-card::before,
body .guide-tile::before,
body .knowledge-card::before,
body .knowledge-column::before,
body .store-card::before,
body .stat-card::before,
body .heat-list::before,
body .store-heat-list::before,
body .article-body::before,
body .article-sidebar .side-card::before,
body .tool-sheet::before,
body .service-card::before,
body .process-card::before,
body .detail-card::before,
body .article-card::before,
body .download-card::before,
body .event-card::before,
body .feature-card::before,
body .info-card::before,
body .resource-card::before,
body .search-result-card::before,
body .related-links__card::before,
body .guide-sidebar__card::before,
body .store-locator__card::before,
body .contact-panel::before,
body .map-card::before,
body .visual-card::before,
body .service-standard__card::before,
body .dashboard-card::before,
body .admin-card::before,
body .side-card::before,
body .metric-grid article::before,
body .status-grid article::before,
body .results-stats article::before,
body .hero__stats article::before,
body .footer__contact-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  border-radius: inherit !important;
  background:
    linear-gradient(90deg, rgba(22, 139, 102, 0.30), rgba(83, 169, 210, 0.18), rgba(255, 255, 255, 0)) 0 0 / 100% 2px no-repeat,
    linear-gradient(135deg, rgba(255, 255, 255, 0.44), rgba(255, 255, 255, 0) 38%),
    repeating-linear-gradient(90deg, rgba(22, 139, 102, 0.055) 0 1px, transparent 1px 18px),
    repeating-linear-gradient(0deg, rgba(83, 169, 210, 0.045) 0 1px, transparent 1px 18px) !important;
  opacity: 0.72 !important;
}

body .page-card:not(.page-card--media)::after,
body .section-panel::after,
body .panel-card::after,
body .guide-card::after,
body .guide-tile::after,
body .knowledge-card::after,
body .knowledge-column::after,
body .store-card::after,
body .stat-card::after,
body .heat-list::after,
body .store-heat-list::after,
body .article-body::after,
body .article-sidebar .side-card::after,
body .tool-sheet::after,
body .service-card::after,
body .process-card::after,
body .detail-card::after,
body .article-card::after,
body .download-card::after,
body .event-card::after,
body .feature-card::after,
body .info-card::after,
body .resource-card::after,
body .search-result-card::after,
body .related-links__card::after,
body .guide-sidebar__card::after,
body .store-locator__card::after,
body .contact-panel::after,
body .map-card::after,
body .visual-card::after,
body .service-standard__card::after,
body .dashboard-card::after,
body .admin-card::after,
body .side-card::after,
body .metric-grid article::after,
body .status-grid article::after,
body .results-stats article::after,
body .hero__stats article::after {
  content: "" !important;
  position: absolute !important;
  inset: 1px !important;
  z-index: 0 !important;
  pointer-events: none !important;
  border-radius: inherit !important;
  background:
    linear-gradient(135deg, transparent 0 64%, rgba(83, 169, 210, 0.10) 64% 66%, transparent 66%),
    linear-gradient(45deg, transparent 0 72%, rgba(36, 176, 124, 0.10) 72% 74%, transparent 74%) !important;
  opacity: 0.72 !important;
}

body .page-card:not(.page-card--media) > *,
body .section-panel > *,
body .panel-card > *,
body .guide-card > *,
body .guide-tile > *,
body .knowledge-card > *,
body .knowledge-column > *,
body .store-card > *,
body .stat-card > *,
body .heat-list > *,
body .store-heat-list > *,
body .article-body > *,
body .article-sidebar .side-card > *,
body .tool-sheet > *,
body .service-card > *,
body .process-card > *,
body .detail-card > *,
body .article-card > *,
body .download-card > *,
body .event-card > *,
body .feature-card > *,
body .info-card > *,
body .resource-card > *,
body .search-result-card > *,
body .related-links__card > *,
body .guide-sidebar__card > *,
body .store-locator__card > *,
body .contact-panel > *,
body .map-card > *,
body .visual-card > *,
body .service-standard__card > *,
body .dashboard-card > *,
body .admin-card > *,
body .side-card > *,
body .metric-grid article > *,
body .status-grid article > *,
body .results-stats article > *,
body .hero__stats article > *,
body .footer__contact-card > * {
  position: relative !important;
  z-index: 1 !important;
}

body .page-card.page-card--media,
body .story-card,
body .support-card,
body .gallery-card,
body .story-gallery__card,
body .photo-card {
  border-color: rgba(255, 255, 255, 0.88) !important;
  box-shadow:
    0 28px 64px rgba(21, 83, 67, 0.18),
    0 8px 24px rgba(83, 169, 210, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.62) !important;
}

body .page-card.page-card--media::after,
body .story-card::after,
body .support-card::after,
body .gallery-card::after,
body .story-gallery__card::after,
body .photo-card::after {
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.42),
    inset 0 28px 48px rgba(255, 255, 255, 0.12) !important;
}

body .page-card:not(.page-card--media):hover,
body .section-panel:hover,
body .panel-card:hover,
body .guide-card:hover,
body .guide-tile:hover,
body .knowledge-card:hover,
body .knowledge-column:hover,
body .store-card:hover,
body .stat-card:hover,
body .heat-list:hover,
body .store-heat-list:hover,
body .article-body:hover,
body .tool-sheet:hover,
body .service-card:hover,
body .process-card:hover,
body .detail-card:hover,
body .article-card:hover,
body .download-card:hover,
body .event-card:hover,
body .feature-card:hover,
body .info-card:hover,
body .resource-card:hover,
body .search-result-card:hover,
body .related-links__card:hover,
body .guide-sidebar__card:hover,
body .store-locator__card:hover,
body .contact-panel:hover,
body .map-card:hover,
body .visual-card:hover,
body .service-standard__card:hover,
body .dashboard-card:hover,
body .admin-card:hover,
body .side-card:hover,
body .metric-grid article:hover,
body .status-grid article:hover {
  transform: translateY(-4px) !important;
  border-color: var(--tech-card-border-strong) !important;
  box-shadow:
    0 30px 70px rgba(21, 83, 67, 0.16),
    0 12px 28px rgba(83, 169, 210, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.98),
    inset 0 0 0 1px rgba(255, 255, 255, 0.52) !important;
}

/* Tech finish extras: smaller operational blocks should share the same upgraded surface. */
body .admin-sidebar,
body .admin-form,
body .quick-form,
body .booking-form,
body .site-search,
body .publish-flow article,
body .status-grid span,
body .review-list,
body .check-grid label,
body .footer__brand,
body .footer__qr,
body .footer__qr-box,
body .event-modal__panel,
body .floating-panel {
  position: relative !important;
  isolation: isolate !important;
  border-color: var(--tech-card-border) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(247, 253, 250, 0.94) 58%, rgba(239, 249, 255, 0.92)),
    repeating-linear-gradient(90deg, rgba(22, 139, 102, 0.035) 0 1px, transparent 1px 18px) !important;
  box-shadow:
    0 18px 40px rgba(21, 83, 67, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.94),
    inset 0 0 0 1px rgba(255, 255, 255, 0.38) !important;
}

body .admin-sidebar::before,
body .admin-form::before,
body .quick-form::before,
body .booking-form::before,
body .site-search::before,
body .publish-flow article::before,
body .status-grid span::before,
body .review-list::before,
body .check-grid label::before,
body .footer__brand::before,
body .footer__qr::before,
body .footer__qr-box::before,
body .event-modal__panel::before,
body .floating-panel::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  border-radius: inherit !important;
  background:
    linear-gradient(90deg, rgba(22, 139, 102, 0.24), rgba(83, 169, 210, 0.14), transparent) 0 0 / 100% 2px no-repeat,
    linear-gradient(135deg, rgba(255, 255, 255, 0.40), transparent 42%) !important;
  opacity: 0.82 !important;
}

body .admin-sidebar > *,
body .admin-form > *,
body .quick-form > *,
body .booking-form > *,
body .site-search > *,
body .publish-flow article > *,
body .status-grid span > *,
body .review-list > *,
body .check-grid label > *,
body .footer__brand > *,
body .footer__qr > *,
body .footer__qr-box > *,
body .event-modal__panel > *,
body .floating-panel > * {
  position: relative !important;
  z-index: 1 !important;
}

/* Card color redesign: give each content family a distinct but calm clinical palette. */
body .page-card:not(.page-card--media),
body .feature-card,
body .info-card,
body .service-card,
body .process-card,
body .section-panel,
body .panel-card {
  --card-tint-1: rgba(237, 251, 246, 0.98);
  --card-tint-2: rgba(230, 247, 255, 0.88);
  --card-accent-a: rgba(22, 139, 102, 0.34);
  --card-accent-b: rgba(83, 169, 210, 0.18);
  --card-border-local: rgba(112, 203, 174, 0.52);
  --card-shadow-local: rgba(21, 83, 67, 0.13);
}

body .knowledge-card,
body .knowledge-column,
body .article-card,
body .resource-card,
body .guide-card,
body .guide-tile,
body .search-result-card,
body .related-links__card {
  --card-tint-1: rgba(239, 248, 255, 0.98);
  --card-tint-2: rgba(234, 253, 247, 0.90);
  --card-accent-a: rgba(56, 143, 210, 0.34);
  --card-accent-b: rgba(22, 139, 102, 0.18);
  --card-border-local: rgba(114, 183, 222, 0.54);
  --card-shadow-local: rgba(42, 109, 151, 0.13);
}

body .store-card,
body .store-locator__card,
body .service-standard__card,
body .map-card,
body .visual-card,
body .contact-panel {
  --card-tint-1: rgba(235, 251, 243, 0.98);
  --card-tint-2: rgba(244, 250, 229, 0.86);
  --card-accent-a: rgba(31, 158, 104, 0.36);
  --card-accent-b: rgba(132, 184, 63, 0.18);
  --card-border-local: rgba(111, 199, 156, 0.56);
  --card-shadow-local: rgba(20, 116, 82, 0.13);
}

body .event-card,
body .story-card,
body .support-card,
body .story-gallery__card,
body .gallery-card,
body .photo-card {
  --card-tint-1: rgba(255, 247, 242, 0.96);
  --card-tint-2: rgba(238, 250, 255, 0.82);
  --card-accent-a: rgba(233, 107, 96, 0.34);
  --card-accent-b: rgba(83, 169, 210, 0.16);
  --card-border-local: rgba(232, 166, 141, 0.58);
  --card-shadow-local: rgba(166, 78, 61, 0.12);
}

body .tool-sheet,
body .download-card,
body .check-grid label,
body .booking-form,
body .quick-form,
body .admin-form,
body .site-search {
  --card-tint-1: rgba(255, 251, 238, 0.98);
  --card-tint-2: rgba(236, 250, 246, 0.88);
  --card-accent-a: rgba(215, 167, 68, 0.32);
  --card-accent-b: rgba(22, 139, 102, 0.18);
  --card-border-local: rgba(221, 187, 111, 0.56);
  --card-shadow-local: rgba(128, 102, 42, 0.11);
}

body .admin-card,
body .dashboard-card,
body .admin-sidebar,
body .content-table,
body .demand-table,
body .bar-chart,
body .progress-list,
body .publish-flow article,
body .status-grid span,
body .review-list,
body .stat-card,
body .heat-list {
  --card-tint-1: rgba(239, 250, 252, 0.98);
  --card-tint-2: rgba(238, 248, 255, 0.90);
  --card-accent-a: rgba(42, 163, 178, 0.34);
  --card-accent-b: rgba(67, 180, 148, 0.18);
  --card-border-local: rgba(105, 190, 198, 0.56);
  --card-shadow-local: rgba(35, 115, 132, 0.12);
}

body .metric-grid article,
body .status-grid article,
body .results-stats article,
body .hero__stats article,
body .footer__contact-card,
body .footer__brand,
body .footer__qr,
body .footer__qr-box {
  --card-tint-1: rgba(246, 252, 241, 0.98);
  --card-tint-2: rgba(237, 249, 255, 0.86);
  --card-accent-a: rgba(132, 184, 63, 0.34);
  --card-accent-b: rgba(83, 169, 210, 0.16);
  --card-border-local: rgba(158, 203, 113, 0.54);
  --card-shadow-local: rgba(83, 122, 49, 0.11);
}

body .page-card:not(.page-card--media),
body .section-panel,
body .panel-card,
body .guide-card,
body .guide-tile,
body .knowledge-card,
body .knowledge-column,
body .store-card,
body .stat-card,
body .heat-list,
body .store-heat-list,
body .article-body,
body .tool-sheet,
body .service-card,
body .process-card,
body .detail-card,
body .article-card,
body .download-card,
body .event-card,
body .feature-card,
body .info-card,
body .resource-card,
body .search-result-card,
body .related-links__card,
body .guide-sidebar__card,
body .store-locator__card,
body .contact-panel,
body .map-card,
body .visual-card,
body .service-standard__card,
body .dashboard-card,
body .admin-card,
body .side-card,
body .metric-grid article,
body .status-grid article,
body .results-stats article,
body .hero__stats article,
body .footer__contact-card,
body .footer__brand,
body .content-table,
body .demand-table,
body .bar-chart,
body .progress-list,
body .popular-searches,
body .article-filters,
body .admin-actions,
body .admin-sidebar,
body .admin-form,
body .quick-form,
body .booking-form,
body .site-search,
body .publish-flow article,
body .status-grid span,
body .review-list,
body .check-grid label,
body .footer__qr,
body .footer__qr-box,
body .event-modal__panel,
body .floating-panel {
  border-color: var(--card-border-local, var(--tech-card-border)) !important;
  background:
    linear-gradient(135deg, var(--card-tint-1, rgba(255, 255, 255, 0.98)), var(--card-tint-2, rgba(246, 253, 250, 0.94))),
    radial-gradient(circle at 100% 0, var(--card-accent-b, rgba(83, 169, 210, 0.14)), transparent 34%) !important;
  box-shadow:
    0 24px 56px var(--card-shadow-local, rgba(21, 83, 67, 0.13)),
    0 8px 22px rgba(83, 169, 210, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.96),
    inset 0 0 0 1px rgba(255, 255, 255, 0.42) !important;
}

body .page-card:not(.page-card--media)::before,
body .section-panel::before,
body .panel-card::before,
body .guide-card::before,
body .guide-tile::before,
body .knowledge-card::before,
body .knowledge-column::before,
body .store-card::before,
body .stat-card::before,
body .heat-list::before,
body .store-heat-list::before,
body .article-body::before,
body .tool-sheet::before,
body .service-card::before,
body .process-card::before,
body .detail-card::before,
body .article-card::before,
body .download-card::before,
body .event-card::before,
body .feature-card::before,
body .info-card::before,
body .resource-card::before,
body .search-result-card::before,
body .related-links__card::before,
body .guide-sidebar__card::before,
body .store-locator__card::before,
body .contact-panel::before,
body .map-card::before,
body .visual-card::before,
body .service-standard__card::before,
body .dashboard-card::before,
body .admin-card::before,
body .side-card::before,
body .metric-grid article::before,
body .status-grid article::before,
body .results-stats article::before,
body .hero__stats article::before,
body .footer__contact-card::before,
body .footer__brand::before,
body .admin-sidebar::before,
body .admin-form::before,
body .quick-form::before,
body .booking-form::before,
body .site-search::before,
body .publish-flow article::before,
body .status-grid span::before,
body .review-list::before,
body .check-grid label::before,
body .footer__qr::before,
body .footer__qr-box::before,
body .event-modal__panel::before,
body .floating-panel::before {
  background:
    linear-gradient(90deg, var(--card-accent-a, rgba(22, 139, 102, 0.30)), var(--card-accent-b, rgba(83, 169, 210, 0.16)), transparent) 0 0 / 100% 2px no-repeat,
    linear-gradient(135deg, rgba(255, 255, 255, 0.46), rgba(255, 255, 255, 0) 40%),
    repeating-linear-gradient(90deg, rgba(22, 139, 102, 0.045) 0 1px, transparent 1px 18px),
    repeating-linear-gradient(0deg, rgba(83, 169, 210, 0.040) 0 1px, transparent 1px 18px) !important;
}

/* Screenshot refinement pass: navigation, footer contact cards, floating service dock, and contact page directory. */
body .header {
  z-index: 80 !important;
}

@media (min-width: 901px) {
  body .nav {
    gap: 8px !important;
  }

  body .nav > a,
  body .nav-dropdown__trigger {
    min-height: 38px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    color: #17483f !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 38px !important;
    white-space: nowrap !important;
  }

  body .nav > a:hover,
  body .nav > a[aria-current="page"],
  body .nav-dropdown:hover .nav-dropdown__trigger,
  body .nav-dropdown:focus-within .nav-dropdown__trigger {
    color: #ffffff !important;
    background: linear-gradient(135deg, #229f71, #168b66) !important;
    box-shadow: 0 10px 22px rgba(22, 139, 102, 0.18) !important;
  }

  body .nav-dropdown {
    position: relative !important;
  }

  body .nav-dropdown__menu,
  body .header .nav .nav-dropdown__menu,
  body:has(.page-hero__panel) .nav-dropdown__menu {
    left: 50% !important;
    right: auto !important;
    top: calc(100% + 12px) !important;
    width: min(520px, calc(100vw - 48px)) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 48px) !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 16px !important;
    border: 1px solid rgba(172, 218, 199, 0.95) !important;
    border-radius: 18px !important;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(241, 250, 247, 0.96)),
      radial-gradient(circle at 0 0, rgba(185, 233, 199, 0.34), transparent 42%) !important;
    box-shadow: 0 24px 54px rgba(21, 83, 67, 0.18) !important;
    transform: translate(-50%, 8px) !important;
  }

  body .nav-dropdown:hover .nav-dropdown__menu,
  body .nav-dropdown:focus-within .nav-dropdown__menu {
    transform: translate(-50%, 0) !important;
  }

  body .nav-dropdown__menu a,
  body .header .nav .nav-dropdown__menu a,
  body:has(.page-hero__panel) .nav-dropdown__menu a {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(192, 224, 211, 0.82) !important;
    border-radius: 14px !important;
    color: #17483f !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.32 !important;
    white-space: normal !important;
    background: rgba(255, 255, 255, 0.72) !important;
  }

  body .nav-dropdown__menu a:hover,
  body .nav-dropdown__menu a:focus-visible {
    color: #0f6f54 !important;
    border-color: rgba(42, 171, 123, 0.55) !important;
    background: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 12px 24px rgba(21, 83, 67, 0.12) !important;
  }
}

body .footer {
  color: rgba(255, 255, 255, 0.92) !important;
  background:
    radial-gradient(circle at 14% 14%, rgba(69, 190, 138, 0.25), transparent 31%),
    radial-gradient(circle at 86% 10%, rgba(99, 180, 214, 0.18), transparent 33%),
    linear-gradient(145deg, #083e34 0%, #0d5a49 48%, #0b6a56 100%) !important;
  border-top: 0 !important;
}

body .footer::before {
  opacity: 0.45 !important;
}

body .footer__layout {
  align-items: stretch !important;
}

body .footer__brand,
body .footer__contact-card,
body .footer__contact-card.footer__qr {
  color: rgba(255, 255, 255, 0.88) !important;
  border: 1px solid rgba(221, 255, 240, 0.22) !important;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.08)),
    radial-gradient(circle at 12% 0, rgba(255, 255, 255, 0.20), transparent 36%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.20),
    0 24px 58px rgba(0, 31, 25, 0.25) !important;
  backdrop-filter: blur(16px) !important;
}

body .footer h2,
body .footer h3,
body .footer strong,
body .footer__logo h2,
body .footer__logo p,
body .footer__contact-card h3,
body .footer__note a {
  color: #ffffff !important;
}

body .footer p,
body .footer li,
body .footer a,
body .footer__intro,
body .footer__contact-card p,
body .footer__contact-card li,
body .footer__note {
  color: rgba(239, 255, 249, 0.82) !important;
}

body .footer__contact-card {
  min-height: 0 !important;
  padding: 22px !important;
  border-radius: 20px !important;
}

body .footer__qr {
  display: grid !important;
  grid-template-columns: 102px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 16px !important;
  color: inherit !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .footer__qr::before,
body .footer__qr::after {
  content: none !important;
}

body .footer__qr-box {
  width: 102px !important;
  height: 102px !important;
  padding: 10px !important;
  border: 1px solid rgba(199, 236, 222, 0.92) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 16px 34px rgba(0, 31, 25, 0.22) !important;
}

body .footer__social-placeholder,
body .footer__socials a,
body .footer__button--secondary,
body .footer__helper {
  color: #0d5a49 !important;
  border-color: rgba(255, 255, 255, 0.76) !important;
  background: rgba(255, 255, 255, 0.92) !important;
}

body .footer__button--primary {
  color: #083e34 !important;
  border-color: rgba(212, 248, 229, 0.88) !important;
  background: linear-gradient(135deg, #d8f6e1, #a8e3be) !important;
}

body .floating-rail {
  right: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 90 !important;
}

body .floating-rail__buttons {
  width: 72px !important;
  display: grid !important;
  gap: 8px !important;
  padding: 10px !important;
  border: 1px solid rgba(178, 226, 207, 0.96) !important;
  border-radius: 22px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(241, 250, 247, 0.94)),
    radial-gradient(circle at 50% 0, rgba(185, 233, 199, 0.34), transparent 46%) !important;
  box-shadow: 0 22px 48px rgba(21, 83, 67, 0.18) !important;
}

body .floating-rail__title {
  display: block !important;
  padding: 8px 0 6px !important;
  color: #0d5a49 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  border-bottom: 1px solid rgba(172, 218, 199, 0.75) !important;
}

body .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button {
  width: 52px !important;
  min-width: 52px !important;
  height: 52px !important;
  min-height: 52px !important;
  display: grid !important;
  place-items: center !important;
  gap: 2px !important;
  padding: 5px !important;
  border: 1px solid rgba(184, 220, 205, 0.95) !important;
  border-radius: 16px !important;
  color: #17483f !important;
  background: rgba(255, 255, 255, 0.86) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 8px 18px rgba(21, 83, 67, 0.10) !important;
}

body .floating-rail__button:hover,
body .floating-rail__button:focus-visible {
  color: #ffffff !important;
  border-color: rgba(22, 139, 102, 0.72) !important;
  background: linear-gradient(135deg, #24a873, #0d8062) !important;
  transform: translateX(-3px) !important;
}

body .floating-rail__icon {
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  color: inherit !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .floating-rail__label {
  display: block !important;
  width: 100% !important;
  color: inherit !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

body .floating-panel,
body .floating-rail > .floating-panel {
  right: 86px !important;
  width: min(340px, calc(100vw - 120px)) !important;
  color: #17483f !important;
  border: 1px solid rgba(178, 226, 207, 0.96) !important;
  border-radius: 20px !important;
  background: linear-gradient(145deg, #ffffff, #f1faf6) !important;
  box-shadow: 0 24px 58px rgba(21, 83, 67, 0.20) !important;
}

body .floating-panel__content h3 {
  color: #0d5a49 !important;
}

body .floating-panel__content p,
body .floating-panel__content a {
  color: #3d665c !important;
}

body .floating-panel__qr {
  background: #ffffff !important;
  border-color: rgba(184, 220, 205, 0.95) !important;
}

body .contact-directory {
  display: grid !important;
  grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

body .contact-hero-card,
body .store-contact-card {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(184, 220, 205, 0.95) !important;
  border-radius: 20px !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(241, 250, 247, 0.96)),
    radial-gradient(circle at 100% 0, rgba(185, 233, 199, 0.30), transparent 38%) !important;
  box-shadow: 0 18px 42px rgba(21, 83, 67, 0.10) !important;
}

body .contact-hero-card {
  min-height: 100% !important;
}

body .contact-hero-card img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
}

body .contact-hero-card__body {
  display: grid !important;
  gap: 16px !important;
  padding: 24px !important;
}

body .contact-hotline {
  display: grid !important;
  gap: 6px !important;
  padding: 18px !important;
  border-radius: 16px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #168b66, #0d5a49) !important;
  box-shadow: 0 16px 32px rgba(21, 83, 67, 0.20) !important;
}

body .contact-hotline span {
  font-size: 13px !important;
  font-weight: 800 !important;
  opacity: 0.82 !important;
}

body .contact-hotline strong {
  color: #ffffff !important;
  font-size: clamp(1.8rem, 3vw, 2.45rem) !important;
  line-height: 1.05 !important;
}

body .store-contact-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

body .store-contact-card {
  display: grid !important;
  gap: 12px !important;
  padding: 20px !important;
}

body .store-contact-card h3 {
  margin: 0 !important;
  color: #123f36 !important;
  font-size: 18px !important;
  line-height: 1.28 !important;
}

body .store-contact-card p {
  margin: 0 !important;
  color: #4d6b62 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

body .store-contact-card dl {
  display: grid !important;
  gap: 9px !important;
  margin: 0 !important;
}

body .store-contact-card div {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) !important;
  gap: 10px !important;
}

body .store-contact-card dt {
  color: #168b66 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

body .store-contact-card dd {
  min-width: 0 !important;
  margin: 0 !important;
  color: #2c5148 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  overflow-wrap: anywhere !important;
}

body .store-contact-card__status {
  width: max-content !important;
  max-width: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 26px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  color: #0d5a49 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  background: #dff6e7 !important;
}

body .store-contact-card__status.is-muted {
  color: #6c6237 !important;
  background: #fff1c7 !important;
}

@media (max-width: 900px) {
  body .nav-dropdown__menu,
  body .header .nav .nav-dropdown__menu {
    grid-template-columns: 1fr !important;
  }

  body .contact-directory,
  body .store-contact-list {
    grid-template-columns: 1fr !important;
  }

  body .footer__qr {
    grid-template-columns: 96px minmax(0, 1fr) !important;
  }
}

@media (max-width: 700px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body .container,
  body .header__inner,
  body .topbar__inner,
  body .hero__grid,
  body .section > .container,
  body .page-shell,
  body .page-grid,
  body .section-body,
  body .section-split,
  body .knowledge-layout,
  body .booking-layout,
  body .contact-grid,
  body .guide-layout {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  body .hero__grid,
  body .page-grid,
  body .section-split,
  body .knowledge-layout,
  body .booking-layout,
  body .contact-grid,
  body .guide-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  body .hero__content,
  body .hero__panel,
  body .page-hero__panel,
  body .section-panel,
  body .page-utility,
  body .service-desk,
  body .quick-form,
  body .contact-hero-card,
  body .site-search,
  body .store-locator__card,
  body .contact-panel,
  body .map-card,
  body .visual-card,
  body .page-card,
  body .feature-card,
  body .service-card,
  body .store-card,
  body .article-card,
  body .event-card,
  body .tool-sheet,
  body .download-card,
  body .side-card,
  body .guide-sidebar__card,
  body .related-links__card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body .hero__content,
  body .page-hero__panel,
  body .section-panel,
  body .page-utility,
  body .service-desk,
  body .contact-hero-card {
    padding: 24px 20px !important;
    border-radius: 22px !important;
  }

  body .hero__content h1,
  body .hero h1,
  body .page-hero__panel h1,
  body .section-heading h2,
  body .story-content h2,
  body .section-panel h2,
  body .page-utility h1 {
    max-width: 100% !important;
    font-size: clamp(28px, 8vw, 34px) !important;
    line-height: 1.22 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  body .hero__summary,
  body .page-hero__panel .hero__summary,
  body .section-heading p,
  body .story-content p,
  body .section-panel p,
  body .page-card p,
  body .feature-card p,
  body .service-card p,
  body .store-card p,
  body .article-card p,
  body .event-card p,
  body .tool-sheet p,
  body .download-card p,
  body .side-card p,
  body .guide-sidebar__card p {
    max-width: 100% !important;
    font-size: 15px !important;
    line-height: 1.72 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body .page-hero__panel .hero__summary,
  body .contact-hero-card p,
  body .page-hero__panel p {
    max-width: 19em !important;
  }

  body .hero__actions,
  body .page-utility__actions,
  body .cta-row,
  body .help-banner__actions,
  body .footer__buttons {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
  }

  body .hero__actions .button,
  body .hero__actions a.button,
  body .page-utility__actions .button,
  body .cta-row .button,
  body .help-banner__actions .button,
  body .footer__buttons .footer__button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
    white-space: normal !important;
    text-align: center !important;
  }

  body .page-hero__panel::before,
  body .section-visual,
  body .visual-card,
  body .photo-card,
  body .story-gallery__card,
  body .gallery-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    aspect-ratio: 16 / 10 !important;
    min-height: 0 !important;
    border-radius: 18px !important;
  }

  body img,
  body svg,
  body video,
  body canvas {
    max-width: 100% !important;
  }

  body .floating-rail {
    right: 10px !important;
    top: auto !important;
    bottom: 112px !important;
    transform: none !important;
  }

  body .floating-rail__buttons {
    width: 58px !important;
    padding: 8px !important;
    border-radius: 18px !important;
  }

  body .floating-rail__title {
    display: none !important;
  }

  body .floating-rail__button,
  body .floating-rail .floating-rail__buttons .floating-rail__button {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
  }

  body .floating-rail__label {
    display: none !important;
  }

  body .floating-panel,
  body .floating-rail > .floating-panel,
  body .floating-rail.is-open .floating-panel {
    right: 66px !important;
    bottom: 0 !important;
    width: min(286px, calc(100vw - 88px)) !important;
  }

  body .footer__contact-card,
  body .footer__brand {
    border-radius: 18px !important;
  }

  body .footer__qr {
    grid-template-columns: 1fr !important;
  }

  body .contact-hero-card__body,
  body .store-contact-card {
    padding: 18px !important;
  }
}

/* Color diversity pass: keep the healthcare green as the anchor, but give each content family its own temperature. */
:root {
  --tone-green: #168b66;
  --tone-teal: #0e9488;
  --tone-blue: #3478bd;
  --tone-sky: #4aa4d8;
  --tone-coral: #d96b55;
  --tone-gold: #b98522;
  --tone-rose: #c35c85;
  --tone-violet: #6a63c7;
  --tone-ink: #123f36;
}

body .page-hero__panel[data-hero="knowledge"],
body .page-hero__panel[data-hero="tool"] {
  border-color: rgba(121, 178, 224, 0.72) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(234, 246, 255, 0.94)),
    radial-gradient(circle at 88% 12%, rgba(74, 164, 216, 0.22), transparent 34%) !important;
  box-shadow: 0 24px 58px rgba(52, 120, 189, 0.14) !important;
}

body .page-hero__panel[data-hero="events"],
body .page-hero__panel[data-hero="community"] {
  border-color: rgba(230, 169, 145, 0.74) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 244, 238, 0.95)),
    radial-gradient(circle at 88% 12%, rgba(217, 107, 85, 0.18), transparent 34%) !important;
  box-shadow: 0 24px 58px rgba(190, 89, 69, 0.12) !important;
}

body .page-hero__panel[data-hero="stores"],
body .page-hero__panel[data-hero="tiantan"],
body .page-hero__panel[data-hero="anzhen"],
body .page-hero__panel[data-hero="fuwai"] {
  border-color: rgba(109, 210, 200, 0.72) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(231, 250, 247, 0.95)),
    radial-gradient(circle at 88% 12%, rgba(14, 148, 136, 0.20), transparent 34%) !important;
  box-shadow: 0 24px 58px rgba(14, 148, 136, 0.13) !important;
}

body .page-hero__panel[data-hero="contact"] {
  border-color: rgba(220, 191, 116, 0.72) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 249, 232, 0.95)),
    radial-gradient(circle at 88% 12%, rgba(185, 133, 34, 0.20), transparent 34%) !important;
  box-shadow: 0 24px 58px rgba(150, 105, 34, 0.12) !important;
}

body .page-hero__panel[data-hero="about"],
body .page-hero__panel[data-hero="pku"],
body .page-hero__panel[data-hero="children"] {
  border-color: rgba(183, 173, 230, 0.74) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(244, 241, 255, 0.95)),
    radial-gradient(circle at 88% 12%, rgba(106, 99, 199, 0.18), transparent 34%) !important;
  box-shadow: 0 24px 58px rgba(106, 99, 199, 0.12) !important;
}

body .page-hero__panel[data-hero="cancer"] {
  border-color: rgba(230, 154, 177, 0.74) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 240, 246, 0.95)),
    radial-gradient(circle at 88% 12%, rgba(195, 92, 133, 0.18), transparent 34%) !important;
  box-shadow: 0 24px 58px rgba(195, 92, 133, 0.12) !important;
}

body .section:nth-of-type(4n + 1) {
  background: linear-gradient(180deg, #ffffff 0%, #f4fbf8 100%) !important;
}

body .section:nth-of-type(4n + 2),
body .section--soft:nth-of-type(4n + 2) {
  background: linear-gradient(180deg, #f7fbff 0%, #edf6ff 100%) !important;
}

body .section:nth-of-type(4n + 3),
body .section--soft:nth-of-type(4n + 3) {
  background: linear-gradient(180deg, #fffaf2 0%, #fff3e4 100%) !important;
}

body .section:nth-of-type(4n) {
  background: linear-gradient(180deg, #fff7f4 0%, #f8fbff 100%) !important;
}

body .knowledge-card,
body .knowledge-column,
body .article-card,
body .resource-card,
body .search-result-card,
body .related-links__card,
body .knowledge-index__feature,
body .knowledge-index__list a,
body .article-filters,
body .site-search {
  --card-tint-1: rgba(245, 250, 255, 0.98);
  --card-tint-2: rgba(232, 246, 255, 0.94);
  --card-accent-a: rgba(52, 120, 189, 0.42);
  --card-accent-b: rgba(74, 164, 216, 0.20);
  --card-border-local: rgba(121, 178, 224, 0.62);
  --card-shadow-local: rgba(52, 120, 189, 0.14);
}

body .store-card,
body .store-locator__card,
body .service-standard__card,
body .map-card,
body .contact-panel,
body .store-contact-card,
body .contact-hero-card {
  --card-tint-1: rgba(244, 253, 251, 0.98);
  --card-tint-2: rgba(229, 249, 245, 0.94);
  --card-accent-a: rgba(14, 148, 136, 0.42);
  --card-accent-b: rgba(57, 191, 165, 0.20);
  --card-border-local: rgba(105, 210, 200, 0.62);
  --card-shadow-local: rgba(14, 148, 136, 0.13);
}

body .event-card,
body .story-card,
body .support-card,
body .story-gallery__card,
body .gallery-card,
body .photo-card {
  --card-tint-1: rgba(255, 249, 245, 0.98);
  --card-tint-2: rgba(255, 239, 232, 0.94);
  --card-accent-a: rgba(217, 107, 85, 0.42);
  --card-accent-b: rgba(236, 153, 118, 0.20);
  --card-border-local: rgba(230, 169, 145, 0.64);
  --card-shadow-local: rgba(190, 89, 69, 0.13);
}

body .tool-sheet,
body .download-card,
body .check-grid label,
body .booking-form,
body .quick-form,
body .popular-searches {
  --card-tint-1: rgba(255, 252, 242, 0.98);
  --card-tint-2: rgba(255, 246, 222, 0.94);
  --card-accent-a: rgba(185, 133, 34, 0.40);
  --card-accent-b: rgba(236, 194, 91, 0.20);
  --card-border-local: rgba(220, 191, 116, 0.64);
  --card-shadow-local: rgba(150, 105, 34, 0.12);
}

body .feature-card,
body .info-card,
body .section-panel,
body .panel-card,
body .guide-sidebar__card,
body .side-card {
  --card-tint-1: rgba(249, 248, 255, 0.98);
  --card-tint-2: rgba(242, 239, 255, 0.92);
  --card-accent-a: rgba(106, 99, 199, 0.34);
  --card-accent-b: rgba(195, 92, 133, 0.14);
  --card-border-local: rgba(183, 173, 230, 0.58);
  --card-shadow-local: rgba(106, 99, 199, 0.11);
}

body .page-card:not(.page-card--media):nth-child(6n + 1) {
  --card-tint-1: rgba(244, 253, 251, 0.98);
  --card-tint-2: rgba(229, 249, 245, 0.94);
  --card-accent-a: rgba(14, 148, 136, 0.38);
  --card-border-local: rgba(105, 210, 200, 0.60);
}

body .page-card:not(.page-card--media):nth-child(6n + 2) {
  --card-tint-1: rgba(245, 250, 255, 0.98);
  --card-tint-2: rgba(232, 246, 255, 0.94);
  --card-accent-a: rgba(52, 120, 189, 0.38);
  --card-border-local: rgba(121, 178, 224, 0.60);
}

body .page-card:not(.page-card--media):nth-child(6n + 3) {
  --card-tint-1: rgba(255, 249, 245, 0.98);
  --card-tint-2: rgba(255, 239, 232, 0.94);
  --card-accent-a: rgba(217, 107, 85, 0.38);
  --card-border-local: rgba(230, 169, 145, 0.60);
}

body .page-card:not(.page-card--media):nth-child(6n + 4) {
  --card-tint-1: rgba(255, 252, 242, 0.98);
  --card-tint-2: rgba(255, 246, 222, 0.94);
  --card-accent-a: rgba(185, 133, 34, 0.36);
  --card-border-local: rgba(220, 191, 116, 0.62);
}

body .page-card:not(.page-card--media):nth-child(6n + 5) {
  --card-tint-1: rgba(255, 247, 251, 0.98);
  --card-tint-2: rgba(255, 238, 246, 0.92);
  --card-accent-a: rgba(195, 92, 133, 0.34);
  --card-border-local: rgba(230, 154, 177, 0.58);
}

body .page-card:not(.page-card--media):nth-child(6n) {
  --card-tint-1: rgba(249, 248, 255, 0.98);
  --card-tint-2: rgba(242, 239, 255, 0.92);
  --card-accent-a: rgba(106, 99, 199, 0.34);
  --card-border-local: rgba(183, 173, 230, 0.58);
}

body .event-card:nth-child(3n + 1) .event-status,
body .store-locator__card[data-status="running"] > span,
body .store-contact-card__status {
  color: #075c52 !important;
  background: #d9f6ef !important;
}

body .event-card:nth-child(3n + 2) .event-status,
body .store-locator__card[data-status="preparing"] > span,
body .store-contact-card__status.is-muted {
  color: #80550d !important;
  background: #fff0c7 !important;
}

body .event-card:nth-child(3n) .event-status {
  color: #9d4838 !important;
  background: #ffe1d8 !important;
}

body .button--secondary,
body .subnav a:nth-child(2n),
body .knowledge-filter a:nth-child(2n) {
  color: #2f6094 !important;
  border-color: rgba(121, 178, 224, 0.72) !important;
  background: linear-gradient(180deg, #ffffff, #eef7ff) !important;
}

body .subnav a:nth-child(3n),
body .knowledge-filter a:nth-child(3n) {
  color: #8a5516 !important;
  border-color: rgba(220, 191, 116, 0.72) !important;
  background: linear-gradient(180deg, #ffffff, #fff5db) !important;
}

/* Warm palette pass: softer, more companionable color relationships across the whole site. */
:root {
  --warm-paper: #fffdf8;
  --warm-cream: #fff7e8;
  --warm-peach: #ffefe7;
  --warm-apricot: #fff2cf;
  --warm-sage: #edf7ef;
  --warm-mint: #eaf8f4;
  --warm-sky: #edf7fb;
  --warm-lilac: #f7f2fb;
  --warm-blush: #fff0f4;
  --warm-ink: #24443d;
  --warm-muted: #667872;
}

body {
  background:
    linear-gradient(180deg, var(--warm-paper) 0%, #f8fbf7 44%, #fffaf3 100%) !important;
}

body .page-hero,
body .hero.section {
  background:
    radial-gradient(circle at 82% 18%, rgba(255, 207, 159, 0.20), transparent 28%),
    radial-gradient(circle at 12% 12%, rgba(177, 214, 194, 0.24), transparent 31%),
    linear-gradient(180deg, #fffdf8 0%, #f6fbf7 100%) !important;
}

body .page-hero__panel[data-hero="knowledge"],
body .page-hero__panel[data-hero="tool"] {
  border-color: rgba(166, 205, 219, 0.62) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.97), rgba(237, 247, 251, 0.94)),
    radial-gradient(circle at 88% 10%, rgba(163, 205, 219, 0.18), transparent 36%) !important;
  box-shadow: 0 22px 52px rgba(94, 140, 154, 0.11) !important;
}

body .page-hero__panel[data-hero="stores"],
body .page-hero__panel[data-hero="tiantan"],
body .page-hero__panel[data-hero="anzhen"],
body .page-hero__panel[data-hero="fuwai"] {
  border-color: rgba(169, 212, 189, 0.64) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.97), rgba(237, 247, 239, 0.95)),
    radial-gradient(circle at 88% 10%, rgba(177, 214, 194, 0.22), transparent 36%) !important;
  box-shadow: 0 22px 52px rgba(91, 139, 116, 0.11) !important;
}

body .page-hero__panel[data-hero="events"],
body .page-hero__panel[data-hero="community"] {
  border-color: rgba(231, 190, 169, 0.66) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.97), rgba(255, 241, 234, 0.95)),
    radial-gradient(circle at 88% 10%, rgba(235, 183, 156, 0.18), transparent 36%) !important;
  box-shadow: 0 22px 52px rgba(165, 112, 88, 0.10) !important;
}

body .page-hero__panel[data-hero="contact"] {
  border-color: rgba(226, 199, 140, 0.62) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.97), rgba(255, 247, 226, 0.95)),
    radial-gradient(circle at 88% 10%, rgba(232, 205, 143, 0.18), transparent 36%) !important;
  box-shadow: 0 22px 52px rgba(154, 124, 63, 0.10) !important;
}

body .page-hero__panel[data-hero="about"],
body .page-hero__panel[data-hero="pku"],
body .page-hero__panel[data-hero="children"] {
  border-color: rgba(205, 190, 221, 0.58) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.97), rgba(247, 242, 251, 0.94)),
    radial-gradient(circle at 88% 10%, rgba(201, 184, 218, 0.15), transparent 36%) !important;
  box-shadow: 0 22px 52px rgba(128, 112, 148, 0.09) !important;
}

body .page-hero__panel[data-hero="cancer"] {
  border-color: rgba(227, 180, 195, 0.58) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.97), rgba(255, 240, 244, 0.94)),
    radial-gradient(circle at 88% 10%, rgba(222, 172, 190, 0.15), transparent 36%) !important;
  box-shadow: 0 22px 52px rgba(151, 100, 118, 0.09) !important;
}

body .section:nth-of-type(4n + 1) {
  background: linear-gradient(180deg, #fffdf8 0%, #f7fbf7 100%) !important;
}

body .section:nth-of-type(4n + 2),
body .section--soft:nth-of-type(4n + 2) {
  background: linear-gradient(180deg, #fbfdf9 0%, #edf7ef 100%) !important;
}

body .section:nth-of-type(4n + 3),
body .section--soft:nth-of-type(4n + 3) {
  background: linear-gradient(180deg, #fffdf8 0%, #fff1e9 100%) !important;
}

body .section:nth-of-type(4n) {
  background: linear-gradient(180deg, #f7fbfb 0%, #fff7e8 100%) !important;
}

body .page-card:not(.page-card--media),
body .feature-card,
body .info-card,
body .section-panel,
body .panel-card,
body .guide-card,
body .guide-tile,
body .knowledge-card,
body .knowledge-column,
body .store-card,
body .article-card,
body .resource-card,
body .search-result-card,
body .related-links__card,
body .guide-sidebar__card,
body .store-locator__card,
body .contact-panel,
body .map-card,
body .visual-card,
body .service-standard__card,
body .tool-sheet,
body .download-card,
body .event-card,
body .story-card,
body .support-card,
body .store-contact-card,
body .contact-hero-card,
body .site-search,
body .booking-form,
body .quick-form {
  color: var(--warm-ink) !important;
}

body .knowledge-card,
body .knowledge-column,
body .article-card,
body .resource-card,
body .search-result-card,
body .related-links__card,
body .knowledge-index__feature,
body .knowledge-index__list a,
body .article-filters,
body .site-search {
  --card-tint-1: rgba(253, 254, 255, 0.98);
  --card-tint-2: rgba(237, 247, 251, 0.94);
  --card-accent-a: rgba(131, 181, 201, 0.30);
  --card-accent-b: rgba(166, 205, 219, 0.16);
  --card-border-local: rgba(166, 205, 219, 0.54);
  --card-shadow-local: rgba(94, 140, 154, 0.10);
}

body .store-card,
body .store-locator__card,
body .service-standard__card,
body .map-card,
body .contact-panel,
body .store-contact-card,
body .contact-hero-card {
  --card-tint-1: rgba(253, 255, 252, 0.98);
  --card-tint-2: rgba(237, 247, 239, 0.94);
  --card-accent-a: rgba(141, 194, 165, 0.30);
  --card-accent-b: rgba(177, 214, 194, 0.16);
  --card-border-local: rgba(169, 212, 189, 0.54);
  --card-shadow-local: rgba(91, 139, 116, 0.10);
}

body .event-card,
body .story-card,
body .support-card,
body .story-gallery__card,
body .gallery-card,
body .photo-card {
  --card-tint-1: rgba(255, 253, 250, 0.98);
  --card-tint-2: rgba(255, 241, 234, 0.94);
  --card-accent-a: rgba(218, 160, 132, 0.30);
  --card-accent-b: rgba(237, 192, 168, 0.16);
  --card-border-local: rgba(231, 190, 169, 0.56);
  --card-shadow-local: rgba(165, 112, 88, 0.09);
}

body .tool-sheet,
body .download-card,
body .check-grid label,
body .booking-form,
body .quick-form,
body .popular-searches {
  --card-tint-1: rgba(255, 254, 250, 0.98);
  --card-tint-2: rgba(255, 247, 226, 0.94);
  --card-accent-a: rgba(213, 181, 108, 0.28);
  --card-accent-b: rgba(232, 205, 143, 0.16);
  --card-border-local: rgba(226, 199, 140, 0.54);
  --card-shadow-local: rgba(154, 124, 63, 0.09);
}

body .feature-card,
body .info-card,
body .section-panel,
body .panel-card,
body .guide-sidebar__card,
body .side-card {
  --card-tint-1: rgba(255, 254, 252, 0.98);
  --card-tint-2: rgba(247, 242, 251, 0.92);
  --card-accent-a: rgba(181, 164, 202, 0.24);
  --card-accent-b: rgba(227, 180, 195, 0.12);
  --card-border-local: rgba(205, 190, 221, 0.48);
  --card-shadow-local: rgba(128, 112, 148, 0.08);
}

body .page-card:not(.page-card--media):nth-child(6n + 1) {
  --card-tint-1: rgba(253, 255, 252, 0.98);
  --card-tint-2: rgba(237, 247, 239, 0.94);
  --card-accent-a: rgba(141, 194, 165, 0.26);
  --card-border-local: rgba(169, 212, 189, 0.52);
}

body .page-card:not(.page-card--media):nth-child(6n + 2) {
  --card-tint-1: rgba(253, 254, 255, 0.98);
  --card-tint-2: rgba(237, 247, 251, 0.94);
  --card-accent-a: rgba(131, 181, 201, 0.26);
  --card-border-local: rgba(166, 205, 219, 0.52);
}

body .page-card:not(.page-card--media):nth-child(6n + 3) {
  --card-tint-1: rgba(255, 253, 250, 0.98);
  --card-tint-2: rgba(255, 241, 234, 0.94);
  --card-accent-a: rgba(218, 160, 132, 0.26);
  --card-border-local: rgba(231, 190, 169, 0.52);
}

body .page-card:not(.page-card--media):nth-child(6n + 4) {
  --card-tint-1: rgba(255, 254, 250, 0.98);
  --card-tint-2: rgba(255, 247, 226, 0.94);
  --card-accent-a: rgba(213, 181, 108, 0.24);
  --card-border-local: rgba(226, 199, 140, 0.52);
}

body .page-card:not(.page-card--media):nth-child(6n + 5) {
  --card-tint-1: rgba(255, 253, 253, 0.98);
  --card-tint-2: rgba(255, 240, 244, 0.92);
  --card-accent-a: rgba(222, 172, 190, 0.22);
  --card-border-local: rgba(227, 180, 195, 0.48);
}

body .page-card:not(.page-card--media):nth-child(6n) {
  --card-tint-1: rgba(255, 254, 252, 0.98);
  --card-tint-2: rgba(247, 242, 251, 0.92);
  --card-accent-a: rgba(181, 164, 202, 0.22);
  --card-border-local: rgba(205, 190, 221, 0.48);
}

body .button:not(.button--ghost):not(.button--secondary),
body .footer__button--primary,
body .sticky-help a:first-of-type {
  color: #ffffff !important;
  border-color: rgba(107, 165, 133, 0.48) !important;
  background: linear-gradient(135deg, #71b889, #4f9d7c) !important;
  box-shadow: 0 10px 22px rgba(91, 139, 116, 0.18) !important;
}

body .button--secondary,
body .subnav a:nth-child(2n),
body .knowledge-filter a:nth-child(2n) {
  color: #4e7585 !important;
  border-color: rgba(166, 205, 219, 0.62) !important;
  background: linear-gradient(180deg, #ffffff, #edf7fb) !important;
}

body .subnav a:nth-child(3n),
body .knowledge-filter a:nth-child(3n) {
  color: #806131 !important;
  border-color: rgba(226, 199, 140, 0.62) !important;
  background: linear-gradient(180deg, #ffffff, #fff7e8) !important;
}

body .event-card:nth-child(3n + 1) .event-status,
body .store-locator__card[data-status="running"] > span,
body .store-contact-card__status {
  color: #4e725f !important;
  background: #e3f4e8 !important;
}

body .event-card:nth-child(3n + 2) .event-status,
body .store-locator__card[data-status="preparing"] > span,
body .store-contact-card__status.is-muted {
  color: #81622d !important;
  background: #fff2cf !important;
}

body .event-card:nth-child(3n) .event-status {
  color: #9c5d4c !important;
  background: #ffe4d9 !important;
}

/* Footer alignment fix: keep the brand card visually level with the first contact row. */
@media (min-width: 901px) {
  body .footer__layout,
  body .footer .footer__layout,
  body .container.footer__layout {
    align-items: start !important;
  }

  body .footer__brand {
    align-self: start !important;
    margin-top: 0 !important;
    transform: translateY(-10px) !important;
  }

  body .footer__contacts {
    align-self: start !important;
  }
}

/* Readability patch: footer actions, horizontal filters, and floating service dock. */
body .footer__socials,
body .footer__buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}

body .footer__socials a,
body .footer__social-placeholder {
  min-width: 74px !important;
  min-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 16px !important;
  border: 1px solid rgba(214, 244, 232, 0.72) !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  text-shadow: 0 1px 2px rgba(0, 38, 31, 0.22) !important;
  background: rgba(255, 255, 255, 0.18) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24), 0 8px 18px rgba(0, 31, 25, 0.10) !important;
}

body .footer__button,
body .footer__helper {
  min-width: 126px !important;
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  text-shadow: none !important;
}

body .footer__button--primary {
  color: #ffffff !important;
  border-color: rgba(129, 202, 164, 0.78) !important;
  background: linear-gradient(135deg, #6fbd8c, #318d72) !important;
  box-shadow: 0 12px 24px rgba(19, 82, 67, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.28) !important;
}

body .footer__button--secondary,
body .footer__helper {
  color: #155847 !important;
  border-color: rgba(255, 255, 255, 0.92) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 10px 22px rgba(0, 31, 25, 0.16), inset 0 1px 0 rgba(255, 255, 255, 1) !important;
}

body .footer__button:hover,
body .footer__helper:hover,
body .footer__socials a:hover {
  transform: translateY(-1px) !important;
}

body .knowledge-filter,
body .subnav {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  padding: 12px 14px !important;
  overflow: visible !important;
  border-radius: 18px !important;
}

body .knowledge-filter a,
body .subnav a {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: max-content !important;
  max-width: 100% !important;
  min-height: 36px !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 18px !important;
  overflow: visible !important;
  color: #256150 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  text-overflow: clip !important;
  background: linear-gradient(180deg, #ffffff, #edf7ef) !important;
}

body .floating-rail__buttons {
  width: 68px !important;
  gap: 7px !important;
  padding: 9px !important;
  border-color: rgba(184, 220, 205, 0.92) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 252, 248, 0.96)) !important;
  box-shadow: 0 18px 40px rgba(38, 94, 78, 0.15) !important;
}

body .floating-rail__title {
  color: #1d5f50 !important;
  font-size: 13px !important;
  border-bottom-color: rgba(184, 220, 205, 0.82) !important;
}

body .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button {
  width: 50px !important;
  min-width: 50px !important;
  height: 50px !important;
  min-height: 50px !important;
  color: #255e50 !important;
  border-color: rgba(188, 221, 207, 0.92) !important;
  background: linear-gradient(180deg, #ffffff, #f3fbf6) !important;
  box-shadow: 0 7px 16px rgba(38, 94, 78, 0.10), inset 0 1px 0 rgba(255, 255, 255, 1) !important;
}

body .floating-rail__button[data-service="phone"],
body .floating-rail__button[data-service="wechat"],
body .floating-rail__button[data-service="miniapp"],
body .floating-rail__button[data-service="booking"] {
  color: #ffffff !important;
  border-color: rgba(91, 172, 170, 0.70) !important;
  background: linear-gradient(135deg, #4aa7a9, #258c99) !important;
  text-shadow: 0 1px 2px rgba(0, 55, 62, 0.18) !important;
}

body .floating-rail__button:hover,
body .floating-rail__button:focus-visible {
  color: #ffffff !important;
  background: linear-gradient(135deg, #77b88d, #3f967a) !important;
  border-color: rgba(101, 176, 133, 0.78) !important;
}

/* Encoding residue cleanup: remove old pseudo-content labels from early generated CSS. */
body .popular-searches::before,
body .topbar__links::after,
body .hero__panel .panel-card::before,
body .hero__panel .panel-card::after,
body .topbar__links a::before,
body .header__actions .button::before,
body .header__actions a.button::before,
body .hero__actions .button::before,
body .hero__actions a.button::before,
body .hero__content h1::before,
body .hero__summary::before,
body .section--soft:first-of-type .photo-card h3::before,
body .section--soft:first-of-type .photo-card p::before {
  content: none !important;
  display: none !important;
}

body .topbar__links a,
body .header__actions .button,
body .header__actions a.button,
body .hero__actions .button,
body .hero__actions a.button,
body .hero__content h1,
body .hero__summary,
body .section--soft:first-of-type .photo-card h3,
body .section--soft:first-of-type .photo-card p {
  color: revert-layer !important;
  font-size: revert-layer !important;
  line-height: revert-layer !important;
}

body .topbar__links a,
body .header__actions .button,
body .header__actions a.button,
body .hero__actions .button,
body .hero__actions a.button {
  font-size: 14px !important;
}

body .hero__content h1,
body .hero__summary,
body .section--soft:first-of-type .photo-card h3,
body .section--soft:first-of-type .photo-card p {
  color: inherit !important;
}

body .popular-searches {
  position: relative !important;
  padding-top: 0 !important;
}

body .popular-searches::before {
  content: none !important;
}

/* Final floating service dock polish. */
body .floating-rail {
  right: 8px !important;
  top: 50% !important;
  width: 58px !important;
  max-width: 58px !important;
  transform: translateY(-50%) !important;
  opacity: 0.92 !important;
  filter: drop-shadow(0 14px 26px rgba(24, 83, 72, 0.14)) !important;
}

body .floating-rail__buttons {
  width: 58px !important;
  padding: 8px 6px 9px !important;
  gap: 6px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(188, 224, 211, 0.96) !important;
  border-radius: 21px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 252, 248, 0.96)),
    radial-gradient(circle at 50% 0, rgba(224, 247, 238, 0.95), transparent 62%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 1), 0 18px 40px rgba(38, 94, 78, 0.16) !important;
}

body .floating-rail__title {
  width: 46px !important;
  min-height: 31px !important;
  padding: 0 4px 7px !important;
  display: grid !important;
  place-items: center !important;
  color: #145f50 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  border-bottom: 1px solid rgba(188, 224, 211, 0.86) !important;
}

body .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button {
  width: 46px !important;
  min-width: 46px !important;
  height: 45px !important;
  min-height: 45px !important;
  padding: 0 4px !important;
  display: grid !important;
  place-items: center !important;
  gap: 0 !important;
  border: 1px solid rgba(178, 218, 203, 0.94) !important;
  border-radius: 14px !important;
  color: #246252 !important;
  background: linear-gradient(180deg, #ffffff, #f1faf5) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.98), 0 7px 16px rgba(38, 94, 78, 0.11) !important;
  overflow: visible !important;
}

body .floating-rail__button[data-service="phone"],
body .floating-rail__button[data-service="wechat"],
body .floating-rail__button[data-service="miniapp"],
body .floating-rail__button[data-service="booking"] {
  color: #ffffff !important;
  border-color: rgba(73, 173, 178, 0.72) !important;
  background: linear-gradient(145deg, #52b8b8, #238f9d 58%, #1f7f91) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 9px 18px rgba(27, 118, 128, 0.22) !important;
  text-shadow: 0 1px 2px rgba(0, 56, 64, 0.24) !important;
}

body .floating-rail__button[data-service="xiaohongshu"],
body .floating-rail__button--top,
body .floating-rail .floating-rail__buttons .floating-rail__button--top {
  color: #276756 !important;
  border-color: rgba(196, 226, 214, 0.96) !important;
  background: linear-gradient(180deg, #ffffff, #eef8f2) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 1), 0 7px 15px rgba(38, 94, 78, 0.10) !important;
  text-shadow: none !important;
}

body .floating-rail__icon,
body .floating-rail__button--top .floating-rail__icon {
  display: none !important;
}

body .floating-rail__label,
body .floating-rail__button--top .floating-rail__label {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  color: inherit !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.16 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

body .floating-rail__button:hover,
body .floating-rail__button:focus-visible {
  color: #ffffff !important;
  border-color: rgba(93, 171, 136, 0.82) !important;
  background: linear-gradient(145deg, #7cbd8e, #3f9878) !important;
  transform: translateX(-3px) !important;
}

body .floating-panel,
body .floating-rail > .floating-panel,
body .floating-rail.is-open .floating-panel {
  right: 78px !important;
  width: min(332px, calc(100vw - 106px)) !important;
}

@media (min-width: 1101px) and (max-width: 1360px) {
  body .hero__grid {
    padding-right: 82px !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, 390px) !important;
  }

  body .hero__panel {
    max-width: 390px !important;
  }

  body .hero__actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 560px !important;
    gap: 12px !important;
  }

  body .hero__actions .button,
  body .hero__actions a.button {
    width: 100% !important;
    justify-content: center !important;
  }
}

@media (max-width: 700px) {
  body .floating-rail {
    right: 10px !important;
    top: auto !important;
    bottom: 96px !important;
    width: 62px !important;
    max-width: 62px !important;
    transform: none !important;
  }

  body .floating-rail__buttons {
    width: 62px !important;
    padding: 8px 7px !important;
    gap: 6px !important;
    border-radius: 20px !important;
  }

  body .floating-rail__title {
    display: none !important;
  }

  body .floating-rail__button,
  body .floating-rail .floating-rail__buttons .floating-rail__button {
    width: 48px !important;
    min-width: 48px !important;
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 14px !important;
  }

  body .floating-rail__label {
    display: block !important;
    font-size: 10px !important;
    line-height: 1.12 !important;
  }

  body .floating-panel,
  body .floating-rail > .floating-panel,
  body .floating-rail.is-open .floating-panel {
    right: 70px !important;
    bottom: 0 !important;
    width: min(286px, calc(100vw - 92px)) !important;
  }
}

/* True final mobile width lock: keep hero text and cards inside the viewport. */
@media (max-width: 700px) {
  body .topbar {
    min-height: 34px !important;
  }

  body .topbar__inner {
    min-height: 34px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }

  body .header {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  body .header__inner {
    gap: 10px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  body .brand {
    justify-content: center !important;
    min-height: 54px !important;
  }

  body .brand__logo,
  body .brand img,
  body .site-logo {
    max-height: 56px !important;
    width: auto !important;
  }

  body .header__actions {
    gap: 8px !important;
  }

  body .header__actions .button,
  body .header__actions a.button {
    min-height: 40px !important;
  }

  body main {
    padding-top: 18px !important;
  }

  html,
  body,
  body main {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body .section,
  body main > .section,
  body .hero.section,
  body .page-hero,
  body .store-hero {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body .container,
  body .hero__grid,
  body .page-shell,
  body .page-grid,
  body .section-body,
  body .section-split,
  body .knowledge-layout,
  body .booking-layout,
  body .contact-grid,
  body .guide-layout {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    box-sizing: border-box !important;
  }

  body .hero__grid,
  body .page-grid,
  body .section-split,
  body .knowledge-layout,
  body .booking-layout,
  body .contact-grid,
  body .guide-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  body .hero__content,
  body .hero__panel,
  body .page-hero__panel,
  body .section-panel,
  body .page-utility,
  body .service-desk,
  body .contact-hero-card,
  body .site-search,
  body .store-locator__card,
  body .contact-panel,
  body .map-card,
  body .visual-card {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body .hero__content,
  body .page-hero__panel,
  body .section-panel,
  body .page-utility,
  body .service-desk,
  body .contact-hero-card {
    padding: 24px 20px !important;
    border-radius: 22px !important;
  }

  body .hero__content > *,
  body .hero__panel > *,
  body .page-hero__panel > *,
  body .section-panel > *,
  body .page-utility > *,
  body .service-desk > *,
  body .contact-hero-card > *,
  body .site-search > * {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body .hero__content h1,
  body .hero h1,
  body .page-hero__panel h1,
  body .page-utility h1 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    font-size: clamp(25px, 6.6vw, 28px) !important;
    line-height: 1.34 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    text-wrap: balance !important;
  }

  body .page-hero__panel h1,
  body .contact-hero-card h1,
  body .contact-hero-card h2 {
    max-width: 11.5em !important;
    font-size: clamp(24px, 6.1vw, 27px) !important;
    line-height: 1.34 !important;
    text-wrap: balance !important;
  }

  body .section-heading h2,
  body .story-content h2,
  body .section-panel h2,
  body .page-card h3,
  body .feature-card h3,
  body .service-card h3,
  body .store-card h3,
  body .article-card h3,
  body .event-card h3,
  body .tool-sheet h3,
  body .download-card h3 {
    max-width: 100% !important;
    font-size: clamp(22px, 6vw, 28px) !important;
    line-height: 1.32 !important;
    white-space: normal !important;
    word-break: break-all !important;
    overflow-wrap: anywhere !important;
  }

  body .hero__summary,
  body .page-hero__panel .hero__summary,
  body .section-heading p,
  body .story-content p,
  body .section-panel p,
  body .page-card p,
  body .feature-card p,
  body .service-card p,
  body .store-card p,
  body .article-card p,
  body .event-card p,
  body .tool-sheet p,
  body .download-card p {
    max-width: 100% !important;
    font-size: 15px !important;
    line-height: 1.72 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  body .hero__actions,
  body .page-utility__actions,
  body .cta-row,
  body .help-banner__actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
  }

  body .hero__actions .button,
  body .hero__actions a.button,
  body .page-utility__actions .button,
  body .cta-row .button,
  body .help-banner__actions .button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    justify-content: center !important;
    white-space: normal !important;
    text-align: center !important;
  }

  body .page-hero__panel::before,
  body .section-visual,
  body .visual-card,
  body .photo-card,
  body .story-gallery__card,
  body .gallery-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    aspect-ratio: 16 / 10 !important;
    min-height: 0 !important;
    border-radius: 18px !important;
  }

  body .page-hero__panel .hero__summary,
  body .page-hero__panel p,
  body .contact-hero-card p {
    max-width: 21em !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  body .header__actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    gap: 7px !important;
  }

  body .header__actions .button,
  body .header__actions a.button {
    min-height: 38px !important;
    padding: 9px 14px !important;
    border-radius: 18px !important;
  }

  body .site-search,
  body .search-result-card,
  body .tool-sheet,
  body .download-card,
  body .article-card,
  body .event-card,
  body .page-card,
  body .resource-card {
    border-radius: 18px !important;
  }

  body .site-search p,
  body .search-result-card p,
  body .tool-sheet p,
  body .download-card p,
  body .article-card p,
  body .event-card p,
  body .page-card p,
  body .resource-card p,
  body .site-search li,
  body .tool-sheet li,
  body .download-card li,
  body .article-card li,
  body .event-card li,
  body .page-card li,
  body .resource-card li {
    line-height: 1.76 !important;
  }

  body .search-results,
  body .tool-list,
  body .download-list,
  body .article-list,
  body .event-list,
  body .resource-grid {
    gap: 14px !important;
  }
}

/* Full mojibake pseudo-content cleanup from legacy generated CSS. */
body .popular-searches::before,
body .journey-stage__visual::after,
body .hero__panel .panel-card::before,
body .hero__panel .panel-card::after,
body .topbar__links::after,
body .header__actions .button::before,
body .header__actions a.button::before,
body .hero__actions .button::before,
body .hero__actions a.button::before,
body .hero__content h1::before,
body .hero__summary::before,
body .section--soft:first-of-type .photo-card h3::before,
body .section--soft:first-of-type .photo-card p::before,
body .section--soft:first-of-type .photo-card--calm h3::before,
body .section--soft:first-of-type .photo-card--calm p::before,
body .section--soft:first-of-type .photo-card--hope h3::before,
body .section--soft:first-of-type .photo-card--hope p::before,
body .section--soft:first-of-type .photo-card--trust h3::before,
body .section--soft:first-of-type .photo-card--trust p::before {
  content: none !important;
  display: none !important;
}

body .header__actions .button,
body .header__actions a.button,
body .hero__actions .button,
body .hero__actions a.button,
body .hero__content h1,
body .hero__summary,
body .section--soft:first-of-type .photo-card h3,
body .section--soft:first-of-type .photo-card p {
  color: inherit !important;
  text-indent: 0 !important;
}

body .header__actions .button,
body .header__actions a.button,
body .hero__actions .button,
body .hero__actions a.button {
  color: #0f5b4d !important;
}

body .hero__actions .button:first-child,
body .hero__actions a.button:first-child,
body .header__actions .button:last-child,
body .header__actions a.button:last-child {
  color: #ffffff !important;
}

/* Final floating service dock polish: lighter, clearer, and less intrusive. */
body .floating-rail,
body:not(.is-near-footer) .floating-rail {
  right: 18px !important;
  top: 52% !important;
  bottom: auto !important;
  left: auto !important;
  width: 64px !important;
  max-width: 64px !important;
  transform: translateY(-50%) !important;
  filter: drop-shadow(0 16px 26px rgba(31, 87, 78, 0.14)) !important;
  z-index: 50 !important;
}

body .floating-rail__buttons {
  width: 64px !important;
  padding: 8px 6px !important;
  gap: 7px !important;
  border: 1px solid rgba(181, 219, 205, 0.78) !important;
  border-radius: 28px !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.95), rgba(243,252,248,0.92)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.92),
    0 14px 36px rgba(28, 89, 77, 0.12) !important;
  backdrop-filter: blur(14px) !important;
}

body .floating-rail__title {
  width: 48px !important;
  min-height: 30px !important;
  margin: 0 auto 1px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  color: #137160 !important;
  background: #ffffff !important;
  border: 1px solid rgba(181, 219, 205, 0.82) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  box-shadow: 0 8px 18px rgba(31, 87, 78, 0.08) !important;
}

body .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button {
  width: 50px !important;
  min-width: 50px !important;
  max-width: 50px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  padding: 0 5px !important;
  border-radius: 17px !important;
  border: 1px solid rgba(255,255,255,0.36) !important;
  display: grid !important;
  place-items: center !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #278f9b, #35a7b4) !important;
  box-shadow:
    0 10px 20px rgba(28, 107, 117, 0.18),
    inset 0 1px 0 rgba(255,255,255,0.2) !important;
  text-align: center !important;
  overflow: hidden !important;
}

body .floating-rail__button:nth-child(2) {
  background: linear-gradient(135deg, #f07867, #f3a168) !important;
}

body .floating-rail__button:nth-child(3) {
  background: linear-gradient(135deg, #278f9b, #37aec0) !important;
}

body .floating-rail__button:nth-child(4) {
  background: linear-gradient(135deg, #2a9c75, #61ba8b) !important;
}

body .floating-rail__button:nth-child(5) {
  background: linear-gradient(135deg, #4d82bd, #73a7d4) !important;
}

body .floating-rail__button:nth-child(6) {
  color: #16806b !important;
  background: linear-gradient(180deg, #ffffff, #effaf5) !important;
  border-color: rgba(181, 219, 205, 0.84) !important;
}

body .floating-rail__button--top,
body .floating-rail .floating-rail__buttons .floating-rail__button--top {
  color: #16806b !important;
  background: linear-gradient(180deg, #ffffff, #effaf5) !important;
  border-color: rgba(181, 219, 205, 0.84) !important;
}

body .floating-rail__icon {
  display: none !important;
}

body .floating-rail__label {
  display: block !important;
  max-width: 42px !important;
  color: inherit !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  text-shadow: 0 1px 1px rgba(0,0,0,0.08) !important;
}

body .floating-rail__button--top .floating-rail__label {
  text-shadow: none !important;
}

@media (max-width: 700px) {
  body .floating-rail,
  body:not(.is-near-footer) .floating-rail {
    display: none !important;
  }

  body .floating-rail__buttons {
    width: 100% !important;
    min-height: 58px !important;
    padding: 7px !important;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 6px !important;
    border-radius: 24px !important;
  }

  body .floating-rail__title {
    display: none !important;
  }

  body .floating-rail__button,
  body .floating-rail .floating-rail__buttons .floating-rail__button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    border-radius: 16px !important;
  }

  body .floating-rail__label {
    max-width: 100% !important;
    font-size: 11px !important;
    line-height: 1.05 !important;
  }

  body .hero__stats,
  body .results-stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 10px !important;
  }

  body .hero__stats article,
  body .results-stats article {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 78px !important;
    padding: 14px 12px !important;
    overflow: hidden !important;
  }

  body .hero__stats article:nth-child(3),
  body .results-stats article:nth-child(3) {
    grid-column: 1 / -1 !important;
  }

  body .hero__stats strong,
  body .results-stats strong {
    display: block !important;
    font-size: 27px !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
  }

  body .hero__stats span,
  body .results-stats span {
    display: block !important;
    max-width: 100% !important;
    margin-top: 5px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  body .knowledge-filter,
  body .article-filters,
  body .popular-searches,
  body .subnav,
  body .page-hero__meta,
  body .article-meta,
  body .cta-row,
  body .page-card__tags,
  body .triage-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 8px !important;
    overflow: visible !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
  }

  body .article-filters {
    padding: 14px !important;
    border-radius: 18px !important;
  }

  body .article-filters label {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body .article-filters label span {
    display: block !important;
    margin-bottom: 7px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
  }

  body .article-filters select,
  body .site-search input,
  body .site-search button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body .knowledge-filter a,
  body .subnav a,
  body .page-hero__meta span,
  body .page-hero__meta a,
  body .article-meta span,
  body .article-meta a,
  body .popular-searches a,
  body .popular-searches button,
  body .disease-tag,
  body .photo-card__tag,
  body .triage-tags span {
    flex: 0 1 auto !important;
    max-width: 100% !important;
    min-height: 34px !important;
    padding: 8px 13px !important;
    border-radius: 999px !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
    text-align: center !important;
    line-height: 1.25 !important;
  }

  body .page-hero__panel .subnav,
  body .page-hero__panel .page-hero__meta,
  body .page-hero__panel .article-meta {
    margin-top: 18px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body .site-search {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    gap: 10px !important;
    padding: 16px !important;
  }

  body .store-locator,
  body .knowledge-index,
  body .search-results,
  body .article-list,
  body .page-grid {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  html body .container,
  html body .topbar__inner,
  html body .header__inner,
  html body .page-shell,
  html body .section-body,
  html body .hero__grid,
  html body .page-grid,
  html body .section-split,
  html body .knowledge-layout,
  html body .booking-layout,
  html body .contact-grid,
  html body .guide-layout {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
  }

  html body .hero__content,
  html body .hero__panel,
  html body .page-hero__panel,
  html body .section-panel,
  html body .page-utility,
  html body .service-desk,
  html body .contact-hero-card,
  html body .site-search,
  html body .store-locator__card,
  html body .contact-panel,
  html body .map-card,
  html body .visual-card {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Readability finish: keep warm cards, but make small text clearly legible. */
body .hero__stats strong,
body .results-stats strong {
  color: #0b7f68 !important;
  text-shadow: none !important;
}

body .hero__stats span,
body .results-stats span,
body.home-polish .journey-steps article p,
body .journey-steps article p,
body .page-card:not(.page-card--media) p,
body .resource-card p,
body .article-card p,
body .event-card p,
body .service-card p,
body .store-card p,
body .store-locator__card p,
body .tool-sheet p,
body .download-card p,
body .section-panel p,
body .knowledge-index__feature p,
body .knowledge-index__list span,
body .search-result-card p,
body .feature-card p,
body .info-card p,
body .guide-sidebar__card p,
body .side-card p {
  color: #315f6f !important;
}

body .hero__panel p,
body .quick-form p,
body .quick-form label,
body .floating-panel p {
  color: #245767 !important;
}

body.home-polish .journey-steps article span,
body .journey-steps article span,
body .step-number,
body .timeline-step__index {
  color: #0f7d68 !important;
  opacity: 1 !important;
}

body .page-card:not(.page-card--media) h3,
body .resource-card h3,
body .article-card h3,
body .event-card h3,
body .service-card h3,
body .store-card h3,
body .store-locator__card h3,
body .tool-sheet h3,
body .download-card h3,
body .section-panel h2,
body .section-panel h3,
body .knowledge-index__feature h3,
body .search-result-card h3 {
  color: #0f4f45 !important;
}

body .eyebrow,
body .page-hero__english,
body .section-kicker,
body .card-kicker {
  color: #2b8d7d !important;
  opacity: 1 !important;
}

@media (max-width: 700px) {
  body .hero__stats strong,
  body .results-stats strong {
    color: #05836b !important;
  }

  body .hero__stats span,
  body .results-stats span,
  body.home-polish .journey-steps article p,
  body .journey-steps article p,
  body .page-card:not(.page-card--media) p,
  body .resource-card p,
  body .article-card p,
  body .event-card p,
  body .service-card p,
  body .store-card p,
  body .store-locator__card p,
  body .tool-sheet p,
  body .download-card p,
  body .section-panel p,
  body .knowledge-index__feature p,
  body .knowledge-index__list span,
  body .search-result-card p {
    color: #2b5f70 !important;
  }
}

/* High-contrast pass for small home-page badges and journey copy. */
body.home-polish .hero__stats strong,
body .hero__stats strong,
body .results-stats strong {
  color: #064f43 !important;
  -webkit-text-fill-color: #064f43 !important;
  background: none !important;
}

body.home-polish .hero__stats span,
body .hero__stats span,
body .results-stats span {
  color: #174d5e !important;
  -webkit-text-fill-color: #174d5e !important;
}

body.home-polish .journey-steps article span,
body .journey-steps article span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(135deg, #076b58, #0a8a72) !important;
  border-color: rgba(6, 97, 80, 0.28) !important;
}

body.home-polish .journey-steps article p,
body .journey-steps article p,
body.home-polish .journey-stage__intro p,
body .journey-stage__intro p {
  color: #184f5f !important;
  -webkit-text-fill-color: #184f5f !important;
}

body .page-hero__english {
  color: #176c60 !important;
  -webkit-text-fill-color: #176c60 !important;
}

body .quick-form__head p,
body .hero__panel .quick-form__head p {
  color: #174f5f !important;
  -webkit-text-fill-color: #174f5f !important;
}

@media (max-width: 700px) {
  body.home-polish .hero__stats strong,
  body .hero__stats strong,
  body .results-stats strong {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    max-width: 100% !important;
    padding: 2px 4px !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.92) !important;
  }
}

body .page-hero__panel .hero__summary,
body .page-hero__panel p,
body .contact-hero-card p,
body .section-heading p,
body .article-filters label span,
body .store-locator__card p,
body .knowledge-index__feature p,
body .knowledge-index__list span,
body .article-card p,
body .resource-card p,
body .search-result-card p,
body .event-card p,
body .download-card p,
body .tool-sheet p,
body .store-contact-card p,
body .contact-panel p,
body .footer__contact-card li,
body .footer__contact-card p {
  color: #184f5f !important;
  -webkit-text-fill-color: #184f5f !important;
}

body .page-hero__panel .eyebrow,
body .page-hero__english,
body .article-list__summary,
body .store-locator__card > span,
body .disease-tag,
body .article-filters label span {
  color: #075e52 !important;
  -webkit-text-fill-color: #075e52 !important;
  opacity: 1 !important;
}

body .subnav a,
body .knowledge-filter a,
body .popular-searches button {
  color: #075e52 !important;
  -webkit-text-fill-color: #075e52 !important;
}

body .article-meta,
body .article-meta span,
body .page-card__meta,
body .page-card__meta span,
body .article-card span,
body .resource-card span,
body .event-card span,
body .download-card span,
body .tool-sheet span,
body .knowledge-card span,
body .store-locator__card li,
body .store-card li,
body .section-panel li,
body .guide-sidebar__card li {
  color: #245767 !important;
  -webkit-text-fill-color: #245767 !important;
  opacity: 1 !important;
}

body .article-card p,
body .resource-card p,
body .page-card p,
body .store-locator__card p,
body .event-card p,
body .download-card p,
body .tool-sheet p,
body .section-panel p {
  color: #123f4e !important;
  -webkit-text-fill-color: #123f4e !important;
}

/* Final contrast lock for long-form pages and card metadata. */
body .hero__summary,
body .page-hero__panel .hero__summary,
body .page-hero__panel p,
body .section-heading p,
body .knowledge-index__feature p,
body .article-card p,
body .resource-card p,
body .page-card p,
body .store-locator__card p,
body .event-card p,
body .download-card p,
body .tool-sheet p,
body .section-panel p,
body .contact-panel p,
body .store-contact-card p {
  color: #0d3744 !important;
  -webkit-text-fill-color: #0d3744 !important;
}

body .article-meta,
body .article-meta span,
body .page-card__meta,
body .page-card__meta span,
body .article-card span,
body .resource-card span,
body .event-card span,
body .download-card span,
body .tool-sheet span,
body .knowledge-card span {
  color: #123f4e !important;
  -webkit-text-fill-color: #123f4e !important;
}

body .article-filters label span,
body .page-hero__panel .eyebrow,
body .page-hero__english,
body .subnav a,
body .knowledge-filter a,
body .popular-searches button,
body .article-list__summary,
body .store-locator__card > span,
body .disease-tag {
  color: #043f37 !important;
  -webkit-text-fill-color: #043f37 !important;
  opacity: 1 !important;
}

/* Service dock final refinement: compact icon rail with hover labels. */
body .floating-rail,
body:not(.is-near-footer) .floating-rail {
  right: 18px !important;
  top: 50% !important;
  bottom: auto !important;
  left: auto !important;
  width: 52px !important;
  max-width: 52px !important;
  transform: translateY(-50%) !important;
  z-index: 50 !important;
  filter: drop-shadow(0 18px 32px rgba(34, 91, 82, 0.16)) !important;
}

body .floating-rail__buttons {
  width: 52px !important;
  padding: 8px 6px !important;
  gap: 8px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  border: 1px solid rgba(180, 220, 207, 0.82) !important;
  border-radius: 999px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(244,252,249,0.94)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.96),
    0 18px 38px rgba(28, 89, 77, 0.13) !important;
  backdrop-filter: blur(16px) !important;
}

body .floating-rail__title {
  width: 40px !important;
  min-height: 28px !important;
  margin: 0 0 2px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  color: #117564 !important;
  -webkit-text-fill-color: #117564 !important;
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(181, 219, 205, 0.86) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  box-shadow: 0 8px 18px rgba(31, 87, 78, 0.08) !important;
}

body .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button {
  position: relative !important;
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,0.52) !important;
  display: grid !important;
  place-items: center !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(135deg, #1d9a9d, #47b7be) !important;
  box-shadow:
    0 10px 20px rgba(28, 107, 117, 0.16),
    inset 0 1px 0 rgba(255,255,255,0.28) !important;
  text-align: center !important;
  overflow: visible !important;
}

body .floating-rail__button[data-service="phone"] {
  background: linear-gradient(135deg, #ef7a61, #f2a25f) !important;
}

body .floating-rail__button[data-service="wechat"] {
  background: linear-gradient(135deg, #168a78, #43b68b) !important;
}

body .floating-rail__button[data-service="miniapp"] {
  background: linear-gradient(135deg, #2a93a7, #53b9cb) !important;
}

body .floating-rail__button[data-service="booking"] {
  background: linear-gradient(135deg, #4e82bf, #78a9d8) !important;
}

body .floating-rail__button[data-service="xiaohongshu"] {
  background: linear-gradient(135deg, #db6b75, #ef9c8b) !important;
}

body .floating-rail__button--top,
body .floating-rail .floating-rail__buttons .floating-rail__button--top {
  color: #157664 !important;
  -webkit-text-fill-color: #157664 !important;
  background: linear-gradient(180deg, #ffffff, #effaf5) !important;
  border-color: rgba(181, 219, 205, 0.88) !important;
}

body .floating-rail__icon,
body .floating-rail__button--top .floating-rail__icon {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

body .floating-rail__button[data-service="phone"] .floating-rail__icon {
  font-size: 12px !important;
}

body .floating-rail__label,
body .floating-rail__button--top .floating-rail__label {
  position: absolute !important;
  top: 50% !important;
  right: calc(100% + 10px) !important;
  width: max-content !important;
  max-width: 92px !important;
  min-height: 26px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #0f594f !important;
  -webkit-text-fill-color: #0f594f !important;
  background: rgba(255,255,255,0.97) !important;
  border: 1px solid rgba(181, 219, 205, 0.82) !important;
  box-shadow: 0 10px 22px rgba(30, 86, 78, 0.12) !important;
  opacity: 0 !important;
  transform: translate(6px, -50%) !important;
  pointer-events: none !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  text-shadow: none !important;
  transition: opacity .18s ease, transform .18s ease !important;
}

body .floating-rail__button:hover .floating-rail__label,
body .floating-rail__button:focus-visible .floating-rail__label {
  opacity: 1 !important;
  transform: translate(0, -50%) !important;
}

body .floating-rail__button:hover,
body .floating-rail__button:focus-visible {
  transform: translateY(-1px) !important;
  box-shadow:
    0 14px 24px rgba(28, 107, 117, 0.2),
    inset 0 1px 0 rgba(255,255,255,0.34) !important;
}

body .floating-panel,
body .floating-rail > .floating-panel,
body .floating-rail.is-open .floating-panel {
  right: 68px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(181, 219, 205, 0.82) !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,252,249,0.96)) !important;
  box-shadow: 0 22px 56px rgba(20, 74, 65, 0.16) !important;
}

@media (max-width: 700px) {
  body .floating-rail,
  body:not(.is-near-footer) .floating-rail {
    display: none !important;
  }
}

/* V102 literal EOF append: this block is intentionally appended at the physical end of the stylesheet. */
body .floating-rail,
body:not(.is-near-footer) .floating-rail {
  top: 96px !important;
  right: 28px !important;
  width: 92px !important;
  max-width: 92px !important;
  z-index: 60 !important;
}

body .floating-rail__buttons {
  width: 92px !important;
  padding: 14px 11px 12px !important;
  gap: 11px !important;
  border-radius: 34px !important;
}

body .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(1),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(2),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(3),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(4),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(5),
body .floating-rail .floating-rail__buttons .floating-rail__button--top {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 62px !important;
  min-height: 62px !important;
  max-height: 62px !important;
  padding: 8px 5px 7px !important;
  border-radius: 21px !important;
}

body .floating-rail__label,
body .floating-rail__button--top .floating-rail__label {
  font-size: 10px !important;
  line-height: 1.08 !important;
  overflow-wrap: normal !important;
}

body.home-polish .page-grid {
  gap: 18px !important;
}

body.home-polish .page-grid .page-card:not(.page-card--media) {
  min-height: 178px !important;
  padding: 24px 24px 22px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 207, 145, 0.16), transparent 30%),
    radial-gradient(circle at 0 100%, rgba(136, 210, 188, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,252,249,0.97)) !important;
  box-shadow:
    0 18px 34px rgba(22, 84, 69, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body.home-polish .page-grid .page-card:not(.page-card--media) h3 {
  font-size: 24px !important;
  line-height: 1.28 !important;
}

body.home-polish .page-grid .page-card:not(.page-card--media) p {
  font-size: 15px !important;
  line-height: 1.8 !important;
}

body.home-polish .help-banner {
  padding: 28px 30px !important;
  border-radius: 28px !important;
  border: 1px solid rgba(205, 228, 219, 0.92) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 216, 173, 0.18), transparent 30%),
    radial-gradient(circle at 0 100%, rgba(153, 220, 196, 0.14), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(246,252,249,0.97)) !important;
  box-shadow:
    0 22px 40px rgba(22, 84, 69, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body.home-polish .help-banner h3 {
  font-size: 28px !important;
  line-height: 1.24 !important;
}

body.home-polish .help-banner p {
  max-width: 760px !important;
  font-size: 15px !important;
  line-height: 1.82 !important;
}

body.home-polish .results-stats {
  gap: 18px !important;
}

body.home-polish .results-stats article {
  min-height: 146px !important;
  padding: 24px 20px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 199, 146, 0.16), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,252,249,0.97)) !important;
  box-shadow:
    0 18px 32px rgba(22, 84, 69, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body.home-polish .results-stats strong {
  font-size: clamp(32px, 2.6vw, 42px) !important;
}

body.home-polish .story-gallery {
  gap: 18px !important;
}

body.home-polish .story-gallery__card {
  padding-bottom: 22px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(248,252,250,0.97)) !important;
  box-shadow:
    0 18px 34px rgba(22, 84, 69, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body.home-polish .story-gallery__card img {
  aspect-ratio: 4 / 3 !important;
  min-height: 206px !important;
}

body.home-polish .story-gallery__card span,
body.home-polish .story-gallery__card h3 {
  padding-left: 22px !important;
  padding-right: 22px !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .contact-directory {
  display: grid !important;
  gap: 24px !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .contact-hero-card {
  overflow: hidden !important;
  border-radius: 30px !important;
  border: 1px solid rgba(204, 229, 219, 0.92) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 213, 160, 0.18), transparent 32%),
    radial-gradient(circle at 0 100%, rgba(151, 220, 196, 0.12), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,252,249,0.97)) !important;
  box-shadow:
    0 22px 42px rgba(22, 84, 69, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .contact-hero-card__body {
  padding: 32px 34px !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .store-contact-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .store-contact-card {
  min-height: 0 !important;
  padding: 22px 22px 24px !important;
  border-radius: 24px !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .store-locator {
  gap: 18px !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card {
  min-height: 0 !important;
  padding: 22px 22px 24px !important;
  border-radius: 24px !important;
  box-shadow:
    0 18px 34px rgba(22, 84, 69, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card h3 {
  font-size: 24px !important;
  line-height: 1.3 !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card p,
body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card li {
  line-height: 1.8 !important;
}

body:has(.page-hero__panel[data-hero="tiantan"]),
body:has(.page-hero__panel[data-hero="cancer"]),
body:has(.page-hero__panel[data-hero="anzhen"]),
body:has(.page-hero__panel[data-hero="fuwai"]),
body:has(.page-hero__panel[data-hero="pku"]),
body:has(.page-hero__panel[data-hero="children"]) {
  background:
    linear-gradient(180deg, #f8fbfa 0%, #f4faf7 32%, #fbf8f4 100%) !important;
}

body:has(.page-hero__panel) .store-hero {
  align-items: stretch !important;
  gap: 20px !important;
}

body:has(.page-hero__panel) .info-card,
body:has(.page-hero__panel) .visual-card,
body:has(.page-hero__panel) .service-standard__card,
body:has(.page-hero__panel) .detail-card,
body:has(.page-hero__panel) .related-links__card {
  min-height: 0 !important;
  border-radius: 26px !important;
  box-shadow:
    0 18px 34px rgba(22, 84, 69, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body:has(.page-hero__panel) .info-card,
body:has(.page-hero__panel) .visual-card {
  padding: 26px 28px !important;
}

body:has(.page-hero__panel) .detail-grid,
body:has(.page-hero__panel) .service-standard__grid,
body:has(.page-hero__panel) .related-links__grid {
  gap: 18px !important;
}

body:has(.page-hero__panel) .detail-card,
body:has(.page-hero__panel) .service-standard__card,
body:has(.page-hero__panel) .related-links__card {
  padding: 24px 24px 22px !important;
}

body:has(.page-hero__panel) .related-links__card {
  min-height: 182px !important;
}

@media (max-width: 1180px) {
  body.home-polish .page-grid,
  body.home-polish .story-gallery,
  body:has(.page-hero__panel[data-hero="contact"]) .store-contact-list,
  body:has(.page-hero__panel) .detail-grid,
  body:has(.page-hero__panel) .service-standard__grid,
  body:has(.page-hero__panel) .related-links__grid {
    grid-template-columns: 1fr !important;
  }
}

/* V101 literal EOF lock: final active polish for homepage, contact, store overview, and detail pages. */
body .floating-rail,
body:not(.is-near-footer) .floating-rail {
  top: 96px !important;
  right: 28px !important;
  width: 92px !important;
  max-width: 92px !important;
  z-index: 60 !important;
}

body .floating-rail__buttons {
  width: 92px !important;
  padding: 14px 11px 12px !important;
  gap: 11px !important;
  border-radius: 34px !important;
}

body .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(1),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(2),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(3),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(4),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(5),
body .floating-rail .floating-rail__buttons .floating-rail__button--top {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 62px !important;
  min-height: 62px !important;
  max-height: 62px !important;
  padding: 8px 5px 7px !important;
  border-radius: 21px !important;
}

body .floating-rail__label,
body .floating-rail__button--top .floating-rail__label {
  font-size: 10px !important;
  line-height: 1.08 !important;
  overflow-wrap: normal !important;
}

body.home-polish .page-grid {
  gap: 18px !important;
}

body.home-polish .page-grid .page-card:not(.page-card--media) {
  min-height: 178px !important;
  padding: 24px 24px 22px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 207, 145, 0.16), transparent 30%),
    radial-gradient(circle at 0 100%, rgba(136, 210, 188, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,252,249,0.97)) !important;
  box-shadow:
    0 18px 34px rgba(22, 84, 69, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body.home-polish .page-grid .page-card:not(.page-card--media) h3 {
  font-size: 24px !important;
  line-height: 1.28 !important;
}

body.home-polish .page-grid .page-card:not(.page-card--media) p {
  font-size: 15px !important;
  line-height: 1.8 !important;
}

body.home-polish .help-banner {
  padding: 28px 30px !important;
  border-radius: 28px !important;
  border: 1px solid rgba(205, 228, 219, 0.92) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 216, 173, 0.18), transparent 30%),
    radial-gradient(circle at 0 100%, rgba(153, 220, 196, 0.14), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(246,252,249,0.97)) !important;
  box-shadow:
    0 22px 40px rgba(22, 84, 69, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body.home-polish .help-banner h3 {
  font-size: 28px !important;
  line-height: 1.24 !important;
}

body.home-polish .help-banner p {
  max-width: 760px !important;
  font-size: 15px !important;
  line-height: 1.82 !important;
}

body.home-polish .results-stats {
  gap: 18px !important;
}

body.home-polish .results-stats article {
  min-height: 146px !important;
  padding: 24px 20px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 199, 146, 0.16), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,252,249,0.97)) !important;
  box-shadow:
    0 18px 32px rgba(22, 84, 69, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body.home-polish .results-stats strong {
  font-size: clamp(32px, 2.6vw, 42px) !important;
}

body.home-polish .story-gallery {
  gap: 18px !important;
}

body.home-polish .story-gallery__card {
  padding-bottom: 22px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(248,252,250,0.97)) !important;
  box-shadow:
    0 18px 34px rgba(22, 84, 69, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body.home-polish .story-gallery__card img {
  aspect-ratio: 4 / 3 !important;
  min-height: 206px !important;
}

body.home-polish .story-gallery__card span,
body.home-polish .story-gallery__card h3 {
  padding-left: 22px !important;
  padding-right: 22px !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .contact-directory {
  display: grid !important;
  gap: 24px !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .contact-hero-card {
  overflow: hidden !important;
  border-radius: 30px !important;
  border: 1px solid rgba(204, 229, 219, 0.92) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 213, 160, 0.18), transparent 32%),
    radial-gradient(circle at 0 100%, rgba(151, 220, 196, 0.12), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,252,249,0.97)) !important;
  box-shadow:
    0 22px 42px rgba(22, 84, 69, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .contact-hero-card__body {
  padding: 32px 34px !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .store-contact-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .store-contact-card {
  min-height: 0 !important;
  padding: 22px 22px 24px !important;
  border-radius: 24px !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .store-locator {
  gap: 18px !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card {
  min-height: 0 !important;
  padding: 22px 22px 24px !important;
  border-radius: 24px !important;
  box-shadow:
    0 18px 34px rgba(22, 84, 69, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card h3 {
  font-size: 24px !important;
  line-height: 1.3 !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card p,
body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card li {
  line-height: 1.8 !important;
}

body:has(.page-hero__panel[data-hero="tiantan"]),
body:has(.page-hero__panel[data-hero="cancer"]),
body:has(.page-hero__panel[data-hero="anzhen"]),
body:has(.page-hero__panel[data-hero="fuwai"]),
body:has(.page-hero__panel[data-hero="pku"]),
body:has(.page-hero__panel[data-hero="children"]) {
  background:
    linear-gradient(180deg, #f8fbfa 0%, #f4faf7 32%, #fbf8f4 100%) !important;
}

body:has(.page-hero__panel) .store-hero {
  align-items: stretch !important;
  gap: 20px !important;
}

body:has(.page-hero__panel) .info-card,
body:has(.page-hero__panel) .visual-card,
body:has(.page-hero__panel) .service-standard__card,
body:has(.page-hero__panel) .detail-card,
body:has(.page-hero__panel) .related-links__card {
  min-height: 0 !important;
  border-radius: 26px !important;
  box-shadow:
    0 18px 34px rgba(22, 84, 69, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body:has(.page-hero__panel) .info-card,
body:has(.page-hero__panel) .visual-card {
  padding: 26px 28px !important;
}

body:has(.page-hero__panel) .detail-grid,
body:has(.page-hero__panel) .service-standard__grid,
body:has(.page-hero__panel) .related-links__grid {
  gap: 18px !important;
}

body:has(.page-hero__panel) .detail-card,
body:has(.page-hero__panel) .service-standard__card,
body:has(.page-hero__panel) .related-links__card {
  padding: 24px 24px 22px !important;
}

body:has(.page-hero__panel) .related-links__card {
  min-height: 182px !important;
}

@media (max-width: 1180px) {
  body.home-polish .page-grid,
  body.home-polish .story-gallery,
  body:has(.page-hero__panel[data-hero="contact"]) .store-contact-list,
  body:has(.page-hero__panel) .detail-grid,
  body:has(.page-hero__panel) .service-standard__grid,
  body:has(.page-hero__panel) .related-links__grid {
    grid-template-columns: 1fr !important;
  }
}

/* V100 final absolute EOF lock: literal file-end overrides for homepage, contact, and store/detail polish. */
body .floating-rail,
body:not(.is-near-footer) .floating-rail {
  top: 96px !important;
  right: 28px !important;
  width: 92px !important;
  max-width: 92px !important;
  z-index: 60 !important;
}

body .floating-rail__buttons {
  width: 92px !important;
  padding: 14px 11px 12px !important;
  gap: 11px !important;
  border-radius: 34px !important;
}

body .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(1),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(2),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(3),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(4),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(5),
body .floating-rail .floating-rail__buttons .floating-rail__button--top {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 62px !important;
  min-height: 62px !important;
  max-height: 62px !important;
  padding: 8px 5px 7px !important;
  border-radius: 21px !important;
}

body .floating-rail__label,
body .floating-rail__button--top .floating-rail__label {
  font-size: 10px !important;
  line-height: 1.08 !important;
  overflow-wrap: normal !important;
}

body.home-polish .page-grid {
  gap: 18px !important;
}

body.home-polish .page-grid .page-card:not(.page-card--media) {
  min-height: 178px !important;
  padding: 24px 24px 22px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 207, 145, 0.16), transparent 30%),
    radial-gradient(circle at 0 100%, rgba(136, 210, 188, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,252,249,0.97)) !important;
  box-shadow:
    0 18px 34px rgba(22, 84, 69, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body.home-polish .page-grid .page-card:not(.page-card--media) h3 {
  font-size: 24px !important;
  line-height: 1.28 !important;
}

body.home-polish .page-grid .page-card:not(.page-card--media) p {
  font-size: 15px !important;
  line-height: 1.8 !important;
}

body.home-polish .help-banner {
  padding: 28px 30px !important;
  border-radius: 28px !important;
  border: 1px solid rgba(205, 228, 219, 0.92) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 216, 173, 0.18), transparent 30%),
    radial-gradient(circle at 0 100%, rgba(153, 220, 196, 0.14), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(246,252,249,0.97)) !important;
  box-shadow:
    0 22px 40px rgba(22, 84, 69, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body.home-polish .help-banner h3 {
  font-size: 28px !important;
  line-height: 1.24 !important;
}

body.home-polish .help-banner p {
  max-width: 760px !important;
  font-size: 15px !important;
  line-height: 1.82 !important;
}

body.home-polish .results-stats {
  gap: 18px !important;
}

body.home-polish .results-stats article {
  min-height: 146px !important;
  padding: 24px 20px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 199, 146, 0.16), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,252,249,0.97)) !important;
  box-shadow:
    0 18px 32px rgba(22, 84, 69, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body.home-polish .results-stats strong {
  font-size: clamp(32px, 2.6vw, 42px) !important;
}

body.home-polish .story-gallery {
  gap: 18px !important;
}

body.home-polish .story-gallery__card {
  padding-bottom: 22px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(248,252,250,0.97)) !important;
  box-shadow:
    0 18px 34px rgba(22, 84, 69, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body.home-polish .story-gallery__card img {
  aspect-ratio: 4 / 3 !important;
  min-height: 206px !important;
}

body.home-polish .story-gallery__card span,
body.home-polish .story-gallery__card h3 {
  padding-left: 22px !important;
  padding-right: 22px !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .store-locator {
  gap: 18px !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card {
  min-height: 0 !important;
  padding: 22px 22px 24px !important;
  border-radius: 24px !important;
  box-shadow:
    0 18px 34px rgba(22, 84, 69, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card h3 {
  font-size: 24px !important;
  line-height: 1.3 !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card p,
body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card li {
  line-height: 1.8 !important;
}

body:has(.page-hero__panel[data-hero="tiantan"]),
body:has(.page-hero__panel[data-hero="cancer"]),
body:has(.page-hero__panel[data-hero="anzhen"]),
body:has(.page-hero__panel[data-hero="fuwai"]),
body:has(.page-hero__panel[data-hero="pku"]),
body:has(.page-hero__panel[data-hero="children"]) {
  background:
    linear-gradient(180deg, #f8fbfa 0%, #f4faf7 32%, #fbf8f4 100%) !important;
}

body:has(.page-hero__panel) .store-hero {
  align-items: stretch !important;
  gap: 20px !important;
}

body:has(.page-hero__panel) .info-card,
body:has(.page-hero__panel) .visual-card,
body:has(.page-hero__panel) .service-standard__card,
body:has(.page-hero__panel) .detail-card,
body:has(.page-hero__panel) .related-links__card {
  min-height: 0 !important;
  border-radius: 26px !important;
  box-shadow:
    0 18px 34px rgba(22, 84, 69, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body:has(.page-hero__panel) .info-card,
body:has(.page-hero__panel) .visual-card {
  padding: 26px 28px !important;
}

body:has(.page-hero__panel) .detail-grid {
  gap: 18px !important;
}

body:has(.page-hero__panel) .detail-card {
  padding: 24px 24px 22px !important;
}

body:has(.page-hero__panel) .service-standard__grid {
  gap: 18px !important;
}

body:has(.page-hero__panel) .service-standard__card {
  padding: 24px 24px 22px !important;
}

body:has(.page-hero__panel) .related-links__grid {
  gap: 18px !important;
}

body:has(.page-hero__panel) .related-links__card {
  min-height: 182px !important;
  padding: 24px 24px 22px !important;
}

@media (max-width: 1180px) {
  body.home-polish .page-grid,
  body.home-polish .story-gallery,
  body:has(.page-hero__panel) .detail-grid,
  body:has(.page-hero__panel) .service-standard__grid,
  body:has(.page-hero__panel) .related-links__grid {
    grid-template-columns: 1fr !important;
  }
}

/* V99 true EOF lock: homepage, contact, and store-detail final polish kept at the literal end of the file. */
body .floating-rail,
body:not(.is-near-footer) .floating-rail {
  top: 96px !important;
  right: 28px !important;
  width: 92px !important;
  max-width: 92px !important;
  z-index: 60 !important;
}

body .floating-rail__buttons {
  width: 92px !important;
  padding: 14px 11px 12px !important;
  gap: 11px !important;
  border-radius: 34px !important;
}

body .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(1),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(2),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(3),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(4),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(5),
body .floating-rail .floating-rail__buttons .floating-rail__button--top {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 62px !important;
  min-height: 62px !important;
  max-height: 62px !important;
  padding: 8px 5px 7px !important;
  border-radius: 21px !important;
}

body .floating-rail__label,
body .floating-rail__button--top .floating-rail__label {
  font-size: 10px !important;
  line-height: 1.08 !important;
  overflow-wrap: normal !important;
}

body.home-polish .page-grid {
  gap: 18px !important;
}

body.home-polish .page-grid .page-card:not(.page-card--media) {
  min-height: 178px !important;
  padding: 24px 24px 22px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 207, 145, 0.16), transparent 30%),
    radial-gradient(circle at 0 100%, rgba(136, 210, 188, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,252,249,0.97)) !important;
  box-shadow:
    0 18px 34px rgba(22, 84, 69, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body.home-polish .page-grid .page-card:not(.page-card--media) h3 {
  font-size: 24px !important;
  line-height: 1.28 !important;
}

body.home-polish .page-grid .page-card:not(.page-card--media) p {
  font-size: 15px !important;
  line-height: 1.8 !important;
}

body.home-polish .help-banner {
  padding: 28px 30px !important;
  border-radius: 28px !important;
  border: 1px solid rgba(205, 228, 219, 0.92) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 216, 173, 0.18), transparent 30%),
    radial-gradient(circle at 0 100%, rgba(153, 220, 196, 0.14), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(246,252,249,0.97)) !important;
  box-shadow:
    0 22px 40px rgba(22, 84, 69, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body.home-polish .help-banner h3 {
  font-size: 28px !important;
  line-height: 1.24 !important;
}

body.home-polish .help-banner p {
  max-width: 760px !important;
  font-size: 15px !important;
  line-height: 1.82 !important;
}

body.home-polish .results-stats {
  gap: 18px !important;
}

body.home-polish .results-stats article {
  min-height: 146px !important;
  padding: 24px 20px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 199, 146, 0.16), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,252,249,0.97)) !important;
  box-shadow:
    0 18px 32px rgba(22, 84, 69, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body.home-polish .results-stats strong {
  font-size: clamp(32px, 2.6vw, 42px) !important;
}

body.home-polish .story-gallery {
  gap: 18px !important;
}

body.home-polish .story-gallery__card {
  padding-bottom: 22px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(248,252,250,0.97)) !important;
  box-shadow:
    0 18px 34px rgba(22, 84, 69, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body.home-polish .story-gallery__card img {
  aspect-ratio: 4 / 3 !important;
  min-height: 206px !important;
}

body.home-polish .story-gallery__card span,
body.home-polish .story-gallery__card h3 {
  padding-left: 22px !important;
  padding-right: 22px !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .store-locator {
  gap: 18px !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card {
  min-height: 0 !important;
  padding: 22px 22px 24px !important;
  border-radius: 24px !important;
  box-shadow:
    0 18px 34px rgba(22, 84, 69, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card h3 {
  font-size: 24px !important;
  line-height: 1.3 !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card p,
body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card li {
  line-height: 1.8 !important;
}

body:has(.page-hero__panel[data-hero="tiantan"]),
body:has(.page-hero__panel[data-hero="cancer"]),
body:has(.page-hero__panel[data-hero="anzhen"]),
body:has(.page-hero__panel[data-hero="fuwai"]),
body:has(.page-hero__panel[data-hero="pku"]),
body:has(.page-hero__panel[data-hero="children"]) {
  background:
    linear-gradient(180deg, #f8fbfa 0%, #f4faf7 32%, #fbf8f4 100%) !important;
}

body:has(.page-hero__panel) .store-hero {
  align-items: stretch !important;
  gap: 20px !important;
}

body:has(.page-hero__panel) .info-card,
body:has(.page-hero__panel) .visual-card,
body:has(.page-hero__panel) .service-standard__card,
body:has(.page-hero__panel) .detail-card,
body:has(.page-hero__panel) .related-links__card {
  min-height: 0 !important;
  border-radius: 26px !important;
  box-shadow:
    0 18px 34px rgba(22, 84, 69, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body:has(.page-hero__panel) .info-card,
body:has(.page-hero__panel) .visual-card {
  padding: 26px 28px !important;
}

body:has(.page-hero__panel) .detail-grid {
  gap: 18px !important;
}

body:has(.page-hero__panel) .detail-card {
  padding: 24px 24px 22px !important;
}

body:has(.page-hero__panel) .service-standard__grid {
  gap: 18px !important;
}

body:has(.page-hero__panel) .service-standard__card {
  padding: 24px 24px 22px !important;
}

body:has(.page-hero__panel) .related-links__grid {
  gap: 18px !important;
}

body:has(.page-hero__panel) .related-links__card {
  min-height: 182px !important;
  padding: 24px 24px 22px !important;
}

@media (max-width: 1180px) {
  body.home-polish .page-grid,
  body.home-polish .story-gallery,
  body:has(.page-hero__panel) .detail-grid,
  body:has(.page-hero__panel) .service-standard__grid,
  body:has(.page-hero__panel) .related-links__grid {
    grid-template-columns: 1fr !important;
  }
}

/* V98 absolute tail lock: duplicate the active refinement layer at EOF so legacy passes above cannot win the cascade. */
body .floating-rail,
body:not(.is-near-footer) .floating-rail {
  top: 96px !important;
  right: 28px !important;
  width: 92px !important;
  max-width: 92px !important;
  opacity: 1 !important;
  z-index: 56 !important;
  filter: drop-shadow(0 24px 42px rgba(22, 91, 82, 0.18)) !important;
}

body .floating-rail__buttons {
  width: 92px !important;
  padding: 14px 11px 12px !important;
  gap: 11px !important;
  border-radius: 34px !important;
  border: 1px solid rgba(198, 222, 213, 0.96) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.985), rgba(241,249,245,0.96)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.98),
    0 28px 46px rgba(22, 90, 80, 0.14) !important;
}

body .floating-rail__title {
  width: 62px !important;
  min-height: 32px !important;
  margin: 0 auto 4px !important;
}

body .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(1),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(2),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(3),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(4),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(5),
body .floating-rail .floating-rail__buttons .floating-rail__button--top {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 62px !important;
  min-height: 62px !important;
  max-height: 62px !important;
  padding: 8px 5px 7px !important;
  gap: 4px !important;
  grid-template-rows: 18px 1fr !important;
  border-radius: 21px !important;
}

body .floating-rail__icon,
body .floating-rail .floating-rail__buttons .floating-rail__button .floating-rail__icon,
body .floating-rail__button--top .floating-rail__icon {
  height: 17px !important;
  font-size: 15px !important;
}

body .floating-rail__label,
body .floating-rail__button--top .floating-rail__label {
  width: 100% !important;
  max-width: 100% !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  text-align: center !important;
}

body .floating-panel,
body .floating-rail > .floating-panel,
body .floating-rail.is-open .floating-panel {
  right: 104px !important;
}

body:has(.page-hero__english) .article-layout,
body:has(.page-hero__panel[data-hero="tool"]) .article-layout {
  grid-template-columns: minmax(0, 1.28fr) minmax(280px, 0.72fr) !important;
  gap: 24px !important;
  align-items: start !important;
}

body:has(.page-hero__english) .article-body,
body:has(.page-hero__panel[data-hero="tool"]) .article-body {
  display: grid !important;
  gap: 16px !important;
}

body:has(.page-hero__english) .article-body h2,
body:has(.page-hero__panel[data-hero="tool"]) .article-body h2 {
  margin: 6px 0 4px !important;
  font-size: clamp(28px, 2vw, 34px) !important;
  line-height: 1.24 !important;
}

body:has(.page-hero__english) .guide-grid,
body:has(.page-hero__panel[data-hero="tool"]) .guide-grid,
body:has(.page-hero__english) .tool-list,
body:has(.page-hero__panel[data-hero="tool"]) .tool-list {
  gap: 16px !important;
}

body:has(.page-hero__english) .guide-card,
body:has(.page-hero__english) .guide-tile,
body:has(.page-hero__english) .tool-sheet,
body:has(.page-hero__english) .side-card,
body:has(.page-hero__panel[data-hero="tool"]) .guide-card,
body:has(.page-hero__panel[data-hero="tool"]) .guide-tile,
body:has(.page-hero__panel[data-hero="tool"]) .tool-sheet,
body:has(.page-hero__panel[data-hero="tool"]) .side-card {
  min-height: 0 !important;
  padding: 22px 24px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255,214,164,0.18), transparent 28%),
    radial-gradient(circle at 0 100%, rgba(154,220,195,0.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,252,249,0.97)) !important;
  box-shadow:
    0 16px 30px rgba(22, 84, 69, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body:has(.page-hero__english) .tool-sheet h3,
body:has(.page-hero__english) .side-card h3,
body:has(.page-hero__panel[data-hero="tool"]) .tool-sheet h3,
body:has(.page-hero__panel[data-hero="tool"]) .side-card h3 {
  font-size: 24px !important;
  line-height: 1.3 !important;
}

body:has(.page-hero__english) .tool-sheet ul,
body:has(.page-hero__english) .side-card ul,
body:has(.page-hero__panel[data-hero="tool"]) .tool-sheet ul,
body:has(.page-hero__panel[data-hero="tool"]) .side-card ul {
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
}

body:has(.page-hero__english) .article-sidebar,
body:has(.page-hero__panel[data-hero="tool"]) .article-sidebar {
  position: sticky !important;
  top: 122px !important;
  align-self: start !important;
  display: grid !important;
  gap: 16px !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .contact-directory {
  display: grid !important;
  gap: 24px !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .contact-hero-card {
  overflow: hidden !important;
  border-radius: 30px !important;
  border: 1px solid rgba(204, 229, 219, 0.92) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 213, 160, 0.18), transparent 32%),
    radial-gradient(circle at 0 100%, rgba(151, 220, 196, 0.12), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,252,249,0.97)) !important;
  box-shadow:
    0 22px 42px rgba(22, 84, 69, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .contact-hero-card__body {
  padding: 32px 34px !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .store-contact-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .store-contact-card {
  min-height: 0 !important;
  padding: 22px 22px 24px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(205, 228, 219, 0.92) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255,205,148,0.18), transparent 30%),
    radial-gradient(circle at 0 100%, rgba(147,216,189,0.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,252,249,0.97)) !important;
  box-shadow:
    0 18px 34px rgba(22, 84, 69, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .store-contact-card dl {
  display: grid !important;
  gap: 14px !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .store-contact-card dt {
  color: #2e6e60 !important;
  font-weight: 700 !important;
}

@media (max-width: 1180px) {
  body .floating-rail,
  body:not(.is-near-footer) .floating-rail {
    right: 18px !important;
    top: 88px !important;
  }

  body:has(.page-hero__english) .article-layout,
  body:has(.page-hero__panel[data-hero="tool"]) .article-layout,
  body:has(.page-hero__panel[data-hero="contact"]) .store-contact-list {
    grid-template-columns: 1fr !important;
  }

  body:has(.page-hero__english) .article-sidebar,
  body:has(.page-hero__panel[data-hero="tool"]) .article-sidebar {
    position: static !important;
  }
}

/* V97 terminal polish: keep these rules at the absolute end so older repair layers cannot override them. */
body .floating-rail,
body:not(.is-near-footer) .floating-rail {
  top: 96px !important;
  right: 28px !important;
  width: 92px !important;
  max-width: 92px !important;
  opacity: 1 !important;
  z-index: 56 !important;
  filter: drop-shadow(0 24px 42px rgba(22, 91, 82, 0.18)) !important;
}

body .floating-rail__buttons {
  width: 92px !important;
  padding: 14px 11px 12px !important;
  gap: 11px !important;
  border-radius: 34px !important;
  border: 1px solid rgba(198, 222, 213, 0.96) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.985), rgba(241,249,245,0.96)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.98),
    0 28px 46px rgba(22, 90, 80, 0.14) !important;
}

body .floating-rail__title {
  width: 62px !important;
  min-height: 32px !important;
  margin: 0 auto 4px !important;
}

body .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(1),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(2),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(3),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(4),
body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(5),
body .floating-rail .floating-rail__buttons .floating-rail__button--top {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 62px !important;
  min-height: 62px !important;
  max-height: 62px !important;
  padding: 8px 5px 7px !important;
  gap: 4px !important;
  grid-template-rows: 18px 1fr !important;
  border-radius: 21px !important;
}

body .floating-rail__icon,
body .floating-rail .floating-rail__buttons .floating-rail__button .floating-rail__icon,
body .floating-rail__button--top .floating-rail__icon {
  height: 17px !important;
  font-size: 15px !important;
}

body .floating-rail__label,
body .floating-rail__button--top .floating-rail__label {
  width: 100% !important;
  max-width: 100% !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  text-align: center !important;
}

body .floating-panel,
body .floating-rail > .floating-panel,
body .floating-rail.is-open .floating-panel {
  right: 104px !important;
}

body:has(.page-hero__english) .article-layout,
body:has(.page-hero__panel[data-hero="tool"]) .article-layout {
  grid-template-columns: minmax(0, 1.28fr) minmax(280px, 0.72fr) !important;
  gap: 24px !important;
  align-items: start !important;
}

body:has(.page-hero__english) .article-body,
body:has(.page-hero__panel[data-hero="tool"]) .article-body {
  display: grid !important;
  gap: 16px !important;
}

body:has(.page-hero__english) .article-body h2,
body:has(.page-hero__panel[data-hero="tool"]) .article-body h2 {
  margin: 6px 0 4px !important;
  font-size: clamp(28px, 2vw, 34px) !important;
  line-height: 1.24 !important;
}

body:has(.page-hero__english) .guide-grid,
body:has(.page-hero__panel[data-hero="tool"]) .guide-grid,
body:has(.page-hero__english) .tool-list,
body:has(.page-hero__panel[data-hero="tool"]) .tool-list {
  gap: 16px !important;
}

body:has(.page-hero__english) .guide-card,
body:has(.page-hero__english) .guide-tile,
body:has(.page-hero__english) .tool-sheet,
body:has(.page-hero__english) .side-card,
body:has(.page-hero__panel[data-hero="tool"]) .guide-card,
body:has(.page-hero__panel[data-hero="tool"]) .guide-tile,
body:has(.page-hero__panel[data-hero="tool"]) .tool-sheet,
body:has(.page-hero__panel[data-hero="tool"]) .side-card {
  min-height: 0 !important;
  padding: 22px 24px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255,214,164,0.18), transparent 28%),
    radial-gradient(circle at 0 100%, rgba(154,220,195,0.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,252,249,0.97)) !important;
  box-shadow:
    0 16px 30px rgba(22, 84, 69, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body:has(.page-hero__english) .tool-sheet h3,
body:has(.page-hero__english) .side-card h3,
body:has(.page-hero__panel[data-hero="tool"]) .tool-sheet h3,
body:has(.page-hero__panel[data-hero="tool"]) .side-card h3 {
  font-size: 24px !important;
  line-height: 1.3 !important;
}

body:has(.page-hero__english) .tool-sheet ul,
body:has(.page-hero__english) .side-card ul,
body:has(.page-hero__panel[data-hero="tool"]) .tool-sheet ul,
body:has(.page-hero__panel[data-hero="tool"]) .side-card ul {
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
}

body:has(.page-hero__english) .article-sidebar,
body:has(.page-hero__panel[data-hero="tool"]) .article-sidebar {
  position: sticky !important;
  top: 122px !important;
  align-self: start !important;
  display: grid !important;
  gap: 16px !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .contact-directory {
  display: grid !important;
  gap: 24px !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .contact-hero-card {
  overflow: hidden !important;
  border-radius: 30px !important;
  border: 1px solid rgba(204, 229, 219, 0.92) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 213, 160, 0.18), transparent 32%),
    radial-gradient(circle at 0 100%, rgba(151, 220, 196, 0.12), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,252,249,0.97)) !important;
  box-shadow:
    0 22px 42px rgba(22, 84, 69, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .contact-hero-card__body {
  padding: 32px 34px !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .store-contact-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .store-contact-card {
  min-height: 0 !important;
  padding: 22px 22px 24px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(205, 228, 219, 0.92) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255,205,148,0.18), transparent 30%),
    radial-gradient(circle at 0 100%, rgba(147,216,189,0.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,252,249,0.97)) !important;
  box-shadow:
    0 18px 34px rgba(22, 84, 69, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .store-contact-card dl {
  display: grid !important;
  gap: 14px !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .store-contact-card dt {
  color: #2e6e60 !important;
  font-weight: 700 !important;
}

@media (max-width: 1180px) {
  body .floating-rail,
  body:not(.is-near-footer) .floating-rail {
    right: 18px !important;
    top: 88px !important;
  }

  body:has(.page-hero__english) .article-layout,
  body:has(.page-hero__panel[data-hero="tool"]) .article-layout,
  body:has(.page-hero__panel[data-hero="contact"]) .store-contact-list {
    grid-template-columns: 1fr !important;
  }

  body:has(.page-hero__english) .article-sidebar,
  body:has(.page-hero__panel[data-hero="tool"]) .article-sidebar {
    position: static !important;
  }
}

/* V96 final polish: lift the floating service rail and reduce the empty-white feeling on tool/detail pages. */
body .floating-rail,
body:not(.is-near-footer) .floating-rail {
  top: clamp(140px, 24vh, 240px) !important;
  right: 32px !important;
  width: 92px !important;
  max-width: 92px !important;
  z-index: 48 !important;
  filter: drop-shadow(0 24px 42px rgba(24, 93, 84, 0.18)) !important;
}

body .floating-rail__buttons {
  width: 92px !important;
  padding: 14px 11px !important;
  gap: 11px !important;
  border-radius: 34px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(241, 249, 245, 0.95)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.98),
    0 28px 46px rgba(24, 90, 80, 0.14) !important;
}

body .floating-rail__title {
  width: 62px !important;
  min-height: 32px !important;
  margin: 0 auto 4px !important;
}

body .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 62px !important;
  min-height: 62px !important;
  max-height: 62px !important;
  padding: 8px 5px 7px !important;
  gap: 4px !important;
  border-radius: 21px !important;
}

body .floating-rail__label,
body .floating-rail__button--top .floating-rail__label {
  font-size: 10px !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

body:has(.page-hero__english) .article-layout,
body:has(.page-hero__panel[data-hero="tool"]) .article-layout {
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.7fr) !important;
  gap: 24px !important;
  align-items: start !important;
}

body:has(.page-hero__english) .article-body,
body:has(.page-hero__panel[data-hero="tool"]) .article-body {
  display: grid !important;
  gap: 16px !important;
}

body:has(.page-hero__english) .article-body h2,
body:has(.page-hero__panel[data-hero="tool"]) .article-body h2 {
  margin-top: 8px !important;
  margin-bottom: 6px !important;
  font-size: clamp(28px, 2.1vw, 34px) !important;
  line-height: 1.24 !important;
}

body:has(.page-hero__english) .article-body > p,
body:has(.page-hero__english) .article-body > ul,
body:has(.page-hero__panel[data-hero="tool"]) .article-body > p,
body:has(.page-hero__panel[data-hero="tool"]) .article-body > ul {
  margin: 0 !important;
}

body:has(.page-hero__english) .guide-grid,
body:has(.page-hero__panel[data-hero="tool"]) .guide-grid {
  gap: 18px !important;
}

body:has(.page-hero__english) .tool-list,
body:has(.page-hero__panel[data-hero="tool"]) .tool-list {
  gap: 16px !important;
}

body:has(.page-hero__english) .guide-card,
body:has(.page-hero__english) .guide-tile,
body:has(.page-hero__english) .tool-sheet,
body:has(.page-hero__english) .side-card,
body:has(.page-hero__panel[data-hero="tool"]) .guide-card,
body:has(.page-hero__panel[data-hero="tool"]) .guide-tile,
body:has(.page-hero__panel[data-hero="tool"]) .tool-sheet,
body:has(.page-hero__panel[data-hero="tool"]) .side-card {
  min-height: 0 !important;
  padding: 22px 24px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 214, 164, 0.18), transparent 28%),
    radial-gradient(circle at 0 100%, rgba(154, 220, 195, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,252,249,0.97)) !important;
  box-shadow:
    0 16px 30px rgba(22, 84, 69, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body:has(.page-hero__english) .guide-card h3,
body:has(.page-hero__english) .guide-tile h3,
body:has(.page-hero__english) .tool-sheet h3,
body:has(.page-hero__english) .side-card h3,
body:has(.page-hero__panel[data-hero="tool"]) .guide-card h3,
body:has(.page-hero__panel[data-hero="tool"]) .guide-tile h3,
body:has(.page-hero__panel[data-hero="tool"]) .tool-sheet h3,
body:has(.page-hero__panel[data-hero="tool"]) .side-card h3 {
  font-size: 24px !important;
  line-height: 1.3 !important;
}

body:has(.page-hero__english) .tool-sheet ul,
body:has(.page-hero__english) .side-card ul,
body:has(.page-hero__panel[data-hero="tool"]) .tool-sheet ul,
body:has(.page-hero__panel[data-hero="tool"]) .side-card ul {
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
}

body:has(.page-hero__english) .tool-sheet li,
body:has(.page-hero__english) .side-card li,
body:has(.page-hero__panel[data-hero="tool"]) .tool-sheet li,
body:has(.page-hero__panel[data-hero="tool"]) .side-card li {
  line-height: 1.78 !important;
}

body:has(.page-hero__english) .article-sidebar,
body:has(.page-hero__panel[data-hero="tool"]) .article-sidebar {
  position: sticky !important;
  top: 124px !important;
  display: grid !important;
  gap: 16px !important;
  align-self: start !important;
}

body:has(.page-hero__english) .page-utility,
body:has(.page-hero__panel[data-hero="tool"]) .page-utility {
  padding: 24px 28px !important;
  border-radius: 26px !important;
}

body .contact-hero-card,
body .store-contact-card {
  box-shadow:
    0 22px 42px rgba(22, 84, 69, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body .store-contact-card {
  background:
    radial-gradient(circle at 100% 0, rgba(255, 205, 148, 0.18), transparent 30%),
    radial-gradient(circle at 0 100%, rgba(147, 216, 189, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,252,249,0.97)) !important;
}

@media (max-width: 1180px) {
  body .floating-rail,
  body:not(.is-near-footer) .floating-rail {
    right: 18px !important;
    top: clamp(124px, 18vh, 180px) !important;
  }

  body:has(.page-hero__english) .article-layout,
  body:has(.page-hero__panel[data-hero="tool"]) .article-layout {
    grid-template-columns: 1fr !important;
  }

  body:has(.page-hero__english) .article-sidebar,
  body:has(.page-hero__panel[data-hero="tool"]) .article-sidebar {
    position: static !important;
  }
}

/* V91 footer lock: restore readable contact cards and stop legacy footer pills from collapsing into fake inputs. */
html body .footer__layout {
  align-items: stretch !important;
}

html body .footer__brand {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 22px !important;
  min-height: 100% !important;
  padding: 30px !important;
  border-radius: 28px !important;
}

html body .footer__logo {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}

html body .footer__socials {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 !important;
}

html body .footer__socials a,
html body .footer__socials .footer__social-placeholder {
  width: auto !important;
  min-width: 68px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

html body .footer__socials a::before,
html body .footer__socials .footer__social-placeholder::before {
  flex: 0 0 auto !important;
}

html body .footer__buttons {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0 !important;
}

html body .footer__buttons .footer__button,
html body .footer__helper {
  width: 100% !important;
  min-height: 44px !important;
  justify-content: center !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
}

html body .footer__contacts {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

html body .footer__contact-card,
html body .footer__contact-card.footer__qr {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  min-height: 214px !important;
  padding: 22px 20px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
}

html body .footer__contact-card:nth-child(5) {
  grid-column: span 2 !important;
  min-height: 170px !important;
}

html body .footer__contact-card h3 {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1.28 !important;
  white-space: normal !important;
}

html body .footer__contact-card ul {
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html body .footer__contact-card li,
html body .footer__contact-card p,
html body .footer__qr p {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  white-space: normal !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

html body .footer__contact-card:nth-child(5) ul {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

html body .footer__contact-card:nth-child(5) li {
  border-radius: 16px !important;
  padding: 14px 16px !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.1), rgba(255,255,255,0.06)) !important;
  border: 1px solid rgba(221, 235, 228, 0.14) !important;
}

html body .footer__qr {
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: center !important;
  margin: 0 !important;
}

html body .footer__qr-box {
  width: 92px !important;
  height: 92px !important;
  min-width: 92px !important;
  padding: 10px !important;
  border-radius: 22px !important;
}

html body .footer__qr-box img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

@media (max-width: 1180px) {
  html body .footer__contacts {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body .footer__contact-card:nth-child(5) {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 760px) {
  html body .footer__brand {
    padding: 24px 18px !important;
  }

  html body .footer__buttons {
    grid-template-columns: 1fr !important;
  }

  html body .footer__contacts {
    grid-template-columns: 1fr !important;
  }

  html body .footer__contact-card,
  html body .footer__contact-card.footer__qr,
  html body .footer__contact-card:nth-child(5) {
    min-height: 0 !important;
    grid-column: auto !important;
  }

  html body .footer__contact-card:nth-child(5) ul {
    grid-template-columns: 1fr !important;
  }

  html body .footer__qr {
    grid-template-columns: 82px minmax(0, 1fr) !important;
  }

  html body .footer__qr-box {
    width: 82px !important;
    height: 82px !important;
    min-width: 82px !important;
  }
}

/* V92 booking option chips: remove stray native checkbox artifacts and make the support choices feel deliberate. */
html body .check-grid {
  gap: 12px !important;
  padding: 16px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(201, 228, 216, 0.92) !important;
  background:
    linear-gradient(180deg, rgba(252,255,254,0.96), rgba(244,251,248,0.92)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.96),
    0 14px 32px rgba(23, 88, 72, 0.06) !important;
}

html body .check-grid label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 58px !important;
  padding: 14px 16px !important;
  border-radius: 16px !important;
  text-align: center !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

html body .check-grid label::before,
html body .check-grid label::after {
  display: none !important;
}

html body .check-grid input[type="checkbox"],
html body .check-grid input[type="radio"] {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  overflow: hidden !important;
  pointer-events: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

html body .check-grid label:has(input:checked) {
  border-color: rgba(95, 188, 146, 0.9) !important;
  background:
    linear-gradient(180deg, rgba(233, 250, 240, 0.98), rgba(216, 244, 230, 0.92)) !important;
  color: #155343 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.96),
    0 14px 28px rgba(66, 164, 121, 0.14) !important;
}

html body .check-grid label:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(150, 214, 189, 0.92) !important;
}

/* V93 events page completion: make the participation section feel like a real service entry instead of a placeholder. */
body:has(.page-hero__panel[data-hero="events"]) #joining .page-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin-top: 18px !important;
}

body:has(.page-hero__panel[data-hero="events"]) #joining .section-split {
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr) !important;
  gap: 26px !important;
  margin-top: 24px !important;
}

body:has(.page-hero__panel[data-hero="events"]) #joining .section-body {
  gap: 20px !important;
}

body:has(.page-hero__panel[data-hero="events"]) #joining .section-panel ul {
  display: grid !important;
  gap: 12px !important;
  margin: 0 !important;
  padding-left: 18px !important;
}

body:has(.page-hero__panel[data-hero="events"]) #joining .section-panel li {
  line-height: 1.7 !important;
}

body:has(.page-hero__panel[data-hero="events"]) #joining .section-aside .section-panel {
  min-height: 100% !important;
  justify-content: center !important;
}

@media (max-width: 980px) {
  body:has(.page-hero__panel[data-hero="events"]) #joining .page-grid,
  body:has(.page-hero__panel[data-hero="events"]) #joining .section-split {
    grid-template-columns: 1fr !important;
  }
}

/* V94 stores overview completion: turn the final standard-services section into a full closing block. */
body:has(.page-hero__panel[data-hero="stores"]) #standard .page-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  margin-top: 18px !important;
}

body:has(.page-hero__panel[data-hero="stores"]) #standard .section-split {
  grid-template-columns: minmax(0, 1.04fr) minmax(320px, 0.96fr) !important;
  gap: 26px !important;
  margin-top: 24px !important;
}

body:has(.page-hero__panel[data-hero="stores"]) #standard .section-body {
  gap: 20px !important;
}

body:has(.page-hero__panel[data-hero="stores"]) #standard .section-panel ul {
  display: grid !important;
  gap: 12px !important;
  margin: 0 !important;
  padding-left: 18px !important;
}

body:has(.page-hero__panel[data-hero="stores"]) #standard .section-aside .section-panel {
  min-height: 100% !important;
  justify-content: center !important;
}

@media (max-width: 1100px) {
  body:has(.page-hero__panel[data-hero="stores"]) #standard .page-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body:has(.page-hero__panel[data-hero="stores"]) #standard .section-split {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 700px) {
  body:has(.page-hero__panel[data-hero="stores"]) #standard .page-grid {
    grid-template-columns: 1fr !important;
  }
}

/* V95 tool pages: tighten editorial rhythm so long utility pages feel designed rather than document-like. */
body:has(.page-hero__english) .article-layout {
  align-items: start !important;
  gap: 28px !important;
}

body:has(.page-hero__english) .article-body h2 {
  margin-top: 18px !important;
  margin-bottom: 14px !important;
  font-size: 32px !important;
  line-height: 1.22 !important;
}

body:has(.page-hero__english) .article-body > p,
body:has(.page-hero__english) .article-body > ul {
  max-width: none !important;
}

body:has(.page-hero__english) .guide-grid {
  gap: 16px !important;
}

body:has(.page-hero__english) .guide-card,
body:has(.page-hero__english) .guide-tile,
body:has(.page-hero__english) .tool-sheet,
body:has(.page-hero__english) .side-card,
body:has(.page-hero__english) .guide-sidebar__card {
  border-radius: 22px !important;
  border: 1px solid rgba(204, 229, 219, 0.94) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 211, 156, 0.15), transparent 30%),
    radial-gradient(circle at 0 100%, rgba(155, 219, 196, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,252,250,0.96)) !important;
  box-shadow:
    0 18px 34px rgba(21, 87, 71, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.96) !important;
}

body:has(.page-hero__english) .tool-sheet {
  padding: 22px 24px !important;
}

body:has(.page-hero__english) .tool-sheet h3,
body:has(.page-hero__english) .side-card h3,
body:has(.page-hero__english) .guide-sidebar__card h3 {
  font-size: 24px !important;
  line-height: 1.28 !important;
}

body:has(.page-hero__english) .tool-sheet ul,
body:has(.page-hero__english) .side-card ul,
body:has(.page-hero__english) .guide-sidebar__card ul {
  display: grid !important;
  gap: 12px !important;
}

body:has(.page-hero__english) .page-utility {
  border-radius: 28px !important;
  padding: 28px 30px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(170, 225, 228, 0.18), transparent 30%),
    radial-gradient(circle at 0 100%, rgba(255, 224, 184, 0.2), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(245,252,251,0.96)) !important;
}

@media (max-width: 980px) {
  body:has(.page-hero__english) .article-layout {
    gap: 22px !important;
  }

  body:has(.page-hero__english) .article-body h2 {
    font-size: 28px !important;
  }
}

/* V84 homepage final blocks: restore the closing gallery section and make the lower homepage feel fuller and warmer. */
html body.home-polish .photo-marquee__track > [aria-hidden="true"] {
  display: none !important;
}

html body.home-polish .photo-marquee__track {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  animation: none !important;
  transform: none !important;
}

html body.home-polish .photo-marquee .photo-card,
html body.home-polish .section--soft:first-of-type .photo-card {
  min-height: 272px !important;
  padding: 18px 18px 20px !important;
  display: grid !important;
  grid-template-rows: 118px auto auto auto !important;
  align-content: start !important;
  justify-items: start !important;
  gap: 10px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,252,249,0.96)) !important;
  box-shadow:
    0 20px 42px rgba(25, 88, 77, 0.10),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

html body.home-polish .photo-marquee .photo-card::before,
html body.home-polish .photo-marquee .photo-card::after,
html body.home-polish .section--soft:first-of-type .photo-card::before,
html body.home-polish .section--soft:first-of-type .photo-card::after,
html body.home-polish .section--soft:first-of-type .photo-card h3::before,
html body.home-polish .section--soft:first-of-type .photo-card p::before {
  content: none !important;
  display: none !important;
}

html body.home-polish .photo-marquee .photo-card,
html body.home-polish .section--soft:first-of-type .photo-card {
  background-image:
    linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,0)),
    var(--photo-image, url("../images/gallery-room.jpg")),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,252,249,0.96)) !important;
  background-repeat: no-repeat, no-repeat, no-repeat !important;
  background-position: 0 0, center 18px, 0 0 !important;
  background-size: 100% 0, calc(100% - 36px) 100px, 100% 100% !important;
}

html body.home-polish .photo-marquee .photo-card__tag,
html body.home-polish .section--soft:first-of-type .photo-card__tag {
  grid-row: 2 !important;
  margin: 0 !important;
  color: #216053 !important;
  -webkit-text-fill-color: #216053 !important;
  background: #eef9f4 !important;
  border: 1px solid rgba(183, 224, 209, 0.94) !important;
  text-shadow: none !important;
}

html body.home-polish .photo-marquee .photo-card h3,
html body.home-polish .section--soft:first-of-type .photo-card h3 {
  grid-row: 3 !important;
  margin: 0 !important;
  color: #184843 !important;
  -webkit-text-fill-color: #184843 !important;
  font-size: 18px !important;
  line-height: 1.3 !important;
  text-shadow: none !important;
}

html body.home-polish .photo-marquee .photo-card p,
html body.home-polish .section--soft:first-of-type .photo-card p {
  grid-row: 4 !important;
  margin: 0 !important;
  color: #5a776f !important;
  -webkit-text-fill-color: #5a776f !important;
  font-size: 13px !important;
  line-height: 1.62 !important;
  text-shadow: none !important;
}

html body.home-polish .story-gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

html body.home-polish .story-gallery__card {
  min-height: 310px !important;
  padding: 18px !important;
  display: grid !important;
  grid-template-rows: 190px auto auto !important;
  gap: 12px !important;
  border: 1px solid rgba(208, 229, 220, 0.92) !important;
  border-radius: 24px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,252,249,0.96)) !important;
  box-shadow:
    0 22px 42px rgba(25, 88, 77, 0.10),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

html body.home-polish .story-gallery__card img {
  width: 100% !important;
  height: 190px !important;
  object-fit: cover !important;
  border-radius: 16px !important;
}

html body.home-polish .story-gallery__card span {
  margin: 0 !important;
  color: #2b7a67 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

html body.home-polish .story-gallery__card h3 {
  margin: 0 !important;
  color: #153f3d !important;
  font-size: 20px !important;
  line-height: 1.3 !important;
}

@media (max-width: 1180px) {
  html body.home-polish .photo-marquee__track {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body.home-polish .story-gallery {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 700px) {
  html body.home-polish .photo-marquee__track {
    grid-template-columns: 1fr !important;
  }
}

/* V83 absolute end overrides: homepage gallery cards must stay readable. */
html body.home-polish .photo-marquee .photo-card,
html body.home-polish .section--soft:first-of-type .photo-card {
  min-height: 308px !important;
  padding: 124px 22px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(13, 35, 34, 0.12) 0, rgba(13, 35, 34, 0.06) 104px, rgba(255, 255, 255, 0.98) 104px, rgba(251, 248, 244, 0.97) 100%) !important,
    var(--photo-image, url("../images/gallery-room.jpg")) center top / cover no-repeat !important;
}

html body.home-polish .photo-marquee .photo-card::before,
html body.home-polish .photo-marquee .photo-card::after,
html body.home-polish .section--soft:first-of-type .photo-card::before,
html body.home-polish .section--soft:first-of-type .photo-card::after,
html body.home-polish .section--soft:first-of-type .photo-card h3::before,
html body.home-polish .section--soft:first-of-type .photo-card p::before {
  content: none !important;
  display: none !important;
}

html body.home-polish .photo-marquee .photo-card > *,
html body.home-polish .section--soft:first-of-type .photo-card > * {
  position: relative !important;
  z-index: 1 !important;
}

html body.home-polish .photo-marquee .photo-card .photo-card__tag,
html body.home-polish .section--soft:first-of-type .photo-card .photo-card__tag {
  margin: 0 !important;
  color: #1a5d52 !important;
  -webkit-text-fill-color: #1a5d52 !important;
  background: rgba(241, 251, 246, 0.95) !important;
  border-color: rgba(178, 222, 206, 0.94) !important;
  text-shadow: none !important;
}

html body.home-polish .photo-marquee .photo-card h3,
html body.home-polish .section--soft:first-of-type .photo-card h3 {
  margin: 0 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 22px !important;
  line-height: 1.24 !important;
  text-shadow: 0 8px 22px rgba(0, 0, 0, 0.30) !important;
}

html body.home-polish .photo-marquee .photo-card p,
html body.home-polish .section--soft:first-of-type .photo-card p {
  margin: 0 !important;
  color: #4f6c63 !important;
  -webkit-text-fill-color: #4f6c63 !important;
  font-size: 14px !important;
  line-height: 1.64 !important;
  text-shadow: none !important;
}

@media (max-width: 700px) {
  html body.home-polish .photo-marquee .photo-card,
  html body.home-polish .section--soft:first-of-type .photo-card {
    min-height: 252px !important;
    padding: 114px 18px 20px !important;
  }

  html body.home-polish .photo-marquee .photo-card h3,
  html body.home-polish .section--soft:first-of-type .photo-card h3 {
    font-size: 19px !important;
  }
}

/* V82 end-pass overrides: lock homepage photo-card readability and stop knowledge feature card over-stretch. */
html body.home-polish .photo-card,
html body.home-polish .photo-marquee .photo-card {
  min-height: 312px !important;
  padding: 136px 22px 24px !important;
  justify-content: flex-end !important;
}

html body.home-polish .photo-card::before,
html body.home-polish .photo-card h3::before,
html body.home-polish .photo-card p::before {
  content: none !important;
  display: none !important;
}

html body.home-polish .photo-card__tag {
  margin: 0 0 4px !important;
  color: #1a574c !important;
  -webkit-text-fill-color: #1a574c !important;
  text-shadow: none !important;
}

html body.home-polish .photo-card h3 {
  margin: 0 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 24px !important;
  line-height: 1.24 !important;
  text-shadow: 0 10px 28px rgba(0, 0, 0, 0.32) !important;
}

html body.home-polish .photo-card p {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.94) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.94) !important;
  font-size: 14px !important;
  line-height: 1.62 !important;
  text-shadow: 0 8px 24px rgba(0, 0, 0, 0.26) !important;
}

html body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index {
  align-items: start !important;
}

html body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index__feature {
  min-height: 0 !important;
  height: auto !important;
  align-self: start !important;
  justify-content: flex-start !important;
  padding-bottom: 24px !important;
}

html body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index__feature .cta-row {
  margin-top: 10px !important;
}

@media (max-width: 700px) {
  html body.home-polish .photo-card,
  html body.home-polish .photo-marquee .photo-card {
    min-height: 258px !important;
    padding: 118px 18px 20px !important;
  }

  html body.home-polish .photo-card h3 {
    font-size: 20px !important;
  }
}

/* V81 layout stabilization: fix tall empty cards, improve image-card readability, and tighten special sections. */
body .photo-marquee__track {
  align-items: stretch !important;
}

body .photo-card,
body .photo-marquee .photo-card {
  min-height: 320px !important;
  padding: 132px 22px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  gap: 10px !important;
  background:
    linear-gradient(180deg, rgba(8, 29, 28, 0.08) 0, rgba(8, 29, 28, 0.10) 96px, rgba(255, 255, 255, 0.96) 168px, rgba(252, 249, 246, 0.97) 100%) !important,
    var(--photo-image, url("../images/gallery-room.jpg")) center top / cover no-repeat !important;
  overflow: hidden !important;
}

body .photo-card::before {
  height: 0 !important;
  background: transparent !important;
}

body .photo-card::after {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto !important;
  height: 156px !important;
  background: linear-gradient(180deg, rgba(6, 36, 36, 0.52), rgba(6, 36, 36, 0.06)) !important;
  pointer-events: none !important;
}

body .photo-card > * {
  position: relative !important;
  z-index: 1 !important;
}

body .photo-card__tag {
  margin: 0 !important;
  padding: 8px 14px !important;
  color: #134c43 !important;
  background: rgba(242, 251, 247, 0.94) !important;
  border: 1px solid rgba(170, 218, 201, 0.94) !important;
  box-shadow: 0 10px 20px rgba(20, 74, 65, 0.08) !important;
}

body .photo-card h3 {
  margin: 0 !important;
  color: #12423e !important;
  font-size: 26px !important;
  line-height: 1.28 !important;
  text-shadow: none !important;
}

body .photo-card p {
  margin: 0 !important;
  color: #537269 !important;
  font-size: 15px !important;
  line-height: 1.72 !important;
  text-shadow: none !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index {
  align-items: start !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index__feature {
  min-height: 0 !important;
  justify-content: flex-start !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index__feature .cta-row {
  margin-top: 8px !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index__list a {
  min-height: 94px !important;
}

body:has(.page-hero__panel[data-hero="community"]) #listener .section-split,
body:has(.page-hero__panel[data-hero="community"]) #children .section-split {
  grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr) !important;
  align-items: start !important;
}

body:has(.page-hero__panel[data-hero="community"]) #listener .section-body {
  display: grid !important;
  gap: 18px !important;
  align-content: start !important;
}

body:has(.page-hero__panel[data-hero="community"]) #listener .section-panel,
body:has(.page-hero__panel[data-hero="community"]) #children .section-panel {
  min-height: 0 !important;
  height: auto !important;
}

body:has(.page-hero__panel[data-hero="community"]) #listener .section-panel ul {
  display: grid !important;
  gap: 12px !important;
  margin: 0 !important;
  padding-left: 20px !important;
}

body:has(.page-hero__panel[data-hero="tool"]) .booking-layout {
  align-items: start !important;
}

body:has(.page-hero__panel[data-hero="tool"]) .triage-output {
  position: sticky !important;
  top: 104px !important;
  min-height: 0 !important;
  align-self: start !important;
}

@media (max-width: 1180px) {
  body .photo-card,
  body .photo-marquee .photo-card {
    min-height: 290px !important;
    padding: 122px 20px 22px !important;
  }

  body .photo-card h3 {
    font-size: 22px !important;
  }

  body:has(.page-hero__panel[data-hero="community"]) #listener .section-split,
  body:has(.page-hero__panel[data-hero="community"]) #children .section-split {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 700px) {
  body .photo-card,
  body .photo-marquee .photo-card {
    min-height: 252px !important;
    padding: 118px 18px 20px !important;
  }

  body .photo-card h3 {
    font-size: 20px !important;
  }

  body .photo-card p {
    font-size: 14px !important;
    line-height: 1.66 !important;
  }
}

/* V80 floating service rail refresh: wider, warmer, and fully readable. */
@media (min-width: 1181px) {
  body .floating-rail,
  body:not(.is-near-footer) .floating-rail {
    top: 50% !important;
    right: 24px !important;
    width: 92px !important;
    padding: 10px 10px 12px !important;
    border: 1px solid rgba(185, 223, 215, 0.88) !important;
    border-radius: 32px !important;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(243, 251, 248, 0.95)) !important;
    box-shadow:
      0 24px 54px rgba(14, 78, 65, 0.16),
      inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
    transform: translateY(-50%) !important;
    overflow: visible !important;
  }

  body .floating-rail::before {
    content: "" !important;
    position: absolute !important;
    inset: 10px 10px auto !important;
    height: 72px !important;
    border-radius: 24px !important;
    background:
      radial-gradient(circle at 50% 0, rgba(255, 214, 162, 0.42), transparent 68%),
      linear-gradient(180deg, rgba(241, 255, 250, 0.96), rgba(222, 245, 239, 0.9)) !important;
    pointer-events: none !important;
  }

  body .floating-rail__buttons {
    width: 100% !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  body .floating-rail__title {
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    min-height: 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 0 4px !important;
    padding: 0 8px !important;
    color: #195a4e !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    writing-mode: horizontal-tb !important;
  }

  body .floating-rail__button,
  body .floating-rail .floating-rail__buttons .floating-rail__button,
  body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(1),
  body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(2),
  body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(3),
  body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(4),
  body .floating-rail .floating-rail__buttons .floating-rail__button:nth-child(5),
  body .floating-rail .floating-rail__buttons .floating-rail__button--top {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: none !important;
    gap: 6px !important;
    padding: 8px 10px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.62) !important;
    color: #ffffff !important;
    text-align: center !important;
    box-shadow:
      0 12px 24px rgba(35, 115, 98, 0.16),
      inset 0 1px 0 rgba(255, 255, 255, 0.26) !important;
  }

  body .floating-rail .floating-rail__buttons .floating-rail__button[data-service="phone"] {
    background: linear-gradient(180deg, #5dc0d1 0%, #3aa9c6 100%) !important;
  }

  body .floating-rail .floating-rail__buttons .floating-rail__button[data-service="wechat"] {
    background: linear-gradient(180deg, #4fb7cf 0%, #379bb9 100%) !important;
  }

  body .floating-rail .floating-rail__buttons .floating-rail__button[data-service="miniapp"] {
    background: linear-gradient(180deg, #59bfd4 0%, #3aa1bf 100%) !important;
  }

  body .floating-rail .floating-rail__buttons .floating-rail__button[data-service="booking"] {
    background: linear-gradient(180deg, #5bb6cf 0%, #3f96b4 100%) !important;
  }

  body .floating-rail .floating-rail__buttons .floating-rail__button[data-service="xiaohongshu"] {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(245, 251, 248, 0.92)) !important;
    border-color: rgba(204, 229, 221, 0.92) !important;
    box-shadow:
      0 10px 24px rgba(44, 99, 85, 0.10),
      inset 0 1px 0 rgba(255, 255, 255, 0.98) !important;
  }

  body .floating-rail .floating-rail__buttons .floating-rail__button--top {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(241, 250, 246, 0.92)) !important;
    border-color: rgba(204, 229, 221, 0.92) !important;
    box-shadow:
      0 10px 24px rgba(44, 99, 85, 0.10),
      inset 0 1px 0 rgba(255, 255, 255, 0.98) !important;
  }

  body .floating-rail__icon,
  body .floating-rail .floating-rail__buttons .floating-rail__button .floating-rail__icon,
  body .floating-rail__button--top .floating-rail__icon {
    display: none !important;
  }

  body .floating-rail__label,
  body .floating-rail__button--top .floating-rail__label {
    display: block !important;
    max-width: 100% !important;
    overflow: visible !important;
    color: inherit !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    white-space: normal !important;
    word-break: break-word !important;
    text-align: center !important;
    letter-spacing: 0 !important;
  }

  body .floating-rail .floating-rail__buttons .floating-rail__button[data-service="xiaohongshu"] .floating-rail__label,
  body .floating-rail .floating-rail__buttons .floating-rail__button--top .floating-rail__label {
    color: #2c6d60 !important;
  }

  body .floating-rail__button:hover,
  body .floating-rail__button:focus-visible {
    transform: translateX(-4px) scale(1.01) !important;
    box-shadow:
      0 18px 30px rgba(26, 97, 82, 0.18),
      inset 0 1px 0 rgba(255, 255, 255, 0.32) !important;
  }

  body .floating-panel,
  body .floating-rail > .floating-panel,
  body .floating-rail.is-open .floating-panel {
    right: 108px !important;
    top: 78px !important;
    width: min(340px, calc(100vw - 180px)) !important;
    max-width: 340px !important;
    border-radius: 24px !important;
  }
}

/* V85 true final homepage card lock: keep gallery cards light and readable after all older layers. */
html body.home-polish .photo-marquee__track > [aria-hidden="true"] {
  display: none !important;
}

html body.home-polish .photo-marquee__track {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  animation: none !important;
  transform: none !important;
}

html body.home-polish .photo-marquee .photo-card {
  min-height: 270px !important;
  padding: 18px 18px 20px !important;
  display: grid !important;
  grid-template-rows: 104px auto auto auto !important;
  align-content: start !important;
  justify-items: start !important;
  gap: 10px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,252,249,0.96)) !important;
}

html body.home-polish .photo-marquee .photo-card::before,
html body.home-polish .photo-marquee .photo-card::after,
html body.home-polish .photo-marquee .photo-card h3::before,
html body.home-polish .photo-marquee .photo-card p::before {
  content: none !important;
  display: none !important;
}

html body.home-polish .photo-marquee .photo-card {
  background-image:
    linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,0)),
    var(--photo-image, url("../images/gallery-room.jpg")),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,252,249,0.96)) !important;
  background-repeat: no-repeat, no-repeat, no-repeat !important;
  background-position: 0 0, center 18px, 0 0 !important;
  background-size: 100% 0, calc(100% - 36px) 88px, 100% 100% !important;
}

html body.home-polish .photo-marquee .photo-card__tag {
  grid-row: 2 !important;
  margin: 0 !important;
  color: #206255 !important;
  -webkit-text-fill-color: #206255 !important;
  background: #eef8f4 !important;
  border: 1px solid rgba(182, 223, 208, 0.94) !important;
  text-shadow: none !important;
}

html body.home-polish .photo-marquee .photo-card h3 {
  grid-row: 3 !important;
  margin: 0 !important;
  color: #183f3b !important;
  -webkit-text-fill-color: #183f3b !important;
  font-size: 18px !important;
  line-height: 1.3 !important;
  text-shadow: none !important;
}

html body.home-polish .photo-marquee .photo-card p {
  grid-row: 4 !important;
  margin: 0 !important;
  color: #5b776f !important;
  -webkit-text-fill-color: #5b776f !important;
  font-size: 13px !important;
  line-height: 1.62 !important;
  text-shadow: none !important;
}

@media (max-width: 1180px) {
  html body.home-polish .photo-marquee__track {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  html body.home-polish .photo-marquee__track {
    grid-template-columns: 1fr !important;
  }

  html body.home-polish .photo-marquee .photo-card {
    min-height: 246px !important;
    grid-template-rows: 96px auto auto auto !important;
  }
}

/* V87 final floating rail lock + template card polish */
@media (min-width: 701px) {
  html body .floating-rail,
  html body:not(.is-near-footer) .floating-rail {
    right: 16px !important;
    top: 50% !important;
    width: 96px !important;
    max-width: 96px !important;
    transform: translateY(-50%) !important;
    filter: drop-shadow(0 24px 44px rgba(18, 78, 70, 0.17)) !important;
  }

  html body .floating-rail__buttons {
    width: 96px !important;
    padding: 16px 12px 14px !important;
    gap: 11px !important;
    border-radius: 36px !important;
    border: 1px solid rgba(193, 224, 213, 0.96) !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,0.99), rgba(241,250,246,0.96)) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.98),
      0 28px 48px rgba(18, 78, 70, 0.13) !important;
  }

  html body .floating-rail__title {
    width: 66px !important;
    min-height: 34px !important;
    margin: 0 auto 4px !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #ffffff, #edf8f3) !important;
    color: #0f6b5b !important;
    -webkit-text-fill-color: #0f6b5b !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    box-shadow:
      0 10px 18px rgba(20, 84, 72, 0.08),
      inset 0 1px 0 rgba(255,255,255,0.96) !important;
  }

  html body .floating-rail__button,
  html body .floating-rail .floating-rail__buttons .floating-rail__button {
    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
    padding: 0 8px !important;
    border-radius: 24px !important;
    grid-template-rows: 1fr !important;
    align-items: center !important;
    justify-items: center !important;
    gap: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,0.56) !important;
    box-shadow:
      0 16px 28px rgba(24, 96, 89, 0.18),
      inset 0 1px 0 rgba(255,255,255,0.26) !important;
  }

  html body .floating-rail__icon,
  html body .floating-rail__button--top .floating-rail__icon {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html body .floating-rail__label,
  html body .floating-rail__button--top .floating-rail__label {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.08) !important;
  }

  html body .floating-rail__button[data-service="miniapp"] .floating-rail__label,
  html body .floating-rail__button[data-service="xiaohongshu"] .floating-rail__label {
    font-size: 11px !important;
  }

  html body .floating-rail__button--top .floating-rail__label {
    color: #1a7868 !important;
    -webkit-text-fill-color: #1a7868 !important;
    text-shadow: none !important;
  }

  html body .floating-panel,
  html body .floating-rail > .floating-panel,
  html body .floating-rail.is-open .floating-panel {
    right: 108px !important;
  }
}

body:has(.page-hero__panel) .download-card,
body:has(.page-hero__panel) .news-item,
body:has(.page-hero__panel) .faq-list details,
body:has(.page-hero__panel) .impact-grid article {
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease !important;
}

body:has(.page-hero__panel) .download-card:hover,
body:has(.page-hero__panel) .news-item:hover,
body:has(.page-hero__panel) .faq-list details:hover,
body:has(.page-hero__panel) .impact-grid article:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(182, 221, 205, 0.94) !important;
  box-shadow:
    0 26px 52px rgba(24, 86, 75, 0.13),
    inset 0 1px 0 rgba(255,255,255,0.96) !important;
}

body:has(.page-hero__panel) .section-visual {
  border-radius: 30px !important;
  box-shadow:
    0 24px 52px rgba(20, 78, 70, 0.12),
    inset 0 1px 0 rgba(255,255,255,0.94) !important;
}

body:has(.page-hero__panel) .section-visual img {
  min-height: 280px !important;
  object-fit: cover !important;
}

body:has(.page-hero__panel) .section-visual__content {
  padding: 24px 24px 22px !important;
  background:
    linear-gradient(180deg, rgba(10, 56, 48, 0.06), rgba(10, 56, 48, 0.68)) !important;
}

body:has(.page-hero__panel) .section-visual__content h3 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: clamp(24px, 2vw, 30px) !important;
  line-height: 1.36 !important;
}

body:has(.page-hero__panel) .section-visual__content p {
  color: rgba(243, 249, 247, 0.92) !important;
  -webkit-text-fill-color: rgba(243, 249, 247, 0.92) !important;
}

/* V88 tighten subpage hero rhythm so the first content block starts sooner */
body:has(.page-hero__panel) .page-hero {
  padding: 40px 0 42px !important;
}

body:has(.page-hero__panel) .page-hero__panel {
  align-items: start !important;
  align-content: start !important;
  grid-auto-rows: min-content !important;
  gap: 38px !important;
  min-height: 0 !important;
  padding: 36px 40px 34px 56px !important;
}

body:has(.page-hero__panel) .page-hero__panel::before {
  grid-row: 1 / span 5 !important;
  align-self: stretch !important;
  min-height: 0 !important;
  aspect-ratio: 430 / 270 !important;
}

body:has(.page-hero__panel) .page-hero__panel h1 {
  margin-top: 14px !important;
}

body:has(.page-hero__panel) .page-hero__panel .hero__summary {
  margin-top: 18px !important;
}

body:has(.page-hero__panel) .page-hero__english {
  margin-top: 18px !important;
  padding-top: 10px !important;
}

body:has(.page-hero__panel) .subnav,
body:has(.page-hero__panel) .page-hero__panel .subnav {
  margin-top: 16px !important;
}

@media (max-width: 900px) {
  body:has(.page-hero__panel) .page-hero {
    padding: 28px 0 34px !important;
  }

  body:has(.page-hero__panel) .page-hero__panel {
    padding: 28px 24px !important;
    gap: 24px !important;
  }
}

/* V89 impact metrics alignment */
body:has(.page-hero__panel) .impact-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  align-items: stretch !important;
}

@media (max-width: 1100px) {
  body:has(.page-hero__panel) .impact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  body:has(.page-hero__panel) .impact-grid {
    grid-template-columns: 1fr !important;
  }
}

/* V90 reduce decorative noise on community and tool pages */
body:has(.page-hero__panel[data-hero="community"]) #groups .page-card.page-card--media .page-card__body::after,
body:has(.page-hero__panel[data-hero="community"]) #groups .page-card.page-card--media::after,
body:has(.page-hero__panel[data-hero="community"]) #groups .page-card.page-card--media::before {
  content: none !important;
  display: none !important;
}

body:has(.page-hero__panel[data-hero="community"]) #groups .page-card.page-card--media {
  border: 1px solid rgba(206, 228, 219, 0.88) !important;
  border-radius: 24px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(251,247,242,0.96)) !important;
  box-shadow:
    0 20px 40px rgba(118, 90, 68, 0.10),
    inset 0 1px 0 rgba(255,255,255,0.94) !important;
}

body:has(.page-hero__panel[data-hero="community"]) #groups .page-card.page-card--media .page-card__body {
  min-height: 132px !important;
  padding: 22px 24px 24px !important;
  border-top: 1px solid rgba(234, 220, 209, 0.78) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(252,248,245,0.97)) !important;
}

body:has(.page-hero__panel[data-hero="community"]) #groups .page-card.page-card--media .page-card__body h3 {
  max-width: 100% !important;
  color: #0f4d43 !important;
}

body:has(.page-hero__panel[data-hero="community"]) #groups .page-card.page-card--media .page-card__body p {
  max-width: 100% !important;
  color: #44685f !important;
}

body:has(.page-hero__panel[data-hero="tool"]) .guide-card,
body:has(.page-hero__panel[data-hero="tool"]) .tool-sheet,
body:has(.page-hero__panel[data-hero="tool"]) .article-body {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(249,252,250,0.97)) !important;
  box-shadow:
    0 18px 36px rgba(25, 88, 77, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.96) !important;
}

body:has(.page-hero__panel[data-hero="tool"]) .guide-card::before,
body:has(.page-hero__panel[data-hero="tool"]) .guide-card::after,
body:has(.page-hero__panel[data-hero="tool"]) .tool-sheet::before,
body:has(.page-hero__panel[data-hero="tool"]) .tool-sheet::after,
body:has(.page-hero__panel[data-hero="tool"]) .article-body::before,
body:has(.page-hero__panel[data-hero="tool"]) .article-body::after {
  content: none !important;
  display: none !important;
}

body:has(.page-hero__panel[data-hero="tool"]) .article-body {
  background-image:
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(248,252,249,0.97)) !important;
  border: 1px solid rgba(206, 228, 219, 0.86) !important;
  border-radius: 28px !important;
  padding: 28px 30px 30px !important;
}

body:has(.page-hero__panel[data-hero="tool"]) .guide-card {
  border: 1px solid rgba(201, 228, 220, 0.88) !important;
  border-radius: 22px !important;
  padding: 22px 22px 24px !important;
}

body:has(.page-hero__panel[data-hero="tool"]) .tool-sheet {
  border-radius: 22px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(248,252,249,0.97)) !important;
}

body:has(.page-hero__panel) .article-body {
  background-image:
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(249,252,250,0.97)) !important;
}

body:has(.page-hero__panel) .article-body::before,
body:has(.page-hero__panel) .article-body::after {
  opacity: 0.18 !important;
}

body:has(.page-hero__panel[data-hero="tool"]) .guide-card h3 {
  color: #0f5045 !important;
}

body:has(.page-hero__panel[data-hero="tool"]) .guide-card p,
body:has(.page-hero__panel[data-hero="tool"]) .tool-sheet li,
body:has(.page-hero__panel[data-hero="tool"]) .article-body p,
body:has(.page-hero__panel[data-hero="tool"]) .article-body li {
  color: #45695f !important;
}

/* V83 floating rail refinement: keep the service entry visible, lighter, and more polished on desktop. */
@media (min-width: 701px) {
  html body .floating-rail,
  html body:not(.is-near-footer) .floating-rail {
    display: block !important;
    top: 50% !important;
    right: 10px !important;
    width: 88px !important;
    max-width: 88px !important;
    opacity: 0.98 !important;
    z-index: 120 !important;
    filter: drop-shadow(0 22px 40px rgba(21, 83, 76, 0.16)) !important;
    transform: translateY(-50%) !important;
  }

  html body .floating-rail__buttons {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 88px !important;
    padding: 14px 10px 12px !important;
    gap: 10px !important;
    border-radius: 34px !important;
    border: 1px solid rgba(193, 223, 213, 0.92) !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,0.985), rgba(243,251,248,0.95)) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.98),
      0 24px 46px rgba(27, 91, 81, 0.14) !important;
  }

  html body .floating-rail__title {
    display: grid !important;
    place-items: center !important;
    width: 60px !important;
    min-height: 32px !important;
    margin: 0 auto 2px !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #ffffff, #eef8f4) !important;
    color: #106f60 !important;
    -webkit-text-fill-color: #106f60 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    box-shadow: 0 10px 18px rgba(28, 93, 82, 0.08) !important;
  }

  html body .floating-rail__button,
  html body .floating-rail .floating-rail__buttons .floating-rail__button {
    width: 62px !important;
    min-width: 62px !important;
    max-width: 62px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    padding: 7px 5px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(255,255,255,0.65) !important;
    display: grid !important;
    grid-template-rows: 18px 1fr !important;
    place-items: center !important;
    gap: 4px !important;
    overflow: hidden !important;
    box-shadow:
      0 16px 28px rgba(25, 98, 95, 0.18),
      inset 0 1px 0 rgba(255,255,255,0.28) !important;
  }

  html body .floating-rail__button[data-service="phone"],
  html body .floating-rail .floating-rail__buttons .floating-rail__button[data-service="phone"] {
    background: linear-gradient(135deg, #f09b77, #f2bf78) !important;
  }

  html body .floating-rail__button[data-service="wechat"],
  html body .floating-rail .floating-rail__buttons .floating-rail__button[data-service="wechat"] {
    background: linear-gradient(135deg, #2ea88b, #6ac6aa) !important;
  }

  html body .floating-rail__button[data-service="miniapp"],
  html body .floating-rail .floating-rail__buttons .floating-rail__button[data-service="miniapp"] {
    background: linear-gradient(135deg, #4c93c7, #7fc6df) !important;
  }

  html body .floating-rail__button[data-service="booking"],
  html body .floating-rail .floating-rail__buttons .floating-rail__button[data-service="booking"] {
    background: linear-gradient(135deg, #7389d9, #94afea) !important;
  }

  html body .floating-rail__button[data-service="xiaohongshu"],
  html body .floating-rail .floating-rail__buttons .floating-rail__button[data-service="xiaohongshu"] {
    background: linear-gradient(135deg, #e48d98, #f0b2a4) !important;
  }

  html body .floating-rail__button--top,
  html body .floating-rail .floating-rail__buttons .floating-rail__button--top {
    background: linear-gradient(180deg, #ffffff, #eef8f3) !important;
    border-color: rgba(191, 221, 210, 0.96) !important;
    color: #1a7c69 !important;
    -webkit-text-fill-color: #1a7c69 !important;
    box-shadow:
      0 14px 24px rgba(21, 86, 71, 0.09),
      inset 0 1px 0 rgba(255,255,255,0.98) !important;
  }

  html body .floating-rail__icon,
  html body .floating-rail__button--top .floating-rail__icon {
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: 18px !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  html body .floating-rail__button[data-service="phone"] .floating-rail__icon {
    font-size: 11px !important;
    letter-spacing: 0 !important;
  }

  html body .floating-rail__label,
  html body .floating-rail__button--top .floating-rail__label {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    line-height: 1.12 !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.08) !important;
  }

  html body .floating-rail__button--top .floating-rail__label {
    text-shadow: none !important;
  }

  html body .floating-rail__button:hover,
  html body .floating-rail__button:focus-visible {
    transform: translateY(-2px) scale(1.02) !important;
    box-shadow:
      0 20px 34px rgba(25, 98, 95, 0.22),
      inset 0 1px 0 rgba(255,255,255,0.34) !important;
  }

  html body .floating-panel,
  html body .floating-rail > .floating-panel,
  html body .floating-rail.is-open .floating-panel {
    right: 100px !important;
  }
}

/* V84 homepage final blocks: restore the closing gallery section and make the lower homepage feel fuller and warmer. */
body.home-polish main > section:nth-of-type(12),
html body.home-polish main > section:nth-of-type(12) {
  display: block !important;
}

body.home-polish .help-banner {
  position: relative !important;
  overflow: hidden !important;
  align-items: center !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 28px !important;
  padding: 30px 126px 30px 34px !important;
  border: 1px solid rgba(201, 226, 216, 0.88) !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(252, 196, 132, 0.20), transparent 30%),
    radial-gradient(circle at 0 100%, rgba(124, 204, 180, 0.16), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,0.985), rgba(245,251,248,0.95)) !important;
  box-shadow:
    0 26px 58px rgba(21, 83, 67, 0.10),
    inset 0 1px 0 rgba(255,255,255,0.96) !important;
}

body.home-polish .help-banner::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 6px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #f2b36f, #26a482, #67b7d7) !important;
  opacity: 0.9 !important;
}

body.home-polish .help-banner > * {
  position: relative !important;
  z-index: 1 !important;
}

body.home-polish .help-banner h3 {
  margin-bottom: 8px !important;
  color: #16473e !important;
  font-size: clamp(24px, 2vw, 30px) !important;
  line-height: 1.28 !important;
}

body.home-polish .help-banner p {
  max-width: 760px !important;
  color: #4a6f65 !important;
  font-size: 15px !important;
  line-height: 1.82 !important;
}

body.home-polish .help-banner__actions {
  justify-self: end !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  max-width: 100% !important;
}

/* V86 utility and editorial template pass: downloads, FAQ, notices, impact, and legal pages. */
body:has(.page-hero__panel) .section-split {
  gap: 28px !important;
  align-items: start !important;
}

body:has(.page-hero__panel) .section-body {
  display: grid !important;
  gap: 22px !important;
}

body:has(.page-hero__panel) .download-grid,
body:has(.page-hero__panel) .news-list {
  display: grid !important;
  gap: 18px !important;
}

body:has(.page-hero__panel) .download-card,
body:has(.page-hero__panel) .news-item {
  position: relative !important;
  overflow: hidden !important;
  min-height: 100% !important;
  padding: 24px 24px 22px !important;
  border: 1px solid rgba(206, 228, 219, 0.84) !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(248, 200, 139, 0.16), transparent 28%),
    radial-gradient(circle at 0 100%, rgba(122, 202, 179, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,252,249,0.96)) !important;
  box-shadow:
    0 22px 48px rgba(24, 86, 75, 0.10),
    inset 0 1px 0 rgba(255,255,255,0.96) !important;
}

body:has(.page-hero__panel) .download-card::before,
body:has(.page-hero__panel) .news-item::before {
  height: 3px !important;
  background: linear-gradient(90deg, rgba(241, 167, 104, 0.95), rgba(36, 164, 126, 0.88), rgba(104, 175, 218, 0.72)) !important;
}

body:has(.page-hero__panel) .download-card h3,
body:has(.page-hero__panel) .news-item h3 {
  color: #16463d !important;
  font-size: clamp(22px, 1.8vw, 28px) !important;
  line-height: 1.4 !important;
}

body:has(.page-hero__panel) .download-card p,
body:has(.page-hero__panel) .news-item p,
body:has(.page-hero__panel) .news-item li {
  color: #4e7167 !important;
  font-size: 15px !important;
  line-height: 1.82 !important;
}

body:has(.page-hero__panel) .download-card span,
body:has(.page-hero__panel) .news-item span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(214, 230, 222, 0.92) !important;
  background: rgba(255,255,255,0.82) !important;
  color: #22886e !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

body:has(.page-hero__panel) .news-item time {
  color: #7b968d !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

body:has(.page-hero__panel) .news-item--top {
  border-color: rgba(236, 194, 155, 0.88) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(245, 188, 132, 0.18), transparent 28%),
    radial-gradient(circle at 0 100%, rgba(131, 204, 183, 0.14), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(252,248,244,0.96)) !important;
}

body:has(.page-hero__panel) .faq-list {
  display: grid !important;
  gap: 18px !important;
}

body:has(.page-hero__panel) .faq-list details {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(206, 228, 219, 0.84) !important;
  border-radius: 24px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,252,249,0.96)) !important;
  box-shadow:
    0 20px 44px rgba(24, 86, 75, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.96) !important;
}

body:has(.page-hero__panel) .faq-list details::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto !important;
  height: 3px !important;
  background: linear-gradient(90deg, rgba(241, 167, 104, 0.9), rgba(36, 164, 126, 0.84), rgba(104, 175, 218, 0.66)) !important;
}

body:has(.page-hero__panel) .faq-list summary {
  min-height: 78px !important;
  padding: 24px 58px 24px 24px !important;
  color: #18483f !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}

body:has(.page-hero__panel) .faq-list details p {
  padding: 0 24px 24px !important;
  color: #527369 !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
}

body:has(.page-hero__panel) .faq-list summary::before {
  left: 22px !important;
}

body:has(.page-hero__panel) .faq-list summary::after {
  right: 22px !important;
}

body:has(.page-hero__panel) .impact-grid {
  gap: 18px !important;
}

body:has(.page-hero__panel) .impact-grid article {
  min-height: 150px !important;
  padding: 26px 22px !important;
  border-radius: 24px !important;
}

body:has(.page-hero__panel) .impact-grid strong {
  color: #18483f !important;
  font-size: clamp(34px, 2.8vw, 44px) !important;
}

body:has(.page-hero__panel) .impact-grid span {
  color: #53766c !important;
  line-height: 1.72 !important;
}

@media (max-width: 900px) {
  body:has(.page-hero__panel) .download-card,
  body:has(.page-hero__panel) .news-item {
    padding: 20px 18px 18px !important;
    border-radius: 22px !important;
  }

  body:has(.page-hero__panel) .faq-list summary {
    min-height: 0 !important;
    padding: 20px 48px 20px 18px !important;
    font-size: 18px !important;
  }

  body:has(.page-hero__panel) .faq-list details p {
    padding: 0 18px 20px !important;
  }
}

body.home-polish .results-stats {
  gap: 18px !important;
}

body.home-polish .results-stats article {
  min-height: 140px !important;
  border-radius: 24px !important;
  padding: 24px 24px 22px !important;
}

body.home-polish .story-gallery {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

body.home-polish .story-gallery__card {
  position: relative !important;
  min-height: 100% !important;
  padding: 18px 18px 22px !important;
  border: 1px solid rgba(232, 201, 184, 0.70) !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(252, 210, 172, 0.18), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(252,247,243,0.95)) !important;
  box-shadow:
    0 28px 54px rgba(152, 105, 83, 0.12),
    inset 0 1px 0 rgba(255,255,255,0.96) !important;
}

body.home-polish .story-gallery__card img {
  aspect-ratio: 4 / 3 !important;
  border-radius: 22px !important;
  margin-bottom: 16px !important;
  box-shadow:
    0 18px 34px rgba(19, 79, 68, 0.12),
    inset 0 1px 0 rgba(255,255,255,0.4) !important;
}

body.home-polish .story-gallery__card span {
  min-height: 30px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(235, 202, 176, 0.66) !important;
  background: rgba(255, 248, 241, 0.92) !important;
  color: #9a644b !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

body.home-polish .story-gallery__card h3 {
  margin-top: 14px !important;
  color: #18483f !important;
  font-size: 22px !important;
  line-height: 1.42 !important;
}

/* V85 tertiary pages: make detail/article/tool/store pages feel more finished and less like generic blocks. */
body:has(.page-hero__panel) .guide-layout {
  align-items: start !important;
  gap: 28px !important;
}

body:has(.page-hero__panel) .guide-stack {
  display: grid !important;
  gap: 24px !important;
}

body:has(.page-hero__panel) .guide-section {
  position: relative !important;
  overflow: hidden !important;
  padding: 30px 32px !important;
  border: 1px solid rgba(205, 228, 219, 0.82) !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(123, 204, 180, 0.10), transparent 30%),
    radial-gradient(circle at 0 100%, rgba(249, 197, 135, 0.12), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(248,252,249,0.96)) !important;
  box-shadow:
    0 26px 58px rgba(23, 84, 71, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.96) !important;
}

body:has(.page-hero__panel) .guide-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto !important;
  height: 3px !important;
  background: linear-gradient(90deg, rgba(242, 174, 117, 0.92), rgba(38, 164, 130, 0.88), rgba(101, 175, 220, 0.72)) !important;
}

body:has(.page-hero__panel) .guide-section > * {
  position: relative !important;
  z-index: 1 !important;
}

body:has(.page-hero__panel) .guide-section h2,
body:has(.page-hero__panel) .tool-sheet h3,
body:has(.page-hero__panel) .info-card h3,
body:has(.page-hero__panel) .visual-card h3,
body:has(.page-hero__panel) .service-standard__card h3,
body:has(.page-hero__panel) .guide-sidebar__card h3,
body:has(.page-hero__panel) .related-links__card h3 {
  color: #15463d !important;
}

body:has(.page-hero__panel) .guide-section p,
body:has(.page-hero__panel) .guide-section li,
body:has(.page-hero__panel) .tool-sheet p,
body:has(.page-hero__panel) .tool-sheet li,
body:has(.page-hero__panel) .info-card p,
body:has(.page-hero__panel) .info-card li,
body:has(.page-hero__panel) .visual-card p,
body:has(.page-hero__panel) .visual-card li,
body:has(.page-hero__panel) .service-standard__card p,
body:has(.page-hero__panel) .service-standard__card li,
body:has(.page-hero__panel) .guide-sidebar__card p,
body:has(.page-hero__panel) .guide-sidebar__card li,
body:has(.page-hero__panel) .related-links__card p,
body:has(.page-hero__panel) .page-utility p {
  color: #4f7268 !important;
  line-height: 1.82 !important;
}

body:has(.page-hero__panel) .guide-grid,
body:has(.page-hero__panel) .detail-grid,
body:has(.page-hero__panel) .service-standard__grid,
body:has(.page-hero__panel) .related-links__grid,
body:has(.page-hero__panel) .tool-list {
  gap: 22px !important;
}

body:has(.page-hero__panel) .guide-tile,
body:has(.page-hero__panel) .detail-card,
body:has(.page-hero__panel) .tool-sheet,
body:has(.page-hero__panel) .info-card,
body:has(.page-hero__panel) .visual-card,
body:has(.page-hero__panel) .service-standard__card,
body:has(.page-hero__panel) .guide-sidebar__card,
body:has(.page-hero__panel) .related-links__card,
body:has(.page-hero__panel) .page-utility {
  border-radius: 26px !important;
}

body:has(.page-hero__panel) .guide-sidebar {
  display: grid !important;
  gap: 20px !important;
}

body:has(.page-hero__panel) .section-visual {
  overflow: hidden !important;
  border: 1px solid rgba(206, 228, 219, 0.84) !important;
  border-radius: 30px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(245,251,248,0.96)) !important;
  box-shadow:
    0 24px 54px rgba(21, 83, 67, 0.10),
    inset 0 1px 0 rgba(255,255,255,0.96) !important;
}

body:has(.page-hero__panel) .section-visual img {
  aspect-ratio: 4 / 3 !important;
  min-height: 260px !important;
  object-fit: cover !important;
}

body:has(.page-hero__panel) .page-utility {
  align-items: center !important;
  padding: 28px 32px !important;
}

body:has(.page-hero__panel) .page-utility__actions {
  gap: 12px !important;
}

@media (max-width: 900px) {
  body.home-polish .help-banner {
    grid-template-columns: 1fr !important;
    padding: 24px 22px !important;
    border-radius: 24px !important;
    gap: 18px !important;
  }

  body.home-polish .help-banner__actions {
    justify-self: start !important;
    justify-content: flex-start !important;
  }

  body.home-polish .story-gallery {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  body:has(.page-hero__panel) .guide-section {
    padding: 24px 22px !important;
    border-radius: 24px !important;
  }

  body:has(.page-hero__panel) .page-utility {
    padding: 22px 20px !important;
  }
}

/* V81: footer contrast lock after legacy overrides. */
html body .footer__contact-card li,
html body .footer__contact-card p,
html body .footer__qr p,
html body .footer__contact-card:nth-child(5) li,
html body .footer__contact-card:nth-child(5) p {
  color: rgba(245, 251, 248, 0.94) !important;
  -webkit-text-fill-color: rgba(245, 251, 248, 0.94) !important;
}

html body .footer__button--secondary,
html body .footer__helper {
  background: linear-gradient(180deg, rgba(255,255,255,0.16), rgba(255,255,255,0.1)) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

html body .footer__button--secondary *,
html body .footer__helper * {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}

/* V82: subpage differentiation pass for community, knowledge hub, and contact. */
body:has(.page-hero__panel[data-hero="community"]) #groups .page-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 26px !important;
}

body:has(.page-hero__panel[data-hero="community"]) #groups .page-card.page-card--media {
  border-radius: 24px !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(252,247,242,0.96)) !important;
  box-shadow: 0 24px 48px rgba(120, 92, 74, 0.12) !important;
}

body:has(.page-hero__panel[data-hero="community"]) #listener.section--soft {
  background:
    radial-gradient(circle at 10% 18%, rgba(255, 214, 184, 0.24), transparent 26%),
    linear-gradient(180deg, #fffaf6 0%, #fef3eb 100%) !important;
}

body:has(.page-hero__panel[data-hero="community"]) #listener .section-split,
body:has(.page-hero__panel[data-hero="community"]) #children .section-split {
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

body:has(.page-hero__panel[data-hero="community"]) #listener .section-panel,
body:has(.page-hero__panel[data-hero="community"]) #children .section-panel {
  border-radius: 24px !important;
  padding: 28px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 210, 191, 0.26), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,246,239,0.94)) !important;
  box-shadow: 0 18px 40px rgba(154, 96, 70, 0.09) !important;
}

body:has(.page-hero__panel[data-hero="community"]) #listener .section-panel ul,
body:has(.page-hero__panel[data-hero="community"]) #children .section-panel ul {
  display: grid !important;
  gap: 12px !important;
}

body:has(.page-hero__panel[data-hero="community"]) #listener .section-panel li,
body:has(.page-hero__panel[data-hero="community"]) #children .section-panel li {
  padding: 12px 14px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,0.78) !important;
  border: 1px solid rgba(238, 202, 184, 0.86) !important;
}

body:has(.page-hero__panel[data-hero="community"]) .section-visual {
  border-radius: 26px !important;
  overflow: hidden !important;
  box-shadow: 0 22px 52px rgba(126, 93, 70, 0.14) !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) #directory.section--compact {
  background:
    radial-gradient(circle at 88% 14%, rgba(163, 208, 223, 0.18), transparent 28%),
    linear-gradient(180deg, #f4fbfe 0%, #f7fcfb 100%) !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index {
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.98fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index__feature {
  min-height: 100% !important;
  border-radius: 26px !important;
  padding: 30px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 18px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(170, 211, 222, 0.22), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(241,249,252,0.95)) !important;
  box-shadow: 0 18px 42px rgba(86, 136, 152, 0.1) !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index__feature .eyebrow {
  margin-bottom: 4px !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index__feature h3 {
  margin: 0 !important;
  font-size: clamp(28px, 2.5vw, 36px) !important;
  line-height: 1.24 !important;
  max-width: 12em !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index__feature p {
  margin: 0 !important;
  max-width: 34em !important;
  font-size: 16px !important;
  line-height: 1.86 !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index__feature .cta-row {
  margin-top: auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index__feature .cta-row .button {
  min-height: 46px !important;
  padding: 0 20px !important;
  border-radius: 999px !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index__list {
  display: grid !important;
  gap: 14px !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index__list a {
  min-height: 112px !important;
  padding: 22px 22px 20px !important;
  border-radius: 22px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 8px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(242,248,255,0.95)) !important;
  box-shadow: 0 14px 30px rgba(72, 127, 154, 0.08) !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index__list strong {
  font-size: 24px !important;
  line-height: 1.28 !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index__list span {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) .article-filters {
  border-radius: 24px !important;
  padding: 18px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(244,249,252,0.96)) !important;
  box-shadow: 0 16px 34px rgba(82, 132, 148, 0.08) !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) .article-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) .article-card {
  min-height: 220px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(177, 218, 228, 0.18), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(245,250,252,0.96)) !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) .resource-columns,
body:has(.page-hero__panel[data-hero="knowledge"]) .tool-grid {
  gap: 18px !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) .resource-card,
body:has(.page-hero__panel[data-hero="knowledge"]) .tool-link {
  border-radius: 20px !important;
}

body:has(.page-hero__panel[data-hero="contact"]) #stores.section--soft {
  background:
    radial-gradient(circle at 12% 22%, rgba(170, 214, 190, 0.2), transparent 26%),
    linear-gradient(180deg, #f6fcf9 0%, #f2fbf7 100%) !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .contact-directory {
  grid-template-columns: minmax(310px, 0.9fr) minmax(0, 1.1fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .contact-hero-card {
  border-radius: 28px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 100% 0, rgba(184, 224, 207, 0.18), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(241,251,246,0.96)) !important;
  box-shadow: 0 22px 50px rgba(76, 132, 114, 0.11) !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .contact-hero-card__body {
  padding: 24px 22px 26px !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .contact-hotline {
  margin-top: 18px !important;
  padding: 18px 20px !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, #117a65, #149273) !important;
  box-shadow: 0 18px 30px rgba(17, 122, 101, 0.18) !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .contact-hotline span,
body:has(.page-hero__panel[data-hero="contact"]) .contact-hotline strong {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .store-contact-list {
  gap: 16px !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .store-contact-card {
  min-height: 180px !important;
  border-radius: 22px !important;
  padding: 22px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(199, 231, 215, 0.2), transparent 29%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(244,251,247,0.96)) !important;
  box-shadow: 0 14px 34px rgba(82, 138, 115, 0.08) !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .store-contact-card dl {
  gap: 12px !important;
}

@media (max-width: 1024px) {
  body:has(.page-hero__panel[data-hero="knowledge"]) .article-list,
  body:has(.page-hero__panel[data-hero="community"]) #groups .page-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body:has(.page-hero__panel[data-hero="community"]) #listener .section-split,
  body:has(.page-hero__panel[data-hero="community"]) #children .section-split,
  body:has(.page-hero__panel[data-hero="contact"]) .contact-directory,
  body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 700px) {
  body:has(.page-hero__panel[data-hero="knowledge"]) .article-list,
  body:has(.page-hero__panel[data-hero="community"]) #groups .page-grid {
    grid-template-columns: 1fr !important;
  }

  body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index__feature,
  body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index__list a {
    padding: 22px !important;
  }

  body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index__feature h3 {
    font-size: 24px !important;
  }

  body:has(.page-hero__panel[data-hero="knowledge"]) .knowledge-index__list strong {
    font-size: 20px !important;
  }
}

body:has(.page-hero__panel[data-hero="about"]) #origin .section-split {
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.98fr) !important;
  gap: 28px !important;
}

body:has(.page-hero__panel[data-hero="about"]) #origin .section-panel,
body:has(.page-hero__panel[data-hero="about"]) #promise .section-panel,
body:has(.page-hero__panel[data-hero="about"]) .related-links__card {
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 214, 185, 0.16), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(251,247,242,0.96)) !important;
  box-shadow: 0 18px 42px rgba(130, 100, 73, 0.1) !important;
}

body:has(.page-hero__panel[data-hero="about"]) .timeline-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body:has(.page-hero__panel[data-hero="about"]) .timeline-grid article {
  min-height: 220px !important;
  padding: 28px 24px !important;
  border-radius: 24px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,247,238,0.94)) !important;
  box-shadow: 0 16px 36px rgba(145, 104, 77, 0.1) !important;
}

body:has(.page-hero__panel[data-hero="about"]) .timeline-grid article strong {
  font-size: 32px !important;
  line-height: 1 !important;
  color: #0e6a5c !important;
  -webkit-text-fill-color: #0e6a5c !important;
}

body:has(.page-hero__panel[data-hero="about"]) .related-links__grid {
  gap: 18px !important;
}

body:has(.page-hero__panel[data-hero="events"]) #courses .event-list {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

body:has(.page-hero__panel[data-hero="events"]) .event-card {
  min-height: 260px !important;
  border-radius: 24px !important;
  padding: 22px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 208, 182, 0.18), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,248,242,0.96)) !important;
  box-shadow: 0 18px 38px rgba(140, 101, 73, 0.1) !important;
}

body:has(.page-hero__panel[data-hero="events"]) .event-card > div {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

body:has(.page-hero__panel[data-hero="events"]) .event-card .button {
  width: 100% !important;
  min-height: 44px !important;
  border-radius: 999px !important;
  margin-top: auto !important;
}

body:has(.page-hero__panel[data-hero="events"]) #children.section--soft {
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 223, 186, 0.22), transparent 26%),
    linear-gradient(180deg, #fffaf5 0%, #fff4ec 100%) !important;
}

body:has(.page-hero__panel[data-hero="events"]) #joining .section-panel {
  text-align: center !important;
  padding: 34px !important;
}

body:has(.page-hero__panel[data-hero="stores"]) #locator .article-filters {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  border-radius: 24px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(242,250,247,0.96)) !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .store-locator {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card {
  min-height: 248px !important;
  border-radius: 24px !important;
  padding: 24px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(186, 224, 204, 0.22), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(243,250,246,0.96)) !important;
  box-shadow: 0 16px 36px rgba(73, 130, 109, 0.1) !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card ul {
  display: grid !important;
  gap: 8px !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card .cta-row {
  margin-top: auto !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card .button {
  width: 100% !important;
  min-height: 42px !important;
  border-radius: 999px !important;
}

body:has(.page-hero__panel[data-hero="tool"]) .site-search {
  grid-template-columns: minmax(0, 1fr) 112px !important;
  gap: 14px !important;
  padding: 18px !important;
  border-radius: 28px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(243,249,252,0.96)) !important;
  box-shadow: 0 18px 36px rgba(74, 125, 150, 0.1) !important;
}

body:has(.page-hero__panel[data-hero="tool"]) .site-search input {
  min-height: 54px !important;
  border-radius: 999px !important;
}

body:has(.page-hero__panel[data-hero="tool"]) .site-search .button {
  min-height: 54px !important;
  border-radius: 999px !important;
}

body:has(.page-hero__panel[data-hero="tool"]) .popular-searches {
  padding: 16px 0 4px !important;
  gap: 12px !important;
}

body:has(.page-hero__panel[data-hero="tool"]) .popular-searches button {
  min-height: 38px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(242,248,255,0.95)) !important;
}

body:has(.page-hero__panel[data-hero="tool"]) .search-results {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body:has(.page-hero__panel[data-hero="tool"]) .search-result-card {
  min-height: 210px !important;
  border-radius: 22px !important;
  padding: 24px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(170, 211, 222, 0.18), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(244,249,252,0.96)) !important;
  box-shadow: 0 16px 34px rgba(83, 132, 149, 0.09) !important;
}

@media (max-width: 1024px) {
  body:has(.page-hero__panel[data-hero="about"]) .timeline-grid,
  body:has(.page-hero__panel[data-hero="events"]) #courses .event-list,
  body:has(.page-hero__panel[data-hero="stores"]) .store-locator,
  body:has(.page-hero__panel[data-hero="tool"]) .search-results {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body:has(.page-hero__panel[data-hero="about"]) #origin .section-split {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 700px) {
  body:has(.page-hero__panel[data-hero="about"]) .timeline-grid,
  body:has(.page-hero__panel[data-hero="events"]) #courses .event-list,
  body:has(.page-hero__panel[data-hero="stores"]) .store-locator,
  body:has(.page-hero__panel[data-hero="tool"]) .search-results {
    grid-template-columns: 1fr !important;
  }

  body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card .cta-row,
  body:has(.page-hero__panel[data-hero="tool"]) .site-search {
    grid-template-columns: 1fr !important;
  }

  body:has(.page-hero__panel[data-hero="about"]) .timeline-grid article,
  body:has(.page-hero__panel[data-hero="events"]) .event-card,
  body:has(.page-hero__panel[data-hero="stores"]) .store-locator__card,
  body:has(.page-hero__panel[data-hero="tool"]) .search-result-card {
    min-height: 0 !important;
  }
}

/* V75: strengthen sub-page hero imagery so the right side reads as designed media, not an empty panel. */
body:has(.page-hero__panel) .page-hero__panel {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 478px) !important;
  gap: 52px !important;
  background:
    radial-gradient(circle at 94% 12%, rgba(255, 191, 105, 0.16), transparent 28%),
    radial-gradient(circle at 3% 96%, rgba(42, 171, 140, 0.13), transparent 30%),
    linear-gradient(105deg, rgba(255,255,255,0.98) 0%, rgba(252,255,253,0.96) 48%, rgba(235,248,245,0.9) 100%) !important;
}

body:has(.page-hero__panel) .page-hero__panel::before {
  min-height: 330px !important;
  border-radius: 26px !important;
  background: var(--repair-image) center / cover no-repeat !important;
  opacity: 1 !important;
  filter: saturate(1.18) contrast(1.08) brightness(1.01) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.52),
    inset 0 -80px 120px rgba(12, 82, 70, 0.12),
    0 26px 54px rgba(22, 89, 78, 0.2) !important;
}

body:has(.page-hero__panel) .page-hero__panel h1 {
  max-width: 720px !important;
  font-size: clamp(32px, 2.75vw, 46px) !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
  text-wrap: balance !important;
}

body:has(.page-hero__panel[data-hero="stores"]) .page-hero__panel h1,
body:has(.page-hero__panel[data-hero="knowledge"]) .page-hero__panel h1,
body:has(.page-hero__panel[data-hero="community"]) .page-hero__panel h1,
body:has(.page-hero__panel[data-hero="contact"]) .page-hero__panel h1 {
  font-size: clamp(31px, 2.55vw, 42px) !important;
  max-width: 680px !important;
}

body:has(.page-hero__panel[data-hero="knowledge"]) .page-hero__panel::before {
  background-position: 56% 50% !important;
}

body:has(.page-hero__panel[data-hero="community"]) .page-hero__panel::before,
body:has(.page-hero__panel[data-hero="events"]) .page-hero__panel::before,
body:has(.page-hero__panel[data-hero="news"]) .page-hero__panel::before {
  background-position: 48% 50% !important;
}

body:has(.page-hero__panel[data-hero="contact"]) .page-hero__panel::before,
body:has(.page-hero__panel[data-hero="tool"]) .page-hero__panel::before {
  background-position: 54% 50% !important;
}

@media (max-width: 900px) {
  body:has(.page-hero__panel) .page-hero__panel {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  body:has(.page-hero__panel) .page-hero__panel::before {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    min-height: 210px !important;
    opacity: 1 !important;
    display: block !important;
    content: "" !important;
  }

  body:has(.page-hero__panel) .page-hero__panel h1,
  body:has(.page-hero__panel[data-hero="stores"]) .page-hero__panel h1,
  body:has(.page-hero__panel[data-hero="knowledge"]) .page-hero__panel h1,
  body:has(.page-hero__panel[data-hero="community"]) .page-hero__panel h1,
  body:has(.page-hero__panel[data-hero="contact"]) .page-hero__panel h1 {
    max-width: 100% !important;
    font-size: clamp(28px, 7vw, 36px) !important;
  }
}

@media (max-width: 700px) {
  body:has(.page-hero__panel) .page-hero__panel::before {
    min-height: 176px !important;
    border-radius: 20px !important;
  }

  body .content-table td:nth-child(1)::before { content: "\6807\9898" !important; }
  body .content-table td:nth-child(2)::before { content: "\5206\7c7b" !important; }
  body .content-table td:nth-child(3)::before { content: "\72b6\6001" !important; }
  body .content-table td:nth-child(4)::before { content: "\66f4\65b0\65f6\95f4" !important; }
  body .content-table td:nth-child(5)::before { content: "\64cd\4f5c" !important; }
  body .demand-table td:nth-child(1)::before { content: "\9700\6c42\7c7b\578b" !important; }
  body .demand-table td:nth-child(2)::before { content: "\6570\91cf" !important; }
  body .demand-table td:nth-child(3)::before { content: "\5360\6bd4" !important; }
  body .demand-table td:nth-child(4)::before { content: "\5efa\8bae\52a8\4f5c" !important; }
}

/* V77 final text recovery: disable legacy pseudo-copy so real HTML text is shown everywhere. */
html body .footer__socials [aria-label]::before,
html body .popular-searches::before,
html body .journey-stage__visual::after,
html body .hero__panel .panel-card::before,
html body .hero__panel .panel-card::after,
html body .hero__panel::after,
html body .topbar__links::after,
html body .topbar__links a::before,
html body .header__actions .button::before,
html body .header__actions a.button::before,
html body .hero__actions .button::before,
html body .hero__actions a.button::before,
html body .hero__content h1::before,
html body .hero__summary::before,
html body .section--soft:first-of-type .photo-card h3::before,
html body .section--soft:first-of-type .photo-card p::before,
html body .section--soft:first-of-type .photo-card--warm h3::before,
html body .section--soft:first-of-type .photo-card--warm p::before,
html body .section--soft:first-of-type .photo-card--calm h3::before,
html body .section--soft:first-of-type .photo-card--calm p::before,
html body .section--soft:first-of-type .photo-card--hope h3::before,
html body .section--soft:first-of-type .photo-card--hope p::before,
html body .section--soft:first-of-type .photo-card--trust h3::before,
html body .section--soft:first-of-type .photo-card--trust p::before {
  content: none !important;
  display: none !important;
}

html body .topbar__links a,
html body .header__actions .button,
html body .header__actions a.button,
html body .hero__actions .button,
html body .hero__actions a.button,
html body .hero__content h1,
html body .hero__summary,
html body .section--soft:first-of-type .photo-card h3,
html body .section--soft:first-of-type .photo-card p {
  font-size: revert-layer;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  text-indent: 0 !important;
}

html body .header__actions .button,
html body .header__actions a.button,
html body .hero__actions .button,
html body .hero__actions a.button {
  color: #0f5b4d !important;
  -webkit-text-fill-color: #0f5b4d !important;
}

html body .hero__actions .button:first-child,
html body .hero__actions a.button:first-child,
html body .header__actions .button:last-child,
html body .header__actions a.button:last-child {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* V78: restore the real homepage service-desk form after legacy pseudo-copy cleanup. */
html body.home-polish .hero__panel,
html body .hero__panel {
  display: block !important;
  align-self: center !important;
  min-height: 0 !important;
  overflow: visible !important;
}

html body.home-polish .hero__panel .panel-card,
html body .hero__panel .panel-card {
  display: block !important;
  min-height: 0 !important;
  padding: 28px !important;
  overflow: visible !important;
  border-radius: 24px !important;
  border: 1px solid rgba(112, 203, 174, 0.52) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(83, 169, 210, 0.16), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,253,250,0.96)) !important;
  box-shadow:
    0 28px 64px rgba(21, 83, 67, 0.16),
    inset 0 1px 0 rgba(255,255,255,0.96) !important;
}

html body.home-polish .hero.section,
html body .hero.section {
  min-height: 690px !important;
  padding-bottom: 72px !important;
}

html body.home-polish .hero__grid,
html body .hero__grid {
  align-items: center !important;
  min-height: 560px !important;
}

html body .hero__panel .panel-card > *,
html body .quick-form,
html body .quick-form > *,
html body .quick-form__head,
html body .quick-form__head > * {
  position: relative !important;
  z-index: 2 !important;
  display: revert !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #16483f !important;
  -webkit-text-fill-color: currentColor !important;
}

html body .quick-form__head {
  display: block !important;
  margin-bottom: 14px !important;
}

html body .quick-form__head span {
  display: inline-block !important;
  margin-bottom: 8px !important;
  color: #168b66 !important;
  -webkit-text-fill-color: #168b66 !important;
  font-size: 14px !important;
  font-weight: 850 !important;
}

html body .quick-form__head strong {
  display: block !important;
  color: #123f36 !important;
  -webkit-text-fill-color: #123f36 !important;
  font-size: 20px !important;
  line-height: 1.35 !important;
}

html body .quick-form__head p {
  display: block !important;
  margin: 6px 0 0 !important;
  color: #4a6c63 !important;
  -webkit-text-fill-color: #4a6c63 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

html body .quick-form {
  display: grid !important;
  gap: 9px !important;
  width: 100% !important;
}

html body .quick-form label {
  display: grid !important;
  gap: 5px !important;
  color: #16483f !important;
  -webkit-text-fill-color: #16483f !important;
  font-size: 14px !important;
  font-weight: 780 !important;
}

html body .quick-form input,
html body .quick-form select,
html body .quick-form textarea {
  display: block !important;
  width: 100% !important;
  min-height: 42px !important;
  padding: 0 14px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(112, 203, 174, 0.56) !important;
  background: rgba(255,255,255,0.94) !important;
  color: #173f38 !important;
  -webkit-text-fill-color: #173f38 !important;
  box-shadow: inset 0 1px 2px rgba(21, 83, 67, 0.04) !important;
}

html body .quick-form .button,
html body .quick-form button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  margin-top: 2px !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

html body .quick-form__feedback:empty {
  display: none !important;
}

@media (max-width: 900px) {
  html body.home-polish .hero.section,
  html body .hero.section {
    min-height: 0 !important;
    padding-bottom: 42px !important;
  }
}

/* V74: make the right service dock lighter and keep it out of ordinary viewports. */
@media (max-width: 1519px) {
  html body .floating-rail,
  html body:not(.is-near-footer) .floating-rail {
    display: none !important;
  }
}

@media (min-width: 1520px) {
  html body .floating-rail,
  html body:not(.is-near-footer) .floating-rail {
    display: block !important;
    right: 18px !important;
    width: 58px !important;
    max-width: 58px !important;
    opacity: 0.82 !important;
    filter: drop-shadow(0 12px 24px rgba(22, 79, 70, 0.1)) !important;
  }

  html body .floating-rail:hover,
  html body .floating-rail:focus-within {
    opacity: 0.98 !important;
  }

  html body .floating-rail__buttons {
    width: 58px !important;
    padding: 8px 5px !important;
    gap: 6px !important;
    border-radius: 24px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,0.96), rgba(247,253,250,0.9)) !important;
    border: 1px solid rgba(190, 222, 211, 0.78) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.96),
      0 14px 28px rgba(24, 86, 75, 0.1) !important;
  }

  html body .floating-rail__title {
    width: 46px !important;
    min-height: 24px !important;
    font-size: 11px !important;
    color: #0d6e5e !important;
    -webkit-text-fill-color: #0d6e5e !important;
  }

  html body .floating-rail__button,
  html body .floating-rail .floating-rail__buttons .floating-rail__button {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 5px 3px !important;
    border-radius: 16px !important;
    grid-template-rows: 16px 1fr !important;
  }

  html body .floating-rail__icon,
  html body .floating-rail__button--top .floating-rail__icon {
    height: 16px !important;
    font-size: 13px !important;
  }

  html body .floating-rail__label,
  html body .floating-rail__button--top .floating-rail__label {
    font-size: 10px !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
  }

  html body .floating-rail > .floating-panel,
  html body .floating-rail.is-open .floating-panel {
    right: 74px !important;
  }
}

/* V72 audit polish: keep desktop dock off hero art and make internal tables mobile-safe. */
@media (min-width: 701px) and (max-width: 1439px) {
  body .floating-rail,
  body:not(.is-near-footer) .floating-rail {
    display: none !important;
  }
}

@media (min-width: 1440px) {
  body .floating-rail,
  body:not(.is-near-footer) .floating-rail {
    right: 24px !important;
    width: 66px !important;
    max-width: 66px !important;
    opacity: 0.9 !important;
    filter: drop-shadow(0 14px 26px rgba(31, 91, 82, 0.12)) !important;
  }

  body .floating-rail:hover,
  body .floating-rail:focus-within {
    opacity: 1 !important;
  }

  body .floating-rail__buttons {
    width: 66px !important;
    padding: 9px 6px !important;
    gap: 7px !important;
    border-radius: 26px !important;
  }

  body .floating-rail__title {
    width: 50px !important;
  }

  body .floating-rail__button,
  body .floating-rail .floating-rail__buttons .floating-rail__button {
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    border-radius: 17px !important;
  }

  body .floating-panel,
  body .floating-rail > .floating-panel,
  body .floating-rail.is-open .floating-panel {
    right: 86px !important;
  }
}

@media (max-width: 700px) {
  body .content-table table,
  body .demand-table table {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    border-collapse: separate !important;
  }

  body .content-table thead,
  body .demand-table thead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
  }

  body .content-table tbody,
  body .content-table tr,
  body .content-table td,
  body .demand-table tbody,
  body .demand-table tr,
  body .demand-table td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body .content-table tr,
  body .demand-table tr {
    margin: 0 0 12px !important;
    padding: 14px !important;
    border: 1px solid rgba(181, 219, 205, 0.72) !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,253,250,0.95)) !important;
    box-shadow: 0 12px 24px rgba(28, 89, 77, 0.08) !important;
  }

  body .content-table td,
  body .demand-table td {
    padding: 7px 0 !important;
    border: 0 !important;
    color: #143f4d !important;
    -webkit-text-fill-color: #143f4d !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  body .content-table td::before,
  body .demand-table td::before {
    display: block !important;
    margin-bottom: 3px !important;
    color: #08705e !important;
    -webkit-text-fill-color: #08705e !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
  }

  body .content-table td:nth-child(1)::before { content: "标题"; }
  body .content-table td:nth-child(2)::before { content: "分类"; }
  body .content-table td:nth-child(3)::before { content: "状态"; }
  body .content-table td:nth-child(4)::before { content: "更新时间"; }
  body .content-table td:nth-child(5)::before { content: "操作"; }
  body .demand-table td:nth-child(1)::before { content: "需求类型"; }
  body .demand-table td:nth-child(2)::before { content: "数量"; }
  body .demand-table td:nth-child(3)::before { content: "占比"; }
  body .demand-table td:nth-child(4)::before { content: "建议动作"; }
}

/* Visual polish pass: warmer topbar, clearer sub-page hero imagery, quieter service dock. */
body .topbar {
  background:
    linear-gradient(90deg, #0f8a72 0%, #22a287 52%, #56b8c7 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 28px rgba(20, 91, 78, 0.1) !important;
}

body .topbar a,
body .topbar p {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body .topbar__links a {
  opacity: 0.92 !important;
}

body .topbar__links a:hover,
body .topbar__links a:focus-visible {
  opacity: 1 !important;
  background: rgba(255, 255, 255, 0.16) !important;
}

body:has(.page-hero__panel) .page-hero__panel {
  background:
    linear-gradient(105deg, rgba(255,255,255,0.96) 0%, rgba(250,255,252,0.94) 53%, rgba(239,250,247,0.9) 100%) !important;
}

body:has(.page-hero__panel) .page-hero__panel::before {
  opacity: 0.78 !important;
  filter: saturate(1.12) contrast(1.04) brightness(1.01) !important;
  background-position: center !important;
}

body:has(.page-hero__panel) .page-hero__panel::after {
  background:
    linear-gradient(90deg, rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.9) 44%, rgba(255,255,255,0.34) 62%, rgba(255,255,255,0.08) 100%),
    linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(236,250,246,0.2) 100%) !important;
}

body:has(.page-hero__panel) .page-hero__panel::before,
body:has(.page-hero__panel) .page-hero__panel::after {
  border-radius: 22px !important;
}

body .floating-rail,
body:not(.is-near-footer) .floating-rail {
  right: 10px !important;
  opacity: 0.92 !important;
  filter: drop-shadow(0 14px 24px rgba(34, 91, 82, 0.12)) !important;
}

body .floating-rail:hover,
body .floating-rail:focus-within {
  opacity: 1 !important;
}

body .floating-rail__buttons {
  background: linear-gradient(180deg, rgba(255,255,255,0.92), rgba(246,253,250,0.88)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.96),
    0 14px 28px rgba(28, 89, 77, 0.1) !important;
}

@media (max-width: 700px) {
  body .topbar {
    background: linear-gradient(90deg, #11866f, #39adba) !important;
  }

  body:has(.page-hero__panel) .page-hero__panel::before {
    opacity: 0.86 !important;
    filter: saturate(1.1) contrast(1.04) !important;
  }

  body:has(.page-hero__panel) .page-hero__panel::after {
    background:
      linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(255,255,255,0.82) 48%, rgba(255,255,255,0.18) 100%) !important;
  }
}

/* V70 final lock: clean sub-page hero photos and a warmer service dock. */
body:has(.page-hero__panel) .page-hero__panel {
  overflow: hidden !important;
  background:
    linear-gradient(105deg, rgba(255,255,255,0.98) 0%, rgba(252,255,253,0.96) 50%, rgba(238,249,246,0.82) 100%) !important;
}

body:has(.page-hero__panel) .page-hero__panel::before {
  opacity: 1 !important;
  filter: saturate(1.1) contrast(1.03) brightness(1.02) !important;
  background: var(--repair-image) center / cover no-repeat !important;
  border-radius: 24px !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.48),
    0 24px 48px rgba(23, 91, 81, 0.16) !important;
}

body:has(.page-hero__panel) .page-hero__panel::after {
  content: none !important;
  display: none !important;
}

body .floating-rail,
body:not(.is-near-footer) .floating-rail {
  right: 14px !important;
  width: 72px !important;
  max-width: 72px !important;
  opacity: 0.98 !important;
  filter: drop-shadow(0 18px 34px rgba(31, 91, 82, 0.16)) !important;
}

body .floating-rail__buttons {
  width: 72px !important;
  padding: 10px 7px !important;
  gap: 8px !important;
  border-radius: 28px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.97), rgba(244,252,249,0.93)) !important;
  border: 1px solid rgba(181, 219, 205, 0.86) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.98),
    0 18px 36px rgba(28, 89, 77, 0.13) !important;
}

body .floating-rail__title {
  width: 54px !important;
  min-height: 28px !important;
  border-radius: 999px !important;
  color: #0e6d5d !important;
  -webkit-text-fill-color: #0e6d5d !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  background: linear-gradient(180deg, #ffffff, #edf9f4) !important;
}

body .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button {
  width: 56px !important;
  min-width: 56px !important;
  max-width: 56px !important;
  height: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
  padding: 6px 4px !important;
  border-radius: 18px !important;
  display: grid !important;
  grid-template-rows: 18px 1fr !important;
  place-items: center !important;
  gap: 2px !important;
  overflow: hidden !important;
}

body .floating-rail__icon,
body .floating-rail__button--top .floating-rail__icon {
  display: grid !important;
  width: 100% !important;
  height: 18px !important;
  place-items: center !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

body .floating-rail__button[data-service="phone"] .floating-rail__icon {
  font-size: 11px !important;
}

body .floating-rail__label,
body .floating-rail__button--top .floating-rail__label {
  position: static !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: block !important;
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transform: none !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  line-height: 1.05 !important;
  text-align: center !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  text-shadow: 0 1px 1px rgba(0,0,0,0.08) !important;
}

body .floating-rail__button--top .floating-rail__label {
  text-shadow: none !important;
}

body .floating-rail__button:hover .floating-rail__label,
body .floating-rail__button:focus-visible .floating-rail__label {
  transform: none !important;
}

body .floating-panel,
body .floating-rail > .floating-panel,
body .floating-rail.is-open .floating-panel {
  right: 84px !important;
}

@media (max-width: 900px) {
  body:has(.page-hero__panel) .page-hero__panel::before {
    opacity: 0.9 !important;
  }
}

@media (max-width: 700px) {
  body .floating-rail,
  body:not(.is-near-footer) .floating-rail {
    display: none !important;
  }

  body:has(.page-hero__panel) .page-hero__panel::before,
  body:has(.page-hero__panel) .page-hero__panel::after {
    content: none !important;
    display: none !important;
  }
}

/* V80: warm refinement pass for the service rail, global cards, and footer readability. */
body .floating-rail,
body:not(.is-near-footer) .floating-rail {
  right: 24px !important;
  top: 47% !important;
  width: 84px !important;
  max-width: 84px !important;
  opacity: 0.98 !important;
  filter: drop-shadow(0 22px 42px rgba(28, 91, 82, 0.18)) !important;
}

body .floating-rail__buttons {
  width: 84px !important;
  padding: 12px 10px !important;
  gap: 10px !important;
  border-radius: 32px !important;
  border: 1px solid rgba(201, 223, 215, 0.95) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 251, 248, 0.95)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.98),
    0 24px 44px rgba(28, 89, 77, 0.14) !important;
}

body .floating-rail__title {
  width: 58px !important;
  min-height: 30px !important;
  margin: 0 auto 2px !important;
  color: #0f6e5c !important;
  -webkit-text-fill-color: #0f6e5c !important;
  background: linear-gradient(180deg, #ffffff, #eef8f3) !important;
  box-shadow: 0 10px 18px rgba(25, 92, 80, 0.08) !important;
}

body .floating-rail__button,
body .floating-rail .floating-rail__buttons .floating-rail__button {
  width: 60px !important;
  min-width: 60px !important;
  max-width: 60px !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  padding: 7px 4px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255,255,255,0.62) !important;
  display: grid !important;
  grid-template-rows: 18px 1fr !important;
  place-items: center !important;
  gap: 3px !important;
  overflow: hidden !important;
  box-shadow:
    0 14px 26px rgba(28, 107, 117, 0.16),
    inset 0 1px 0 rgba(255,255,255,0.26) !important;
}

body .floating-rail__button[data-service="phone"] {
  background: linear-gradient(135deg, #ef8c68, #f0b069) !important;
}

body .floating-rail__button[data-service="wechat"] {
  background: linear-gradient(135deg, #18a07e, #5cc39f) !important;
}

body .floating-rail__button[data-service="miniapp"] {
  background: linear-gradient(135deg, #3899b4, #6dc6d8) !important;
}

body .floating-rail__button[data-service="booking"] {
  background: linear-gradient(135deg, #6289cb, #8fb4e2) !important;
}

body .floating-rail__button[data-service="xiaohongshu"] {
  background: linear-gradient(135deg, #df7887, #f1aa98) !important;
}

body .floating-rail__button--top,
body .floating-rail .floating-rail__buttons .floating-rail__button--top {
  color: #1b7b69 !important;
  -webkit-text-fill-color: #1b7b69 !important;
  background: linear-gradient(180deg, #ffffff, #eff9f4) !important;
  border-color: rgba(188, 220, 208, 0.94) !important;
}

body .floating-rail__icon,
body .floating-rail__button--top .floating-rail__icon {
  width: 100% !important;
  height: 18px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body .floating-rail__label,
body .floating-rail__button--top .floating-rail__label {
  position: static !important;
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  padding: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
  text-align: center !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.08) !important;
}

body .floating-rail__button:hover,
body .floating-rail__button:focus-visible {
  transform: translateY(-2px) scale(1.01) !important;
  box-shadow:
    0 18px 30px rgba(28, 107, 117, 0.22),
    inset 0 1px 0 rgba(255,255,255,0.34) !important;
}

body .floating-panel,
body .floating-rail > .floating-panel,
body .floating-rail.is-open .floating-panel {
  right: 96px !important;
}

body .page-card:not(.page-card--media),
body .feature-card,
body .article-card,
body .resource-card,
body .event-card,
body .story-card,
body .support-card,
body .store-card,
body .tool-sheet,
body .download-card,
body .store-contact-card,
body .photo-card {
  border: 1px solid rgba(206, 228, 218, 0.88) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 197, 133, 0.16), transparent 30%),
    radial-gradient(circle at 0 100%, rgba(120, 205, 189, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,252,250,0.96)) !important;
  box-shadow:
    0 18px 36px rgba(25, 88, 77, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.96) !important;
}

body .page-card:not(.page-card--media):hover,
body .feature-card:hover,
body .article-card:hover,
body .resource-card:hover,
body .event-card:hover,
body .story-card:hover,
body .support-card:hover,
body .store-card:hover,
body .tool-sheet:hover,
body .download-card:hover,
body .store-contact-card:hover,
body .photo-card:hover {
  border-color: rgba(145, 205, 182, 0.94) !important;
  box-shadow:
    0 24px 42px rgba(25, 88, 77, 0.12),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

body .article-card,
body .resource-card,
body .download-card,
body .tool-sheet {
  background:
    radial-gradient(circle at 100% 0, rgba(136, 203, 220, 0.16), transparent 30%),
    radial-gradient(circle at 0 100%, rgba(159, 219, 191, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(246,251,250,0.96)) !important;
}

body .event-card,
body .story-card,
body .support-card,
body .photo-card {
  background:
    radial-gradient(circle at 100% 0, rgba(255, 185, 152, 0.17), transparent 31%),
    radial-gradient(circle at 0 100%, rgba(255, 223, 177, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(252,249,246,0.96)) !important;
}

body .store-card,
body .store-contact-card,
body .feature-card {
  background:
    radial-gradient(circle at 100% 0, rgba(255, 207, 145, 0.17), transparent 30%),
    radial-gradient(circle at 0 100%, rgba(122, 203, 179, 0.14), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,252,248,0.96)) !important;
}

body .footer {
  background:
    radial-gradient(circle at 10% 0, rgba(249, 197, 123, 0.18), transparent 24%),
    radial-gradient(circle at 100% 18%, rgba(98, 189, 177, 0.2), transparent 32%),
    linear-gradient(180deg, #0e6056 0%, #0f4f4a 52%, #113e42 100%) !important;
}

body .footer::before {
  opacity: 0.52 !important;
}

body .footer__brand,
body .footer__contact-card,
body .footer__contact-card.footer__qr,
body .footer__note {
  border: 1px solid rgba(196, 223, 213, 0.22) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.12), rgba(255,255,255,0.07)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.12),
    0 18px 36px rgba(6, 40, 37, 0.2) !important;
}

body .footer__brand {
  background:
    radial-gradient(circle at 100% 0, rgba(255, 202, 139, 0.18), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,0.15), rgba(255,255,255,0.08)) !important;
}

body .footer h2,
body .footer h3,
body .footer strong,
body .footer__logo h2,
body .footer__contact-card h3,
body .footer__note a {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body .footer p,
body .footer li,
body .footer a,
body .footer__intro,
body .footer__contact-card p,
body .footer__contact-card li,
body .footer__note {
  color: rgba(241, 250, 247, 0.9) !important;
  -webkit-text-fill-color: rgba(241, 250, 247, 0.9) !important;
}

body .footer__socials a,
body .footer__social-placeholder,
body .footer__button--secondary,
body .footer__helper {
  border: 1px solid rgba(223, 237, 230, 0.28) !important;
  background: rgba(255,255,255,0.12) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.1) !important;
}

body .footer__socials a:nth-child(1) {
  background: linear-gradient(135deg, rgba(241, 147, 110, 0.3), rgba(252, 194, 120, 0.22)) !important;
}

body .footer__button--primary {
  background: linear-gradient(135deg, #f29b72, #f2bf72) !important;
  border-color: rgba(255, 223, 190, 0.68) !important;
  color: #183f37 !important;
  -webkit-text-fill-color: #183f37 !important;
  box-shadow: 0 16px 26px rgba(242, 161, 116, 0.24) !important;
}

body .footer__qr {
  gap: 14px !important;
}

body .footer__qr-box {
  border: 1px solid rgba(224, 236, 230, 0.24) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(249,252,251,0.92)) !important;
  box-shadow:
    0 14px 26px rgba(8, 39, 37, 0.14),
    inset 0 1px 0 rgba(255,255,255,0.96) !important;
}

body .footer__contact-card:nth-child(5) {
  background:
    radial-gradient(circle at 100% 0, rgba(247, 168, 149, 0.22), transparent 31%),
    linear-gradient(180deg, rgba(255,255,255,0.15), rgba(255,255,255,0.08)) !important;
}

@media (max-width: 700px) {
  body .floating-rail,
  body:not(.is-near-footer) .floating-rail {
    display: none !important;
  }
}
