/* Original artwork: the entire portrait stays visible at every breakpoint. */
.kc-home .kc-hero__art.kc-hero__art--photo { display: flex; align-items: center; justify-content: center; min-width: 0; height: auto; min-height: 0; padding: 0; background: #080817; }
.kc-home .kc-hero__art--photo::before, .kc-home .kc-hero__art--photo::after { display: none; }
.kc-home .kc-hero__photo { display: block; width: 100%; max-width: 100%; height: auto; max-height: 720px; object-fit: contain; }
@media (max-width: 991px) {
  .kc-home .kc-hero__art.kc-hero__art--photo { height: auto; }
  .kc-home .kc-hero__photo { max-height: none; }
}

/* Pending is set synchronously in head. The default markup also fails closed. */
html.kc-age-pending, html.kc-age-pending body { overflow: hidden; }
html.kc-age-pending #wrapwrap,
html:not(.kc-age-confirmed) body:has(> .kc-age-gate) #wrapwrap { visibility: hidden; }
.kc-age-gate { position: fixed; z-index: 2147483000; inset: 0; display: flex; align-items: center; justify-content: center; min-width: 0; width: 100%; height: 100vh; height: 100dvh; padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); box-sizing: border-box; overflow: auto; overscroll-behavior: contain; background: rgba(9, 14, 5, .96); color: #fff; }
html.kc-age-confirmed .kc-age-gate, .kc-age-gate[hidden] { display: none !important; }
.kc-age-gate__panel { position: relative; isolation: isolate; box-sizing: border-box; width: 100%; max-width: 660px; min-width: 0; max-height: 100%; padding: 34px; overflow: auto; overscroll-behavior: contain; border: 1px solid #fdd201; border-radius: 30px; background: radial-gradient(circle at 115% 115%, transparent 0 239px, rgba(253, 210, 1, .22) 240px, transparent 241px), linear-gradient(145deg, #3b491d, #253110); box-shadow: 0 0 0 8px rgba(253, 210, 1, .07), 0 24px 90px rgba(0, 0, 0, .35); }
.kc-age-gate__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 26px; }
.kc-age-gate__brand { color: #fff; font-size: 12px; line-height: 1.6; font-weight: 700; letter-spacing: .14em; }
.kc-age-gate__languages { display: inline-flex; flex: 0 0 auto; gap: 4px; padding: 4px; border: 1px solid rgba(255, 255, 255, .65); border-radius: 50px; }
.kc-age-gate__languages a { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; min-height: 38px; padding: 5px 8px; border-radius: 30px; color: #fff; font-size: 14px; line-height: 1.4; font-weight: 700; text-decoration: none; }
.kc-age-gate__languages a[aria-current="true"] { background: #fff; color: #3b491d; }
.kc-age-gate__title { margin: 0 0 26px; color: #fdd201; font-size: clamp(42px, 6vw, 66px); font-weight: 700; line-height: 1.2; letter-spacing: 0; overflow-wrap: break-word; }
html:lang(en) .kc-age-gate__title { font-family: 'KC Hidebeast Blocky', var(--kc-display-font, sans-serif); font-weight: 400; font-synthesis: none; }
.kc-age-gate__copy { margin: 0 0 30px; color: #fff; font-size: 19px; line-height: 1.65; font-weight: 400; }
.kc-age-gate__actions { display: grid; gap: 14px; }
.kc-age-gate__button { display: inline-flex; align-items: center; justify-content: center; min-height: 58px; width: 100%; padding: 13px 22px; border: 1px solid #fdd201; border-radius: 50px; background: #fdd201; color: #263410; font: inherit; font-size: 17px; line-height: 1.5; font-weight: 700; text-align: center; cursor: pointer; }
.kc-age-gate__button--leave { border-color: #fff; background: transparent; color: #fff; }
.kc-age-gate__button:hover { background: #ffdf36; color: #263410; }
.kc-age-gate__button--leave:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.kc-age-gate a:focus-visible, .kc-age-gate button:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.kc-age-gate__noscript { display: block; margin-top: 18px; color: #fff; font-size: 15px; line-height: 1.6; }
@media (max-width: 575px) {
  .kc-age-gate__panel { padding: 24px 22px; border-radius: 24px; }
  .kc-age-gate__toolbar { align-items: flex-start; gap: 12px; margin-bottom: 24px; }
  .kc-age-gate__brand { max-width: 18ch; font-size: 12px; letter-spacing: .08em; }
  .kc-age-gate__languages { gap: 0; padding: 3px; }
  .kc-age-gate__languages a { min-width: 40px; min-height: 44px; font-size: 13px; }
  .kc-age-gate__title { margin-bottom: 22px; font-size: 44px; }
  .kc-age-gate__copy { margin-bottom: 24px; font-size: 17px; }
  .kc-age-gate__button { min-height: 54px; font-size: 16px; padding: 12px 16px; }
  html:lang(th) .kc-age-gate__title { font-size: 34px; line-height: 1.4; }
}
@media (max-height: 500px) {
  .kc-age-gate { align-items: flex-start; }
  .kc-age-gate__panel { max-width: 740px; padding: 22px; }
  .kc-age-gate__toolbar { margin-bottom: 14px; }
  .kc-age-gate__title { font-size: 40px; margin-bottom: 12px; }
  .kc-age-gate__copy { font-size: 16px; margin-bottom: 18px; }
  .kc-age-gate__actions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}
@media (max-width: 360px) and (min-height: 501px) {
  .kc-age-gate__panel { padding: 20px 18px; }
  .kc-age-gate__toolbar { gap: 8px; margin-bottom: 18px; }
  .kc-age-gate__title { font-size: 38px; margin-bottom: 18px; }
  .kc-age-gate__copy { font-size: 16px; line-height: 1.55; margin-bottom: 20px; }
  .kc-age-gate__actions { gap: 12px; }
  .kc-age-gate__button { min-height: 50px; font-size: 15px; }
}
