.class-photos-page{background:#0d1b1b}.class-photos-main{margin-right:var(--rail)}.cycle-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.cycle-scroll-region{position:relative}.cycle-viewport{height:100svh;position:sticky;top:0;overflow:clip;background:#0d1b1b}.cycle-topline{position:absolute;top:3.5svh;right:4vw;left:4vw;display:flex;align-items:center;gap:35px;color:#b7c5ca;font-size:18px;z-index:1}.cycle-topline a{color:inherit;text-decoration:none}.cycle-current-year{margin-right:auto;color:#d1a941}.cycle-track{position:absolute;right:0;top:13svh;display:flex;direction:rtl;align-items:start;gap:8.4svh;padding:0 12svh;width:max-content;will-change:transform}.cycle-card{flex:none;width:min(78vw,103svh);margin:0;text-align:center}.cycle-open{position:relative;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;display:block}.cycle-frame{position:relative;display:block;padding:4.5%;background:linear-gradient(135deg,#4d3d21 0%,#d2bc7c 2%,#72603c 3.3%,#e9d9a5 4%,#6b5835 5%,#b9a06a 6%,#58482c 7%,#9d8759 50%,#e1cd94 94%,#6b5731 97%,#cdb679 98%,#4b3c24);box-shadow:inset 0 0 0 1px #d7c286,0 8px 20px #0004;transition:filter .4s}.cycle-frame:after{content:'';position:absolute;inset:3.7%;border:2px solid #302b1b;box-shadow:0 0 0 1px #e3cc8b,inset 0 0 4px #000;pointer-events:none}.cycle-card-image{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:contain;background:#101b19}.cycle-open:hover .cycle-frame{filter:brightness(.78)}.cycle-view-icon{position:absolute;left:50%;top:50%;translate:-50% -50%;border:1px solid #e4c981;border-radius:50%;padding:17px;background:#152c2be8;color:#ecd8a7;font-size:24px;opacity:0;transition:opacity .25s;pointer-events:none}.cycle-open:hover .cycle-view-icon,.cycle-open:focus-visible .cycle-view-icon{opacity:1}.cycle-card figcaption{font-size:clamp(25px,5.5svh,55px);line-height:1.2;color:#d1a941;margin-top:1.2svh}.cycle-bottom{position:absolute;right:4vw;left:4vw;bottom:4svh;display:flex;align-items:center;gap:30px;font-size:18px;color:#cfc4ab}.cycle-scroll-instruction{white-space:nowrap}.cycle-scroll-instruction span{margin-right:16px}.cycle-scroll-track{flex:1;height:1px;background:#bfa76c44;overflow:hidden;direction:ltr}.cycle-scroll-track>span{height:100%;display:block;background:#d1a941;transform:scaleX(var(--cycle-progress,0));transform-origin:right}.cycle-bottom nav{display:flex;gap:12px}.cycle-bottom button,.cycle-lightbox button{border:1px solid #d1a94180;color:#e0c681;background:#152725;border-radius:50%;width:44px;height:44px;cursor:pointer}.cycle-bottom button:hover,.cycle-lightbox button:hover{background:#4b4932}.cycle-bottom button:disabled{opacity:.25;cursor:default}.cycle-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#050b0bf5;color:#eeecdd;overflow:hidden;overscroll-behavior:contain}.cycle-lightbox::backdrop{background:#000c}.cycle-viewer-top{position:absolute;top:18px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;z-index:3;font-size:25px;color:#dac18b}.cycle-lightbox [data-cycle-close]{font:36px/1 sans-serif}.cycle-image-viewport{position:absolute;inset:80px 85px 95px;overflow:hidden;display:flex;align-items:center;justify-content:center;direction:ltr;touch-action:none;user-select:none}.cycle-full-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform:translate(var(--pan-x,0px),var(--pan-y,0px)) scale(var(--zoom,1));transform-origin:center;cursor:zoom-in;will-change:transform}.cycle-full-image.is-zoomed{cursor:grab}.cycle-full-image.is-dragging{cursor:grabbing}.cycle-image-status{position:absolute;top:12px;left:50%;translate:-50% 0;padding:8px 15px;background:#132624e8;color:#e1d8c5;font-size:18px}.cycle-image-status:empty{display:none}.cycle-viewer-prev,.cycle-viewer-next{position:absolute;top:50%;z-index:3}.cycle-viewer-prev{right:20px}.cycle-viewer-next{left:20px}.cycle-viewer-bottom{position:absolute;left:24px;right:24px;bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:17px;color:#c5c5af}.cycle-zoom-controls{display:flex;gap:13px;align-items:center;direction:ltr}.cycle-lightbox [data-zoom-reset]{width:auto;padding:0 18px;border-radius:22px;font-size:17px}.cycle-zoom-label{min-width:53px;text-align:center;font:15px sans-serif}.cycle-lightbox button:disabled{opacity:.3;cursor:default}body.cycle-modal-open{overflow:hidden}
@media(max-width:700px){.cycle-track{padding:0 7vw;gap:9vw;top:23svh}.cycle-card{width:78vw}.cycle-topline{top:7svh;font-size:17px;gap:20px;flex-wrap:wrap}.cycle-topline>span:not(.cycle-current-year){font-size:29px;color:#d1a941}.cycle-current-year{width:100%;margin:0}.cycle-bottom{bottom:8svh;gap:15px;flex-wrap:wrap}.cycle-scroll-instruction{font-size:17px}.cycle-scroll-track{min-width:80px}.cycle-bottom nav{gap:7px}.cycle-bottom button{width:36px;height:36px}.cycle-card figcaption{font-size:32px;margin-top:20px}.cycle-view-icon{opacity:1;font-size:18px;padding:11px}.cycle-image-viewport{inset:90px 12px 150px}.cycle-viewer-prev,.cycle-viewer-next{top:auto;bottom:90px}.cycle-viewer-bottom{bottom:15px;display:flex;flex-direction:column-reverse;gap:12px;font-size:14px;text-align:center}.cycle-viewer-help{max-width:290px}.cycle-viewer-top{font-size:22px;right:15px;left:15px}.cycle-zoom-controls{gap:10px}}
@media(prefers-reduced-motion:reduce){.cycle-frame,.cycle-view-icon{transition:none}}

html:has(.class-photos-page){scrollbar-gutter:stable}

/* Original transparent frame exported from the Figma asset, with its design image slot. */
.cycle-track{top:23svh;gap:7svh;padding:0 8svh}
.cycle-card{width:min(42vw,62svh,760px)}
.cycle-frame{aspect-ratio:926/626;padding:0;background:none;box-shadow:none}
.cycle-frame:after{inset:0;border:0;box-shadow:none;background:url('/assets/class-photo-frame.png') center/100% 100% no-repeat;z-index:1}
.cycle-card-image{position:absolute;left:7.235%;top:8.307%;width:82.397%;height:81.31%;aspect-ratio:auto;object-fit:contain;background:#101b19}
.cycle-card figcaption{font-size:clamp(28px,4svh,46px);margin-top:2svh}
.cycle-view-icon{width:56px;height:56px;display:grid;place-items:center;padding:0;line-height:1;background:#142c2bea;z-index:2;opacity:0;border:1px solid #ddc68d;box-shadow:0 3px 16px #0005}
.cycle-view-icon svg{display:block}
.cycle-viewer-year{position:absolute;bottom:112px;left:80px;right:80px;text-align:center;color:#dec183;font-size:clamp(24px,3.2svh,37px);line-height:1.2;z-index:3}
.cycle-image-viewport{inset:75px 85px 165px}
.cycle-viewer-bottom{bottom:18px;padding:12px 16px;background:#152725;border:1px solid #b69a5d80;border-radius:5px;z-index:4}
.cycle-zoom-controls{gap:12px}
.cycle-lightbox .cycle-zoom-controls button{width:48px;height:48px;background:#d9bd78;color:#142a28;border-color:#ead8a8;font-family:Arial,sans-serif;font-size:27px;line-height:1;display:grid;place-items:center}
.cycle-lightbox .cycle-zoom-controls [data-zoom-reset]{width:auto;min-width:130px;font-family:Lava,serif;font-size:18px;padding:0 17px}
@media(max-width:700px){.cycle-track{top:27svh;padding:0 6vw;gap:8vw}.cycle-card{width:72vw}.cycle-card figcaption{font-size:29px}.cycle-view-icon{width:44px;height:44px;opacity:1}.cycle-image-viewport{inset:80px 12px 245px}.cycle-viewer-year{bottom:195px;left:10px;right:10px;font-size:25px}.cycle-viewer-bottom{left:12px;right:12px;bottom:15px;gap:10px;padding:10px}.cycle-zoom-controls{gap:8px}.cycle-lightbox .cycle-zoom-controls button{width:42px;height:42px}.cycle-lightbox .cycle-zoom-controls [data-zoom-reset]{min-width:110px;font-size:16px;padding:0 12px}}

@media(max-width:700px){.cycle-viewer-prev,.cycle-viewer-next{bottom:148px;top:auto}}
