.honors-hero{position:relative;isolation:isolate;aspect-ratio:1536/940;padding:0!important;overflow:hidden;color:#15408b;background:#efe5d6}
.honors-hero::before{content:"";position:absolute;z-index:-1;inset:-8.94% 0 0;background:url('../assets/img/honors/gallery-background.webp') center/100% 100% no-repeat}
.honors-breadcrumb{position:absolute;top:3.1%;left:6.7%;font-size:clamp(11px,1vw,15px);color:#15408b}
.honors-breadcrumb a{color:inherit}.honors-breadcrumb span{margin:0 18px}
.honors-heading{position:absolute;left:10.4%;top:10%;color:#15408b}
.honors-heading h1{font:700 clamp(36px,5.2vw,80px)/1.15 var(--font-serif);color:inherit;margin:0}
.honors-title-rule{display:block;width:42px;height:3px;background:#ac7c31;margin:22px 0}
.honors-heading>p{font:clamp(15px,1.9vw,29px)/1.6 var(--font-serif);margin:0}
.honors-stage{position:absolute;inset:0;padding:0;margin:0;list-style:none;perspective:1600px;touch-action:pan-y}
.honor-item{position:absolute;bottom:34%;left:50%;width:25%;margin:0;transform:translateX(-50%);text-align:center;transition:left .5s ease,transform .5s ease,bottom .5s ease,width .5s ease;z-index:3}
.honor-item[hidden]{display:none!important}
.honor-item[data-position="-1"]{left:26.5%;width:21%;bottom:35.7%;transform:translateX(-50%) rotateY(9deg);z-index:2}
.honor-item[data-position="1"]{left:72.4%;width:20%;bottom:35.7%;transform:translateX(-50%) rotateY(-9deg);z-index:2}
.honor-item[data-position="-2"]{left:9.8%;width:14.2%;bottom:38%;transform:translateX(-50%) rotateY(17deg);z-index:1}
.honor-item[data-position="2"]{left:89%;width:14.2%;bottom:38%;transform:translateX(-50%) rotateY(-17deg);z-index:1}
.honor-open{display:block;width:100%;border:0;background:none;padding:0;cursor:zoom-in;border-radius:0;box-shadow:4px 9px 12px rgba(66,38,13,.25)}
.honor-open img{display:block;width:100%;height:auto;aspect-ratio:1.37;object-fit:fill;border-radius:0}
.honor-item p{font:clamp(11px,.95vw,15px)/1.4 var(--font-sans);margin:12px 0 0;color:#15408b}
.honors-controls{position:absolute;bottom:15.5%;left:50%;transform:translateX(-50%);display:flex;gap:40px;align-items:center}
.honors-controls button{width:46px;height:46px;border:1px solid #a97b32;border-radius:50%;background:rgba(255,250,237,.35);color:#15408b;font:27px/1 var(--font-sans);cursor:pointer}
.honors-counter{display:flex;gap:14px;white-space:nowrap;align-items:center;font:20px/1.4 var(--font-sans);color:#536078;margin:0}.honors-counter strong{color:#15408b}.honors-counter span{color:#9d732c}
.honors-all{position:absolute;bottom:7%;left:50%;transform:translateX(-50%);padding:12px 32px;min-height:44px;white-space:nowrap;border:1px solid #ac7c31;border-radius:40px;background:rgba(255,250,238,.25);color:#785321;font:16px/1.5 var(--font-serif);cursor:pointer}.honors-all span{margin-left:14px}
.honors-hero button:focus-visible,.honors-dialog button:focus-visible{outline:3px solid #15408b;outline-offset:5px}.honors-controls button:hover,.honors-all:hover{background:#fff8e8}
.honors-dialog{position:fixed;inset:0;margin:auto;width:min(1100px,94vw);max-height:90dvh;padding:24px;border:1px solid #bd9659;border-radius:8px;background:#faf7ef;color:#15408b;overscroll-behavior:contain}.honors-dialog::backdrop{background:rgba(21,64,139,.78)}
.honors-dialog-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.honors-dialog-header h2{font:700 26px/1.5 var(--font-serif)}.honors-dialog-close{border:0;background:none;color:#15408b;width:44px;height:44px;font-size:30px;cursor:pointer}
.honors-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;list-style:none;margin:0;padding:0}.honors-archive-grid button{display:block;width:100%;border:0;background:transparent;color:#15408b;cursor:zoom-in;padding:0 0 12px;font:15px/1.5 var(--font-serif)}.honors-archive-grid img{display:block;width:100%;height:auto;aspect-ratio:1.37;object-fit:contain;margin-bottom:12px}.honors-full-image{display:block;width:100%;max-height:65dvh;object-fit:contain}.honors-back{display:block;margin-top:20px;border:1px solid #a68148;border-radius:4px;background:transparent;padding:10px 18px;color:#15408b;cursor:pointer;font:15px/1.5 var(--font-sans)}
@media(max-width:900px) and (min-width:601px){.honors-title-rule{margin:14px 0;width:30px;height:2px}.honors-controls{gap:25px;bottom:14%}.honors-controls button{width:40px;height:40px;font-size:23px}.honors-counter{font-size:16px}.honors-all{font-size:14px;padding:8px 24px;bottom:4.5%}.honor-item p{margin-top:8px}}
@media(max-width:600px){.honors-hero{aspect-ratio:auto;height:650px}.honors-hero::before{inset:0;background-size:auto 100%;background-position:center}.honors-breadcrumb{top:22px;left:6%;font-size:12px}.honors-heading{left:7%;top:76px}.honors-heading h1{font-size:42px}.honors-title-rule{margin:17px 0;width:32px}.honors-heading>p{font-size:17px}.honor-item[data-position]{display:none}.honor-item[data-position="0"]{display:block;left:50%;width:min(78%,360px);bottom:29%;transform:translateX(-50%)}.honor-item p{font-size:13px;margin-top:15px}.honors-controls{bottom:13%;gap:30px}.honors-controls button{width:44px;height:44px}.honors-counter{font-size:18px}.honors-all{bottom:4%;font-size:14px;padding:10px 25px}.honors-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.honors-dialog{padding:18px}.honors-dialog-header h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){.honor-item{transition:none}}

/* Physical wood-frame edges recreate the approved exhibit depth. */
.honor-open{border:clamp(2px,.32vw,5px) solid #542c20;border-right-color:#2f1a13;border-bottom-color:#321a11;box-shadow:inset 0 0 0 1px #b39357,4px 9px 12px rgba(66,38,13,.25)}

/* Preserve original certificate geometry and cleanly separate adjacent frames. */
.honor-open{border:1px solid #75503a;box-shadow:2px 3px 0 #3d251b,5px 9px 10px rgba(66,38,13,.22);overflow:hidden;background:#704a2b}
.honor-open img{height:auto;aspect-ratio:auto;object-fit:contain;filter:contrast(1.045);image-rendering:auto}
.honor-item[data-position="-2"]{left:9.5%;width:13.5%}
.honor-item[data-position="-1"]{left:27%;width:19%}
.honor-item[data-position="1"]{left:73%;width:19%}
.honor-item[data-position="2"]{left:90.5%;width:13.5%}
@media(max-width:600px){.honor-item[data-position="0"]{left:50%;width:min(78%,360px)}}

/* Bound the entire exhibit by both browser width and available viewport height. */
@media(min-width:601px){
 .honors-hero{width:min(100%,1440px,calc((100svh - var(--honors-header-height,80px) - 24px) * 1.63404255));margin-inline:auto;container-type:inline-size}
 .honors-heading h1{font-size:clamp(30px,5.2cqw,80px)}
 .honors-heading>p{font-size:clamp(13px,1.9cqw,29px)}
 .honors-title-rule{margin-block:clamp(9px,1.4cqw,22px)}
 .honors-breadcrumb{font-size:clamp(11px,1cqw,15px)}
 .honor-item p{font-size:clamp(10px,.95cqw,15px);margin-top:clamp(5px,.8cqw,12px)}
 .honors-controls{gap:clamp(20px,2.6cqw,40px)}
}

/* Full-bleed display: crop surplus architecture, retain only carousel controls. */
.honor-open{cursor:default}
.honors-stage,.honors-stage .honor-open{cursor:grab;user-select:none;-webkit-user-select:none}
.honors-stage.is-dragging,.honors-stage.is-dragging .honor-open{cursor:grabbing}
.honors-stage img{-webkit-user-drag:none;user-select:none}
@media(min-width:601px){
 .honors-hero{--exhibit-height:min(52vw,calc(100svh - var(--honors-header-height,80px) - 12px));width:100%;max-width:none;height:var(--exhibit-height);aspect-ratio:auto;margin:0;container-type:inline-size}
 .honors-hero::before{inset:0;background-size:cover;background-position:center 60%}
 .honors-heading{top:8%}
 .honors-heading h1{font-size:clamp(30px,4.4vw,72px)}
 .honors-heading>p{font-size:clamp(14px,1.65vw,26px)}
 .honor-item[data-position="0"]{width:min(25%,calc(var(--exhibit-height) * .43));bottom:24%}
 .honor-item[data-position="-1"],.honor-item[data-position="1"]{width:min(19%,calc(var(--exhibit-height) * .34));bottom:26%}
 .honor-item[data-position="-2"],.honor-item[data-position="2"]{width:min(13.5%,calc(var(--exhibit-height) * .24));bottom:28%}
 .honors-controls{bottom:2%}
}
@media(max-width:600px){.honors-hero{height:590px}.honors-controls{bottom:5%}.honor-item[data-position="0"]{bottom:24%}}
