.huiyao-honors {
    --huiyao-red: #7e1720;
    --huiyao-deep-red: #3d0d12;
    --huiyao-gold: #c9a35c;
    --huiyao-pale-gold: #ead8ad;
    --huiyao-ink: #241d1a;
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: clamp(54px, 7vw, 96px) clamp(18px, 4vw, 64px);
    overflow: hidden;
    box-sizing: border-box;
    color: var(--huiyao-ink);
    background:
        radial-gradient(circle at 50% -25%, rgba(212, 174, 100, .2), transparent 38%),
        linear-gradient(180deg, #fcfaf5 0%, #f7f2e8 100%);
    border: 1px solid rgba(145, 103, 36, .18);
    font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", serif;
}

.huiyao-honors *, .huiyao-honors *::before, .huiyao-honors *::after { box-sizing: border-box; }
.huiyao-honors__glow { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.56) 49%, transparent 63%); transform: translateX(-100%); animation: huiyao-ambient 10s ease-in-out infinite; }
.huiyao-honors__header { max-width: 760px; margin: 0 auto clamp(30px, 4vw, 50px); text-align: center; }
.huiyao-honors__eyebrow { display: flex; align-items: center; justify-content: center; gap: 13px; margin-bottom: 12px; color: #9a7739; font: 600 11px/1.2 ui-sans-serif, system-ui, sans-serif; letter-spacing: .24em; }
.huiyao-honors__eyebrow i { width: 40px; height: 1px; background: linear-gradient(90deg, transparent, var(--huiyao-gold)); }
.huiyao-honors__eyebrow i:last-child { background: linear-gradient(90deg, var(--huiyao-gold), transparent); }
.huiyao-honors__header h2 { margin: 0; color: var(--huiyao-deep-red); font-size: clamp(30px, 4vw, 50px); font-weight: 600; line-height: 1.25; letter-spacing: .16em; }
.huiyao-honors__header h2::after { content: ""; display: block; width: 42px; height: 3px; margin: 18px auto 16px; background: linear-gradient(90deg, var(--huiyao-red), var(--huiyao-gold)); }
.huiyao-honors__header p { margin: 0; color: #76685b; font-size: clamp(14px, 1.7vw, 17px); letter-spacing: .12em; }

.huiyao-honors__filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin: 0 auto 32px; }
.huiyao-honors__filters button { appearance: none; min-width: 88px; padding: 9px 17px; color: #796959; background: rgba(255,255,255,.66); border: 1px solid rgba(150,110,49,.24); border-radius: 999px; cursor: pointer; font: 500 14px/1.25 ui-sans-serif, system-ui, sans-serif; transition: color .25s, background .25s, border-color .25s, transform .25s, box-shadow .25s; }
.huiyao-honors__filters button:hover { color: var(--huiyao-red); border-color: rgba(126,23,32,.4); transform: translateY(-1px); }
.huiyao-honors__filters button.is-active { color: #fffaf0; background: linear-gradient(135deg, var(--huiyao-deep-red), var(--huiyao-red)); border-color: transparent; box-shadow: 0 7px 18px rgba(77,13,19,.18); }
.huiyao-honors__filters button:focus-visible, .huiyao-honor-card__media:focus-visible, .huiyao-lightbox__close:focus-visible { outline: 3px solid rgba(172,126,50,.65); outline-offset: 3px; }

.huiyao-honors__grid { display: grid; grid-template-columns: repeat(var(--huiyao-columns), minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 32px); }
.huiyao-honor-card { min-width: 0; overflow: hidden; background: rgba(255,255,255,.88); border: 1px solid rgba(136,94,30,.2); box-shadow: 0 16px 44px rgba(58,34,15,.08); transition: opacity .3s, transform .35s, box-shadow .35s, border-color .35s; }
.huiyao-honor-card:hover { transform: translateY(-7px); border-color: rgba(155,111,40,.45); box-shadow: 0 24px 55px rgba(58,34,15,.15); }
.huiyao-honor-card.is-hidden { display: none; }
.huiyao-honor-card__media { position: relative; display: block; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; padding: 0; border: 0; background: #e9dfcb; cursor: zoom-in; }
.huiyao-honor-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1), filter .35s; }
.huiyao-honor-card:hover .huiyao-honor-card__media img { transform: scale(1.035); filter: saturate(1.04) contrast(1.02); }
.huiyao-honor-card__shine { position: absolute; inset: 0; background: linear-gradient(115deg, transparent 25%, rgba(255,255,255,.33) 47%, transparent 68%); transform: translateX(-125%); transition: transform .85s ease; }
.huiyao-honor-card:hover .huiyao-honor-card__shine { transform: translateX(125%); }
.huiyao-honor-card__zoom { position: absolute; right: 16px; bottom: 16px; display: grid; width: 39px; height: 39px; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: rgba(45,13,14,.68); backdrop-filter: blur(6px); opacity: 0; transform: translateY(7px); transition: opacity .3s, transform .3s; }
.huiyao-honor-card:hover .huiyao-honor-card__zoom { opacity: 1; transform: translateY(0); }
.huiyao-honor-card__zoom svg { width: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.6; }
.huiyao-honor-card__placeholder { display: grid; place-items: center; cursor: default; background: radial-gradient(circle, #d4b978, #9b712c); }
.huiyao-honor-card__placeholder span, .huiyao-honors__empty > span { color: rgba(255,255,255,.85); font-size: 64px; }
.huiyao-honor-card__body { position: relative; min-height: 132px; padding: 23px 24px 26px; }
.huiyao-honor-card__body time { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 10px; color: #9b7536; font: 600 12px/1.2 ui-sans-serif, system-ui, sans-serif; letter-spacing: .08em; }
.huiyao-honor-card__body time::before { content: ""; width: 18px; height: 1px; background: var(--huiyao-gold); }
.huiyao-honor-card__body h3 { margin: 0; color: #302620; font-size: clamp(17px, 1.7vw, 21px); font-weight: 600; line-height: 1.6; letter-spacing: .04em; }
.huiyao-honor-card__line { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; background: linear-gradient(90deg, var(--huiyao-red) 0 18%, var(--huiyao-gold) 18% 29%, transparent 29%); }
.huiyao-honors__empty { padding: 56px 20px; text-align: center; border: 1px dashed rgba(145,103,36,.35); background: rgba(255,255,255,.48); }
.huiyao-honors__empty > span { display: grid; width: 88px; height: 88px; margin: 0 auto 16px; place-items: center; color: #b5965e; border: 1px solid #d9c49c; border-radius: 50%; font-size: 38px; }
.huiyao-honors__empty p { margin: 0; color: #7f7061; }
.huiyao-honors__footer { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: clamp(35px, 5vw, 58px); color: #9a7739; font-size: 12px; letter-spacing: .18em; }
.huiyao-honors__footer span { width: min(12vw, 105px); height: 1px; background: linear-gradient(90deg, transparent, #c4a66c); }
.huiyao-honors__footer span:last-child { background: linear-gradient(90deg, #c4a66c, transparent); }

.huiyao-lightbox { position: fixed; inset: 0; z-index: 999999; display: grid; place-items: center; padding: clamp(20px, 4vw, 54px); background: rgba(20,10,8,.91); opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; backdrop-filter: blur(7px); }
.huiyao-lightbox.is-open { opacity: 1; visibility: visible; }
.huiyao-lightbox__figure { max-width: min(1100px, 92vw); max-height: 88vh; margin: 0; text-align: center; transform: scale(.97); transition: transform .3s; }
.huiyao-lightbox.is-open .huiyao-lightbox__figure { transform: scale(1); }
.huiyao-lightbox__image { display: block; max-width: 100%; max-height: 78vh; width: auto; height: auto; margin: auto; object-fit: contain; box-shadow: 0 22px 80px rgba(0,0,0,.48); }
.huiyao-lightbox__caption { margin-top: 17px; color: #f5e7c8; font-size: 16px; letter-spacing: .06em; }
.huiyao-lightbox__close { position: absolute; top: 18px; right: 20px; display: grid; width: 44px; height: 44px; place-items: center; padding: 0; color: #fff; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.24); border-radius: 50%; cursor: pointer; font: 300 30px/1 Arial, sans-serif; }
body.huiyao-lightbox-open { overflow: hidden; }

@keyframes huiyao-ambient { 0%, 72%, 100% { transform: translateX(-100%); } 88% { transform: translateX(100%); } }
@media (max-width: 1024px) { .huiyao-honors__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
    .huiyao-honors { padding-right: 14px; padding-left: 14px; }
    .huiyao-honors__grid { grid-template-columns: 1fr; gap: 18px; }
    .huiyao-honors__header h2 { letter-spacing: .1em; }
    .huiyao-honor-card__zoom { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    .huiyao-honors *, .huiyao-honors *::before, .huiyao-honors *::after { animation: none !important; transition-duration: .01ms !important; }
}

