.hnue75-form { background:#fff; border:1px solid #d9e1ea; border-radius:18px; padding:clamp(18px,4vw,34px); box-shadow:0 14px 40px rgba(0,38,77,.08); }
.hnue75-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.hnue75-form p { margin:0; }
.hnue75-form label, .hnue75-lookup label { display:grid; gap:7px; font-weight:700; color:#23364a; }
.hnue75-form label span { color:#b42318; }
.hnue75-form input[type=text], .hnue75-form input[type=email], .hnue75-form input[type=tel], .hnue75-form input[type=number], .hnue75-form input[type=url], .hnue75-form select, .hnue75-form textarea, .hnue75-lookup input { width:100%; min-height:46px; border:1px solid #cdd8e3; border-radius:10px; padding:10px 12px; font:inherit; background:#fff; }
.hnue75-form textarea { min-height:110px; resize:vertical; }
.hnue75-form input:focus, .hnue75-form textarea:focus, .hnue75-form select:focus, .hnue75-lookup input:focus { outline:3px solid rgba(11,79,138,.14); border-color:#0b4f8a; }
.hnue75-span-2 { grid-column:1/-1; }
.hnue75-form fieldset { border:1px solid #d9e1ea; border-radius:12px; padding:14px 16px; display:flex; gap:18px; flex-wrap:wrap; }
.hnue75-form fieldset label, .hnue75-consent { display:flex !important; align-items:flex-start; gap:8px; font-weight:500 !important; }
.hnue75-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 18px; border:0; border-radius:10px; background:#ffc82e; color:#18324d; font-weight:900; cursor:pointer; text-decoration:none; }
.hnue75-button:hover { filter:brightness(.97); color:#18324d; transform:translateY(-1px); }
.hnue75-alert { margin:0 0 18px; padding:14px 16px; border-radius:12px; background:#eef4fa; border:1px solid #bdd2e6; }
.hnue75-success { background:#ecfdf3; border-color:#8ed4aa; color:#0f5d32; }
.hnue75-error { background:#fff1f0; border-color:#f0aaa5; color:#8a1c14; }
.hnue75-honeypot { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; }
.hnue75-lookup { display:flex; gap:10px; align-items:end; max-width:620px; margin-bottom:20px; }
.hnue75-lookup label { flex:1; }
.hnue75-ticket { max-width:620px; border:2px solid #003366; border-radius:18px; padding:24px; background:linear-gradient(135deg,#fff,#f3f7fb); }
.hnue75-ticket-code { font-size:1.45rem; font-weight:900; color:#003366; letter-spacing:.06em; }
.hnue75-sponsors { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.hnue75-sponsor { min-height:130px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:18px; border:1px solid #d9e1ea; border-radius:14px; background:#fff; text-align:center; }
.hnue75-sponsor img { max-height:72px; width:auto; object-fit:contain; }
.hnue75-sponsor span { color:#6b7280; font-size:.85rem; }
.hnue75-documents { display:grid; gap:12px; }
.hnue75-document { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:18px; border:1px solid #d9e1ea; border-radius:14px; background:#fff; }
.hnue75-document h3 { margin:3px 0 0; }
.hnue75-document span { color:#0b4f8a; font-weight:800; font-size:.85rem; }
@media (max-width:800px) { .hnue75-form-grid { grid-template-columns:1fr; } .hnue75-span-2 { grid-column:auto; } .hnue75-sponsors { grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px) { .hnue75-lookup, .hnue75-document { display:block; } .hnue75-lookup .hnue75-button, .hnue75-document .hnue75-button { margin-top:10px; width:100%; } .hnue75-sponsors { grid-template-columns:1fr; } }

.hnue75-sponsorship-box { margin:0 0 28px; padding:22px 24px; border:1px solid #d9e1ea; border-left:5px solid #ffc82e; border-radius:16px; background:linear-gradient(135deg,#fffdf5,#fff); }
.hnue75-sponsorship-box h2 { margin-top:0; }
.hnue75-sponsorship-contact { margin-top:16px; padding-top:14px; border-top:1px solid #d9e1ea; }

/* v1.2: bảng tài trợ, thông tin khóa và cảm nhận – lưu bút */
.hnue75-table-scroll { width:100%; overflow-x:auto; border:1px solid #d9e1ea; border-radius:16px; background:#fff; box-shadow:0 10px 30px rgba(0,38,77,.06); }
.hnue75-sponsor-table { width:100%; min-width:760px; border-collapse:collapse; margin:0; }
.hnue75-sponsor-table th, .hnue75-sponsor-table td { padding:14px 16px; border-bottom:1px solid #e5ebf1; text-align:left; vertical-align:top; }
.hnue75-sponsor-table thead th { background:#003366; color:#fff; font-weight:800; white-space:nowrap; }
.hnue75-sponsor-table tbody tr:nth-child(even) { background:#f8fbfe; }
.hnue75-sponsor-table tbody tr:hover { background:#fff8df; }
.hnue75-sponsor-table td:first-child, .hnue75-sponsor-table th:first-child { width:68px; text-align:center; }
.hnue75-sponsor-table tfoot th { background:#eef4fa; color:#003366; border-bottom:0; }
.hnue75-money { white-space:nowrap; font-weight:800; color:#0b4f8a; }

.hnue75-cohort-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.hnue75-cohort-card { overflow:hidden; border:1px solid #d9e1ea; border-radius:18px; background:#fff; box-shadow:0 12px 34px rgba(0,38,77,.08); transition:transform .2s ease, box-shadow .2s ease; }
.hnue75-cohort-card:hover { transform:translateY(-4px); box-shadow:0 18px 42px rgba(0,38,77,.13); }
.hnue75-cohort-image { display:flex; align-items:center; justify-content:center; aspect-ratio:16/10; overflow:hidden; background:linear-gradient(135deg,#e9f1f8,#f7fafc); color:#6b7280; text-align:center; }
.hnue75-cohort-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.hnue75-cohort-card:hover .hnue75-cohort-image img { transform:scale(1.03); }
.hnue75-cohort-body { padding:20px; }
.hnue75-cohort-years { display:inline-block; margin-bottom:8px; color:#0b4f8a; font-size:.82rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.hnue75-cohort-body h3 { margin:0 0 9px; color:#003366; }
.hnue75-cohort-body p { margin:0 0 14px; color:#5d6877; }
.hnue75-text-link { font-weight:800; color:#0b4f8a; }

.hnue75-guestbook-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:22px; align-items:stretch; }
.hnue75-guestbook-entry { position:relative; display:flex; flex-direction:column; min-width:0; min-height:290px; padding:28px 26px 24px; border:1px solid #d9e1ea; border-radius:20px; background:#fff; box-shadow:0 12px 34px rgba(0,38,77,.08); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; overflow:hidden; }
.hnue75-guestbook-entry:hover { transform:translateY(-3px); border-color:#b9cede; box-shadow:0 18px 42px rgba(0,38,77,.13); }
.hnue75-quote-mark { position:absolute; top:8px; right:18px; color:#ffc82e; font-family:Georgia,serif; font-size:4.2rem; line-height:1; opacity:.9; }
.hnue75-guestbook-content { position:relative; z-index:1; color:#314258; font-size:1rem; line-height:1.7; }
.hnue75-guestbook-content p { display:-webkit-box; margin:0; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:6; line-clamp:6; }
.hnue75-guestbook-entry footer { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-top:auto; padding-top:18px; border-top:1px solid #e4eaf0; }
.hnue75-guestbook-author { display:grid; gap:4px; min-width:0; }
.hnue75-guestbook-entry footer strong { color:#003366; font-size:1.02rem; }
.hnue75-guestbook-entry footer span, .hnue75-guestbook-entry footer time { color:#6b7280; font-size:.84rem; }
.hnue75-guestbook-entry footer time { flex:0 0 auto; }
.hnue75-guestbook-read { display:inline-flex; align-items:center; gap:7px; align-self:flex-start; margin-top:16px; padding:0; border:0; background:transparent; color:#0b4f8a; font:inherit; font-weight:800; cursor:pointer; }
.hnue75-guestbook-read:hover, .hnue75-guestbook-read:focus-visible { color:#003366; text-decoration:underline; }
.hnue75-guestbook-read:focus-visible { outline:3px solid rgba(11,79,138,.18); outline-offset:4px; border-radius:4px; }
.hnue75-guestbook-dialog { width:min(760px,calc(100% - 28px)); max-height:min(86vh,900px); padding:0; border:0; border-radius:22px; background:#fff; color:#24364a; box-shadow:0 30px 90px rgba(0,25,50,.34); }
.hnue75-guestbook-dialog::backdrop { background:rgba(0,25,50,.68); backdrop-filter:blur(3px); }
.hnue75-guestbook-dialog-inner { position:relative; max-height:inherit; overflow:auto; padding:clamp(28px,5vw,52px); }
.hnue75-dialog-close { position:sticky; z-index:3; top:0; float:right; display:grid; place-items:center; width:42px; height:42px; margin:-10px -10px 4px 18px; border:1px solid #d7e0e8; border-radius:50%; background:#fff; color:#003366; font-size:1.7rem; line-height:1; cursor:pointer; box-shadow:0 6px 20px rgba(0,38,77,.08); }
.hnue75-dialog-close:hover { background:#f3f7fb; }
.hnue75-dialog-quote { color:#ffc82e; font-family:Georgia,serif; font-size:5rem; line-height:.6; }
.hnue75-guestbook-dialog h2 { margin:10px 0 8px; color:#003366; font-size:clamp(1.55rem,3vw,2.2rem); }
.hnue75-guestbook-dialog-meta { display:flex; flex-wrap:wrap; gap:8px 16px; margin-bottom:26px; color:#68778a; font-size:.92rem; }
.hnue75-guestbook-full-content { font-size:1.05rem; line-height:1.85; }
.hnue75-guestbook-full-content > :first-child { margin-top:0; }
.hnue75-guestbook-full-content > :last-child { margin-bottom:0; }
.hnue75-guestbook-form-wrap { margin-top:42px; padding-top:34px; border-top:1px solid #d9e1ea; }
.hnue75-guestbook-form-wrap > h2 { margin-bottom:6px; }
.hnue75-form small { color:#6b7280; font-weight:400; }

@media (max-width:980px) {
  .hnue75-cohort-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .hnue75-cohort-grid { grid-template-columns:1fr; }
  .hnue75-guestbook-entry { min-height:260px; padding:24px 21px 21px; }
  .hnue75-guestbook-entry footer { align-items:flex-start; }
}

/* v1.3.1: bố cục tóm tắt theo chiều ngang + xem chi tiết */
.hnue75-summary-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:22px; align-items:stretch; }
.hnue75-summary-card { display:flex; flex-direction:column; min-width:0; border:1px solid #d9e1ea; border-radius:20px; background:#fff; box-shadow:0 12px 34px rgba(0,38,77,.08); overflow:hidden; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.hnue75-summary-card:hover { transform:translateY(-3px); border-color:#bfd1df; box-shadow:0 18px 42px rgba(0,38,77,.13); }
.hnue75-summary-card-media, .hnue75-detail-media { background:linear-gradient(135deg,#e9f1f8,#f7fafc); }
.hnue75-summary-card-media img, .hnue75-detail-media img { display:block; width:100%; height:auto; }
.hnue75-summary-card-media { aspect-ratio:16/9; overflow:hidden; }
.hnue75-summary-card-media img { width:100%; height:100%; object-fit:cover; }
.hnue75-summary-body, .hnue75-summary-card > .hnue75-cohort-body, .hnue75-summary-card > :not(.hnue75-summary-card-media):not(.hnue75-cohort-image) { padding:22px; }
.hnue75-summary-meta { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.hnue75-badge { display:inline-flex; align-items:center; min-height:30px; padding:0 12px; border-radius:999px; background:#eef4fa; color:#0b4f8a; font-size:.83rem; font-weight:800; line-height:1.2; }
.hnue75-summary-card h3 { margin:0 0 10px; color:#003366; font-size:clamp(1.18rem,2.3vw,1.55rem); line-height:1.32; }
.hnue75-summary-inline { margin:0 0 10px; color:#5f6f81; font-size:.94rem; }
.hnue75-summary-excerpt { margin:0; color:#314258; line-height:1.75; }
.hnue75-summary-read { display:inline-flex; align-items:center; gap:7px; margin-top:18px; padding:0; border:0; background:transparent; color:#0b4f8a; font:inherit; font-weight:800; cursor:pointer; }
.hnue75-summary-read:hover, .hnue75-summary-read:focus-visible { color:#003366; text-decoration:underline; }
.hnue75-summary-read:focus-visible { outline:3px solid rgba(11,79,138,.18); outline-offset:4px; border-radius:4px; }
.hnue75-summary-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
.hnue75-button-secondary { background:#eef4fa; color:#003366; }
.hnue75-detail-dialog { width:min(820px,calc(100% - 28px)); max-height:min(88vh,920px); padding:0; border:0; border-radius:22px; background:#fff; color:#24364a; box-shadow:0 30px 90px rgba(0,25,50,.34); }
.hnue75-detail-dialog::backdrop { background:rgba(0,25,50,.68); backdrop-filter:blur(3px); }
.hnue75-detail-dialog-inner { position:relative; max-height:inherit; overflow:auto; padding:clamp(28px,5vw,46px); }
.hnue75-detail-dialog h2 { margin:14px 0 8px; color:#003366; font-size:clamp(1.55rem,3vw,2.2rem); }
.hnue75-detail-meta { display:flex; flex-wrap:wrap; gap:8px 16px; margin-bottom:22px; color:#68778a; font-size:.94rem; }
.hnue75-detail-content { font-size:1.03rem; line-height:1.8; }
.hnue75-detail-content > :first-child { margin-top:0; }
.hnue75-detail-content > :last-child { margin-bottom:0; }
.hnue75-milestone-card, .hnue75-document-card { padding:22px; }
.hnue75-cohort-card .hnue75-cohort-image { display:flex; align-items:center; justify-content:center; aspect-ratio:16/10; overflow:hidden; background:linear-gradient(135deg,#e9f1f8,#f7fafc); color:#6b7280; text-align:center; }
.hnue75-cohort-card .hnue75-cohort-image img { width:100%; height:100%; object-fit:cover; }

@media (max-width:640px) {
  .hnue75-summary-card > .hnue75-cohort-body, .hnue75-summary-card > :not(.hnue75-summary-card-media):not(.hnue75-cohort-image) { padding:18px; }
  .hnue75-summary-actions { flex-direction:column; align-items:stretch; }
  .hnue75-summary-actions .hnue75-button { width:100%; }
}

/* v1.4: tùy chọn đăng ký dự tiệc và quà */
.hnue75-registration-options { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 18px !important; }
.hnue75-registration-options legend { grid-column:1/-1; padding:0 6px; font-weight:800; color:#003366; }
.hnue75-registration-options label { min-height:48px; padding:10px 12px; border:1px solid #d9e1ea; border-radius:10px; background:#f8fbfe; }
.hnue75-registration-options label:has(input:checked) { border-color:#0b4f8a; background:#eef6fd; }
@media (max-width:640px) { .hnue75-registration-options { grid-template-columns:1fr; } }
.hnue75-document-card .hnue75-summary-meta { align-items:center; justify-content:space-between; }
.hnue75-document-card .hnue75-summary-meta time { color:#6b7280; font-size:.84rem; }

/* v1.5: ảnh và video cho câu chuyện, lưu bút */
.hnue75-story-form-wrap { margin-top:42px; padding-top:34px; border-top:1px solid #d9e1ea; }
.hnue75-story-form-wrap > h2 { margin-bottom:6px; }
.hnue75-story-author { margin:14px 0 0; color:#657487; font-size:.9rem; }
.hnue75-guestbook-thumb { margin:-28px -26px 22px; aspect-ratio:16/9; overflow:hidden; background:#eef4fa; }
.hnue75-guestbook-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.hnue75-submission-media { display:grid; gap:24px; margin-top:30px; padding-top:24px; border-top:1px solid #d9e1ea; }
.hnue75-submission-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:14px; }
.hnue75-submission-gallery a { display:block; overflow:hidden; border-radius:14px; background:#eef4fa; box-shadow:0 8px 24px rgba(0,38,77,.08); }
.hnue75-submission-gallery img { display:block; width:100%; height:100%; min-height:180px; max-height:420px; object-fit:cover; transition:transform .25s ease; }
.hnue75-submission-gallery a:hover img { transform:scale(1.025); }
.hnue75-gallery-count-1 { grid-template-columns:minmax(0,1fr); }
.hnue75-gallery-count-1 img { object-fit:contain; background:#f5f8fb; }
.hnue75-video-embed { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; border-radius:16px; background:#001a2d; box-shadow:0 12px 34px rgba(0,38,77,.12); }
.hnue75-video-embed iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.hnue75-form input[type=file] { width:100%; min-height:46px; border:1px dashed #9fb4c8; border-radius:10px; padding:10px 12px; background:#f8fbfe; font:inherit; }
.hnue75-form input[type=file]::file-selector-button { margin-right:12px; padding:8px 12px; border:0; border-radius:8px; background:#eef4fa; color:#003366; font-weight:800; cursor:pointer; }
.hnue75-form input[type=file]:focus { outline:3px solid rgba(11,79,138,.14); border-color:#0b4f8a; }
.hnue75-upload-error { display:block; margin-top:7px; color:#b42318; font-size:.88rem; font-weight:700; }

@media (max-width:640px) {
  .hnue75-guestbook-thumb { margin:-24px -21px 20px; }
  .hnue75-submission-gallery { grid-template-columns:1fr; }
  .hnue75-submission-gallery img { min-height:0; max-height:none; }
}


/* v1.5.2: nhắc rõ giới hạn ảnh và liên kết khi gửi nội dung */
.hnue75-upload-rules { margin:18px 0 22px; padding:17px 20px; border:1px solid #bdd2e6; border-left:5px solid #ffc82e; border-radius:14px; background:linear-gradient(135deg,#f7fbff,#fffdf6); color:#24364a; }
.hnue75-upload-rules > strong { display:block; margin-bottom:8px; color:#003366; font-size:1.02rem; }
.hnue75-upload-rules ul { margin:0; padding-left:21px; }
.hnue75-upload-rules li + li { margin-top:6px; }
.hnue75-limit-badge { display:inline-flex; align-items:center; min-height:24px; margin-left:8px; padding:2px 9px; border-radius:999px; background:#fff4c2; color:#6b4d00 !important; font-size:.76rem; font-weight:900; vertical-align:middle; }
.hnue75-file-count { display:block; margin-top:7px; color:#0b4f8a; font-size:.88rem; font-weight:800; }
.hnue75-file-count.is-error { color:#b42318; }
.hnue75-file-count.is-ready { color:#0f6a3d; }
@media (max-width:640px) { .hnue75-upload-rules { padding:15px 16px; } .hnue75-limit-badge { display:table; margin:5px 0 0; } }

/* v1.5.3: câu chuyện trên trang chủ, đồng bộ cách đọc với lưu bút */
.hnue75-home-stories .hnue75-story-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); }
.hnue75-home-stories .hnue75-story-card { height:100%; }
.hnue75-home-stories .hnue75-story-card .hnue75-summary-body { display:flex; flex:1; flex-direction:column; }
.hnue75-home-stories .hnue75-story-card .hnue75-summary-excerpt { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:5; line-clamp:5; }
.hnue75-home-stories .hnue75-story-card .hnue75-summary-read { margin-top:auto; padding-top:16px; }

/* v1.5.4: ảnh đại diện câu chuyện/lưu bút theo chuẩn thumbnail WordPress */
.hnue75-story-card .hnue75-summary-card-media,
.hnue75-home-stories .hnue75-story-card .hnue75-summary-card-media,
.hnue75-guestbook-thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 0;
  max-height: 240px;
  overflow: hidden;
  background: #eef4fa;
}
.hnue75-story-card .hnue75-summary-card-media img,
.hnue75-home-stories .hnue75-story-card .hnue75-summary-card-media img,
.hnue75-guestbook-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center;
}
@media (max-width: 640px) {
  .hnue75-story-card .hnue75-summary-card-media,
  .hnue75-home-stories .hnue75-story-card .hnue75-summary-card-media,
  .hnue75-guestbook-thumb {
    max-height: 220px;
  }
}

/* v1.5.5: tách trang gửi bài khỏi danh sách nội dung đã công bố */
.hnue75-submission-form-only {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.hnue75-submission-form-only > h2 { margin-top: 0; }
.hnue75-submission-browse-link {
  margin: 18px 0 0;
  text-align: right;
}
.hnue75-submission-browse-link a {
  font-weight: 800;
  color: #0b4f8a;
}
.hnue75-submission-browse-link a:hover { color: #003366; text-decoration: underline; }
@media (max-width:640px) {
  .hnue75-submission-browse-link { text-align: left; }
}

/* v1.6.0: các thế hệ thầy cô, Khoa hôm nay và danh sách người ủng hộ */
.hnue75-teacher-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));
  gap:22px;
}
.hnue75-teacher-card {
  display:flex;
  min-width:0;
  overflow:hidden;
  flex-direction:column;
  border:1px solid #d9e1ea;
  border-top:4px solid #ffc82e;
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 36px rgba(0,38,77,.09);
}
.hnue75-teacher-photo {
  display:grid;
  width:100%;
  aspect-ratio:4/3;
  place-items:center;
  overflow:hidden;
  background:linear-gradient(135deg,#eaf1f7,#f8fafc);
  color:#6b7c8d;
  text-align:center;
}
.hnue75-teacher-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }
.hnue75-teacher-body { display:flex; flex:1; flex-direction:column; padding:22px; }
.hnue75-teacher-body h3 { margin:8px 0 5px; color:#003366; font-size:1.18rem; line-height:1.35; }
.hnue75-teacher-role { margin:0 0 11px; color:#0b4f8a; font-weight:800; }
.hnue75-teacher-body .hnue75-summary-read { margin-top:auto; padding-top:14px; }
.hnue75-teacher-dialog-photo { max-width:290px; margin:0 auto 24px; overflow:hidden; border-radius:16px; }
.hnue75-teacher-dialog-photo img { display:block; width:100%; height:auto; }
.hnue75-info-note { margin:20px 0; padding:16px 18px; border-left:4px solid #ffc82e; background:#fff8dc; }
.hnue75-source-note { margin-top:28px; color:#5d6877; font-size:.9rem; }

.hnue75-faculty-today { display:grid; gap:24px; }
.hnue75-current-intro { padding:18px 22px; border-left:5px solid #ffc82e; border-radius:12px; background:#f4f8fc; }
.hnue75-current-intro p { margin:0; }
.hnue75-current-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.hnue75-current-group { position:relative; min-height:220px; padding:30px 24px 24px; overflow:hidden; border:1px solid #d9e1ea; border-radius:18px; background:#fff; box-shadow:0 12px 34px rgba(0,38,77,.08); }
.hnue75-current-group::before { content:""; position:absolute; inset:0 0 auto; height:4px; background:#ffc82e; }
.hnue75-current-number { position:absolute; top:8px; right:18px; color:#e2eaf1; font-size:3.6rem; font-weight:900; line-height:1; }
.hnue75-current-group h3 { position:relative; margin:22px 0 12px; color:#003366; font-size:1.25rem; line-height:1.35; }
.hnue75-current-group p { position:relative; margin:0; color:#46576a; }
.hnue75-faculty-today.is-compact .hnue75-current-intro { display:none; }

.hnue75-contact-card { display:grid; grid-template-columns:1.1fr 1fr; gap:28px; padding:28px; border:1px solid #d9e1ea; border-top:5px solid #ffc82e; border-radius:18px; background:#fff; box-shadow:0 14px 38px rgba(0,38,77,.08); }
.hnue75-contact-card h2 { margin-top:0; color:#003366; }
.hnue75-contact-card p { margin:0 0 10px; }

.hnue75-supporter-summary { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 24px; margin-bottom:16px; }
.hnue75-supporter-summary p { margin:0; }
.hnue75-privacy-note { color:#5d6877; font-size:.9rem; }
.hnue75-sponsor-table { min-width:900px; }
.hnue75-sponsor-table th { white-space:nowrap; }

.hnue75-form select { width:100%; min-height:46px; border:1px solid #9fb4c8; border-radius:10px; padding:9px 12px; background:#fff; color:#172235; font:inherit; }
.hnue75-form select:focus { outline:3px solid rgba(11,79,138,.14); border-color:#0b4f8a; }

@media (max-width:900px) {
  .hnue75-current-groups { grid-template-columns:1fr; }
  .hnue75-contact-card { grid-template-columns:1fr; }
}
.hnue75-alumni-link-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0 0 28px; }
.hnue75-alumni-link-card { display:flex; flex-direction:column; gap:6px; padding:20px; border:1px solid #d9e1ea; border-left:5px solid #ffc82e; border-radius:14px; background:#fff; box-shadow:0 10px 28px rgba(0,38,77,.06); }
.hnue75-alumni-link-card strong { color:#003366; font-size:1.06rem; }
.hnue75-alumni-link-card span { color:#5d6877; font-size:.9rem; }
.hnue75-alumni-link-card:hover { transform:translateY(-2px); box-shadow:0 15px 34px rgba(0,38,77,.10); }
@media (max-width:800px) { .hnue75-alumni-link-grid { grid-template-columns:1fr; } }


/* v1.7.0: dynamic specialist groups */
.hnue75-current-groups {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.hnue75-current-group {
  display: flex;
  flex-direction: column;
  padding: 0;
}
.hnue75-current-group-image {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #eef4fa;
}
.hnue75-current-group-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hnue75-current-group-content {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 30px 24px 24px;
}
.hnue75-current-group h3 { margin-top: 14px; }
.hnue75-current-group-en {
  margin: -5px 0 12px !important;
  color: #60758a !important;
  font-size: .88rem;
  font-style: italic;
}
.hnue75-current-group-head {
  margin: 0 0 12px !important;
  color: #0b4f8a !important;
  font-size: .92rem;
}
.hnue75-current-group-focus { white-space: normal; }
.hnue75-current-group-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid #e5ebf1;
}
.hnue75-current-group-links a {
  font-size: .86rem;
  font-weight: 800;
}


/* v1.8.0: central people directory and dynamic group membership */
.hnue75-people-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
  gap:22px;
}
.hnue75-person-card {
  display:flex;
  min-width:0;
  overflow:hidden;
  flex-direction:column;
  border:1px solid #d9e1ea;
  border-top:4px solid #ffc82e;
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 36px rgba(0,38,77,.09);
  transition:transform .18s ease,box-shadow .18s ease;
}
.hnue75-person-card:hover { transform:translateY(-3px); box-shadow:0 20px 42px rgba(0,38,77,.13); }
.hnue75-person-photo {
  display:grid;
  width:100%;
  aspect-ratio:4/5;
  place-items:center;
  overflow:hidden;
  background:linear-gradient(145deg,#edf3f8,#f9fbfd);
}
.hnue75-person-photo img { display:block;width:100%;height:100%;object-fit:cover;object-position:center top; }
.hnue75-person-placeholder { font-size:4rem;opacity:.35; }
.hnue75-person-card-body { display:flex;flex:1;flex-direction:column;padding:20px; }
.hnue75-person-life { display:inline-flex;align-self:flex-start;padding:4px 9px;border-radius:999px;background:#eef4fa;color:#0b4f8a;font-size:.76rem;font-weight:800; }
.hnue75-person-card h3 { margin:10px 0 6px;color:#003366;font-size:1.14rem;line-height:1.35; }
.hnue75-person-card h3 a { color:inherit; }
.hnue75-person-role { margin:0 0 8px;color:#0b4f8a;font-weight:800; }
.hnue75-person-groups { margin:0 0 10px;color:#68778a;font-size:.86rem; }
.hnue75-person-excerpt { color:#45566a;font-size:.92rem; }
.hnue75-person-detail-link { margin-top:auto;padding-top:14px;border-top:1px solid #e7edf3;font-weight:800; }

.hnue75-person-profile { display:grid;gap:28px; }
.hnue75-person-profile-head { display:grid;grid-template-columns:minmax(180px,280px) minmax(0,1fr);gap:30px;align-items:start; }
.hnue75-person-profile-photo { overflow:hidden;border-radius:18px;background:#eef4fa;box-shadow:0 14px 36px rgba(0,38,77,.10); }
.hnue75-person-profile-photo img { display:block;width:100%;height:auto; }
.hnue75-person-profile-summary h1 { margin:0 0 12px;color:#003366;line-height:1.15; }
.hnue75-person-status { display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef4fa;color:#0b4f8a;font-size:.82rem;font-weight:800; }
.hnue75-person-profile-groups { margin:18px 0 0; }
.hnue75-person-facts { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0; }
.hnue75-person-facts > div { padding:14px 16px;border:1px solid #d9e1ea;border-radius:12px;background:#f9fbfd; }
.hnue75-person-facts dt { color:#5d6877;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em; }
.hnue75-person-facts dd { margin:5px 0 0;color:#172235;font-weight:700; }
.hnue75-person-section { padding-top:4px; }
.hnue75-person-section h2 { margin-bottom:12px;color:#003366; }
.hnue75-person-links { display:flex;flex-wrap:wrap;gap:10px; }
.hnue75-person-links a,.hnue75-person-links span { display:inline-flex;padding:8px 11px;border:1px solid #d9e1ea;border-radius:10px;background:#fff; }
.hnue75-person-backlinks { display:flex;flex-wrap:wrap;gap:10px 20px;padding-top:20px;border-top:1px solid #e5ebf1; }

.hnue75-group-member-summary { display:flex;align-items:center;gap:10px;margin-top:16px;color:#5d6877;font-size:.9rem; }
.hnue75-group-member-summary > strong { color:#003366;font-size:1.15rem; }
.hnue75-member-avatars { display:flex;margin-left:auto; }
.hnue75-member-avatar { width:34px!important;height:34px!important;margin-left:-8px;border:2px solid #fff;border-radius:50%;object-fit:cover;background:#eef4fa; }
.hnue75-group-profile { display:grid;gap:24px; }
.hnue75-group-hero { max-height:520px;overflow:hidden;border-radius:18px;background:#eef4fa; }
.hnue75-group-hero img { display:block;width:100%;height:100%;max-height:520px;object-fit:cover; }
.hnue75-group-profile h1 { margin:0;color:#003366; }
.hnue75-group-name-en { margin:-16px 0 0;color:#68778a;font-style:italic; }
.hnue75-group-meta { display:flex;flex-wrap:wrap;gap:10px 18px;padding:15px 18px;border:1px solid #d9e1ea;border-radius:12px;background:#f7fafc; }
.hnue75-group-members-section { padding-top:10px;border-top:1px solid #e5ebf1; }
.hnue75-group-members-section h2 { color:#003366; }

@media (max-width:760px) {
  .hnue75-person-profile-head { grid-template-columns:1fr; }
  .hnue75-person-profile-photo { max-width:320px; }
  .hnue75-person-facts { grid-template-columns:1fr; }
}


/* v1.8.1: teacher memories workflow */
.hnue75-teacher-memory-intro {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:0 0 24px;
  padding:18px 20px;
  border:1px solid #d6e2ed;
  border-left:5px solid #ffc82e;
  border-radius:14px;
  background:linear-gradient(135deg,#f7fbff,#fffdf6);
}
.hnue75-teacher-memory-intro strong { color:#003366;font-size:1.02rem; }
.hnue75-teacher-memory-intro p { margin:5px 0 0;color:#526277; }
.hnue75-memory-submit {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:42px;
  padding:8px 14px;
  border-radius:999px;
  background:#003366;
  color:#fff!important;
  font-weight:800;
}
.hnue75-memory-submit:hover { background:#0b4f8a;color:#fff!important; }
.hnue75-memory-submit.is-inline { display:inline-flex; }
.hnue75-teacher-memory-grid .hnue75-summary-card { overflow:hidden; }
.hnue75-teacher-memory-grid .hnue75-summary-card-media { display:block;aspect-ratio:16/9;overflow:hidden;background:#eef4fa; }
.hnue75-teacher-memory-grid .hnue75-summary-card-media img { width:100%;height:100%;object-fit:cover; }
@media (max-width:720px) {
  .hnue75-teacher-memory-intro { align-items:flex-start;flex-direction:column; }
}


/* v1.8.2: four-column teacher directory and pagination */
.hnue75-home-teachers-grid,
.hnue75-teacher-directory-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.hnue75-people-page-summary {
  margin: 18px 0 0;
  color: #5d6877;
  font-size: .88rem;
  text-align: center;
}
.hnue75-people-pagination {
  margin: 24px 0 4px;
}
.hnue75-people-pagination .page-numbers {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.hnue75-people-pagination .page-numbers li { margin: 0; }
.hnue75-people-pagination a,
.hnue75-people-pagination span {
  display: inline-flex;
  min-width: 40px;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 7px 11px;
  border: 1px solid #d9e1ea;
  border-radius: 10px;
  background: #fff;
  color: #003366;
  font-weight: 800;
}
.hnue75-people-pagination .current {
  border-color: #003366;
  background: #003366;
  color: #fff;
}
.hnue75-people-pagination a:hover,
.hnue75-people-pagination a:focus {
  border-color: #ffc82e;
  background: #fff8dc;
}
@media (max-width: 1020px) {
  .hnue75-home-teachers-grid,
  .hnue75-teacher-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .hnue75-home-teachers-grid,
  .hnue75-teacher-directory-grid { grid-template-columns: 1fr; }
}


/* v1.10.0: leadership directory */
.hnue75-leadership-directory { display: grid; gap: 42px; }
.hnue75-leadership-section { display: grid; gap: 20px; }
.hnue75-leadership-heading span { display: block; margin-bottom: 4px; color: #0b4f8a; font-size: .78rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.hnue75-leadership-heading h2 { margin: 0; color: #003366; font-size: clamp(1.6rem,3vw,2.25rem); }
.hnue75-leadership-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.hnue75-leadership-card { display: grid; grid-template-columns: 110px minmax(0,1fr); min-width: 0; overflow: hidden; border: 1px solid #d9e1ea; border-radius: 18px; background: #fff; box-shadow: 0 12px 32px rgba(0,38,77,.08); }
.hnue75-leadership-photo { display: block; min-height: 150px; overflow: hidden; background: #eef4fa; }
.hnue75-leadership-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.hnue75-leadership-photo .hnue75-person-placeholder { height: 100%; min-height: 150px; }
.hnue75-leadership-card-body { display: flex; flex-direction: column; min-width: 0; padding: 18px; }
.hnue75-leadership-card-body h3 { margin: 0 0 8px; color: #003366; font-size: 1.08rem; line-height: 1.35; }
.hnue75-leadership-card-body h3 a { color: inherit; }
.hnue75-leadership-terms,
.hnue75-person-leadership-list { margin: 0 0 14px; padding-left: 18px; color: #526277; }
.hnue75-leadership-terms li + li,
.hnue75-person-leadership-list li + li { margin-top: 5px; }
.hnue75-leadership-card .hnue75-person-detail-link { margin-top: auto; }
@media (max-width: 1000px) { .hnue75-leadership-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 640px) {
  .hnue75-leadership-grid { grid-template-columns: 1fr; }
  .hnue75-leadership-card { grid-template-columns: 92px minmax(0,1fr); }
  .hnue75-leadership-photo { min-height: 132px; }
}


/* Distinguished alumni directory v1.11.0 */
.hnue75-alumni-directory{width:100%;max-width:100%;overflow:hidden}
.hnue75-alumni-filters{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(180px,.8fr) auto auto;gap:10px;align-items:center;margin:0 0 24px;padding:16px;background:#f4f8fc;border:1px solid #d9e4ee;border-radius:16px}
.hnue75-alumni-filters input,.hnue75-alumni-filters select{width:100%;min-height:44px;border:1px solid #cbd8e5;border-radius:10px;background:#fff;padding:9px 12px;font:inherit}
.hnue75-alumni-clear{font-weight:700;color:#0b4f8a;white-space:nowrap}
.hnue75-alumni-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.hnue75-alumni-card{display:flex;min-width:0;flex-direction:column;background:#fff;border:1px solid #d9e1ea;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(0,38,77,.08)}
.hnue75-alumni-photo{display:block;aspect-ratio:4/5;background:linear-gradient(145deg,#e8f1f8,#f8fbfd);overflow:hidden}
.hnue75-alumni-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.hnue75-alumni-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-size:3.2rem;color:#ffc82e;background:#eef5fb}
.hnue75-alumni-card-body{display:flex;flex:1;flex-direction:column;padding:18px}
.hnue75-alumni-fields{margin-bottom:8px;color:#0b4f8a;font-size:.72rem;font-weight:800;line-height:1.35;text-transform:uppercase;letter-spacing:.06em}
.hnue75-alumni-card h3{margin:0 0 8px;font-size:1.15rem;line-height:1.3;color:#003366}
.hnue75-alumni-card h3 a{color:inherit}
.hnue75-alumni-study,.hnue75-alumni-role{margin:0 0 8px;color:#5d6877;font-size:.88rem;line-height:1.45}
.hnue75-alumni-role{color:#172235;font-weight:700}
.hnue75-alumni-excerpt{margin:4px 0 16px;color:#5d6877;font-size:.9rem;line-height:1.6}
.hnue75-alumni-detail{margin-top:auto;font-weight:800;color:#0b4f8a}
.hnue75-alumni-pagination{margin-top:28px}
.hnue75-alumni-pagination .page-numbers{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;list-style:none;margin:0;padding:0}
.hnue75-alumni-pagination a,.hnue75-alumni-pagination span{display:flex;min-width:40px;min-height:40px;align-items:center;justify-content:center;padding:7px 11px;border:1px solid #d9e1ea;border-radius:10px;background:#fff;color:#003366;font-weight:700}
.hnue75-alumni-pagination .current{background:#003366;color:#fff;border-color:#003366}
.hnue75-alumni-profile{max-width:100%}
.hnue75-alumni-profile-header{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:34px;align-items:center;margin-bottom:34px;padding:28px;background:linear-gradient(135deg,#f3f8fc,#fff7df);border:1px solid #d9e4ee;border-radius:22px}
.hnue75-alumni-profile-photo{aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#eef5fb;box-shadow:0 16px 36px rgba(0,38,77,.12)}
.hnue75-alumni-profile-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.hnue75-alumni-profile-fields{margin:0 0 10px;color:#0b4f8a;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.hnue75-alumni-profile h1{margin:0 0 12px;color:#003366;font-size:clamp(2rem,4vw,3.4rem);line-height:1.08}
.hnue75-alumni-profile-role{font-size:1.08rem;font-weight:700;color:#172235}
.hnue75-alumni-profile-summary{font-size:1rem;line-height:1.65;color:#5d6877}
.hnue75-alumni-section{margin:28px 0;padding:24px;background:#fff;border:1px solid #d9e1ea;border-radius:18px}
.hnue75-alumni-section h2{margin-top:0;color:#003366}
.hnue75-alumni-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0}
.hnue75-alumni-info-row{display:grid;grid-template-columns:minmax(130px,.45fr) minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid #e7edf3}
.hnue75-alumni-info-row dt{font-weight:800;color:#003366}.hnue75-alumni-info-row dd{margin:0;color:#172235}
.hnue75-alumni-advice{margin:30px 0;padding:24px 28px;border-left:5px solid #ffc82e;background:#fff7df;border-radius:0 16px 16px 0;color:#17324d;font-size:1.05rem;line-height:1.7}
.hnue75-alumni-links{display:flex;flex-wrap:wrap;gap:10px}.hnue75-alumni-links a{display:inline-flex;padding:9px 13px;border-radius:999px;background:#eef4fa;color:#0b4f8a;font-weight:800}
.hnue75-alumni-back{margin-top:28px;font-weight:800}
@media(max-width:1100px){.hnue75-alumni-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.hnue75-alumni-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hnue75-alumni-filters{grid-template-columns:1fr 1fr}.hnue75-alumni-profile-header{grid-template-columns:220px minmax(0,1fr);gap:24px}.hnue75-alumni-info-grid{grid-template-columns:1fr}}
@media(max-width:620px){.hnue75-alumni-grid{grid-template-columns:1fr}.hnue75-alumni-filters{grid-template-columns:1fr}.hnue75-alumni-profile-header{grid-template-columns:1fr;padding:20px}.hnue75-alumni-profile-photo{width:min(100%,260px);margin:auto}.hnue75-alumni-info-row{grid-template-columns:1fr;gap:4px}}


/* v1.11.2: downloadable document directory */
.hnue75-document-directory { display:grid; gap:18px; }
.hnue75-document-directory-head { padding:15px 18px; border-left:4px solid #ffc82e; border-radius:0 12px 12px 0; background:#f5f8fb; color:#516174; }
.hnue75-document-directory-head p { margin:0; }
.hnue75-document-list { display:grid; gap:14px; }
.hnue75-document-row { display:grid; grid-template-columns:58px minmax(0,1fr); gap:18px; align-items:start; padding:22px; border:1px solid #d9e1ea; border-radius:18px; background:#fff; box-shadow:0 10px 28px rgba(0,38,77,.06); }
.hnue75-document-index { display:grid; place-items:center; width:52px; height:52px; border-radius:14px; background:#eef4fa; color:#0b4f8a; font-size:1.05rem; font-weight:900; }
.hnue75-document-main { min-width:0; }
.hnue75-document-meta { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; margin-bottom:7px; color:#6b7280; font-size:.84rem; }
.hnue75-document-row h3 { margin:0 0 8px; color:#003366; font-size:clamp(1.15rem,2vw,1.42rem); line-height:1.35; }
.hnue75-document-summary { color:#394a5f; line-height:1.7; }
.hnue75-document-summary p { margin:.35em 0; }
.hnue75-document-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin-top:14px; }
.hnue75-document-download { color:#0b4f8a; font-weight:800; text-decoration:none; }
.hnue75-document-download:hover { text-decoration:underline; }
.hnue75-document-missing { color:#9a6700; font-weight:800; }
@media (max-width:640px) {
  .hnue75-document-row { grid-template-columns:1fr; gap:10px; padding:18px; }
  .hnue75-document-index { width:44px; height:44px; border-radius:12px; }
  .hnue75-document-actions { align-items:stretch; flex-direction:column; }
  .hnue75-document-actions .hnue75-button, .hnue75-document-download, .hnue75-document-actions .hnue75-summary-read { width:100%; justify-content:center; text-align:center; }
}

/* v1.12.0: digital yearbook / commemorative publication */
.hnue75-yearbook-page-intro{max-width:880px;color:#5d6877;font-size:1.05rem}
.hnue75-yearbook{margin-top:26px}.hnue75-yearbook-status{margin:0 0 30px;padding:14px 18px;border:1px solid #d9e1ea;border-radius:14px;background:#f7fafc;color:#5d6877}.hnue75-yearbook-status strong{color:#003366}.hnue75-yearbook-section{margin:0 0 44px}.hnue75-yearbook-section>h2{margin:0 0 8px;color:#003366}.hnue75-yearbook-section-desc{margin:0 0 18px;color:#5d6877}.hnue75-yearbook-toc{list-style:none;padding:0;margin:0;border-top:1px solid #d9e1ea}.hnue75-yearbook-toc-item{display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px;padding:22px 0;border-bottom:1px solid #d9e1ea}.hnue75-yearbook-number{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fff7df;color:#003366;font-weight:800}.hnue75-yearbook-toc-body h3{margin:0 0 7px;line-height:1.35}.hnue75-yearbook-toc-body h3 a{color:#003366;text-decoration:none}.hnue75-yearbook-toc-body h3 a:hover{text-decoration:underline}.hnue75-yearbook-author{margin:0 0 8px;font-weight:650;color:#3d4e61}.hnue75-yearbook-summary{margin:0 0 10px;color:#5d6877;line-height:1.65}.hnue75-yearbook-read{font-weight:700;text-decoration:none}.hnue75-yearbook-article{max-width:900px;margin:0 auto}.hnue75-yearbook-article-header{padding-bottom:24px;border-bottom:1px solid #d9e1ea;margin-bottom:28px}.hnue75-yearbook-article-kicker{margin:0 0 10px;color:#0b4f8a;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.hnue75-yearbook-article-header h1{margin:0 0 14px;color:#003366;line-height:1.12}.hnue75-yearbook-article-author{margin:0 0 14px;font-weight:700;color:#35475a}.hnue75-yearbook-article-lead{margin:0;font-size:1.12rem;line-height:1.7;color:#5d6877}.hnue75-yearbook-print-page{margin:12px 0 0;font-size:.9rem;color:#5d6877}.hnue75-yearbook-featured{width:100%;height:auto;border-radius:16px;margin:0 0 30px}.hnue75-yearbook-article-content{font-size:1.05rem;line-height:1.78}.hnue75-yearbook-article-content img,.hnue75-yearbook-article-content figure{max-width:100%;height:auto}.hnue75-yearbook-article-footer{margin-top:42px;padding-top:22px;border-top:1px solid #d9e1ea}.hnue75-yearbook-article-footer a{font-weight:700;text-decoration:none}@media(max-width:640px){.hnue75-yearbook-toc-item{grid-template-columns:42px minmax(0,1fr);gap:12px;padding:18px 0}.hnue75-yearbook-number{width:36px;height:36px;font-size:.82rem}.hnue75-yearbook-summary{font-size:.96rem}}

/* v1.13.0: historical photo album library */
.hnue75-album-page-intro{max-width:900px;color:#5d6877;font-size:1.05rem}.hnue75-album-directory{width:100%;max-width:100%}.hnue75-album-filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto auto;gap:10px;align-items:end;margin:24px 0;padding:16px;border:1px solid #d9e4ee;border-radius:16px;background:#f4f8fc}.hnue75-album-filters label{display:grid;gap:5px;color:#405367;font-weight:700}.hnue75-album-filters select{width:100%;min-height:44px;padding:8px 11px;border:1px solid #cbd8e5;border-radius:10px;background:#fff;font:inherit}.hnue75-album-filter-clear{align-self:center;font-weight:800;white-space:nowrap}.hnue75-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.hnue75-album-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid #d9e1ea;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(0,38,77,.07)}.hnue75-album-card-cover{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(145deg,#e8f1f8,#f8fbfd)}.hnue75-album-card-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.hnue75-album-card:hover .hnue75-album-card-cover img{transform:scale(1.025)}.hnue75-album-card-placeholder{display:grid;width:100%;height:100%;place-items:center;color:#0b4f8a;font-size:3rem}.hnue75-album-photo-count{position:absolute;right:12px;bottom:12px;padding:5px 9px;border-radius:999px;background:rgba(0,51,102,.88);color:#fff;font-size:.78rem;font-weight:800}.hnue75-album-card-body{display:flex;flex:1;flex-direction:column;padding:18px}.hnue75-album-card-kicker{margin:0 0 7px;color:#0b4f8a;font-size:.73rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.hnue75-album-card h3{margin:0 0 8px;color:#003366;font-size:1.18rem;line-height:1.35}.hnue75-album-card h3 a{color:inherit}.hnue75-album-card-context{margin:0 0 8px;color:#526277;font-size:.88rem;font-weight:700}.hnue75-album-card-summary{margin:0 0 14px;color:#5d6877;line-height:1.65}.hnue75-album-card-link{margin-top:auto;font-weight:800}.hnue75-album-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:30px}.hnue75-album-pagination a,.hnue75-album-pagination span{display:grid;min-width:40px;min-height:40px;place-items:center;padding:6px 10px;border:1px solid #d9e1ea;border-radius:10px;background:#fff;color:#003366;font-weight:800}.hnue75-album-pagination .current{border-color:#003366;background:#003366;color:#fff}
.hnue75-album-single{width:100%;max-width:1180px;margin:0 auto}.hnue75-album-single-header{max-width:900px;margin:0 0 26px}.hnue75-album-single-kicker{margin:0 0 8px;color:#0b4f8a;font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.hnue75-album-single-header h1{margin:0 0 12px;color:#003366;font-size:clamp(2rem,4vw,3.2rem);line-height:1.12}.hnue75-album-single-tax{margin:0 0 12px;color:#526277;font-weight:700}.hnue75-album-single-lead{margin:0;color:#5d6877;font-size:1.08rem;line-height:1.72}.hnue75-album-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 22px;margin:0 0 28px;padding:18px 22px;border:1px solid #d9e1ea;border-radius:16px;background:#f7fafc}.hnue75-album-info>div{padding:8px 0}.hnue75-album-info dt{color:#526277;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.hnue75-album-info dd{margin:4px 0 0;color:#172235}.hnue75-album-intro{max-width:900px;margin:0 0 30px;font-size:1.02rem;line-height:1.75}.hnue75-album-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.hnue75-album-photo{margin:0;overflow:hidden;border:1px solid #d9e1ea;border-radius:15px;background:#fff;box-shadow:0 9px 24px rgba(0,38,77,.06)}.hnue75-album-photo-open{display:block;width:100%;padding:0;border:0;background:#eef4fa;cursor:zoom-in;aspect-ratio:4/3;overflow:hidden}.hnue75-album-photo-open img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.hnue75-album-photo-open:hover img{transform:scale(1.02)}.hnue75-album-photo figcaption{display:grid;gap:4px;padding:12px 14px;color:#526277;font-size:.86rem;line-height:1.55}.hnue75-album-photo figcaption strong{color:#172235;font-size:.92rem}.hnue75-album-single-footer{margin-top:34px;padding-top:20px;border-top:1px solid #d9e1ea;font-weight:800}
.hnue75-album-lightbox[hidden]{display:none!important}.hnue75-album-lightbox{position:fixed;z-index:999999;inset:0;display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;gap:12px;padding:28px;background:rgba(5,16,30,.94)}.hnue75-album-lightbox figure{display:grid;max-width:min(1240px,100%);max-height:calc(100vh - 56px);margin:auto;justify-items:center}.hnue75-album-lightbox img{display:block;max-width:100%;max-height:calc(100vh - 150px);object-fit:contain}.hnue75-album-lightbox figcaption{max-width:1000px;margin-top:12px;color:#f3f7fb;text-align:center;line-height:1.55}.hnue75-album-lightbox button{border:0;background:rgba(255,255,255,.13);color:#fff;cursor:pointer}.hnue75-album-lightbox-prev,.hnue75-album-lightbox-next{width:52px;height:70px;border-radius:12px;font-size:2.5rem}.hnue75-album-lightbox-close{position:absolute;right:22px;top:18px;width:44px;height:44px;border-radius:50%;font-size:2rem;line-height:1}.hnue75-album-lightbox-download{display:inline-flex;margin-top:10px;padding:7px 12px;border:1px solid rgba(255,255,255,.35);border-radius:999px;color:#fff;font-weight:800}.hnue75-album-lightbox-open{overflow:hidden}
@media(max-width:980px){.hnue75-album-grid,.hnue75-album-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.hnue75-album-info{grid-template-columns:repeat(2,minmax(0,1fr))}.hnue75-album-filters{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.hnue75-album-grid,.hnue75-album-gallery,.hnue75-album-info,.hnue75-album-filters{grid-template-columns:1fr}.hnue75-album-card{border-radius:15px}.hnue75-album-lightbox{grid-template-columns:42px minmax(0,1fr) 42px;padding:18px 8px}.hnue75-album-lightbox-prev,.hnue75-album-lightbox-next{width:38px;height:56px;font-size:2rem}.hnue75-album-lightbox-close{right:10px;top:10px}.hnue75-album-lightbox img{max-height:calc(100vh - 170px)}}


/* v1.13.1: summary cards link to normal single pages instead of content dialogs. */
.hnue75-summary-card h3 a,.hnue75-cohort-card h3 a,.hnue75-guestbook-title a,.hnue75-document-row h3 a{color:inherit;text-decoration:none}
.hnue75-summary-card h3 a:hover,.hnue75-cohort-card h3 a:hover,.hnue75-guestbook-title a:hover,.hnue75-document-row h3 a:hover{color:#0b4f8a}
.hnue75-summary-card-media,.hnue75-cohort-image,.hnue75-guestbook-thumb{display:block;color:inherit}
.hnue75-guestbook-title{margin:4px 0 12px;font-size:1.2rem;line-height:1.4;color:#003366}

.hnue75-yearbook-toc-thumb{grid-column:2;display:block;width:min(220px,100%);aspect-ratio:16/10;overflow:hidden;border-radius:12px;background:#eef4fa}.hnue75-yearbook-toc-thumb img{display:block;width:100%;height:100%;object-fit:cover}.hnue75-yearbook-toc-body{grid-column:2}

/* v1.13.2: responsive hardening for plugin-rendered public components.
 * No data/schema changes; only prevent child grids/cards/media from forcing
 * the page wider than the active theme container on tablet/mobile. */
.hnue75-summary-grid,
.hnue75-news-grid,
.hnue75-teacher-directory-grid,
.hnue75-home-teachers-grid,
.hnue75-alumni-grid,
.hnue75-group-grid,
.hnue75-document-list,
.hnue75-yearbook,
.hnue75-album-directory,
.hnue75-album-grid,
.hnue75-album-gallery,
.hnue75-guestbook-grid,
.hnue75-story-grid {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.hnue75-summary-card,
.hnue75-news-card,
.hnue75-teacher-card,
.hnue75-alumni-card,
.hnue75-album-card,
.hnue75-document-row,
.hnue75-yearbook-toc-item,
.hnue75-guestbook-card {
  min-width: 0;
  max-width: 100%;
}
.hnue75-summary-card img,
.hnue75-news-card img,
.hnue75-teacher-card img,
.hnue75-alumni-card img,
.hnue75-album-card img,
.hnue75-yearbook img {
  max-width: 100%;
  height: auto;
}


/* v1.15.1: paginated cohort and current-faculty directories */
.hnue75-cohort-directory,
.hnue75-faculty-directory { width:100%; max-width:100%; min-width:0; }
.hnue75-faculty-directory-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.hnue75-cohort-pagination { margin-top:24px; }
@media (max-width:1020px) {
  .hnue75-faculty-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
  .hnue75-faculty-directory-grid { grid-template-columns:1fr; }
}
