.hk-flush-top .jeg_content { padding-top: 0; }
.hk-flush-top .entry-header,
.hk-flush-top .jeg_featured,
.hk-flush-top .jeg_share_top_container { margin-bottom: 0; }

.hk-flush-top .wpb-content-wrapper > .vc_section:first-child,
.hk-flush-top .wpb-content-wrapper > .vc_row:first-child { margin-top: 0 !important; }

.hk-order { margin: 1.5rem 0 2rem; }
.hk-order__btn {
  display: inline-block;
  padding: 0.85rem 1.75rem;
  background: var(--accent);
  color: var(--paper);
  font-family: var(--sans);
  font-size: var(--t-sm); line-height: 1.2;
  letter-spacing: 1px; text-transform: uppercase;
  text-decoration: none; border-radius: var(--radius);
  transition: background .15s ease;
}
.hk-order__btn:hover, .hk-order__btn:focus-visible { background: var(--accent-deep); color: var(--paper); }

.hk-typeset .entry-content > p,
.hk-typeset .entry-content .wpb_text_column p,
.hk-typeset .entry-content .wpb_text_column li,
.hk-typeset .entry-content .wpb_text_column blockquote,
.hk-typeset .entry-content .vc_toggle_content p,
.hk-typeset .entry-content .vc_toggle_content li,
.hk-typeset .entry-content .vc_tta-panel-body p {
  font-family: var(--prose);
  font-size: var(--prose-size);
  line-height: var(--prose-lh);
  letter-spacing: var(--prose-ls);
  max-width: var(--measure);
}

.hk-typeset .entry-content .wpb_text_column:not([style*="color"]) > .wpb_wrapper > p {
  color: var(--prose-fg);
}

@media (max-width: 1200px) {
  .hk-typeset .entry-content .wpb_text_column p { font-size: 1.25rem; }
}
.hk-typeset .vc_col-sm-3 p,
.hk-typeset .vc_col-sm-4 p,
.hk-typeset .vc_col-sm-6 p { font-size: 1.0625rem; line-height: 1.6; }

.hk-typeset .vc_col-sm-5 p,
.hk-typeset .vc_col-sm-6 p,
.hk-typeset .vc_col-sm-7 p { font-size: 1.125rem; line-height: 1.62; }

   SPECIFICITY, because the first version of this rule did nothing. Written as
   `.hk-typeset .vc_col-sm-9 p` it is (0,2,1) and loses to
   `.hk-typeset .entry-content .wpb_text_column p` at (0,3,1) forty lines above,
   which sets var(--prose-size). Measured before and after: text block 997px
   wide both times, byte-identical. The selector below carries .entry-content
   so it matches at (0,3,1) and wins on order. Worth noting the same doubt
   applies to the vc_col-sm-3/4/5/6/7 rules above — they are (0,2,1) too, and
   only take effect where the paragraph is NOT inside .entry-content
   .wpb_text_column. */
.hk-typeset .entry-content .vc_col-sm-8 p,
.hk-typeset .entry-content .vc_col-sm-9 p,
.hk-typeset .entry-content .vc_col-sm-8 li,
.hk-typeset .entry-content .vc_col-sm-9 li { font-size: 1.1875rem; line-height: 1.6; }

.hkb {
  background: var(--black);
  border-bottom: 1px solid var(--rule-dark);
  font-family: var(--sans);
}

.hkb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  list-style: none;
  margin: 0 auto;
  padding: 0.75rem 1.5rem;
  max-width: var(--container);
  font-size: var(--t-micro);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hkb__item { display: flex; align-items: center; gap: 0.5rem; }

.hkb__item + .hkb__item::before {
  content: "";
  width: 0.32em; height: 0.32em;
  border-top: 1px solid var(--dim-dark);
  border-right: 1px solid var(--dim-dark);
  transform: rotate(45deg);
  opacity: .7;
  flex: none;
}

.hkb__link { color: var(--dim-dark); text-decoration: none; }
.hkb__link:hover, .hkb__link:focus-visible { color: var(--accent-light); }

.hkb__here { color: var(--fg-dark); }

@media (max-width: 1024px) {
  .hkb__list { padding-inline: 1.25rem; }
}

#hero-section { position: relative; isolation: isolate; }

#hero-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .79);
  pointer-events: none;
  z-index: 0;
}
#hero-section > * { position: relative; z-index: 1; }

#hero-section .wpb_column { max-width: 585px; margin-inline: 0; }
#hero-section .jeg_wrapper { text-align: left; }

#hero-section .row { padding-top: 120px !important; padding-bottom: 170px !important; }

#hero-section h1,
#hero-section .vc_custom_heading,
#hero-section .vc_custom_heading * {
  font-family: var(--sans) !important;
  font-size: 2.0625rem !important;
  line-height: 1.22 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: #FFFFFF !important;
  text-align: left !important;
  max-width: 100%;
}

#hero-section p,
#hero-section .wpb_text_column p {
  color: var(--fg-dark) !important;
  text-align: left !important;
  max-width: 34em;
}

#hero-section .vc_btn3-container { text-align: left !important; }
#hero-section .vc_btn3 { border-radius: var(--radius) !important; }
#hero-section .vc_btn3:not(.vc_btn3-color-juicy-pink):not([class*="vc_btn3-style-flat"]) {
  color: var(--paper) !important;
  border-color: rgba(255, 255, 255, .55) !important;
}
#hero-section .vc_btn3:hover { border-color: var(--paper) !important; }

@media (max-width: 1024px) {
  #hero-section .wpb_column { max-width: none; }
  #hero-section .row { padding-top: 72px !important; padding-bottom: 88px !important; }
  #hero-section h1, #hero-section .vc_custom_heading * { font-size: 1.75rem !important; }
}

img.emoji, img.wp-smiley {
  display: inline !important;
  width: 1em !important;
  height: 1em !important;
  margin: 0 .07em !important;
  vertical-align: -.1em !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  background: none !important;
}

.hkt {
  border-top: 1px solid var(--hairline);
  background: var(--bg);
  font-family: var(--sans);
}

.hkt ul.hkt__stats,
.hkt ul.hkt__logos,
.hkt dl.hkt__creds { list-style: none; padding-left: 0; margin-left: 0; }

.hkt li.hkt__stat,
.hkt li.hkt__logoitem { list-style: none; margin: 0; padding: 0; }

.hkt dt.hkt__term,
.hkt dd.hkt__names { margin: 0; padding: 0; }

.hkt__inner {
  max-width: var(--container);
  margin-inline: auto;
  padding: 3.5rem 1.5rem 3rem;
}

.hkt__eyebrow {
  margin: 0 0 2.25rem;
  font-family: var(--sans);
  font-size: var(--t-micro);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fg-muted);
  text-align: center;
}

.hkt__stats {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2rem 1rem;
  list-style: none;
  margin: 0;
  padding: 0 0 2.75rem;
}

.hkt__stat { text-align: center; }

.hkt__num {
  display: block;
  font-family: var(--display);
  font-size: 2.125rem;
  line-height: 1.05;
  letter-spacing: -0.015em;
  color: var(--fg-heading);
  font-variant-numeric: lining-nums tabular-nums;
}

.hkt__cap {
  display: block;
  margin-top: 0.6rem;
  font-size: var(--t-micro);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fg-muted);
}

.hkt__credrow {
  padding: 2.75rem 0;
  border-top: 1px solid var(--hairline);
}
.hkt__credrow--photo {
  display: grid;

  grid-template-columns: minmax(0, 1fr) minmax(0, 0.62fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: center;
}

.hkt__photo { margin: 0; }
.hkt__photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.hkt__photo figcaption {
  margin-top: 0.625rem;
  font-family: var(--sans);
  font-size: var(--t-micro);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fg-muted);
}

@media (max-width: 767px) {
  .hkt__credrow--photo { grid-template-columns: 1fr; }

  .hkt__photo { order: 2; }
}

.hkt__creds {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0.85rem 2rem;
  margin: 0;
  font-size: 0.9375rem;
}

.hkt__term {
  margin: 0;
  font-size: var(--t-micro);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fg-muted);
  line-height: 1.75;
}

.hkt__names { margin: 0; color: var(--fg); line-height: 1.75; }

.hkt__logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 2rem 4rem;
  list-style: none;
  margin: 0;
  padding: 2.75rem 0 0;
  border-top: 1px solid var(--hairline);
}

.hkt__logoitem { display: flex; }

.hkt__logo {
  display: block;
  height: 56px;
  width: auto;
  filter: grayscale(1);
  opacity: 0.7;
  transition: opacity .15s ease, filter .15s ease;
}

.hkt__logolink:hover .hkt__logo,
.hkt__logolink:focus-visible .hkt__logo { filter: grayscale(0); opacity: 1; }

.hkt__dl {
  padding: 2.75rem 0 0;
  border-top: 1px solid var(--hairline);
  text-align: center;
}

.hkt a.hkt__dlbtn {
  display: inline-flex;
  align-items: center;
  gap: 0.875rem;
  padding: 1rem 1.75rem;
  border: 1px solid var(--fg-heading);
  border-radius: 0;
  color: var(--fg-heading);
  text-align: left;
  text-decoration: none;
  transition: background-color .15s ease, color .15s ease;
}

.hkt a.hkt__dlbtn:hover,
.hkt a.hkt__dlbtn:focus-visible {
  background: var(--fg-heading);
  color: var(--bg);
  text-decoration: none;
}

.hkt__dlicon { flex: none; }

.hkt__dllabel {
  display: block;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.077em;
  text-transform: uppercase;
}

.hkt__dlmeta {
  display: block;
  margin-top: 0.3rem;
  font-size: var(--t-micro);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--fg-muted);
  font-variant-numeric: lining-nums tabular-nums;
}

.hkt a.hkt__dlbtn:hover .hkt__dlmeta,
.hkt a.hkt__dlbtn:focus-visible .hkt__dlmeta { color: inherit; }

.hkt p.hkt__dlnote {
  margin: 1rem 0 0;
  font-size: var(--t-micro);
  letter-spacing: 0.04em;
  color: var(--fg-muted);
}

@media (max-width: 900px) {

  .hkt__inner { padding: 2.5rem 1.5rem 2.25rem; }
  .hkt__stats { grid-template-columns: repeat(2, 1fr); }
  .hkt__num { font-size: 1.75rem; }
  .hkt__creds { grid-template-columns: 1fr; gap: 0.25rem; }
  .hkt__term { margin-top: 1rem; }
  .hkt__logos { gap: 1.5rem 2.5rem; }
  .hkt__dl { padding-top: 2rem; }
}

@media (max-width: 560px) {
  .hkt a.hkt__dlbtn {
    display: flex;
    width: 100%;
    padding: 0.9rem 1.1rem;
  }
  .hkt__dllabel { letter-spacing: 0.05em; }
}

@media (max-width: 380px) {
  .hkt__stats { grid-template-columns: 1fr; }
}

.hk-press { max-width: 46rem; }

.hk-press-lede {
  font-family: var(--sans);
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--fg);
  margin: 0 0 2.5rem;
}

.hk-press-h {
  font-family: var(--display);
  font-size: 1.375rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: var(--fg);
  margin: 2.75rem 0 0;
  padding-bottom: 0.625rem;
  border-bottom: 1px solid var(--hairline);
}

.hk-press-list { list-style: none; margin: 0; padding: 0; }

.hk-press-item {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.875rem 0;
  border-bottom: 1px solid var(--hairline);
}

.hk-press-link {
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.45;
  color: var(--fg);
  text-decoration: none;
  border-bottom: 1px solid var(--accent);
  align-self: flex-start;
}

.hk-press-link:hover,
.hk-press-link:focus-visible { color: var(--accent); }

.hk-press-title {
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.45;
  color: var(--fg);
}

.hk-press-meta {
  font-family: var(--sans);
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
  color: var(--fg-muted);
}

.hk-press-note {
  font-family: var(--sans);
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--fg-muted);
  margin: 1.25rem 0 0.5rem;
}

.hkh {
  --hkh-gap: clamp(3.5rem, 7vw, 7rem);
  max-width: var(--container, 1170px);
  margin-inline: auto;

  padding-inline: 1.5rem;
}

.hkh #hk-trust-slot {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.hkh-hero,
.hkh-band {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  isolation: isolate;
}

.hkh-hero { min-height: min(82vh, 720px); display: flex; align-items: flex-end; }

.hkh-hero__img,
.hkh-band__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  z-index: -2;
}

.hkh-hero__veil,
.hkh-band__veil {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    to top, rgba(16,16,24,0.88) 0%, rgba(16,16,24,0.62) 38%,
    rgba(16,16,24,0.22) 70%, rgba(16,16,24,0.10) 100%);
}

.hkh-hero__inner,
.hkh-band__inner {
  width: 100%;
  max-width: var(--container, 1170px);
  margin: 0 auto;
  padding: clamp(2.5rem, 6vw, 5.5rem) 1.5rem clamp(2.75rem, 5vw, 4.5rem);
}

.hkh-eyebrow {
  font-family: var(--sans);
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent);
  margin: 0 0 1rem;
}

.hkh-hero__inner .hkh-eyebrow,
.hkh-band__inner .hkh-eyebrow { color: #D8A87F; }

@media (max-width: 1023px) {
  .hkh-band__veil {
    background: linear-gradient(
      to top, rgba(16,16,24,0.92) 0%, rgba(16,16,24,0.86) 40%,
      rgba(16,16,24,0.80) 72%, rgba(16,16,24,0.76) 100%);
  }
}

.hkh-hero__title {
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(2.25rem, 5.4vw, 4.25rem);
  line-height: 1.04;
  letter-spacing: -0.015em;
  color: #FFFFFF;
  margin: 0 0 1.25rem;
  max-width: 18ch;
}

.hkh-hero__lede {
  font-family: var(--sans);
  font-size: clamp(1rem, 1.35vw, 1.1875rem);
  line-height: 1.6;
  color: rgba(255,255,255,0.88);
  margin: 0 0 2rem;
  max-width: 46ch;
}

.hkh-btn {
  display: inline-block;
  border-radius: 0;
  font-family: var(--sans);
  font-size: 0.8125rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.95rem 1.9rem;
  text-decoration: none;
  border: 1px solid transparent;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.hkh-btn + .hkh-btn { margin-left: 0.75rem; }

.hkh-btn--solid { background: var(--accent); color: #FFFFFF; border-color: var(--accent); }
.hkh-btn--solid:hover,
.hkh-btn--solid:focus-visible { background: var(--accent-deep, #6F4630); border-color: var(--accent-deep, #6F4630); color: #FFFFFF; }

.hkh-btn--ghost { color: #FFFFFF; border-color: rgba(255,255,255,0.55); }
.hkh-btn--ghost:hover,
.hkh-btn--ghost:focus-visible { background: #FFFFFF; color: #101018; border-color: #FFFFFF; }

.hkh-btn--light { background: #FFFFFF; color: #101018; border-color: #FFFFFF; }
.hkh-btn--light:hover,
.hkh-btn--light:focus-visible { background: transparent; color: #FFFFFF; border-color: #FFFFFF; }

.hkh-arrow {
  font-family: var(--sans);
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  color: var(--accent);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}
.hkh-arrow::after { content: " →"; }
.hkh-arrow:hover, .hkh-arrow:focus-visible { color: var(--fg); }

.hkh-h2 {
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(1.625rem, 2.9vw, 2.375rem);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--fg-heading, var(--fg));
  margin: 0 0 1.125rem;
  max-width: 24ch;

  text-wrap: balance;
}
.hkh-h2--light { color: #FFFFFF; }

.jscroll-to-top_link,
.jscroll-to-top { border-radius: 0 !important; }

.entry-content table:not(.hkj__tbl):not(.variations):not(.shop_attributes) {
  border-collapse: collapse !important;
  width: 100% !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  margin: 18px 0 0 !important;
}
.entry-content table:not(.hkj__tbl):not(.variations):not(.shop_attributes) th {
  text-align: left !important;
  font-weight: 400 !important;
  font-size: 11px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--fg-muted) !important;
  background: none !important;
  border-bottom: 1px solid var(--fg) !important;
  padding: 0 14px 7px 0 !important;
}
.entry-content table:not(.hkj__tbl):not(.variations):not(.shop_attributes) td {
  padding: 9px 14px 9px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--hairline) !important;
  vertical-align: top !important;
}

.vc_btn3,
.vc_btn3.vc_btn3-shape-rounded,
.vc_btn3.vc_btn3-shape-round { border-radius: var(--radius) !important; }

.hkh-doors {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.5rem, 2.5vw, 2.5rem);
  padding: var(--hkh-gap) 0;
  border-bottom: 1px solid var(--hairline);
}

.hkh-doors--4 { grid-template-columns: repeat(4, 1fr); }

.hkh-doors__head { grid-column: 1 / -1; margin-bottom: 0.25rem; }

.hkh-door { display: block; text-decoration: none; }

.hkh-door__frame {
  display: block;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--paper, #F4F2EF);
  margin-bottom: 1.5rem;
}

.hkh-door__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s cubic-bezier(.2,.7,.3,1);
}
.hkh-door:hover .hkh-door__img,
.hkh-door:focus-visible .hkh-door__img { transform: scale(1.035); }

.hkh-door__body { display: block; }

.hkh-door__label {
  display: block;
  font-family: var(--display);
  font-size: 1.375rem;
  color: var(--fg-heading, var(--fg));
  margin-bottom: 0.5rem;
}

.hkh-door__blurb {
  display: block;
  font-family: var(--sans);
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--fg-muted);
  margin-bottom: 1rem;
}

.hkh-door__more {
  font-family: var(--sans);
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
}
.hkh-door__more::after { content: " →"; }

.hkh-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
  padding: var(--hkh-gap) 0;
  border-bottom: 1px solid var(--hairline);
}
.hkh-split--flip .hkh-split__media { order: 2; }

.hkh-split__media { aspect-ratio: 1 / 1; overflow: hidden; background: var(--paper, #F4F2EF); }
.hkh-split__img { width: 100%; height: 100%; object-fit: cover; display: block; }

.hkh-split__text p {
  font-family: var(--sans);
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--fg);
  max-width: 46ch;
  margin: 0 0 1rem;
}
.hkh-split__cta { margin-top: 1.5rem; }

.hkh-band { min-height: min(62vh, 540px); display: flex; align-items: center; margin-top: 0; }
.hkh-band__lede {
  font-family: var(--sans);
  font-size: clamp(1rem, 1.3vw, 1.125rem);
  line-height: 1.65;
  color: rgba(255,255,255,0.9);
  max-width: 52ch;
  margin: 0 0 2rem;
}

.hkh-journal { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); }

.hkh-journal__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}
.hkh-journal__head .hkh-h2 { margin-bottom: 0; }

.hkh-journal__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }

.hkh-post { display: block; text-decoration: none; }
.hkh-post__frame {
  display: block;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: var(--paper, #F4F2EF);
  margin-bottom: 1rem;
}
.hkh-post__img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .5s cubic-bezier(.2,.7,.3,1);
}
.hkh-post:hover .hkh-post__img { transform: scale(1.035); }

.hkh-post__title {
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--fg);
  display: block;
}
.hkh-post:hover .hkh-post__title { color: var(--accent); }

.hkh-steps { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); }
.hkh-steps__list {
  list-style: none; margin: 2.25rem 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.5rem, 3vw, 3rem);
}
.hkh-step { display: block; }
.hkh-step__frame {
  display: block; aspect-ratio: 3 / 2; overflow: hidden;
  background: var(--paper, #F4F2EF); margin-bottom: 1.25rem;
}
.hkh-step__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hkh-step__n {
  border-top: 2px solid var(--accent); padding-top: 0.875rem;
}
.hkh-step__n {
  display: block; font-family: var(--sans); font-size: 0.75rem;
  letter-spacing: 0.16em; color: var(--accent); margin-bottom: 0.75rem;
}
.hkh-step__t {
  display: block; font-family: var(--display); font-size: 1.25rem;
  color: var(--fg-heading, var(--fg)); margin-bottom: 0.5rem;
}
.hkh-step__b {
  display: block; font-family: var(--sans); font-size: 0.9375rem;
  line-height: 1.65; color: var(--fg-muted);
}

.hkh-cat { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); }
.hkh-cat__head {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 1.5rem; margin-bottom: 2rem; flex-wrap: wrap;
}
.hkh-cat__head .hkh-h2 { margin-bottom: 0; }
.hkh-cat__meta {
  font-family: var(--sans); font-size: 0.9375rem; line-height: 1.9;
  color: var(--fg-muted); margin: 0; text-align: right;
}
.hkh-cat__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
.hkh-cat__frame {
  display: block; aspect-ratio: 1 / 1; overflow: hidden;
  background: var(--paper, #F4F2EF);
}
.hkh-cat__img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .5s cubic-bezier(.2,.7,.3,1);
}
.hkh-cat__item:hover .hkh-cat__img { transform: scale(1.04); }

.hkh-gift {
  padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline);
  display: grid; grid-template-columns: 0.85fr 1fr;
  gap: clamp(2rem, 5vw, 4.5rem); align-items: center;
}
.hkh-gift__media { aspect-ratio: 4 / 5; overflow: hidden; background: var(--paper, #F4F2EF); }
.hkh-gift__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hkh-gift__head { margin-bottom: 1.75rem; }
.hkh-gift__list { list-style: none; margin: 0; padding: 0; }
.hkh-gift__item { border-top: 1px solid var(--hairline); }
.hkh-gift__item:last-child { border-bottom: 1px solid var(--hairline); }
.hkh-gift__item a {
  display: flex; align-items: baseline; gap: 1.5rem;
  padding: 1.125rem 0; text-decoration: none;
  transition: padding-left .2s ease;
}
.hkh-gift__item a:hover, .hkh-gift__item a:focus-visible { padding-left: 0.75rem; }
.hkh-gift__label {
  font-family: var(--display); font-size: 1.1875rem;
  color: var(--fg-heading, var(--fg)); flex: 0 0 15rem;
}
.hkh-gift__blurb {
  font-family: var(--sans); font-size: 0.9375rem; color: var(--fg-muted);
}
.hkh-gift__item a:hover .hkh-gift__label { color: var(--accent); }

.hkh-gloss { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); }
.hkh-gloss__head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 1.5rem; margin-bottom: 2rem; flex-wrap: wrap;
}
.hkh-gloss__head .hkh-h2 { margin-bottom: 0; }
.hkh-gloss__list {
  margin: 0; display: grid; grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.5rem, 3vw, 2.5rem);
}
.hkh-gloss__row { padding: 0; }
.hkh-gloss__t { margin: 0 0 0.5rem; font-family: var(--display); font-size: 1.0625rem; }
.hkh-gloss__t a { color: var(--fg-heading, var(--fg)); text-decoration: none; display: block; }
.hkh-gloss__frame {
  display: block; aspect-ratio: 3 / 2; overflow: hidden;
  background: var(--paper, #F4F2EF); margin-bottom: 0.875rem;
}
.hkh-gloss__img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .5s cubic-bezier(.2,.7,.3,1);
}
.hkh-gloss__t a:hover .hkh-gloss__img { transform: scale(1.04); }
.hkh-gloss__term { border-bottom: 1px solid var(--accent); }
.hkh-gloss__t a:hover .hkh-gloss__term { color: var(--accent); }
.hkh-gloss__d {
  margin: 0; font-family: var(--sans); font-size: 0.875rem;
  line-height: 1.6; color: var(--fg-muted);
}

.hkh-faq { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); }
.hkh-faq__list {
  margin: 2rem 0 0; display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 0 clamp(2rem, 4vw, 4rem);
}
.hkh-faq__row { padding: 1.25rem 0; border-top: 1px solid var(--hairline); }
.hkh-faq__q {
  margin: 0 0 0.5rem; font-family: var(--sans); font-weight: 700;
  font-size: 0.9375rem; color: var(--fg);
}
.hkh-faq__a {
  margin: 0; font-family: var(--sans); font-size: 0.9375rem;
  line-height: 1.65; color: var(--fg-muted);
}

.hkh-press { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); text-align: center; }
.hkh-press__names {
  font-family: var(--display); font-size: clamp(1rem, 1.6vw, 1.25rem);
  line-height: 1.9; color: var(--fg); max-width: 52rem;
  margin: 0 auto 1.25rem;
}

@media (max-width: 900px) {
  .hkh-steps__list { grid-template-columns: 1fr; }
  .hkh-cat__grid { grid-template-columns: repeat(2, 1fr); }
  .hkh-cat__head, .hkh-gloss__head { flex-direction: column; align-items: flex-start; }
  .hkh-cat__meta { text-align: left; }
  .hkh-gloss__list { grid-template-columns: repeat(2, 1fr); }
  .hkh-faq__list { grid-template-columns: 1fr; }
  .hkh-gift { grid-template-columns: 1fr; }
  .hkh-gift__media { aspect-ratio: 16 / 9; }
  .hkh-gift__item a { flex-direction: column; gap: 0.25rem; }
  .hkh-gift__label { flex: none; }
}

.hkg-2 { grid-template-columns: repeat(2, 1fr) !important; }
.hkg-3 { grid-template-columns: repeat(3, 1fr) !important; }
.hkg-4 { grid-template-columns: repeat(4, 1fr) !important; }

.hkp { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); }
.hkp__body p {
  font-family: var(--sans); font-size: 1.0625rem; line-height: 1.7;
  color: var(--fg); max-width: 46ch; margin: 0 0 1rem;
}
.hkp-list { list-style: none; margin: 1.25rem 0 0; padding: 0; max-width: 52ch; }
.hkp-list li {
  position: relative; padding: 0.55rem 0 0.55rem 1.5rem;
  border-top: 1px solid var(--hairline);
  font-family: var(--sans); font-size: 0.9375rem; line-height: 1.6;
  color: var(--fg);
}
.hkp-list li::before { content: "—"; position: absolute; left: 0; color: var(--accent); }

.hkh-hero--flat { background: var(--ink, #101018); min-height: auto; }
.hkh-hero--flat .hkh-hero__veil { display: none; }

@media (max-width: 900px) {
  .hkg-3, .hkg-4 { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 560px) {
  .hkg-2, .hkg-3, .hkg-4 { grid-template-columns: 1fr !important; }
}

.hkw { margin: 2rem 0 0; }
.hkw__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 3.5rem); }
.hkw__t {
  font-family: var(--sans); font-size: 0.75rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--fg-muted); margin: 0 0 0.75rem;
}
.hkw__t--wide { margin-top: 2.5rem; }
.hkw__list { list-style: none; margin: 0; padding: 0; }
.hkw__list li {
  position: relative; padding: 0.6rem 0 0.6rem 1.5rem;
  border-top: 1px solid var(--hairline);
  font-family: var(--sans); font-size: 0.9375rem; line-height: 1.55; color: var(--fg);
}
.hkw__list li::before { content: "—"; position: absolute; left: 0; color: var(--accent); }
.hkw__list--no li::before { content: "×"; color: var(--fg-muted); }
.hkw__steps { list-style: none; margin: 0; padding: 0; display: grid;
  grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
.hkw__steps li {
  border-top: 2px solid var(--accent); padding-top: 0.875rem;
  font-family: var(--sans); font-size: 0.9375rem; line-height: 1.5; color: var(--fg);
}
.hkw__steps li span {
  display: block; font-size: 0.75rem; letter-spacing: 0.14em;
  color: var(--accent); margin-bottom: 0.5rem;
}
.hkw__cost {
  font-family: var(--sans); font-size: 0.9375rem; line-height: 1.65;
  color: var(--fg-muted); margin: 2rem 0 0; max-width: 60ch;
  padding-top: 1rem; border-top: 1px solid var(--hairline);
}
@media (max-width: 900px) {
  .hkw__grid { grid-template-columns: 1fr; }
  .hkw__steps { grid-template-columns: repeat(2, 1fr); }
}

.hkr-wrap { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); }
.hkr-head { margin-bottom: 2.25rem; }
.hkr-note {
  font-family: var(--sans); font-size: 0.9375rem; line-height: 1.6;
  color: var(--fg-muted); max-width: 56ch; margin: 0.75rem 0 0;
}
.hkr-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.25rem, 2.5vw, 2rem);
}
.hkr {
  margin: 0; padding: 1.5rem; border: 1px solid var(--hairline);
  display: flex; flex-direction: column; gap: 0.75rem;
}

.hkr__stars { margin: 0; font-size: 0.875rem; letter-spacing: 0.12em; color: var(--accent); }
.hkr__dim { color: var(--hairline); }
.hkr__q {
  margin: 0; font-family: var(--sans); font-size: 0.9375rem; line-height: 1.6;
  color: var(--fg); flex: 1 1 auto;
}
.hkr__who {
  font-family: var(--sans); font-size: 0.8125rem; color: var(--fg);
  padding-top: 0.75rem; border-top: 1px solid var(--hairline);
}
.hkr__prod {
  display: block; font-size: 0.75rem; line-height: 1.4;
  color: var(--fg-muted); margin-top: 0.2rem;
}
@media (max-width: 900px) { .hkr-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .hkr-grid { grid-template-columns: 1fr; } }

.hky-wrap { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); }
.hky-grid { list-style: none; margin: 2rem 0 0; padding: 0; display: grid;
  gap: clamp(1rem, 2vw, 1.75rem); }
.hky-grid--wide  { grid-template-columns: repeat(2, 1fr); }
.hky-grid--short { grid-template-columns: repeat(5, 1fr); margin-top: 1.75rem; }

.hky-grid--tall  { grid-template-columns: repeat(5, 1fr); margin-top: 1.75rem; }

.hky-grid--mix {
  display: block; columns: 3; column-gap: clamp(1rem, 2vw, 1.75rem);
  margin-top: 1.75rem;
}
.hky-grid--mix .hky {
  break-inside: avoid; -webkit-column-break-inside: avoid;
  margin-bottom: clamp(1rem, 2vw, 1.75rem);
}

.hky__link { display: block; text-decoration: none; }
.hky__frame {
  position: relative; display: block; overflow: hidden;
  background: var(--ink, #101018);
}
.hky--wide  .hky__frame { aspect-ratio: 16 / 9; }
.hky--short .hky__frame { aspect-ratio: 9 / 16; }
.hky--tall  .hky__frame { aspect-ratio: 4 / 5; }
.hky--sq    .hky__frame { aspect-ratio: 1 / 1; }
.hky__img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .5s cubic-bezier(.2,.7,.3,1), opacity .2s ease;
}
.hky__link:hover .hky__img { transform: scale(1.03); opacity: .85; }

.hky__play {
  position: absolute; inset: 0; margin: auto;
  width: 56px; height: 56px; background: rgba(16,16,24,0.72);
  border: 1px solid rgba(255,255,255,0.7);
}
.hky__play::after {
  content: ""; position: absolute; inset: 0; margin: auto;
  width: 0; height: 0;
  border-left: 15px solid #FFFFFF;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  transform: translateX(2px);
}
.hky__link:hover .hky__play,
.hky__link:focus-visible .hky__play { background: var(--accent); border-color: var(--accent); }

.hky__body { display: block; padding-top: 0.75rem; }
.hky__t {
  display: block; font-family: var(--sans); font-size: 0.9375rem;
  line-height: 1.45; color: var(--fg);
}
.hky__n {
  display: block; font-family: var(--sans); font-size: 0.8125rem;
  line-height: 1.5; color: var(--fg-muted); margin-top: 0.2rem;
}

.hky__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

@media (max-width: 900px) {
  .hky-grid--wide  { grid-template-columns: 1fr; }
  .hky-grid--short { grid-template-columns: repeat(3, 1fr); }
  .hky-grid--tall  { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .hky-grid--short { grid-template-columns: repeat(2, 1fr); }
}

.hks {
  width: 100vw; margin-left: calc(50% - 50vw);
  padding: var(--hkh-gap) 0;
  border-bottom: 1px solid var(--hairline);
}
.hks__strip {
  list-style: none; margin: 0; display: flex; gap: 2px;
  overflow-x: auto; overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;

  padding: 0 1.5rem 0 max(1.5rem, calc(50vw - var(--container, 1170px) / 2));

  scroll-padding-left: max(1.5rem, calc(50vw - var(--container, 1170px) / 2));
  scrollbar-width: none;
}
.hks__strip::-webkit-scrollbar { display: none; }

.hks__strip:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
.hks__i { flex: 0 0 auto; margin: 0; scroll-snap-align: start; }
.hks__img {
  display: block; height: clamp(180px, 22vw, 310px); width: auto;
  background: var(--paper, #F4F2EF);
}

.hks__cap {
  margin: 1.125rem 0 0;
  padding: 0 1.5rem 0 max(1.5rem, calc(50vw - var(--container, 1170px) / 2));
  font-family: var(--sans); font-size: 0.8125rem; line-height: 1.55;
  color: var(--fg-muted);
}
.hks__cap a {
  color: var(--fg); text-decoration: none;
  border-bottom: 1px solid var(--hairline); padding-bottom: 2px;
}
.hks__cap a:hover, .hks__cap a:focus-visible { color: var(--accent); }

.hkx { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); }
.hkx__head { margin-bottom: 2rem; }
.hkx__grid {
  list-style: none; margin: 2rem 0 0; padding: 0; display: grid;
  grid-template-columns: repeat(3, 1fr); gap: 1px;
  background: var(--hairline); border: 1px solid var(--hairline);
}
.hkx__i { margin: 0; background: var(--bg, #FFFFFF); }
.hkx__a {
  display: block; padding: 1.5rem 1.375rem; text-decoration: none;
  height: 100%; transition: background 200ms ease;
}
.hkx__a:hover, .hkx__a:focus-visible { background: var(--paper, #F4F2EF); }
.hkx__n {
  display: block; font-family: var(--display); font-size: 1.75rem;
  line-height: 1; color: var(--accent);
}
.hkx__t {
  display: block; font-family: var(--sans); font-size: 0.9375rem;
  color: var(--fg); margin-top: 0.625rem;
}
.hkx__d {
  display: block; font-family: var(--sans); font-size: 0.8125rem;
  line-height: 1.55; color: var(--fg-muted); margin-top: 0.375rem;
}

.hkx-back { margin: 2.5rem 0 0; }
.hkx-back a {
  font-family: var(--sans); font-size: 0.8125rem; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--fg-muted); text-decoration: none;
  border-bottom: 1px solid var(--hairline); padding-bottom: 2px;
}

.hkx-back a::before { content: "↑ "; }
.hkx-back a:hover, .hkx-back a:focus-visible { color: var(--fg); }

[id="daftar-isi"], [id="ulasan-toko"], [id="video"], [id="anyahasna"],
[id="halaman-testimoni"], [id="dinding"], [id="liputan"] { scroll-margin-top: 6rem; }

.hkv-wrap { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); }
.hkv-grid {
  list-style: none; margin: 2rem 0 0; padding: 0; display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 1.25rem 0.75rem;
}
.hkv { margin: 0; }
.hkv__link { display: block; text-decoration: none; }
.hkv__frame {
  display: block; aspect-ratio: 4 / 5; overflow: hidden;
  background: var(--paper, #F4F2EF);
}
.hkv__img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .4s cubic-bezier(.2,.7,.3,1), opacity .2s ease;
}
.hkv__link:hover .hkv__img { transform: scale(1.05); opacity: .9; }
.hkv__who {
  display: block; font-family: var(--sans); font-size: 0.8125rem;
  line-height: 1.4; color: var(--fg); margin-top: 0.5rem;
  overflow-wrap: anywhere;
}
.hkv__link:hover .hkv__who { color: var(--accent); }

.hku { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); }
.hku__head { margin-bottom: 2rem; }

.hku__group {
  font-family: var(--sans); font-size: 0.8125rem; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--fg); font-weight: 600;
  margin: 3rem 0 1rem; padding-top: 1rem; border-top: 1px solid var(--hairline);
}
.hku__group .hku__n {
  font-weight: 400; letter-spacing: 0.04em; text-transform: none;
  color: var(--fg-muted); margin-left: 0.5rem;
}
.hku__wall { columns: 5; column-gap: 0.75rem; margin-top: 2rem; }
.hku__item {
  break-inside: avoid; -webkit-column-break-inside: avoid;
  margin: 0 0 0.75rem; background: var(--paper, #F4F2EF);
}
.hku__img { width: 100%; height: auto; display: block; }

.hku-story { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); }

.hku-story__grid {
  display: grid; grid-template-columns: 1.5fr 1fr;
  gap: clamp(1rem, 2vw, 1.75rem); align-items: start; margin-top: 2rem;
}
.hku-story__fig { margin: 0; }
.hku-story__img {
  width: 100%; height: auto; display: block; background: var(--paper, #F4F2EF);
}
.hku-story__cap {
  font-family: var(--sans); font-size: 0.8125rem; line-height: 1.5;
  color: var(--fg-muted); margin-top: 0.75rem;
  padding-top: 0.75rem; border-top: 1px solid var(--hairline);
}
.hku-story__text { margin-top: 2.25rem; max-width: 62ch; }

.hku-story__q {
  margin: 1.5rem 0; padding-left: 1.25rem;
  border-left: 2px solid var(--accent);
  font-family: var(--sans); font-size: 1rem; line-height: 1.6; color: var(--fg);
}
.hku-story__cite {
  display: block; font-size: 0.8125rem; color: var(--fg-muted);
  margin-top: 0.5rem; font-style: normal;
}

@media (max-width: 1100px) {
  .hku__wall { columns: 4; }
  .hkx__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .hku__wall { columns: 3; }
  .hku-story__grid { grid-template-columns: 1fr; }
  .hky-grid--tall { grid-template-columns: repeat(3, 1fr); }
  .hky-grid--mix  { columns: 2; }
  .hkv-grid { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
}
@media (max-width: 560px) {
  .hku__wall { columns: 2; }
  .hkx__grid { grid-template-columns: 1fr; }
  .hky-grid--tall { grid-template-columns: repeat(2, 1fr); }
  .hky-grid--mix  { columns: 1; }
  .hkv-grid { grid-template-columns: repeat(auto-fill, minmax(105px, 1fr)); }
}

.hkr-midcta {
  padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline);
  text-align: center;
}
.hkr-midcta .hkh-h2 { margin-left: auto; margin-right: auto; }
.hkr-midcta .hkr-lede { margin-left: auto; margin-right: auto; max-width: 44ch; }

.hkr-page .hkp__body p,
.hkr-lede { max-width: 62ch; }

.hkr-tiers, .hkr-compare, .hkr-gloss {
  padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline);
}
.hkr-tiers__head, .hkr-compare__head { margin-bottom: 2rem; }
.hkr-lede {
  font-family: var(--sans); font-size: 1rem; line-height: 1.65;
  color: var(--fg-muted); margin: 0.75rem 0 0;
}

.hkr-tiers__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
.hkr-tier { border-top: 2px solid var(--accent); padding-top: 1rem; }
.hkr-tier__n {
  font-family: var(--display); font-size: 1.25rem; font-weight: 400;
  color: var(--fg-heading, var(--fg)); margin: 0 0 0.5rem;
}
.hkr-tier__p {
  font-family: var(--display); font-size: 1.5rem; line-height: 1.1;
  color: var(--accent); margin: 0 0 0.75rem;
}
.hkr-tier__p span {
  display: block; font-family: var(--sans); font-size: 0.75rem;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--fg-muted);
  margin-top: 0.35rem;
}
.hkr-tier__d {
  font-family: var(--sans); font-size: 0.9375rem; line-height: 1.6;
  color: var(--fg-muted); margin: 0;
}

.hkh-hero--wide .hkh-hero__title {
  max-width: 24ch;
  font-size: clamp(2rem, 4.4vw, 3.5rem);
  line-height: 1.08;
}

.hkg-glow,
.hkr-midcta,
.hkh-close,
.hkfb-close {
  --x: calc(var(--posX, 0) * 1px);
  --y: calc(var(--posY, 0) * 1px);
  position: relative;
  isolation: isolate;
  background-color: var(--ink, #101018);
  background-image:
    radial-gradient(70% 110% at calc(50% + var(--x) * 0.6) calc(10% + var(--y) * 0.6),
                    rgba(138, 88, 60, 0.55), rgba(138, 88, 60, 0) 68%),
    radial-gradient(90% 120% at calc(12% - var(--x) * 0.35) calc(100% - var(--y) * 0.35),
                    rgba(216, 168, 127, 0.20), rgba(216, 168, 127, 0) 62%),
    radial-gradient(120% 90% at calc(100% - var(--x) * 0.25) calc(0% + var(--y) * 0.25),
                    rgba(64, 64, 82, 0.55), rgba(16, 16, 24, 0) 70%),
    linear-gradient(158deg, #17171f, #0b0b10);
  background-blend-mode: soft-light, normal, normal, normal;

  transition: background-position 600ms ease-out;
}

.jeg_container { overflow-x: clip; }

.hkg-bleed.hkg-bleed,
.hkr-midcta,
.hkh-close {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding-left: max(1.5rem, calc(50vw - var(--container, 1170px) / 2));
  padding-right: max(1.5rem, calc(50vw - var(--container, 1170px) / 2));
}

.hkr-midcta, .hkh-close { }

:is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close) :is(.hkh-h2, h2, .hkq__rtier) { color: #FFFFFF; }
:is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close) .hkh-eyebrow { color: var(--accent-light, #D8A87F); }
:is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close) :is(.hkr-lede, .hkh-close__lede, .hkq__note, p) {
  color: rgba(255, 255, 255, 0.78);
}
:is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close) .hkh-btn--solid {
  background: #FFFFFF; color: var(--ink, #101018); border-color: #FFFFFF;
}
:is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close) .hkh-btn--solid:hover,
:is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close) .hkh-btn--solid:focus-visible {
  background: var(--accent-light, #D8A87F);
  border-color: var(--accent-light, #D8A87F);
  color: var(--ink, #101018);
}
:is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close) .hkh-btn--ghost {
  color: #FFFFFF; border-color: rgba(255, 255, 255, 0.45);
}
:is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close) .hkh-btn--ghost:hover { border-color: #FFFFFF; }

@media (prefers-reduced-motion: no-preference) {

  .hk-reveal .hkr-page > :is(section, div[id]) {
    opacity: 0;
    transform: translate3d(0, 14px, 0);
    transition: opacity 620ms cubic-bezier(.22, .61, .36, 1),
                transform 620ms cubic-bezier(.22, .61, .36, 1);
    will-change: opacity, transform;
  }
  .hk-reveal .hkr-page > :is(section, div[id]).is-in {
    opacity: 1;
    transform: none;
    will-change: auto;
  }
}

.hkr-dmg, .hkr-cmp__item, .hkr-tier, .hkx-who__item { overflow: clip; }
.hkr-dmg__img, .hkr-cmp__img, .hkr-tier__img,
.hkx-who__img, .hkr-gloss__lead, .hkr-ship__img {
  transition: transform 520ms cubic-bezier(.22, .61, .36, 1),
              filter 520ms ease;
}
.hkr-dmg:hover .hkr-dmg__img,
.hkr-cmp__item:hover .hkr-cmp__img,
.hkr-tier:hover .hkr-tier__img,
.hkx-who__item:hover .hkx-who__img { transform: scale(1.04); }

.hkr-tier { transition: border-top-color 220ms ease; border-top-width: 2px; }
.hkr-tier:hover { border-top-color: var(--accent-deep, #6E4429); }

.hkr-tier__p, .hkq__rmeta, .hkq__table td, .hkt__num, .hkh-step__n {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

.hkh-arrow::after { transition: transform 240ms cubic-bezier(.22, .61, .36, 1); }
.hkh-arrow:hover::after,
.hkh-arrow:focus-visible::after { transform: translateX(0.35em); }

.hkq__opt:focus-visible, .hkq__back:focus-visible,
.hkr-gloss__idx a:focus-visible, .hkg-glow, .hkr-midcta, .hkh-close a:focus-visible {
  outline: 2px solid var(--accent, #8A583C);
  outline-offset: 3px;
}
.hkg-glow a:focus-visible { outline-color: var(--accent-light, #D8A87F); }

@media (prefers-reduced-motion: reduce) {
  .hkg-glow, .hkr-dmg__img, .hkr-cmp__img, .hkr-tier__img, .hkx-who__img,
  .hkh-arrow::after { transition: none; }
  .hkr-dmg:hover .hkr-dmg__img, .hkr-cmp__item:hover .hkr-cmp__img,
  .hkr-tier:hover .hkr-tier__img, .hkx-who__item:hover .hkx-who__img,
  .hkh-arrow:hover::after { transform: none; }
}

.hkr-hero__title {
  font-size: clamp(1.75rem, 3.3vw, 2.875rem);
  line-height: 1.14;
  max-width: 26ch;
}
.hkr-hero .hkh-hero__lede { max-width: 56ch; margin-bottom: 1.5rem; }

.hkr-hero__q {
  margin: 0 0 1.5rem;
  padding: 0.15rem 0 0.15rem 1.125rem;
  border-left: 2px solid var(--accent);
  max-width: 46ch;
}
.hkr-hero__q p {
  font-family: var(--display);
  font-size: clamp(1.0625rem, 1.5vw, 1.25rem);
  font-style: italic;
  line-height: 1.45;
  color: #FFFFFF;
  margin: 0;
}

.hkr-hero__iic {
  font-family: var(--sans);
  font-size: 0.9375rem;
  line-height: 1.6;
  color: rgba(255,255,255,0.78);
  max-width: 54ch;
  margin: 0 0 1.25rem;
}

.hkr-hero__iic a { color: #D8A87F; text-decoration: underline; }
.hkr-hero__iic a:hover { color: #FFFFFF; }

.hkr-hero__rating {
  font-family: var(--sans);
  font-size: 0.9375rem;
  color: rgba(255,255,255,0.88);
  margin: 0 0 1.75rem;
}
.hkr-hero__rating b { font-weight: 700; color: #FFFFFF; }
.hkr-hero__stars { color: #E8B84B; letter-spacing: 0.08em; }

.hkr-tier__img, .hkx-who__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  margin-bottom: 1rem;
}

.hkr-tier:has(.hkr-tier__img) { padding-top: 0.875rem; }
.hkx-who--photo .hkx-who__item { display: flex; flex-direction: column; }

.hkr-cmp { display: grid; gap: 1.75rem 1.25rem; }
.hkr-cmp__img {
  display: block; width: 100%; height: auto;
  aspect-ratio: 1 / 1; object-fit: cover; margin-bottom: 1rem;
}
.hkr-cmp__t {
  font-family: var(--display); font-size: 1.1875rem; font-weight: 400;
  color: var(--fg-heading, var(--fg)); margin: 0 0 0.5rem;
}
.hkr-cmp__b {
  font-family: var(--sans); font-size: 0.9375rem; line-height: 1.6;
  color: var(--fg-muted); margin: 0;
}

.hkr-ship__img {
  display: block; width: 100%; height: auto;
  aspect-ratio: 16 / 9; object-fit: cover; margin: 0 0 2rem;
}

.hkr-risk, .hkr-inst {
  padding: var(--hkh-gap) 0;
  border-bottom: 1px solid var(--hairline);
}
.hkr-inst__cta { margin: 2rem 0 0; }

.hkr-gloss__idx {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  margin: 0 0 2.25rem;
}
.hkr-gloss__idx a {
  display: inline-flex;
  align-items: baseline;
  gap: 0.5rem;
  padding: 0.5rem 0.875rem;
  border: 1px solid var(--hairline);
  border-radius: 0;
  font-family: var(--sans);
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--fg-muted);
  text-decoration: none;
  transition: border-color .15s ease, color .15s ease;
}
.hkr-gloss__idx a:hover, .hkr-gloss__idx a:focus-visible {
  border-color: var(--accent);
  color: var(--fg-heading, var(--fg));
}
.hkr-gloss__idx a span {
  font-size: 0.75rem;
  color: var(--accent);
  font-variant-numeric: tabular-nums;
}

.hkr-gloss__tier { scroll-margin-top: 6rem; }
.hkr-gloss__group + .hkr-gloss__group { margin-top: 3rem; }

.hkr-gloss__lead {
  display: block; width: 100%; height: auto;
  aspect-ratio: 3 / 1; max-height: 220px;
  object-fit: cover; object-position: center 55%;
  margin: 0 0 2rem;
}

.hke {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.75rem clamp(1.75rem, 4vw, 3.5rem);
  margin: 0;
}
.hke__row {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 1.125rem;
  align-items: start;
  padding-top: 1.25rem;
  border-top: 1px solid var(--hairline);
}

.hke__fig { min-height: 1px; }
.hke__plate {
  display: block; width: 100%; height: auto;
  aspect-ratio: 1 / 1; object-fit: cover;
  transition: transform 520ms cubic-bezier(.22, .61, .36, 1);
}
.hke__row { overflow: clip; }
.hke__row:hover .hke__plate { transform: scale(1.05); }

.hke__t {
  font-family: var(--sans);
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--fg-heading, var(--fg));
  margin: 0 0 0.3rem;
  line-height: 1.35;
}
.hke__t .hkr-en {
  display: block;
  font-weight: 400;
  font-style: italic;
  color: var(--fg-muted);
  font-size: 0.875rem;
}
.hke__d {
  font-family: var(--sans);
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--fg-muted);
  margin: 0;
}

.hke__ref {
  display: block;
  margin-top: 0.5rem;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  color: var(--fg-muted);
  text-decoration: none;
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 0.35rem;
  transition: color .15s ease, border-color .15s ease;
}

.hke__ref::before { content: "↗"; margin-right: 0.4em; color: var(--accent); }
.hke__ref:hover, .hke__ref:focus-visible {
  color: var(--accent); border-color: var(--accent);
}

.hkency { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); }

.hkency__plates {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 2rem 0 0.75rem;
}
.hkency__pfig { margin: 0; }
.hkency__plate {
  display: block; width: 100%; height: auto;
  aspect-ratio: 3 / 4; object-fit: cover;
  background: var(--grey-1, #F4F4F6);
}
.hkency__pfig figcaption {
  margin-top: 0.35rem;
  font-family: var(--sans); font-size: 0.6875rem;
  letter-spacing: 0.04em; color: var(--fg-muted);
}
.hkency__pcredit {
  font-family: var(--sans); font-size: 0.8125rem; color: var(--fg-muted);
  margin: 0 0 2.25rem; max-width: 62ch;
}

.hkency__list {
  columns: 2;
  column-gap: clamp(1.75rem, 4vw, 3.5rem);
  font-family: var(--sans);
}

.hkency__e {
  font-size: 0.875rem; line-height: 1.55;
  margin: 0 0 0.7rem; break-inside: avoid;
  color: var(--fg-muted);
}
.hkency__t {
  font-style: normal; font-weight: 700;
  color: var(--fg-heading, var(--fg));
}
.hkency__t::after { content: " — "; font-weight: 400; color: var(--fg-muted); }

.hkency__en { font-style: italic; color: var(--fg-muted); }
.hkency__en::after { content: " — "; font-style: normal; }
.hkency__ref {
  text-decoration: none; color: var(--accent); font-size: 0.8125rem;
  padding: 0 0.15rem;
}
.hkency__ref:hover, .hkency__ref:focus-visible { color: var(--fg-heading, var(--fg)); }
.hkency__s { font-size: 0.75rem; color: var(--accent); white-space: nowrap; }
.hkency__s::before { content: " ("; }
.hkency__s::after  { content: ")"; }

.hkency__filter {
  display: flex; align-items: baseline; gap: 0.75rem;
  margin: 0 0 1.25rem; font-family: var(--sans);
}
.hkency__filter input {
  flex: 1 1 auto; max-width: 22rem;
  font: inherit; font-size: 0.9375rem;
  padding: 0.6rem 0.875rem;
  border: 1px solid var(--hairline); border-radius: 0;
  background: var(--bg); color: var(--fg);
}
.hkency__filter input:focus-visible {
  outline: 2px solid var(--accent); outline-offset: 2px;
}
.hkency__count { font-size: 0.8125rem; color: var(--fg-muted); }
.hkency__e[hidden] { display: none; }

@media (max-width: 900px) {
  .hkency__plates { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .hkency__list { columns: 1; }
}
@media (max-width: 480px) {
  .hkency__plates { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; }
}

.hke__sources { margin-top: 3rem; padding-top: 2rem; border-top: 2px solid var(--accent); }
.hke__sources ol {
  margin: 1.5rem 0 0; padding-left: 1.25rem;
  font-family: var(--sans); font-size: 0.875rem; line-height: 1.7;
  color: var(--fg-muted); columns: 2; column-gap: clamp(1.75rem, 4vw, 3.5rem);
}
.hke__sources li { margin: 0 0 0.875rem; break-inside: avoid; }
.hke__sources a { color: var(--fg); text-decoration: underline; }
.hke__sources a:hover { color: var(--accent); }
.hke__rights { display: block; font-size: 0.8125rem; color: var(--fg-muted); }

@media (max-width: 900px) {
  .hke { grid-template-columns: 1fr; }
  .hke__sources ol { columns: 1; }
}
@media (max-width: 480px) {
  .hke__row { grid-template-columns: 96px minmax(0, 1fr); gap: 0.875rem; }
}
@media (prefers-reduced-motion: reduce) {
  .hke__plate { transition: none; }
  .hke__row:hover .hke__plate { transform: none; }
}

.hkq { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); }
.hkq__box {
  margin-top: 2rem;
  border: 1px solid var(--hairline);
  background: var(--bg-sunken, rgba(0,0,0,0.02));
}

.hkq__table { width: 100%; border-collapse: collapse; font-family: var(--sans); }
.hkq__table caption {
  text-align: left; padding: 1rem 1.25rem 0;
  font-size: 0.8125rem; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--fg-muted);
}
.hkq__table th, .hkq__table td {
  text-align: left; padding: 0.875rem 1.25rem; font-size: 0.9375rem;
  border-top: 1px solid var(--hairline); vertical-align: top;
}
.hkq__table th {
  font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--fg-muted); font-weight: 400;
}

.hkq__ui { padding: clamp(1.5rem, 3vw, 2.5rem); }
.hkq__count {
  font-family: var(--sans); font-size: 0.75rem; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--fg-muted); margin: 0 0 0.5rem;
}
.hkq__q {
  font-family: var(--display); font-size: clamp(1.25rem, 2.2vw, 1.75rem);
  line-height: 1.25; color: var(--fg-heading, var(--fg));
  margin: 0 0 1.5rem; max-width: 30ch;
}
.hkq__opts { display: grid; gap: 0.625rem; max-width: 34rem; }

.hkq__opt {
  display: block; width: 100%; text-align: left; cursor: pointer;
  font-family: var(--sans); font-size: 1rem; line-height: 1.5;
  padding: 0.875rem 1.125rem;
  background: var(--bg, #FFFFFF); color: var(--fg);
  border: 1px solid var(--hairline); border-radius: 0;
  transition: border-color .15s ease, color .15s ease;
}
.hkq__opt:hover, .hkq__opt:focus-visible {
  border-color: var(--accent); color: var(--fg-heading, var(--fg));
}

.hkq__back {
  margin-top: 1.25rem; cursor: pointer;
  font-family: var(--sans); font-size: 0.8125rem; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--fg-muted);
  background: none; border: 0; border-radius: 0; padding: 0.5rem 0;
}
.hkq__back:hover, .hkq__back:focus-visible { color: var(--accent); }
.hkq__acts { display: flex; gap: 1.5rem; align-items: center; }

.hkq__rlabel {
  font-family: var(--sans); font-size: 0.75rem; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--fg-muted); margin: 0 0 0.5rem;
}
.hkq__rtier {
  font-family: var(--display); font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.05; color: var(--fg-heading, var(--fg)); margin: 0 0 0.5rem;
}
.hkq__rmeta {
  font-family: var(--sans); font-size: 1.0625rem; color: var(--accent);
  margin: 0 0 1rem;
}
.hkq__rdesc {
  font-family: var(--sans); font-size: 1rem; line-height: 1.65;
  color: var(--fg); margin: 0 0 0.75rem; max-width: 48ch;
}
.hkq__rsay {
  font-family: var(--sans); font-size: 0.9375rem; color: var(--fg-muted);
  margin: 0; max-width: 48ch;
}
.hkq__note {
  font-family: var(--sans); font-size: 0.875rem; line-height: 1.6;
  color: var(--fg-muted); margin: 1rem 0 1.75rem; max-width: 56ch;
}

@media (max-width: 767px) {
  .hkq__table caption, .hkq__table th, .hkq__table td { padding-left: 1rem; padding-right: 1rem; }
  .hkq__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .hkq__table td { display: block; border-top: 0; padding-top: 0.2rem; padding-bottom: 0.2rem; }
  .hkq__table tr { display: block; border-top: 1px solid var(--hairline); padding: 0.875rem 0; }
  .hkq__table td:first-child { padding-top: 0.875rem; }
}

.hkr-dl { margin: 0; display: grid; gap: 0 clamp(1.5rem, 3vw, 3rem); }
.hkr-dl--1 { grid-template-columns: 1fr; }
.hkr-dl--2 { grid-template-columns: repeat(2, 1fr); }

.hkr-spec {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 5vw, 4rem);
  padding: var(--hkh-gap) 0;
  border-bottom: 1px solid var(--hairline);
}
@media (max-width: 767px) { .hkr-spec { grid-template-columns: 1fr; } }
.hkr-dl--3 { grid-template-columns: repeat(3, 1fr); }
.hkr-dl__row { padding: 0.875rem 0; border-top: 1px solid var(--hairline); }
.hkr-dl dt {
  font-family: var(--sans); font-weight: 700; font-size: 0.9375rem;
  color: var(--fg); margin-bottom: 0.3rem;
}
.hkr-dl dd {
  margin: 0; font-family: var(--sans); font-size: 0.875rem;
  line-height: 1.55; color: var(--fg-muted);
}
.hkr-en {
  font-weight: 400; font-style: italic; color: var(--fg-muted);
  font-size: 0.8125rem;
}
.hkr-gloss__tier {
  font-family: var(--sans); font-size: 0.75rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--accent);
  margin: 2.25rem 0 0.25rem; padding-top: 1.25rem;
  border-top: 2px solid var(--accent);
}
.hkr-note { display: block; font-size: 0.75rem; color: var(--fg-muted); margin-top: 0.2rem; }
.hkr-steps { grid-template-columns: repeat(4, 1fr) !important; }

@media (max-width: 900px) {
  .hkr-tiers__grid { grid-template-columns: repeat(2, 1fr); }
  .hkr-dl--3 { grid-template-columns: repeat(2, 1fr); }
  .hkr-steps { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 560px) {
  .hkr-tiers__grid, .hkr-dl--2, .hkr-dl--3 { grid-template-columns: 1fr; }
  .hkr-steps { grid-template-columns: 1fr !important; }

  .hkr-dl--photo { grid-template-columns: repeat(2, 1fr); gap: 1.75rem 1rem; }
  .hkr-dl--photo dt { font-size: 0.9375rem; }
  .hkr-dl--photo dd { font-size: 0.8125rem; }
}

.hkc .hkh-hero__veil {
  background: linear-gradient(to right,
    rgba(16,16,24,0.92) 0%, rgba(16,16,24,0.80) 38%,
    rgba(16,16,24,0.45) 68%, rgba(16,16,24,0.20) 100%);
}

.hkc-badge { margin: 1.75rem 0 0; }
.hkc-badge__img {
  display: block; width: auto; max-width: 300px; height: auto;
  border: 1px solid rgba(255,255,255,0.18);
}

.hkc-clients { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); }
.hkc-clients__head { margin-bottom: 2.25rem; }
.hkc-clients__grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.25rem, 2.5vw, 2rem);
}
.hkc-client { margin: 0; }
.hkc-client__frame {
  display: block; aspect-ratio: 1 / 1; overflow: hidden;
  background: var(--paper, #F4F2EF); margin-bottom: 0.875rem;
}
.hkc-client__img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .5s cubic-bezier(.2,.7,.3,1);
}
.hkc-client:hover .hkc-client__img { transform: scale(1.04); }
.hkc-client__name {
  font-family: var(--sans); font-size: 0.8125rem; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--fg-muted);
}

.hkc-mat { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); }
.hkc-mat__head { margin-bottom: 2.25rem; }
.hkc-mat__grid {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: clamp(2rem, 4vw, 3.5rem);
}
.hkc-mat__frame {
  display: block; aspect-ratio: 16 / 10; overflow: hidden;
  background: var(--paper, #F4F2EF); margin-bottom: 1.25rem;
}
.hkc-mat__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hkc-mat__term {
  font-family: var(--display); font-weight: 400; font-size: 1.375rem;
  color: var(--fg-heading, var(--fg)); margin: 0 0 0.5rem;
}
.hkc-mat__body {
  font-family: var(--sans); font-size: 0.9375rem; line-height: 1.65;
  color: var(--fg-muted); margin: 0; max-width: 42ch;
}

.hkc-steps4 { grid-template-columns: repeat(4, 1fr); }
.hkc-steps4 .hkh-step__frame { display: none; }
.hkc-steps4 .hkh-step__n { border-top: 2px solid var(--accent); padding-top: 0.875rem; }

.hkc-gal { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); }
.hkc-gal__head { margin-bottom: 2rem; }
.hkc-gal__grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 0.75rem;
}
.hkc-gal__frame {
  display: block; aspect-ratio: 1 / 1; overflow: hidden;
  background: var(--paper, #F4F2EF);
}
.hkc-gal__img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .4s cubic-bezier(.2,.7,.3,1);
}
.hkc-gal__frame:hover .hkc-gal__img { transform: scale(1.06); }

@media (max-width: 900px) {
  .hkc-clients__grid { grid-template-columns: repeat(2, 1fr); }
  .hkc-mat__grid { grid-template-columns: 1fr; }
  .hkc-steps4 { grid-template-columns: repeat(2, 1fr); }
  .hkc-gal__grid { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); }
}
@media (max-width: 480px) {
  .hkc-clients__grid { grid-template-columns: 1fr; }
  .hkc-steps4 { grid-template-columns: 1fr; }
}

.hkx .hkh-hero__veil {
  background: linear-gradient(to right,
    rgba(16,16,24,0.90) 0%, rgba(16,16,24,0.78) 34%,
    rgba(16,16,24,0.42) 62%, rgba(16,16,24,0.14) 100%);
}

.hkx-docs { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); }
.hkx-docs__head { margin-bottom: 2rem; }
.hkx-docs__grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: clamp(0.75rem, 1.5vw, 1.25rem);
}
.hkx-doc {
  display: block; aspect-ratio: 1 / 1; overflow: hidden;
  background: var(--paper, #F4F2EF);
}
.hkx-doc__img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .5s cubic-bezier(.2,.7,.3,1);
}
.hkx-doc:hover .hkx-doc__img { transform: scale(1.04); }

.hkx-from {
  font-family: var(--sans); font-size: 0.8125rem; letter-spacing: 0.06em;
  color: rgba(255,255,255,0.72); margin: 1.5rem 0 0;
}

.hkx-who { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); }
.hkx-who__head { margin-bottom: 2.25rem; }
.hkx-who__grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: clamp(1.5rem, 3vw, 2.5rem);
}
.hkx-who__item { border-top: 2px solid var(--accent); padding-top: 1rem; }
.hkx-who__term {
  font-family: var(--display); font-weight: 400; font-size: 1.1875rem;
  color: var(--fg-heading, var(--fg)); margin: 0 0 0.5rem;
}
.hkx-who__body {
  font-family: var(--sans); font-size: 0.9375rem; line-height: 1.6;
  color: var(--fg-muted); margin: 0;
}

.hkx-sched { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); }
.hkx-sched__head { margin-bottom: 1.5rem; }
.hkx-sched__list { list-style: none; margin: 0; padding: 0; }
.hkx-step {
  display: flex; gap: clamp(1.25rem, 3vw, 3rem);
  padding: 1.5rem 0; border-top: 1px solid var(--hairline);
}
.hkx-step__min {
  flex: 0 0 5.5rem; font-family: var(--display); font-size: 2rem;
  line-height: 1; color: var(--accent);
}
.hkx-step__unit {
  display: block; font-family: var(--sans); font-size: 0.6875rem;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--fg-muted); margin-top: 0.35rem;
}
.hkx-step__body { flex: 1 1 auto; }
.hkx-step__t {
  display: block; font-family: var(--display); font-size: 1.25rem;
  color: var(--fg-heading, var(--fg)); margin-bottom: 0.375rem;
}
.hkx-step__b {
  display: block; font-family: var(--sans); font-size: 0.9375rem;
  line-height: 1.65; color: var(--fg-muted); max-width: 56ch;
}

.hkx-tiers { padding: var(--hkh-gap) 0; border-bottom: 1px solid var(--hairline); }
.hkx-tiers__head { margin-bottom: 2.25rem; }
.hkx-tiers__grid {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: clamp(1.5rem, 3vw, 2.5rem); align-items: start;
}
.hkx-tier {
  position: relative; border: 1px solid var(--hairline);
  padding: clamp(1.75rem, 3vw, 2.5rem);
}
.hkx-tier--featured { border-color: var(--accent); }
.hkx-tier__tag {
  position: absolute; top: 0; left: 0;
  transform: translateY(-50%);
  margin-left: clamp(1.75rem, 3vw, 2.5rem);
  background: var(--accent); color: #FFFFFF;
  font-family: var(--sans); font-size: 0.6875rem; letter-spacing: 0.12em;
  text-transform: uppercase; padding: 0.35rem 0.7rem;
}
.hkx-tier__name {
  font-family: var(--sans); font-size: 0.8125rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--fg-muted); margin: 0 0 0.75rem;
}
.hkx-tier__price {
  font-family: var(--display); font-size: clamp(1.75rem, 3vw, 2.375rem);
  line-height: 1; color: var(--fg-heading, var(--fg)); margin: 0 0 1rem;
}
.hkx-tier__unit {
  display: block; font-family: var(--sans); font-size: 0.8125rem;
  letter-spacing: 0.04em; color: var(--fg-muted); margin-top: 0.5rem;
}
.hkx-tier__blurb {
  font-family: var(--sans); font-size: 0.9375rem; line-height: 1.65;
  color: var(--fg-muted); margin: 0 0 1.5rem; max-width: 40ch;
}

.hkx-tier__list { list-style: none; margin: 0 0 1.75rem; padding: 0; }
.hkx-tier__list li {
  position: relative; padding: 0.5rem 0 0.5rem 1.5rem;
  border-top: 1px solid var(--hairline);
  font-family: var(--sans); font-size: 0.9375rem; line-height: 1.55;
  color: var(--fg);
}
.hkx-tier__list li::before {
  content: "—"; position: absolute; left: 0; color: var(--accent);
}
.hkx-tier__cta { margin: 0; }

@media (max-width: 900px) {
  .hkx-who__grid { grid-template-columns: repeat(2, 1fr); }
  .hkx-docs__grid { grid-template-columns: repeat(2, 1fr); }
  .hkx-tiers__grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .hkx-step { flex-direction: column; gap: 0.75rem; }
  .hkx-step__min { flex: none; display: flex; align-items: baseline; gap: 0.5rem; }
  .hkx-step__unit { margin-top: 0; }
}
@media (max-width: 480px) {
  .hkx-who__grid { grid-template-columns: 1fr; }
}

.hkh-invite {
  position: relative; width: 100vw; margin-left: calc(50% - 50vw);
  overflow: hidden; isolation: isolate;
  min-height: min(56vh, 480px); display: flex; align-items: center;
}
.hkh-invite__img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; z-index: -2;
}
.hkh-invite__veil {
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(to right,
    rgba(16,16,24,0.90) 0%, rgba(16,16,24,0.72) 48%, rgba(16,16,24,0.35) 100%);
}
.hkh-invite__inner {
  width: 100%; max-width: var(--container, 1170px);
  margin: 0 auto; padding: clamp(2.5rem, 5vw, 4rem) 1.5rem;
}
.hkh-invite .hkh-h2 { color: #FFFFFF; }
.hkh-invite .hkh-eyebrow { color: #D8A87F; }
.hkh-invite__lede { color: rgba(255,255,255,0.90) !important; }
.hkh-invite__note { color: rgba(255,255,255,0.66) !important; }
.hkh-invite .hkh-btn--outline { color: #FFFFFF; border-color: rgba(255,255,255,0.6); }
.hkh-invite .hkh-btn--outline:hover { background: #FFFFFF; color: #101018; border-color: #FFFFFF; }
.hkh-invite__lede {
  font-family: var(--sans);
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--fg);
  max-width: 48ch;
  margin: 0 0 1rem;
}
.hkh-invite__note {
  font-family: var(--sans);
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--fg-muted);
  max-width: 48ch;
  margin: 0 0 1.75rem;
}

.hkh-btn--outline {
  color: var(--fg);
  border-color: var(--fg);
  background: transparent;
}
.hkh-btn--outline:hover,
.hkh-btn--outline:focus-visible { background: var(--fg); color: var(--bg, #FFFFFF); }

.hkh-close { padding: var(--hkh-gap) 0; text-align: center; }
.hkh-close .hkh-h2 { margin-left: auto; margin-right: auto; }
.hkh-close__lede {
  font-family: var(--sans);
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--fg-muted);
  max-width: 44ch;
  margin: 0 auto 2rem;
}

@media (max-width: 900px) {
  .hkh-doors { grid-template-columns: 1fr; }
  .hkh-door { border-left: 0; }
  .hkh-split { grid-template-columns: 1fr; }
  .hkh-split--flip .hkh-split__media { order: 0; }
  .hkh-journal__grid { grid-template-columns: 1fr; }
  .hkh-journal__head { flex-direction: column; align-items: flex-start; gap: 0.75rem; }
  .hkh-hero { min-height: 68vh; }
}

@media (max-width: 560px) {
  .hkh-gloss__list { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .hkh-btn { display: block; text-align: center; }
  .hkh-btn + .hkh-btn { margin-left: 0; margin-top: 0.75rem; }
}

@media (prefers-reduced-motion: reduce) {
  .hkh-door__img, .hkh-post__img { transition: none; }
  .hkh-door:hover .hkh-door__img, .hkh-post:hover .hkh-post__img { transform: none; }
}

.hk-press-source {
  font-family: var(--sans);
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--fg-muted);
  margin: 2.5rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid var(--hairline);
}

.hkm-hero__img,
.hkm-card__img {
  display: block;
  width: 100%;
  height: auto;
  background: var(--paper);
  border: 1px solid var(--hairline);
}

.hkm-hero {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: 1fr;
  align-items: center;
  padding: 2.5rem 0 3rem;
  border-bottom: 1px solid var(--hairline);
}
@media (min-width: 900px) {
  .hkm-hero { grid-template-columns: 1fr minmax(0, 420px); gap: 4rem; }
}

.hkm-hero__title {
  font-family: var(--display);
  font-size: clamp(2rem, 5vw, 3.1rem);
  line-height: 1.1;
  color: var(--fg-heading);
  margin: 0.5rem 0 0;
}
.hkm-hero__lede {
  font-family: var(--sans);
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--fg);
  max-width: 34em;
  margin: 1.1rem 0 0;
}
.hkm-hero__use {
  font-family: var(--sans);
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--fg-muted);
  max-width: 34em;
  margin: 0.7rem 0 0;
}
.hkm-hero__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.25rem;
  margin: 1.75rem 0 0;
}
.hkm-hero__alt {
  font-family: var(--sans);
  font-size: var(--t-sm);
  letter-spacing: 0.04em;
  color: var(--accent);
}

.hkm-hero__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.4rem;
  margin: 1.5rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid var(--hairline);
  font-family: var(--sans);
  font-size: var(--t-micro);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fg-muted);
}

.hkm-hero__sheet { margin: 0; }

.hkm-hero__pair {
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  gap: 1.25rem;
  align-items: start;
}
.hkm-hero__cap {
  font-family: var(--sans);
  font-size: var(--t-micro);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fg-muted);
  margin-top: 0.6rem;
}

.hkm-sec__head { margin-bottom: 1.9rem; max-width: 46em; }
.hkm-sec__blurb {
  font-family: var(--sans);
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--fg-muted);
  margin: 0.6rem 0 0;
}

.hkm-sizes,
.hkm-print,
.hkm-rel,
.hkm-sec,
.hkm-intro,
.hkm-lic { padding: 3.25rem 0; border-bottom: 1px solid var(--hairline); }

.hkm-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.hkm-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--sans);
  min-width: 34rem;
}
.hkm-table th,
.hkm-table td {
  text-align: left;
  vertical-align: middle;
  padding: 1rem 1rem 1rem 0;
  border-bottom: 1px solid var(--hairline);
}
.hkm-table thead th {
  font-size: var(--t-micro);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fg-muted);
  font-weight: 400;
  padding-bottom: 0.6rem;
}
.hkm-table tbody tr:last-child th,
.hkm-table tbody tr:last-child td { border-bottom: 0; }

.hkm-size {
  display: block;
  font-family: var(--display);
  font-size: 1.25rem;
  color: var(--fg-heading);
  font-weight: 400;
}
.hkm-size__note {
  display: block;
  font-size: var(--t-micro);
  line-height: 1.5;
  color: var(--fg-muted);
  margin-top: 0.25rem;
  max-width: 16em;
}
.hkm-mm {
  font-size: 0.8125rem;
  color: var(--fg-muted);
  white-space: nowrap;
}
.hkm-none { color: var(--fg-muted); }

.hkm-dl {
  display: inline-block;
  text-decoration: none;
  border: 1px solid var(--ink);
  padding: 0.6rem 1rem;
  color: var(--fg-heading);
  background: transparent;
  white-space: nowrap;
}
.hkm-dl:hover { background: var(--ink); color: var(--paper); }
.hkm-dl:hover .hkm-dl__size { color: var(--paper); }
.hkm-dl__label {
  display: block;
  font-size: var(--t-sm);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.hkm-dl__size {
  display: block;
  font-size: var(--t-micro);
  color: var(--fg-muted);
  margin-top: 0.15rem;
}

.hkm-dl--alt { border-color: var(--hairline); }
.hkm-dl--alt:hover { background: transparent; color: var(--accent); border-color: var(--accent); }
.hkm-dl--alt:hover .hkm-dl__size { color: var(--fg-muted); }

.hkm-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.6rem; }
.hkm-steps > li { display: flex; gap: 1.1rem; align-items: flex-start; }
.hkm-steps__n {
  flex: 0 0 auto;
  font-family: var(--display);
  font-size: 1.5rem;
  line-height: 1;
  color: var(--accent);
  width: 1.6rem;
}
.hkm-steps__h {
  font-family: var(--sans);
  font-size: 0.9375rem;
  letter-spacing: 0.02em;
  color: var(--fg-heading);
  margin: 0 0 0.3rem;
}
.hkm-steps > li p {
  font-family: var(--sans);
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--fg-muted);
  margin: 0;
  max-width: 38em;
}
@media (min-width: 760px) {
  .hkm-steps--row { grid-template-columns: repeat(3, 1fr); gap: 2rem; }
}

.hkm-index { padding: 2.5rem 0; border-bottom: 1px solid var(--hairline); }
.hkm-index__grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 760px) { .hkm-index__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1000px) { .hkm-index__grid { grid-template-columns: repeat(6, 1fr); } }
.hkm-idx {
  display: block;
  text-decoration: none;
  border: 1px solid var(--hairline);
  border-left: 2px solid var(--accent);
  padding: 1rem 1.1rem;
  color: var(--fg);
}
.hkm-idx:hover { border-color: var(--accent); }
.hkm-idx__n {
  display: block;
  font-family: var(--display);
  font-size: 1.5rem;
  line-height: 1;
  color: var(--fg-heading);
}
.hkm-idx__name {
  display: block;
  font-family: var(--sans);
  font-size: var(--t-micro);
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--fg-muted);
  margin-top: 0.4rem;
}

.hkm-intro__text {
  font-family: var(--sans);
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--fg);
  max-width: var(--measure);
}
.hkm-intro__text p { margin: 0 0 1rem; }
.hkm-intro__text p:last-child { margin-bottom: 0; }

.hkm-grid {
  display: grid;
  gap: 2rem 1.5rem;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 760px)  { .hkm-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1000px) { .hkm-grid { grid-template-columns: repeat(4, 1fr); } }

.hkm-card { display: block; text-decoration: none; color: var(--fg); min-width: 0; }
.hkm-card__frame {
  display: block;
  overflow: hidden;
  background: var(--grey-1);
  margin-bottom: 0.85rem;
}
.hkm-card__img { transition: transform 0.35s ease; }
.hkm-card:hover .hkm-card__img { transform: scale(1.03); }
.hkm-card__body { display: block; }
.hkm-card__name {
  display: block;
  font-family: var(--display);
  font-size: 1.0625rem;
  line-height: 1.3;
  color: var(--fg-heading);
}
.hkm-card:hover .hkm-card__name { color: var(--accent); }
.hkm-card__use {
  display: block;
  font-family: var(--sans);
  font-size: 0.8125rem;
  line-height: 1.55;
  color: var(--fg-muted);
  margin-top: 0.35rem;
}
.hkm-card__meta {
  display: block;
  font-family: var(--sans);
  font-size: var(--t-micro);
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--fg-muted);
  margin-top: 0.5rem;
}

.hkm-rel__all { margin: 1.75rem 0 0; font-family: var(--sans); font-size: 0.9375rem; }

.hkm-lic__inner {
  font-family: var(--sans);
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--fg-muted);
  max-width: var(--measure);
}
.hkm-lic__inner p { margin: 0.5rem 0 0; }
.hkm-lic__inner a { color: var(--accent); }

.hkm-close {
  background: var(--ink);
  color: var(--fg-dark);
  padding: 3.75rem 0;
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
.hkm-close__inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 1.25rem;
}
.hkm-close .hkh-eyebrow { color: var(--accent-light); }
.hkm-close .hkh-h2 { color: #FFFFFF; }
.hkm-close__lede {
  font-family: var(--sans);
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--fg-dark);
  max-width: 40em;
  margin: 0.9rem 0 0;
}
.hkm-close__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5rem;
  margin: 1.9rem 0 0;
}

.hkm-close__cta .hkh-arrow { color: var(--accent-light); }

.hk-tc { text-align: center !important; }
.hk-tl { text-align: left !important; }

.hk-fg   { color: var(--fg) !important; }
.hk-fgh  { color: var(--fg-heading) !important; }
.hk-fgm  { color: var(--fg-muted) !important; }
.hk-ac   { color: var(--accent) !important; }
.hk-ac-i { color: var(--accent) !important; }

.hk-onimg { color: #FFFFFF !important; }

.hk-uc { text-transform: uppercase !important; }

.hk-bd  { border: 1px solid var(--hairline) !important; }
.hk-p12 { padding: 12px !important; }

.hk-bg-accent { background-color: var(--accent) !important; }
.hk-bg-accent th, .hk-bg-accent td { color: #FFFFFF !important; }

.hkpr-fast,
.hkpr-kit,
.hkpr-sec,
.hkpr-origin,
.hkpr-voices,
.hkpr-award,
.hkpr-method,
.hkpr-notes {
  padding: var(--hkh-gap) 0;
  border-bottom: 1px solid var(--hairline);
}

.hkpr__lede {
  font-family: var(--sans);
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--fg);
  max-width: 46ch;
  margin: 0 0 2rem;
}

.hkpr__sub {
  font-family: var(--sans);
  font-size: var(--t-micro);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fg-muted);
  margin: 2.5rem 0 1rem;
}

.hkpr__note {
  font-family: var(--sans);
  font-size: 0.875rem;
  line-height: 1.65;
  color: var(--fg-muted);
  max-width: 60ch;
  margin: 1.5rem 0 0;
}

.hkpr__note a { color: var(--accent); }

.hkpr__fn {
  font-size: 0.6875rem;
  line-height: 1;
  vertical-align: super;
  margin-left: 0.2em;
}

.hkpr__fn a {
  color: var(--accent);
  text-decoration: none;
  padding: 0 0.15em;
}

.hkpr__fn a:hover,
.hkpr__fn a:focus-visible { text-decoration: underline; }

.hkpr-fast__list { margin: 0; }

.hkpr-fast__row {
  display: grid;
  grid-template-columns: minmax(6rem, 11ch) 1fr;
  gap: 0 2rem;
  padding: 0.9rem 0;
  border-top: 1px solid var(--hairline);
}

.hkpr-fast__row dt {
  font-family: var(--sans);
  font-size: var(--t-micro);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fg-muted);
  padding-top: 0.25rem;
}

.hkpr-fast__row dd {
  margin: 0;
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--fg);
}

@media (max-width: 640px) {
  .hkpr-fast__row { grid-template-columns: 1fr; gap: 0.35rem; }
  .hkpr-fast__row dt { padding-top: 0; }
}

.hkpr-kit__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--hairline);
  border: 1px solid var(--hairline);
}

.hkpr-kit__i { display: flex; }

.hkpr-kit__a {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
  padding: 1.5rem 1.25rem;
  background: var(--bg);
  text-decoration: none;
  transition: background-color 120ms ease;
}

.hkpr-kit__a:hover,
.hkpr-kit__a:focus-visible { background: var(--grey-1, #F4F4F6); }

.hkpr-kit__t {
  font-family: var(--display);
  font-size: 1.125rem;
  line-height: 1.2;
  color: var(--fg-heading);
}

.hkpr-kit__d {
  font-family: var(--sans);
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--fg);
  flex: 1;
}

.hkpr-kit__m {
  font-family: var(--sans);
  font-size: var(--t-micro);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--accent);
}

@media (max-width: 900px) { .hkpr-kit__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .hkpr-kit__grid { grid-template-columns: 1fr; } }

.hkpr-list { list-style: none; margin: 0; padding: 0; }

.hkpr-list__i {
  padding: 0.85rem 0;
  border-top: 1px solid var(--hairline);
}

.hkpr-list__a,
.hkpr-list__t {
  display: inline;
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--fg-heading);
}

.hkpr-list__a { text-decoration: none; border-bottom: 1px solid var(--accent); }

.hkpr-list__a:hover,
.hkpr-list__a:focus-visible { color: var(--accent); }

.hkpr-list--plain .hkpr-list__t { color: var(--fg); }

.hkpr-list__m {
  display: block;
  margin-top: 0.25rem;
  font-family: var(--sans);
  font-size: var(--t-micro);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--fg-muted);
}

.hkpr-klip {
  list-style: none;
  margin: 0 0 2.5rem;
  padding: 0;
  display: grid;
  gap: 1.5rem;
  max-width: 46rem;
}

.hkpr-klip__img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--hairline);

  background: #FFFFFF;
}

:root[data-theme="dark"] .hkpr-klip__img { opacity: 0.88; }

.hkpr-klip__cap {
  display: block;
  margin-top: 0.5rem;
  font-family: var(--sans);
  font-size: var(--t-micro);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--fg-muted);
}

.hkpr-award,
.hkpr-method {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}

.hkpr-method__img,
.hkpr-award__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.hkpr-method__img { aspect-ratio: 1 / 1; }

.hkpr-award__t {
  font-family: var(--display);
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  line-height: 1.2;
  color: var(--fg-heading);
  margin: 0 0 0.35rem;
}

.hkpr-award__m {
  font-family: var(--sans);
  font-size: var(--t-micro);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
  margin: 0 0 1.25rem;
}

.hkpr-award__body p,
.hkpr-method__body p {
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.65;
  color: var(--fg);
  max-width: 46ch;
}

@media (max-width: 860px) {
  .hkpr-award,
  .hkpr-method { grid-template-columns: 1fr; }

  .hkpr-award__img,
  .hkpr-method__img { order: 2; }
}

.hkpr-q {
  margin: 1.75rem 0;
  padding: 0 0 0 1.5rem;
  border-left: 2px solid var(--accent);
}

.hkpr-q p {
  font-family: var(--display);
  font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
  line-height: 1.5;
  color: var(--fg-heading);
  margin: 0 0 0.75rem;
  max-width: 42ch;
}

.hkpr-q__by {
  display: block;
  font-family: var(--sans);
  font-size: var(--t-micro);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--fg-muted);
  line-height: 1.5;
}

.hkpr-q__by a {
  color: var(--fg-muted);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.hkpr-q__by a:hover,
.hkpr-q__by a:focus-visible { color: var(--accent); }

.hkpr-origin {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}

.hkpr-origin__fig { margin: 0; }

.hkpr-origin__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border: 1px solid var(--hairline);
}

.hkpr-origin__cap {
  display: block;
  margin-top: 0.75rem;
  font-family: var(--sans);
  font-size: 0.8125rem;
  line-height: 1.55;
  color: var(--fg-muted);
}

.hkpr-origin__body > p:not(.hkpr__note):not(.hkpr__lede) {
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.65;
  color: var(--fg);
  max-width: 60ch;
}

@media (max-width: 860px) {
  .hkpr-origin { grid-template-columns: 1fr; }

  .hkpr-origin__fig { order: 2; }
}

.hkpr-voices__list {
  list-style: none;
  margin: 0;
  padding: 0;
  columns: 2;
  column-gap: clamp(2rem, 4vw, 3.5rem);
}

.hkpr-voices__i {
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
}

.hkpr-voices__i .hkpr-q { margin: 0 0 2.25rem; }

@media (max-width: 760px) {
  .hkpr-voices__list { columns: 1; }
}

.hkpr-diff { margin: 1.25rem 0 0; }

.hkpr-diff__row {
  display: grid;
  grid-template-columns: minmax(7rem, 14ch) 1fr;
  gap: 0 2rem;
  padding: 0.9rem 0;
  border-top: 1px solid var(--hairline);
}

.hkpr-diff__row dt {
  font-family: var(--sans);
  font-size: var(--t-micro);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fg-muted);
  padding-top: 0.25rem;
}

.hkpr-diff__row dd {
  margin: 0;
  font-family: var(--sans);
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--fg);
  max-width: 70ch;
}

@media (max-width: 640px) {
  .hkpr-diff__row { grid-template-columns: 1fr; gap: 0.35rem; }
  .hkpr-diff__row dt { padding-top: 0; }
}

.hkpr-notes__list {
  margin: 0;
  padding-left: 1.25rem;
  max-width: 62ch;
}

.hkpr-notes__i {
  font-family: var(--sans);
  font-size: 0.875rem;
  line-height: 1.65;
  color: var(--fg-muted);
  padding: 0.5rem 0;
}

.hkpr-notes__i a { color: var(--accent); }

.hkpr-notes__back { text-decoration: none; margin-left: 0.35rem; }

.entry-content canvas { max-width: 100%; height: auto; }

.hkpdf {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.5rem;
  margin: 2.5rem 0 0;
  padding: 1.25rem 1.5rem;
  border: 1px solid var(--hairline);
  border-left: 3px solid var(--accent);
  background: var(--bg);
}
.hkpdf__body { flex: 1 1 16rem; min-width: 0; }
.hkpdf__label {
  font-family: var(--sans);
  font-size: 0.6875rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent);
  margin: 0 0 0.35rem;
}
.hkpdf__title {
  font-family: var(--display);
  font-size: 1.0625rem;
  line-height: 1.3;
  color: var(--fg-heading);
  margin: 0 0 0.25rem;
}
.hkpdf__meta {
  font-family: var(--sans);
  font-size: 0.8125rem;
  color: var(--fg-muted);
  margin: 0;
}
.hkpdf__cta {
  font-family: var(--sans);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.75rem 1.5rem;
  border: 1px solid var(--ink);
  border-radius: 0;
  background: var(--ink);
  color: #FFFFFF;
  text-decoration: none;
  white-space: nowrap;
}
.hkpdf__cta:hover { background: var(--accent); border-color: var(--accent); }

.hklib { margin: 3.5rem 0 0; }
.hklib__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 2.5rem 1.75rem;
  margin: 2rem 0 0;
}
.hklib__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.hklib__frame {
  display: block;
  margin: 0 0 1.125rem;
  border: 1px solid var(--hairline);
  background: var(--grey-1);
  line-height: 0;
}
.hklib__img {
  display: block;
  width: 100%;
  height: auto;
}
.hklib__label {
  font-family: var(--sans);
  font-size: 0.6875rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent);
  margin: 0 0 0.4rem;
}
.hklib__title {
  font-family: var(--display);
  font-size: 1.125rem;
  line-height: 1.3;
  color: var(--fg-heading);
  margin: 0 0 0.5rem;
}
.hklib__title a { color: inherit; text-decoration: none; }
.hklib__title a:hover { color: var(--accent); text-decoration: underline; }
.hklib__desc {
  font-family: var(--sans);
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--fg);
  margin: 0 0 0.75rem;
}
.hklib__meta {
  font-family: var(--sans);
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  color: var(--fg-muted);
  margin: 0 0 1.125rem;
}
.hklib__cta {
  font-family: var(--sans);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  align-self: flex-start;
  margin-top: auto;
  padding: 0.7rem 1.25rem;
  border: 1px solid var(--ink);
  border-radius: 0;
  background: var(--ink);
  color: #FFFFFF;
  text-decoration: none;
}
.hklib__cta:hover { background: var(--accent); border-color: var(--accent); }
.hklib__note {
  font-family: var(--sans);
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--fg-muted);
  margin: 2rem 0 0;
  padding: 0 0 0 1rem;
  border-left: 1px solid var(--hairline);
}

.hkpg {
  margin: 3rem 0 0;
  padding-top: 2rem;
  border-top: 1px solid var(--hairline);
}
.hkpg__h {
  font-family: var(--display);
  font-size: 1.375rem;
  line-height: 1.25;
  color: var(--fg-heading);
  margin: 0 0 0.5rem;
}
.hkpg__lede {
  font-family: var(--sans);
  font-size: 0.9375rem;
  color: var(--fg-muted);
  margin: 0 0 1.5rem;
  max-width: 46em;
}
.hkpg__facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: 0.75rem 2rem;
  margin: 0 0 2rem;
  padding: 1rem 0;
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
}
.hkpg__r dt {
  font-family: var(--sans);
  font-size: 0.6875rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent);
  margin: 0 0 0.25rem;
}
.hkpg__r dd {
  font-family: var(--sans);
  font-size: 0.9375rem;
  color: var(--fg);
  margin: 0;
}
.hkpg__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
  gap: 0.75rem;
}
.hkpg__f { margin: 0; }

.hkpg__f img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  background: var(--grey-1, #F4F4F6);
}

.hkac { border-top: 1px solid var(--hairline); margin: 0; }
.hkac:last-of-type { border-bottom: 1px solid var(--hairline); }
.hkac > summary {
  cursor: pointer;
  list-style: none;
  padding: 1rem 2rem 1rem 0;
  position: relative;
  font-family: var(--display);
  font-size: 1.0625rem;
  line-height: 1.35;
  color: var(--fg-heading);
}
.hkac > summary::-webkit-details-marker { display: none; }
.hkac > summary::after {
  content: "+";
  position: absolute;
  right: 0.25rem;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--sans);
  font-size: 1.25rem;
  color: var(--accent);
}
.hkac[open] > summary::after { content: "–"; }
.hkac > summary:hover { color: var(--accent); }
.hkac__body { padding: 0 0 1.25rem; }
.hkac__body > *:first-child { margin-top: 0; }
.hkac__body > *:last-child { margin-bottom: 0; }

.hky__link--noposter .hky__frame {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  aspect-ratio: 16 / 9; background: var(--ink, #101018); color: #FFFFFF;
  text-decoration: none;
}
.hky__link--noposter .hky__play { font-size: 2.5rem; line-height: 1; }
.hky__link--noposter .hky__cap {
  font-family: var(--sans); font-size: .875rem; letter-spacing: .04em;
  margin-top: .6rem; text-decoration: underline;
}
.hky__link--noposter .hky__frame iframe { width: 100%; height: 100%; border: 0; }

.hk-catnav {
  margin-top: 3rem; padding-top: 1.5rem;
  border-top: 1px solid var(--hairline);
}
.hk-catnav__lead {
  font-family: var(--sans); font-size: .875rem; letter-spacing: .02em;
  color: var(--fg-muted); margin: 0 0 .75rem;
}
.hk-catnav ul {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: .5rem .75rem;
}
.hk-catnav li { margin: 0; }
.hk-catnav li a {
  font-family: var(--sans); font-size: .8125rem; letter-spacing: .04em;
  text-transform: uppercase; text-decoration: none;
  border: 1px solid var(--hairline); padding: .45rem .7rem;
  display: inline-block;
}
.hk-catnav li a:hover, .hk-catnav li a:focus-visible {
  border-color: var(--ink); background: var(--ink); color: var(--paper);
}

.hk-catnav li span {
  font-family: var(--sans); font-size: .75rem; color: var(--fg-muted);
  margin-left: .15rem;
}

.hkfb-hero .hkh-hero__veil {
  background:
    linear-gradient(90deg,
      rgba(16, 16, 24, 0.94) 0%, rgba(16, 16, 24, 0.86) 34%,
      rgba(16, 16, 24, 0.42) 68%, rgba(16, 16, 24, 0.16) 100%),
    linear-gradient(0deg,
      rgba(16, 16, 24, 0.74) 0%, rgba(16, 16, 24, 0.34) 52%,
      rgba(16, 16, 24, 0.14) 100%);
}

@media (max-width: 780px) {
  .hkfb-hero .hkh-hero__veil {
    background: linear-gradient(0deg,
      rgba(16, 16, 24, 0.95) 0%, rgba(16, 16, 24, 0.91) 40%,
      rgba(16, 16, 24, 0.85) 70%, rgba(16, 16, 24, 0.80) 100%);
  }
}

.hkfb-hero .hkh-eyebrow { color: var(--accent-light, #D8A87F); }

.hkfb-hero .hkh-hero__title {
  font-size: clamp(1.75rem, 3.4vw, 2.875rem);
  line-height: 1.12;
  max-width: 26ch;
}

.hkfb-hero__facts {
  display: flex; flex-wrap: wrap; gap: 0 2rem;
  list-style: none; margin: 0 0 2rem; padding: 0; max-width: 60ch;
}
.hkfb-hero__facts li {
  font-family: var(--sans); font-size: 0.8125rem; letter-spacing: 0.06em;
  text-transform: uppercase; color: rgba(255, 255, 255, 0.82);
  padding: 0.35rem 0;
}
.hkfb-hero__facts b {
  display: block; font-size: 1.375rem; letter-spacing: 0;
  text-transform: none; color: #FFFFFF; font-family: var(--display);
  font-weight: 400;
}

.hkfb-s { padding-block: clamp(2.75rem, 6vw, 4.5rem) 0; }
.hkfb-s + .hkfb-s { border-top: 1px solid var(--hairline); }
.hkfb-s > :is(h2, .hkh-h2) { margin-top: 0; }
.hkfb-lede {
  font-family: var(--sans); font-size: 1.0625rem; line-height: 1.65;
  color: var(--fg); max-width: 60ch;
}

.hkfb-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.75rem; margin: 2rem 0 0; }
.hkfb-grid--2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 900px) { .hkfb-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .hkfb-grid, .hkfb-grid--2 { grid-template-columns: 1fr; } }

:is(.hkfb-grid, .hk-content, .hkfb-s) a.hkfb-card { display: block; text-decoration: none; }
:is(.hkfb-grid, .hk-content, .hkfb-s) a.hkfb-card:hover,
:is(.hkfb-grid, .hk-content, .hkfb-s) a.hkfb-card:focus-visible { text-decoration: none; }
:is(.hkfb-grid, .hk-content, .hkfb-s) a.hkfb-card :is(.hkfb-card__label, .hkfb-card__t, .hkfb-card__d) {
  text-decoration: none;
}
.hkfb-card__frame {
  display: block; aspect-ratio: 4 / 5; overflow: hidden;
  background: var(--grey-1, #F4F4F6); margin-bottom: 1rem;
}
.hkfb-card__frame img { width: 100%; height: 100%; object-fit: cover; display: block; }

.hkfb-card__label {
  display: block;
  font-family: var(--sans); font-size: 0.6875rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--accent); margin: 0 0 0.4rem;
}
.hkfb-card__t {
  display: block;
  font-family: var(--display); font-size: 1.25rem; line-height: 1.2;
  color: var(--fg-heading, #101018); margin: 0 0 0.5rem;
}
.hkfb-card:hover .hkfb-card__t { color: var(--accent); }
.hkfb-card__d {
  display: block;
  font-family: var(--sans); font-size: 0.9375rem; line-height: 1.55;
  color: var(--fg-muted); margin: 0;
}

.hkfb-tw { overflow-x: auto; margin: 1.75rem 0 0; }
.hkfb-t { width: 100%; border-collapse: collapse; font-family: var(--sans); font-size: 0.9375rem; }
.hkfb-t th, .hkfb-t td {
  text-align: left; padding: 0.85rem 1rem 0.85rem 0;
  border-bottom: 1px solid var(--hairline); vertical-align: top; line-height: 1.5;
}
.hkfb-t thead th {
  font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--fg-muted); border-bottom: 1px solid var(--fg-heading, #101018);
  white-space: nowrap;
}
.hkfb-t tbody th { font-weight: 400; color: var(--fg-heading, #101018); }
.hkfb-t td { color: var(--fg); }

.hkfb-steps { list-style: none; counter-reset: s; margin: 1.75rem 0 0; padding: 0; }
.hkfb-step {
  counter-increment: s; position: relative;
  padding: 1.35rem 0 1.35rem 3.5rem; border-top: 1px solid var(--hairline);
}
.hkfb-step::before {
  content: counter(s, decimal-leading-zero); position: absolute; left: 0; top: 1.35rem;
  font-family: var(--display); font-size: 1.125rem; color: var(--accent);
}
.hkfb-step h3 {
  font-family: var(--display); font-size: 1.1875rem; line-height: 1.25;
  color: var(--fg-heading, #101018); margin: 0 0 0.35rem;
}
.hkfb-step p { font-family: var(--sans); font-size: 0.9375rem; line-height: 1.6; color: var(--fg); margin: 0; max-width: 62ch; }

.hkfb-close { padding-block: clamp(2.75rem, 6vw, 4.5rem); }

.hkfb-s.hkfb-close { margin-top: clamp(3rem, 7vw, 5rem); border-top: 0; }
.hkfb-close .hkfb-lede { color: rgba(255, 255, 255, 0.82); }

.hkfb-pick { margin: 1.75rem 0 0; }
.hkfb-pick__q {
  font-family: var(--sans); font-size: 0.6875rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--fg-muted); margin: 0 0 0.85rem;
}
.hkfb-pick__opts { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.5rem; }

.hkfb-pick .hkfb-pick__opts button.hkfb-pick__opt {
  font-family: var(--sans); font-size: 0.875rem; line-height: 1.3;
  text-align: left; padding: 0.7rem 1.1rem; border-radius: 0; cursor: pointer;
  background: transparent; color: var(--fg);
  border: 1px solid var(--hairline); text-transform: none; letter-spacing: 0;
  box-shadow: none;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.hkfb-pick .hkfb-pick__opts button.hkfb-pick__opt:hover {
  border-color: var(--accent); color: var(--accent); background: transparent;
}
.hkfb-pick .hkfb-pick__opts button.hkfb-pick__opt.is-on {
  background: var(--fg-heading, #101018); color: #FFFFFF;
  border-color: var(--fg-heading, #101018);
}
.hkfb-pick__out { border-top: 1px solid var(--fg-heading, #101018); padding-top: 1.25rem; }
.hkfb-pick__dl { margin: 0 0 1.25rem; }
.hkfb-pick__dl dt {
  font-family: var(--sans); font-size: 0.6875rem; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--fg-muted); margin-top: 0.9rem;
}
.hkfb-pick__dl dd {
  font-family: var(--sans); font-size: 1rem; line-height: 1.55;
  color: var(--fg); margin: 0.2rem 0 0;
}
.hkfb-pick__go { margin-top: 0.5rem; }
.hkfb-pick__all { margin-top: 1.5rem; }
.hkfb-pick__all summary {
  font-family: var(--sans); font-size: 0.8125rem; letter-spacing: 0.06em;
  color: var(--fg-muted); cursor: pointer; padding: 0.5rem 0;
}
.hkfb-pick__all summary:hover { color: var(--accent); }

.hkfb-close .hkfb-pick .hkfb-pick__opts button.hkfb-pick__opt {
  color: rgba(255,255,255,0.86); border-color: rgba(255,255,255,0.35); background: transparent;
}
.hkfb-close .hkfb-pick .hkfb-pick__opts button.hkfb-pick__opt.is-on {
  background: #FFFFFF; color: #101018; border-color: #FFFFFF;
}
.hkfb-close .hkfb-pick__out { border-top-color: rgba(255,255,255,0.4); }
.hkfb-close .hkfb-pick__dl dd { color: rgba(255,255,255,0.88); }

:is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close):is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close) a.hkh-btn--solid {
  background: #FFFFFF; color: var(--ink, #101018); border-color: #FFFFFF;
}
:is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close):is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close) a.hkh-btn--solid:hover,
:is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close):is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close) a.hkh-btn--solid:focus-visible {
  background: var(--accent-light, #D8A87F); border-color: var(--accent-light, #D8A87F);
  color: var(--ink, #101018);
}
:is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close):is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close) a.hkh-btn--ghost {
  color: #FFFFFF; border-color: rgba(255, 255, 255, 0.45); background: transparent;
}
:is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close):is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close) a.hkh-btn--ghost:hover,
:is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close):is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close) a.hkh-btn--ghost:focus-visible {
  background: #FFFFFF; color: var(--ink, #101018); border-color: #FFFFFF;
}

:is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close):is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close) :is(strong, b) {
  color: inherit;
}

:is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close):is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close) a:not(.hkh-btn):not(.hkfb-pick__go) {
  color: var(--accent-light, #D8A87F);
}
:is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close):is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close) a:not(.hkh-btn):not(.hkfb-pick__go):hover,
:is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close):is(.hkg-glow, .hkr-midcta, .hkh-close, .hkfb-close) a:not(.hkh-btn):not(.hkfb-pick__go):focus-visible {
  color: #FFFFFF;
}

.hkwa {
  --hkwa-bg:       var(--wa-green, #25D366);
  --hkwa-fg:       var(--ink, #101018);
  --hkwa-bg-hover: var(--wa-green-deep, #1DA851);

  position: fixed;
  right: 30px;
  bottom: 50px;

  z-index: 80;

  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 56px;
  padding: 0 18px;
  box-sizing: border-box;

  background: var(--hkwa-bg);
  color: var(--hkwa-fg);
  border-radius: 0;
  text-decoration: none;

  font-family: var(--sans, Lato, sans-serif);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1px;
  text-transform: uppercase;

  box-shadow: 0 2px 14px rgba(16, 16, 24, .28);
  transition: background-color .18s ease, transform .18s ease;
}

.hkwa:hover,
.hkwa:focus-visible {
  background: var(--hkwa-bg-hover);
  color: var(--hkwa-fg);
  text-decoration: none;
  transform: translateY(-2px);
}

.hkwa:focus-visible {
  outline: 2px solid var(--hkwa-fg);
  outline-offset: 3px;
}

.hkwa__icon {
  display: inline-flex;
  flex: 0 0 auto;
}

.hkwa__icon svg {
  display: block;
  width: 24px;
  height: 24px;
}

@media (max-width: 560px) {
  .hkwa {
    right: 16px;
    bottom: 16px;
    padding: 0;
    width: 56px;
    justify-content: center;
    gap: 0;
  }
  .hkwa__label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
}

.jscroll-to-top.desktop {
  bottom: 118px;
}

@media (prefers-reduced-motion: reduce) {
  .hkwa { transition: none; }
  .hkwa:hover,
  .hkwa:focus-visible { transform: none; }
}

@media print {
  .hkwa { display: none; }
}

.hksk {
  position: fixed;
  top: .75rem;
  left: .75rem;
  z-index: 200;
  padding: .8rem 1.25rem;
  background: var(--ink);
  color: var(--paper);
  font-family: var(--sans);
  font-size: var(--t-sm);
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: var(--radius);
  transform: translateY(calc(-100% - 1.5rem));
  transition: transform .16s ease;
}

.hksk:focus,
.hksk:hover {
  transform: translateY(0);
  color: var(--paper);
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

#hk-main:focus {
  outline: none;
}

@media (prefers-reduced-motion: reduce) {
  .hksk { transition: none; }
}

@media print {
  .hksk { display: none; }
}
