.xst-mirror {
  --xst-ink: #102b29;
  --xst-white: #f9f5eb;
  --xst-red: #9e3027;
  --xst-focus: #ffc1a8;
  font-family: "PingFang SC", "Microsoft YaHei", sans-serif;
}
.xst-mirror [hidden] { display: none !important; }
.xst-mirror :focus-visible { outline: 2px solid var(--xst-red); outline-offset: 3px; }
.xst-mirror .header {
  --xst-control: 44px;
  background: var(--xst-ink);
  color: var(--xst-white);
  z-index: 100;
}
.xst-mirror .header :focus-visible { outline-color: var(--xst-focus); }
.xst-mirror .header__logo, .xst-footer-logo {
  align-items: center;
  display: inline-flex;
  gap: 10px;
  white-space: nowrap;
  font-size: 23px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.04em;
}
.xst-mirror .header__logo { color: var(--xst-white); }
.xst-mirror .header__logo img, .xst-footer-logo img { width: 48px; height: auto; }
.xst-mirror .header__logo img { filter: invert(1) contrast(1.25); mix-blend-mode: screen; }
.xst-mirror .header__logo small, .xst-footer-logo small { font-size: .55em; vertical-align: top; }
.xst-mirror .navbar-desktop__item { display: flex; align-items: stretch; }
.xst-mirror .navbar-desktop .navbar-desktop__link { color: var(--xst-white); min-height: var(--xst-control); }
.xst-mirror .navbar-desktop .navbar-desktop__link-content:after { background: var(--xst-focus); }
.xst-disclosure {
  border: 0;
  padding: 0;
  display: grid;
  place-items: center;
  min-width: 29px;
  background: transparent;
  color: inherit;
}
.xst-disclosure:hover, .xst-disclosure[aria-expanded=true] { background: #ffffff22; }
.xst-disclosure::before {
  content: "";
  width: 7px;
  height: 7px;
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  transform: translateY(-2px) rotate(45deg);
}
.xst-disclosure[aria-expanded=true]::before { transform: translateY(2px) rotate(225deg); }
.xst-mirror .navbar-desktop .navbar-desktop__menu-links > .navbar-desktop__item > .xst-panel {
  background: var(--xst-ink);
  color: var(--xst-white);
  opacity: 1;
  pointer-events: auto;
  top: var(--xst-panel-top, 68px);
  padding: 24px 0 32px;
}
.xst-mirror .xst-panel .navbar-desktop__images { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.xst-mirror .navbar-desktop__image-figure { margin: 0; }
.xst-mirror .navbar-desktop__image-figure::after {
  content: "";
  position: absolute;
  inset: 25% 0 0;
  background: linear-gradient(transparent, #091311c9);
  pointer-events: none;
}
.xst-mirror .navbar-desktop__image-img { display: block; }
.xst-text-card { display: block; padding: 16px; color: var(--xst-white); background: #ffffff15; }
.xst-text-card:hover { background: #ffffff2a; }
.xst-mirror .header__actions-container { gap: 4px; align-items: center; }
.xst-mirror .header__location > .header__location-link,
.xst-mirror .header__profile > .header__profile-link,
.xst-mirror .xst-action {
  align-items: center;
  background: var(--xst-red);
  border: 0;
  color: var(--xst-white);
  display: flex;
  height: var(--xst-control);
  justify-content: center;
  padding: 0;
  width: var(--xst-control);
}
.xst-mirror .header__location > .header__location-link:hover,
.xst-mirror .header__profile > .header__profile-link:hover,
.xst-mirror .xst-action:hover { background: #75241e; }
.xst-mirror .header__location-icon { color: var(--xst-white); }
.xst-icon-search, .xst-icon-contact, .xst-icon-menu { display: block; position: relative; }
.xst-icon-search { width: 16px; height: 16px; border: 2px solid; border-radius: 50%; transform: translate(-2px,-2px); }
.xst-icon-search::after { position: absolute; content: ""; top: 11px; left: 10px; width: 8px; height: 2px; background: currentColor; transform: rotate(45deg); transform-origin: left; }
.xst-icon-contact { width: 19px; height: 14px; border: 2px solid; overflow: hidden; }
.xst-icon-contact::after { position: absolute; content: ""; top: -8px; left: 1px; width: 13px; height: 13px; border: solid; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.xst-icon-menu { width: 21px; height: 13px; border: solid; border-width: 2px 0; }
.xst-icon-menu::after { position: absolute; content: ""; top: 4px; left: 0; width: 100%; height: 2px; background: currentColor; }
.xst-mirror .xst-mobile-toggle { display: none; }
.xst-mirror .footer2025 { border-top-color: var(--xst-red); background: var(--xst-white); color: var(--xst-ink); }
.xst-mirror .footer2025__contact-info-section { gap: 20px; }
.xst-footer-logo { color: inherit; }
.xst-footer-heading { font-size: 15px; font-weight: 700; margin: 0 0 12px; line-height: 1.4; }
.xst-footer-link { display: block; padding: 5px 0; font-size: 14px; line-height: 1.5; }
.xst-footer-link:hover, .xst-mirror .footer2025__lower-row a:hover { text-decoration: underline; }
.xst-mirror .footer2025__lower-row { align-items: flex-start; gap: 8px; }
.xst-mirror .footer2025__copyright { margin: 0; }
.xst-mirror .footer2025__lower-row a { font-size: 14px; }
@media (min-width: 1440px) {
  .xst-mirror .header { --xst-control: 48px; }
}
@media (max-width: 1023px) {
  .xst-mirror .header__menu-container, .xst-mirror .header__profile { display: none; }
  .xst-mirror .xst-mobile-toggle { display: flex; }
  .xst-mirror .header__logo { font-size: 18px; }
  .xst-mirror .header__logo img { width: 36px; }
  .xst-mirror #xst-mobile-nav {
    display: block;
    position: fixed;
    top: var(--xst-header-bottom, 68px);
    inset-inline: 0;
    max-height: calc(100dvh - var(--xst-header-bottom, 68px));
    overflow-y: auto;
    background: var(--xst-ink);
    color: var(--xst-white);
    padding: 12px 16px 20px;
  }
  .xst-mirror #xst-mobile-nav .navbar-desktop__menu-links { list-style: none; margin: 0; padding: 0; }
  .xst-mirror #xst-mobile-nav .navbar-desktop__item { display: grid; grid-template-columns: minmax(0, 1fr) 48px; border-bottom: 1px solid #ffffff2b; }
  .xst-mirror #xst-mobile-nav .navbar-desktop__link { display: flex; align-items: center; min-height: 48px; color: inherit; }
  .xst-mirror #xst-mobile-nav .xst-panel { grid-column: 1 / -1; margin-bottom: 8px; }
  .xst-mirror #xst-mobile-nav .navbar-desktop__menu-images { max-height: none; display: block; }
  .xst-mirror #xst-mobile-nav .navbar-desktop__images { display: grid; grid-template-columns: 1fr; gap: 4px; padding: 0; }
}
@media (min-width: 1024px) {
  .xst-mirror #xst-mobile-nav { display: none; }
}
