.honor-body {
  min-height: 100vh;
  background: #030506 url("images/hall-of-honor-empty-wall-background.png") center top / cover scroll;
}

.honor-page {
  width: min(1360px, calc(100% - 64px));
  margin: 0 auto;
  padding: 112px 0 90px;
}

.honor-hero {
  min-height: calc(100vh - 112px);
  display: grid;
  grid-template-rows: auto 1fr auto;
  align-items: start;
}

.honor-hero .interior-page-header {
  margin-bottom: 10px;
  padding: 16px 35px 20px;
  background: linear-gradient(180deg, rgba(2, 5, 6, 0.78), rgba(2, 5, 6, 0.25));
  border-top: 2px solid var(--cyan);
  backdrop-filter: blur(4px);
}

.honor-hero .interior-page-header > h1 {
  font-size: clamp(62px, 6.5vw, 98px);
}

.honor-kicker,
.honor-section-heading span,
.honor-rule > span,
.honor-wall-selected > span {
  color: var(--cyan);
  font: 700 13px/1 "Barlow Condensed", Arial, sans-serif;
  letter-spacing: 2.5px;
  text-transform: uppercase;
}

.honor-wall-console {
  align-self: center;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .82fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(20px, 3.2vw, 52px);
  width: min(1180px, 94%);
  margin: -34px auto 28px;
  transform: translateY(-24px);
}

.honor-wall-years {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: clamp(8px, 1vw, 14px);
}

.honor-wall-years button {
  min-width: 0;
  aspect-ratio: 6 / 7;
  padding: 0;
  background: transparent;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.honor-wall-years button img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.honor-wall-years button:hover,
.honor-wall-years button.active {
  border-color: var(--lime);
  box-shadow: 0 0 22px rgba(181,215,58,.3);
  transform: translateY(-3px);
}

.honor-wall-selected {
  position: relative;
  display: grid;
  align-content: start;
}

.honor-selected-year-plaque {
  position: absolute;
  bottom: calc(100% + 14px);
  left: 50%;
  display: block;
  width: 100%;
  transform: translateX(-50%);
  filter: drop-shadow(0 10px 10px rgba(0,0,0,.72));
}

.honor-selected-members {
  display: grid;
  align-content: center;
  gap: 2px;
  min-height: 310px;
  padding: 52px 42px;
  background: url("images/hall-of-honor-plaque-master.png?v=20260815-1") center / 100% 100% no-repeat;
  filter: drop-shadow(0 12px 12px rgba(0,0,0,.72));
}

.honor-selected-members button {
  min-height: 48px;
  padding: 5px 4px;
  color: #74716b;
  background: transparent;
  border: 0;
  font: 700 clamp(17px, 1.35vw, 23px)/1.08 "Barlow Condensed", Arial, sans-serif;
  text-shadow: 0 1px 0 #080807;
  text-transform: uppercase;
  cursor: pointer;
}

.honor-selected-members button + button {
  border-top: 1px solid rgba(116,113,107,.22);
}

.honor-selected-members button:hover,
.honor-selected-members button:focus-visible {
  color: var(--lime);
  outline: none;
  text-shadow: 0 0 10px rgba(181,215,58,.3);
}

.honor-modal[hidden] { display: none; }

.honor-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 30px;
}

.honor-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 3, 5, .84);
  border: 0;
  backdrop-filter: blur(8px);
}

.honor-modal-plaque {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: min(900px, 94vw, 117vh);
  aspect-ratio: 4 / 3;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: clamp(54px, 6vw, 76px) clamp(48px, 7vw, 90px);
  color: var(--white);
  background: #171717 url("images/hall-of-honor-popup-plaque-background.png") center / 100% 100% no-repeat;
  border: 0;
  box-shadow: 0 35px 90px rgba(0,0,0,.9);
  text-align: center;
}

.honor-modal-plaque > .plaque-screw { display: none; }

.honor-modal-close {
  position: absolute;
  top: 24px;
  right: 26px;
  z-index: 3;
  width: 42px;
  height: 42px;
  color: var(--cyan);
  background: #080b0c;
  border: 1px solid rgba(10,116,155,.75);
  border-radius: 50%;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}

.honor-modal-close:hover { color: var(--lime); border-color: var(--lime); }
.honor-modal-kicker { position:relative;z-index:1;margin:0;color:var(--cyan);font:700 13px "Barlow Condensed",sans-serif;letter-spacing:2.5px;text-transform:uppercase; }
.honor-modal-plaque h2 { position:relative;z-index:1;margin:14px 35px 8px;color:#d8d9d6;font:italic 700 clamp(34px,5vw,62px)/.95 "Barlow Condensed",sans-serif;text-shadow:0 2px #050708;text-transform:uppercase; }
.honor-modal-class { position:relative;z-index:1;margin:0;color:var(--lime);font:700 18px "Barlow Condensed",sans-serif;letter-spacing:2px;text-transform:uppercase; }
.honor-modal-divider { position:relative;z-index:1;width:110px;height:3px;margin:22px auto;background:var(--cyan);box-shadow:0 0 12px rgba(10,116,155,.55); }
.honor-modal-bio { position:relative;z-index:1;flex:1;min-height:0;overflow-y:auto;padding:0 20px 12px;color:rgba(230,230,230,.82);font:500 clamp(14px,1.2vw,17px)/1.65 Inter,sans-serif;text-align:left;scrollbar-color:var(--cyan) #090d0f; }
.honor-modal-bio p { margin:0 0 16px; }
.honor-modal-open { overflow:hidden; }

.honor-rule {
  width: min(840px, 100%);
  margin: 0 auto;
  padding: 18px 28px;
  background: rgba(2,6,8,.82);
  border: 1px solid rgba(230,230,230,.14);
  border-left: 4px solid var(--lime);
  box-shadow: 0 16px 32px rgba(0,0,0,.55);
  text-align: center;
  backdrop-filter: blur(4px);
}

.honor-rule p {
  margin: 9px auto 11px;
  color: rgba(230,230,230,.7);
  font-size: 13px;
  line-height: 1.5;
}

.honor-rule small {
  color: var(--lime);
  font: 700 14px/1 "Barlow Condensed", Arial, sans-serif;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.honor-current,
.honor-archive {
  margin-top: 62px;
  padding: clamp(30px, 4vw, 52px);
  background: linear-gradient(145deg, rgba(13,17,18,.96), rgba(2,5,6,.98));
  border: 1px solid rgba(10,116,155,.44);
  box-shadow: 0 28px 65px rgba(0,0,0,.68), inset 0 1px rgba(230,230,230,.05);
}

.honor-current { border-top: 4px solid var(--lime); }
.honor-archive { border-top: 4px solid var(--cyan); }

.honor-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 26px;
  margin-bottom: 28px;
}

.honor-section-heading h2 {
  margin: 6px 0 0;
  color: var(--white);
  font: italic 700 clamp(45px, 5vw, 68px)/.9 "Barlow Condensed", Impact, sans-serif;
  text-transform: uppercase;
}

.honor-section-heading > p {
  color: rgba(230,230,230,.48);
  font: 600 16px "Barlow Condensed", Arial, sans-serif;
  letter-spacing: 1.3px;
  text-transform: uppercase;
}

.honor-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.honor-plaque,
.honor-nameplate {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(112deg, transparent 15%, rgba(255,255,255,.1) 34%, transparent 49%),
    repeating-linear-gradient(96deg, rgba(255,255,255,.025) 0 1px, transparent 1px 4px),
    linear-gradient(145deg, #5d6567, #202628 46%, #747b7d 69%, #171c1e);
  border: 1px solid #858e90;
  box-shadow: 0 14px 22px rgba(0,0,0,.72), inset 0 0 0 3px #151a1c, inset 0 0 0 5px rgba(230,230,230,.14);
}

.honor-plaque::after,
.honor-nameplate::after {
  position: absolute;
  inset: 12px;
  content: "";
  border: 1px solid rgba(230,230,230,.18);
  pointer-events: none;
}

.honor-feature {
  min-height: 290px;
  display: grid;
  place-content: center;
  padding: 42px;
}

.honor-feature-copy { position: relative; z-index: 1; text-align: center; }
.honor-feature-copy > span { color: var(--lime); font: 700 12px Inter, sans-serif; letter-spacing: 2px; text-transform: uppercase; }
.honor-feature-copy h3 { margin: 17px 0 12px; color: #dce0df; font: 700 clamp(31px,3vw,45px)/.96 Georgia,serif; text-shadow: 0 2px #050708; text-transform: uppercase; }
.honor-feature-copy p { margin: 0; color: rgba(230,230,230,.7); font: 500 14px/1.6 Inter,sans-serif; }
.plaque-divider { display:flex; align-items:center; gap:12px; margin:14px 0 18px; }
.plaque-divider::before,.plaque-divider::after { flex:1; height:1px; content:""; background:rgba(230,230,230,.34); }
.plaque-divider b { color:var(--cyan); font:700 13px Inter,sans-serif; letter-spacing:1.5px; text-transform:uppercase; }

.plaque-screw { position:absolute; z-index:3; width:10px; height:10px; background:radial-gradient(circle at 35% 30%,#f1f3f2,#667073 55%,#15191a); border:1px solid #15191a; border-radius:50%; }
.screw-tl{top:17px;left:17px}.screw-tr{top:17px;right:17px}.screw-bl{bottom:17px;left:17px}.screw-br{right:17px;bottom:17px}

.archive-heading { padding-bottom:22px; border-bottom:1px solid rgba(230,230,230,.14); }
.honor-year-select { display:grid; gap:5px; color:rgba(230,230,230,.55); font:700 12px "Barlow Condensed",sans-serif; letter-spacing:1.4px; text-transform:uppercase; }
.honor-year-select select { min-width:165px; height:43px; padding:0 12px; color:var(--white); color-scheme:dark; background:#020405; border:1px solid rgba(230,230,230,.38); font:600 17px "Barlow Condensed",sans-serif; }
.honor-ledger { display:grid; gap:34px; }
.honor-ledger-year { display:grid; grid-template-columns:130px minmax(0,1fr); gap:24px; align-items:start; }
.honor-year-stamp { padding:18px 10px; background:linear-gradient(145deg,#10252d,#03090b); border:1px solid rgba(10,116,155,.7); text-align:center; }
.honor-year-stamp small { display:block; color:var(--lime); font:700 10px "Barlow Condensed",sans-serif; letter-spacing:1.5px; text-transform:uppercase; }
.honor-year-stamp strong { display:block; margin-top:4px; font:700 37px "Barlow Condensed",sans-serif; }
.honor-ledger ol { display:grid; gap:13px; margin:0; padding:0; list-style:none; }
.honor-nameplate { min-height:88px; display:grid; place-content:center; padding:23px 40px; text-align:center; }
.honor-nameplate strong,.honor-nameplate span { position:relative; z-index:1; display:block; }
.honor-nameplate strong { color:#dce0df; font:700 clamp(18px,1.7vw,25px)/1.08 Georgia,serif; text-shadow:0 2px #050708; text-transform:uppercase; }
.honor-nameplate span { margin-top:7px; color:var(--cyan); font:700 10px Inter,sans-serif; letter-spacing:1.2px; text-transform:uppercase; }
.honor-nameplate .plaque-screw{width:7px;height:7px}.honor-nameplate .screw-tl{top:13px;left:13px}.honor-nameplate .screw-tr{top:13px;right:13px}.honor-nameplate .screw-bl{bottom:13px;left:13px}.honor-nameplate .screw-br{right:13px;bottom:13px}
.honor-gap-note { margin:18px 0 0; color:rgba(230,230,230,.38); font-size:12px; font-style:italic; text-align:center; }

@media(max-width:900px){
  .honor-page{width:min(100% - 30px,720px);padding-top:104px}
  .honor-hero{min-height:820px}
  .honor-wall-console{grid-template-columns:1fr 1fr;width:100%}
  .honor-wall-selected{grid-column:1/-1;grid-row:1;width:min(430px,100%);margin:0 auto}
  .honor-wall-years-left{grid-column:1;grid-row:2}
  .honor-wall-years-right{grid-column:2;grid-row:2}
  .honor-feature-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .honor-page{width:min(100% - 20px,520px)}
  .honor-wall-console{gap:16px 10px}
  .honor-wall-years{grid-template-columns:repeat(2,1fr)}
  .honor-modal{padding:10px}
  .honor-modal-plaque{width:96vw;height:84vh;aspect-ratio:auto;padding:48px 30px 40px}
  .honor-modal-plaque h2{margin-left:20px;margin-right:20px;font-size:clamp(29px,10vw,44px)}
  .honor-modal-bio{padding:0 8px 10px}
  .honor-section-heading{align-items:start;flex-direction:column}
  .honor-ledger-year{grid-template-columns:1fr}
}
