/* HKBSR OJS Classic Theme Override v33
   For 棣欐腐楂旇偛鐮旂┒閫氬牨 / Hong Kong Bulletin of Sport Research
   Revision focus: return to HKBSR original visual system; borrow cleaner journal typography; category feeds support zero, one, or many articles.
*/
:root {
  --hkbsr-ink: #101820;
  --hkbsr-text: #23313a;
  --hkbsr-muted: #66727a;
  --hkbsr-faint: #8e9aa1;
  --hkbsr-paper: #f4f8f9;
  --hkbsr-surface: #ffffff;
  --hkbsr-surface-2: #f7fafb;
  --hkbsr-harbour: #0e4057;
  --hkbsr-harbour-2: #155d7b;
  --hkbsr-teal: #2b7776;
  --hkbsr-bronze: #a27834;
  --hkbsr-line: rgba(14,64,87,.16);
  --hkbsr-line-strong: rgba(14,64,87,.28);
  --hkbsr-shadow: 0 18px 42px rgba(16,35,46,.10);
  --hkbsr-shadow-soft: 0 8px 22px rgba(16,35,46,.07);
  --hkbsr-pattern: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='720' viewBox='0 0 1200 720'%3E%3Crect width='1200' height='720' fill='none'/%3E%3Cg fill='none' stroke='%230e4057' stroke-width='1.05' opacity='.045'%3E%3Cpath d='M0 512 C145 452 238 560 388 510 S620 458 775 515 S1010 568 1200 504'/%3E%3Cpath d='M0 548 C155 494 250 604 405 548 S645 500 790 556 S1015 602 1200 540'/%3E%3Cpath d='M90 428 V366 H123 V428 M160 428 V330 H202 V428 M245 428 V386 H278 V428 M322 428 V312 H369 V428 M410 428 V350 H452 V428 M496 428 L540 306 L585 428 M640 428 V355 H682 V428 M730 428 V288 H780 V428 M823 428 V376 H866 V428 M910 428 V334 H956 V428 M1000 428 V386 H1040 V428'/%3E%3Cpath d='M60 428 H1065'/%3E%3C/g%3E%3Cg fill='none' stroke='%23a27834' stroke-width='1' opacity='.05'%3E%3Cpath d='M925 120 C958 83 1010 92 1030 130 C988 122 950 142 938 186 C940 154 937 134 925 120Z'/%3E%3Cpath d='M925 120 C905 82 856 86 832 116 C875 118 906 142 928 186 C920 154 918 134 925 120Z'/%3E%3Cpath d='M925 120 C940 78 918 55 880 58 C902 82 912 101 925 120Z'/%3E%3C/g%3E%3C/svg%3E");
}

html, body {
  background-color: var(--hkbsr-paper) !important;
  background-image: linear-gradient(180deg, rgba(244,248,249,.98), rgba(239,246,248,.98) 42%, rgba(250,252,253,.98)), var(--hkbsr-pattern) !important;
  background-size: auto, 1200px 720px !important;
  background-position: center top, center 56px !important;
  background-repeat: no-repeat, repeat !important;
  color: var(--hkbsr-text) !important;
  font-family: Arial, "Helvetica Neue", "Noto Sans TC", "Noto Sans CJK TC", "Microsoft JhengHei", "PingFang TC", sans-serif !important;
}
body, p, li, a, span, div, button, input, select, textarea { text-decoration: none !important; }
a { color: inherit; transition: color .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease !important; }

/* OJS Classic native header cleanup and admin/language dropdown repair */
html body > header,
html body header,
html body .header,
html body #headerNavigationContainer {
  position: relative !important;
  z-index: 9990 !important;
  overflow: visible !important;
  background: rgba(250,252,253,.96) !important;
  backdrop-filter: blur(12px);
  border: 0 !important;
  border-bottom: 1px solid rgba(14,64,87,.14) !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  color: var(--hkbsr-ink) !important;
}
html body > header::before,
html body header::before,
html body .header::before,
html body #headerNavigationContainer::before {
  content: "";
  display: block;
  height: 4px;
  background: linear-gradient(90deg, var(--hkbsr-harbour), var(--hkbsr-teal), var(--hkbsr-bronze));
}
html body > header .upper-header,
html body header .upper-header,
html body .header .upper-header,
html body #headerNavigationContainer .upper-header,
html body .pkp_navigation_user_wrapper,
html body .pkp_navigation_user,
html body .navigationUser {
  position: relative !important;
  z-index: 10000 !important;
  overflow: visible !important;
}
html body > header .upper-header,
html body header .upper-header,
html body .header .upper-header,
html body #headerNavigationContainer .upper-header {
  max-width: 1180px !important;
  min-height: 42px !important;
  padding: 5px 22px !important;
  margin: 0 auto !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
html body > header .lower-header,
html body header .lower-header,
html body .header .lower-header,
html body #navigationPrimary,
html body .navbar,
html body .pkp_navigation_primary_wrapper {
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}
html body > header a,
html body header a,
html body .header a,
html body #headerNavigationContainer a {
  color: var(--hkbsr-ink) !important;
  font-size: 12px !important;
  background: transparent !important;
  border: 0 !important;
  text-shadow: none !important;
}
html body > header .journal-logo-text,
html body header .journal-logo-text,
html body .header .journal-logo-text,
html body #headerNavigationContainer .journal-logo-text,
html body > header h1,
html body header h1 {
  color: var(--hkbsr-harbour) !important;
  font-size: 14px !important;
  font-weight: 760 !important;
  letter-spacing: .02em !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body header .dropdown-menu,
html body .header .dropdown-menu,
html body #headerNavigationContainer .dropdown-menu,
html body .pkp_navigation_user_wrapper .dropdown-menu,
html body .pkp_navigation_user .dropdown-menu,
html body .navigationUser .dropdown-menu,
html body .user_navigation .dropdown-menu,
html body header ul.dropdown-menu,
html body header li ul {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  left: auto !important;
  z-index: 10020 !important;
  min-width: 172px !important;
  max-width: 240px !important;
  padding: 7px 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  background: rgba(255,255,255,.98) !important;
  border: 1px solid rgba(14,64,87,.24) !important;
  border-top: 3px solid var(--hkbsr-harbour) !important;
  box-shadow: 0 16px 38px rgba(16,35,46,.18) !important;
}
html body header .dropdown-menu a,
html body .header .dropdown-menu a,
html body #headerNavigationContainer .dropdown-menu a,
html body .pkp_navigation_user_wrapper .dropdown-menu a,
html body .pkp_navigation_user .dropdown-menu a,
html body .navigationUser .dropdown-menu a,
html body .user_navigation .dropdown-menu a,
html body header li ul a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 34px !important;
  padding: 8px 16px !important;
  white-space: nowrap !important;
  color: var(--hkbsr-ink) !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  border: 0 !important;
}
html body header .dropdown-menu a:hover,
html body .header .dropdown-menu a:hover,
html body #headerNavigationContainer .dropdown-menu a:hover,
html body .pkp_navigation_user_wrapper .dropdown-menu a:hover,
html body .pkp_navigation_user .dropdown-menu a:hover,
html body .navigationUser .dropdown-menu a:hover,
html body .user_navigation .dropdown-menu a:hover,
html body header li ul a:hover {
  background: rgba(14,64,87,.07) !important;
  color: var(--hkbsr-harbour) !important;
}
html body header .badge,
html body .header .badge,
html body #headerNavigationContainer .badge,
html body header .task_count,
html body .header .task_count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 19px !important;
  height: 19px !important;
  padding: 0 6px !important;
  border-radius: 999px !important;
  background: #000 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

/* OJS page cleanup */
html body .page,
html body main.page,
html body .page_index_journal,
html body .container-fluid.container-page,
html body .container-page,
html body .page_index_journal .container,
html body main .container {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}
html body .page_index_journal .page-header,
html body .page_index_journal .homepage_image,
html body .homepage_image { display: none !important; }

.hkbsr-home, .hkbsr-home * { box-sizing: border-box; }
.hkbsr-home {
  max-width: 1180px;
  margin: 18px auto 58px;
  padding: 0 18px 24px;
  color: var(--hkbsr-text);
}

/* Editorial masthead navigation */
.hkbsr-journal-nav {
  position: sticky;
  top: 8px;
  z-index: 20;
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  align-items: stretch;
  min-height: 62px;
  margin-bottom: 16px;
  border: 1px solid var(--hkbsr-line-strong);
  border-top: 4px solid var(--hkbsr-harbour);
  background: rgba(255,255,255,.96);
  box-shadow: var(--hkbsr-shadow-soft);
}
.hkbsr-nav-identity {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 18px;
  border-right: 1px solid var(--hkbsr-line);
  color: var(--hkbsr-harbour) !important;
  background: linear-gradient(90deg, rgba(14,64,87,.06), rgba(255,255,255,.0));
}
.hkbsr-nav-code {
  display: inline-grid;
  place-items: center;
  width: 64px;
  height: 34px;
  background: var(--hkbsr-harbour);
  color: #fff;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: .07em;
  box-shadow: inset 0 -3px 0 var(--hkbsr-bronze);
}
.hkbsr-nav-name { font-size: 16px; font-weight: 850; letter-spacing: .04em; }
.hkbsr-nav-links {
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  gap: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.hkbsr-nav-links::-webkit-scrollbar { display: none; }
.hkbsr-nav-links a {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 11px;
  min-height: 58px;
  border-left: 1px solid rgba(14,64,87,.10);
  color: #2d3d46 !important;
  font-size: 13px;
  font-weight: 750;
  line-height: 1;
  white-space: nowrap;
  background: transparent;
}
.hkbsr-nav-links a:hover,
.hkbsr-nav-links a:focus-visible {
  color: var(--hkbsr-harbour) !important;
  background: rgba(14,64,87,.055);
  box-shadow: inset 0 -3px 0 var(--hkbsr-bronze);
  outline: none;
}
.hkbsr-nav-links a.hkbsr-submit-link {
  color: #fff !important;
  background: var(--hkbsr-harbour);
  border-left: 0;
  box-shadow: inset 0 -3px 0 var(--hkbsr-bronze);
}
.hkbsr-nav-links a.hkbsr-submit-link:hover { background: #15516d; color: #fff !important; }

/* Headings */
.hkbsr-kicker,
.hkbsr-block-head span,
.hkbsr-current-issue-entry span,
.hkbsr-call-panel span {
  color: var(--hkbsr-harbour-2);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.hkbsr-block-head h2,
.hkbsr-current-issue-entry h2,
.hkbsr-call-panel h2 {
  margin: 8px 0 8px !important;
  color: var(--hkbsr-ink) !important;
  font-size: 27px !important;
  line-height: 1.18 !important;
  font-weight: 900 !important;
  letter-spacing: -.01em;
}
.hkbsr-block-head p,
.hkbsr-current-issue-entry p,
.hkbsr-call-panel p {
  margin: 0 !important;
  color: var(--hkbsr-muted) !important;
  font-size: 14px !important;
  line-height: 1.72 !important;
}
.hkbsr-line-head {
  padding-bottom: 12px;
  border-bottom: 2px solid var(--hkbsr-ink);
}

/* Hero */
.hkbsr-identity-block {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  min-height: 318px;
  border: 1px solid var(--hkbsr-line-strong);
  background: var(--hkbsr-surface);
  box-shadow: var(--hkbsr-shadow);
  overflow: hidden;
}
.hkbsr-identity-block::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 5px;
  background: linear-gradient(90deg, var(--hkbsr-harbour), var(--hkbsr-teal), var(--hkbsr-bronze));
}
.hkbsr-identity-main {
  padding: 42px 38px 38px;
  background: linear-gradient(135deg, #fff 0%, #fff 62%, rgba(14,64,87,.04) 100%);
}
.hkbsr-identity-main h1 {
  margin: 14px 0 8px !important;
  color: var(--hkbsr-ink) !important;
  font-family: "Noto Sans TC", "Microsoft JhengHei", "PingFang TC", sans-serif !important;
  font-size: clamp(42px, 5.4vw, 64px) !important;
  line-height: .98 !important;
  font-weight: 950 !important;
  letter-spacing: -.035em;
}
.hkbsr-en-name {
  margin: 0 0 18px !important;
  color: var(--hkbsr-harbour) !important;
  font-family: Arial, "Helvetica Neue", "Noto Sans TC", "Microsoft JhengHei", sans-serif !important;
  font-size: clamp(22px, 2.6vw, 31px) !important;
  line-height: 1.18 !important;
  font-weight: 760 !important;
}
.hkbsr-intro-text {
  max-width: 720px;
  margin: 0 !important;
  color: #384a55 !important;
  font-size: 15px !important;
  line-height: 1.86 !important;
}
.hkbsr-action-line { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.hkbsr-action-line a,
.hkbsr-action-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 17px;
  border: 1px solid var(--hkbsr-line-strong);
  background: rgba(255,255,255,.92);
  color: var(--hkbsr-harbour) !important;
  font-size: 14px;
  font-weight: 800;
}
.hkbsr-action-line a:hover,
.hkbsr-action-primary:hover {
  background: rgba(14,64,87,.06);
  border-color: rgba(14,64,87,.44);
  box-shadow: inset 0 -2px 0 var(--hkbsr-bronze);
}
.hkbsr-action-line .hkbsr-action-primary,
.hkbsr-action-primary {
  background: var(--hkbsr-harbour) !important;
  color: #fff !important;
  border-color: var(--hkbsr-harbour) !important;
  box-shadow: inset 0 -3px 0 var(--hkbsr-bronze);
}
.hkbsr-action-line .hkbsr-action-primary:hover,
.hkbsr-action-primary:hover { background: #15516d !important; }
.hkbsr-hero-panel {
  position: relative;
  padding: 42px 28px 30px;
  background: #24303b;
  color: #fff;
}
.hkbsr-hero-panel::after {
  content: "";
  position: absolute;
  right: -36px;
  bottom: -24px;
  width: 220px;
  height: 180px;
  background: radial-gradient(circle, rgba(43,119,118,.55), rgba(43,119,118,0) 68%);
  pointer-events: none;
}
.hkbsr-hero-panel strong { display: block; font-size: 19px; font-weight: 900; letter-spacing: .03em; margin-bottom: 16px; }
.hkbsr-hero-panel dl { margin: 0; position: relative; z-index: 1; }
.hkbsr-hero-panel dl div { padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.hkbsr-hero-panel dt { color: rgba(255,255,255,.62); font-size: 12px; font-weight: 800; }
.hkbsr-hero-panel dd { margin: 3px 0 0; color: #fff; font-size: 13px; font-weight: 760; line-height: 1.45; }
.hkbsr-photo-band {
  height: 238px;
  margin-top: 14px;
  border: 1px solid var(--hkbsr-line-strong);
  background:
    linear-gradient(90deg, rgba(36,48,59,.95) 0%, rgba(36,48,59,.86) 58%, rgba(14,64,87,.50) 58%, rgba(43,119,118,.48) 100%),
    var(--hkbsr-pattern);
  background-size: auto, 1200px 720px;
  background-position: center, center;
  box-shadow: var(--hkbsr-shadow-soft);
}
.hkbsr-photo-band.has-image { background-image: var(--hkbsr-home-photo); background-size: cover; background-position: center; }

/* Shared blocks */
.hkbsr-notice-board,
.hkbsr-current-issue-entry,
.hkbsr-editorial-list-block,
.hkbsr-database-search,
.hkbsr-category-index,
.hkbsr-text-panel,
.hkbsr-call-panel {
  margin-top: 18px;
  border: 1px solid var(--hkbsr-line);
  background: rgba(255,255,255,.95);
  box-shadow: var(--hkbsr-shadow-soft);
}
.hkbsr-notice-board,
.hkbsr-editorial-list-block,
.hkbsr-database-search,
.hkbsr-category-index,
.hkbsr-text-panel { padding: 26px 30px 30px; }

/* Notice board */
.hkbsr-notice-list { border-top: 1px solid rgba(14,64,87,.10); margin-top: 12px; }
.hkbsr-notice-item {
  display: grid;
  grid-template-columns: 100px minmax(0,1fr) minmax(260px,.65fr);
  gap: 18px;
  align-items: baseline;
  padding: 16px 0;
  border-bottom: 1px solid rgba(14,64,87,.12);
  color: var(--hkbsr-ink) !important;
}
.hkbsr-notice-item:hover { background: rgba(14,64,87,.035); padding-left: 8px; }
.hkbsr-notice-item span { color: var(--hkbsr-harbour); font-size: 13px; font-weight: 850; }
.hkbsr-notice-item strong { font-size: 17px; line-height: 1.45; font-weight: 900; }
.hkbsr-notice-item em { color: var(--hkbsr-muted); font-style: normal; font-size: 13px; line-height: 1.5; }

/* Current issue entry */
.hkbsr-current-issue-entry {
  padding: 24px 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  border-left: 5px solid var(--hkbsr-bronze);
}
.hkbsr-current-issue-entry p { max-width: 720px; }

/* Recommended list */
.hkbsr-rec-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 0;
  margin-top: 18px;
  border-top: 1px solid rgba(14,64,87,.15);
  border-left: 1px solid rgba(14,64,87,.15);
}
.hkbsr-rec-grid a {
  min-height: 150px;
  padding: 20px 18px 18px;
  border-right: 1px solid rgba(14,64,87,.15);
  border-bottom: 1px solid rgba(14,64,87,.15);
  background: #fff;
  color: var(--hkbsr-ink) !important;
}
.hkbsr-rec-grid a:hover { background: rgba(14,64,87,.045); box-shadow: inset 0 3px 0 var(--hkbsr-bronze); }
.hkbsr-rec-grid strong { display: block; font-size: 17px; line-height: 1.42; font-weight: 900; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.hkbsr-rec-grid span { display: block; margin-top: 26px; color: var(--hkbsr-muted); font-size: 13px; line-height: 1.5; }

/* Search */
.hkbsr-database-search {
  display: grid;
  grid-template-columns: minmax(0,.72fr) minmax(380px,1fr);
  gap: 30px;
  align-items: start;
}
.hkbsr-search-form {
  padding: 20px;
  border: 1px solid var(--hkbsr-line);
  background: var(--hkbsr-surface-2);
}
.hkbsr-search-form label { display: block; margin-bottom: 8px; color: var(--hkbsr-harbour); font-size: 13px; font-weight: 850; }
.hkbsr-search-row { display: grid; grid-template-columns: minmax(0,1fr) 96px; gap: 8px; }
.hkbsr-search-row input {
  height: 42px;
  padding: 0 13px;
  border: 1px solid rgba(14,64,87,.22);
  background: rgba(255,255,255,.94);
  color: var(--hkbsr-ink);
  font-size: 14px;
}
.hkbsr-search-row input:focus { outline: none; border-color: var(--hkbsr-harbour-2); box-shadow: 0 0 0 3px rgba(21,93,123,.12); }
.hkbsr-search-row button {
  border: 1px solid var(--hkbsr-harbour);
  background: var(--hkbsr-harbour);
  color: #fff;
  font-weight: 850;
  cursor: pointer;
}
.hkbsr-search-row button:hover { background: #15516d; }
.hkbsr-search-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.hkbsr-search-tags a {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid rgba(14,64,87,.24);
  color: var(--hkbsr-harbour) !important;
  background: rgba(255,255,255,.72);
  font-size: 13px;
  font-weight: 750;
}
.hkbsr-search-tags a:hover { border-color: var(--hkbsr-bronze); box-shadow: inset 0 -2px 0 var(--hkbsr-bronze); }

/* Categories */
.hkbsr-category-board {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
  margin-top: 18px;
}
.hkbsr-category-card {
  display: grid;
  grid-template-rows: minmax(190px, auto) auto;
  border: 1px solid rgba(14,64,87,.18);
  background: #fff;
  min-width: 0;
}
.hkbsr-category-card:hover { border-color: rgba(14,64,87,.32); box-shadow: 0 10px 24px rgba(16,35,46,.06); }
.hkbsr-category-main {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr);
  column-gap: 14px;
  row-gap: 6px;
  padding: 20px 20px 16px;
  color: var(--hkbsr-ink) !important;
  background: linear-gradient(180deg, #fff, #fbfdfd);
}
.hkbsr-category-main:hover { background: rgba(14,64,87,.035); }
.hkbsr-category-main span {
  grid-row: 1 / 5;
  color: var(--hkbsr-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  font-weight: 850;
}
.hkbsr-category-main strong { font-size: 19px; line-height: 1.28; font-weight: 900; }
.hkbsr-category-main em { color: var(--hkbsr-harbour-2); font-style: normal; font-size: 13px; line-height: 1.35; font-weight: 750; }
.hkbsr-category-main p { margin: 8px 0 0 !important; color: var(--hkbsr-muted) !important; font-size: 13px !important; line-height: 1.72 !important; }
.hkbsr-cat-latest {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px;
  align-items: center;
  padding: 12px 14px 14px 20px;
  border-top: 1px solid rgba(14,64,87,.12);
  background: rgba(247,250,251,.92);
}
.hkbsr-cat-latest span { color: var(--hkbsr-muted); font-size: 12px; font-weight: 850; }
.hkbsr-cat-latest a {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(14,64,87,.22);
  background: #fff;
  color: var(--hkbsr-harbour) !important;
  font-size: 12px;
  font-weight: 820;
  white-space: nowrap;
}
.hkbsr-cat-latest a:hover { border-color: var(--hkbsr-bronze); box-shadow: inset 0 -2px 0 var(--hkbsr-bronze); }

/* Call and editorial */
.hkbsr-text-panel { padding: 24px 30px; }
.hkbsr-call-panel {
  padding: 26px 30px;
  border-left: 5px solid var(--hkbsr-bronze);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

/* Native OJS announcements/current issue: keep dynamic modules visible and styled when enabled */
html body .cmp_announcements,
html body .current_issue,
html body .page_index_journal .current_issue {
  max-width: 1180px !important;
  margin: 18px auto !important;
  padding: 26px 30px !important;
  border: 1px solid var(--hkbsr-line) !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: var(--hkbsr-shadow-soft) !important;
}
html body .cmp_announcements h2,
html body .current_issue_title,
html body .current_issue h2 {
  display: block !important;
  margin: 0 0 14px !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid var(--hkbsr-ink) !important;
  color: var(--hkbsr-ink) !important;
  font-size: 25px !important;
  font-weight: 900 !important;
}
html body .current_issue .read_more,
html body .current_issue .obj_issue_toc .heading a,
html body .cmp_announcements a {
  color: var(--hkbsr-harbour) !important;
  font-weight: 800 !important;
}

/* Accessibility */
.hkbsr-home a:focus-visible,
.hkbsr-home button:focus-visible,
.hkbsr-home input:focus-visible {
  outline: 3px solid rgba(21,93,123,.24);
  outline-offset: 2px;
}

@media (max-width: 1060px) {
  .hkbsr-journal-nav { grid-template-columns: 1fr; }
  .hkbsr-nav-identity { border-right: 0; border-bottom: 1px solid var(--hkbsr-line); }
  .hkbsr-nav-links { justify-content: flex-start; }
  .hkbsr-identity-block { grid-template-columns: 1fr; }
  .hkbsr-hero-panel { padding-top: 30px; }
  .hkbsr-database-search { grid-template-columns: 1fr; }
  .hkbsr-rec-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 860px) {
  .hkbsr-home { padding: 0 12px 22px; }
  .hkbsr-identity-main { padding: 34px 24px 30px; }
  .hkbsr-photo-band { height: 206px; }
  .hkbsr-current-issue-entry,
  .hkbsr-call-panel { display: block; }
  .hkbsr-current-issue-entry .hkbsr-action-primary,
  .hkbsr-call-panel .hkbsr-action-primary { margin-top: 16px; }
  .hkbsr-notice-item { grid-template-columns: 1fr; gap: 4px; }
  .hkbsr-category-board { grid-template-columns: 1fr; }
  .hkbsr-cat-latest { grid-template-columns: 1fr; align-items: start; }
}
@media (max-width: 560px) {
  .hkbsr-nav-identity { padding: 10px 12px; }
  .hkbsr-nav-code { width: 56px; }
  .hkbsr-nav-name { font-size: 14px; }
  .hkbsr-nav-links a { min-height: 50px; padding: 0 10px; }
  .hkbsr-identity-main h1 { font-size: 38px !important; }
  .hkbsr-en-name { font-size: 21px !important; }
  .hkbsr-notice-board,
  .hkbsr-editorial-list-block,
  .hkbsr-database-search,
  .hkbsr-category-index,
  .hkbsr-text-panel { padding: 22px 18px 24px; }
  .hkbsr-rec-grid { grid-template-columns: 1fr; }
  .hkbsr-search-row { grid-template-columns: 1fr; }
  .hkbsr-category-main { grid-template-columns: 38px minmax(0,1fr); padding: 18px 14px 14px; }
}


/* v32: typography borrowed from high-level journal sites, while keeping HKBSR colour and spatial identity */
.hkbsr-v32 {
  font-family: Arial, "Helvetica Neue", "Noto Sans TC", "Noto Sans CJK TC", "Microsoft JhengHei", "PingFang TC", sans-serif !important;
}
.hkbsr-v32 .hkbsr-nav-name,
.hkbsr-v32 .hkbsr-block-head h2,
.hkbsr-v32 .hkbsr-current-issue-entry h2,
.hkbsr-v32 .hkbsr-call-panel h2,
.hkbsr-v32 .hkbsr-notice-item strong,
.hkbsr-v32 .hkbsr-rec-grid strong,
.hkbsr-v32 .hkbsr-category-titleline h3 {
  font-family: Arial, "Helvetica Neue", "Noto Sans TC", "Noto Sans CJK TC", "Microsoft JhengHei", sans-serif !important;
  letter-spacing: -.015em;
}
.hkbsr-v32 .hkbsr-identity-main h1 {
  font-family: Arial, "Helvetica Neue", "Noto Sans TC", "Noto Sans CJK TC", "Microsoft JhengHei", sans-serif !important;
  font-weight: 950 !important;
  letter-spacing: -.045em;
}
.hkbsr-v32 .hkbsr-en-name {
  font-family: Arial, "Helvetica Neue", sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -.025em;
}
.hkbsr-v32 .hkbsr-block-head.hkbsr-line-head {
  border-bottom: 2px solid rgba(16,24,32,.82);
  padding-bottom: 12px;
}
.hkbsr-v32 .hkbsr-block-head.hkbsr-line-head h2 {
  color: #101820 !important;
}

/* v32: category feeds 鈥� each category may contain zero, one, or many papers */
.hkbsr-v32 .hkbsr-category-index-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 18px 0 22px;
}
.hkbsr-v32 .hkbsr-category-index-bar a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid rgba(14,64,87,.30);
  background: rgba(255,255,255,.76);
  color: var(--hkbsr-harbour) !important;
  font-size: 13px;
  font-weight: 850;
  white-space: nowrap;
}
.hkbsr-v32 .hkbsr-category-index-bar a:hover {
  background: rgba(14,64,87,.06);
  border-color: var(--hkbsr-bronze);
  box-shadow: inset 0 -2px 0 var(--hkbsr-bronze);
}
.hkbsr-v32 .hkbsr-category-feed {
  border-top: 1px solid rgba(14,64,87,.18);
}
.hkbsr-v32 .hkbsr-category-feed-section {
  padding: 24px 0 26px;
  border-bottom: 1px solid rgba(14,64,87,.18);
}
.hkbsr-v32 .hkbsr-category-feed-section:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.hkbsr-v32 .hkbsr-category-feed-head {
  display: grid;
  grid-template-columns: minmax(280px,.36fr) minmax(0,1fr);
  gap: 26px;
  align-items: start;
}
.hkbsr-v32 .hkbsr-category-titleline {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  column-gap: 14px;
  row-gap: 5px;
}
.hkbsr-v32 .hkbsr-category-titleline > span {
  grid-row: 1 / 4;
  color: var(--hkbsr-bronze);
  font-size: 21px;
  font-weight: 900;
  line-height: 1.1;
}
.hkbsr-v32 .hkbsr-category-titleline h3 {
  margin: 0 !important;
  color: #101820 !important;
  font-size: 21px !important;
  line-height: 1.25 !important;
  font-weight: 950 !important;
}
.hkbsr-v32 .hkbsr-category-titleline h3 a {
  color: #101820 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
}
.hkbsr-v32 .hkbsr-category-titleline h3 a:hover {
  color: var(--hkbsr-harbour) !important;
}
.hkbsr-v32 .hkbsr-category-titleline h3 b {
  display: inline-block;
  margin-left: 6px;
  color: var(--hkbsr-harbour);
  font-weight: 900;
}
.hkbsr-v32 .hkbsr-category-titleline em {
  grid-column: 2;
  color: var(--hkbsr-harbour-2);
  font-style: normal;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.35;
}
.hkbsr-v32 .hkbsr-category-feed-copy p {
  margin: 0 !important;
  max-width: 720px;
  color: var(--hkbsr-muted) !important;
  font-size: 14px !important;
  line-height: 1.72 !important;
}
.hkbsr-v32 .hkbsr-category-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.hkbsr-v32 .hkbsr-category-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(14,64,87,.24);
  background: #fff;
  color: var(--hkbsr-harbour) !important;
  font-size: 12px;
  font-weight: 850;
}
.hkbsr-v32 .hkbsr-category-actions a:hover {
  border-color: var(--hkbsr-bronze);
  box-shadow: inset 0 -2px 0 var(--hkbsr-bronze);
}
.hkbsr-v32 .hkbsr-category-paper-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 0;
  margin-top: 18px;
  border-top: 1px solid rgba(14,64,87,.16);
  border-left: 1px solid rgba(14,64,87,.16);
}
.hkbsr-v32 .hkbsr-category-paper-list:empty {
  display: block;
  margin-top: 12px;
  border: 0;
  min-height: 0;
}
.hkbsr-v32 .hkbsr-category-paper {
  display: block;
  min-height: 146px;
  padding: 16px 15px 15px;
  border-right: 1px solid rgba(14,64,87,.16);
  border-bottom: 1px solid rgba(14,64,87,.16);
  background: rgba(255,255,255,.96);
  color: #101820 !important;
}
.hkbsr-v32 .hkbsr-category-paper:hover {
  background: rgba(14,64,87,.045);
  box-shadow: inset 0 3px 0 var(--hkbsr-bronze);
}
.hkbsr-v32 .hkbsr-category-paper strong {
  display: block;
  color: #101820;
  font-size: 16px;
  line-height: 1.42;
  font-weight: 950;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.hkbsr-v32 .hkbsr-category-paper span {
  display: block;
  margin-top: 22px;
  color: var(--hkbsr-muted);
  font-size: 13px;
  line-height: 1.5;
}
.hkbsr-v32 .hkbsr-category-paper em {
  display: block;
  margin-top: 8px;
  color: var(--hkbsr-bronze);
  font-style: normal;
  font-size: 12px;
  font-weight: 850;
}

@media (max-width: 1040px) {
  .hkbsr-v32 .hkbsr-category-feed-head { grid-template-columns: 1fr; gap: 12px; }
  .hkbsr-v32 .hkbsr-category-paper-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .hkbsr-v32 .hkbsr-category-titleline { grid-template-columns: 34px minmax(0,1fr); }
  .hkbsr-v32 .hkbsr-category-titleline h3 { font-size: 19px !important; }
  .hkbsr-v32 .hkbsr-category-paper-list { grid-template-columns: 1fr; }
}


/* HKBSR v33 refinement: keep the original HKBSR identity, polish the masthead and first screen. */
.hkbsr-v33 {
  --hkbsr-ink: #0d1b24;
  --hkbsr-text: #22313b;
  --hkbsr-muted: #66757e;
  --hkbsr-harbour: #0c405a;
  --hkbsr-harbour-2: #155f7d;
  --hkbsr-teal: #2f7774;
  --hkbsr-bronze: #a77b32;
  --hkbsr-line: rgba(12,64,90,.15);
  --hkbsr-line-strong: rgba(12,64,90,.28);
  --hkbsr-shadow: 0 18px 48px rgba(13,27,36,.12);
  --hkbsr-shadow-soft: 0 9px 24px rgba(13,27,36,.08);
  font-family: Arial, "Helvetica Neue", "Noto Sans TC", "Noto Sans CJK TC", "Microsoft JhengHei", "PingFang TC", sans-serif !important;
}

/* v33: calmer page spacing */
.hkbsr-v33.hkbsr-home {
  margin-top: 20px;
  padding-left: 18px;
  padding-right: 18px;
}

/* v33: masthead navigation 鈥� less mechanical, more journal-like */
.hkbsr-v33 .hkbsr-journal-nav {
  top: 10px;
  display: grid;
  grid-template-columns: 302px minmax(0, 1fr);
  min-height: 68px;
  margin-bottom: 18px;
  border: 1px solid rgba(12,64,90,.22);
  border-top: 0;
  background: rgba(255,255,255,.985);
  box-shadow: 0 14px 32px rgba(13,27,36,.09);
  overflow: visible;
}
.hkbsr-v33 .hkbsr-journal-nav::before {
  content: "";
  position: absolute;
  left: -1px;
  right: -1px;
  top: -1px;
  height: 4px;
  background: linear-gradient(90deg, var(--hkbsr-harbour) 0%, var(--hkbsr-harbour) 48%, var(--hkbsr-teal) 73%, var(--hkbsr-bronze) 100%);
}
.hkbsr-v33 .hkbsr-journal-nav::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, rgba(12,64,90,.22), rgba(167,123,50,.34), rgba(12,64,90,.18));
}
.hkbsr-v33 .hkbsr-nav-identity {
  min-width: 0;
  padding: 15px 18px 13px;
  border-right: 1px solid rgba(12,64,90,.16);
  background:
    linear-gradient(90deg, rgba(12,64,90,.055), rgba(255,255,255,.72)),
    radial-gradient(circle at 12% 20%, rgba(167,123,50,.13), transparent 38%);
}
.hkbsr-v33 .hkbsr-nav-code {
  width: 64px;
  height: 34px;
  background: #0c405a;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .08em;
  box-shadow: inset 0 -4px 0 var(--hkbsr-bronze);
}
.hkbsr-v33 .hkbsr-nav-name {
  color: #14364a !important;
  font-size: 15px;
  font-weight: 850;
  letter-spacing: .01em;
  white-space: nowrap;
}
.hkbsr-v33 .hkbsr-nav-links {
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  min-width: 0;
  overflow-x: auto;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,253,253,.94));
}
.hkbsr-v33 .hkbsr-nav-links a {
  position: relative;
  min-height: 64px;
  padding: 0 12px;
  border-left: 1px solid rgba(12,64,90,.075);
  color: #263843 !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .01em;
}
.hkbsr-v33 .hkbsr-nav-links a::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 10px;
  height: 2px;
  background: var(--hkbsr-bronze);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .18s ease;
}
.hkbsr-v33 .hkbsr-nav-links a:hover,
.hkbsr-v33 .hkbsr-nav-links a:focus-visible {
  background: rgba(12,64,90,.045);
  color: var(--hkbsr-harbour) !important;
  box-shadow: none;
}
.hkbsr-v33 .hkbsr-nav-links a:hover::after,
.hkbsr-v33 .hkbsr-nav-links a:focus-visible::after { transform: scaleX(1); }
.hkbsr-v33 .hkbsr-nav-links a.hkbsr-submit-link {
  margin-left: auto;
  padding: 0 17px;
  color: #fff !important;
  background: linear-gradient(180deg, #104d69, #0c405a);
  border-left: 0;
  box-shadow: inset 0 -4px 0 var(--hkbsr-bronze);
}
.hkbsr-v33 .hkbsr-nav-links a.hkbsr-submit-link::after { display: none; }
.hkbsr-v33 .hkbsr-nav-links a.hkbsr-submit-link:hover { background: linear-gradient(180deg, #155c7b, #0d4864); }

/* v33: first screen 鈥� stronger hierarchy, still square and academic */
.hkbsr-v33 .hkbsr-identity-block {
  grid-template-columns: minmax(0, 1fr) 326px;
  min-height: 336px;
  border: 1px solid rgba(12,64,90,.24);
  border-top: 4px solid var(--hkbsr-harbour);
  background: #fff;
  box-shadow: 0 20px 52px rgba(13,27,36,.11);
}
.hkbsr-v33 .hkbsr-identity-block::before {
  height: 0;
  background: none;
}
.hkbsr-v33 .hkbsr-identity-block::after {
  content: "HKBSR";
  position: absolute;
  left: 38px;
  bottom: -18px;
  color: rgba(12,64,90,.035);
  font-size: 92px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: .06em;
  pointer-events: none;
}
.hkbsr-v33 .hkbsr-identity-main {
  position: relative;
  z-index: 1;
  padding: 42px 40px 38px;
  background:
    linear-gradient(135deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.98) 62%, rgba(12,64,90,.04) 100%),
    linear-gradient(90deg, transparent 0, transparent 66%, rgba(47,119,116,.035) 66%, rgba(47,119,116,.035) 100%);
}
.hkbsr-v33 .hkbsr-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--hkbsr-harbour-2);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
}
.hkbsr-v33 .hkbsr-kicker::before {
  content: "";
  width: 36px;
  height: 3px;
  background: var(--hkbsr-bronze);
}
.hkbsr-v33 .hkbsr-identity-main h1 {
  margin: 18px 0 8px !important;
  color: #0d1b24 !important;
  font-family: Arial, "Helvetica Neue", "Noto Sans TC", "Noto Sans CJK TC", "Microsoft JhengHei", sans-serif !important;
  font-size: clamp(46px, 5.8vw, 68px) !important;
  line-height: .96 !important;
  font-weight: 950 !important;
  letter-spacing: -.05em;
}
.hkbsr-v33 .hkbsr-en-name {
  margin: 0 0 18px !important;
  color: var(--hkbsr-harbour) !important;
  font-size: clamp(22px, 2.7vw, 32px) !important;
  line-height: 1.12 !important;
  font-weight: 850 !important;
  letter-spacing: -.03em;
}
.hkbsr-v33 .hkbsr-intro-text {
  max-width: 750px;
  color: #374a56 !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
}
.hkbsr-v33 .hkbsr-action-line {
  gap: 9px;
  margin-top: 23px;
}
.hkbsr-v33 .hkbsr-action-line a,
.hkbsr-v33 .hkbsr-action-primary {
  min-height: 40px;
  padding: 0 18px;
  border: 1px solid rgba(12,64,90,.24);
  background: rgba(255,255,255,.94);
  color: var(--hkbsr-harbour) !important;
  font-size: 13px;
  font-weight: 850;
}
.hkbsr-v33 .hkbsr-action-line a:hover,
.hkbsr-v33 .hkbsr-action-primary:hover {
  background: rgba(12,64,90,.055);
  box-shadow: inset 0 -3px 0 var(--hkbsr-bronze);
}
.hkbsr-v33 .hkbsr-action-line .hkbsr-action-primary,
.hkbsr-v33 .hkbsr-action-primary {
  background: var(--hkbsr-harbour) !important;
  color: #fff !important;
  border-color: var(--hkbsr-harbour) !important;
}
.hkbsr-v33 .hkbsr-hero-panel {
  position: relative;
  padding: 44px 30px 32px;
  background:
    linear-gradient(180deg, #25313c, #1f2d37),
    radial-gradient(circle at 80% 70%, rgba(47,119,116,.55), transparent 52%);
  border-left: 1px solid rgba(12,64,90,.18);
  overflow: hidden;
}
.hkbsr-v33 .hkbsr-hero-panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background: linear-gradient(180deg, var(--hkbsr-harbour), var(--hkbsr-teal), var(--hkbsr-bronze));
}
.hkbsr-v33 .hkbsr-hero-panel::after {
  right: -46px;
  bottom: -42px;
  width: 250px;
  height: 210px;
  background: radial-gradient(circle, rgba(47,119,116,.48), rgba(47,119,116,0) 70%);
}
.hkbsr-v33 .hkbsr-hero-panel strong {
  display: block;
  margin-bottom: 18px;
  color: #fff;
  font-size: 21px;
  font-weight: 950;
  letter-spacing: .015em;
}
.hkbsr-v33 .hkbsr-hero-panel dl div {
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.hkbsr-v33 .hkbsr-hero-panel dt {
  color: rgba(255,255,255,.62);
  font-size: 12px;
  font-weight: 850;
}
.hkbsr-v33 .hkbsr-hero-panel dd {
  margin-top: 4px;
  color: #fff;
  font-size: 13px;
  font-weight: 760;
}

/* v33: image band more subtle; no fake banner text */
.hkbsr-v33 .hkbsr-photo-band {
  height: 230px;
  margin-top: 16px;
  border: 1px solid rgba(12,64,90,.22);
  border-top: 4px solid var(--hkbsr-harbour);
  background:
    linear-gradient(90deg, rgba(31,45,55,.94) 0%, rgba(31,45,55,.88) 55%, rgba(12,64,90,.52) 55%, rgba(47,119,116,.42) 100%),
    var(--hkbsr-pattern);
  box-shadow: 0 11px 28px rgba(13,27,36,.08);
}

/* v33: block polish */
.hkbsr-v33 .hkbsr-notice-board,
.hkbsr-v33 .hkbsr-current-issue-entry,
.hkbsr-v33 .hkbsr-editorial-list-block,
.hkbsr-v33 .hkbsr-database-search,
.hkbsr-v33 .hkbsr-category-index,
.hkbsr-v33 .hkbsr-text-panel,
.hkbsr-v33 .hkbsr-call-panel {
  border: 1px solid rgba(12,64,90,.16);
  background: rgba(255,255,255,.965);
  box-shadow: 0 9px 24px rgba(13,27,36,.065);
}
.hkbsr-v33 .hkbsr-block-head.hkbsr-line-head {
  border-bottom: 2px solid rgba(13,27,36,.86);
}
.hkbsr-v33 .hkbsr-block-head span,
.hkbsr-v33 .hkbsr-current-issue-entry span,
.hkbsr-v33 .hkbsr-call-panel span {
  color: var(--hkbsr-harbour-2);
  font-weight: 900;
  letter-spacing: .13em;
}
.hkbsr-v33 .hkbsr-block-head h2,
.hkbsr-v33 .hkbsr-current-issue-entry h2,
.hkbsr-v33 .hkbsr-call-panel h2 {
  color: #0d1b24 !important;
  font-weight: 950 !important;
  letter-spacing: -.025em;
}

/* v33: category feed 鈥� more concise, cleaner paper slots */
.hkbsr-v33 .hkbsr-category-index-bar a {
  border-color: rgba(12,64,90,.26);
  background: rgba(255,255,255,.90);
  color: var(--hkbsr-harbour) !important;
  font-weight: 850;
}
.hkbsr-v33 .hkbsr-category-feed-section {
  padding: 26px 0 28px;
}
.hkbsr-v33 .hkbsr-category-titleline > span {
  color: var(--hkbsr-bronze);
  font-size: 22px;
}
.hkbsr-v33 .hkbsr-category-titleline h3 a {
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
}
.hkbsr-v33 .hkbsr-category-actions a {
  border-color: rgba(12,64,90,.22);
}

/* v33: admin/language dropdown remains above the custom nav */
html body header .dropdown-menu,
html body .header .dropdown-menu,
html body #headerNavigationContainer .dropdown-menu,
html body .pkp_navigation_user_wrapper .dropdown-menu,
html body .pkp_navigation_user .dropdown-menu,
html body .navigationUser .dropdown-menu,
html body .user_navigation .dropdown-menu,
html body header ul.dropdown-menu,
html body header li ul {
  z-index: 10050 !important;
  box-shadow: 0 18px 44px rgba(13,27,36,.20) !important;
}

@media (max-width: 1120px) {
  .hkbsr-v33 .hkbsr-nav-links a { padding: 0 10px; font-size: 12px; }
  .hkbsr-v33 .hkbsr-nav-links a.hkbsr-submit-link { margin-left: 0; }
}
@media (max-width: 1040px) {
  .hkbsr-v33 .hkbsr-journal-nav { grid-template-columns: 1fr; }
  .hkbsr-v33 .hkbsr-nav-identity { border-right: 0; border-bottom: 1px solid rgba(12,64,90,.12); }
  .hkbsr-v33 .hkbsr-nav-links { justify-content: flex-start; }
  .hkbsr-v33 .hkbsr-identity-block { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .hkbsr-v33 .hkbsr-identity-main h1 { font-size: 38px !important; }
  .hkbsr-v33 .hkbsr-nav-links a { min-height: 50px; padding: 0 10px; }
}


/* ===== v34: current cover panel + up to five cover/gallery images ===== */
.hkbsr-v34 .hkbsr-identity-block {
  grid-template-columns: minmax(0, 1fr) 322px;
  align-items: stretch;
}
.hkbsr-v34 .hkbsr-cover-panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 360px;
  padding: 26px 24px;
  border-left: 1px solid rgba(14,64,87,.22);
  background:
    linear-gradient(180deg, rgba(255,255,255,.62), rgba(238,246,241,.88)),
    linear-gradient(135deg, rgba(14,64,87,.05), rgba(162,120,52,.05));
}
.hkbsr-v34 .hkbsr-cover-panel::before {
  content: "HKBSR";
  position: absolute;
  right: 18px;
  bottom: 6px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 46px;
  font-weight: 900;
  letter-spacing: .05em;
  color: rgba(14,64,87,.055);
  pointer-events: none;
}
.hkbsr-v34 .hkbsr-cover-panel-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(14,64,87,.18);
}
.hkbsr-v34 .hkbsr-cover-panel-head span {
  color: var(--hkbsr-harbour-2);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.hkbsr-v34 .hkbsr-cover-panel-head strong {
  color: var(--hkbsr-ink);
  font-size: 16px;
  font-weight: 900;
}
.hkbsr-v34 .hkbsr-cover-main {
  position: relative;
  z-index: 1;
  display: block;
  width: min(220px, 88%);
  margin: 0 auto;
  padding: 9px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(14,64,87,.18);
  box-shadow: 0 18px 36px rgba(16,35,46,.16);
}
.hkbsr-v34 .hkbsr-cover-main img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4.2;
  object-fit: cover;
}
.hkbsr-v34 .hkbsr-cover-link {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 38px;
  margin: 16px auto 0;
  padding: 0 22px;
  border: 1px solid var(--hkbsr-harbour);
  background: rgba(255,255,255,.68);
  color: var(--hkbsr-harbour) !important;
  font-size: 13px;
  font-weight: 850;
}
.hkbsr-v34 .hkbsr-cover-link:hover {
  background: var(--hkbsr-harbour);
  color: #fff !important;
}
.hkbsr-v34 .hkbsr-cover-gallery-section {
  margin-top: 14px;
  padding: 24px 26px 28px;
  border: 1px solid var(--hkbsr-line-strong);
  border-top: 4px solid var(--hkbsr-harbour);
  background: rgba(255,255,255,.78);
  box-shadow: var(--hkbsr-shadow-soft);
}
.hkbsr-v34 .hkbsr-cover-gallery-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(14,64,87,.18);
}
.hkbsr-v34 .hkbsr-cover-gallery-head span {
  display: block;
  color: var(--hkbsr-harbour-2);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.hkbsr-v34 .hkbsr-cover-gallery-head h2 {
  margin: 6px 0 6px !important;
  color: var(--hkbsr-ink) !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
}
.hkbsr-v34 .hkbsr-cover-gallery-head p {
  margin: 0 !important;
  max-width: 760px;
  color: var(--hkbsr-muted) !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}
.hkbsr-v34 .hkbsr-cover-gallery-head > a {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 16px;
  border: 1px solid rgba(14,64,87,.26);
  color: var(--hkbsr-harbour) !important;
  font-size: 13px;
  font-weight: 850;
  background: rgba(244,248,249,.76);
}
.hkbsr-v34 .hkbsr-cover-gallery-head > a:hover {
  background: rgba(14,64,87,.07);
  border-color: var(--hkbsr-harbour);
}
.hkbsr-v34 .hkbsr-cover-gallery {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  min-height: 0;
}
.hkbsr-v34 .hkbsr-cover-item {
  margin: 0;
  min-width: 0;
}
.hkbsr-v34 .hkbsr-cover-item a {
  display: block;
  padding: 8px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(14,64,87,.16);
  box-shadow: 0 8px 20px rgba(16,35,46,.08);
}
.hkbsr-v34 .hkbsr-cover-item a:hover {
  transform: translateY(-2px);
  border-color: rgba(14,64,87,.32);
  box-shadow: 0 16px 28px rgba(16,35,46,.13);
}
.hkbsr-v34 .hkbsr-cover-item img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4.15;
  object-fit: cover;
  background: rgba(14,64,87,.04);
}
.hkbsr-v34 .hkbsr-cover-item figcaption {
  margin-top: 8px;
  color: var(--hkbsr-harbour);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 800;
  text-align: center;
}
@media (max-width: 1040px) {
  .hkbsr-v34 .hkbsr-identity-block { grid-template-columns: 1fr; }
  .hkbsr-v34 .hkbsr-cover-panel { min-height: 0; border-left: 0; border-top: 1px solid rgba(14,64,87,.18); }
  .hkbsr-v34 .hkbsr-cover-main { width: min(210px, 62%); }
  .hkbsr-v34 .hkbsr-cover-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .hkbsr-v34 .hkbsr-cover-gallery-section { padding: 20px 18px 22px; }
  .hkbsr-v34 .hkbsr-cover-gallery-head { display: block; }
  .hkbsr-v34 .hkbsr-cover-gallery-head > a { margin-top: 14px; }
  .hkbsr-v34 .hkbsr-cover-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}
@media (max-width: 480px) {
  .hkbsr-v34 .hkbsr-cover-main { width: min(200px, 78%); }
  .hkbsr-v34 .hkbsr-cover-gallery { grid-template-columns: 1fr; }
}


/* ===== v35: homepage photo carousel + past issue directory ===== */
.hkbsr-v36 .hkbsr-identity-block {
  grid-template-columns: minmax(0, 1fr) 420px;
  align-items: stretch;
}
.hkbsr-v36 .hkbsr-cover-panel,
.hkbsr-v36 .hkbsr-cover-gallery-section {
  display: none !important;
}
.hkbsr-v36 .hkbsr-photo-carousel-panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  min-height: 360px;
  padding: 22px 22px 24px;
  border-left: 1px solid rgba(14,64,87,.24);
  background:
    linear-gradient(180deg, rgba(255,255,255,.70), rgba(238,246,241,.90)),
    linear-gradient(135deg, rgba(14,64,87,.055), rgba(162,120,52,.05));
}
.hkbsr-v36 .hkbsr-photo-carousel-panel::before {
  content: "HKBSR";
  position: absolute;
  right: 18px;
  bottom: 4px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 46px;
  font-weight: 900;
  letter-spacing: .05em;
  color: rgba(14,64,87,.045);
  pointer-events: none;
}
.hkbsr-v36 .hkbsr-photo-carousel-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(14,64,87,.18);
}
.hkbsr-v36 .hkbsr-photo-carousel-head span {
  color: var(--hkbsr-harbour-2);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.hkbsr-v36 .hkbsr-photo-carousel-head strong {
  color: var(--hkbsr-ink);
  font-size: 16px;
  font-weight: 900;
}
.hkbsr-v36 .hkbsr-photo-carousel {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  min-height: 280px;
  overflow: hidden;
  border: 1px solid rgba(14,64,87,.18);
  background: rgba(255,255,255,.78);
  box-shadow: 0 18px 36px rgba(16,35,46,.12);
}
.hkbsr-v36 .hkbsr-photo-slide {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  transform: scale(1.025);
  transition: opacity .55s ease, transform 1.4s ease;
}
.hkbsr-v36 .hkbsr-photo-slide.is-active {
  opacity: 1;
  transform: scale(1);
  z-index: 2;
}
.hkbsr-v36 .hkbsr-photo-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hkbsr-v36 .hkbsr-photo-carousel-note {
  position: relative;
  z-index: 1;
  margin-top: 10px;
  color: var(--hkbsr-muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.55;
}
.hkbsr-v36 .hkbsr-photo-carousel-panel.is-empty .hkbsr-photo-carousel {
  display: grid;
  place-items: center;
  box-shadow: none;
  min-height: 240px;
}
.hkbsr-v36 .hkbsr-photo-carousel-panel.is-empty .hkbsr-photo-carousel::before {
  content: "棣栭爜鍦栫墖寰呬笂鍌�";
  color: var(--hkbsr-muted);
  font-size: 14px;
  font-weight: 800;
}

.hkbsr-v36 .hkbsr-issue-directory {
  margin-top: 14px;
  padding: 26px 28px 30px;
  border: 1px solid var(--hkbsr-line-strong);
  border-top: 4px solid var(--hkbsr-harbour);
  background: rgba(255,255,255,.80);
  box-shadow: var(--hkbsr-shadow-soft);
}
.hkbsr-v36 .hkbsr-issue-directory-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}
.hkbsr-v36 .hkbsr-issue-directory-card {
  min-width: 0;
  border: 1px solid rgba(14,64,87,.16);
  background: rgba(248,251,252,.82);
  box-shadow: 0 8px 20px rgba(16,35,46,.07);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.hkbsr-v36 .hkbsr-issue-directory-card:hover {
  transform: translateY(-2px);
  border-color: rgba(14,64,87,.34);
  box-shadow: 0 15px 28px rgba(16,35,46,.12);
}
.hkbsr-v36 .hkbsr-issue-directory-cover {
  position: relative;
  display: block;
  padding: 9px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(237,245,241,.82));
  border-bottom: 1px solid rgba(14,64,87,.14);
}
.hkbsr-v36 .hkbsr-issue-directory-cover img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4.15;
  object-fit: cover;
  background: rgba(14,64,87,.04);
}
.hkbsr-v36 .hkbsr-issue-cover-fallback {
  display: none;
  width: 100%;
  aspect-ratio: 3 / 4.15;
  place-items: center;
  text-align: center;
  color: var(--hkbsr-harbour);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: .02em;
  background:
    linear-gradient(180deg, rgba(238,246,241,.92), rgba(255,255,255,.62)),
    var(--hkbsr-pattern);
  border: 1px solid rgba(14,64,87,.12);
}
.hkbsr-v36 .hkbsr-issue-directory-card.no-cover .hkbsr-issue-directory-cover img {
  display: none;
}
.hkbsr-v36 .hkbsr-issue-directory-card.no-cover .hkbsr-issue-cover-fallback {
  display: grid;
}
.hkbsr-v36 .hkbsr-issue-directory-info {
  padding: 13px 14px 14px;
}
.hkbsr-v36 .hkbsr-issue-directory-info strong {
  display: block;
  color: var(--hkbsr-ink);
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
}
.hkbsr-v36 .hkbsr-issue-directory-info span {
  display: block;
  margin-top: 5px;
  color: var(--hkbsr-muted);
  font-size: 12px;
  line-height: 1.45;
  font-weight: 700;
}
.hkbsr-v36 .hkbsr-issue-directory-info a {
  display: inline-flex;
  margin-top: 10px;
  padding-bottom: 3px;
  border-bottom: 2px solid var(--hkbsr-bronze);
  color: var(--hkbsr-harbour) !important;
  font-size: 12px;
  font-weight: 900;
}
.hkbsr-v36 .hkbsr-issue-directory-info a:hover {
  color: var(--hkbsr-blue) !important;
}
@media (max-width: 1040px) {
  .hkbsr-v36 .hkbsr-identity-block { grid-template-columns: 1fr; }
  .hkbsr-v36 .hkbsr-photo-carousel-panel { min-height: 0; border-left: 0; border-top: 1px solid rgba(14,64,87,.18); }
  .hkbsr-v36 .hkbsr-photo-carousel { min-height: 300px; }
  .hkbsr-v36 .hkbsr-issue-directory-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .hkbsr-v36 .hkbsr-photo-carousel-panel { padding: 18px; }
  .hkbsr-v36 .hkbsr-photo-carousel { min-height: 240px; }
  .hkbsr-v36 .hkbsr-issue-directory { padding: 22px 18px 24px; }
  .hkbsr-v36 .hkbsr-issue-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}
@media (max-width: 480px) {
  .hkbsr-v36 .hkbsr-photo-carousel { min-height: 210px; }
  .hkbsr-v36 .hkbsr-issue-directory-grid { grid-template-columns: 1fr; }
}

/* ===== v38: separate full-width homepage photo carousel ===== */
.hkbsr-v38 .hkbsr-identity-block {
  grid-template-columns: minmax(0, 1fr) !important;
  min-height: 360px;
  padding: 54px 42px 50px;
}
.hkbsr-v38 .hkbsr-identity-main {
  max-width: 900px;
}
.hkbsr-v38 .hkbsr-identity-block::after {
  right: 42px;
  bottom: -14px;
  font-size: 104px;
  opacity: .84;
}
.hkbsr-v38 .hkbsr-photo-carousel-section.hkbsr-photo-carousel-panel {
  position: relative;
  display: block;
  width: 100%;
  min-height: 0;
  margin-top: 18px;
  padding: 26px 30px 30px;
  border: 1px solid var(--hkbsr-line-strong);
  border-top: 4px solid var(--hkbsr-harbour);
  border-left: 1px solid var(--hkbsr-line-strong);
  background:
    linear-gradient(180deg, rgba(255,255,255,.84), rgba(242,248,245,.94)),
    linear-gradient(135deg, rgba(14,64,87,.055), rgba(162,120,52,.052));
  box-shadow: var(--hkbsr-shadow-soft);
}
.hkbsr-v38 .hkbsr-photo-carousel-section.hkbsr-photo-carousel-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(14,64,87,.03) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, rgba(14,64,87,.025) 0 1px, transparent 1px 100%);
  background-size: 72px 72px;
  opacity: .55;
}
.hkbsr-v38 .hkbsr-photo-carousel-section .hkbsr-photo-carousel-head {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: end;
  gap: 14px;
  margin: 0 0 16px;
  padding: 0 0 13px;
  border-bottom: 2px solid rgba(14,64,87,.22);
}
.hkbsr-v38 .hkbsr-photo-carousel-section .hkbsr-photo-carousel-head span {
  color: var(--hkbsr-harbour-2);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: none;
}
.hkbsr-v38 .hkbsr-photo-carousel-section .hkbsr-photo-carousel-head strong {
  color: var(--hkbsr-ink);
  font-size: 24px;
  font-weight: 900;
  letter-spacing: .02em;
}
.hkbsr-v38 .hkbsr-photo-carousel-section .hkbsr-photo-carousel-head em {
  color: var(--hkbsr-muted);
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.hkbsr-v38 .hkbsr-photo-carousel-section .hkbsr-photo-carousel {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 420px;
  overflow: hidden;
  border: 1px solid rgba(14,64,87,.20);
  background: rgba(255,255,255,.82);
  box-shadow: 0 18px 36px rgba(16,35,46,.12);
}
.hkbsr-v38 .hkbsr-photo-carousel-section .hkbsr-photo-slide {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  transform: scale(1.018);
  transition: opacity .58s ease, transform 1.45s ease;
}
.hkbsr-v38 .hkbsr-photo-carousel-section .hkbsr-photo-slide.is-active {
  opacity: 1;
  transform: scale(1);
  z-index: 2;
}
.hkbsr-v38 .hkbsr-photo-carousel-section .hkbsr-photo-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hkbsr-v38 .hkbsr-photo-carousel-section .hkbsr-photo-carousel-note {
  position: relative;
  z-index: 1;
  margin-top: 11px;
  color: var(--hkbsr-muted);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.65;
}
.hkbsr-v38 .hkbsr-photo-carousel-section.is-empty .hkbsr-photo-carousel {
  display: grid;
  place-items: center;
  min-height: 260px;
  box-shadow: none;
}
.hkbsr-v38 .hkbsr-photo-carousel-section.is-empty .hkbsr-photo-carousel::before {
  content: "棣栭爜杓挱鍦栫墖寰呬笂鍌�";
  color: var(--hkbsr-muted);
  font-size: 14px;
  font-weight: 900;
}
@media (max-width: 1040px) {
  .hkbsr-v38 .hkbsr-identity-block { padding: 44px 30px 42px; }
  .hkbsr-v38 .hkbsr-photo-carousel-section .hkbsr-photo-carousel { min-height: 340px; }
}
@media (max-width: 720px) {
  .hkbsr-v38 .hkbsr-identity-block { padding: 34px 22px 34px; }
  .hkbsr-v38 .hkbsr-photo-carousel-section.hkbsr-photo-carousel-panel { padding: 22px 18px 24px; }
  .hkbsr-v38 .hkbsr-photo-carousel-section .hkbsr-photo-carousel-head {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 4px;
  }
  .hkbsr-v38 .hkbsr-photo-carousel-section .hkbsr-photo-carousel-head em { white-space: normal; }
  .hkbsr-v38 .hkbsr-photo-carousel-section .hkbsr-photo-carousel { min-height: 260px; }
}
@media (max-width: 480px) {
  .hkbsr-v38 .hkbsr-photo-carousel-section .hkbsr-photo-carousel { min-height: 220px; }
}


/* ===== v39: compact masthead, clean image-only carousel, separated notice block ===== */
.hkbsr-v39 .hkbsr-identity-block {
  min-height: 240px !important;
  padding: 30px 34px 28px !important;
}
.hkbsr-v39 .hkbsr-identity-main {
  max-width: 900px !important;
  padding: 0 !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.98) 66%, rgba(12,64,90,.035) 100%) !important;
}
.hkbsr-v39 .hkbsr-kicker {
  font-size: 11px !important;
  letter-spacing: .14em !important;
}
.hkbsr-v39 .hkbsr-kicker::before {
  width: 30px !important;
  height: 2px !important;
}
.hkbsr-v39 .hkbsr-identity-main h1 {
  margin: 12px 0 5px !important;
  font-size: clamp(38px, 4.6vw, 54px) !important;
  line-height: .98 !important;
}
.hkbsr-v39 .hkbsr-en-name {
  margin: 0 0 12px !important;
  font-size: clamp(20px, 2.25vw, 28px) !important;
  line-height: 1.12 !important;
}
.hkbsr-v39 .hkbsr-intro-text {
  max-width: 800px !important;
  font-size: 14px !important;
  line-height: 1.72 !important;
}
.hkbsr-v39 .hkbsr-action-line {
  margin-top: 16px !important;
  gap: 8px !important;
}
.hkbsr-v39 .hkbsr-action-line a,
.hkbsr-v39 .hkbsr-action-primary {
  min-height: 36px !important;
  padding: 0 15px !important;
  font-size: 13px !important;
}
.hkbsr-v39 .hkbsr-identity-block::after {
  right: 30px !important;
  bottom: -16px !important;
  font-size: 78px !important;
  opacity: .62 !important;
}

/* 鍥剧墖灞曠ず鍖猴細鍙繚鐣欏浘鐗囨湰韬紝涓嶆樉绀烘爣棰樸€佽鏄庡拰涓婁紶鎻愮ず */
.hkbsr-v39 .hkbsr-photo-carousel-section.hkbsr-photo-carousel-panel {
  margin-top: 18px !important;
  padding: 0 !important;
  border: 1px solid var(--hkbsr-line-strong) !important;
  border-top: 4px solid var(--hkbsr-harbour) !important;
  background: #fff !important;
  box-shadow: var(--hkbsr-shadow-soft) !important;
  overflow: hidden !important;
}
.hkbsr-v39 .hkbsr-photo-carousel-section.hkbsr-photo-carousel-panel::before,
.hkbsr-v39 .hkbsr-photo-carousel-section .hkbsr-photo-carousel-head,
.hkbsr-v39 .hkbsr-photo-carousel-section .hkbsr-photo-carousel-note {
  display: none !important;
}
.hkbsr-v39 .hkbsr-photo-carousel-section .hkbsr-photo-carousel {
  min-height: 360px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.hkbsr-v39 .hkbsr-photo-carousel-section .hkbsr-photo-slide img {
  object-fit: cover !important;
  object-position: center !important;
}
.hkbsr-v39 .hkbsr-photo-carousel-section.is-empty {
  display: none !important;
}
.hkbsr-v39 .hkbsr-photo-carousel-section.is-empty .hkbsr-photo-carousel::before {
  content: "" !important;
}

/* 鍏憡鑸囨湡鍒婇€氬憡锛氬垎娆勫憟鐝撅紝灏嶆噳鍏╁€嬫竻鏅版澘濉� */
.hkbsr-v39 .hkbsr-notice-split {
  padding: 26px 30px 30px !important;
}
.hkbsr-v39 .hkbsr-notice-split .hkbsr-block-head p {
  max-width: 760px !important;
}
.hkbsr-v39 .hkbsr-notice-columns {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: 18px;
  margin-top: 18px;
}
.hkbsr-v39 .hkbsr-notice-column {
  min-width: 0;
  border: 1px solid rgba(14,64,87,.16);
  background: rgba(248,251,252,.82);
}
.hkbsr-v39 .hkbsr-notice-column-head {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 0 18px;
  border-bottom: 1px solid rgba(14,64,87,.15);
  background: linear-gradient(90deg, rgba(14,64,87,.055), rgba(255,255,255,.78));
}
.hkbsr-v39 .hkbsr-notice-column-head span {
  color: var(--hkbsr-bronze);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 900;
}
.hkbsr-v39 .hkbsr-notice-column-head strong {
  color: var(--hkbsr-ink);
  font-size: 18px;
  font-weight: 950;
}
.hkbsr-v39 .hkbsr-notice-split .hkbsr-notice-list {
  display: none !important;
}
.hkbsr-v39 .hkbsr-notice-split .hkbsr-notice-item {
  display: grid !important;
  grid-template-columns: 86px minmax(0, 1fr) !important;
  gap: 8px 14px !important;
  align-items: baseline !important;
  padding: 16px 18px !important;
  border-bottom: 1px solid rgba(14,64,87,.12) !important;
  color: var(--hkbsr-ink) !important;
  background: #fff !important;
}
.hkbsr-v39 .hkbsr-notice-split .hkbsr-notice-item:last-child {
  border-bottom: 0 !important;
}
.hkbsr-v39 .hkbsr-notice-split .hkbsr-notice-item:hover {
  padding-left: 22px !important;
  background: rgba(14,64,87,.035) !important;
}
.hkbsr-v39 .hkbsr-notice-split .hkbsr-notice-item span {
  grid-row: 1 / 3;
  color: var(--hkbsr-harbour);
  font-size: 13px;
  font-weight: 900;
}
.hkbsr-v39 .hkbsr-notice-split .hkbsr-notice-item strong {
  color: var(--hkbsr-ink);
  font-size: 16px;
  line-height: 1.45;
  font-weight: 950;
}
.hkbsr-v39 .hkbsr-notice-split .hkbsr-notice-item em {
  color: var(--hkbsr-muted);
  font-style: normal;
  font-size: 13px;
  line-height: 1.5;
}

@media (max-width: 1040px) {
  .hkbsr-v39 .hkbsr-identity-block {
    padding: 28px 28px 28px !important;
  }
  .hkbsr-v39 .hkbsr-photo-carousel-section .hkbsr-photo-carousel {
    min-height: 310px !important;
  }
}
@media (max-width: 720px) {
  .hkbsr-v39 .hkbsr-identity-block {
    padding: 26px 20px 26px !important;
  }
  .hkbsr-v39 .hkbsr-identity-main h1 {
    font-size: 36px !important;
  }
  .hkbsr-v39 .hkbsr-photo-carousel-section .hkbsr-photo-carousel {
    min-height: 240px !important;
  }
  .hkbsr-v39 .hkbsr-notice-columns {
    grid-template-columns: 1fr;
  }
  .hkbsr-v39 .hkbsr-notice-split .hkbsr-notice-item {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
  .hkbsr-v39 .hkbsr-notice-split .hkbsr-notice-item span {
    grid-row: auto;
  }
}
@media (max-width: 480px) {
  .hkbsr-v39 .hkbsr-photo-carousel-section .hkbsr-photo-carousel {
    min-height: 210px !important;
  }
}

/* ===== v40: remove fake/static issue cards; rely on OJS real published issues ===== */
.hkbsr-v40 .hkbsr-issue-directory {
  display: none !important;
}

/* Keep the real OJS current issue / archive output visually aligned when OJS publishes an issue. */
html body .current_issue,
html body .page_index_journal .current_issue,
html body .obj_issue_toc,
html body .page_issue_archive {
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* If an old cached HTML block remains, hide the optional unpublished issue placeholders. */
.hkbsr-v40 .hkbsr-optional-issue {
  display: none !important;
}


/* ===== v41: site-wide scholarly texture + clean image-only carousel + HKBSR watermark masthead ===== */

/* Site-wide base texture for OJS public pages */
html body {
  background-color: #eef5f6 !important;
  background-image:
    radial-gradient(circle at 8% 10%, rgba(12,64,90,.060), transparent 28%),
    radial-gradient(circle at 92% 12%, rgba(167,123,50,.050), transparent 26%),
    linear-gradient(180deg, rgba(244,248,249,.985), rgba(239,246,248,.965) 46%, rgba(250,252,253,.985)),
    linear-gradient(90deg, rgba(14,64,87,.030) 1px, transparent 1px),
    linear-gradient(180deg, rgba(14,64,87,.024) 1px, transparent 1px) !important;
  background-size: auto, auto, auto, 76px 76px, 76px 76px !important;
  background-position: center top, center top, center top, center top, center top !important;
  background-attachment: fixed, fixed, fixed, fixed, fixed !important;
}
html body::before {
  content: "HKBSR";
  position: fixed;
  right: -3vw;
  bottom: 5vh;
  z-index: 0;
  pointer-events: none;
  color: rgba(12,64,90,.030);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(120px, 20vw, 280px);
  font-weight: 900;
  letter-spacing: .055em;
  line-height: 1;
}
html body > header,
html body #headerNavigationContainer,
html body main,
html body .page,
html body .pkp_structure_content,
html body .container-page,
html body .hkbsr-home {
  position: relative !important;
  z-index: 1 !important;
}

/* If older HTML is cached, still hide all image-section text and keep only the carousel image. */
.hkbsr-home .hkbsr-photo-carousel-head,
.hkbsr-home .hkbsr-photo-carousel-note,
.hkbsr-v41 .hkbsr-photo-carousel-section .hkbsr-photo-carousel-head,
.hkbsr-v41 .hkbsr-photo-carousel-section .hkbsr-photo-carousel-note {
  display: none !important;
}
.hkbsr-v41 .hkbsr-photo-carousel-section.hkbsr-photo-carousel-panel,
.hkbsr-home .hkbsr-photo-carousel-section.hkbsr-photo-carousel-panel {
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
}
.hkbsr-v41 .hkbsr-photo-carousel-section .hkbsr-photo-carousel {
  min-height: 360px !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Compact masthead with a controlled institutional watermark. */
.hkbsr-v41 .hkbsr-identity-block {
  position: relative !important;
  min-height: 252px !important;
  padding: 34px 40px 32px !important;
  overflow: hidden !important;
  border-top: 4px solid var(--hkbsr-harbour) !important;
  background:
    linear-gradient(115deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.92) 58%, rgba(238,246,244,.82) 100%),
    radial-gradient(circle at 78% 34%, rgba(47,119,116,.100), transparent 34%),
    radial-gradient(circle at 22% 78%, rgba(167,123,50,.070), transparent 30%),
    linear-gradient(90deg, rgba(14,64,87,.034) 1px, transparent 1px),
    linear-gradient(180deg, rgba(14,64,87,.027) 1px, transparent 1px) !important;
  background-size: auto, auto, auto, 70px 70px, 70px 70px !important;
}
.hkbsr-v41 .hkbsr-identity-block::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  height: 0 !important;
  background: none !important;
}
.hkbsr-v41 .hkbsr-identity-block::after {
  content: "HKBSR" !important;
  position: absolute !important;
  left: 30px !important;
  bottom: -28px !important;
  z-index: 0 !important;
  color: rgba(12,64,90,.045) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(82px, 10vw, 126px) !important;
  font-weight: 900 !important;
  letter-spacing: .075em !important;
  line-height: 1 !important;
  pointer-events: none !important;
}
.hkbsr-v41 .hkbsr-identity-main {
  position: relative !important;
  z-index: 1 !important;
  max-width: 900px !important;
  padding: 0 !important;
  background: transparent !important;
}
.hkbsr-v41 .hkbsr-kicker {
  font-size: 11px !important;
  letter-spacing: .15em !important;
}
.hkbsr-v41 .hkbsr-kicker::before {
  width: 34px !important;
  height: 2px !important;
}
.hkbsr-v41 .hkbsr-identity-main h1 {
  margin: 13px 0 5px !important;
  font-size: clamp(40px, 4.8vw, 56px) !important;
  line-height: .98 !important;
  letter-spacing: -.052em !important;
}
.hkbsr-v41 .hkbsr-en-name {
  margin: 0 0 13px !important;
  font-size: clamp(20px, 2.35vw, 29px) !important;
  line-height: 1.13 !important;
}
.hkbsr-v41 .hkbsr-intro-text {
  max-width: 790px !important;
  font-size: 14px !important;
  line-height: 1.74 !important;
}
.hkbsr-v41 .hkbsr-action-line {
  margin-top: 17px !important;
  gap: 8px !important;
}
.hkbsr-v41 .hkbsr-action-line a,
.hkbsr-v41 .hkbsr-action-primary {
  min-height: 36px !important;
  padding: 0 15px !important;
  font-size: 13px !important;
}

/* Give all homepage panels a faint paper texture so the page no longer looks flat. */
.hkbsr-v41 .hkbsr-notice-board,
.hkbsr-v41 .hkbsr-current-issue-entry,
.hkbsr-v41 .hkbsr-editorial-list-block,
.hkbsr-v41 .hkbsr-database-search,
.hkbsr-v41 .hkbsr-category-index,
.hkbsr-v41 .hkbsr-text-panel,
.hkbsr-v41 .hkbsr-call-panel {
  background:
    linear-gradient(180deg, rgba(255,255,255,.965), rgba(250,253,253,.940)),
    linear-gradient(90deg, rgba(14,64,87,.020) 1px, transparent 1px),
    linear-gradient(180deg, rgba(14,64,87,.018) 1px, transparent 1px) !important;
  background-size: auto, 64px 64px, 64px 64px !important;
}

@media (max-width: 1040px) {
  .hkbsr-v41 .hkbsr-identity-block { padding: 30px 28px 30px !important; }
  .hkbsr-v41 .hkbsr-photo-carousel-section .hkbsr-photo-carousel { min-height: 310px !important; }
}
@media (max-width: 720px) {
  .hkbsr-v41 .hkbsr-identity-block { padding: 26px 20px 26px !important; }
  .hkbsr-v41 .hkbsr-identity-main h1 { font-size: 36px !important; }
  .hkbsr-v41 .hkbsr-photo-carousel-section .hkbsr-photo-carousel { min-height: 240px !important; }
}
@media (max-width: 480px) {
  .hkbsr-v41 .hkbsr-photo-carousel-section .hkbsr-photo-carousel { min-height: 210px !important; }
}


/* ===== v42: cleaner light homepage texture; remove photo gallery; use HKBSR abbreviation watermark only ===== */

/* Overall page tone: lighter, quieter, and closer to an academic journal site. */
html body {
  background-color: #f5f9fa !important;
  background-image:
    radial-gradient(circle at 15% 8%, rgba(12,64,90,.030), transparent 32%),
    radial-gradient(circle at 86% 20%, rgba(167,123,50,.026), transparent 30%),
    linear-gradient(180deg, rgba(250,252,252,.995) 0%, rgba(243,248,249,.975) 48%, rgba(250,252,252,.995) 100%),
    linear-gradient(90deg, rgba(12,64,90,.018) 1px, transparent 1px),
    linear-gradient(180deg, rgba(12,64,90,.014) 1px, transparent 1px) !important;
  background-size: auto, auto, auto, 96px 96px, 96px 96px !important;
  background-position: center top, center top, center top, center top, center top !important;
  background-repeat: no-repeat, no-repeat, no-repeat, repeat, repeat !important;
  background-attachment: fixed, fixed, fixed, fixed, fixed !important;
}

/* Remove the large fixed HKBSR watermark introduced earlier; keep watermark only inside the masthead panel. */
html body::before {
  content: "" !important;
  display: none !important;
}

/* Hide the old image carousel area completely, including cached older HTML blocks. */
.hkbsr-v42 #hkbsr-photo-gallery,
.hkbsr-v42 .hkbsr-photo-carousel-section,
.hkbsr-v42 .hkbsr-photo-carousel-panel,
.hkbsr-home #hkbsr-photo-gallery {
  display: none !important;
}

/* The first title block becomes the main visual field; the abbreviation is used as the only watermark. */
.hkbsr-v42 .hkbsr-identity-block {
  position: relative !important;
  min-height: 252px !important;
  padding: 34px 40px 32px !important;
  border: 1px solid rgba(12,64,90,.18) !important;
  border-top: 4px solid var(--hkbsr-harbour) !important;
  box-shadow: 0 14px 34px rgba(13,27,36,.075) !important;
  overflow: hidden !important;
  background:
    linear-gradient(112deg, rgba(255,255,255,.985) 0%, rgba(255,255,255,.945) 58%, rgba(239,247,246,.760) 100%),
    radial-gradient(circle at 76% 35%, rgba(47,119,116,.050), transparent 34%),
    radial-gradient(circle at 18% 88%, rgba(167,123,50,.038), transparent 30%),
    linear-gradient(90deg, rgba(14,64,87,.020) 1px, transparent 1px),
    linear-gradient(180deg, rgba(14,64,87,.016) 1px, transparent 1px) !important;
  background-size: auto, auto, auto, 86px 86px, 86px 86px !important;
}
.hkbsr-v42 .hkbsr-identity-block::before {
  content: "" !important;
  position: absolute !important;
  inset: auto 0 0 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, rgba(12,64,90,.06), rgba(167,123,50,.12), rgba(12,64,90,.04)) !important;
}
.hkbsr-v42 .hkbsr-identity-block::after {
  content: "HKBSR" !important;
  position: absolute !important;
  right: 32px !important;
  bottom: -20px !important;
  z-index: 0 !important;
  color: rgba(12,64,90,.038) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(86px, 12vw, 154px) !important;
  font-weight: 900 !important;
  letter-spacing: .085em !important;
  line-height: 1 !important;
  pointer-events: none !important;
  white-space: nowrap !important;
}
.hkbsr-v42 .hkbsr-identity-main {
  position: relative !important;
  z-index: 1 !important;
  max-width: 900px !important;
  padding: 0 !important;
  background: transparent !important;
}
.hkbsr-v42 .hkbsr-kicker {
  font-size: 11px !important;
  letter-spacing: .145em !important;
  color: rgba(12,64,90,.92) !important;
}
.hkbsr-v42 .hkbsr-kicker::before {
  width: 34px !important;
  height: 2px !important;
  background: rgba(167,123,50,.86) !important;
}
.hkbsr-v42 .hkbsr-identity-main h1 {
  margin: 13px 0 5px !important;
  font-size: clamp(40px, 4.8vw, 56px) !important;
  line-height: .98 !important;
  letter-spacing: -.052em !important;
  color: #0d1b24 !important;
}
.hkbsr-v42 .hkbsr-en-name {
  margin: 0 0 13px !important;
  font-size: clamp(20px, 2.35vw, 29px) !important;
  line-height: 1.13 !important;
  color: #0d4864 !important;
}
.hkbsr-v42 .hkbsr-intro-text {
  max-width: 790px !important;
  font-size: 14px !important;
  line-height: 1.74 !important;
  color: #334650 !important;
}
.hkbsr-v42 .hkbsr-action-line {
  margin-top: 17px !important;
  gap: 8px !important;
}
.hkbsr-v42 .hkbsr-action-line a,
.hkbsr-v42 .hkbsr-action-primary {
  min-height: 36px !important;
  padding: 0 15px !important;
  font-size: 13px !important;
}

/* Main content panels: calmer paper texture, no heavy grid. */
.hkbsr-v42 .hkbsr-notice-board,
.hkbsr-v42 .hkbsr-current-issue-entry,
.hkbsr-v42 .hkbsr-editorial-list-block,
.hkbsr-v42 .hkbsr-database-search,
.hkbsr-v42 .hkbsr-category-index,
.hkbsr-v42 .hkbsr-text-panel,
.hkbsr-v42 .hkbsr-call-panel {
  background:
    linear-gradient(180deg, rgba(255,255,255,.975), rgba(251,253,253,.955)),
    linear-gradient(90deg, rgba(14,64,87,.012) 1px, transparent 1px),
    linear-gradient(180deg, rgba(14,64,87,.010) 1px, transparent 1px) !important;
  background-size: auto, 88px 88px, 88px 88px !important;
  border-color: rgba(12,64,90,.135) !important;
  box-shadow: 0 8px 22px rgba(13,27,36,.055) !important;
}

@media (max-width: 1040px) {
  .hkbsr-v42 .hkbsr-identity-block { padding: 30px 28px 30px !important; }
}
@media (max-width: 720px) {
  .hkbsr-v42 .hkbsr-identity-block { padding: 26px 20px 26px !important; }
  .hkbsr-v42 .hkbsr-identity-main h1 { font-size: 36px !important; }
  .hkbsr-v42 .hkbsr-identity-block::after {
    right: -18px !important;
    bottom: -10px !important;
    font-size: 78px !important;
    opacity: .75 !important;
  }
}


/* ===== v43: restore image block at top; add quiet bottom texture ===== */
.hkbsr-v43#hkbsr-home-top,
.hkbsr-v43.hkbsr-home {
  position: relative !important;
}

/* Re-open the image display area hidden in v42, and place it as the first content block after navigation. */
.hkbsr-v43 #hkbsr-photo-gallery.hkbsr-top-gallery,
.hkbsr-v43 .hkbsr-top-gallery {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 1px solid rgba(12,64,90,.18) !important;
  border-top: 4px solid var(--hkbsr-harbour) !important;
  background: rgba(255,255,255,.88) !important;
  box-shadow: 0 10px 26px rgba(13,27,36,.060) !important;
  overflow: hidden !important;
}
.hkbsr-v43 #hkbsr-photo-gallery.hkbsr-top-gallery::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg, rgba(12,64,90,.026) 1px, transparent 1px),
    linear-gradient(180deg, rgba(12,64,90,.020) 1px, transparent 1px),
    linear-gradient(110deg, rgba(255,255,255,.08), rgba(255,255,255,0) 48%, rgba(47,119,116,.035)) !important;
  background-size: 86px 86px, 86px 86px, auto !important;
}
.hkbsr-v43 .hkbsr-top-gallery-frame {
  position: relative !important;
  width: 100% !important;
  min-height: 330px !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, #f8fbfa, #edf5f4) !important;
}
.hkbsr-v43 .hkbsr-top-gallery-slide {
  position: absolute !important;
  inset: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  transform: scale(1.018) !important;
  animation: hkbsrTopGalleryFade 15s infinite !important;
}
.hkbsr-v43 .hkbsr-top-gallery-slide:nth-child(1) { animation-delay: 0s !important; }
.hkbsr-v43 .hkbsr-top-gallery-slide:nth-child(2) { animation-delay: 3s !important; }
.hkbsr-v43 .hkbsr-top-gallery-slide:nth-child(3) { animation-delay: 6s !important; }
.hkbsr-v43 .hkbsr-top-gallery-slide:nth-child(4) { animation-delay: 9s !important; }
.hkbsr-v43 .hkbsr-top-gallery-slide:nth-child(5) { animation-delay: 12s !important; }
.hkbsr-v43 .hkbsr-top-gallery-slide:first-child:last-child {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}
.hkbsr-v43 .hkbsr-top-gallery-slide img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}
@keyframes hkbsrTopGalleryFade {
  0% { opacity: 0; transform: scale(1.018); }
  5% { opacity: 1; transform: scale(1); }
  22% { opacity: 1; transform: scale(1); }
  28% { opacity: 0; transform: scale(1.012); }
  100% { opacity: 0; transform: scale(1.018); }
}

/* Keep the title block clean and make it follow the top image area. */
.hkbsr-v43 .hkbsr-identity-block {
  margin-top: 0 !important;
}

/* Bottom decorative pattern: light, restrained, and consistent with the academic visual system. */
.hkbsr-v43 .hkbsr-footer-pattern {
  position: relative !important;
  min-height: 118px !important;
  margin-top: 18px !important;
  border: 1px solid rgba(12,64,90,.12) !important;
  border-bottom: 4px solid rgba(12,64,90,.88) !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(241,247,247,.92)),
    radial-gradient(circle at 82% 30%, rgba(47,119,116,.055), transparent 34%),
    radial-gradient(circle at 18% 70%, rgba(167,123,50,.045), transparent 30%),
    linear-gradient(90deg, rgba(12,64,90,.018) 1px, transparent 1px),
    linear-gradient(180deg, rgba(12,64,90,.014) 1px, transparent 1px) !important;
  background-size: auto, auto, auto, 72px 72px, 72px 72px !important;
  box-shadow: 0 8px 22px rgba(13,27,36,.045) !important;
}
.hkbsr-v43 .hkbsr-footer-pattern::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--hkbsr-harbour), var(--hkbsr-teal), rgba(167,123,50,.80)) !important;
}
.hkbsr-v43 .hkbsr-footer-pattern::after {
  content: "" !important;
  position: absolute !important;
  left: -5% !important;
  right: -5% !important;
  bottom: 16px !important;
  height: 54px !important;
  background:
    radial-gradient(ellipse at center, rgba(47,119,116,.08), transparent 58%),
    linear-gradient(100deg, transparent 0%, rgba(12,64,90,.035) 36%, rgba(167,123,50,.052) 54%, transparent 76%) !important;
  transform: skewY(-1.2deg) !important;
  pointer-events: none !important;
}
.hkbsr-v43 .hkbsr-footer-pattern span {
  position: absolute !important;
  right: 34px !important;
  bottom: -18px !important;
  color: rgba(12,64,90,.050) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(68px, 9vw, 126px) !important;
  font-weight: 900 !important;
  letter-spacing: .10em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

@media (max-width: 1040px) {
  .hkbsr-v43 .hkbsr-top-gallery-frame { min-height: 290px !important; }
  .hkbsr-v43 .hkbsr-footer-pattern { min-height: 104px !important; }
}
@media (max-width: 720px) {
  .hkbsr-v43 .hkbsr-top-gallery-frame { min-height: 230px !important; }
  .hkbsr-v43 .hkbsr-footer-pattern span { right: -16px !important; font-size: 72px !important; }
}
@media (max-width: 480px) {
  .hkbsr-v43 .hkbsr-top-gallery-frame { min-height: 200px !important; }
  .hkbsr-v43 .hkbsr-footer-pattern { min-height: 92px !important; }
}


/* ===== v44: force top photo display, override older v42 hide rules, keep clean light tone ===== */
#hkbsr-home-top.hkbsr-v44 > #hkbsr-photo-gallery.hkbsr-top-gallery,
.hkbsr-home.hkbsr-v44 #hkbsr-photo-gallery.hkbsr-top-gallery,
.hkbsr-home.hkbsr-v44 .hkbsr-top-gallery {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(12,64,90,.16) !important;
  border-top: 4px solid var(--hkbsr-harbour) !important;
  background: #f7fbfa !important;
  box-shadow: 0 10px 24px rgba(13,27,36,.055) !important;
  overflow: hidden !important;
}
#hkbsr-home-top.hkbsr-v44 > #hkbsr-photo-gallery.hkbsr-top-gallery::before,
.hkbsr-home.hkbsr-v44 #hkbsr-photo-gallery.hkbsr-top-gallery::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg, rgba(12,64,90,.020) 1px, transparent 1px),
    linear-gradient(180deg, rgba(12,64,90,.016) 1px, transparent 1px),
    linear-gradient(108deg, rgba(255,255,255,.10), rgba(255,255,255,0) 48%, rgba(47,119,116,.026)) !important;
  background-size: 92px 92px, 92px 92px, auto !important;
}
.hkbsr-home.hkbsr-v44 .hkbsr-top-gallery-frame {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  min-height: 330px !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(248,251,250,.96), rgba(237,246,244,.92)),
    linear-gradient(90deg, rgba(12,64,90,.018) 1px, transparent 1px),
    linear-gradient(180deg, rgba(12,64,90,.014) 1px, transparent 1px) !important;
  background-size: auto, 92px 92px, 92px 92px !important;
}
.hkbsr-home.hkbsr-v44 .hkbsr-top-gallery-slide {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  transform: scale(1.018) !important;
  animation: hkbsrTopGalleryFade 15s infinite !important;
}
.hkbsr-home.hkbsr-v44 .hkbsr-top-gallery-slide:nth-child(1) { animation-delay: 0s !important; }
.hkbsr-home.hkbsr-v44 .hkbsr-top-gallery-slide:nth-child(2) { animation-delay: 3s !important; }
.hkbsr-home.hkbsr-v44 .hkbsr-top-gallery-slide:nth-child(3) { animation-delay: 6s !important; }
.hkbsr-home.hkbsr-v44 .hkbsr-top-gallery-slide:nth-child(4) { animation-delay: 9s !important; }
.hkbsr-home.hkbsr-v44 .hkbsr-top-gallery-slide:nth-child(5) { animation-delay: 12s !important; }
.hkbsr-home.hkbsr-v44 .hkbsr-top-gallery-slide:first-child:last-child {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}
.hkbsr-home.hkbsr-v44 .hkbsr-top-gallery-slide img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 330px !important;
  object-fit: cover !important;
  object-position: center !important;
}
.hkbsr-home.hkbsr-v44 .hkbsr-identity-block {
  margin-top: 0 !important;
}
@media (max-width: 1040px) {
  .hkbsr-home.hkbsr-v44 .hkbsr-top-gallery-frame,
  .hkbsr-home.hkbsr-v44 .hkbsr-top-gallery-slide img { min-height: 290px !important; }
}
@media (max-width: 720px) {
  .hkbsr-home.hkbsr-v44 .hkbsr-top-gallery-frame,
  .hkbsr-home.hkbsr-v44 .hkbsr-top-gallery-slide img { min-height: 230px !important; }
}
@media (max-width: 480px) {
  .hkbsr-home.hkbsr-v44 .hkbsr-top-gallery-frame,
  .hkbsr-home.hkbsr-v44 .hkbsr-top-gallery-slide img { min-height: 200px !important; }
}


/* ===== v45: photo gallery path-safe loader and visible fallback state ===== */
#hkbsr-home-top.hkbsr-v45 > #hkbsr-photo-gallery.hkbsr-top-gallery,
.hkbsr-home.hkbsr-v45 #hkbsr-photo-gallery.hkbsr-top-gallery,
.hkbsr-home.hkbsr-v45 .hkbsr-top-gallery {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  width: 100% !important;
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(12,64,90,.16) !important;
  border-top: 4px solid var(--hkbsr-harbour) !important;
  background:
    linear-gradient(180deg, rgba(250,253,252,.96), rgba(239,248,246,.92)),
    linear-gradient(90deg, rgba(12,64,90,.018) 1px, transparent 1px),
    linear-gradient(180deg, rgba(12,64,90,.014) 1px, transparent 1px) !important;
  background-size: auto, 92px 92px, 92px 92px !important;
  box-shadow: 0 10px 24px rgba(13,27,36,.055) !important;
  overflow: hidden !important;
}
.hkbsr-home.hkbsr-v45 .hkbsr-top-gallery::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg, rgba(12,64,90,.020) 1px, transparent 1px),
    linear-gradient(180deg, rgba(12,64,90,.016) 1px, transparent 1px),
    linear-gradient(108deg, rgba(255,255,255,.11), rgba(255,255,255,0) 48%, rgba(47,119,116,.025)) !important;
  background-size: 92px 92px, 92px 92px, auto !important;
}
.hkbsr-home.hkbsr-v45 .hkbsr-top-gallery-frame {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  min-height: 330px !important;
  overflow: hidden !important;
  background: transparent !important;
}
.hkbsr-home.hkbsr-v45 .hkbsr-top-gallery-slide {
  display: none !important;
  position: absolute !important;
  inset: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  transform: none !important;
  animation: none !important;
  transition: opacity .55s ease !important;
}
.hkbsr-home.hkbsr-v45 .hkbsr-top-gallery-slide.is-loaded {
  display: block !important;
}
.hkbsr-home.hkbsr-v45 .hkbsr-top-gallery-slide.is-active {
  opacity: 1 !important;
  z-index: 1 !important;
}
.hkbsr-home.hkbsr-v45 .hkbsr-top-gallery-slide img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 330px !important;
  object-fit: cover !important;
  object-position: center !important;
}
.hkbsr-home.hkbsr-v45 .hkbsr-top-gallery.is-empty {
  min-height: 330px !important;
}
.hkbsr-home.hkbsr-v45 .hkbsr-top-gallery.is-empty::after {
  content: "" !important;
  position: absolute !important;
  left: 40px !important;
  right: 40px !important;
  top: 42% !important;
  height: 1px !important;
  background: rgba(12,64,90,.10) !important;
}
@media (max-width: 1040px) {
  .hkbsr-home.hkbsr-v45 .hkbsr-top-gallery-frame,
  .hkbsr-home.hkbsr-v45 .hkbsr-top-gallery-slide img,
  .hkbsr-home.hkbsr-v45 .hkbsr-top-gallery.is-empty { min-height: 290px !important; }
}
@media (max-width: 720px) {
  .hkbsr-home.hkbsr-v45 .hkbsr-top-gallery-frame,
  .hkbsr-home.hkbsr-v45 .hkbsr-top-gallery-slide img,
  .hkbsr-home.hkbsr-v45 .hkbsr-top-gallery.is-empty { min-height: 230px !important; }
}
@media (max-width: 480px) {
  .hkbsr-home.hkbsr-v45 .hkbsr-top-gallery-frame,
  .hkbsr-home.hkbsr-v45 .hkbsr-top-gallery-slide img,
  .hkbsr-home.hkbsr-v45 .hkbsr-top-gallery.is-empty { min-height: 200px !important; }
}
