.student-gallery.honors-section{position:relative;isolation:isolate;padding:40px 0 54px;background:#f1f0e9;border:0;text-align:center}.student-gallery::before{content:'';position:absolute;inset:0;z-index:-1;background:url('/img/student-gallery-pattern.png') repeat;opacity:.08;pointer-events:none}.student-gallery-inner{width:min(1560px, calc(100% - 48px));margin-inline:auto}.student-gallery-eyebrow{display:inline-block;padding:5px 16px;border:1px solid #d5c59e;border-radius:99px;background:#fbf7eb;color:#765822;font-size:12px;font-weight:700}.student-gallery h2{margin:10px 0 0;color:#183e39;font-size:clamp(29px, 3vw, 44px);line-height:1.5;letter-spacing:-.6px}.student-gallery-intro{max-width:740px;margin:8px auto 0;color:#526560;font-size:clamp(15px, 1.25vw, 18px);line-height:2}.student-gallery-hint{display:inline-flex;align-items:center;gap:8px;margin:19px auto 10px;padding:8px 16px;border-radius:99px;background:#fffaf0;color:#365b4d;font-size:12px}.student-gallery-hint::before{content:'✦';color:#aa7830;font-size:15px}.student-gallery-grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:34px 38px;width:min(1120px, 100%);margin-inline:auto;direction:rtl;transition:opacity .35s ease}.student-gallery-stage{position:relative;display:grid;align-items:center;padding:24px 0}.student-gallery-stage:has(.student-gallery-grid:empty){display:none}.student-gallery-stage.is-assembling,.student-gallery-stage.is-assembled,.student-gallery-stage.is-dispersing{min-height:clamp(480px, 76vw, 850px)}.student-gallery-stage.is-assembling .student-gallery-grid,.student-gallery-stage.is-assembled .student-gallery-grid,.student-gallery-stage.is-dispersing .student-gallery-grid{opacity:0;pointer-events:none}.student-gallery-mosaic{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);width:min(960px, calc(100% - 88px));aspect-ratio:6 / 4;padding:0;border:0;border-radius:0;background:#cfddd5;box-shadow:0 18px 45px #173c302f, 0 3px 9px #173c301c;cursor:pointer}.student-gallery-piece{position:absolute;box-sizing:border-box;border:1px solid #0005;background-repeat:no-repeat;transform-origin:top left;transition:transform .9s cubic-bezier(.2,.7,.2,1);pointer-events:none}.student-gallery-piece-empty{background:linear-gradient(140deg,#cbded6,#95b2a3)}.student-gallery-actions{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);width:min(960px, calc(100% - 88px));aspect-ratio:6 / 4;pointer-events:none}.student-gallery-actions button{position:absolute;min-width:52px;min-height:52px;padding:0;border:1px solid #cfdbd3;border-radius:50%;background:#fff;color:#1b5145;box-shadow:0 7px 20px #173c302d;cursor:pointer;pointer-events:auto;transition:background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease}.student-gallery-actions button:hover:not(:disabled){background:#1d5247;color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px #173c303e}.student-gallery-actions button:disabled{opacity:.42;cursor:default;box-shadow:none}.student-gallery-actions .student-gallery-next,.student-gallery-actions .student-gallery-prev{font-size:25px;line-height:1}.student-gallery-actions .student-gallery-next{left:-65px;top:calc(50% - 26px)}.student-gallery-actions .student-gallery-prev{right:-65px;top:calc(50% - 26px)}.student-gallery-actions .student-gallery-back{top:-58px;right:0;min-width:0;min-height:0;padding:7px 14px;border-radius:99px;font-size:12px;font-weight:700}.student-gallery-actions .student-gallery-back::before{content:'↗';margin-left:7px}.student-gallery-actions .student-gallery-info{left:50%;bottom:-59px;transform:translateX(-50%);min-width:190px;min-height:50px;padding:8px 22px;border:1px solid #184c40;border-radius:99px;background:#1d5247;color:#fff;font-size:14px;font-weight:700;white-space:nowrap}.student-gallery-actions .student-gallery-info::after{content:' ←'}.student-gallery-actions .student-gallery-info:hover:not(:disabled){background:#123f35;transform:translate(-50%,-2px)}.student-gallery-selected{position:absolute;right:0;top:calc(100% + 18px);max-width:calc(50% - 110px);margin:0;text-align:right;color:#24483f;line-height:1.55}.student-gallery-selected strong{display:block;font-size:15px}.student-gallery-selected span{display:block;color:#5a6f65;font-size:11px}.student-gallery-position{position:absolute;left:0;top:calc(100% + 23px);padding:3px 12px;border:1px solid #d6dfd5;border-radius:99px;background:#ffffffb8;color:#305c4e;font-size:12px;direction:ltr}.student-gallery-mosaic[hidden], .student-gallery-actions[hidden]{display:none}.student-gallery-tile{display:block;flex:0 0 auto;width:min(155px, 100%);aspect-ratio:1;padding:5px;border:1px solid #e6e2d7;border-radius:0;background:#fff;box-shadow:0 9px 22px #163c302b, 0 2px 5px #163c3019;transform:rotate(-5deg);transition:transform .22s ease, box-shadow .22s ease}.student-gallery-tile:nth-child(6n + 2){transform:rotate(5deg)}.student-gallery-tile:nth-child(6n + 3){transform:rotate(-8deg)}.student-gallery-tile:nth-child(6n + 4){transform:rotate(7deg)}.student-gallery-tile:nth-child(6n + 5){transform:rotate(-3deg)}.student-gallery-tile:nth-child(6n + 6){transform:rotate(6deg)}.student-gallery-tile:hover,.student-gallery-tile:focus-visible{position:relative;z-index:1;transform:rotate(0) scale(1.07);box-shadow:0 18px 32px #163c3040}.student-gallery-tile:focus-visible,.student-gallery-mosaic:focus-visible,.student-gallery-actions button:focus-visible,.student-gallery-close:focus-visible{outline:3px solid #b47d32;outline-offset:5px}.student-gallery-tile::after{content:attr(data-name);position:absolute;inset-inline:5px;bottom:5px;padding:5px 4px;background:#183e39e8;color:#fff;font-size:11px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .18s ease}.student-gallery-tile:hover::after,.student-gallery-tile:focus-visible::after{opacity:1}.student-gallery-tile img,.student-gallery-placeholder{display:grid;place-items:center;width:100%;height:100%;object-fit:cover}.student-gallery-placeholder{background:#cbded6;color:#52786b;font-size:60px}.student-gallery .empty-state{margin-top:12px}.student-gallery-dialog{width:min(540px, calc(100% - 28px));max-width:540px;max-height:calc(100dvh - 24px);padding:0;border:1px solid #dfe6dc;border-radius:20px;background:#fffdf8;color:#1e4038;box-shadow:0 25px 70px #061e1780}.student-gallery-dialog::backdrop{background:#102d27ba;backdrop-filter:blur(4px)}.student-gallery-dialog-inner{position:relative;padding:34px 38px 38px}.student-gallery-dialog-eyebrow{color:#9a712f;font-size:12px;font-weight:700}.student-gallery-details{align-self:center;overflow-wrap:anywhere}.student-gallery-details h3{margin:5px 0 8px;font-size:28px;line-height:1.5}.student-gallery-details p{margin:8px 0;color:#52675d}.student-gallery-details strong{display:block;margin:22px 0 15px;padding:13px 16px;border-right:3px solid #bc9147;border-radius:8px 0 0 8px;background:#f8f3e6;color:#295c4a;font-size:17px}.student-gallery-close{border:1px solid #dce6de;border-radius:50%;background:#fff;color:#214f42}.student-gallery-close{position:absolute;top:16px;left:16px;width:40px;height:40px;line-height:1;font-size:24px}.student-gallery-close:hover{background:#eaf2ec}@media (max-width:600px){.student-gallery.honors-section{padding:32px 0 42px}.student-gallery-inner{width:calc(100% - 28px)}.student-gallery-intro{margin:8px auto 0;font-size:15px}.student-gallery-hint{margin:16px auto 0;padding:7px 12px;font-size:11px}.student-gallery-stage{padding:22px 0}.student-gallery-grid{gap:24px 15px}.student-gallery-tile{width:min(145px, calc((100% - 15px) / 2))}.student-gallery-actions .student-gallery-next{left:-49px}.student-gallery-actions .student-gallery-prev{right:-49px}.student-gallery-selected{top:calc(100% + 70px);right:0;max-width:100%;width:100%;text-align:center}.student-gallery-selected strong{font-size:13px}.student-gallery-selected span{font-size:10px}.student-gallery-position{top:-48px;left:0}.student-gallery-dialog-inner{padding:48px 24px 26px}.student-gallery-details h3{font-size:22px}}@media (prefers-reduced-motion:reduce){.student-gallery-tile,.student-gallery-grid,.student-gallery-piece,.student-gallery-actions button,.student-gallery-tile::after{transition:none}}