/* 古卷云 · 书卷展陈。仅管理主题视觉，不改变会员权限或阅读器行为。 */
:root {
    --guji-paper: #f5f2e9;
    --guji-paper-deep: #e9e3d5;
    --guji-card: #fcfaf4;
    --guji-ink: #293a36;
    --guji-ink-soft: #58615a;
    --guji-ink-faint: #626459;
    --guji-rule: #d8d2c2;
    --guji-rule-soft: #e5dfd1;
    --guji-cinnabar: #8e352e;
    --guji-jade: #203f3c;
    --guji-jade-deep: #142d2c;
    --guji-gold: #997847;
    --guji-gold-lit: #dec69c;
    --guji-measure: 1320px;
    --guji-radius: 2px;
}
body {
    font-size: 16px;
    background-image: radial-gradient(ellipse at 8% 26%, #a68c5c08, transparent 60%),
        repeating-linear-gradient(0deg, #8c774004 0 1px, transparent 1px 4px);
}
body > header {
    position: relative;
    z-index: 30;
    margin: 0 0 36px;
    background: var(--guji-card);
    border-top: 3px solid var(--guji-cinnabar);
    border-bottom: 1px solid var(--guji-rule);
    overflow: visible;
}
.guji-header-inner {
    display: flex;
    align-items: center;
    gap: 36px;
    max-width: var(--guji-measure);
    margin: 0 auto;
    padding: 0 40px;
    min-height: 88px;
    position: relative;
}
header .site-title {
    position: static;
    flex: 0 0 auto;
    padding: 0;
    margin: 0;
    max-width: 180px;
}
header .site-title img { height: 49px; width: auto; }
header nav#top-nav {
    flex: 1;
    min-width: 0;
    padding: 0;
    margin: 0;
    gap: 12px;
    max-width: none;
    background: none;
}
header nav#top-nav::before, header nav#top-nav::after { display: none; }
header nav ul.navigation { margin: 0; gap: 2px; }
header nav ul.navigation > li > a:link,
header nav ul.navigation > li > a:visited,
header nav ul.navigation > li > .parent-link > a:link,
header nav ul.navigation > li > .parent-link > a:visited {
    padding: 26px 11px 24px;
    margin: 0;
    width: auto;
    font-size: 15px;
    letter-spacing: .035em;
    color: var(--guji-ink);
    white-space: nowrap;
}
header nav ul.navigation > li.active > a,
header nav ul.navigation > li > a[aria-current="page"],
header nav ul.navigation > li.active > .parent-link > a {
    border-bottom-color: var(--guji-cinnabar);
    color: var(--guji-cinnabar);
}
header nav ul.navigation > li > a:hover,
header nav ul.navigation > li > .parent-link > a:hover { color: var(--guji-cinnabar); }
header nav ul.navigation .child-toggle,
header nav ul.navigation > li:hover .child-toggle,
header nav ul.navigation .child-toggle.open { color: var(--guji-ink-soft); width: 28px; min-width: 28px; min-height: 44px; }
header nav ul.navigation > li > .parent-link { width: auto; }
header .site-user { margin-left: auto; gap: 4px; font-size: 13px; }
header .site-user a:link, header .site-user a:visited { border-radius: 2px; padding: 9px 10px; min-height: 40px; }
header .site-user .site-user-link:link, header .site-user .site-user-link:visited { color: var(--guji-ink-soft); }
header .site-user .site-user-link.is-primary:link, header .site-user .site-user-link.is-primary:visited {
    border-color: var(--guji-cinnabar); color: var(--guji-cinnabar); background: transparent;
}
header .site-user .site-user-link:hover { color: var(--guji-cinnabar); background: var(--guji-paper-deep); }
header .site-user .site-user-link.is-primary:hover { background: var(--guji-cinnabar); color: #fff; }

/* ───────────────────────── 页头会员牌（2026-09-05 改版）
 *
 * 从前登录后这一行是四种规格排排坐：浅底名字块、完全裸着的积分、朱砂实心的
 * 购买按钮、纯文字的退出，外加一枚自己带边框又被塞进名字块里的身份签。
 * 语义上是一个账号，视觉上是四个不相干的东西；而最重的色块给了「续费」，
 * 一个次要动作压过了站名与导航。
 *
 * 现在合成一枚牌：身份·昵称·积分同处一个胶囊，等级由底色承载
 * （年卡赭金、月卡青黛、未开通中性），购买是同形的描边胶囊——与牌同族、
 * 不抢戏，退出收成图标。
 *
 * 牌里仍是两个链接（身份段、积分段），只是共用一个外壳，见 layout.phtml。
 */
header .site-user:not(.site-user-guest) { gap: 10px; }

header .site-user .gm-pass { display: inline-flex; align-items: center; border: 1px solid; border-radius: 999px; }
header .site-user .gm-pass.is-yearly  { background: #f4e7c9; border-color: #c7ad78; color: #6b4a18; }
header .site-user .gm-pass.is-monthly { background: #e6ece3; border-color: #aebeb0; color: #2c4a44; }
header .site-user .gm-pass.is-plain   { background: var(--guji-paper-deep); border-color: var(--guji-rule); color: var(--guji-ink-soft); }

/* 牌内两段：撑掉外面那条通用的胶囊按钮规则，改由牌自己给形状 */
header .site-user .gm-pass a:link, header .site-user .gm-pass a:visited {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 7px 9px; min-height: 38px; border-radius: 999px;
    color: inherit; background: none; border: 0;
}
header .site-user .gm-pass a:first-child { padding-left: 14px; }
header .site-user .gm-pass a:last-child { padding-right: 15px; }
header .site-user .gm-pass a:hover { background: #fffdf773; color: inherit; }
header .site-user .gm-pass .guji-icon { width: 15px; height: 15px; }
header .site-user .gm-pass-plan { font-weight: 600; letter-spacing: .04em; }
header .site-user .gm-pass-name { display: inline-flex; align-items: center; gap: 7px; color: var(--guji-ink); }
header .site-user .gm-pass-credits:link, header .site-user .gm-pass-credits:visited { color: var(--guji-ink); }

/* 段与段之间那颗隔点用伪元素画，不写进 HTML——它是装饰，读屏不该念到它 */
header .site-user .gm-pass:not(.is-plain) .gm-pass-name::before,
header .site-user .gm-pass-credits::before {
    content: ''; width: 3px; height: 3px; border-radius: 50%;
    background: currentColor; opacity: .38; flex: none;
}

/* 购买：与牌同形的描边胶囊。刻意不用实心——见上面那段说明 */
header .site-user .gm-buy:link, header .site-user .gm-buy:visited {
    display: inline-flex; align-items: center; padding: 7px 17px; min-height: 38px;
    border: 1px solid var(--guji-cinnabar); border-radius: 999px;
    color: var(--guji-cinnabar); background: none;
}
header .site-user .gm-buy:hover { background: var(--guji-cinnabar); color: #fff; }

/* 快到期的提醒：牌上的一段，不是牌外另挂的签。
   独立小签自带边框与间距，会把这一行撑出约 40px，实测足以把导航挤成两行；
   而「快到期」本来就是这张牌的属性，长在牌上比挂在旁边更对。
   朱砂是这枚牌上唯一的强调色，其余各段都跟着牌的底色走。 */
header .site-user .gm-pass-expiry:link, header .site-user .gm-pass-expiry:visited {
    color: var(--guji-cinnabar); font-size: 12px;
}
header .site-user .gm-pass-expiry::before {
    content: ''; width: 3px; height: 3px; border-radius: 50%;
    background: currentColor; opacity: .45; flex: none;
}

/* 临期那几天，牌上多一段字，这一行会宽出几十像素——恰好够把导航挤成两行。
   只在这种时候把账号区收紧一档（:has 让收紧只发生在临期，常态保持呼吸感）。
   这是权衡后的取舍：与其为一年里的三天把常态压扁，不如让那三天紧一点。 */
header .site-user:has(.gm-pass-expiry) { gap: 7px; }
header .site-user:has(.gm-pass-expiry) .gm-pass a { padding-inline: 7px; }
header .site-user:has(.gm-pass-expiry) .gm-pass a:first-child { padding-left: 12px; }
header .site-user:has(.gm-pass-expiry) .gm-pass a:last-child { padding-right: 13px; }
header .site-user:has(.gm-pass-expiry) .gm-buy { padding-inline: 13px; }

/* 退出：收成图标，把横向空间让给身份与积分 */
header .site-user .gm-out:link, header .site-user .gm-out:visited {
    display: inline-flex; align-items: center; justify-content: center;
    width: 38px; height: 38px; min-height: 38px; padding: 0;
    border-radius: 999px; color: var(--guji-ink-faint); background: none;
}
header .site-user .gm-out:hover { color: var(--guji-cinnabar); background: var(--guji-paper-deep); }
header .site-user .gm-out .guji-icon { width: 17px; height: 17px; }
header #search { max-width: var(--guji-measure); padding: 12px 40px; border-top: 1px solid var(--guji-rule-soft); }
header #search form { background: var(--guji-card); }
#content { padding-inline: 40px; }

/* 首屏是一幅完整的展陈画面；功能入口在图外有明确落点。 */
body.guji-exhibition-home > header { margin-bottom: 0; }
body.guji-exhibition-home #content { max-width: none; padding: 0 0 76px; }
.guji-exhibition-home .blocks-inner { max-width: none; }
.guji-exhibition-home .blocks .block { margin: 0; }
.guji-exhibition-home .block-lineBreak { display: none; }
.guji-exhibition-hero {
    min-height: 610px;
    margin: 0;
    border: 0;
    border-radius: 0;
    background-color: var(--guji-jade-deep);
    background-image: var(--guji-hero-image, url('../img/exhibition-library-v1.webp'));
    background-position: center 62%;
    background-size: cover;
}
.guji-exhibition-hero::before {
    background: linear-gradient(90deg, #102827f5 0%, #112b28bd 32%, #122c2938 57%, #10272408 100%);
}
.guji-exhibition-frame { position: absolute; inset: 22px; border: 1px solid #dec69c40; pointer-events: none; }
.guji-exhibition-frame::before, .guji-exhibition-frame::after {
    content: ''; position: absolute; width: 24px; height: 24px; border: solid var(--guji-gold-lit);
}
.guji-exhibition-frame::before { top: -1px; left: -1px; border-width: 1px 0 0 1px; }
.guji-exhibition-frame::after { bottom: -1px; right: -1px; border-width: 0 1px 1px 0; }
.guji-exhibition-hero .guji-hero-inner {
    width: 100%; max-width: var(--guji-measure); margin: 0 auto; padding: 65px 70px 88px;
}
.guji-eyebrow { display: flex; align-items: center; gap: 15px; font-size: 13px; letter-spacing: .16em; color: var(--guji-gold-lit); }
.guji-small-seal {
    display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 38px;
    color: #f4e6ce; background: var(--guji-cinnabar); outline: 1px solid #e7c99b7a; outline-offset: -4px;
    writing-mode: vertical-rl; letter-spacing: .05em; font: 13px var(--guji-serif);
}
.guji-eyebrow-line { width: 36px; height: 1px; background: currentColor; opacity: .55; }
#content .guji-exhibition-hero h1 {
    color: #f6edda; font-size: clamp(38px, 3.4vw, 56px); font-weight: 500;
    line-height: 1.5; letter-spacing: .08em; margin: 24px 0 17px; max-width: 13em;
}
#content .guji-exhibition-hero .guji-hero-intro { font-size: 16px; line-height: 1.95; color: #d0d5c6; margin: 0 0 28px; }
.guji-exhibition-hero .guji-hero-search {
    max-width: 446px; min-width: 0; height: 54px; border: 1px solid #e1d4b57a; background: #f8f2e8;
    border-radius: 2px; margin: 0; box-shadow: 0 8px 26px #0000000d;
}
.guji-exhibition-hero .guji-hero-search input { font-size: 15px; padding: 14px 17px; color: var(--guji-ink); }
.guji-exhibition-hero .guji-hero-search input::placeholder { color: #686a5e; }
.guji-exhibition-hero .guji-hero-search button[type="submit"] { min-width: 58px; background: var(--guji-cinnabar); color: #fff8ec; border: 0; }
.guji-exhibition-hero .guji-hero-search button[type="submit"]:hover { background: var(--guji-cinnabar-deep); }
.guji-exhibition-hero .guji-hero-actions { margin: 21px 0 0; gap: 23px; align-items: center; }
.guji-explore-link:link, .guji-explore-link:visited { display: inline-flex; align-items: center; min-height: 44px; gap: 29px; color: #e5c992; font-size: 15px; letter-spacing: .1em; border-bottom: 1px solid #dac39980; }
.guji-explore-link:hover { color: #fff5d9; }
.guji-hero-access { color: #c7cdbf; font-size: 12px; letter-spacing: .06em; }
.guji-hero-inscription { position: absolute; right: max(5%, calc((100% - 1180px)/2)); top: 74px; writing-mode: vertical-rl; color: #e9d5af; font-family: var(--guji-serif); font-size: 18px; line-height: 2.3; letter-spacing: .25em; }
.guji-hero-edition { position: absolute; bottom: 38px; left: max(55px, calc((100% - 1180px)/2)); right: max(55px, calc((100% - 1180px)/2)); display: flex; justify-content: space-between; color: #b7bda8; font-size: 10px; letter-spacing: .18em; }
.guji-entrances { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); padding: 29px 0; border-bottom: 1px solid var(--guji-rule); }
.guji-entrances > a { display: flex; align-items: center; gap: 18px; padding: 8px 36px; border-right: 1px solid var(--guji-rule); color: var(--guji-ink); }
.guji-entrances > a:first-child { padding-left: 20px; }
.guji-entrances > a:last-child { border-right: 0; }
.guji-entrance-icon { color: var(--guji-cinnabar); display: flex; }
.guji-entrance-icon svg { width: 34px; height: 34px; }
.guji-entrances strong { display: block; font-family: var(--guji-serif); font-weight: 600; font-size: 21px; letter-spacing: .08em; }
.guji-entrances small { display: block; color: var(--guji-ink-faint); font-size: 12px; margin-top: 4px; }
.guji-entrance-arrow { margin-left: auto; color: var(--guji-gold); transition: transform .2s; }
.guji-entrances a:hover .guji-entrance-arrow { transform: translate(3px, -3px); }
.guji-entrances a:hover strong { color: var(--guji-cinnabar); }

/* 类目与书目沿用真实资源，以展签、装帧和留白建立层次。 */
.guji-exhibition-home .preview-block,
.guji-exhibition-home .guji-guide-preview { max-width: 1240px; margin: 0 auto; padding: 65px 0 8px; }
.guji-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 0 0 28px; }
.guji-section-kicker { display: block; font-size: 11px; letter-spacing: .16em; color: var(--guji-cinnabar); margin-bottom: 8px; }
#content .guji-section-heading h2 { margin: 0; padding: 0; border: 0; font-size: 31px; line-height: 1.4; letter-spacing: .1em; font-weight: 500; }
.guji-section-aside { color: var(--guji-ink-faint); font-size: 13px; letter-spacing: .06em; padding-bottom: 4px; }
.preview-block > .resource-list.preview + a:link, .preview-block > .resource-list.preview + a:visited { display: table; margin: 24px auto 0; padding: 9px 30px; border: 1px solid var(--guji-rule); color: var(--guji-ink-soft); font-size: 13px; letter-spacing: .08em; min-height: 44px; }
.preview-block > a:hover { color: var(--guji-cinnabar); border-color: var(--guji-cinnabar); }
ul.resource-list:has(> li.item-set) { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; }
.guji-category-section ul.resource-list.preview:has(> li.item-set) { grid-template-columns: repeat(6, minmax(0,1fr)); gap: 12px; margin: 0; }
ul.resource-list > li.item-set.resource {
    --category-color: #805744;
    background: #eee7da; border: 1px solid #ddd1bc; border-top: 2px solid #b39c74;
    border-radius: 0; box-shadow: none; position: relative; transition: background .2s, border-color .2s;
}
ul.resource-list > li.item-set.resource:nth-child(4n + 2) { --category-color: #355c57; background: #e7eae1; border-color: #c7d1c4; }
ul.resource-list > li.item-set.resource:nth-child(4n + 3) { --category-color: #885044; background: #efe3d8; border-color: #d9c4b6; }
ul.resource-list > li.item-set.resource:nth-child(4n + 4) { --category-color: #5a616a; background: #e6e7e2; border-color: #cbd0c8; }
ul.resource-list > li.item-set.resource::before { display: none; }
ul.resource-list > li.item-set.resource:hover { transform: none; border-color: var(--category-color); box-shadow: none; background: var(--guji-card); }
ul.resource-list > li.item-set.resource > a.resource-link { display: flex; flex-direction: column; justify-content: center; gap: 12px; min-height: 137px; padding: 20px 10px; color: var(--category-color); }
ul.resource-list > li.item-set.resource .guji-cat-icon { width: 34px; height: 34px; color: var(--category-color); margin: 0; flex-shrink: 0; }
ul.resource-list > li.item-set.resource .resource-name { font-size: 17px; font-weight: 500; padding: 0; color: var(--category-color); letter-spacing: .08em; }
ul.resource-list > li.item-set.resource .description { color: var(--guji-ink-soft); }
/* 类目藏量：数字用衬线体等宽排，量级差异一眼可比；颜色压到辅助色，不跟类目名抢。 */
ul.resource-list > li.item-set.resource .guji-cat-count-tag { margin-top: -4px; font-size: 12px; letter-spacing: .1em; color: var(--guji-ink-faint); }
ul.resource-list > li.item-set.resource .guji-cat-count-tag strong { font: 700 15px/1 Georgia, var(--guji-serif); font-variant-numeric: tabular-nums; margin-right: 2px; }
ul.resource-list { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px 25px; }
ul.resource-list > li.item.resource { border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; }
ul.resource-list > li.item.resource:hover { transform: none; box-shadow: none; }
ul.resource-list .guji-book-cover {
    display: flex; align-items: center; justify-content: center; height: 288px;
    position: relative; padding: 26px 35px; background: #e9e5d9;
    border: 1px solid #dad5c6; overflow: hidden;
    background-image: linear-gradient(130deg,#fbf7e74d,transparent 55%), linear-gradient(0deg,#c7baa34d,transparent 35%);
}
ul.resource-list .guji-book-cover::before { content: ''; position: absolute; inset: 10px; border: 1px solid #fbf7ed9c; pointer-events: none; }
body ul.resource-list li.resource .guji-book-cover img {
    float: none; display: block; width: auto; height: auto; max-height: 100%; max-width: 100%;
    aspect-ratio: auto; object-fit: contain; margin: 0; border: 0; border-radius: 0;
    box-shadow: 5px 9px 17px #3c362632, 1px 1px 2px #3c36262b;
    transition: transform .25s ease, box-shadow .25s ease;
}
body ul.resource-list li.resource .guji-book-cover img[hidden] { display: none; }
.guji-book-cover.is-unavailable::after { content: '书影暂缺'; writing-mode: vertical-rl; font: 19px var(--guji-serif); letter-spacing: .22em; color: var(--guji-ink-faint); padding: 20px 14px; border: 1px solid var(--guji-rule); }
ul.resource-list li.item a:hover .guji-book-cover img { transform: translateY(-5px) rotate(-1deg); box-shadow: 7px 14px 19px #3c36263d; }
ul.resource-list > li.item .resource-name { font-size: 18px; line-height: 1.65; font-weight: 500; padding: 16px 0 0; margin: 0; color: var(--guji-ink); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
.guji-book-label { display: block; color: var(--guji-ink-faint); font-size: 11px; letter-spacing: .08em; margin: 10px 0 0; }
.guji-book-label span { margin: 0 6px; }
ul.resource-list > li.item .description { font-size: 12px; padding: 10px 0 0; margin: 0; border-top: 1px solid var(--guji-rule-soft); margin-top: 13px; line-height: 1.7; color: var(--guji-ink-faint); -webkit-line-clamp: 2; line-clamp: 2; }

/* 朱砂专题把产品的白话讲解能力带回首屏之后的阅读动线。 */
.guji-reading-invitation { display: grid; grid-template-columns: .8fr 1.2fr; max-width: 1240px; margin: 70px auto 0; background: #753d34; color: #f8e8cf; position: relative; overflow: hidden; }
.guji-reading-invitation::before { content: ''; position: absolute; inset: 16px; border: 1px solid #dec69c66; pointer-events: none; }
.guji-invitation-art { position: relative; min-height: 320px; display: flex; align-items: center; justify-content: center; gap: 12px; background: radial-gradient(ellipse at center,#a5654138,transparent 70%); }
.guji-invitation-art::before { content: ''; position: absolute; width: 232px; height: 232px; border: 1px solid #e2c39445; border-radius: 50%; outline: 1px solid #e2c39424; outline-offset: 15px; }
.guji-invitation-art > span { font-family: var(--guji-serif); font-size: 116px; color: #ead2a88c; line-height: 1; font-weight: 400; }
.guji-invitation-art > span:nth-child(2) { margin-top: 72px; }
.guji-invitation-art i { position: absolute; bottom: 45px; font-family: var(--guji-serif); font-size: 12px; font-style: normal; letter-spacing: .65em; color: #e0bf91; }
.guji-invitation-copy { padding: 50px 50px 45px 15px; }
#content .guji-invitation-copy h2 { color: #fbefd9; margin: 18px 0 15px; font-size: 32px; font-weight: 500; line-height: 1.5; }
.guji-invitation-copy p { color: #e5d3bb; font-size: 15px; margin: 0 0 23px; }
.guji-invitation-copy > a:link, .guji-invitation-copy > a:visited { display: inline-flex; gap: 40px; padding: 9px 0; min-height: 44px; border-bottom: 1px solid #ddc49a; color: #f4dbac; font-size: 14px; }
.guji-invitation-copy > a:hover { color: #fff7e7; }
.guji-invitation-copy small { display: block; font-size: 11px; margin-top: 20px; color: #d9c5b1; }
.guji-exhibition-home ul.guji-guide-cards > li { background: var(--guji-card); border-color: var(--guji-rule); border-top: 2px solid var(--guji-gold); }
/* 导读卡片的书名只留一行——首页与 /guides 列表页是同一套卡片，规则统一写在
   guji-interiors.css 的 ul.guji-guide-cards 那一段，不在这里分头维护。 */
.guji-exhibition-home .guji-feature { max-width: 1240px; margin-inline: auto; }

/* 内页卷首和阅读区沿用纸色与青黛，装饰不进入 PDF 画布。 */
.guji-catalog-heading { padding: 22px 32px 24px; border: 1px solid var(--guji-rule); border-left: 3px solid var(--guji-gold); margin-bottom: 28px; background: linear-gradient(100deg,#ece7d9,#f5f2e900); }
#content .guji-catalog-heading h1, #content .guji-catalog-heading h2 { margin: 0 0 10px; font-size: 36px; line-height: 1.5; font-weight: 500; letter-spacing: .1em; }
.guji-catalog-heading p { margin: 0; color: var(--guji-ink-soft); font-size: 14px; }
.browse-controls { padding: 17px 0; border-top: 1px solid var(--guji-rule); border-bottom: 1px solid var(--guji-rule); margin-bottom: 28px; }
.guji-cat-head { border-left: 3px solid var(--guji-gold); background: #ece7d966; padding: 25px 30px; }
.guji-item-head { padding: 28px 30px; border: 1px solid var(--guji-rule); border-top: 3px solid var(--guji-gold); background: #fcfaf4; gap: 18px; flex-wrap: wrap; }
.guji-item-kicker { flex: 0 0 100%; margin-bottom: -5px; }
.guji-item-head h1 { font-weight: 500; }
.guji-item-head + .guji-item-sets { margin-top: 18px; }
.guji-book-brief, .guji-brief { border-color: var(--guji-rule); border-radius: 2px; }
.guji-reader { border-color: var(--guji-rule); box-shadow: 0 8px 30px #263a3010; }
.guji-auth-panel { border-top: 3px solid var(--guji-gold); border-radius: 3px; background: var(--guji-card); }
body > footer { background: var(--guji-jade-deep); background-image: repeating-linear-gradient(90deg,#ffffff02 0 1px,transparent 1px 20px); border-top: 3px solid var(--guji-gold); padding: 48px 40px 28px; margin-top: 0; }
.guji-footer-inner { max-width: 1240px; padding: 0; }
.guji-footer-motto { display: flex; align-items: baseline; gap: 30px; padding-bottom: 28px; margin-bottom: 26px; border-bottom: 1px solid #cfbe922e; }
.guji-footer-motto span:first-child { color: #e8cfa1; font-family: var(--guji-serif); font-size: 29px; letter-spacing: .15em; }
.guji-footer-motto span:last-child { color: #c4cbb8; font-size: 13px; letter-spacing: .08em; }
.guji-footer-title { color: #f3e5c7; }
body > footer .guji-footer-copyright, body > footer .guji-footer-note { color: #c4cbb8; font-size: 12px; }
body > footer a:link, body > footer a:visited, .guji-footer-copyright a:link, .guji-footer-copyright a:visited { color: #e2cfaa; }
.guji-footer-registration { border-color: #cfbe922e; color: #c4cbb8; }

/* 页头改成两层（logo 一行、导航独占一行）的区间。
   上界 2026-09-05 由 1199px 提到 1279px：页头加「导读」后是 6 项，
   1200～1279px 这一段两头不靠——既没进两层布局，单行又放不下，
   导航会自己折成两行。这一段并入两层布局，比折行整齐。 */
@media (min-width: 800px) and (max-width: 1279px) {
    .guji-header-inner { flex-wrap: wrap; gap: 0; padding-top: 16px; }
    header nav#top-nav { flex-basis: 100%; }
    header nav ul.navigation > li > a:link, header nav ul.navigation > li > a:visited,
    header nav ul.navigation > li > .parent-link > a:link, header nav ul.navigation > li > .parent-link > a:visited { padding: 17px 10px; }
    header .site-user { flex-wrap: wrap; justify-content: flex-end; }
}
@media (max-width: 1359px) {
    .guji-exhibition-home .preview-block, .guji-exhibition-home .guji-guide-preview,
    .guji-entrances, .guji-reading-invitation, .guji-exhibition-home .guji-feature { width: calc(100% - 80px); margin-left: auto; margin-right: auto; }
}
@media (max-width: 1023px) {
    .guji-exhibition-hero .guji-hero-inner { padding-left: 55px; }
    .guji-exhibition-hero { min-height: 565px; background-position: 58% center; }
    .guji-entrances > a { padding: 5px 18px; gap: 12px; }
    .guji-entrances small { max-width: 12em; }
    ul.resource-list { gap: 24px 18px; grid-template-columns: repeat(3,minmax(0,1fr)); }
    .guji-category-section ul.resource-list.preview:has(> li.item-set) { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .guji-collection-section ul.resource-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .guji-reading-invitation { grid-template-columns: .7fr 1.3fr; }
    #content .guji-invitation-copy h2 { font-size: 27px; }
    .guji-invitation-art > span { font-size: 85px; }
    .guji-invitation-art::before { width: 185px; height: 185px; }
}
@media (max-width: 799px) {
    .guji-header-inner { display: block; min-height: 72px; padding: 14px 20px 12px; }
    header .site-title { max-width: 160px; margin: 0; }
    header .site-title img { height: 43px; }
    header nav#top-nav { position: static; margin: 0; }
    #mobile-nav-toggle { position: absolute; top: 14px; right: 20px; width: 44px; height: 44px; margin: 0; border: 1px solid var(--guji-rule); color: var(--guji-jade); background: transparent; }
    header .site-user { justify-content: flex-end; margin: 12px 0 0; border-top: 1px solid var(--guji-rule-soft); padding-top: 10px; gap: 6px; flex-wrap: wrap; }
    header .site-user a:link, header .site-user a:visited { min-height: 44px; display: inline-flex; align-items: center; padding: 8px 12px; }
    /* 会员牌在窄屏也要够得着：上面那条通用规则被牌自己的样式盖过了
       （选择器更具体），所以这里把 44px 的触摸高度再给一遍。 */
    header .site-user .gm-pass a:link, header .site-user .gm-pass a:visited,
    header .site-user .gm-buy:link, header .site-user .gm-buy:visited { min-height: 44px; }
    header .site-user .gm-out:link, header .site-user .gm-out:visited { width: 44px; height: 44px; min-height: 44px; }
    header nav > ul.navigation { margin: 0; padding: 0; height: 0; overflow: hidden; }
    header nav.open > ul.navigation { position: static; height: auto; padding: 10px; margin: 15px 0 0; background: var(--guji-card); background-image: none; border: 1px solid var(--guji-rule); box-shadow: 0 8px 20px #162c1b0d; width: 100%; }
    header nav ul.navigation > li > a:link, header nav ul.navigation > li > a:visited,
    header nav ul.navigation > li > .parent-link > a:link, header nav ul.navigation > li > .parent-link > a:visited { padding: 11px 13px; min-height: 44px; color: var(--guji-ink); }
    header nav.open ul.navigation a:hover, header nav.open ul.navigation a:focus { color: var(--guji-cinnabar); background: var(--guji-paper-deep); }
    header nav.open ul.navigation .child-toggle { width: 44px; min-width: 44px; }
    header nav.open ul.navigation ul { background: var(--guji-paper); }
    header nav.open ul.navigation ul a:link, header nav.open ul.navigation ul a:visited { color: var(--guji-ink); }
    header #search { padding: 12px 20px; }
    #content { padding-inline: 20px; }
    .guji-exhibition-home .preview-block, .guji-exhibition-home .guji-guide-preview,
    .guji-entrances, .guji-reading-invitation, .guji-exhibition-home .guji-feature { width: calc(100% - 40px); margin-inline: auto; }
    .guji-exhibition-home .preview-block, .guji-exhibition-home .guji-guide-preview { padding-top: 43px; }
    .guji-exhibition-hero { min-height: 555px; background-position: 65% center; }
    .guji-exhibition-hero::before { background: linear-gradient(90deg,#112b28f0,#112b28bd 50%,#112b285e); }
    .guji-exhibition-frame { inset: 12px; }
    .guji-exhibition-hero .guji-hero-inner { padding: 43px 32px 72px; }
    #content .guji-exhibition-hero h1 { font-size: 39px; letter-spacing: .04em; }
    .guji-hero-inscription { display: none; }
    .guji-exhibition-hero .guji-hero-actions { flex-direction: row; gap: 16px; }
    .guji-hero-edition { left: 32px; right: 32px; bottom: 29px; font-size: 8px; }
    .guji-entrances { padding: 20px 0; gap: 0; }
    .guji-entrances > a, .guji-entrances > a:first-child { padding: 8px 6px; flex-direction: column; text-align: center; gap: 8px; }
    .guji-entrance-arrow { display: none; }
    .guji-entrances strong { font-size: 17px; }
    .guji-entrances small { font-size: 11px; max-width: 9em; }
    .guji-entrance-icon svg { width: 28px; height: 28px; }
    .guji-section-aside { display: none; }
    #content .guji-section-heading h2 { font-size: 27px; }
    .guji-section-heading { margin-bottom: 22px; }
    ul.resource-list:has(> li.item-set), .guji-category-section ul.resource-list.preview:has(> li.item-set) { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
    ul.resource-list > li.item-set.resource > a.resource-link { min-height: 112px; padding: 17px 5px; gap: 11px; }
    ul.resource-list > li.item-set.resource .resource-name { font-size: 15px; letter-spacing: 0; }
    ul.resource-list > li.item-set.resource .guji-cat-icon { width: 29px; height: 29px; }
    ul.resource-list, .guji-collection-section ul.resource-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px 16px; }
    ul.resource-list .guji-book-cover { height: 240px; padding: 24px; }
    ul.resource-list > li.item .resource-name { font-size: 17px; }
    .guji-reading-invitation { grid-template-columns: 1fr; margin-top: 48px; }
    .guji-invitation-art { display: none; }
    .guji-invitation-copy { padding: 40px 30px; }
    #content .guji-invitation-copy h2 { font-size: 27px; }
    .guji-catalog-heading { padding: 22px; }
    #content .guji-catalog-heading h1, #content .guji-catalog-heading h2 { font-size: 29px; }
    .guji-item-head { padding: 23px 20px; }
    body > footer { padding: 35px 24px 24px; }
    .guji-footer-motto { flex-direction: column; gap: 9px; }
}
@media (max-width: 420px) {
    #content .guji-exhibition-hero h1 { font-size: 33px; }
    #content .guji-exhibition-hero .guji-hero-intro { font-size: 14px; }
    .guji-exhibition-hero .guji-hero-actions { gap: 10px; }
    .guji-hero-access { font-size: 10px; }
    .guji-explore-link:link, .guji-explore-link:visited { gap: 16px; font-size: 14px; }
    .guji-eyebrow { font-size: 11px; gap: 10px; }
    ul.resource-list .guji-book-cover { height: 195px; padding: 22px; }
    ul.resource-list > li.item .resource-name { font-size: 16px; }
    .guji-book-label { font-size: 10px; letter-spacing: .02em; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
    ul.resource-list li.item a:hover .guji-book-cover img, .guji-entrances a:hover .guji-entrance-arrow { transform: none; }
}
