/* 我们：照片、作品与人物共同构成的地方工作介绍。 */
body[data-page="about"] { background: #fbfaf4; }
.us-main { --us-green: #0f2a23; --us-teal: #0f766e; --us-mint: #b8ddd2; --us-gold: #f4dda5; --us-line: rgba(15,42,35,.17); --us-muted: #52665d; overflow: clip; }
.us-main h1,.us-main h2,.us-main h3,.us-main h4,.us-main p { margin: 0; }
.us-main p { line-height: 1.85; }
.us-main h2 { font-family: var(--font-display); font-size: clamp(30px,3.6vw,46px); font-weight: 600; line-height: 1.3; }
.us-main h3 { font-size: clamp(23px,2.3vw,30px); line-height: 1.45; font-weight: 650; }
.us-main h4 { font-size: 21px; line-height: 1.5; font-weight: 650; }
.us-label { color: #52665d; font-size: 12px; letter-spacing: .09em; }
.us-link { display: inline-flex; gap: 24px; align-items: center; width: fit-content; padding: 12px 0 7px; color: var(--us-green); border-bottom: 1px solid var(--us-green); font-size: 14px; font-weight: 600; }
.us-link span { font-size: 20px; transition: transform .2s; }
.us-link:hover span { transform: translate(3px,-3px); }
.us-skip { position: fixed; z-index: 700; top: 8px; left: 18px; padding: 12px; background: #fff; transform: translateY(-150%); }
.us-skip:focus { transform: none; }
.us-main :focus-visible,.us-section-nav :focus-visible,.us-lightbox :focus-visible { outline: 3px solid #b35b18; outline-offset: 5px; }
.us-hero { width: min(1400px,100%); margin: 0 auto; display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(24px,5vw,78px); padding: 58px clamp(24px,5vw,72px) 76px; }
.us-hero-copy { display: flex; flex-direction: column; align-items: flex-start; padding-top: 20px; }
.us-main .us-hero h1 { position: relative; z-index: 0; margin: 28px 0 22px; font-family: var(--font-display); font-size: clamp(80px,10vw,140px); line-height: 1.08; font-weight: 600; letter-spacing: -.05em; }
.us-hero h1::after { content: ""; position: absolute; z-index: -1; left: 4%; right: -8%; bottom: 8px; height: 27%; background: #b8ddd2; transform: rotate(-3deg); }
 .us-wall { padding: 16px; background: #e6eee6; border: 1px solid var(--us-line); }
.us-wall-stage { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: repeat(3,minmax(0,1fr)); gap: 12px; aspect-ratio: 1.15; }
.us-wall-card { min-width: 0; min-height: 0; margin: 0; padding: 5px; display: flex; flex-direction: column; background: #fbfaf4; box-shadow: 0 3px 8px #0f2a2314; transform: rotate(-1deg); transition: transform .25s,box-shadow .25s; }
.us-wall-card:nth-child(even) { transform: rotate(1.5deg); }
.us-wall-card[hidden] { display: none; }
.us-wall-card.is-featured { grid-column: span 2; grid-row: span 2; }
.us-wall-card:hover,.us-wall-card:focus-within { z-index: 2; transform: rotate(0) scale(1.035); box-shadow: 0 10px 24px #0f2a232a; }
.us-wall-card .us-photo { flex: 1; min-height: 0; }
.us-wall-card .us-photo img { width: 100%; height: 100%; object-fit: cover; }
.us-wall-card figcaption { padding: 7px 3px 2px; font-size: 10px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.us-wall-card.is-featured figcaption { font-size: 12px; }
.us-main .us-wall-note { display: flex; justify-content: space-between; gap: 12px; margin-top: 17px; font-size: 11px; color: var(--us-muted); }
.us-map-copy p a { color: var(--us-teal); text-decoration: underline; text-underline-offset: 4px; }
.us-person.us-person-wu .us-photo img { object-fit: cover; object-position: 50% 42%; }
.us-section-nav { position: sticky; top: var(--public-header-height,76px); z-index: 510; display: flex; justify-content: center; gap: clamp(8px,3.8vw,56px); padding: 0 20px; background: rgba(251,250,244,.97); border-block: 1px solid var(--us-line); overflow-x: auto; scrollbar-width: none; }
.us-section-nav a { position: relative; flex-shrink: 0; padding: 20px 0; font-size: 14px; color: var(--us-muted); }
.us-section-nav a[aria-current="location"] { color: var(--us-green); font-weight: 700; }
.us-section-nav a[aria-current="location"]::after { content: ""; position: absolute; height: 3px; background: var(--us-teal); bottom: -1px; left: 0; right: 0; }
.us-section { width: min(1180px,calc(100% - 96px)); margin: 0 auto; padding: 84px 0; border-bottom: 1px solid var(--us-line); scroll-margin-top: calc(var(--public-header-height,76px) + 82px); }
.us-section-heading { margin-bottom: 42px; }
.us-section-heading .us-label { margin-bottom: 12px; }
.us-heading-inline { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; align-items: end; }
.us-heading-inline > p { max-width: 520px; font-size: 16px; color: var(--us-muted); }
.us-story { display: grid; grid-template-columns: .65fr 1.35fr; gap: 80px; }
.us-story .us-section-heading { margin-bottom: 0; }
.us-story-text { display: grid; gap: 22px; max-width: 750px; font-size: 17px; }
.us-story-text p:first-child { font-size: 20px; line-height: 1.9; }
.us-photo { position: relative; display: block; color: inherit; overflow: hidden; }
.us-photo img { display: block; max-width: 100%; height: auto; transition: transform .5s; }
.us-photo:hover img { transform: scale(1.02); }
.us-photo-zoom { position: absolute; right: 12px; bottom: 12px; width: 32px; height: 32px; display: grid; place-items: center; background: #fbfaf4; border: 1px solid var(--us-line); border-radius: 50%; font-size: 18px; opacity: 0; transform: translateY(4px); transition: .2s; }
.us-photo:hover .us-photo-zoom,.us-photo:focus-visible .us-photo-zoom { opacity: 1; transform: none; }
.us-experiences { display: grid; gap: 52px; }
.us-experience { display: grid; grid-template-columns: .65fr 1.35fr; gap: 70px; align-items: start; scroll-margin-top: calc(var(--public-header-height,76px) + 82px); }
.us-experience-copy { padding-top: 18px; }
.us-experience-copy .us-label { display: inline-block; padding: 4px 12px; background: #f4dda5; color: #55371c; }
.us-experience-copy h3 { margin: 0 0 18px; }
.us-experience-copy > p:not(.us-label) { color: var(--us-muted); margin-bottom: 16px; }
.us-experience-wide { grid-template-columns: 1.35fr .65fr; }
.us-experience-wide .us-experience-copy { grid-column: 2; grid-row: 1; }
.us-experience-wide .us-case-media { grid-column: 1; grid-row: 1; }
.us-gallery-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.us-gallery-track::-webkit-scrollbar { display: none; }
.us-gallery-track figure { flex: 0 0 100%; width: 100%; margin: 0; scroll-snap-align: start; }
.us-gallery-track .us-photo img { width: 100%; aspect-ratio: 1.5; object-fit: cover; }
.us-gallery-controls { display: flex; justify-content: space-between; align-items: center; padding-top: 12px; font-family: var(--font-utility); font-size: 12px; }
.us-gallery-controls > span:last-child { display: flex; gap: 7px; }
.us-gallery-controls button,.us-lightbox-bottom button { width: 40px; height: 36px; cursor: pointer; border: 1px solid var(--us-line); border-radius: 4px; color: var(--us-green); background: transparent; }
.us-gallery-controls button:hover { background: #e3efe7; }
.us-gallery-controls button:disabled { opacity: .35; cursor: default; }
.us-main .us-caption { margin-top: 15px; font-size: 13px; color: var(--us-muted); line-height: 1.8; }
.us-service-index { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; }
.us-service-index a { display: flex; justify-content: space-between; gap: 8px; border-bottom: 1px solid var(--us-line); padding: 10px 0; font-size: 14px; }
.us-service { margin-top: 54px; padding-top: 54px; border-top: 1px solid var(--us-line); scroll-margin-top: calc(var(--public-header-height,76px) + 82px); }
.us-service-research,.us-service-experience-design { display: grid; grid-template-columns: .72fr 1.28fr; gap: 64px; align-items: center; }
.us-service-copy h3 { margin-bottom: 22px; }
.us-service-copy p { color: var(--us-muted); }
.us-service-caption { margin-top: 18px; }
.us-service-caption > p:last-child { font-size: 13px; color: var(--us-muted); }
.us-service-experience-design { grid-template-columns: 1.28fr .72fr; }
.us-service-experience-design .us-service-copy { grid-column: 2; grid-row: 1; }
.us-service-experience-design .us-case-media { grid-column: 1; grid-row: 1; padding: 22px; background: #eef2eb; }
.us-service-experience-design .us-gallery-track .us-photo img { aspect-ratio: auto; object-fit: contain; }
.us-service-publishing > .us-service-copy { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; margin-bottom: 38px; }
.us-publications { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 28px; }
.us-book-gallery { padding: 22px; background: #eef3e8; }
.us-book-gallery .us-gallery-track .us-photo img { height: 300px; aspect-ratio: auto; object-fit: contain; }
.us-publication-caption { padding-top: 20px; }
.us-publication-caption > p:last-child { font-size: 13px; color: var(--us-muted); }
.us-service-exhibitions { display: grid; grid-template-columns: .65fr 1.35fr; gap: 64px; }
.us-service-exhibitions .us-gallery-track .us-photo img { aspect-ratio: auto; }
.us-main .us-services-closing { margin-top: 48px; max-width: 760px; font-size: 18px; }
.us-map-tool { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 80px; }
.us-map-brand { padding: 0; }
.us-map-brand img { display: block; width: 100%; height: auto; max-height: 260px; object-fit: contain; background: #fbfaf5; }
.us-map-copy h2 { margin: 12px 0 25px; font-size: clamp(18px,3.8vw,30px); white-space: nowrap; }
.us-map-copy > p:last-of-type { color: var(--us-muted); }
.us-team { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; }
.us-person .us-photo img { width: 100%; aspect-ratio: 1; object-fit: contain; background: #eef3e8; }
.us-person-copy { padding-top: 24px; }
.us-person-copy h3 { font-size: 25px; }
.us-main .us-person-role { color: var(--us-teal); font-size: 13px; margin: 8px 0 20px; }
.us-person-copy > p:not(.us-person-role) { font-size: 14px; color: var(--us-muted); margin-top: 12px; }
.us-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; border: 0; padding-bottom: 100px; }
.us-contact-copy h2 { margin: 12px 0 24px; }
.us-contact-copy > p:last-of-type { color: var(--us-muted); }
.us-contact-codes { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.us-contact-codes figure { margin: 0; padding: 20px; background: #fff; border: 1px solid var(--us-line); text-align: center; }
.us-qr { display: block; }
.us-qr img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.us-contact-codes figcaption { padding-top: 16px; font-size: 17px; font-weight: 600; }
.us-contact-codes small { display: block; color: var(--us-muted); margin-top: 8px; font-size: 11px; font-weight: 400; }
.us-email { display: flex; gap: 15px; flex-wrap: wrap; margin-top: 25px; }
.us-email button { padding: 8px 12px; background: #fff; border: 1px solid var(--us-line); cursor: pointer; }
.us-lightbox { width: min(1100px,calc(100vw - 32px)); max-width: none; height: min(920px,calc(100dvh - 32px)); max-height: none; padding: 20px; border: 0; color: #fbfaf4; background: #10251f; }
.us-lightbox[open] { display: flex; flex-direction: column; }
.us-lightbox::backdrop { background: rgba(8,20,16,.85); }
.us-lightbox-top { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.us-lightbox-top p { margin: 0; font-size: 14px; }
.us-lightbox-top button { flex-shrink: 0; color: #fbfaf4; background: transparent; border: 1px solid #71877d; padding: 9px 15px; cursor: pointer; }
.us-lightbox-image { flex: 1; min-height: 0; display: flex; justify-content: center; padding: 18px 0; }
.us-lightbox-image img { max-width: 100%; max-height: 100%; object-fit: contain; }
.us-lightbox-bottom { display: flex; gap: 20px; justify-content: center; align-items: center; font-family: var(--font-utility); font-size: 12px; }
.us-lightbox-bottom button { color: #fbfaf4; border-color: #71877d; }
.us-lightbox-bottom button:disabled { opacity: .3; cursor: default; }
.us-status { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); z-index: 600; margin: 0; padding: 12px 22px; border-radius: 4px; color: #fff; background: #0f2a23; }
.us-status:empty { display: none; }
@media (max-width: 1000px) {
  .us-hero { gap: 35px; padding-inline: 32px; }
  .us-section { width: calc(100% - 64px); }
  .us-story,.us-experience,.us-service,.us-map-tool,.us-contact { gap: 36px; }
  .us-publications { gap: 18px; }
  .us-book-gallery { padding: 14px; }
  .us-book-gallery .us-gallery-track .us-photo img { height: 240px; }
  .us-contact-codes figure { padding: 14px; }
  .us-team { gap: 24px; }
}
@media (max-width: 760px) {
  .us-hero { grid-template-columns: 1fr; padding: 32px 24px 42px; gap: 35px; }
  .us-hero-copy { padding-top: 0; }
  .us-main .us-hero h1 { font-size: 56px; margin: 18px 0 20px; }
  .us-section-nav { justify-content: space-between; gap: 12px; padding-inline: 16px; }
  .us-section-nav a { flex: 1 1 0; min-width: 0; text-align: center; white-space: nowrap; padding-block: 17px; font-size: 14px; }
  .us-section { width: calc(100% - 48px); padding: 50px 0; }
  .us-story,.us-heading-inline,.us-experience,.us-service,.us-service-publishing > .us-service-copy,.us-map-tool,.us-contact { grid-template-columns: 1fr; gap: 25px; }
  .us-section-heading { margin-bottom: 30px; }
  .us-story-text { font-size: 15px; gap: 18px; }
  .us-story-text p:first-child { font-size: 15px; }
  .us-heading-inline > p { font-size: 15px; }
  .us-experiences { gap: 42px; }
  .us-experience-copy { padding-top: 0; }
  .us-experience-wide .us-experience-copy,.us-experience-wide .us-case-media,.us-service-experience-design .us-service-copy,.us-service-experience-design .us-case-media { grid-column: auto; grid-row: auto; }
  .us-service { margin-top: 38px; padding-top: 38px; }
  .us-service-copy p,.us-experience-copy > p:not(.us-label) { font-size: 15px; }
  .us-service-copy h3 { margin-bottom: 16px; }
  .us-service-index { grid-template-columns: minmax(0,1fr); gap: 0; }
  .us-service-experience-design .us-case-media { padding: 16px; }
  .us-publications { grid-template-columns: 1fr 1fr; gap: 32px 18px; }
  .us-publication:first-child { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
  .us-book-gallery .us-gallery-track .us-photo img { height: 210px; }
  .us-publication:first-child .us-publication-caption { padding-top: 8px; }
  .us-main .us-services-closing { font-size: 16px; margin-top: 30px; }
  .us-map-tool { gap: 40px; }
  .us-map-brand { padding: 0; }
  .us-map-brand img { max-height: 170px; }
  .us-team { grid-template-columns: 1fr; gap: 36px; }
  .us-person { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 20px; align-items: start; }
  .us-person-copy { padding-top: 0; }
  .us-person-copy h3 { font-size: 22px; }
  .us-main .us-person-role { margin: 8px 0 16px; }
  .us-person-copy > p:not(.us-person-role) { font-size: 13px; }
  .us-photo-zoom { opacity: 1; transform: none; width: 27px; height: 27px; right: 8px; bottom: 8px; }
  .us-photo-portrait .us-photo-zoom { display: none; }
  .us-contact { padding-bottom: 64px; gap: 30px; }
  .us-contact-codes { max-width: 460px; gap: 16px; }
  .us-lightbox { padding: 14px; }
}
@media (max-width: 380px) {
  .us-section { width: calc(100% - 36px); }
  .us-hero { padding-inline: 18px; }
  .us-person { grid-template-columns: 80px minmax(0,1fr); gap: 15px; }
  .us-publication:first-child { grid-template-columns: 1fr; }
  .us-book-gallery .us-gallery-track .us-photo img { height: 190px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .us-photo img,.us-link span,.us-photo-zoom { transition: none; }
  .us-photo:hover img { transform: none; }
}

.us-experience-caption { padding-top: 15px; }
.us-experience-caption .us-caption { margin-top: 0; }



/* 章节标题居中，业务类型与人物标题保持原有层级。 */
.us-section h2 { text-align: center; }
.us-heading-inline { grid-template-columns: 1fr; gap: 25px; }
.us-heading-inline > p { max-width: none; }

/* 无底色的案例使用轻薄底色；桌游与出版图库原有底色保留。 */
.us-experience .us-case-media,.us-service-research .us-case-media,.us-service-exhibitions .us-case-media { padding: clamp(14px,2vw,22px); background: #eef2eb; }
.us-publication:first-child .us-publication-caption { align-self: center; padding-top: 0; }

.us-main .us-wechat-label { margin-bottom: 14px; font-size: 15px; color: #000; }
.us-service-index a:hover { color: var(--us-teal); border-bottom-color: var(--us-teal); }

.us-service-index + .us-service { border-top: 0; }
.us-services > .us-service:first-of-type { border-top: 0; }

/* 桌面延续手机阅读顺序，宽屏只增加两侧留白。 */
@media (min-width: 761px) {
  .us-hero,.us-section { width: min(860px,calc(100% - 64px)); }
  .us-hero { grid-template-columns: minmax(0,1fr); padding: 48px 0 64px; gap: 28px; }
  .us-hero-copy { padding-top: 0; }
  .us-main .us-hero h1 { font-size: 72px; margin: 18px 0 20px; }
  .us-main h2 { font-size: 36px; }
  .us-main h3 { font-size: 28px; }
  .us-section { padding-block: 64px; }
  .us-section-heading { margin-bottom: 32px; }
  .us-story,.us-heading-inline,.us-experience,.us-service-research,.us-service-experience-design,
  .us-service-exhibitions,.us-service-publishing > .us-service-copy,.us-map-tool,.us-contact {
    grid-template-columns: minmax(0,1fr); gap: 28px;
  }
  .us-experience-wide .us-experience-copy,.us-experience-wide .us-case-media,
  .us-service-experience-design .us-service-copy,.us-service-experience-design .us-case-media {
    grid-column: auto; grid-row: auto;
  }
  .us-story-text,.us-heading-inline > p,.us-experience-copy,.us-service-copy,
  .us-map-copy,.us-contact-copy,.us-main .us-services-closing {
    width: 100%; max-width: 720px; margin-inline: auto;
  }
  .us-story-text,.us-story-text p:first-child,.us-experience-copy > p:not(.us-label),
  .us-service-copy p,.us-map-copy p,.us-contact-copy > p { font-size: 17px; }
  .us-experience-copy { padding-top: 0; }
  .us-experience-copy > p:not(.us-label) { margin-bottom: 0; }
  .us-service { margin-top: 48px; padding-top: 48px; }
  .us-service-copy h3 { margin-bottom: 18px; }
  .us-service-publishing > .us-service-copy { gap: 0; margin-bottom: 28px; }
  .us-publications { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 24px; }
  .us-publication:first-child { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
  .us-map-brand { width: 100%; max-width: 600px; margin-inline: auto; padding: 0; }
  .us-map-brand img { max-height: 200px; }
  .us-map-copy h2 { font-size: 30px; white-space: normal; }
  .us-team { grid-template-columns: minmax(0,1fr); gap: 40px; max-width: 720px; margin-inline: auto; }
  .us-person { display: grid; grid-template-columns: 140px minmax(0,1fr); gap: 28px; align-items: start; }
  .us-person-copy { padding-top: 0; }
  .us-person-copy h3 { font-size: 25px; }
  .us-person-copy > p:not(.us-person-role) { font-size: 16px; }
  .us-contact { padding-bottom: 80px; }
  .us-contact-wechat { width: 100%; max-width: 460px; margin-left: max(0px,calc((100% - 720px)/2)); margin-right: 0; }
  .us-wall-card figcaption { font-size: 12px; }
  .us-wall-card .us-photo img[src*="/book-1-"] { object-position: center top; }
  .us-experience > .us-case-media,.us-service > .us-case-media,.us-publications,.us-service-index {
    width: 100%; max-width: 720px; margin-inline: auto;
  }
}

/* Group headings follow the existing section widths at all breakpoints. */
.us-content-group{scroll-margin-top:calc(var(--public-header-height,76px) + 82px)}
.us-section.us-group-heading{border-bottom:0;padding-bottom:0}
.us-group-heading h2{margin-bottom:20px}
.us-group-heading+.us-section{padding-top:36px}

/* Keep the introduction close to the page title and its heading left aligned. */
.us-hero{padding-bottom:20px}
.us-section.us-story{padding-top:24px}
.us-story #story-title{text-align:left}
.us-experiences-copy{display:grid;gap:16px;max-width:720px;margin-inline:auto;font-size:15px;line-height:1.9}
.us-experiences-copy p[id]{scroll-margin-top:calc(var(--public-header-height,76px) + 82px)}
.us-experiences-gallery{max-width:720px;margin:28px auto 0;padding:14px;border:1px solid var(--us-line);background:#eef2eb}
.us-experiences-gallery .us-gallery-track .us-photo img{height:clamp(190px,45vw,360px);aspect-ratio:auto;object-fit:contain}
#experiences .us-experiences{gap:0}
@media(min-width:761px){.us-experiences-copy{font-size:17px}}

.us-experiences-gallery figcaption{padding-top:16px;color:var(--us-muted);font-size:14px;line-height:1.8;overflow-wrap:anywhere}


.us-experience-intro{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;align-items:start}
.us-experience-intro svg{width:24px;height:24px;margin-top:3px;fill:none;stroke:var(--us-teal,#007c73);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.us-experience-intro strong{font-weight:600}
.us-service-publishing > .us-service-copy{gap:0}

.us-service-index a{justify-content:flex-start;align-items:center;gap:10px}
.us-index-icon{flex:0 0 22px;display:inline-flex}
.us-index-icon svg{width:22px;height:22px}

.us-heading-icon{display:inline-flex;vertical-align:middle;margin-right:10px}
.us-heading-icon svg{width:26px;height:26px}

/* Leave enough space below the deep link to place its title below both bars. */
.us-contact{min-height:calc(100svh - var(--public-header-height,76px) - 72px);box-sizing:border-box}
