:root {
  --ink: #0a0a0b;
  --paper: #e9e9e6;
  --paper-2: #d7d7d3;
  --line: rgba(255,255,255,.17);
  --muted: #9b9b98;
  --accent: #f0f0ed;
  --header-h: 82px;
}
* { box-sizing: border-box; }
html { background: var(--ink); color: var(--paper); scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; overflow-x:hidden; font-family: Inter, "SF Pro Display", "Noto Sans SC", "Microsoft YaHei", sans-serif; background: var(--ink); }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.site-header { position: fixed; z-index: 50; inset: 0 0 auto; height: var(--header-h); padding: 0 3.2vw; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: rgba(10,10,11,.84); backdrop-filter: blur(16px); }
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand-mark { width: 39px; height: 39px; display: grid; place-items: center; background: var(--paper); color: var(--ink); font-weight: 900; letter-spacing: -.08em; }
.brand-copy { font-size: 13px; line-height: 1.05; font-weight: 700; }
.brand-copy small { font-size: 9px; letter-spacing: .17em; color: var(--muted); }
.desktop-nav { display: flex; gap: clamp(18px,2.4vw,42px); font-size: 13px; }
.desktop-nav a { color: #c2c2bf; transition: color .25s ease; }
.desktop-nav a:hover,.desktop-nav a:focus-visible { color: #fff; }
.menu-button,.menu-close { color: var(--paper); border: 0; background: none; cursor: pointer; }
.menu-button { display: inline-flex; align-items: center; gap: 14px; font-size: 13px; }
.menu-button i,.menu-button i::after { content: ""; display: block; width: 21px; height: 1px; background: currentColor; transition: transform .25s ease; }
.menu-button i::after { transform: translateY(6px); }
.menu-button[aria-expanded="true"] i { transform: translateY(3px) rotate(45deg); }
.menu-button[aria-expanded="true"] i::after { transform: rotate(-90deg); }
#view { outline: none; }
.home-poster { position: relative; overflow: hidden; min-height: 100vh; min-height: 100dvh; padding: calc(var(--header-h) + 4vh) 3.2vw 3.3vh; display: grid; grid-template-columns: 1fr 1.35fr .82fr; grid-template-rows: auto 1fr auto auto; gap: 2.4vh 2.2vw; background: radial-gradient(circle at 82% 25%, #2d2d2f 0, #151517 27%, #0a0a0b 57%); }
.home-poster::before { content: ""; position: absolute; width: 48vw; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; top: 48%; left: 73%; transform: translate(-50%,-50%); box-shadow: 0 0 0 9vw rgba(255,255,255,.014), 0 0 0 18vw rgba(255,255,255,.012); }
.home-poster::after { content: "LZ"; position: absolute; right: -2vw; bottom: -14vh; font-size: min(48vw,690px); line-height: .75; font-weight: 900; letter-spacing: -.11em; color: rgba(255,255,255,.025); }
.poster-grid { position: absolute; inset: var(--header-h) 3.2vw 0; border-left: 1px solid var(--line); border-right: 1px solid var(--line); background: linear-gradient(90deg, transparent 33.3%, var(--line) 33.3%, var(--line) calc(33.3% + 1px), transparent calc(33.3% + 1px), transparent 66.6%, var(--line) 66.6%, var(--line) calc(66.6% + 1px), transparent calc(66.6% + 1px)); pointer-events: none; }
.poster-index,.poster-role { position: relative; z-index: 1; font-size: 11px; letter-spacing: .22em; color: var(--muted); }
.poster-role { text-align: right; line-height: 1.6; }
.poster-title-wrap { position: relative; z-index: 2; align-self: center; grid-column: 1 / 3; max-width: 950px; }
.poster-kicker { margin: 0 0 2.4vh; font-size: clamp(12px,1vw,16px); color: #c2c2be; letter-spacing: .15em; }
.poster-title-wrap h1 { margin: 0; display: flex; flex-direction: column; }
.poster-title-wrap h1 span { font-family: "Noto Serif SC", "Songti SC", SimSun, serif; font-size: clamp(78px,12.4vw,210px); font-weight: 900; line-height: .8; letter-spacing: -.08em; }
.poster-title-wrap h1 em { margin-top: 1.8vh; font-size: clamp(26px,4.4vw,72px); font-style: normal; font-weight: 300; line-height: .95; letter-spacing: .17em; color: #7d7d7b; }
.poster-statement { max-width: 620px; margin: 3vh 0 0; font-size: clamp(15px,1.25vw,21px); line-height: 1.7; color: #c7c7c3; }
.poster-number { position: relative; z-index: 2; align-self: center; justify-self: end; width: min(20vw,270px); }
.poster-number strong { display: block; font-size: clamp(110px,16vw,260px); line-height: .75; font-weight: 200; letter-spacing: -.09em; color: var(--accent); }
.poster-number span { display: block; margin-top: 3vh; padding-top: 2vh; border-top: 1px solid #666; font-size: 11px; line-height: 1.6; letter-spacing: .16em; }
.poster-meta { position: relative; z-index: 2; grid-column: 1 / 3; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); }
.poster-meta > div { min-height: 105px; padding: 2vh 2vw 1vh 0; border-right: 1px solid var(--line); display: flex; flex-direction: column; gap: 7px; }
.poster-meta > div:not(:first-child) { padding-left: 2vw; }
.poster-meta small { color: var(--muted); font-size: 10px; letter-spacing: .18em; }
.poster-meta strong { font-size: clamp(15px,1.3vw,20px); font-weight: 600; }
.poster-meta span { color: #8d8d89; font-size: 12px; }
.poster-entry { position: relative; z-index: 2; align-self: stretch; display: flex; align-items: center; justify-content: space-between; padding: 0 1.7vw; background: var(--paper); color: var(--ink); font-weight: 700; transition: background .25s, color .25s; }
.poster-entry:hover { background: var(--accent); }
.poster-entry b { font-size: 25px; font-weight: 300; }
.poster-contact { position: relative; z-index: 2; grid-column: 1 / -1; display: flex; justify-content: space-between; color: #777774; font-size: 10px; letter-spacing: .08em; }
.project-menu { position: fixed; z-index: 80; inset: 0 0 0 auto; width: min(780px,100%); padding: 27px 3.2vw; transform: translateX(102%); background: var(--paper); color: var(--ink); transition: transform .55s cubic-bezier(.76,0,.24,1); display: flex; flex-direction: column; }
.project-menu.open { transform: none; }
.menu-backdrop { position: fixed; z-index: 70; inset: 0; background: rgba(0,0,0,.68); backdrop-filter: blur(3px); }
.menu-head,.menu-foot { display: flex; justify-content: space-between; align-items: center; font-size: 11px; letter-spacing: .16em; }
.menu-close { color: var(--ink); padding: 10px 0 10px 20px; }
.menu-list { margin: auto 0; }
.menu-list a { display: grid; grid-template-columns: 55px 1fr auto; align-items: baseline; gap: 20px; padding: 2.2vh 0; border-top: 1px solid #b9b9b5; transition: padding .25s ease, color .25s ease; }
.menu-list a:last-child { border-bottom: 1px solid #b9b9b5; }
.menu-list a:hover { padding-left: 12px; color: #555; }
.menu-list small { font-size: 10px; }
.menu-list strong { font-family: "Noto Serif SC", "Songti SC", serif; font-size: clamp(26px,3.2vw,48px); }
.menu-list span { font-size: 12px; color: #777; }
.menu-foot a { border-bottom: 1px solid currentColor; }
@media (max-width: 980px) {
  :root { --header-h: 70px; }
  .desktop-nav { display: none; }
  .home-poster { grid-template-columns: 1fr .65fr; grid-template-rows: auto 1fr auto auto; }
  .poster-title-wrap { grid-column: 1 / -1; }
  .poster-number { grid-column: 2; grid-row: 2; align-self: end; }
  .poster-meta { grid-column: 1 / -1; }
  .poster-entry { grid-column: 1 / -1; min-height: 64px; }
}
@media (max-width: 680px) {
  .brand-copy { display: none; }
  .home-poster { min-height: 100svh; padding-left: 22px; padding-right: 22px; grid-template-columns: 1fr; grid-template-rows: auto 1fr auto auto auto; }
  .poster-grid { left: 22px; right: 22px; background: none; }
  .poster-role { display: none; }
  .poster-title-wrap { grid-column: 1; align-self: center; }
  .poster-title-wrap h1 span { font-size: clamp(68px,25vw,118px); }
  .poster-title-wrap h1 em { font-size: clamp(21px,8.8vw,38px); letter-spacing: .08em; }
  .poster-statement { font-size: 15px; }
  .poster-number { grid-column: 1; grid-row: auto; justify-self: stretch; display: flex; align-items: end; gap: 24px; width: auto; }
  .poster-number strong { font-size: 88px; }
  .poster-number span { flex: 1; margin-top: 0; }
  .poster-meta { grid-template-columns: 1fr; }
  .poster-meta > div { min-height: 0; padding: 12px 0; border-right: 0; }
  .poster-meta > div:not(:first-child) { display: none; }
  .poster-entry { grid-column: 1; min-height: 56px; padding: 0 18px; }
  .poster-contact span:nth-child(2) { display: none; }
  .menu-list a { grid-template-columns: 35px 1fr; gap: 8px; }
  .menu-list span { display: none; }
  .project-menu { padding: 24px 22px; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }

.desktop-nav a.active { color: #fff; }
.page-shell { min-height: 100vh; padding-top: var(--header-h); background: var(--paper); color: var(--ink); }
.category-hero { min-height: 58vh; padding: 8vh 3.2vw 5vh; display: grid; grid-template-columns: 1.5fr .72fr; align-items: end; border-bottom: 1px solid #b8b8b3; background: linear-gradient(135deg,#ededeb 0%,#d5d5d1 100%); }
.category-eyebrow,.detail-eyebrow { margin: 0 0 2.2vh; font-size: 11px; letter-spacing: .22em; color: #6d6d69; }
.category-hero h1 { margin: 0; font-family: "Noto Serif SC","Songti SC",serif; font-size: clamp(72px,11vw,180px); line-height: .82; letter-spacing: -.09em; }
.category-hero-copy { justify-self: end; max-width: 460px; padding-bottom: 1vh; }
.category-hero-copy p { margin: 0 0 3.5vh; font-size: clamp(16px,1.35vw,21px); line-height: 1.75; }
.category-count { display: flex; align-items: end; gap: 14px; border-top: 1px solid #aaa; padding-top: 16px; }
.category-count strong { font-size: 52px; line-height: .8; font-weight: 300; }
.category-count span { font-size: 11px; letter-spacing: .16em; color: #777; }
.project-grid { padding: 5vw 3.2vw 9vw; display: grid; grid-template-columns: repeat(12,1fr); gap: 4.6vw 2vw; background: var(--paper); }
.project-card { grid-column: span 6; display: block; }
.project-card:nth-child(3n+1) { grid-column: span 7; }
.project-card:nth-child(3n+2) { grid-column: span 5; padding-top: 8vw; }
.project-card-media { position: relative; overflow: hidden; aspect-ratio: 16/10; background: #c7c7c4; }
.project-card:nth-child(3n+2) .project-card-media { aspect-ratio: 4/5; }
.project-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(.92); transition: transform .7s cubic-bezier(.22,1,.36,1), filter .35s; }
.project-card:hover img { transform: scale(1.035); filter: saturate(1); }
.project-card-media::after { content: "查看案例 ↗"; position: absolute; right: 18px; bottom: 18px; padding: 11px 14px; background: rgba(10,10,11,.84); color: white; font-size: 11px; letter-spacing: .1em; opacity: 0; transform: translateY(10px); transition: .3s ease; }
.project-card:hover .project-card-media::after { opacity: 1; transform: none; }
.project-card-meta { display: grid; grid-template-columns: 38px 1fr auto; align-items: baseline; gap: 14px; padding-top: 16px; border-top: 1px solid #777; margin-top: 12px; }
.project-card-meta small { color: #777; }
.project-card-meta h2 { margin: 0; font-size: clamp(22px,2.3vw,38px); font-weight: 500; letter-spacing: -.04em; }
.project-card-meta span { color: #696965; font-size: 12px; }
.site-footer { min-height: 42vh; padding: 7vh 3.2vw 4vh; display: grid; grid-template-columns: 1fr auto; align-content: space-between; background: var(--ink); color: var(--paper); }
.site-footer h2 { grid-column: 1 / -1; margin: 0; max-width: 1000px; font-family: "Noto Serif SC","Songti SC",serif; font-size: clamp(42px,7vw,112px); line-height: .95; font-weight: 600; letter-spacing: -.06em; }
.site-footer a { align-self: end; border-bottom: 1px solid #777; padding-bottom: 6px; }
.site-footer small { align-self: end; color: #777; }
.detail-page { background: #111113; color: var(--paper); }
.detail-hero { min-height: 92vh; padding: calc(var(--header-h) + 5vh) 3.2vw 4vh; display: grid; grid-template-columns: 1.7fr .72fr; grid-template-rows: 1fr auto; gap: 3vw; }
.detail-hero-media { grid-row: 1 / 3; min-height: 72vh; overflow: hidden; display: grid; place-items: center; background: #111113; }
.detail-hero-media img { width: 100%; height: 100%; max-height: 76vh; object-fit: contain; display: block; }
.detail-title { align-self: end; }
.detail-title h1 { margin: 0; font-family: "Noto Serif SC","Songti SC",serif; font-size: clamp(46px,6vw,104px); line-height: .95; letter-spacing: -.065em; }
.detail-title p { margin: 2.3vh 0 0; color: #aaa; line-height: 1.7; }
.detail-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding-top: 2vh; border-top: 1px solid #464648; }
.detail-facts div { display: flex; flex-direction: column; gap: 7px; }
.detail-facts small { color: #767676; font-size: 10px; letter-spacing: .16em; }
.detail-facts strong { font-size: 13px; font-weight: 500; }
.detail-story { padding: 10vh 3.2vw; display: grid; grid-template-columns: .62fr 1.38fr; gap: 5vw; background: var(--paper); color: var(--ink); }
.detail-story-label { font-size: 11px; letter-spacing: .19em; color: #6e6e69; }
.detail-story-main > p { max-width: 910px; margin: 0 0 8vh; font-family: "Noto Serif SC","Songti SC",serif; font-size: clamp(28px,3.5vw,58px); line-height: 1.35; letter-spacing: -.035em; }
.story-columns { display: grid; grid-template-columns: repeat(3,1fr); gap: 3vw; border-top: 1px solid #999; padding-top: 3vh; }
.story-columns h2 { margin: 0 0 14px; font-size: 14px; }
.story-columns p { margin: 0; color: #646460; line-height: 1.8; font-size: 14px; }
.detail-gallery { padding: 3.2vw; display: grid; grid-template-columns: repeat(12,1fr); gap: 2vw; background: #111113; }
.gallery-item { position: relative; grid-column: span 6; border: 0; padding: 0; overflow: hidden; background: #252527; cursor: zoom-in; }
.gallery-item:first-child,.gallery-item:nth-child(5n) { grid-column: span 12; }
.gallery-item:nth-child(4n+2) { grid-column: span 5; }
.gallery-item:nth-child(4n+3) { grid-column: span 7; }
.gallery-item img { width: 100%; height: auto; min-height: 24vw; max-height: 82vh; object-fit: cover; display: block; transition: transform .6s ease; }
.gallery-item:hover img { transform: scale(1.018); }
.detail-next { padding: 9vh 3.2vw; display: flex; justify-content: space-between; align-items: end; border-top: 1px solid #3a3a3c; background: #111113; }
.detail-next small { display: block; margin-bottom: 15px; color: #777; letter-spacing: .16em; }
.detail-next strong { font-family: "Noto Serif SC","Songti SC",serif; font-size: clamp(34px,5vw,78px); font-weight: 500; }
.back-link { font-size: 13px; border-bottom: 1px solid #777; padding-bottom: 5px; }
.lightbox { position: fixed; z-index: 120; inset: 0; background: rgba(0,0,0,.96); color: white; display: grid; grid-template-columns: 70px 1fr 70px; place-items: center; padding: 64px 4vw 30px; }
.lightbox[hidden] { display: none; }
.lightbox figure { margin: 0; width: 100%; height: 100%; display: grid; place-items: center; }
.lightbox img { max-width: 100%; max-height: calc(100vh - 130px); object-fit: contain; }
.lightbox figcaption { align-self: end; color: #777; font-size: 11px; letter-spacing: .1em; }
.lightbox button { border: 0; background: transparent; color: white; cursor: pointer; }
.lightbox-close { position: absolute; right: 3.2vw; top: 24px; font-size: 12px; letter-spacing: .13em; }
.lightbox-prev,.lightbox-next { font-size: 28px; font-weight: 200; }

/* Editorial portfolio pass: the work itself sets the rhythm. */
.home-poster { grid-template-columns: repeat(12,1fr); grid-template-rows: auto 1fr auto auto auto; gap: 1.6vh 1.6vw; padding-top: calc(var(--header-h) + 2.6vh); padding-bottom: 2.2vh; }
.poster-index { grid-column: 1 / 7; }
.poster-role { grid-column: 9 / -1; }
.poster-title-wrap { grid-column: 1 / 9; max-width: 780px; }
.poster-title-wrap h1 span { font-size: clamp(74px,10.6vw,176px); }
.poster-title-wrap h1 em { font-size: clamp(24px,3.5vw,58px); }
.poster-statement { margin-top: 2vh; }
.poster-bio { max-width: 720px; margin: 1.5vh 0 0; color: #989894; font-size: clamp(13px,1vw,16px); line-height: 1.65; }
.poster-number { grid-column: 10 / -1; width: auto; align-self: center; }
.poster-number strong { font-size: clamp(94px,13.3vw,220px); }
.poster-number small { display:block; margin-top: 1.2vh; color:#777; font-size:10px; letter-spacing:.16em; }
.poster-meta { grid-column: 1 / 10; grid-row: 3; grid-template-columns: repeat(4,1fr); }
.poster-meta > div { min-height: 86px; padding-top: 1.4vh; gap: 5px; }
.poster-meta strong { font-size: clamp(13px,1.05vw,17px); }
.poster-meta span { font-size: 11px; line-height:1.4; }
.poster-meta .meta-icon { width: 22px; height: 22px; display:grid; place-items:center; border:1px solid #666; border-radius:50%; font-size:13px; font-style:normal; color:#d8d8d4; }
.poster-skills { position: relative; z-index: 2; grid-column: 1 / -1; grid-row: 4; display:grid; grid-template-columns:repeat(6,1fr); border-top:1px solid var(--line); }
.poster-skills span { min-height: 64px; padding: 1.1vh 1.1vw 0 0; border-right:1px solid var(--line); display:flex; flex-direction:column; gap:4px; font-size:13px; }
.poster-skills span:not(:first-child) { padding-left:1.1vw; }
.poster-skills b { color:var(--accent); font-size:10px; letter-spacing:.14em; }
.poster-skills small { color:#7f7f7b; font-size:10px; line-height:1.3; }
.poster-entry { grid-column: 10 / -1; grid-row: 3; min-height:86px; }
.poster-contact { grid-row: 5; }

.works-page { padding: calc(var(--header-h) + 7vh) 3.2vw 0; }
.works-intro { display:grid; grid-template-columns:1.2fr .8fr; gap:5vw; padding:0 0 8vh; border-bottom:1px solid #b8b8b3; }
.works-intro h1 { margin:0; font-family:"Noto Serif SC","Songti SC",serif; font-size:clamp(54px,8vw,124px); line-height:.98; letter-spacing:-.08em; font-weight:600; }
.works-intro h1 em { font-style:normal; color:#858581; }
.works-intro > p:last-child { align-self:end; max-width:470px; margin:0; color:#666662; font-size:16px; line-height:1.8; }
.category-index { display:grid; grid-template-columns:repeat(2,1fr); gap:0 2.6vw; padding:3vw 0 8vw; }
.category-index-card { min-height:220px; padding:2.4vw 0 2vw; display:grid; grid-template-columns:54px 1fr; grid-template-rows:1fr auto; column-gap:1.5vw; border-top:1px solid #a9a9a5; transition:padding .35s ease, background .35s ease; }
.category-index-card:hover { padding-left:1.3vw; padding-right:1.3vw; background:#d6d6d2; }
.category-index-card:nth-child(odd) { border-right:1px solid #a9a9a5; padding-right:2.6vw; }
.category-index-card:nth-child(even) { padding-left:2.6vw; }
.category-index-card .index-no { font-size:13px; color:#777; letter-spacing:.12em; }
.category-index-card p { margin:0 0 1.4vh; color:#777; font-size:10px; letter-spacing:.17em; }
.category-index-card h2 { margin:0 0 1.6vh; font-family:"Noto Serif SC","Songti SC",serif; font-size:clamp(30px,3.4vw,58px); font-weight:500; letter-spacing:-.06em; }
.category-index-card div > span { display:block; max-width:380px; color:#696965; font-size:13px; line-height:1.7; }
.category-index-card b { grid-column:2; font-size:11px; letter-spacing:.12em; font-weight:500; }
.category-index-events { background:linear-gradient(135deg,#ededeb,#d5d5d1); }
.category-index-spatial { background:#d8d8d4; }
.category-index-brand { background:#e5e5e1; }
.category-index-package { background:#d1d1cd; }
.category-index-logo { background:#c9c9c5; }

.category-hero { min-height:38vh; padding-top:7vh; padding-bottom:4vh; }
.category-hero h1 { font-size:clamp(64px,9vw,148px); }
.project-grid { padding:4vw 3.2vw 8vw; display:block; columns:3; column-gap:2vw; }
.project-card,.project-card:nth-child(3n+1),.project-card:nth-child(3n+2) { width:100%; display:inline-block; vertical-align:top; break-inside:avoid; margin:0 0 3.5vw; padding:0; }
.project-card-media { aspect-ratio:auto; overflow:hidden; background:#d1d1cd; }
.project-card-media img { width:100%; height:auto; object-fit:contain; display:block; filter:saturate(.92); transition:transform .7s cubic-bezier(.22,1,.36,1),filter .35s; }
.project-card.card-1 .project-card-media { border-radius:24px 24px 0 0; }
.project-card.card-2 .project-card-media { border-radius:0 0 24px 0; }
.project-grid-logo .project-card-media { background:#f5f5f2; padding:0; }
.project-grid-logo .project-card-meta h2 { font-size:clamp(18px,1.7vw,28px); }
.project-grid-brand .project-card-media { border:1px solid #b9b9b4; }
.project-grid-package .project-card-media { border-radius:16px; }
.project-grid-spatial .project-card-media { background:#1c1c1f; }
.project-card-media::after { content:"打开项目 ↗"; }
.project-card-meta { grid-template-columns:30px 1fr; gap:8px 12px; padding-top:12px; margin-top:10px; }
.project-card-meta h2 { font-size:clamp(18px,1.85vw,30px); }
.project-card-meta span { grid-column:2; font-size:12px; }
.project-card-meta b { grid-column:2; color:#858581; font-size:10px; font-weight:500; letter-spacing:.04em; }
.detail-gallery { display:flex; flex-direction:column; align-items:center; gap:5vw; padding:5vw 3.2vw 8vw; }
.gallery-item,.gallery-item:first-child,.gallery-item:nth-child(5n),.gallery-item:nth-child(4n+2),.gallery-item:nth-child(4n+3) { width:min(100%,1240px); flex:none; grid-column:auto; background:transparent; }
.gallery-item img { width:100%; height:auto; min-height:0; object-fit:contain; display:block; }
.detail-events .detail-hero-media { background:#16161a; }
.detail-spatial .detail-hero-media { background:#0d1113; }
.detail-brand .detail-hero-media { background:#f0f0ed; }
.detail-package .detail-hero-media { background:#deded9; }
.detail-logo .detail-hero { grid-template-columns:1.15fr .95fr; }
.detail-logo .detail-hero-media { min-height:62vh; background:#f4f4f1; }
.detail-logo .detail-hero-media img { max-height:68vh; }
.detail-logo .detail-story-main > p { max-width:720px; }
.detail-logo .gallery-item { width:min(100%,1120px); }

@media (max-width: 980px) {
  .poster-index { grid-column:1 / 7; }
  .poster-role { grid-column:9 / -1; }
  .poster-title-wrap { grid-column:1 / 9; }
  .poster-number { grid-column:9 / -1; }
  .poster-meta { grid-column:1 / -1; }
  .poster-entry { grid-column:1 / -1; grid-row:auto; }
  .poster-skills { grid-template-columns:repeat(3,1fr); }
  .poster-skills span:nth-child(4) { border-top:1px solid var(--line); }
  .poster-contact { grid-row:auto; }
  .project-grid { columns:2; }
  .works-intro { grid-template-columns:1fr; gap:4vh; }
}
@media (max-width: 680px) {
  .home-poster { grid-template-columns:1fr; grid-template-rows:auto auto auto auto auto auto; gap:2vh; padding-top:calc(var(--header-h) + 2vh); }
  .poster-index,.poster-role,.poster-title-wrap,.poster-number,.poster-meta,.poster-skills,.poster-entry,.poster-contact { grid-column:1; }
  .poster-title-wrap { grid-row:2; }
  .poster-title-wrap h1 span { font-size:clamp(66px,24vw,112px); }
  .poster-bio { font-size:13px; }
  .poster-number { grid-row:3; }
  .poster-meta { grid-row:4; grid-template-columns:1fr 1fr; }
  .poster-meta > div { min-height:84px; }
  .poster-meta > div { display:flex !important; }
  .poster-skills { grid-row:5; grid-template-columns:1fr 1fr; }
  .poster-skills span:nth-child(n) { border-top:1px solid var(--line); padding:10px 10px 10px 0; }
  .poster-skills span:nth-child(even) { padding-left:10px; }
  .poster-entry { grid-row:6; min-height:54px; }
  .poster-contact { grid-row:7; }
  .poster-role { display:none; }
  .project-grid { columns:1; padding-top:8vw; }
  .project-card,.project-card:nth-child(3n+1),.project-card:nth-child(3n+2) { margin-bottom:12vw; }
  .works-page { padding-left:22px; padding-right:22px; }
  .works-intro { padding-bottom:6vh; }
  .category-index { grid-template-columns:1fr; padding-top:8vw; }
  .category-index-card,.category-index-card:nth-child(odd),.category-index-card:nth-child(even) { border-right:0; padding:24px 0; }
  .category-index-card h2 { font-size:38px; }
}
@media (max-width: 820px) {
  .category-hero { min-height: 50vh; grid-template-columns: 1fr; gap: 6vh; }
  .category-hero-copy { justify-self: start; }
  .project-card,.project-card:nth-child(3n+1),.project-card:nth-child(3n+2) { grid-column: span 12; padding-top: 0; }
  .project-card:nth-child(3n+2) .project-card-media { aspect-ratio: 16/11; }
  .project-card-meta { grid-template-columns: 30px 1fr; }
  .project-card-meta span { grid-column: 2; }
  .detail-hero { min-height: auto; grid-template-columns: 1fr; }
  .detail-hero-media { grid-row: auto; }
  .detail-hero-media { min-height: 0; }
  .detail-hero-media img { height: auto; max-height: none; }
  .detail-story { grid-template-columns: 1fr; }
  .story-columns { grid-template-columns: 1fr; }
  .gallery-item,.gallery-item:first-child,.gallery-item:nth-child(5n),.gallery-item:nth-child(4n+2),.gallery-item:nth-child(4n+3) { grid-column: span 12; }
  .gallery-item img { min-height: 0; max-height: none; }
  .detail-next { align-items: start; flex-direction: column; gap: 7vh; }
  .site-footer { grid-template-columns: 1fr; gap: 5vh; }
  .lightbox { grid-template-columns: 42px 1fr 42px; padding-left: 8px; padding-right: 8px; }
}

@media (max-width: 820px) {
  .project-grid { columns: 2; }
  .project-card,.project-card:nth-child(3n+1),.project-card:nth-child(3n+2) { width:100%; padding-top:0; }
  .project-card:nth-child(3n+2) .project-card-media { aspect-ratio:auto; }
}
@media (max-width: 560px) {
  .project-grid { columns: 1; }
}

/* Category pages read in a clear horizontal sequence: 01 02 03 / 04 05 06. */
.project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:1px; align-items:start; column-gap:2vw; row-gap:0; }
.project-card,.project-card:nth-child(3n+1),.project-card:nth-child(3n+2) { display:block; width:auto; grid-column:auto; margin:0; padding:0; }
.project-card-media,.project-card:nth-child(3n+2) .project-card-media { min-height:0; height:auto; aspect-ratio:auto; }
.project-card-media img { height:auto; min-height:0; }
.detail-gallery { padding-left:12vw; padding-right:12vw; gap:2.6vw; }
.gallery-item,.gallery-item:first-child,.gallery-item:nth-child(5n),.gallery-item:nth-child(4n+2),.gallery-item:nth-child(4n+3) { width:min(100%,980px); }
@media (max-width: 980px) {
  .project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:3vw; }
  .detail-gallery { padding-left:8vw; padding-right:8vw; }
}
@media (max-width: 560px) {
  .project-grid { grid-template-columns:1fr; column-gap:0; }
  .detail-gallery { padding-left:22px; padding-right:22px; gap:9vw; }
}

/* Final portfolio system: calm homepage, designed category signals, one image width. */
.poster-grid { border:0; background:none; }
.poster-title-wrap h1 span {
  font-family:"STXingkai","华文行楷","FZKai-Z03","KaiTi","Kaiti SC",cursive;
  font-size:clamp(54px,7vw,112px);
  font-weight:400;
  line-height:.94;
  letter-spacing:.015em;
  transform:rotate(-2deg);
  transform-origin:left center;
}
.poster-title-wrap h1 em { margin-top:.7vh; font-size:clamp(18px,2.25vw,36px); letter-spacing:.2em; }
.poster-title-wrap { align-self:center; max-width:860px; }
.poster-bio { max-width:800px; }
.poster-meta { border-top:0; gap:1.3vw; }
.poster-meta > div,.poster-meta > div:not(:first-child) {
  min-height:94px;
  padding:14px 14px 12px 0;
  border:0;
  border-top:1px solid #424244;
}
.poster-meta > div:not(:first-child) { padding-left:0; }
.poster-meta .meta-icon { margin-bottom:3px; border-color:#747476; background:#18181a; }
.poster-skills { border-top:1px solid #333335; }
.poster-skills span { border-right:0; border-top:0; padding-right:1.2vw; }
.poster-skills span:not(:first-child) { padding-left:0; }

.category-hero { position:relative; isolation:isolate; overflow:hidden; min-height:48vh; padding:7vh 3.2vw 5vh; background:#deded9; }
.category-hero-title,.category-hero-copy { position:relative; z-index:2; }
.category-hero h1 { font-size:clamp(62px,8.2vw,136px); letter-spacing:-.075em; }
.category-code { margin-top:2.5vh; font-size:10px; letter-spacing:.22em; color:#60605d; }
.category-line { display:block; width:100%; height:1px; margin-bottom:2.4vh; background:#93938e; }
.category-visual { position:absolute; z-index:1; inset:0; pointer-events:none; opacity:.68; }
.category-visual b { position:absolute; right:1.8vw; top:50%; transform:translateY(-50%); color:rgba(0,0,0,.055); font-size:clamp(180px,27vw,470px); line-height:.7; font-weight:800; letter-spacing:-.12em; }
.category-visual i { position:absolute; display:block; border:1px solid rgba(0,0,0,.12); }
.category-visual i:nth-child(1) { width:38vw; height:38vw; border-radius:50%; right:7vw; top:-21vw; }
.category-visual i:nth-child(2) { width:34vw; height:1px; right:-3vw; bottom:22%; transform:rotate(-16deg); }
.category-visual i:nth-child(3) { width:8px; height:8px; border-radius:50%; right:32vw; bottom:22%; background:#111; }
.category-hero-events { background:linear-gradient(120deg,#e6e3df,#c8c5c0); }
.category-hero-events .category-visual i:nth-child(1) { border-radius:0; transform:rotate(12deg); }
.category-hero-spatial { background:linear-gradient(135deg,#d8d8d4,#bfc2c1); }
.category-hero-spatial .category-visual i:nth-child(1) { border-radius:0; transform:perspective(400px) rotateY(55deg) rotateZ(-12deg); }
.category-hero-brand { background:linear-gradient(135deg,#eceae5,#d7d4cd); }
.category-hero-brand .category-visual i:nth-child(1) { box-shadow:0 0 0 4vw rgba(0,0,0,.02),0 0 0 8vw rgba(0,0,0,.018); }
.category-hero-package { background:linear-gradient(120deg,#dedbd4,#cac7c0); }
.category-hero-package .category-visual i:nth-child(1) { border-radius:0; width:28vw; height:34vw; transform:rotate(9deg); }
.category-hero-logo { background:linear-gradient(140deg,#e9e9e6,#cdcdca); }
.category-hero-logo .category-visual i:nth-child(1) { width:30vw; height:30vw; box-shadow:inset 0 0 0 7vw rgba(0,0,0,.025); }

.project-grid-logo .project-card-media { aspect-ratio:14/9; }
.project-grid-logo .project-card-media img { width:100%; height:100%; object-fit:cover; }

.detail-gallery { gap:clamp(16px,1.8vw,30px); padding-left:15vw; padding-right:15vw; }
.gallery-item,.gallery-item:first-child,.gallery-item:nth-child(5n),.gallery-item:nth-child(4n+2),.gallery-item:nth-child(4n+3),.detail-logo .gallery-item { width:min(100%,980px); }
.gallery-item img { width:100%; height:auto; min-height:0; max-height:none !important; object-fit:contain; }
.detail-logo .detail-hero { grid-template-columns:1.7fr .72fr; }
.detail-logo .detail-hero-media { min-height:72vh; }
.detail-logo .detail-hero-media img { max-height:76vh; }

.site-footer { min-height:52vh; grid-template-columns:1fr auto; grid-template-rows:auto 1fr auto; gap:4vh 3vw; background:#0c0c0d; }
.footer-signal { grid-column:1/-1; display:flex; justify-content:space-between; padding-bottom:16px; border-bottom:1px solid #353537; color:#777; font-size:10px; letter-spacing:.18em; }
.footer-signal b { color:#b4b4af; font-weight:500; }
.site-footer h2 { align-self:center; font-size:clamp(48px,7.8vw,126px); font-weight:500; }
.site-footer h2 em { display:block; color:#777; font-style:normal; }
.footer-meta { align-self:end; display:flex; flex-direction:column; gap:7px; color:#777; font-size:10px; letter-spacing:.1em; }
.site-footer > a { align-self:end; font-size:13px; }

@media (max-width:980px) {
  .detail-gallery { padding-left:9vw; padding-right:9vw; }
}
@media (max-width:680px) {
  .home-poster { width:100%; grid-template-columns:minmax(0,1fr); }
  .home-poster > * { min-width:0; max-width:100%; }
  .poster-kicker,.poster-statement,.poster-bio,.poster-meta span,.poster-meta strong { overflow-wrap:anywhere; word-break:break-word; }
  .poster-number { min-width:0; gap:16px; }
  .poster-number span { min-width:0; }
  .poster-number small { display:none; }
  .poster-meta { width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .poster-skills { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .poster-meta > div,.poster-meta > div:not(:first-child) { min-width:0; padding-right:4px; overflow:hidden; }
  .poster-title-wrap h1 span { font-size:clamp(54px,19vw,88px); }
  .poster-title-wrap h1 em { font-size:18px; }
  .poster-meta { gap:12px; }
  .poster-meta > div,.poster-meta > div:not(:first-child) { padding:12px 0; }
  .category-hero { min-height:54vh; }
  .category-visual b { right:-4vw; }
  .detail-gallery { padding-left:22px; padding-right:22px; gap:18px; }
  .site-footer { grid-template-columns:1fr; }
  .footer-signal { flex-direction:column; gap:8px; }
}

/* 2026 portfolio index and category system */
.works-page-new { padding:var(--header-h) 0 0; }
.works-poster { position:relative; min-height:calc(100svh - var(--header-h)); display:grid; grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr); overflow:hidden; background:#09090a; color:#f1f1ee; }
.works-poster figure { position:relative; min-height:calc(100svh - var(--header-h)); margin:0; overflow:hidden; }
.works-poster figure::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.06),rgba(0,0,0,.02) 55%,rgba(0,0,0,.66)); }
.works-poster figure::before,.category-cover figure::before { content:"© 李宗武 · PORTFOLIO PREVIEW"; position:absolute; z-index:4; right:14px; bottom:14px; padding:7px 10px; background:rgba(0,0,0,.42); color:rgba(255,255,255,.8); font-size:8px; letter-spacing:.12em; pointer-events:none; }
.works-poster img { width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.82) contrast(1.04); }
.works-poster-copy { position:relative; z-index:2; align-self:end; padding:8vh 3.2vw 9vh; }
.works-poster-copy p { margin:0 0 4vh; color:#8f8f8d; font-size:10px; letter-spacing:.24em; }
.works-poster-copy h1 { margin:0; font-family:"Noto Serif SC","Songti SC",serif; font-size:clamp(52px,6.2vw,104px); font-weight:500; line-height:.88; letter-spacing:-.07em; }
.works-poster-copy h1 em { color:#777774; font-style:normal; }
.works-poster-copy span { display:block; max-width:390px; margin-top:4vh; color:#a6a6a2; font-size:13px; line-height:1.9; }
.works-poster > b { position:absolute; z-index:3; right:3.2vw; top:4vh; color:#6e6e6c; font-size:10px; font-weight:500; letter-spacing:.22em; }
.works-selector { display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr); padding:9vh 3.2vw 11vh; gap:7vw; background:#e6e6e2; color:#0a0a0b; }
.works-selector-intro small { color:#747471; font-size:10px; letter-spacing:.22em; }
.works-selector-intro h2 { margin:2.5vh 0; font-family:"Noto Serif SC","Songti SC",serif; font-size:clamp(38px,4.4vw,72px); line-height:1.04; font-weight:500; letter-spacing:-.06em; }
.works-selector-intro p { max-width:320px; margin:0; color:#6e6e6a; font-size:13px; line-height:1.8; }
.category-list { border-top:1px solid #a9a9a4; }
.category-row { min-height:82px; display:grid; grid-template-columns:38px minmax(120px,1fr) minmax(160px,.8fr) 82px 26px; align-items:center; gap:16px; border-bottom:1px solid #a9a9a4; transition:padding .3s ease,background .3s ease; }
.category-row:hover { padding:0 16px; background:#d7d7d2; }
.category-row small,.category-row span,.category-row b { font-size:10px; font-weight:500; letter-spacing:.11em; color:#757571; }
.category-row strong { font-family:"Noto Serif SC","Songti SC",serif; font-size:clamp(22px,2.1vw,34px); font-weight:500; }
.category-row i { justify-self:end; font-size:20px; font-style:normal; font-weight:300; }

.category-cover { position:relative; min-height:68vh; overflow:hidden; isolation:isolate; background:#111; }
.category-cover figure { margin:0; }
.category-cover figure,.category-cover figure::after { position:absolute; inset:0; }
.category-cover figure::after { content:""; }
.category-cover img { width:100%; height:100%; display:block; object-fit:cover; }
.category-cover-copy { position:relative; z-index:2; }
.category-cover-copy > p { margin:0 0 2.5vh; font-size:10px; letter-spacing:.24em; }
.category-cover-copy h1 { margin:0; font-family:"Noto Serif SC","Songti SC",serif; font-size:clamp(62px,9vw,148px); font-weight:500; line-height:.86; letter-spacing:-.08em; }
.category-cover-copy > span { display:block; max-width:430px; margin-top:3vh; font-size:13px; line-height:1.85; }
.category-cover-copy > div { display:flex; align-items:end; gap:12px; margin-top:5vh; }
.category-cover-copy > div b { font-size:46px; line-height:.8; font-weight:300; }
.category-cover-copy > div small { font-size:9px; letter-spacing:.17em; }
.category-cover-events figure::after { background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.18) 62%,rgba(0,0,0,.06)); }
.category-cover-events img { filter:saturate(.88) contrast(1.05); }
.category-cover-events .category-cover-copy { min-height:68vh; display:flex; flex-direction:column; justify-content:flex-end; width:50%; padding:7vh 3.2vw; color:#fff; }
.category-cover-events .category-cover-copy > p,.category-cover-events .category-cover-copy > span,.category-cover-events .category-cover-copy small { color:#b4b4b0; }
.category-cover-spatial { display:grid; grid-template-columns:1.55fr .65fr; background:#0b0d0e; color:#f2f2ef; }
.category-cover-spatial figure { position:relative; inset:auto; min-height:68vh; }
.category-cover-spatial figure::after { background:linear-gradient(90deg,transparent 70%,#0b0d0e); }
.category-cover-spatial .category-cover-copy { align-self:end; padding:6vh 3.2vw 7vh 1.4vw; }
.category-cover-spatial .category-cover-copy > p,.category-cover-spatial .category-cover-copy > span,.category-cover-spatial small { color:#8d9292; }
.category-cover-brand { background:#d9d8d3; color:#101011; }
.category-cover-brand figure { left:43%; background:#d9d8d3; }
.category-cover-brand figure::after { background:linear-gradient(90deg,#d9d8d3 0,rgba(217,216,211,.74) 16%,transparent 52%); }
.category-cover-brand img { object-fit:contain; object-position:right center; }
.category-cover-brand .category-cover-copy { min-height:68vh; width:46%; display:flex; flex-direction:column; justify-content:center; padding:7vh 3.2vw; }
.category-cover-brand .category-cover-copy > p,.category-cover-brand .category-cover-copy > span,.category-cover-brand small { color:#686864; }
.category-cover-package { display:grid; grid-template-columns:.72fr 1.28fr; background:#cccac4; color:#0b0b0c; }
.category-cover-package figure { position:relative; inset:auto; grid-column:2; min-height:68vh; background:#e7e6e2; }
.category-cover-package figure::after { background:linear-gradient(90deg,#cccac4,transparent 28%); }
.category-cover-package img { object-fit:contain; }
.category-cover-package .category-cover-copy { grid-row:1; align-self:center; padding:7vh 1vw 7vh 3.2vw; }
.category-cover-package .category-cover-copy > p,.category-cover-package .category-cover-copy > span,.category-cover-package small { color:#696966; }
.category-cover-logo { display:grid; grid-template-columns:1fr .72fr; background:#f0f0ec; color:#0a0a0b; }
.category-cover-logo figure { position:relative; inset:auto; min-height:68vh; display:grid; place-items:center; background:#fff; border-right:1px solid #c7c7c1; }
.category-cover-logo figure::after { inset:7%; border:1px solid #dddcd6; }
.category-cover-logo img { width:68%; height:68%; object-fit:contain; }
.category-cover-logo .category-cover-copy { align-self:center; padding:7vh 3.2vw; }
.category-cover-logo .category-cover-copy > p,.category-cover-logo .category-cover-copy > span,.category-cover-logo small { color:#696966; }
.category-lead { display:flex; justify-content:space-between; align-items:center; gap:3vw; padding:21px 3.2vw; border-bottom:1px solid #b8b8b3; background:#e6e6e2; color:#0a0a0b; }
.category-lead span { font-size:10px; letter-spacing:.2em; }
.category-lead p { margin:0; color:#73736f; font-size:12px; }

/* Cards preserve the full project cover; masonry order remains horizontal. */
.project-grid { padding-top:3.4vw; background:#e6e6e2; }
.project-card-media { border-radius:0 !important; background:transparent !important; }
.project-card-media img,.project-grid-logo .project-card-media img { width:100%; height:auto; object-fit:contain; }
.project-card-media::before { content:"© 李宗武 · PORTFOLIO PREVIEW"; position:absolute; z-index:3; right:12px; top:12px; padding:6px 8px; background:rgba(0,0,0,.46); color:rgba(255,255,255,.82); font-size:7px; letter-spacing:.12em; pointer-events:none; }
.project-card-meta { border-top:0; margin-top:0; padding:13px 0 2px; }
.project-card-meta::before { content:""; grid-column:1/-1; order:-1; height:1px; margin-bottom:3px; background:#aaa9a4; }

.detail-gallery { gap:clamp(10px,1.25vw,20px); padding-left:18vw; padding-right:18vw; }
.gallery-item,.gallery-item:first-child,.gallery-item:nth-child(5n),.gallery-item:nth-child(4n+2),.gallery-item:nth-child(4n+3),.detail-logo .gallery-item { position:relative; width:min(100%,980px); overflow:hidden; }
.gallery-item::after,.detail-hero-media::after,.lightbox figure::after { content:"© 李宗武 · 仅供作品浏览"; position:absolute; z-index:4; right:14px; bottom:14px; padding:7px 10px; background:rgba(0,0,0,.42); color:rgba(255,255,255,.78); font-size:8px; letter-spacing:.12em; pointer-events:none; }
.detail-hero-media,.lightbox figure { position:relative; }
.project-logo-xujian .detail-gallery { gap:0; padding-top:0; padding-bottom:0; }
.project-logo-xujian .gallery-item { width:min(100%,980px); }

.site-footer { min-height:48vh; padding:6vh 3.2vw 4vh; display:grid; grid-template-columns:110px 1fr minmax(280px,.55fr); grid-template-rows:1fr auto; gap:6vh 5vw; background:#0b0b0c; color:#efefec; }
.footer-brand { align-self:start; display:flex; flex-direction:column; gap:12px; }
.footer-brand span { width:54px; height:54px; display:grid; place-items:center; border:1px solid #5a5a5b; font-size:18px; font-weight:800; }
.footer-brand small,.footer-closing p { color:#717173; font-size:9px; letter-spacing:.18em; }
.footer-closing p { margin:0 0 4vh; }
.footer-closing h2,.site-footer .footer-closing h2 { margin:0; font-family:"Noto Serif SC","Songti SC",serif; font-size:clamp(42px,5.7vw,94px); line-height:.98; font-weight:500; letter-spacing:-.06em; }
.footer-closing h2 em { color:#6b6b6d; font-style:normal; }
.footer-nav { align-self:center; border-top:1px solid #353537; }
.footer-nav a,.site-footer .footer-nav a { min-height:48px; display:grid; grid-template-columns:30px 1fr; align-items:center; gap:10px; padding:0; border:0; border-bottom:1px solid #353537; color:#aaa; }
.footer-nav a:hover { color:#fff; }
.footer-nav small { color:#626264; font-size:8px; }
.footer-nav span { font-size:12px; }
.footer-contact { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; padding-top:18px; border-top:1px solid #353537; color:#6f6f71; font-size:10px; letter-spacing:.1em; }
.site-footer .footer-contact a { padding:0; border:0; color:#a2a2a2; }

html,body,#app { -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; }
img { -webkit-user-drag:none; user-drag:none; }
@media print {
  body > * { display:none !important; }
  body::after { content:"本作品集仅供在线浏览，未经作者许可不得复制、保存或传播。"; display:block; padding:12vh 8vw; color:#111; background:#fff; font-size:22px; line-height:1.8; }
}

@media (max-width:980px) {
  .works-poster { grid-template-columns:1fr; }
  .works-poster figure { min-height:68vh; }
  .works-poster-copy { position:absolute; inset:auto 0 0; background:linear-gradient(transparent,rgba(0,0,0,.9)); }
  .works-selector { grid-template-columns:1fr; gap:5vh; }
  .category-cover-spatial,.category-cover-package,.category-cover-logo { grid-template-columns:1fr 1fr; }
  .detail-gallery { padding-left:10vw; padding-right:10vw; }
  .site-footer { grid-template-columns:80px 1fr; }
  .footer-nav { grid-column:1/-1; display:grid; grid-template-columns:repeat(5,1fr); }
  .footer-nav a,.site-footer .footer-nav a { grid-template-columns:1fr; gap:3px; padding:12px 6px; text-align:center; border-right:1px solid #353537; }
}
@media (max-width:680px) {
  .works-poster { min-height:calc(100svh - var(--header-h)); }
  .works-poster figure { min-height:calc(100svh - var(--header-h)); }
  .works-poster-copy { padding:8vh 22px 6vh; }
  .works-poster-copy h1 { font-size:54px; }
  .works-selector { padding:7vh 22px 9vh; }
  .category-row { min-height:67px; grid-template-columns:28px 1fr 50px 20px; gap:8px; }
  .category-row span { display:none; }
  .category-row strong { font-size:24px; }
  .category-row b { font-size:8px; letter-spacing:.04em; }
  .category-cover,.category-cover-events .category-cover-copy,.category-cover-brand .category-cover-copy { min-height:62vh; }
  .category-cover-events .category-cover-copy,.category-cover-brand .category-cover-copy { width:100%; padding:6vh 22px; }
  .category-cover-events figure::after { background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.05) 75%); }
  .category-cover-spatial,.category-cover-package,.category-cover-logo { display:block; }
  .category-cover-spatial figure,.category-cover-package figure,.category-cover-logo figure { position:absolute; inset:0; min-height:0; border:0; }
  .category-cover-spatial figure::after,.category-cover-package figure::after { background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.05) 72%); }
  .category-cover-package figure::after { background:linear-gradient(0deg,rgba(204,202,196,.98),rgba(204,202,196,.04) 76%); }
  .category-cover-logo figure { inset:0 0 38%; }
  .category-cover-spatial .category-cover-copy,.category-cover-package .category-cover-copy,.category-cover-logo .category-cover-copy { position:absolute; inset:auto 0 0; padding:5vh 22px; }
  .category-cover-spatial .category-cover-copy { color:#fff; }
  .category-cover-logo .category-cover-copy { background:#f0f0ec; }
  .category-cover-copy h1 { font-size:58px; }
  .category-cover-copy > span { font-size:12px; }
  .category-lead { align-items:flex-start; flex-direction:column; padding:16px 22px; }
  .project-grid { padding-left:22px; padding-right:22px; }
  .project-card,.project-card:nth-child(3n+1),.project-card:nth-child(3n+2) { margin-bottom:0; }
  .project-card-media::before { top:8px; right:8px; }
  .detail-gallery { padding-left:28px; padding-right:28px; gap:12px; }
  .project-logo-xujian .detail-gallery { padding-left:18px; padding-right:18px; }
  .site-footer { min-height:auto; grid-template-columns:1fr; gap:5vh; padding:6vh 22px 4vh; }
  .footer-brand { flex-direction:row; align-items:center; }
  .footer-closing h2,.site-footer .footer-closing h2 { font-size:43px; }
  .footer-nav { grid-column:1; grid-template-columns:1fr; }
  .footer-nav a,.site-footer .footer-nav a { grid-template-columns:28px 1fr; text-align:left; border-right:0; }
  .footer-contact { flex-direction:column; align-items:flex-start; gap:10px; }
}

/* 2026-09 final art direction: independent editorial posters, quieter navigation. */
.works-poster {
  display:block;
  min-height:calc(100svh - var(--header-h));
  background:#08090b;
}
.works-poster figure {
  position:absolute;
  inset:0;
  min-height:0;
}
.works-poster figure::after {
  background:linear-gradient(90deg,rgba(5,6,8,.88) 0%,rgba(5,6,8,.62) 34%,rgba(5,6,8,.08) 72%);
}
.works-poster img { object-position:center; filter:saturate(.82) contrast(1.07); }
.works-poster-copy {
  position:absolute;
  left:0;
  bottom:0;
  width:min(720px,68vw);
  padding:9vh 5.4vw 10vh;
}
.works-poster-copy h1 { font-size:clamp(58px,7vw,118px); line-height:.9; }
.works-poster-copy h1 em { color:#8e9399; }
.works-poster-copy span { max-width:470px; color:#b8b9b7; }
.works-poster > b { top:5vh; right:5.4vw; color:#b2b5ba; }
.works-selector { padding:10vh 8vw 12vh; grid-template-columns:minmax(230px,.58fr) minmax(0,1.42fr); gap:9vw; }
.category-row { min-height:72px; grid-template-columns:34px minmax(120px,.9fr) minmax(140px,.8fr) 72px 24px; }
.category-row strong { font-size:clamp(22px,1.8vw,30px); }

.category-cover {
  min-height:72vh;
  display:block;
  color:#fff;
  background:#0c0d0f;
}
.category-cover figure {
  position:absolute;
  inset:0;
  min-height:0;
  border:0;
  background:#0c0d0f;
}
.category-cover img { width:100%; height:100%; object-fit:cover; }
.category-cover figure::after { inset:0; }
.category-cover-copy {
  position:absolute;
  z-index:3;
  width:min(610px,48vw);
  padding:7vh 5.4vw;
}
.category-cover-copy h1 { font-size:clamp(66px,8vw,132px); line-height:.88; }
.category-cover-copy > p,.category-cover-copy > span,.category-cover-copy small { color:#c5c5c2; }
.category-cover-copy > div { margin-top:4vh; }

.category-cover-events figure::after { background:linear-gradient(90deg,rgba(2,4,10,.88),rgba(2,4,10,.3) 48%,rgba(2,4,10,.05)); }
.category-cover-events img { object-position:center 58%; filter:saturate(.9) contrast(1.08); }
.category-cover-events .category-cover-copy { left:0; bottom:0; width:min(650px,52vw); padding:8vh 5.4vw; }

.category-cover-spatial figure::after { background:linear-gradient(0deg,rgba(4,5,7,.9),rgba(4,5,7,.05) 58%); }
.category-cover-spatial img { object-position:center; filter:saturate(.76) contrast(1.08); }
.category-cover-spatial .category-cover-copy { left:5.4vw; right:5.4vw; bottom:5vh; width:auto; padding:0; display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:5vw; }
.category-cover-spatial .category-cover-copy h1 { grid-column:1; }
.category-cover-spatial .category-cover-copy > span { grid-column:2; grid-row:2; margin:0 0 .5vh; }
.category-cover-spatial .category-cover-copy > div { grid-column:2; grid-row:1; justify-self:end; margin:0; }

.category-cover-brand { color:#111; }
.category-cover-brand figure { inset:0; background:#d8d9db; }
.category-cover-brand figure::after { background:linear-gradient(90deg,rgba(229,230,231,.98),rgba(229,230,231,.68) 42%,rgba(229,230,231,.02) 75%); }
.category-cover-brand img { object-fit:cover; object-position:center; }
.category-cover-brand .category-cover-copy { left:0; top:50%; width:min(640px,48vw); min-height:0; padding:0 5.4vw; transform:translateY(-50%); }
.category-cover-brand .category-cover-copy > p,.category-cover-brand .category-cover-copy > span,.category-cover-brand .category-cover-copy small { color:#55585a; }

.category-cover-package { color:#111; }
.category-cover-package figure { inset:0; min-height:0; background:#c9c7c1; }
.category-cover-package figure::after { background:linear-gradient(90deg,rgba(210,209,204,.96),rgba(210,209,204,.64) 42%,rgba(210,209,204,.04) 72%); }
.category-cover-package img { object-fit:cover; object-position:center; }
.category-cover-package .category-cover-copy { left:0; top:50%; width:min(650px,49vw); padding:0 5.4vw; transform:translateY(-50%); }
.category-cover-package .category-cover-copy > p,.category-cover-package .category-cover-copy > span,.category-cover-package .category-cover-copy small { color:#5f5f5b; }

.category-cover-logo { color:#111; }
.category-cover-logo figure { inset:0; min-height:0; border:0; background:#f0f0ed; }
.category-cover-logo figure::after { inset:0; border:0; background:linear-gradient(90deg,rgba(247,247,244,.9),rgba(247,247,244,.55) 42%,rgba(247,247,244,0) 76%); }
.category-cover-logo img { width:100%; height:100%; object-fit:cover; object-position:center; }
.category-cover-logo .category-cover-copy { left:0; bottom:0; width:min(670px,52vw); padding:7vh 5.4vw; }
.category-cover-logo .category-cover-copy > p,.category-cover-logo .category-cover-copy > span,.category-cover-logo .category-cover-copy small { color:#555653; }

.category-lead { padding:18px 5.4vw; }
.project-grid { padding-left:5.4vw; padding-right:5.4vw; padding-bottom:10vw; column-gap:2.2vw; }
.project-card-meta { padding-top:11px; }

.site-footer {
  min-height:44vh;
  padding:6vh 5.4vw 4vh;
  grid-template-columns:92px minmax(0,1fr) minmax(250px,.45fr);
  grid-template-rows:1fr auto;
  gap:5vh 5vw;
}
.footer-note { align-self:center; padding-top:16px; border-top:1px solid #353537; }
.footer-note small { color:#737375; font-size:8px; letter-spacing:.18em; }
.footer-note p { margin:12px 0 0; color:#aaa; font-size:11px; line-height:1.8; }
.footer-contact { grid-column:1/-1; }

@media (max-width:980px) {
  .works-selector { padding-left:6vw; padding-right:6vw; }
  .category-cover-copy { width:min(640px,64vw); }
  .category-cover-spatial .category-cover-copy { display:block; }
  .category-cover-spatial .category-cover-copy > span { margin-top:2vh; }
  .category-cover-spatial .category-cover-copy > div { justify-content:flex-start; margin-top:3vh; }
  .site-footer { grid-template-columns:72px 1fr; }
  .footer-note { grid-column:1/-1; }
}

@media (max-width:680px) {
  .works-poster-copy { width:100%; padding:8vh 22px 7vh; background:linear-gradient(0deg,rgba(4,5,7,.94),rgba(4,5,7,.08)); }
  .works-poster-copy h1 { font-size:52px; }
  .works-poster img { object-position:63% center; }
  .works-selector { padding:7vh 22px 9vh; }
  .category-row { min-height:64px; }
  .category-cover { min-height:64vh; }
  .category-cover-copy,.category-cover-events .category-cover-copy,.category-cover-brand .category-cover-copy,.category-cover-package .category-cover-copy,.category-cover-logo .category-cover-copy {
    left:0;
    right:0;
    top:auto;
    bottom:0;
    width:100%;
    min-height:0;
    padding:5vh 22px;
    transform:none;
    background:transparent;
    color:#fff;
  }
  .category-cover-events figure::after,.category-cover-spatial figure::after { background:linear-gradient(0deg,rgba(5,6,9,.94),rgba(5,6,9,.12) 70%); }
  .category-cover-brand figure::after,.category-cover-package figure::after,.category-cover-logo figure::after { background:linear-gradient(0deg,rgba(240,240,236,.96),rgba(240,240,236,.18) 72%); }
  .category-cover-brand .category-cover-copy,.category-cover-package .category-cover-copy,.category-cover-logo .category-cover-copy { background:transparent; color:#111; }
  .category-cover-copy h1 { font-size:50px; }
  .category-cover-copy > span { max-width:92%; line-height:1.7; }
  .category-cover-spatial .category-cover-copy { left:0; right:0; bottom:0; padding:6vh 22px; }
  .category-cover-events img { object-position:60% center; }
  .category-cover-brand img { object-position:62% center; }
  .category-cover-package img { object-position:63% center; }
  .category-cover-logo img { object-position:63% center; }
  .category-lead { padding-left:22px; padding-right:22px; }
  .project-grid { padding-left:22px; padding-right:22px; }
  .site-footer { grid-template-columns:1fr; padding-left:22px; padding-right:22px; }
  .footer-note { grid-column:1; }
  .footer-contact a:last-child { margin-top:4px; }
}

/* Unified category art direction and a visible homepage contact point. */
.poster-email {
  width:min(100%,440px);
  margin-top:2.2vh;
  display:grid;
  grid-template-columns:34px 1fr 22px;
  align-items:center;
  gap:12px;
  padding:12px 0;
  border-top:1px solid rgba(255,255,255,.28);
  border-bottom:1px solid rgba(255,255,255,.12);
  color:#ededeb;
}
.poster-email i {
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid #666;
  border-radius:50%;
  color:#d5d5d2;
  font-size:12px;
  font-style:normal;
}
.poster-email span { display:flex; flex-direction:column; gap:3px; }
.poster-email small { color:#777774; font-size:8px; letter-spacing:.2em; }
.poster-email strong { font-size:14px; font-weight:500; letter-spacing:.05em; }
.poster-email b { color:#8d8d89; font-size:18px; font-weight:300; }

.category-cover-events figure::after,
.category-cover-spatial figure::after,
.category-cover-brand figure::after,
.category-cover-package figure::after,
.category-cover-logo figure::after {
  inset:0;
  border:0;
  background:linear-gradient(0deg,rgba(4,5,7,.94) 0%,rgba(4,5,7,.62) 32%,rgba(4,5,7,.08) 72%,rgba(4,5,7,.02) 100%);
}
.category-cover-events .category-cover-copy,
.category-cover-spatial .category-cover-copy,
.category-cover-brand .category-cover-copy,
.category-cover-package .category-cover-copy,
.category-cover-logo .category-cover-copy {
  position:absolute;
  left:5.4vw;
  right:auto;
  top:auto;
  bottom:5.6vh;
  width:min(820px,76vw);
  min-height:0;
  padding:0;
  transform:none;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  gap:0;
  background:transparent;
  color:#fff;
}
.category-cover-copy h1,
.category-cover-spatial .category-cover-copy h1 {
  grid-column:auto;
  white-space:nowrap;
  font-size:clamp(52px,6.3vw,102px);
  line-height:.92;
  letter-spacing:-.07em;
}
.category-cover-events .category-cover-copy > p,
.category-cover-spatial .category-cover-copy > p,
.category-cover-brand .category-cover-copy > p,
.category-cover-package .category-cover-copy > p,
.category-cover-logo .category-cover-copy > p,
.category-cover-events .category-cover-copy > span,
.category-cover-spatial .category-cover-copy > span,
.category-cover-brand .category-cover-copy > span,
.category-cover-package .category-cover-copy > span,
.category-cover-logo .category-cover-copy > span,
.category-cover-events .category-cover-copy small,
.category-cover-spatial .category-cover-copy small,
.category-cover-brand .category-cover-copy small,
.category-cover-package .category-cover-copy small,
.category-cover-logo .category-cover-copy small {
  grid-column:auto;
  grid-row:auto;
  color:#c9c9c6;
}
.category-cover-copy > p { margin:0 0 1.8vh; }
.category-cover-copy > span,
.category-cover-spatial .category-cover-copy > span {
  max-width:520px;
  margin:2.2vh 0 0;
}
.category-cover-copy > div,
.category-cover-spatial .category-cover-copy > div {
  grid-column:auto;
  grid-row:auto;
  justify-self:auto;
  justify-content:flex-start;
  margin:2.6vh 0 0;
}

@media (max-width:680px) {
  .poster-email { width:100%; margin-top:18px; padding:11px 0; }
  .poster-email strong { font-size:13px; }
  .category-cover { min-height:62vh; }
  .category-cover-events .category-cover-copy,
  .category-cover-spatial .category-cover-copy,
  .category-cover-brand .category-cover-copy,
  .category-cover-package .category-cover-copy,
  .category-cover-logo .category-cover-copy {
    left:22px;
    right:22px;
    bottom:4.4vh;
    width:auto;
    padding:0;
    color:#fff;
  }
  .category-cover-copy h1,
  .category-cover-spatial .category-cover-copy h1 {
    white-space:nowrap;
    font-size:clamp(34px,10.5vw,46px);
    letter-spacing:-.07em;
  }
  .category-cover-copy > span,
  .category-cover-spatial .category-cover-copy > span {
    max-width:100%;
    margin-top:14px;
    font-size:11px;
    line-height:1.65;
  }
  .category-cover-copy > div,
  .category-cover-spatial .category-cover-copy > div { margin-top:18px; }
}
