/* ============================================================
   金像馆官网 · 极简黑白（克制版）
   纯白纸 / 墨黑字 / 只用灰阶；宋体大标题；留白优先
   ============================================================ */
:root{
  --paper:#F8F5F1;
  --paper-2:#F0EBE3;
  --ink:#1A1A1A;
  --ink-2:#3A362F;
  --muted:#7E7E7E;
  --line:#E4DCD0;
  --line-2:#CFC5B6;
  --max:1080px;
  --serif:"Songti SC","STSong","Noto Serif SC",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-size:16px; line-height:1.9;
  -webkit-font-smoothing:antialiased; letter-spacing:.015em;
}
a{color:inherit; text-decoration:none}
a:hover{text-decoration:none}
img{max-width:100%; display:block}
.wrap{max-width:var(--max); margin:0 auto; padding:0 40px}

/* ---------- header ---------- */
header{
  position:sticky; top:0; z-index:20;
  background:rgba(248,245,241,.9); backdrop-filter:saturate(140%) blur(14px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex; align-items:center; justify-content:space-between; height:88px; gap:20px}
/* 品牌锁定组合（《超级手册》6.2.1）：
   中文「金像馆」宋体 0.30em 在上；英文 JINXIANG GUAN 黑体 0.34em 在下，
   字号 = 中文 40%，上下结构，行距 1.1；只用墨黑，不加描边/投影/渐变 */
.logo{display:inline-flex; flex-direction:column; justify-content:center; line-height:1.1; color:var(--ink)}
.logo-cn{font-family:var(--serif); font-size:22px; font-weight:400; letter-spacing:.30em; white-space:nowrap}
.logo-en{font-family:var(--sans); font-size:8.8px; font-weight:400; letter-spacing:.34em; margin-top:2px; white-space:nowrap}
.nav ul{display:flex; gap:44px; list-style:none; margin:0; padding:0}
.nav ul a{
  font-size:12.5px; letter-spacing:.2em; color:var(--muted);
  padding:6px 0; position:relative; transition:color .3s;
}
.nav ul a::after{
  content:""; position:absolute; left:0; right:100%; bottom:0;
  height:1px; background:var(--ink); transition:right .35s ease;
}
.nav ul a:hover::after,.nav ul a.on::after{right:0}
.nav ul a.on,.nav ul a:hover{color:var(--ink)}
.burger{display:none; background:none; border:0; color:var(--ink); cursor:pointer; font-size:20px; padding:6px 4px; line-height:1}

/* ---------- hero ---------- */
/* 只写上下 padding，别用 padding 简写覆盖 .wrap 的左右留白（手机上标题/正文会贴边） */
.hero{padding-top:184px; padding-bottom:148px; position:relative}
.hero::after{
  content:""; position:absolute; left:40px; right:40px; bottom:0;
  height:1px; background:var(--line);
}
.kicker{
  font-size:10.5px; letter-spacing:.42em; color:var(--muted);
  text-transform:uppercase; margin-bottom:52px;
}
.hero h1{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(40px,7.2vw,94px); line-height:1.16; letter-spacing:.01em;
  margin:0 0 44px; max-width:13em; text-wrap:balance;
}
.hero > .wrap > p{
  color:var(--muted); font-size:17px; max-width:34em; margin:0 0 14px;
}
.hero .lead-line{
  font-size:12.5px; letter-spacing:.22em; color:var(--ink-2);
  margin:0 0 34px;
}
.btns{display:flex; align-items:center; gap:40px; margin-top:64px; flex-wrap:wrap}

/* ---------- button / text link ---------- */
.btn{
  display:inline-block; padding:17px 40px; font-size:11.5px; letter-spacing:.24em;
  border:1px solid var(--ink); color:var(--ink); border-radius:0;
  transition:background .35s,color .35s;
}
.btn:hover{background:var(--ink); color:var(--paper); text-decoration:none}
.btn.solid{background:var(--ink); color:var(--paper)}
.btn.solid:hover{background:var(--paper); color:var(--ink)}
.link{
  font-size:11.5px; letter-spacing:.24em; padding-bottom:6px;
  border-bottom:1px solid var(--line-2); transition:border-color .3s;
}
.link:hover{border-color:var(--ink)}

/* ---------- section ---------- */
section{padding:128px 0; border-top:1px solid var(--line)}
h2{
  font-family:var(--serif); font-weight:400; font-size:clamp(28px,3.8vw,44px);
  letter-spacing:.015em; line-height:1.3; margin:0 0 18px;
}
.lead{color:var(--muted); font-size:14.5px; margin:0 0 76px; max-width:36em}

/* ---------- 首屏下方一行元信息 ---------- */
.meta-line{
  margin-top:96px; padding-top:26px; border-top:1px solid var(--line);
  font-size:11.5px; letter-spacing:.16em; color:var(--muted);
}
.meta-line span{margin-right:28px; white-space:nowrap}
.meta-line span + span::before{content:"·"; margin-right:28px; color:var(--line-2)}

/* ---------- works grid ---------- */
.grid{display:grid; grid-template-columns:repeat(3,1fr); gap:104px 56px}
.grid > *:nth-child(3n+2){transform:translateY(52px)}
.card{background:none; border:0}
.card .ph{
  aspect-ratio:4/5; background:var(--paper-2);
  display:flex; align-items:center; justify-content:center;
  overflow:hidden; position:relative;
}
.card .ph::after{content:""; position:absolute; inset:0; border:1px solid var(--line); pointer-events:none}
.card .ph span{color:#A79F92; font-size:10.5px; letter-spacing:.3em}
.card .bd{padding:28px 0 0}
.card h3{
  font-family:var(--serif); font-weight:400; font-size:21px;
  margin:0 0 12px; letter-spacing:.03em;
}
.card .meta{color:var(--muted); font-size:11.5px; line-height:2.2; letter-spacing:.08em}
.card .tag{
  display:block; font-size:10.5px; letter-spacing:.24em; color:var(--ink-2);
  margin-top:16px;
}
.card .more{
  display:inline-block; margin-top:26px; font-size:11px; letter-spacing:.2em;
  border-bottom:1px solid var(--line-2); padding-bottom:5px; color:var(--ink);
  transition:border-color .3s;
}
.card .more:hover{border-color:var(--ink)}
.card .ph img{transition:transform 1.4s cubic-bezier(.2,.7,.3,1)}
.card:hover .ph img{transform:scale(1.03)}

/* ---------- prose ---------- */
.prose{max-width:660px}
.prose p{color:var(--ink-2); font-size:16.5px; margin:0 0 26px}
.prose h2{
  font-size:24px; margin:104px 0 24px; padding-top:36px;
  border-top:1px solid var(--line);
}
.prose ul{color:var(--ink-2); padding-left:0; list-style:none; margin:0 0 30px}
.prose li{
  padding:16px 0 16px 24px; border-bottom:1px solid var(--line);
  position:relative; font-size:15px; letter-spacing:.02em;
}
.prose li::before{
  content:""; position:absolute; left:0; top:26px;
  width:8px; height:1px; background:var(--ink);
}
.prose blockquote{
  margin:80px 0; padding:0 0 0 36px; border-left:1px solid var(--ink);
  font-family:var(--serif); font-size:clamp(22px,2.4vw,30px); line-height:1.7;
  color:var(--ink); letter-spacing:.04em;
}
.artists{
  font-family:var(--serif); font-size:19px !important; letter-spacing:.12em;
  line-height:2.3; color:var(--ink) !important;
}

/* ---------- split（关于/联系） ---------- */
.split{display:grid; grid-template-columns:1.5fr .8fr; gap:120px; align-items:start}
.side{position:sticky; top:132px}
.side-img{aspect-ratio:3/4; background:var(--paper-2); display:flex; align-items:center; justify-content:center; position:relative}
.side-img::after{content:""; position:absolute; inset:0; border:1px solid var(--line)}
.side-img span{color:#A79F92; font-size:10.5px; letter-spacing:.3em}
.facts{margin:36px 0 0; padding:0}
.facts > div{display:flex; justify-content:space-between; gap:16px; padding:16px 0; border-bottom:1px solid var(--line)}
.facts dt{color:var(--muted); font-size:10.5px; letter-spacing:.2em}
.facts dd{margin:0; font-size:12.5px; letter-spacing:.04em}
.side-note{margin:30px 0 0; font-size:11.5px; color:var(--muted); line-height:2.1; padding-top:24px; border-top:1px solid var(--line)}

/* ---------- form ---------- */
form{max-width:520px; margin-top:0}
label{display:block; font-size:10.5px; letter-spacing:.24em; color:var(--muted); margin:46px 0 8px}
input,textarea,select{
  width:100%; background:transparent; border:0; border-bottom:1px solid var(--line-2);
  color:var(--ink); padding:12px 0 14px; font:inherit; font-size:16px;
  border-radius:0; transition:border-color .3s;
}
select{
  -webkit-appearance:none; appearance:none; border-radius:0;
  background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),
                   linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 12px) 22px,calc(100% - 6px) 22px;
  background-size:6px 6px,6px 6px; background-repeat:no-repeat;
}
input:focus,textarea:focus,select:focus{outline:none; border-color:var(--ink)}
input::placeholder,textarea::placeholder{color:#B9B9B9}
.consent{display:flex; gap:12px; align-items:flex-start; margin:46px 0 0; font-size:12px; color:var(--muted); line-height:1.9}
.consent input{width:15px; height:15px; margin:4px 0 0; flex:0 0 auto; accent-color:var(--ink)}
.consent label{margin:0; font-size:12px; letter-spacing:0; color:var(--muted); line-height:1.9}
button.submit{
  margin-top:52px; padding:17px 48px; background:var(--ink); color:var(--paper);
  border:1px solid var(--ink); font:inherit; font-size:11.5px; letter-spacing:.24em;
  cursor:pointer; transition:background .35s,color .35s;
}
button.submit:hover{background:var(--paper); color:var(--ink)}
.msg{font-size:12px; margin-top:22px; min-height:18px; letter-spacing:.04em}
.contact-grid{display:grid; grid-template-columns:1.15fr .8fr; gap:120px; align-items:start}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line); padding:88px 0 96px; color:var(--muted); font-size:12.5px}
footer .row{display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap}
footer strong{font-family:var(--serif); font-weight:400; font-size:18px; letter-spacing:.2em; color:var(--ink)}
footer .legal{
  margin-top:56px; padding-top:28px; border-top:1px solid var(--line);
  font-size:11px; color:#9C9487; line-height:2.3; letter-spacing:.03em;
}
footer .legal a{color:#9C9487; text-decoration:underline; text-underline-offset:4px}

/* ---------- 滚动出现 ---------- */
@keyframes rise{from{opacity:0; transform:translateY(18px)} to{opacity:1; transform:none}}
.reveal{animation:rise .9s cubic-bezier(.2,.7,.3,1) both}
.grid > .reveal:nth-child(2){animation-delay:.08s}
.grid > .reveal:nth-child(3){animation-delay:.16s}
@media (prefers-reduced-motion:reduce){
  .reveal{animation:none}
  html{scroll-behavior:auto}
}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .grid{grid-template-columns:repeat(2,1fr); gap:80px 32px}
  .grid > *:nth-child(3n+2){transform:none}
  .grid > *:nth-child(2n){transform:translateY(36px)}
  .split,.contact-grid{grid-template-columns:1fr; gap:72px}
  .side{position:static}
  .side-img{aspect-ratio:4/3}
}
@media (max-width:720px){
  .wrap{padding:0 24px}
  .nav{height:72px}
  .nav ul{
    display:none; position:absolute; top:72px; left:0; right:0;
    background:var(--paper); border-bottom:1px solid var(--line);
    flex-direction:column; gap:0; padding:6px 24px 20px;
  }
  .nav ul.open{display:flex}
  .nav ul li{border-bottom:1px solid var(--line)}
  .nav ul a{display:block; padding:18px 0; font-size:14px}
  .nav ul a::after{display:none}
  .burger{display:block}
  .hero{padding-top:104px; padding-bottom:88px}
  .hero::after{left:24px; right:24px}
  .kicker{margin-bottom:36px}
  .btns{gap:24px; margin-top:48px}
  section{padding:88px 0}
  .lead{margin-bottom:56px}
  .meta-line{margin-top:64px}
  .meta-line span{display:block; margin:0 0 8px}
  .meta-line span + span::before{content:none}
  .grid{grid-template-columns:1fr; gap:64px}
  .grid > *{transform:none !important}
  .prose h2{margin-top:72px}
  .prose blockquote{margin:56px 0}
}

/* ============================================================
   杂志封面式首屏
   ============================================================ */
.cover{padding:0; border-top:0}
.cover-img{
  height:clamp(300px, 54vh, 600px);
  background:
    repeating-linear-gradient(135deg, #F3F3F3 0 2px, #EFEFEF 2px 4px);
  display:flex; align-items:flex-end; justify-content:flex-end;
  padding:0 40px 22px;
  border-bottom:1px solid var(--line);
  position:relative;
}
.cover-img span{font-size:10px; letter-spacing:.34em; color:#9C9C9C}
.cover-img::after{
  content:""; position:absolute; left:40px; top:26px;
  width:38px; height:1px; background:var(--ink);
}
.cover-body{
  max-width:var(--max); margin:-118px auto 0; background:var(--paper);
  padding:64px 40px 0; display:grid; grid-template-columns:62px 1fr; gap:64px;
  position:relative;
}
.vtext{
  writing-mode:vertical-rl; text-orientation:mixed;
  font-size:10.5px; letter-spacing:.44em; color:var(--muted);
  line-height:1.2; max-height:420px; padding-top:6px;
  border-left:1px solid var(--line); padding-left:0;
  justify-self:end;
}
.cover-main{padding-top:6px}
.cover-main h1{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(38px,6.6vw,88px); line-height:1.16; letter-spacing:.01em;
  margin:0 0 40px; max-width:13em; text-wrap:balance;
}
.cover-intro{
  color:var(--muted); font-size:16px; max-width:32em; margin:26px 0 0;
}
.cover .meta-line{margin-top:72px}

@media (max-width:900px){
  .cover-body{grid-template-columns:1fr; gap:32px; margin-top:-80px; padding-top:44px}
  .vtext{
    writing-mode:horizontal-tb; border-left:0; border-top:1px solid var(--line);
    padding:14px 0 0; letter-spacing:.24em; font-size:10.5px; max-height:none;
    justify-self:start;
  }
}
@media (max-width:720px){
  .cover-img{padding:0 24px 18px; height:clamp(240px,38vh,360px)}
  .cover-img::after{left:24px; top:20px}
  .cover-body{margin:-64px auto 0; padding:40px 24px 0}
  .cover-main h1{font-size:clamp(34px,9.4vw,52px)}
  .cover .meta-line{margin-top:52px}
}

/* 封面图上的刊物标记 */
.cover-img{align-items:flex-start; justify-content:space-between}
.cover-img em{
  font-style:normal; font-size:9.5px; letter-spacing:.4em; color:var(--muted);
  padding-top:26px; order:0;
}
.cover-img span{padding-top:26px; order:1; padding-bottom:0}
.cover-img::after{display:none}
.vtext{margin-top:-58px; padding-bottom:0}
@media (max-width:720px){ .vtext{margin-top:0} }

/* 封面细化 */
.cover-img{
  background:var(--paper-2);
  align-items:flex-start;
}
.cover-img em,.cover-img span{padding-top:30px}
.cover-index{
  position:absolute; right:40px; bottom:56px;
  font-size:10px; letter-spacing:.34em; color:var(--muted);
}
.cover-main{position:relative}
@media (max-width:900px){
  .cover-index{position:static; margin-top:32px; right:auto; bottom:auto}
}

/* 右页脊小字 */
.vspine{
  position:absolute; right:40px; top:70px;
  writing-mode:vertical-rl;
  font-size:9.5px; letter-spacing:.42em; color:#B3B3B3;
}
@media (max-width:900px){ .vspine{display:none} }

/* 有图时的首图 */
.cover-img.has-img{background-color:#1A1A1A; background-position:center; background-size:cover; background-repeat:no-repeat}
.cover-img.has-img::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,0) 32%);
}

/* 有图时的封面标记 */
.cover-img.has-img em{color:#fff; opacity:.72; text-shadow:0 1px 6px rgba(0,0,0,.3)}

/* 手机上竖排小字与副标题重复，直接隐藏 */
@media (max-width:900px){
  .vtext{display:none}
  .cover-body{grid-template-columns:1fr; gap:0; padding-top:44px}
}

/* 卡片内事实表（轻量） */
.card .facts{margin:14px 0 0; padding:0; border-top:1px solid var(--line)}
.card .facts > div{display:flex; justify-content:flex-start; gap:14px; padding:7px 0; border-bottom:1px solid var(--line)}
.card .facts dt{color:var(--muted); font-size:10px; letter-spacing:.18em; width:3.2em; flex:0 0 auto; padding-top:2px}
.card .facts dd{margin:0; font-size:11px; color:var(--ink-2); letter-spacing:.02em}

/* 图片铺满容器（显式约束，避免图片按原始像素溢出） */
.card .ph img{width:100%; height:100%; object-fit:cover; object-position:center; display:block}
.side-img img{width:100%; height:100%; object-fit:cover; display:block}

/* ---------- 问答列表 ---------- */
.qlist{display:grid; border-top:1px solid var(--line)}
.qcard{display:grid; grid-template-columns:1fr 1.15fr; gap:48px; align-items:baseline;
  padding:34px 0; border-bottom:1px solid var(--line); text-decoration:none}
.qcard .q{font-family:var(--serif); font-size:22px; letter-spacing:.02em; color:var(--ink)}
.qcard .a{color:var(--muted); font-size:13px; line-height:1.9; letter-spacing:.02em}
.qcard:hover .q{border-bottom:1px solid var(--ink); padding-bottom:2px}
.qlinks{list-style:none; padding:0; margin:0}
.qlinks li{padding:13px 0; border-bottom:1px solid var(--line)}
.qlinks a{font-size:15px; color:var(--ink)}
.qlinks a:hover{color:var(--muted)}

/* ---------- 名录 ---------- */
.roster{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,1fr); gap:0 56px}
.roster li{display:flex; gap:16px; align-items:baseline; padding:11px 0; border-bottom:1px solid var(--line)}
.roster .rn{font-family:var(--serif); font-size:15px; letter-spacing:.06em; width:4.5em; flex:0 0 auto; color:var(--ink)}
.roster .ra{font-size:11px; color:var(--muted); flex:1; letter-spacing:.02em}
.roster .rs{font-size:11px; color:var(--muted); letter-spacing:.02em; text-align:right}
.roster li.empty{opacity:.42}
.roster-note{font-size:11.5px; color:var(--muted); margin-top:20px; letter-spacing:.02em}

@media (max-width:900px){
  .qcard{grid-template-columns:1fr; gap:12px}
  .roster{grid-template-columns:1fr}
}

/* ---------- 首屏轮播 ---------- */
.cover-img{position:relative; overflow:hidden}
.hero-slide{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity 1.6s ease; will-change:opacity;
}
.hero-slide.on{opacity:1}
.cover-img em{z-index:3}
@media (prefers-reduced-motion:reduce){ .hero-slide{transition:none} }

/* ---------- 作品页 · 作者分区 ---------- */
.artist-block{border-top:1px solid var(--line); padding:96px 0}
.artist-block:first-of-type{border-top:0}
.artist-head{margin-bottom:56px; max-width:44em}
.artist-line{font-family:var(--serif); font-size:clamp(19px,2.2vw,26px); line-height:1.6; margin:0 0 14px; color:var(--ink)}
.artist-meta{font-size:11.5px; letter-spacing:.14em; color:var(--muted); margin:0}
.grid-4{grid-template-columns:repeat(4,1fr); gap:64px 32px}
.grid-4 > *:nth-child(3n+2){transform:none}
.grid-4 > *:nth-child(4n+2){transform:translateY(28px)}
@media (max-width:1200px){ .grid-4{grid-template-columns:repeat(3,1fr)} .grid-4 > *{transform:none !important} }
@media (max-width:900px){ .grid-4{grid-template-columns:repeat(2,1fr)} }
@media (max-width:720px){ .grid-4{grid-template-columns:1fr} .artist-block{padding:64px 0} }

/* ---------- 目录式卡片：等高对齐 ---------- */
.grid-4 > *{transform:none !important}
.card{display:flex; flex-direction:column}
.card .bd{display:flex; flex-direction:column; flex:1}
.card .facts{margin-top:auto}
.artist-line br{display:block}

/* 卡片标题占两行高度，保证同一行卡片信息对齐 */
.card h3{min-height:2.7em; line-height:1.35; margin:0 0 12px}

/* COVER 标记在明暗图上都要看得见 */
.cover-img em{
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.55), 0 0 12px rgba(0,0,0,.35), 0 1px 0 rgba(255,255,255,.35);
  opacity:.9;
}

/* ---------- 七位摄影家 · 头像墙 ---------- */
.portraits{border-top:1px solid var(--line)}
.portrait-grid{
  display:grid; grid-template-columns:repeat(7,1fr); gap:26px;
  list-style:none; padding:0; margin:56px 0 0;
}
.portrait-grid li{margin:0}
.portrait-grid img{
  width:100%; aspect-ratio:3/4; object-fit:cover; display:block;
  filter:grayscale(1) contrast(1.02);
  transition:filter .6s ease, transform 1.2s cubic-bezier(.2,.7,.3,1);
}
.portrait-grid li:hover img{filter:none; transform:scale(1.02)}
.portrait-grid .pn{
  display:block; font-family:var(--serif); font-size:15px; letter-spacing:.08em;
  margin-top:14px; color:var(--ink);
}
.portrait-grid em{
  font-style:normal; font-size:10px; letter-spacing:.16em; color:var(--muted);
}
@media (max-width:1100px){ .portrait-grid{grid-template-columns:repeat(4,1fr); gap:22px} }
@media (max-width:720px){ .portrait-grid{grid-template-columns:repeat(2,1fr); gap:18px} }

/* ---------- 作品图：按原比例显示，不裁切 ---------- */
.card .ph{background:#F7F4EE}
.card .ph img{object-fit:contain}

/* ---------- 尺寸档位（S/M/L + 收藏 I–III，两行三列）+ 价格 ---------- */
.sizes{display:flex; flex-wrap:wrap; gap:6px; margin:16px 0 10px}
.sizes .size{
  flex:1 1 calc((100% - 12px) / 3); display:flex; flex-direction:column; align-items:center; gap:2px;
  padding:9px 4px 8px; background:transparent; cursor:pointer;
  border:1px solid var(--line-2); color:var(--muted);
  font:inherit; transition:border-color .25s,color .25s,background .25s;
}
.sizes .size b{font-family:var(--sans); font-size:11px; letter-spacing:.1em; font-weight:500; white-space:nowrap}
.sizes .size span{font-size:10px; letter-spacing:.02em; white-space:nowrap}
.sizes .size:hover{border-color:var(--ink); color:var(--ink)}
.sizes .size.on{background:var(--ink); border-color:var(--ink); color:var(--paper)}
.price{display:flex; align-items:baseline; gap:2px; margin:0 0 4px; color:var(--ink)}
.price em{font-style:normal; font-size:13px; margin-right:1px}
.price strong{font-family:var(--serif); font-size:22px; font-weight:400; letter-spacing:.02em}
.price span{font-size:10.5px; color:var(--muted); margin-left:3px}

/* ============================================================
   摄影家页（照 LUMAS 的呈现方式）
   ============================================================ */
.artist-hero{
  text-align:center; padding:120px 32px 96px;
  border-bottom:1px solid var(--line);
}
.artist-portrait{
  width:clamp(150px,18vw,210px); margin:0 auto 44px;
  aspect-ratio:1/1; border-radius:50%; overflow:hidden;
  background:var(--paper-2);
}
.artist-portrait img{width:100%; height:100%; object-fit:cover; object-position:50% 28%;
  filter:grayscale(1) contrast(1.04); transition:filter .6s}
.artist-hero:hover .artist-portrait img{filter:grayscale(1) contrast(1.04)}
.artist-hero .kicker{margin-bottom:26px}
.artist-hero h1{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(40px,6.6vw,88px); line-height:1.1; letter-spacing:.02em;
  margin:0 0 18px;
}
.artist-en{font-size:11.5px; letter-spacing:.24em; color:var(--muted); margin:0 0 30px}
.artist-tagline{
  font-family:var(--serif); font-size:clamp(18px,2.2vw,26px);
  line-height:1.75; color:var(--ink); margin:0 auto 44px; max-width:26em;
}
.artist-hero .btn{min-width:260px}

.artist-bio{padding:96px 0; border-bottom:1px solid var(--line)}
.artist-bio .wrap{max-width:760px}
.bio-text{
  font-family:var(--serif); font-size:clamp(17px,1.7vw,21px); line-height:2.05;
  color:var(--ink-2); margin:0 0 40px;
}
.artist-quote{
  margin:56px 0; padding:0; border:0;
  font-family:var(--serif); font-size:clamp(20px,2.4vw,28px); line-height:1.8;
  color:var(--ink);
}
.artist-quote cite{display:block; margin-top:18px; font-family:var(--sans);
  font-style:normal; font-size:11.5px; letter-spacing:.18em; color:var(--muted)}
.bio-foot{font-size:11.5px; letter-spacing:.08em; color:var(--muted); margin:0}

.artist-works{padding:96px 0; border-bottom:1px solid var(--line)}
.works-head{display:flex; align-items:baseline; justify-content:space-between; gap:24px;
  flex-wrap:wrap; margin-bottom:56px}
.works-head h2{margin:0}
.works-head p{margin:0; font-size:12px; letter-spacing:.1em; color:var(--muted)}

.artist-cv{padding:96px 0}
.cv{list-style:none; padding:0; margin:40px 0 0; max-width:760px}
.cv li{display:flex; gap:40px; padding:15px 0; border-bottom:1px solid var(--line);
  font-size:14px; color:var(--ink-2)}
.cv .yr{flex:0 0 5em; color:var(--muted); letter-spacing:.08em}

@media (max-width:720px){
  .artist-hero{padding:72px 24px 64px}
  .artist-bio,.artist-works,.artist-cv{padding:64px 0}
  .cv li{gap:20px; font-size:13px}
}

/* ---------- 页脚品牌文字（手册 6.2.1：正文页不放 logo，页脚用文字替代） ---------- */
.foot-brand{display:flex; flex-direction:column; align-items:flex-start; line-height:1.1; margin-bottom:14px}
.foot-cn{font-family:var(--serif); font-size:15px; letter-spacing:.30em; color:var(--ink)}
.foot-en{font-family:var(--sans); font-size:8px; letter-spacing:.34em; color:var(--ink); margin-top:5px}
.foot-tag{font-family:var(--sans); font-size:10.5px; letter-spacing:.06em; color:var(--muted)}
@media (max-width:720px){
  .logo-cn{font-size:18px}
  .logo-en{font-size:7.2px}
}

/* ---------- 相框选择 + 规格行 ---------- */
.frames{display:flex; gap:6px; margin:0 0 12px}
.frames .frame{
  flex:1; padding:7px 4px; cursor:pointer; font:inherit;
  font-size:10.5px; letter-spacing:.14em; color:var(--muted);
  background:transparent; border:1px solid var(--line-2);
  transition:border-color .25s,color .25s,background .25s;
}
.frames .frame:hover{border-color:var(--ink); color:var(--ink)}
.frames .frame.on{background:var(--paper-2); border-color:var(--ink); color:var(--ink)}
.edition{
  display:flex; gap:10px; margin:0 0 12px;
  font-size:10.5px; line-height:1.7; letter-spacing:.02em; color:var(--muted);
}
.edition .ed-label{font-size:9.5px; letter-spacing:.22em; color:var(--muted); padding-top:1px}
.edition .ed-list{display:flex; flex-direction:column; gap:1px}
.edition .ed{transition:color .2s}
.edition .ed.on{color:var(--ink)}
.include{margin:0 0 12px; font-size:9.5px; letter-spacing:.04em; color:var(--muted); line-height:1.6}
.spec{margin:0 0 14px; font-size:10.5px; letter-spacing:.03em; color:var(--muted); line-height:1.6}

/* ---------- 主图可点：空间效果 ---------- */
button.ph{
  display:block; width:100%; padding:0; border:0; background:#F7F4EE;
  cursor:zoom-in; font:inherit; position:relative; overflow:hidden;
}
button.ph .ph-hint{
  position:absolute; right:10px; bottom:10px;
  padding:5px 9px; font-size:9.5px; letter-spacing:.16em;
  color:var(--paper); background:rgba(20,19,15,.62);
  opacity:0; transform:translateY(4px); transition:opacity .3s,transform .3s;
}
button.ph:hover .ph-hint{opacity:1; transform:none}

/* ---------- 灯箱 ---------- */
.lb{
  position:fixed; inset:0; z-index:999;
  display:flex; align-items:center; justify-content:center;
  padding:40px 5vw;
  /* 不透明遮罩：半透明会让下层标题、摄影家名透上来，和灯箱文字叠在一起 */
  background:#12110E;
}
.lb[hidden]{display:none}
.lb-fig{margin:0; max-width:100%; max-height:100%; text-align:center}
.lb-fig img{max-width:100%; max-height:76vh; object-fit:contain; display:block; margin:0 auto}
.lb-fig figcaption{margin-top:22px; color:#E8E1D6; font-size:12px; letter-spacing:.1em}
.lb-fig figcaption strong{font-family:var(--serif); font-weight:400; font-size:17px; letter-spacing:.06em}
.lb-fig figcaption span{display:block; margin-top:8px; color:#A49C8E; font-size:10.5px; letter-spacing:.18em}
.lb-close{
  position:absolute; top:22px; right:26px; width:44px; height:44px;
  background:transparent; border:0; color:#E8E1D6; font-size:30px; line-height:1; cursor:pointer;
}
@media (max-width:720px){
  .lb{padding:16px 16px 24px}
  .lb-fig img{max-height:64vh}
  .lb-fig figcaption{margin-top:16px}
  .lb-fig figcaption strong{font-size:16px}
  .lb-close{top:10px; right:8px; width:48px; height:48px; font-size:26px}
}

/* ============================================================
   v7 改版（2026-10-29）· 画廊式白纸版
   参考 LUMAS / YellowKorner / Artsy 的结构：全幅图、大字号、少描边、
   图片主导的卡片、克制的文字层；保持纯静态、零依赖
   ============================================================ */
:root{
  --paper:#FFFFFF;
  --paper-2:#F4F4F4;
  --ink:#0A0A0A;
  --ink-2:#2E2E2E;
  --muted:#6F6F6F;
  --line:#E7E7E7;
  --line-2:#CFCFCF;
  --max:1440px;
  --edge:24px;
}
body{background:var(--paper); color:var(--ink); font-size:15px; line-height:1.75}
.wrap{max-width:var(--max); padding:0 var(--edge)}
img{-webkit-user-drag:none}

/* ---------- 页头 ---------- */
.site-head{position:sticky; top:0; z-index:60; background:var(--paper); border-bottom:1px solid var(--line)}
.head-in{max-width:var(--max); margin:0 auto; padding:0 var(--edge); height:76px; display:flex; align-items:center; gap:44px}
.brand{display:flex; flex-direction:column; justify-content:center; line-height:1.05; color:var(--ink); flex:0 0 auto}
.brand .cn{font-family:var(--serif); font-size:20px; letter-spacing:.30em; transform:translateX(.02em)}
.brand .en{font-family:var(--sans); font-size:7.6px; letter-spacing:.34em; margin-top:5px}
.head-nav{display:flex; gap:30px; align-items:center}
.head-nav a{font-size:13px; letter-spacing:.06em; color:var(--ink-2); padding:4px 0; position:relative}
.head-nav a:hover, .head-nav a[aria-current="page"]{color:var(--ink)}
.head-nav a[aria-current="page"]:after{content:""; position:absolute; left:0; right:0; bottom:-2px; height:1px; background:var(--ink)}
.head-right{margin-left:auto; display:flex; align-items:center; gap:18px}
.head-cta{font-size:12px; letter-spacing:.06em; border:1px solid var(--ink); padding:9px 18px; color:var(--ink); transition:background .25s,color .25s}
.head-cta:hover{background:var(--ink); color:var(--paper)}
.burger{display:none; width:40px; height:40px; border:0; background:none; font-size:20px; line-height:1; cursor:pointer; color:var(--ink)}
.m-menu{display:none; position:fixed; inset:0; z-index:200; background:var(--paper); padding:88px var(--edge) 40px; overflow:auto}
.m-menu.open{display:block}
.m-menu a{display:block; font-family:var(--serif); font-size:30px; letter-spacing:.04em; padding:14px 0; border-bottom:1px solid var(--line)}
.m-menu .m-close{position:absolute; top:18px; right:16px; width:44px; height:44px; border:0; background:none; font-size:26px; cursor:pointer}
@media (max-width:960px){
  .head-in{height:66px; gap:16px}
  .head-nav,.head-cta{display:none}
  .burger{display:block}
  .brand .cn{font-size:18px}
}

/* ---------- 通用版式 ---------- */
.eyebrow{font-family:var(--sans); font-size:10px; font-weight:400; letter-spacing:.34em; text-transform:uppercase; color:var(--muted); margin:0 0 26px}
.display{font-family:var(--serif); font-weight:400; font-size:clamp(30px,4vw,52px); line-height:1.12; letter-spacing:.005em; margin:0 0 18px}
.display-xl{font-family:var(--serif); font-weight:400; font-size:clamp(34px,5.4vw,76px); line-height:1.06; letter-spacing:0; margin:0 0 24px}
.sub{font-size:15px; line-height:1.9; color:var(--ink-2)}
.muted{color:var(--muted)}
.sec{padding:clamp(64px,9vw,132px) 0}
.sec-line{border-top:1px solid var(--line)}
.narrow{max-width:860px}
.middle{text-align:center; margin-left:auto; margin-right:auto}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; font-size:12.5px; letter-spacing:.1em; padding:14px 26px; border:1px solid var(--ink); color:var(--ink); background:transparent; transition:background .25s,color .25s}
.btn:hover{background:var(--ink); color:var(--paper)}
.btn.solid{background:var(--ink); color:var(--paper)}
.btn.solid:hover{background:#fff; color:var(--ink)}
.btn.light{border-color:#fff; color:#fff}
.btn.light.solid{background:#fff; color:var(--ink); border-color:#fff}
.link{font-size:12.5px; letter-spacing:.06em; border-bottom:1px solid var(--line-2); padding-bottom:2px}
.link:hover{border-color:var(--ink)}

/* ---------- 首页：全幅首屏 ---------- */
.masthead{position:relative; height:calc(100svh - 76px); min-height:540px; max-height:860px; overflow:hidden; background:#161514}
.masthead .slide{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 1.4s ease}
.masthead .slide.on{opacity:1}
.masthead:after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,0) 34%,rgba(0,0,0,.52) 100%)}
.mast-body{position:absolute; z-index:2; left:var(--edge); right:var(--edge); bottom:clamp(36px,6vw,72px); color:#fff; max-width:980px}
.mast-body .eyebrow{color:rgba(255,255,255,.72)}
.mast-body h1{font-family:var(--serif); font-weight:400; font-size:clamp(38px,6.2vw,88px); line-height:1.02; letter-spacing:.01em; margin:0 0 20px; text-shadow:0 1px 30px rgba(0,0,0,.18)}
.mast-body p{color:rgba(255,255,255,.84); font-size:15px; max-width:36em; margin:0 0 30px}
.mast-dots{position:absolute; right:var(--edge); bottom:clamp(36px,6vw,72px); z-index:3; display:flex; gap:8px}
.mast-dots button{width:26px; height:2px; border:0; background:rgba(255,255,255,.35); cursor:pointer}
.mast-dots button.on{background:#fff}
@media (max-width:960px){
  .masthead{height:calc(100svh - 66px); min-height:480px; max-height:none}
  .mast-body{bottom:32px}
  .mast-dots{display:none}
}

/* ---------- 编辑模块 ---------- */
.statement{padding:clamp(72px,11vw,150px) var(--edge); text-align:center}
.statement h2{font-family:var(--serif); font-weight:400; font-size:clamp(28px,4.4vw,62px); line-height:1.14; margin:0 auto 22px; max-width:20em}
.statement p{color:var(--muted); font-size:13px; letter-spacing:.06em}
.tiles{display:grid; grid-template-columns:repeat(4,1fr); gap:6px; padding:0 6px}
.tile{position:relative; display:block; aspect-ratio:3/4; overflow:hidden; background:var(--paper-2)}
.tile img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1s ease}
.tile:hover img{transform:scale(1.04)}
.tile .cap{position:absolute; left:18px; right:18px; bottom:16px; color:#fff; z-index:2; text-shadow:0 1px 16px rgba(0,0,0,.35)}
.tile .cap b{display:block; font-family:var(--serif); font-weight:400; font-size:21px; letter-spacing:.04em}
.tile .cap span{font-family:var(--sans); font-size:9px; letter-spacing:.28em; text-transform:uppercase; opacity:.8}
@media (max-width:900px){ .tiles{grid-template-columns:repeat(2,1fr)} }

.feat{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(28px,5vw,80px); align-items:center}
.feat .pic{position:relative; aspect-ratio:4/5; background:var(--paper-2); overflow:hidden}
.feat .pic img{position:absolute; inset:0; width:100%; height:100%; object-fit:contain}
@media (max-width:860px){ .feat{grid-template-columns:1fr} }

/* ---------- 作品卡（列表/首页通用） ---------- */
.grid-w{display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(22px,2.6vw,48px) clamp(14px,1.8vw,28px)}
@media (max-width:1180px){ .grid-w{grid-template-columns:repeat(3,1fr)} }
@media (max-width:820px){ .grid-w{grid-template-columns:repeat(2,1fr); gap:26px 14px} }
.wcard{display:block; color:var(--ink)}
.wcard .thumb{display:block; position:relative; aspect-ratio:1/1; background:var(--paper-2); overflow:hidden}
.wcard .thumb img.art{position:absolute; inset:0; width:100%; height:100%; object-fit:contain; transition:opacity .6s ease}
.wcard .thumb img.scene{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.01); transition:opacity .6s ease, transform 1.2s ease}
.wcard:hover .thumb img.scene{opacity:1; transform:scale(1)}
.wcard:hover .thumb img.art{opacity:0}
.wcard .thumb .badge{position:absolute; left:0; top:0; z-index:2; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:9px; letter-spacing:.2em; padding:7px 10px}
.wcard .cap{display:block; padding-top:14px}
.wcard .t{display:block; font-family:var(--serif); font-size:16.5px; letter-spacing:.01em; line-height:1.35; margin:0 0 2px}
.wcard .a{display:block; font-size:11.5px; color:var(--muted); letter-spacing:.04em; margin:0}
.wcard .p{display:block; font-size:11.5px; color:var(--muted); margin:8px 0 0}
.wcard .p b{font-family:var(--serif); font-weight:400; font-size:15px; color:var(--ink); letter-spacing:.01em}
@media (max-width:820px){
  .wcard .t{font-size:15px}
  .wcard .thumb .badge{display:none}
}

/* ---------- 作品页：页头 + 筛选 + 栅格 ---------- */
.page-head{padding-top:clamp(40px,5vw,72px); padding-bottom:clamp(24px,3vw,36px)}
.page-head h1{font-family:var(--serif); font-weight:400; font-size:clamp(40px,7vw,92px); line-height:1; letter-spacing:.01em; margin:0 0 18px}
.page-head .lead{max-width:46em}
.filters{position:sticky; top:76px; z-index:50; background:rgba(255,255,255,.96); backdrop-filter:blur(8px); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.filters-in{max-width:var(--max); margin:0 auto; padding:12px var(--edge); display:flex; align-items:center; gap:22px; flex-wrap:wrap}
.fgroup{display:flex; align-items:center; gap:7px; flex-wrap:wrap}
.flabel{font-size:9.5px; letter-spacing:.24em; color:var(--muted); margin-right:2px; text-transform:uppercase}
.chip{flex:0 0 auto; white-space:nowrap; font:inherit; font-size:11.5px; letter-spacing:.04em; padding:6px 12px; border:1px solid var(--line-2); border-radius:999px; background:var(--paper); color:var(--ink-2); cursor:pointer; transition:all .2s}
.chip:hover{border-color:var(--ink)}
.chip.on{background:var(--ink); border-color:var(--ink); color:var(--paper)}
.fcount{margin-left:auto; font-size:11px; letter-spacing:.06em; color:var(--muted); white-space:nowrap}
.grid-wrap{padding-top:clamp(28px,4vw,48px); padding-bottom:clamp(60px,8vw,110px)}
.empty{display:none; padding:80px 0; text-align:center; color:var(--muted); font-size:13px}
@media (max-width:960px){
  .filters{top:66px; overflow:hidden}
  .filters-in{flex-wrap:nowrap; overflow-x:auto; gap:14px; padding:10px 16px; -webkit-overflow-scrolling:touch; scrollbar-width:none}
  .filters-in::-webkit-scrollbar{display:none}
  .fgroup{flex-wrap:nowrap}
  .flabel{display:none}
  .fcount{display:none}
}

/* ---------- 作品详情 ---------- */
.crumb{font-size:11px; letter-spacing:.08em; color:var(--muted); padding:26px 0 0}
.crumb a{border-bottom:1px solid transparent}
.crumb a:hover{border-color:var(--line-2)}
.detail{display:grid; grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr); gap:clamp(32px,5vw,90px); padding-top:24px; padding-bottom:clamp(60px,8vw,110px); align-items:start}
.gallery{position:sticky; top:104px}
.g-main{position:relative; background:var(--paper-2); aspect-ratio:4/5; display:flex; align-items:center; justify-content:center; overflow:hidden}
.g-main img{max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; display:block}
.g-main img.scene{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .5s}
.g-main.show-scene img.art{opacity:0}
.g-main.show-scene img.scene{opacity:1}
.g-thumbs{display:flex; gap:8px; margin-top:10px}
.g-thumbs button{width:84px; aspect-ratio:1; padding:0; border:1px solid var(--line-2); background:var(--paper-2); overflow:hidden; cursor:pointer}
.g-thumbs button.on{border-color:var(--ink)}
.g-thumbs img{width:100%; height:100%; object-fit:cover; display:block}
.d-info .eyebrow{margin-bottom:14px}
.d-info h1{font-family:var(--serif); font-weight:400; font-size:clamp(28px,3.2vw,44px); line-height:1.15; margin:0 0 10px}
.d-artist{font-size:13px; color:var(--muted); margin:0 0 24px}
.d-artist a{color:var(--ink); border-bottom:1px solid var(--line-2)}
.d-price{display:flex; align-items:baseline; gap:8px; margin:0 0 6px}
.d-price small{font-size:11px; letter-spacing:.14em; color:var(--muted)}
.d-price b{font-family:var(--serif); font-weight:400; font-size:32px; letter-spacing:.01em}
.d-edition{font-size:11.5px; color:var(--muted); margin:0 0 28px}
.size-list{border-top:1px solid var(--line); margin:0 0 22px}
.size-row{display:grid; grid-template-columns:64px 1fr auto; gap:14px; align-items:center; width:100%; padding:14px 12px; border:0; border-bottom:1px solid var(--line); background:transparent; font:inherit; color:var(--ink-2); text-align:left; cursor:pointer; transition:background .2s}
.size-row:hover{background:#FAFAFA}
.size-row.on{background:var(--paper-2); color:var(--ink)}
.size-row .code{font-size:10px; letter-spacing:.2em; color:var(--muted); text-transform:uppercase}
.size-row.on .code{color:var(--ink)}
.size-row .spec{font-size:12.5px; letter-spacing:.01em}
.size-row .spec em{font-style:normal; color:var(--muted); font-size:11px; margin-left:6px}
.size-row .pr{font-family:var(--serif); font-size:15px}
.frame-row{display:flex; align-items:center; gap:8px; margin:0 0 24px}
.frame-row .flabel{margin-right:6px}
.fact-list{border-top:1px solid var(--line); margin:0 0 28px}
.fact-list div{display:grid; grid-template-columns:96px 1fr; gap:12px; padding:11px 0; border-bottom:1px solid var(--line); font-size:12px}
.fact-list dt{color:var(--muted); letter-spacing:.06em}
.fact-list dd{margin:0; color:var(--ink-2)}
.d-cta{display:flex; gap:10px; flex-wrap:wrap; align-items:center}
.d-note{font-size:11px; line-height:1.8; color:var(--muted); margin:22px 0 0; max-width:44em}
.related{padding:clamp(48px,7vw,96px) 0; border-top:1px solid var(--line)}
.related h2{font-family:var(--serif); font-weight:400; font-size:clamp(22px,2.6vw,32px); margin:0 0 30px}
@media (max-width:960px){
  .detail{grid-template-columns:1fr; gap:34px; padding-top:18px}
  .gallery{position:static}
  .size-row{padding:13px 8px}
  .g-thumbs button{width:64px}
}

/* ---------- 摄影家页 ---------- */
.a-mast{position:relative; height:clamp(300px,52vh,560px); overflow:hidden; background:#161514}
.a-mast img{width:100%; height:100%; object-fit:cover; opacity:.92}
.a-mast:after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.35))}
.a-id{display:grid; grid-template-columns:132px minmax(0,1fr); gap:clamp(20px,3vw,40px); align-items:start; margin-top:-66px; position:relative; z-index:2}
.a-id > div:last-child{padding-top:84px}
.a-portrait{width:132px; height:132px; border-radius:50%; overflow:hidden; background:var(--paper-2); border:6px solid var(--paper)}
.a-portrait img{width:100%; height:100%; object-fit:cover; filter:grayscale(100%)}
.a-id h1{font-family:var(--serif); font-weight:400; font-size:clamp(32px,4.8vw,66px); line-height:1.02; letter-spacing:.02em; margin:0 0 12px}
.a-meta{font-size:11.5px; letter-spacing:.16em; color:var(--muted); text-transform:uppercase; margin:0 0 16px}
.a-line{font-family:var(--serif); font-size:clamp(17px,2vw,23px); line-height:1.7; color:var(--ink-2); margin:0 0 22px; max-width:34em}
.a-actions{display:flex; gap:10px; flex-wrap:wrap}
.a-bio{padding:clamp(40px,6vw,80px) 0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(24px,5vw,72px)}
.a-bio .bio-text{font-size:15px; line-height:1.95; color:var(--ink-2); margin:0}
.a-quote{font-family:var(--serif); font-size:clamp(18px,2.2vw,26px); line-height:1.7; margin:0; padding:0 0 0 24px; border-left:1px solid var(--ink)}
.a-quote cite{display:block; font-family:var(--sans); font-style:normal; font-size:11px; letter-spacing:.12em; color:var(--muted); margin-top:16px}
.a-tabs{display:flex; gap:26px; border-bottom:1px solid var(--line); padding:0 0 14px; margin:0 0 40px; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted)}
.a-tabs a{color:var(--muted)} .a-tabs a:hover{color:var(--ink)}
.a-cv{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; margin:0; padding:0; list-style:none}
.a-cv li{display:grid; grid-template-columns:64px 1fr; gap:10px; padding:12px 0; border-bottom:1px solid var(--line); font-size:12.5px; color:var(--ink-2)}
.a-cv .yr{color:var(--muted); letter-spacing:.06em}
@media (max-width:860px){
  .a-id{grid-template-columns:1fr; margin-top:-56px}
  .a-portrait{width:104px; height:104px}
  .a-bio{grid-template-columns:1fr}
  .a-cv{grid-template-columns:1fr}
}

/* ---------- 页脚 ---------- */
.site-foot{border-top:1px solid var(--line); padding:clamp(48px,6vw,80px) 0 54px; color:var(--muted); font-size:12px}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; align-items:start}
.foot-brand .cn{font-family:var(--serif); font-size:18px; letter-spacing:.3em; color:var(--ink); display:block}
.foot-brand .en{font-size:8px; letter-spacing:.34em; color:var(--ink); margin-top:6px; display:block}
.foot-brand .tg{font-size:12px; color:var(--muted); margin-top:14px; display:block; max-width:24em; line-height:1.8}
.foot-col b{display:block; font-family:var(--sans); font-size:9.5px; letter-spacing:.24em; color:var(--ink); font-weight:400; margin-bottom:14px; text-transform:uppercase}
.foot-col a{display:block; padding:4px 0; color:var(--muted)}
.foot-col a:hover{color:var(--ink)}
.foot-legal{margin-top:56px; padding-top:22px; border-top:1px solid var(--line); display:flex; gap:18px; flex-wrap:wrap; font-size:10.5px; letter-spacing:.04em; color:#8C8C8C}
.foot-legal a{color:#8C8C8C; border-bottom:1px solid var(--line-2)}
@media (max-width:760px){ .foot-grid{grid-template-columns:1fr 1fr} .foot-brand{grid-column:1/-1} }

/* ---------- v7.1 收敛字号与首屏高度（参考 LUMAS/YellowKorner 实测） ---------- */
.head-in{height:72px}
.masthead{height:calc(100svh - 72px); min-height:520px; max-height:780px}
.mast-body h1{font-size:clamp(36px,4.9vw,66px); line-height:1.06}
.mast-body p{font-size:14.5px}
.page-head h1{font-size:clamp(34px,4.8vw,58px)}
.statement h2{font-size:clamp(25px,3.3vw,46px); max-width:24em}
.display{font-size:clamp(26px,3vw,40px)}
.d-info h1{font-size:clamp(26px,2.5vw,34px)}
.a-mast{height:clamp(260px,44vh,470px)}
.a-id h1{font-size:clamp(30px,4vw,56px)}
.filters{top:72px}
@media (max-width:960px){
  .masthead{height:calc(100svh - 66px); min-height:460px}
  .mast-body h1{font-size:clamp(30px,8vw,40px)}
  .page-head h1{font-size:clamp(30px,8vw,38px)}
  .filters{top:66px}
}

/* ---------- 首页摄影家条 ---------- */
.people{display:grid; grid-template-columns:repeat(7,1fr); gap:12px}
.person{display:block}
.person .ph{display:block; position:relative; aspect-ratio:4/5; background:var(--paper-2); overflow:hidden}
.person .ph img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(100%); transition:filter .6s, transform 1.2s}
.person:hover .ph img{filter:none; transform:scale(1.03)}
.person .nm{display:block; font-family:var(--serif); font-size:14px; letter-spacing:.06em; margin-top:10px}
.person .ct{display:block; font-size:10.5px; color:var(--muted); margin-top:2px}
@media (max-width:960px){
  .people{grid-auto-flow:column; grid-auto-columns:34%; grid-template-columns:none; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:6px}
  .person{scroll-snap-align:start}
}

/* 内页页头（关于/联系/问答）收紧：首页已改用 .masthead */
.hero{padding-top:clamp(64px,7vw,112px); padding-bottom:clamp(36px,4vw,56px)}
.hero h1{font-size:clamp(32px,4.6vw,58px); margin:0 0 18px}
@media (max-width:720px){ .hero{padding-top:48px; padding-bottom:32px} }
