.op-award-history { max-inline-size:74rem; margin-inline:auto; padding:clamp(3rem,6vw,5rem) 1.5rem; }
.op-award-intro { max-inline-size:54rem; margin-block-end:3rem;
 .op-kicker { font-size:.8rem; letter-spacing:.15em; text-transform:uppercase; color:var(--op-clay); }
 h1 { font-weight:400; font-size:clamp(2.4rem,5vw,4.25rem); line-height:1.15; margin:1rem 0 1.5rem; }
 >p:not(.op-kicker) { font-size:clamp(1.1rem,2vw,1.4rem); max-inline-size:42rem; line-height:1.6; }
}
.op-award-years { display:flex; flex-wrap:wrap; gap:.6rem; padding:1.5rem; background:#e7dcc0; align-items:center; margin-block-end:3rem;
 >span { flex-basis:100%; font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; margin-block-end:.4rem; }
 a { display:inline-block; border:1px solid #b9ac91; padding:.6rem .9rem; text-decoration:none; background:#fff9; &:hover { background:var(--op-slate); color:#fff; } }
}
.op-award-year { border-block-start:1px solid #cec9bf; padding-block:2.5rem; >h2 { font-size:clamp(2.2rem,4vw,3.25rem); margin:0 0 1.5rem; color:var(--op-clay); font-weight:400; letter-spacing:normal; } }
.op-award-programs { display:grid; gap:1.5rem; align-items:start; }
.op-award-program { padding:clamp(1.25rem,3vw,2.25rem); background:#fff; min-inline-size:0;
 >header { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:1.25rem; align-items:center; margin-block-end:2rem;
 img { max-block-size:10rem; inline-size:100%; object-fit:contain; }
 p { color:#666; font-size:.8rem; line-height:1.5; margin:0 0 .5rem; }
 h3 { font-size:clamp(1.2rem,2vw,1.5rem); line-height:1.3; font-weight:400; margin:0; }
 }
 h4 { font-size:.8rem; text-transform:uppercase; letter-spacing:.1em; color:var(--op-clay); margin:0 0 1rem; }
 ul { padding-inline-start:1.2rem; margin-block:0 1.5rem; } li { padding-inline-start:.15rem; margin-block-end:.65rem; line-height:1.6; }
 .op-award-program-link { color:var(--op-clay); font-size:.85rem; display:inline-block; margin-block-start:1.25rem; }
}
.op-award-finalists { border-block:1px solid #ddd7cd; padding-block:1rem;
 summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:1rem; font-size:.95rem; &::-webkit-details-marker { display:none; } span { font-size:1.2rem; } }
 &[open] summary { margin-block-end:1rem; span { transform:rotate(45deg); } }
 ul { margin-block-end:0; color:#555; }
}
.op-awards-page .op-awards.has-labels { background:#eee8d8; padding-block:4rem;
 ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:1.25rem; max-inline-size:68rem; margin-inline:auto; }
 li { min-inline-size:0; padding:1.25rem; background:#fff; display:flex; flex-direction:column; justify-content:center; align-items:center; }
 li a { display:flex; flex-direction:column; align-items:center; inline-size:100%; text-decoration:none; }
 li img { inline-size:100%; max-inline-size:10rem; block-size:8rem; object-fit:contain; }
 .op-award-label { display:block; font-size:.85rem; line-height:1.5; margin-block-start:1rem; text-align:center; }
}
@media (min-width:780px) { .op-award-programs { grid-template-columns:repeat(2,minmax(0,1fr)); } .op-awards-page .op-awards.has-labels ul { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (min-width:1100px) { .op-award-year { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,7fr); gap:2rem; } .op-awards-page .op-awards.has-labels ul { grid-template-columns:repeat(4,minmax(0,1fr)); } }
