/* Homepage additions only. */
.portrait-slides{position:relative;height:440px;overflow:hidden;background:var(--wash)}
.portrait-slide{position:absolute;inset:0;overflow:hidden;opacity:0;transition:opacity .9s ease;pointer-events:none}
.portrait-slide.is-active{opacity:1;z-index:1}
.portrait-slide .portrait-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 23%}
.portrait-slide.photo-yearbook .portrait-img{width:300%;height:auto;max-width:none;left:-187%;top:0;right:auto;bottom:auto;object-fit:fill;transform:translateY(-28.5%)}
.portrait-controls{position:absolute;inset:0;z-index:3;pointer-events:none}
.portrait-controls button{pointer-events:auto;border:1px solid #d7c9b4;background:rgba(255,252,246,.88);color:var(--brown);box-shadow:0 1px 7px #0001}
.portrait-prev,.portrait-next{position:absolute;top:50%;transform:translateY(-50%);width:31px;height:40px;padding:0;font:29px/1 Georgia,serif}
.portrait-prev{left:12px}.portrait-next{right:12px}
.portrait-pause{position:absolute;top:12px;right:12px;min-width:48px;padding:4px 10px;font-size:12px;line-height:1.5}
.portrait-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:2px;background:rgba(53,46,41,.25);border-radius:20px;padding:0 4px}
.portrait-dots button{width:27px;height:29px;padding:0;position:relative;background:transparent;border:0;box-shadow:none}
.portrait-dots button:after{content:"";position:absolute;top:10px;left:9px;width:9px;height:9px;border:1px solid #fff;background:transparent;border-radius:50%}
.portrait-dots button[aria-pressed="true"]:after{background:#fff}
.portrait-credit{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid var(--rule);padding:9px 3px 11px;font-size:10px;color:var(--muted);line-height:1.6}
.portrait-credit>a:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portrait-credit>a:last-child{white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.portrait-carousel .portrait-years{white-space:nowrap;font-family:var(--sans);font-size:12px;letter-spacing:.06em}
.quick-links.has-game{grid-template-columns:repeat(5,minmax(0,1fr))}
.quick-links.has-game .quick-link{min-width:0;padding-left:19px;padding-right:19px}
.quick-links.has-game .quick-link:first-child{padding-left:0}
.quick-links.has-game .quick-link:last-child{padding-right:0}
.quick-links.has-game .quick-link small{font-size:11px;letter-spacing:.035em}
@media(max-width:1100px){.portrait-slides{height:420px}.quick-links.has-game .quick-link{padding-left:12px;padding-right:12px}.quick-links.has-game .quick-link b{font-size:17px}.quick-links.has-game .quick-link small{font-size:10px}}
@media(max-width:850px){.portrait-slides{height:385px}.quick-links.has-game{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-links.has-game .quick-link{padding:21px 17px}.quick-links.has-game .quick-link:nth-child(2){padding-right:0}.quick-links.has-game .quick-link:nth-child(3){padding-left:0}.quick-links.has-game .quick-link:last-child{grid-column:1/-1;border-top:1px solid var(--rule);padding-left:0;padding-right:0}.quick-links.has-game .quick-link small{font-size:11px}.portrait-credit{font-size:9px;gap:8px}}
@media(max-width:600px){.portrait-slides{height:350px}.quick-links.has-game .quick-link{padding:17px 12px}.quick-links.has-game .quick-link b{font-size:16px}.quick-links.has-game .quick-link small{font-size:10px}.portrait-prev{left:9px}.portrait-next{right:9px}.portrait-pause{top:9px;right:9px}}
@media(prefers-reduced-motion:reduce){.portrait-slide{transition:none}}

/* AI-enhanced 1914 photo is a standalone portrait; keep the graduation cap visible. */
.portrait-slide.photo-restored1914 .portrait-img{object-position:center 7%}
