/* KAII ZHOU — 复刻原站布局/间距（基础层；编辑器可覆盖） */
* { margin:0; padding:0; box-sizing:border-box; }
:root { --bg:#fff; --fg:#000; --red:#e8231a; --hover:#EC1616; --ease:cubic-bezier(.22,1,.36,1); }
@font-face { font-family:"Syne"; font-weight:800; src:url("../fonts/Syne-ExtraBold.ttf") format("truetype"); font-display:swap; }
html,body { min-height:100%; }
body {
  background:var(--bg); color:var(--fg);
  font-family:"Syne","Helvetica Neue",Helvetica,Arial,"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  font-weight:400; letter-spacing:.02em; line-height:1.6; -webkit-font-smoothing:antialiased;
}
a { color:inherit; text-decoration:none; }
.placeholder { background:#000; }
img { display:block; }

/* 顶栏 */
.site-header { display:flex; align-items:baseline; justify-content:space-between; padding:46px clamp(30px,5vw,90px) 26px; }
.site-title { font-size:18px; font-weight:800; letter-spacing:.22em; }
.nav { display:flex; gap:clamp(26px,3.2vw,56px); }
.nav a { font-size:13px; font-weight:600; letter-spacing:.14em; transition:opacity .3s var(--ease); }
.nav a:hover { color:var(--hover); }
/* 移动端菜单 */
.nav-toggle { display:none; background:none; border:none; cursor:pointer; padding:6px; }
.nav-toggle span { display:block; width:28px; height:2px; background:#000; margin:5px 0; transition:.3s var(--ease); }
.nav-overlay { position:fixed; inset:0; background:var(--red); z-index:1000; display:none; flex-direction:column; align-items:center; justify-content:center; opacity:0; transition:opacity .4s var(--ease); }
.nav-overlay.open { display:flex; opacity:1; }
.nav-close { position:absolute; top:14px; right:14px; background:none; border:none; padding:12px; line-height:0; cursor:pointer; outline:none; -webkit-tap-highlight-color:transparent; }
.nav-close .nc-icon { display:block; height:34px; width:auto; transition:opacity .25s var(--ease); }
.nav-close .nc-h { position:absolute; top:12px; right:12px; opacity:0; }
.nav-close:hover .nc-n, .nav-close:active .nc-n { opacity:0; }
.nav-close:hover .nc-h, .nav-close:active .nc-h { opacity:1; }
.nav-mobile { display:flex; flex-direction:column; align-items:center; gap:34px; }
.nav-mobile a { font-size:30px; font-weight:700; letter-spacing:.05em; color:#000; transition:opacity .3s var(--ease); }
.nav-mobile a:hover { color:var(--hover); }
.nav-overlay .nav-mobile a:hover, .nav-overlay .nav-mobile a:active { color:#fff; }

.page { max-width:1100px; margin:0 auto; padding:20px clamp(22px,6vw,96px) 90px; }

/* 进入页 */
body[data-page="enter"] .enter-host { min-height:100vh; }
.enter-screen { min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.enter-title { --tw:6.2em; font-weight:800; }              /* 两行同宽两端对齐，保证等长 */
.enter-row { display:flex; justify-content:center; gap:.42em; margin:0 auto; font-size:clamp(34px,5.4vw,72px); line-height:1.0; }
.enter-title .enter-row:nth-child(1) { font-size:28px; gap:.7em; }
.enter-title .enter-row:nth-child(2) { font-size:24px; gap:.4em; }
.enter-row span { display:inline-block; }
.enter-row + .enter-row { margin-top:-.02em; }
.enter-screen .enter-link { margin-top:48px; font-size:15px; font-weight:600; letter-spacing:.3em; transition:opacity .3s var(--ease); }
.enter-screen .enter-link:hover { color:var(--hover); }

/* Projects = 竖向幻灯片：图片→标题→ENTER→圆点；拖拽跟手 */
body[data-page="projects"] .page { max-width:none; padding:0; }
.slideshow { display:flex; flex-direction:column; align-items:center; justify-content:center; height:calc(100vh - 96px); min-height:520px; position:relative; }
.ss-track { width:100%; display:flex; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.ss-track::-webkit-scrollbar { display:none; }

.slide { flex:0 0 100%; width:100%; height:100%; display:flex; align-items:center; justify-content:center; scroll-snap-align:center; scroll-snap-stop:always; }
.slide.active { opacity:1; }
.slide-art { width:100%; height:100%; display:flex; align-items:center; justify-content:center; padding:clamp(14px,3vw,40px); }
.slide.active .slide-art { transform:scale(1); }
.slide-art img, .slide-art video { max-width:min(88vw,1100px); max-height:var(--ih,70vh); width:auto; height:auto; object-fit:contain; display:block; -webkit-user-drag:none; user-select:none; }
.slide-art-embed { display:block; width:min(88vw,1100px); aspect-ratio:3600/1917; max-height:var(--ih,70vh); border:0; background:#fff; }
/* 互動滑動頁護罩：預設接管滑鼠（可翻頁），點擊後讓位給作品，移開/換頁復位 */
.slide-embed-wrap{ position:relative; display:inline-block; }
.embed-guard{ position:absolute; inset:0; width:100%; height:100%; background:transparent; border:0; padding:0; cursor:grab; display:flex; align-items:flex-end; justify-content:center; -webkit-appearance:none; appearance:none; }
.embed-guard span{ margin-bottom:14px; font-family:"SyneXB","Syne","Helvetica Neue",Helvetica,Arial,sans-serif; font-weight:800; font-size:9px; letter-spacing:.24em; color:#9a9a9a; background:rgba(255,255,255,.78); padding:5px 12px; transition:color .3s var(--ease); }
.embed-guard:hover span{ color:var(--hover); }
.embed-guard.off{ display:none; }
.slide-art .slide-art-embed.noninteract{ pointer-events:none; }
.work-cover-embed { display:block; width:100%; aspect-ratio:3600/1917; border:0; background:#fff; }
a.work-cap { display:block; text-decoration:none; color:inherit; }
.slide-art-img.blurup { filter:blur(16px); transition:filter .5s ease; }
.slide-art-img.blurup.loaded { filter:none; }
.slide-art .placeholder { height:80%; width:auto; aspect-ratio:3/4; max-width:80vw; }
.slide-title { flex:none; display:block; text-align:center; font-size:clamp(17px,1.9vw,26px); font-weight:800; letter-spacing:.03em; line-height:1.2; color:inherit; margin-top:clamp(16px,2.4vw,30px); max-width:90vw; }
.slide-title:hover { color:var(--hover); }
.slide-enter { flex:none; display:block; text-align:center; font-size:14px; font-weight:700; letter-spacing:.24em; margin-top:clamp(10px,1.4vw,18px); }
.slide-enter:hover { color:var(--hover); }
.ss-dots { flex:0 0 auto; display:flex; justify-content:center; align-items:center; gap:34px; padding:22px 0 36px; }
.ss-dot { width:8px; height:8px; border-radius:50%; background:transparent; border:1px solid #000; box-sizing:border-box; cursor:pointer; padding:0; transition:background .35s var(--ease), border-color .35s var(--ease), margin .45s cubic-bezier(.16,1,.3,1), transform .45s cubic-bezier(.16,1,.3,1); }
.ss-dot.on { background:#000; }
.ss-dot:hover { border-color:var(--hover); }
.ss-dot.on:hover { background:var(--hover); border-color:var(--hover); }
.ss-prev { left:6px; } .ss-next { right:6px; }

/* Collection / 系列页 */
body[data-page="series"] .page { max-width:none; padding:8px clamp(8px,3vw,60px) 120px; }
.back-link.top { display:inline-block; margin:14px 0 0; font-family:"Erthqake","Helvetica Neue",sans-serif; font-size:16px; font-weight:400; letter-spacing:.06em; transition:opacity .3s var(--ease); }
.back-link:hover { color:var(--hover); }
.series-title { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center; column-gap:.26em; row-gap:.08em; text-align:center; color:var(--red); font-weight:800; font-size:clamp(50px,12.5vw,184px); line-height:.96; letter-spacing:-.012em; margin:30px 0 0; max-width:100%; }
.series-title .wt-div { width:.06em; height:.62em; background:currentColor; display:inline-block; align-self:center; flex:none; }
.wt-seg { display:inline-flex; align-items:center; column-gap:.26em; }
.series-title .wt { white-space:normal; }
.series-desc { text-align:center; font-size:12px; font-weight:500; line-height:1.4; letter-spacing:.18em; margin:24px auto 0; max-width:560px; }
.series-desc, .pageblock-text, .poem-text, .work-desc { text-wrap:pretty; word-break:keep-all; overflow-wrap:break-word; }
.work-grid { display:flex; flex-direction:column; align-items:center; gap:clamp(70px,9vw,150px); margin-top:clamp(60px,7vw,110px); }
.work-cell { display:flex; flex-direction:column; align-items:center; width:100%; }
.work-cover { max-width:min(1200px,96vw); margin:0 auto; overflow:hidden; }
.work-cap { text-align:center; font-size:13px; font-weight:600; letter-spacing:.12em; margin-top:34px; color:#000; }
.work-cover img { max-width:100%; max-height:78vh; width:auto; height:auto; display:block; margin:0 auto; transition:transform .6s var(--ease); }
.work-cell:hover .work-cover img { transform:scale(1.04); }
.work-cover .placeholder { width:min(540px,80vw); aspect-ratio:3/4; max-height:78vh; margin:0 auto; transition:opacity .3s var(--ease); }
.work-cell:hover .work-cover .placeholder { opacity:.6; }

/* Project / 作品详情 */
body[data-page="work"] .page { max-width:1040px; padding-top:28px; }
.work-detail { text-align:center; }
.work-detail h1 { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:clamp(14px,2vw,32px); font-weight:800; font-size:clamp(32px,5.2vw,62px); line-height:1; margin:clamp(36px,5vw,60px) 0 0; }
.work-detail h1 .wt { white-space:nowrap; }
.work-detail h1 .wt-div { width:2px; height:.92em; background:currentColor; display:inline-block; }
.work-meta { display:grid; grid-template-columns:max-content max-content; column-gap:18px; row-gap:11px; justify-content:center; align-items:baseline; margin:clamp(40px,6vw,76px) auto clamp(48px,7.5vw,96px); }
@media (min-width:821px){ .work-meta{ grid-template-columns:1fr 1fr; column-gap:72px; row-gap:18px; justify-content:initial; max-width:920px; } }
.wm-row { display:contents; }
.wm-l { justify-self:end; text-align:right; font-weight:600; font-size:13px; letter-spacing:.03em; }
.wm-v { justify-self:start; text-align:left; font-weight:400; font-size:13px; }
.work-meta .wm-l, .work-meta .wm-v { margin-top:0 !important; margin-bottom:0 !important; }
.work-desc { max-width:600px; margin:0 auto clamp(40px,6vw,72px); font-size:14px; line-height:1.95; }
@media (min-width:821px){ .work-desc{ max-width:580px; line-height:2.05; } }
.wd-p { margin:0 0 .9em; }
.wd-p:last-child { margin-bottom:0; }
.work-desc .wd-p { margin:0 0 .5em; }
.work-desc .wd-p:last-child { margin-bottom:0; }
.work-images { display:flex; flex-direction:column; align-items:center; gap:30px; }
/* 桌面端 作品頁 元素間距（用 padding：不被 theme margin 覆蓋、不會 margin-collapse） */
@media (min-width:821px){
  .work-detail h1 { padding-bottom:64px; }
  .work-meta { padding-top:20px; padding-bottom:26px; }
  .work-desc { padding-top:10px; }
  .work-images { padding-top:56px; }
  .work-embed { padding-top:48px; }
}
.work-images video { width:100%; max-width:min(1680px,95vw); height:auto; display:block; }
.work-embed { width:100%; max-width:min(1500px,95vw); margin:0 auto clamp(48px,7vw,90px); }
.work-embed iframe { display:block; width:100%; aspect-ratio:3600/1917; max-height:84vh; border:0; background:#fff; }
.embed-link-wrap { margin-top:14px; text-align:center; }
.embed-link { font-family:"SyneXB","Syne","Helvetica Neue",Helvetica,Arial,sans-serif; font-weight:800; font-size:13px; letter-spacing:.14em; }
@media (min-width:821px){ .work-images{ gap:clamp(40px,4vw,78px); } }
.work-images img { width:100%; max-width:min(1680px,95vw); height:auto; }
.work-images .placeholder.big { width:100%; max-width:min(1100px,88vw); aspect-ratio:4/5; }
.work-detail .back-link.top { display:block; text-align:left; margin:6px 0 16px; }

/* Index 总图 */
.grid.index-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:20px; }
.index-grid .placeholder { aspect-ratio:1/1; }
.index-grid img { width:100%; height:auto; }

/* Bio / Poems / Contact */
.bio-wrap { max-width:620px; margin:0 auto; text-align:center; }
.bio-wrap .bio-img { margin-bottom:36px; }
.bio-img img { display:block; width:100%; max-width:340px; height:auto; margin:0 auto; }
.bio-wrap .bio-img .placeholder { aspect-ratio:1/1; max-width:420px; margin:0 auto; }
.bio-wrap p { margin-bottom:22px; font-size:16px; line-height:1.9; }
.poems-list { display:flex; flex-direction:column; align-items:center; gap:108px; }
.poem-div { display:block; height:36px; width:auto; margin:0 auto; opacity:.8; }
.poem-wrap { max-width:640px; margin:0 auto; text-align:center; }
/* full-bleed stripe + scroll-driven mask reveal (poem first image) */
body[data-page="poems"] { overflow-x:hidden; }
.poem-wrap .poem-stripe { position:relative; width:100vw; margin:0 0 clamp(40px,6vw,72px) calc(50% - 50vw); height:clamp(240px,44vh,480px); overflow:hidden; clip-path:inset(0); }
.poem-wrap .poem-stripe img { position:fixed; top:0; left:0; display:block; width:100vw; height:100vh; object-fit:cover; object-position:center; }
.poem-text { font-size:13px; line-height:2.55; letter-spacing:.14em; word-break:normal; }
/* 長詩/長文：更寬、稍緊湊；word-break:normal 讓 CJK 按標準規則斷行（keep-all 會造成孤字行） */
.poem-wrap.poem-long { max-width:min(780px,92vw); }
.poem-wrap.poem-long .poem-text { font-size:12px; line-height:2.3; letter-spacing:.1em; }
.poem-source { margin-top:30px; font-size:12px; letter-spacing:.18em; opacity:.62; }
.podcast-link { display:inline-block; margin-top:40px; font-size:13px; font-weight:600; letter-spacing:.2em; }
.contact-wrap { max-width:460px; margin:0 auto; }
.socials { display:flex; justify-content:center; gap:26px; margin-bottom:46px; }
.socials a { font-size:13px; font-weight:600; letter-spacing:.12em; }
.contact-form { display:flex; flex-direction:column; align-items:center; gap:24px; }
.contact-form input, .contact-form textarea { width:340px; max-width:86%; font-family:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif; font-weight:400; font-size:12px; letter-spacing:.04em; text-align:center; border:none; border-bottom:1px solid #bbb; background:transparent; padding:9px 2px; color:#111; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color:#9a9a9a; font-weight:400; }
.contact-form textarea { resize:vertical; min-height:90px; }
.contact-form button { align-self:center; margin-top:14px; font-family:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif; font-size:10px; font-weight:500; letter-spacing:.22em; background:#000; color:#fff; border:none; padding:11px 26px; cursor:pointer; transition:opacity .3s var(--ease); }
.contact-form button:hover { opacity:.7; }

/* 自定义页 */
.page-custom { max-width:680px; margin:0 auto; }
.pageblock-heading { font-size:24px; font-weight:700; letter-spacing:.06em; text-align:center; margin:30px 0 16px; }
.pageblock-text { font-size:15px; line-height:1.9; margin-bottom:20px; }
.pageblock-image { margin:0 auto 24px; }
.pageblock-image img { width:100%; height:auto; }
.pageblock-image .placeholder { aspect-ratio:3/4; }

/* 页脚 */
.site-footer { text-align:center; padding:46px 20px 40px; margin-top:40px; }
.site-footer .footer-socials { display:flex; justify-content:center; gap:44px; font-size:12px; font-weight:600; letter-spacing:.12em; margin-bottom:12px; }
.site-footer .footer-socials a { }
.site-footer .footer-text { font-size:9px; letter-spacing:.14em; opacity:.55; }

/* 响应式 */
@media (max-width:820px){
  .site-header{ display:block; position:relative; padding:56px 20px 14px; }
  .nav{ display:none; }
  .nav-toggle{ display:block; position:absolute; top:20px; right:18px; }
  .ss-dots{ bottom:14px; }
  .work-grid{ gap:80px; }
  .index-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (prefers-reduced-motion: reduce){ *{ transition:none !important; } }

@font-face { font-family:"SyneXB"; src:url("fonts/Syne-ExtraBold.ttf") format("truetype"); font-display:swap; }
.site-title, .series-title, .work-detail h1, .slide-title, .enter-row { font-family:"SyneXB","Syne","Helvetica Neue",Helvetica,Arial,"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif; }

#kaiiToTop{ display:flex; align-items:center; justify-content:center; position:fixed; right:20px; bottom:24px; z-index:40; cursor:pointer; background:none; border:none; border-radius:0; box-shadow:none; outline:none; -webkit-tap-highlight-color:transparent; padding:6px; }
body[data-page="enter"] #siteHeader, body[data-page="enter"] #siteFooter, body[data-page="enter"] .site-header, body[data-page="enter"] .site-footer{ display:none !important; }

@media (max-width:820px){ #kaiiToTop{ display:flex; align-items:center; justify-content:center; position:fixed; right:14px; bottom:18px; z-index:40; cursor:pointer; background:none; border:none; border-radius:0; box-shadow:none; outline:none; -webkit-tap-highlight-color:transparent; } }

/* 菜单字 + 回到顶部三角（先锋极简） */
.nav-toggle{ width:auto; height:auto; }
#kaiiToTop svg{ display:block; width:26px; height:22px; }
#kaiiToTop .kaii-arrowimg{ display:block; width:30px; height:auto; }
@media (max-width:820px){
  .ss-dots{ gap:15px; padding:12px 0 20px; }
  .ss-dots{ padding:8px 0 12px; }
  .site-footer .footer-socials{ font-size:10px; letter-spacing:.24em; flex-direction:column; align-items:center; gap:14px; margin-bottom:14px; }
  #kaiiToTop{ background:none; border:none; box-shadow:none; backdrop-filter:none; width:auto; height:auto; padding:6px; right:10px; bottom:12px; }
}
.ss-dot.hint{ background:rgba(0,0,0,.28); border-color:rgba(0,0,0,.5); }

/* 隐藏滚动条（极简，仍可滚动） */
html,body{ scrollbar-width:none; -ms-overflow-style:none; }
html::-webkit-scrollbar,body::-webkit-scrollbar{ display:none; width:0; height:0; }

/* 自定义菜单图标 + hover */
.nav-toggle{ position:relative; width:28px; height:28px; padding:0; }
.nav-toggle .nt-icon{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:26px; height:auto; transition:opacity .25s var(--ease); }
.nav-toggle .nt-h{ opacity:0; }
.nav-toggle:hover .nt-n,.nav-toggle:active .nt-n{ opacity:0; }
.nav-toggle:hover .nt-h,.nav-toggle:active .nt-h{ opacity:1; }
/* 回到顶部 常态+hover */
#kaiiToTop .kaii-arrowimg{ display:block; width:30px; height:auto; transition:opacity .25s var(--ease); }
#kaiiToTop .arr-h{ position:absolute; top:6px; left:6px; opacity:0; }
#kaiiToTop:hover .arr-n,#kaiiToTop:active .arr-n{ opacity:0; }
#kaiiToTop:hover .arr-h,#kaiiToTop:active .arr-h{ opacity:1; }

/* 手机端 header 居中+菜单左上 / 紧凑滑动区 / footer 贴近 */
@media (max-width:820px){
  .site-header{ display:block; position:relative; text-align:center; padding:22px 18px 12px; }
  .site-header .nav{ display:none; }
  .site-header .site-title{ display:inline-block; left:0 !important; }
  .site-header .nav-toggle{ position:absolute; top:16px; left:14px; right:auto; display:block; }
  .ss-dots{ padding:8px 0 10px; }
}
/* === 终版：菜单动画 + 手机端 header/滑动区/footer === */
.nav-overlay{ display:flex !important; opacity:0; visibility:hidden; transform:scale(1.03); transition:opacity .35s var(--ease), visibility .35s, transform .5s var(--ease); pointer-events:none; }
.nav-overlay.open{ opacity:1; visibility:visible; transform:scale(1); pointer-events:auto; }
.nav-mobile a{ opacity:0; transform:translateY(16px); transition:opacity .45s var(--ease), transform .55s var(--ease), color .3s var(--ease); }
.nav-overlay.open .nav-mobile a{ opacity:1; transform:translateY(0); }
.nav-overlay.open .nav-mobile a:nth-child(1){ transition-delay:.05s; }
.nav-overlay.open .nav-mobile a:nth-child(2){ transition-delay:.11s; }
.nav-overlay.open .nav-mobile a:nth-child(3){ transition-delay:.17s; }
.nav-overlay.open .nav-mobile a:nth-child(4){ transition-delay:.23s; }
.nav-overlay.open .nav-mobile a:nth-child(5){ transition-delay:.29s; }
@media (max-width:820px){
  .site-header{ display:block !important; position:relative; text-align:center; padding:64px 18px 14px !important; }
  .site-header .nav{ display:none !important; }
  .site-header .site-title{ display:inline-block; left:0 !important; }
  .site-header .nav-toggle{ position:absolute !important; top:34px; right:18px; left:auto !important; display:block; }
  body[data-page="projects"] .ss-dots{ padding:10px 0 8px !important; }
}
/* 作品图 全屏缩放查看器 */
.kaii-zoom{ position:fixed; inset:0; background:#fff; z-index:3000; opacity:0; transition:opacity .3s var(--ease); display:flex; align-items:center; justify-content:center; overflow:hidden; touch-action:none; }
.kaii-zoom.show{ opacity:1; }
.kaii-zoom .kz-img{ max-width:100vw; max-height:100vh; will-change:transform; user-select:none; -webkit-user-select:none; -webkit-user-drag:none; }
.kaii-zoom .kz-close{ position:fixed; top:14px; right:14px; border:none; background:none; padding:10px; line-height:0; cursor:pointer; z-index:3; outline:none; -webkit-tap-highlight-color:transparent; }
.kaii-zoom .kzc{ display:block; height:30px; width:auto; transition:opacity .2s var(--ease); }
.kaii-zoom .kzc.hzc{ position:absolute; top:10px; right:10px; opacity:0; }
.kaii-zoom .kz-close:hover .kzc.nzc, .kaii-zoom .kz-close:active .kzc.nzc{ opacity:0; }
.kaii-zoom .kz-close:hover .kzc.hzc, .kaii-zoom .kz-close:active .kzc.hzc{ opacity:1; }
@media (min-width:821px){ .kaii-zoom .kz-close{ top:30px; right:34px; } .kaii-zoom .kzc{ height:46px; } }
.work-images img{ cursor:zoom-in; }
.zoom-hint{ text-align:center; font-family:"SyneXB","Syne","Helvetica Neue",Helvetica,Arial,sans-serif; font-weight:800; font-size:15px; letter-spacing:.1em; color:#aaa; margin-top:16px; }
@media (max-width:820px){ .zoom-hint{ font-size:8px; } }



/* === 手机作品集：图片横滑(46vh)，标题/ENTER/圆点在下方竖排，全自适应 === */
@media (max-width:820px){
  body[data-page="projects"] .slideshow{ height:auto !important; min-height:0 !important; margin-top:2.6vh !important; }
  body[data-page="projects"] .ss-track{ flex:none !important; }
  body[data-page="projects"] .slide-art{ padding:0 14px !important; }
  body[data-page="projects"] .slide-art img{ max-height:100% !important; max-width:94vw !important; object-fit:contain !important; }
  body[data-page="projects"] .slide-title{ margin-top:22px !important; }
  body[data-page="projects"] .slide-enter{ margin-top:12px !important; }
  body[data-page="projects"] .ss-dots{ margin-top:18px !important; }
  .site-footer{ margin-top:6px !important; margin-bottom:0 !important; padding:6px 20px 92px !important; }
}
/* 页面过渡动画 */
@keyframes kaiiPageIn{ from{ opacity:0; } to{ opacity:1; } }
body{ animation:kaiiPageIn .5s ease both; }
body.kaii-leaving{ animation:none !important; opacity:0; transition:opacity .42s ease; }

.form-thanks{ text-align:center; font-family:SyneXB,"Helvetica Neue",Helvetica,Arial,"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif; font-weight:400; font-size:12px; letter-spacing:.04em; color:#111; padding:30px 0; }
/* ===== Archive (grouped, avant-garde) ===== */
.arch-wrap{ max-width:1180px; margin:0 auto; padding-top:8px; }
.arch-block{ margin:0 0 118px; }
.arch-block:last-child{ margin-bottom:48px; }
.arch-head{ display:flex; align-items:baseline; justify-content:space-between; gap:28px; border-bottom:1px solid rgba(0,0,0,.13); padding-bottom:17px; margin-bottom:44px; }
.arch-title{ font-family:"SyneXB","Syne",sans-serif; font-weight:800; text-transform:uppercase; letter-spacing:.17em; font-size:13px; line-height:1.45; color:#0a0a0a; }
.arch-count{ font-family:"SyneXB","Syne",sans-serif; font-weight:800; font-size:11px; letter-spacing:.14em; color:#b8b8b8; white-space:nowrap; }
.arch-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.arch-cell{ position:relative; padding:0; margin:0; border:0; background:#f3f3f3; cursor:zoom-in; overflow:hidden; aspect-ratio:1/1; display:block; width:100%; -webkit-appearance:none; appearance:none; }
.arch-cell img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s var(--ease); }
.arch-cell:hover img{ transform:scale(1.05); }
/* 編目式：每件作品一行（左 編號/標題/日期，右 該作品圖組） */
.arch-work{ display:grid; grid-template-columns:clamp(150px,18vw,220px) 1fr; column-gap:clamp(28px,4vw,56px); align-items:start; margin:0 0 56px; }
.arch-work:last-child{ margin-bottom:0; }
.aw-cap{ position:static; text-align:left; }
.aw-idx{ display:block; font-family:"SyneXB","Syne",sans-serif; font-weight:800; font-size:11px; letter-spacing:.16em; color:#c2c2c2; margin-bottom:11px; }
.aw-t{ display:block; font-size:12px; letter-spacing:.05em; line-height:1.65; color:#141414; }
.aw-d{ display:block; font-size:8px; letter-spacing:.11em; text-transform:uppercase; color:#a6a6a6; margin-top:9px; }
.aw-imgs{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
@media (max-width:820px){
  .arch-block{ margin-bottom:74px; }
  .arch-work{ display:block; margin-bottom:44px; }
  .aw-cap{ position:static; display:flex; align-items:baseline; gap:11px; flex-wrap:wrap; margin-bottom:13px; }
  .aw-idx{ margin-bottom:0; }
  .aw-d{ margin-top:0; }
  .aw-imgs{ grid-template-columns:repeat(3,1fr); gap:8px; }
}
@keyframes archIn{ from{ opacity:0; transform:translateX(-14px); } to{ opacity:1; transform:none; } }
/* Archive 左側系列導航（桌面寬螢幕才顯示） */
.arch-rail{ display:none; }
@media (min-width:1340px){
  .arch-rail{ position:fixed; left:clamp(40px,4.5vw,90px); top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:24px; max-width:220px; z-index:20; }
  .arch-rail a{ position:relative; font-family:"SyneXB","Syne","Helvetica Neue",Helvetica,Arial,"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif; font-weight:800; font-size:9px; letter-spacing:.16em; text-transform:uppercase; line-height:1.6; color:#c9c9c9; text-decoration:none; padding-left:30px; opacity:0; animation:archIn .6s var(--ease) both; transition:color .4s var(--ease), font-size .4s var(--ease), padding-left .4s var(--ease), letter-spacing .4s var(--ease); }
  .arch-rail a::before{ content:""; position:absolute; left:0; top:.8em; height:1px; width:14px; background:currentColor; transition:width .4s var(--ease); }
  .arch-rail a:hover{ color:var(--hover); }
  .arch-rail a.on{ color:#000; font-size:11.5px; letter-spacing:.18em; padding-left:56px; }
  .arch-rail a.on::before{ width:42px; }
  body[data-page="gallery"] .page{ max-width:1020px; margin:0 clamp(56px,9vw,160px) 0 auto; }
}
