/* Shenzhen / Hong Kong crossing guide. All page styles stay inside this view. */
.hkc-page {
  --hkc-blue: #0065f5;
  --hkc-navy: #082a56;
  --hkc-muted: #4a6383;
  --hkc-line: #d4e6fa;
  --hkc-tint: #f1f8ff;
  --hkc-green: #008c68;
  color: var(--hkc-navy);
  background: #fff;
  font: 16px/1.5 Arial, Helvetica, sans-serif;
  text-align: left;
  overflow-wrap: break-word;
}
.hkc-page, .hkc-page * { box-sizing: border-box; }
.hkc-page [hidden], .hkc-page[hidden] { display: none !important; }
.hkc-page :is(h1, h2, h3, h4) {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.2;
  margin: 0;
  color: var(--hkc-navy);
}
.hkc-page h2 { font-size: 22px !important; }
.hkc-page h3 { font-size: 18px !important; }
.hkc-page h4 { font-size: 16px !important; }
.hkc-page p { margin: 0 0 12px; }
.hkc-page a { color: #0059d6; text-decoration: none; text-underline-offset: 3px; }
.hkc-page a:hover { text-decoration: underline; }
.hkc-page :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #e39a05;
  outline-offset: 3px;
}
.hkc-page :is(button, input, select, textarea) {
  font: inherit;
  letter-spacing: normal;
  box-shadow: none;
}
.hkc-page button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
  min-height: 40px;
  padding: 9px 12px;
  border: 1px solid #b5d3fa;
  border-radius: 5px;
  background: #fff;
  color: #0059d6;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.3;
  white-space: normal;
}
.hkc-page button:hover { border-color: var(--hkc-blue); background: #edf6ff; }
.hkc-page button:disabled { color: #667c99; background: #eaf0f7; cursor: default; }
.hkc-page .hkc-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 11px 15px;
  border: 1px solid var(--hkc-blue);
  border-radius: 5px;
  background: var(--hkc-blue);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}
.hkc-page .hkc-primary:hover { background: #0053d0; color: #fff; }
.hkc-page :is(select, input[type=date], input[type=time], input[type=number], input[type=text], textarea) {
  display: block;
  position: static;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 42px;
  margin: 0;
  padding: 9px 10px;
  border: 1px solid #b8d5f8;
  border-radius: 5px;
  background: #fff;
  color: #143963;
  font-size: 14px;
  opacity: 1;
  text-overflow: ellipsis;
}
.hkc-page select { appearance: auto; padding-right: 26px; }
.hkc-page input[type=checkbox], .hkc-page input[type=radio] {
  appearance: auto !important;
  display: inline-block !important;
  position: static !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  clip: auto !important;
  clip-path: none !important;
  transform: none !important;
  accent-color: var(--hkc-blue);
  flex: 0 0 18px;
}
.hkc-page :is(fieldset, legend) { min-width: 0; border: 0; padding: 0; margin: 0; }
.hkc-page ul, .hkc-page ol { padding-left: 21px; margin: 12px 0; }
.hkc-page li { margin: 0 0 8px; }
.hkc-page small, .hkc-muted, .hkc-privacy, .hkc-accessible-note {
  font-size: 14px;
  line-height: 1.5;
  color: var(--hkc-muted);
}
.hkc-page small { display: block; }
.hkc-container { width: calc(100% - 48px); max-width: 1480px; min-width: 0; margin: 0 auto; }
.hkc-icon { width: 27px; height: 27px; display: block; flex-shrink: 0; color: var(--hkc-blue); }
.hkc-page :is(section, article, aside)[id], .hkc-legacy-anchor { scroll-margin-top: 115px; }
.hkc-legacy-anchor { display: block; position: relative; height: 0; }
.hkc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* Wide, photographic introduction with a separate readable text layer. */
.hkc-hero { position: relative; isolation: isolate; overflow: hidden; min-height: 320px; padding: 21px 0 29px; background: #07294f; color: #fff; }
.hkc-hero-bg { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 55%; }
.hkc-hero:before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, #031b39f5 0%, #052347e8 25%, #052447a6 52%, #072b4c16 85%); }
.hkc-hero .hkc-container { position: relative; }
.hkc-page .hkc-hero h1 { max-width: 900px; font-size: clamp(34px, 3.6vw, 53px) !important; color: #fff; line-height: 1.06; margin: 5px 0 10px; letter-spacing: -.035em; }
.hkc-hero p { max-width: 780px; color: #fff; }
.hkc-hero .hkc-deck { font-size: clamp(19px, 1.7vw, 24px); line-height: 1.3; margin-bottom: 9px; }
.hkc-crumb { font-size: 14px; margin-bottom: 16px !important; }
.hkc-crumb a { color: #e0edfc; }
.hkc-hero-facts { display: flex; flex-wrap: wrap; gap: 15px 28px; margin-top: 21px; padding-right: 100px; }
.hkc-hero-facts > div { display: flex; align-items: center; gap: 10px; min-width: 0; }
.hkc-hero-facts .hkc-icon { color: #fff; border: 1px solid #b8d7eb; border-radius: 50%; width: 39px; height: 39px; padding: 7px; background: #092f57a8; }
.hkc-hero-facts > div:nth-child(4) .hkc-icon { background: #075e83b8; }
.hkc-hero-facts > div:nth-child(5) .hkc-icon { background: #007d65c4; }
.hkc-hero-facts strong { display: block; font-size: 15px; line-height: 1.3; }
.hkc-hero-facts small { color: #e0eafb; font-size: 14px; margin-top: 3px; }
.hkc-hero .hkc-hero-note { position: absolute; top: 23px; right: 7px; max-width: 235px; font: italic 25px/1.25 Georgia, serif; color: #fff; text-align: right; transform: rotate(-5deg); text-shadow: 0 2px 7px #102d4f; }
.hkc-hero .hkc-illustration { display: inline-block; padding: 3px 7px; margin: 16px 0 0; color: #fff; background: #052449b3; border-radius: 3px; font-size: 14px; }

/* Shared cards and page composition. */
.hkc-hero + .hkc-container { padding-top: 15px; padding-bottom: 25px; }
.hkc-panel { min-width: 0; padding: 15px; border: 1px solid var(--hkc-line); border-radius: 7px; background: linear-gradient(135deg, #fff 50%, #f8fcff); margin: 0 0 14px; }
.hkc-heading { display: flex; align-items: flex-start; gap: 11px; margin: 0 0 15px; }
.hkc-heading > div { min-width: 0; flex: 1; }
.hkc-heading h2 { color: #005ce6; }
.hkc-heading p { color: var(--hkc-muted); margin: 4px 0 0; font-size: 14px; }
.hkc-number { display: inline-grid; place-items: center; width: 31px; height: 31px; flex: 0 0 31px; padding: 2px; border-radius: 5px; background: var(--hkc-blue); color: #fff; font-size: 21px; font-weight: 700; line-height: 1; }
.hkc-top-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 14px; align-items: stretch; }
.hkc-finder-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 14px; align-items: start; margin-bottom: 13px; }
.hkc-fields, .hkc-cost-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin-bottom: 15px; }
.hkc-field { display: block; min-width: 0; margin: 0; font-size: 14px; color: #163b69; }
.hkc-field > span { display: block; margin-bottom: 6px; line-height: 1.35; }
.hkc-check { display: flex !important; align-items: flex-start; gap: 9px; margin: 0 0 11px !important; cursor: pointer; font-size: 14px; line-height: 1.45; }
.hkc-check > span { min-width: 0; }
.hkc-airport-check { padding: 12px; border: 1px solid #c5def9; border-radius: 5px; background: #edf6ff; }
.hkc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin: 13px 0 0; }
.hkc-actions > a { font-size: 14px; }
#hkc-route-form .hkc-actions { align-items: stretch; }
#hkc-route-form .hkc-primary { flex: 1 1 180px; }
.hkc-status { padding: 12px 15px; border: 1px solid #bad8fa; border-radius: 5px; background: #eaf5ff; font-size: 15px; color: #11416f; }
.hkc-status:empty { display: none; }
.hkc-tag { display: inline-block; padding: 4px 8px; border-radius: 4px; background: #e7f2ff; color: #0755aa; font-size: 14px; line-height: 1.3; }
.hkc-tag.is-open { background: #e0f7ee; color: #006b50; }
.hkc-tag.is-closed, .hkc-needs-check { background: #fff0dc; color: #82500a; }
.hkc-warning, .hkc-good { border: 1px solid #f1d59d; border-radius: 5px; padding: 11px 12px; margin: 12px 0; background: #fff7e8; color: #754d10; font-size: 14px; line-height: 1.5; }
.hkc-warning p:last-child, .hkc-good p:last-child { margin-bottom: 0; }
.hkc-good { background: #e6f8ef; border-color: #b8e5d2; color: #07694e; }
.hkc-recommendation, .hkc-route-result { padding: 13px; border: 1px solid #cce3f9; border-radius: 6px; background: linear-gradient(130deg, #f1f8ff, #fff); }
.hkc-recommendation h3 { margin: 11px 0 10px; color: #005ce6; }
.hkc-recommendation p { font-size: 14px; }
.hkc-recommendation .hkc-actions { gap: 8px 14px; }
.hkc-recommendation .hkc-actions a { display: block; }
.hkc-page [data-hkc-result]:has(article) { padding: 0; border: 0; background: none; }
.hkc-page [data-hkc-result] > article { margin-bottom: 11px; }
.hkc-page [data-hkc-result] > article:first-child { border-top: 3px solid #008f75; background: linear-gradient(135deg, #eef9f6, #f5faff); }
.hkc-alternative { background: #fff; padding: 11px; }
.hkc-alternative h3 { font-size: 16px !important; }
.hkc-result-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 12px 0; }
.hkc-result-stats > div { min-width: 0; padding: 9px; background: #eaf4ff; border-radius: 4px; font-size: 14px; }
.hkc-alternatives { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.hkc-alternatives > a { padding: 7px 9px; border: 1px solid #c4ddf8; border-radius: 4px; background: #fff; font-size: 14px; }

/* Published operating hours, with readable state labels rather than colour alone. */
.hkc-status-tabs, .hkc-doc-tabs { display: flex; flex-wrap: wrap; gap: 5px; padding: 4px; margin-bottom: 13px; background: #eff6ff; border-radius: 5px; }
.hkc-status-tabs button, .hkc-doc-tabs button { flex: 1 1 100px; border-color: transparent; background: #e6f1ff; min-height: 39px; padding: 8px; }
.hkc-status-tabs button[aria-pressed=true], .hkc-doc-tabs button[aria-pressed=true] { background: var(--hkc-blue); color: #fff; border-color: var(--hkc-blue); }
.hkc-status-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin: 13px 0; }
.hkc-status-card { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 11px; background: #fff; border: 1px solid #d8e8fa; border-radius: 5px; }
.hkc-status-card h3 { font-size: 16px !important; line-height: 1.3; margin-bottom: 5px; }
.hkc-status-card > p { font-size: 14px; color: var(--hkc-muted); margin: 0 0 9px; }
.hkc-status-card p[lang=zh] { color: #284b77; }
.hkc-status-card .hkc-tag { margin: 0 0 9px; }
.hkc-status-card > a { font-size: 14px; margin-top: auto; }

/* Schematic map and a separately scrollable comparison table. */
.hkc-map-compare-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.hkc-map-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-bottom: 12px; padding: 9px 11px; border: 1px solid #d9e8fa; border-radius: 4px; background: #fff; font-size: 14px; }
.hkc-map > svg { display: block; width: 100%; height: auto; border: 1px solid #cbe0f4; border-radius: 6px; }
.hkc-map svg a { cursor: pointer; }
.hkc-map svg a:hover circle:first-of-type, .hkc-map svg a:focus-visible circle:first-of-type { stroke: #092b50; stroke-width: 5px; }
.hkc-map-route { cursor: pointer; }
.hkc-table-scroll { max-width: 100%; overflow: auto; overscroll-behavior-x: contain; scrollbar-color: #a9c8eb #f3f8fe; margin-bottom: 13px; }
.hkc-page table { border-collapse: collapse; width: 100%; min-width: 560px; margin: 0; font-size: 14px; line-height: 1.45; background: #fff; }
.hkc-page th, .hkc-page td { text-align: left; vertical-align: top; padding: 10px 9px; border: 1px solid #dbe9f8; }
.hkc-page thead th { background: #eaf4ff; color: #174a82; font-weight: 700; }
.hkc-page tbody th { font-weight: 700; color: #0a3974; }
.hkc-page tbody tr:nth-child(even) { background: #f8fbff; }
.hkc-page th:first-child { width: 21%; }
.hkc-page table small { margin-top: 5px; }

/* Route cards and qualitative planning guidance. */
.hkc-middle-grid { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 14px; }
.hkc-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.hkc-guide { min-width: 0; overflow: hidden; border: 1px solid #d3e4f8; border-radius: 5px; background: #fff; }
.hkc-guide.is-selected { border-color: #0065f5; box-shadow: 0 0 0 2px #0065f526; }
.hkc-guide > img { display: block; width: 100%; height: 138px; object-fit: cover; }
.hkc-guide > div { padding: 12px; }
.hkc-guide h3 { margin: 9px 0 7px; font-size: 17px !important; }
.hkc-guide p, .hkc-guide li, .hkc-guide a { font-size: 14px; }
.hkc-guide p[lang=zh] { margin-bottom: 9px; }
.hkc-guide details { margin-top: 12px; margin-bottom: 0; padding: 9px; }
.hkc-guide details[open] { background: #f3f8ff; }
.hkc-guide summary { line-height: 1.45; }
.hkc-guide ol { padding-left: 18px; margin-top: 12px; }
.hkc-guide li { margin-bottom: 9px; }
.hkc-guide .hkc-warning { padding: 9px; }
.hkc-direction { max-width: 340px; margin-bottom: 15px; }
.hkc-queue-grid { display: grid; gap: 11px; margin-bottom: 15px; }
.hkc-queue-grid > article { padding: 14px; border: 1px solid #cfe3f9; border-left: 4px solid #398cef; border-radius: 5px; background: #f3f8ff; }
.hkc-queue-grid h3 { font-size: 17px !important; margin-bottom: 10px; }
.hkc-queue-grid p { color: #395c7e; font-size: 15px; }
.hkc-queue-grid .hkc-tag { background: #e4effb; color: #23578d; }
.hkc-queue-row { display: grid; grid-template-columns: 76px repeat(12, minmax(0, 1fr)); gap: 3px; align-items: center; margin: 4px 0; font-size: 14px; }
.hkc-queue-cell { min-height: 20px; border-radius: 2px; border: 1px solid #fff; }
.hkc-queue-cell[data-level=low] { background: #d8eafc; }
.hkc-queue-cell[data-level=medium] { background: #ffc98e; }
.hkc-queue-cell[data-level=high] { background: #ef7b64; }

/* Documents, cost, practical advice, return planning and sources. */
.hkc-bottom-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: start; }
.hkc-bottom-grid > .hkc-panel { margin-bottom: 0; }
.hkc-bottom-grid > :nth-child(4) { grid-column: span 2; }
.hkc-bottom-grid { margin-bottom: 14px; }
.hkc-doc-tabs { margin-bottom: 16px; }
.hkc-checklist { display: grid; gap: 3px; }
.hkc-cost-total { padding: 13px; border: 1px solid #cce2fa; border-radius: 5px; margin-top: 14px; background: #eaf4ff; color: #08438a; font-size: 16px; }
.hkc-cost-total > strong { display: block; font-size: 23px; line-height: 1.3; margin-bottom: 7px; }
.hkc-cost-total p { margin: 12px 0 0; }
.hkc-cost-total small { margin: 4px 0 0; }
.hkc-tips-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 15px; margin-bottom: 15px; }
.hkc-tips-grid > div { min-width: 0; padding-bottom: 10px; border-bottom: 1px solid #dfebf9; }
.hkc-tips-grid .hkc-icon { width: 25px; height: 25px; margin-bottom: 8px; }
.hkc-tips-grid h3 { font-size: 16px !important; margin-bottom: 7px; }
.hkc-tips-grid p { font-size: 14px; color: var(--hkc-muted); margin-bottom: 0; }
#hkc-return-form { margin-bottom: 15px; }
#hkc-return-form .hkc-primary { width: 100%; }
.hkc-page [data-hkc-return-result] { margin: 15px 0; }
.hkc-page [data-hkc-return-result] > h3 { margin-bottom: 10px; }
.hkc-page [data-hkc-return-result] .hkc-recommendation { margin-bottom: 11px; }
.hkc-privacy { display: block; margin-top: 13px; padding: 11px; border-radius: 4px; background: #f1f7fd; }
.hkc-page textarea[data-hkc-share] { height: 200px; margin-top: 14px; line-height: 1.5; resize: vertical; }
.hkc-link-list { list-style: none; padding: 0 !important; margin: 0 !important; }
.hkc-link-list li { padding: 9px 0; margin: 0; border-bottom: 1px solid #dce9f8; }
.hkc-link-list li:last-child { border-bottom: 0; }
.hkc-link-list a { font-size: 14px; display: block; }
.hkc-related-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.hkc-related-grid > a { display: block; min-width: 0; border: 1px solid #d5e6f9; border-radius: 5px; overflow: hidden; background: #fff; }
.hkc-related-grid img { display: block; width: 100%; height: 105px; object-fit: cover; }
.hkc-related-grid strong { display: block; padding: 11px; font-size: 14px; line-height: 1.4; }
.hkc-page details { padding: 11px 12px; margin: 12px 0; border: 1px solid #cde1f8; border-radius: 5px; background: #f7fbff; font-size: 14px; }
.hkc-page summary { cursor: pointer; color: #0759c6; font-weight: 700; font-size: 14px; line-height: 1.4; }
.hkc-page details > p { margin-top: 12px; }
.hkc-disclosure { margin-bottom: 0 !important; }
.hkc-disclosure li { overflow-wrap: anywhere; }
.hk-crossings-active .site-footer.home-site-footer { background: linear-gradient(115deg, #061b36, #073361) !important; border-top: 1px solid #20517d; color: #edf5ff; }
.hk-crossings-active .site-footer.home-site-footer :is(p, h2, a, .home-wordmark-name, .home-wordmark-name > span, .home-wordmark-tagline) { color: #e7f1ff; }
.hk-crossings-active .site-footer.home-site-footer .home-footer-newsletter-link { background: #075ccb; border-color: #5599e8; color: #fff; }
.hk-crossings-active .site-footer.home-site-footer .home-footer-bottom { border-color: #3c648b; }

@media (min-width: 1600px) {
  .hkc-hero { min-height: 350px; padding-top: 28px; }
  .hkc-hero-facts { gap: 20px 38px; }
}
@media (max-width: 1180px) {
  .hkc-top-grid { grid-template-columns: 1fr; }
  .hkc-finder-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
  .hkc-hero-note { display: none; }
  .hkc-hero-facts { padding-right: 0; gap: 15px 25px; }
  .hkc-hero-facts > div { flex: 0 1 220px; }
  .hkc-status-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .hkc-middle-grid { grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); }
  .hkc-guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hkc-bottom-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hkc-bottom-grid > :nth-child(4) { grid-column: auto; }
  .hkc-bottom-grid > :last-child { grid-column: 1 / -1; }
  .hkc-bottom-grid > :last-child .hkc-link-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
  .hkc-related-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hkc-related-grid img { height: 135px; }
}
@media (max-width: 780px) {
  .hkc-container { width: calc(100% - 28px); }
  .hkc-hero { min-height: 365px; padding-top: 19px; }
  .hkc-hero:before { background: linear-gradient(90deg, #031b39f0, #052447c7 60%, #072b4c66); }
  .hkc-page .hkc-hero h1 { font-size: 39px !important; }
  .hkc-hero-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .hkc-hero-facts .hkc-icon { width: 35px; height: 35px; padding: 6px; }
  .hkc-hero-facts strong { font-size: 14px; }
  .hkc-status-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hkc-map-compare-grid { grid-template-columns: 1fr; }
  .hkc-middle-grid { grid-template-columns: 1fr; }
  .hkc-queue-grid { grid-template-columns: 1fr 1fr; }
  .hkc-guide-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hkc-guide > img { height: 130px; }
  .hkc-bottom-grid { grid-template-columns: 1fr 1fr; }
  .hkc-heading { gap: 9px; }
  .hkc-page h2 { font-size: 21px !important; }
}
@media (max-width: 540px) {
  .hkc-container { width: calc(100% - 24px); }
  .hkc-panel { padding: 12px; }
  .hkc-page .hkc-hero h1 { font-size: clamp(30px, 8vw, 38px) !important; }
  .hkc-hero .hkc-deck { font-size: 20px; }
  .hkc-hero-facts { grid-template-columns: 1fr; gap: 12px; margin-top: 20px; }
  .hkc-hero-facts > div { gap: 10px; }
  .hkc-hero-facts small { margin-top: 1px; }
  .hkc-hero { padding-bottom: 20px; }
  .hkc-crumb { font-size: 14px; margin-bottom: 14px !important; }
  .hkc-finder-grid { grid-template-columns: 1fr; }
  .hkc-fields, .hkc-cost-fields { gap: 12px 9px; }
  .hkc-field > span { min-height: 19px; }
  .hkc-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hkc-status-card { padding: 10px; }
  .hkc-status-tabs button { flex-basis: 120px; }
  .hkc-guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hkc-guide > img { height: 115px; }
  .hkc-guide > div { padding: 10px; }
  .hkc-guide h3 { font-size: 16px !important; }
  .hkc-guide details { padding: 8px; }
  .hkc-bottom-grid { grid-template-columns: 1fr; }
  .hkc-bottom-grid > :last-child { grid-column: auto; }
  .hkc-bottom-grid > :last-child .hkc-link-list { display: block; }
  .hkc-queue-grid { grid-template-columns: 1fr; }
  .hkc-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hkc-related-grid img { height: 112px; }
  .hkc-number { width: 28px; height: 28px; flex-basis: 28px; font-size: 19px; }
  .hkc-page h2 { font-size: 21px !important; }
  .hkc-result-stats { grid-template-columns: 1fr; }
}
@media (max-width: 360px) {
  .hkc-fields, .hkc-cost-fields { grid-template-columns: 1fr; }
  .hkc-guide-grid { grid-template-columns: 1fr; }
  .hkc-guide > img { height: 165px; }
  .hkc-status-grid { grid-template-columns: 1fr; }
  .hkc-status-card { padding: 12px; }
  .hkc-tips-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .hkc-page *, .hkc-page *:before, .hkc-page *:after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
@media print {
  .hkc-page { font-size: 10pt !important; color: #111; background: #fff; }
  .hkc-container { width: 100%; max-width: none; padding: 0 !important; }
  .hkc-hero { min-height: 0; padding: 12px 0; background: #fff; color: #111; }
  .hkc-hero-bg, .hkc-hero:before, .hkc-hero-note, .hkc-hero-facts, .hkc-illustration, .hkc-page button, .hkc-page .hkc-primary, .hkc-status, .hkc-status-tabs, .hkc-doc-tabs, .hkc-actions, .hkc-privacy, .hkc-disclosure, .hkc-related-grid, .hkc-page textarea { display: none !important; }
  .hkc-page .hkc-hero h1 { color: #111; font-size: 25pt !important; }
  .hkc-page .hkc-hero :is(p, a) { color: #111; }
  .hkc-top-grid, .hkc-finder-grid, .hkc-map-compare-grid, .hkc-middle-grid, .hkc-bottom-grid { display: block; }
  .hkc-panel { margin: 0 0 12px !important; padding: 10px; border-color: #ccc; background: #fff; }
  .hkc-page h2 { font-size: 15pt !important; }
  .hkc-page h3 { font-size: 12pt !important; }
  .hkc-page :is(p, a, small, li, label, input, select, summary, .hkc-tag) { font-size: 10pt !important; color: #111 !important; }
  .hkc-number { background: #fff; color: #111; border: 1px solid #aaa; }
  .hkc-status-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hkc-guide-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hkc-guide, .hkc-status-card, .hkc-recommendation { break-inside: avoid; }
  .hkc-guide > img { height: 70px; }
  .hkc-page details { background: #fff; border-color: #ddd; }
  .hkc-page details > :not(summary) { display: block !important; }
  .hkc-page [data-hkc-doc-panel][hidden] { display: block !important; margin-top: 15px; }
  .hkc-page table { min-width: 0; font-size: 9pt; }
  .hkc-page th, .hkc-page td { padding: 6px; }
  .hkc-table-scroll { overflow: visible; }
  .hkc-map > svg { max-height: 290px; }
  .hkc-page a:after { content: none !important; }
  .hkc-page input[type=checkbox] { width: 13px !important; height: 13px !important; min-width: 13px !important; min-height: 13px !important; }
  .hkc-bottom-grid > :last-child .hkc-link-list { display: block; }
}
