.student-works-section{padding:72px 0 90px;background:var(--soft)}
.student-works-grid{columns:3;column-gap:26px}
.student-work{display:inline-block;width:100%;margin:0 0 26px;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;break-inside:avoid}
.student-work>a{display:block;background:#edf1f4}
.student-work img{width:100%;height:auto;display:block}
.student-work figcaption{padding:22px;border-top:3px solid var(--yellow)}
.student-work h2{font:500 1.9rem/1.15 var(--serif);margin:0 0 14px;overflow-wrap:anywhere}
.student-work p{margin:0;font-size:1rem;line-height:1.7;white-space:pre-line;overflow-wrap:anywhere}
.works-empty{max-width:760px;padding:40px;background:#fff;border-left:4px solid var(--yellow)}
.works-empty h2{font:500 2.1rem/1.2 var(--serif);margin:0 0 14px}
.works-empty p{margin:0;color:var(--muted)}
.school-notice{position:fixed;inset:0;height:fit-content;width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:44px;border:0;border-top:7px solid var(--yellow);border-radius:8px;background:#fff;color:var(--ink);overflow:auto;box-shadow:0 28px 90px #0005}
.school-notice::backdrop{background:rgba(7,22,38,.75)}
.school-notice:not([open]){display:none}
.notice-close{position:absolute;right:14px;top:14px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--soft);color:var(--navy);font:400 1.8rem/1 Arial,sans-serif;cursor:pointer}
.school-notice h2{font:500 clamp(2rem,5vw,3rem)/1.12 var(--serif);margin:20px 0;overflow-wrap:anywhere;padding-right:12px}
.school-notice .eyebrow{padding-right:38px}
.notice-body{font-size:1rem;line-height:1.75;white-space:pre-line;overflow-wrap:anywhere}
.notice-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.notice-actions .button{border:1px solid var(--line);cursor:pointer;font:700 .9rem var(--sans);min-height:48px}
.notice-actions .button[hidden]{display:none}
.notice-actions .notice-dismiss{background:var(--soft);color:var(--navy)}
.notice-close:focus-visible,.notice-actions .button:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
@media(max-width:900px){.student-works-grid{columns:2}}
@media(max-width:620px){.student-works-grid{columns:1}.student-works-section{padding:48px 0 64px}.works-empty{padding:28px}.school-notice{padding:32px 24px}.notice-actions .button{width:100%;justify-content:center}}

body.notice-open{overflow:hidden}
