/* Compact editorial invitation and contact details. Mobile presentation is
   supplied by the later shared mobile-motion.css stylesheet. */
@media (max-width: 959px) {
  .sbc-footer-manifesto { display: none !important; }
}
@media (min-width: 960px) {
  .home-footer.sbc-footer {
    --sf-paper: #f0f1ed;
    --sf-ink: #262e2c;
    --sf-red: #a83c36;
    --sf-muted: #59635e;
    --sf-line: rgb(38 46 44 / 19%);
    /* Existing site tokens; the legacy About blue now lives in the shared footer palette. */
    --sf-fold-red: var(--site-footer-accent, #a83c36);
    --sf-fold-green: var(--sbc-petrol, #28504c);
    --sf-fold-blue: var(--sbc-brand-blue, #0b71ad);
    --sf-fold-graphite: var(--sbc-graphite, #202e32);
    --site-footer-paper: var(--sf-paper);
    --site-footer-ink: var(--sf-ink);
    --site-footer-copy: var(--sf-muted);
    --site-footer-muted: var(--sf-muted);
    --site-footer-line: var(--sf-line);
    --sf-detail-gap: clamp(24px, 3.4vw, 48px);
    --sf-qr-size: min(76px, 10vh);
    --sf-detail-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 1.35fr) var(--sf-qr-size);
    box-sizing: border-box;
    display: grid;
    grid-template-rows: 64px 64px 7px auto 64px;
    height: auto;
    max-height: none;
    margin: 0;
    padding: 0;
    background: var(--sf-paper);
    color: var(--sf-ink);
    isolation: isolate;
    font-family: "Helvetica Neue", Arial, "Microsoft YaHei", "PingFang SC", sans-serif;
    -webkit-font-smoothing: antialiased;
  }
  .sbc-footer *, .sbc-footer *::before, .sbc-footer *::after { box-sizing: border-box; }
  .home-footer.sbc-footer .home-shell { width: min(1440px, calc(100% - 96px)); min-height: 0; margin: 0 auto; }
  .sbc-footer .home-footer-lead { grid-row: 1; grid-column: 1; z-index: 1; position: relative; top: 7px; padding: 0; display: flex; align-items: center; border: 0; }
  .sbc-footer .home-footer-brand { gap: 12px; }
  .sbc-footer .home-footer-brand > .home-footer-logo { width: 46px; height: 36px; }
  .sbc-footer .home-footer-brand .home-footer-wordmark { width: 100px; }
  .sbc-footer .home-footer-brand > div > span { display: none; }
  html[lang="en"] .sbc-footer .home-footer-brand > div::before { font: 500 18px/1.2 Arial, sans-serif; }
  .sbc-footer .sbc-footer-en { display: none; }
  html[lang="en"] .sbc-footer .sbc-footer-en { display: block; }
  html[lang="en"] .sbc-footer .sbc-footer-zh { display: none; }
  .sbc-footer-manifesto { grid-row: 1 / span 2; grid-column: 1; display: grid; align-items: stretch; padding: 0; }
  .sbc-footer-copy { display: grid; grid-template-columns: var(--sf-detail-columns); grid-template-rows: 64px 64px; column-gap: var(--sf-detail-gap); align-items: center; height: 100%; }
  .sbc-footer #sbc-footer-title { grid-column: 1 / span 2; grid-row: 2; align-self: center; margin: 0; font-family: inherit; font-size: 18px; font-weight: 400; line-height: 1.55; letter-spacing: 0; color: var(--sf-ink); }
  .sbc-footer #sbc-footer-title > :is(.sbc-footer-zh,.sbc-footer-en) { white-space: nowrap; }
  .sbc-footer #sbc-footer-title .sbc-footer-mask { display: inline-block; margin-right: .32em; }
  .sbc-footer #sbc-footer-title .sbc-footer-mask:last-child { margin-right: 0; }
  .sbc-footer-mask { display: block; overflow: clip; padding-block: .05em; margin-block: -.05em; }
  .sbc-footer-mask > span { display: block; transform-origin: 0 100%; white-space: nowrap; }
  html[lang="en"] .sbc-footer #sbc-footer-title { font-size: 18px; line-height: 1.55; letter-spacing: 0; }
  .sbc-footer-invitation { display: contents; color: var(--sf-ink); }
  .sbc-footer .sbc-footer-caption { grid-column: 3 / span 2; grid-row: 1; align-self: center; position: relative; top: 7px; margin: 0; color: var(--sf-muted); font-size: 12px; line-height: 1.7; max-width: 34em; }
  .sbc-footer-cta { grid-column: 3 / span 2; grid-row: 2; align-self: center; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 32px; width: 100%; color: var(--sf-ink) !important; text-decoration: none; font-size: 18px; line-height: 1.4; letter-spacing: 0; white-space: nowrap; }
  .sbc-footer-arrow { display: grid; place-items: center; flex: 0 0 auto; width: 32px; height: 32px; padding: 0 0 1px 1px; border: 1px solid var(--sf-line); border-radius: 50%; font: 18px/1 Arial, sans-serif; text-align: center; transition: transform .4s ease, background .4s ease, color .4s ease; }
  .sbc-footer-cta:hover .sbc-footer-arrow { transform: translate(3px,-3px); background: var(--sf-ink); color: var(--sf-paper); }
  .sbc-footer-cta:focus-visible { outline-color: var(--sf-ink) !important; outline-offset: 5px !important; }
  .sbc-footer :is(a,button):focus-visible { outline: 2px solid var(--sf-red); outline-offset: 5px; }
  .sbc-footer .home-footer-details { grid-row: 4; grid-column: 1; grid-template-columns: var(--sf-detail-columns); align-items: start; gap: var(--sf-detail-gap); border-top: 1px solid var(--sf-line); border-bottom: 1px solid var(--sf-line); padding-block: 50px; }
  .sbc-footer .home-footer-details > div:not(:first-child) { border: 0; padding: 0; min-height: 0; }
  .sbc-footer .home-footer-details strong { margin-bottom: min(1vh, 8px); font-size: 10px; color: var(--sf-muted); font-weight: 400; line-height: 1.5; }
  .sbc-footer .home-footer-details p { font-size: 13px; line-height: 1.85; }
  .sbc-footer .home-footer-nav p { display: grid; font-family: inherit; font-size: 13px; font-weight: 400; line-height: 1.85; }
  .sbc-footer .home-footer-nav p br { display: none; }
  .sbc-footer .home-footer-nav p a { display: flex; justify-content: space-between; gap: 20px; color: var(--sf-ink); }
  .sbc-footer .home-footer-nav p a::after { content: "↗"; color: var(--sf-red); font: inherit; transition: transform .3s ease; }
  .sbc-footer .home-footer-nav p a:hover::after { transform: translate(2px,-2px); }
  .sbc-footer .home-footer-details a { display: inline-block; transition: transform .3s ease, color .3s ease; }
  .sbc-footer .home-footer-details a:hover { transform: translateX(3px); }
  .sbc-footer .home-footer-qr { gap: 5px; }
  .sbc-footer .home-footer-qr__slot { width: var(--sf-qr-size); border-radius: 0; }
  .sbc-footer .home-footer-qr > strong { font-size: 10px; margin: 0; }
  .sbc-footer .home-footer-bottom { grid-row: 5; grid-column: 1; padding: 0; gap: 20px; align-items: center; }
  .sbc-footer .home-footer-bottom p, .sbc-footer .home-footer-legal a { font-size: 10px; line-height: 1.4; }
  @media (max-width: 1100px) {
    .home-footer.sbc-footer { --sf-detail-gap: 18px; --sf-detail-columns: minmax(0, .8fr) minmax(0, 1.1fr) minmax(0, 1.5fr) var(--sf-qr-size); }
    .home-footer.sbc-footer .home-shell { width: calc(100% - 64px); }
  }
  @media (max-height: 650px) {
    .sbc-footer .sbc-footer-caption { font-size: 10px; }
    .sbc-footer .home-footer-details p { font-size: 11px; }
    .sbc-footer .home-footer-nav p { font-size: 11px; }
    .sbc-footer .home-footer-brand > .home-footer-logo { height: 30px; }
  }
  @media (prefers-reduced-motion: reduce) {
    .sbc-footer *, .sbc-footer *::before, .sbc-footer *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  }
}
