/* TOP page only. Shared landing components live in landing-shared.css. */

.tkx-section--ranking .tkx-rank-card > a[href^="#tkx-ranking-overall-rank-"] {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding-block: 10px;
}

/* HOME revenue path — event > travel > gear. */
.tkx-now__notice {
  margin: 14px 0 0;
  color: #9f998f;
  font-size: 11px;
  line-height: 1.7;
}
.tkx-now__grid a:focus-visible {
  outline: 3px solid var(--tkxl-gold);
  outline-offset: -3px;
}
@media (max-width: 600px) {
  .tkx-now__notice { margin-top: 12px; }
}

/* Prediction welcome: truthful activity without synthetic votes. */
.tkx-predict-welcome{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:24px;padding:24px 26px;border:1px solid rgba(188,145,54,.42);border-left:5px solid #c80d1c;background:linear-gradient(110deg,#171512 0%,#0b0b0b 100%);color:#fff}
.tkx-predict-welcome div{display:grid;gap:6px}
.tkx-predict-welcome small{color:#c7a24a;font-size:11px;font-weight:800;letter-spacing:.16em}
.tkx-predict-welcome strong{font-size:clamp(20px,2.6vw,30px);line-height:1.3}
.tkx-predict-welcome span{color:#d8d2c8;font-size:13px;line-height:1.7}
.tkx-predict-welcome .tkx-btn{flex:0 0 auto;margin:0}
@media(max-width:700px){.tkx-predict-welcome{align-items:stretch;flex-direction:column;padding:20px}.tkx-predict-welcome .tkx-btn{justify-content:center;width:100%}}


/* HOME editorial gateway v1.5.15 */
.tkx-section--articles .tkx-heading > span {
  max-width: 760px;
}
.tkx-story-grid--gateway {
  gap: 16px;
  margin-top: 26px;
}
.tkx-story-grid--gateway .tkx-story-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 250px;
  padding: 28px 28px 24px;
  border: 1px solid rgba(188,145,54,.42);
  border-top: 0;
  box-shadow: 0 14px 32px rgba(16,12,8,.12);
  transition: transform .22s ease, box-shadow .22s ease;
}
.tkx-story-grid--gateway .tkx-story-card > * {
  position: relative;
  z-index: 2;
}
.tkx-story-grid--gateway .tkx-story-card::before {
  content: attr(data-no);
  position: absolute;
  z-index: 1;
  top: 8px;
  right: 18px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(74px,8vw,112px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.06em;
  opacity: .13;
}
.tkx-story-grid--gateway .tkx-story-card::after {
  content: "";
  position: absolute;
  z-index: 1;
  right: 24px;
  bottom: 28px;
  width: 54px;
  height: 1px;
  background: currentColor;
  opacity: .42;
}
.tkx-story-grid--gateway .tkx-story-card small {
  color: inherit;
  opacity: .82;
}
.tkx-story-grid--gateway .tkx-story-card strong {
  max-width: 13em;
  margin-top: auto;
  padding-top: 56px;
  font-size: clamp(22px,2.4vw,30px);
  line-height: 1.35;
}
.tkx-story-grid--gateway .tkx-story-card span {
  max-width: 26em;
  margin-top: 10px;
  color: inherit;
  opacity: .78;
}
.tkx-story-grid--gateway .tkx-story-card b {
  margin-top: 22px;
  font-size: 12px;
  letter-spacing: .08em;
}
.tkx-story-card--muta {
  background:
    linear-gradient(145deg,transparent 0 45%,rgba(180,0,18,.52) 45% 49%,transparent 49% 100%),
    radial-gradient(circle at 82% 18%,rgba(198,157,67,.18),transparent 28%),
    #090a0a !important;
  color: #f4e6c7 !important;
}
.tkx-story-card--muta small,
.tkx-story-card--muta b {
  color: #d1a94e !important;
}
.tkx-story-card--stf {
  background:
    repeating-radial-gradient(circle at 86% 22%,transparent 0 22px,rgba(255,255,255,.08) 23px 24px),
    linear-gradient(145deg,#92000f 0%,#c30d20 54%,#65000b 100%) !important;
  color: #fff7ed !important;
}
.tkx-story-card--stf small,
.tkx-story-card--stf b {
  color: #ffd27a !important;
}
.tkx-story-card--kobe {
  background:
    linear-gradient(90deg,transparent 0 71%,rgba(172,127,37,.12) 71% 72%,transparent 72%),
    linear-gradient(0deg,transparent 0 68%,rgba(172,127,37,.12) 68% 69%,transparent 69%),
    #f6f0e4 !important;
  color: #171310 !important;
}
.tkx-story-card--kobe small,
.tkx-story-card--kobe b {
  color: #9c6b0b !important;
}
.tkx-story-grid--gateway .tkx-story-card:focus-visible {
  outline: 3px solid #d4aa45;
  outline-offset: 3px;
}
@media (hover:hover) {
  .tkx-story-grid--gateway .tkx-story-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 42px rgba(16,12,8,.2);
  }
}
@media (max-width:600px) {
  .tkx-story-grid--gateway {
    gap: 12px;
    margin-top: 22px;
  }
  .tkx-story-grid--gateway .tkx-story-card {
    min-height: 218px;
    padding: 24px 22px 21px;
  }
  .tkx-story-grid--gateway .tkx-story-card strong {
    padding-top: 46px;
    font-size: 24px;
  }
}
@media (prefers-reduced-motion:reduce) {
  .tkx-story-grid--gateway .tkx-story-card {
    transition: none;
  }
}


/* v1.5.15 contrast correction against inherited link color */
.tkx-story-grid--gateway .tkx-story-card--muta,
.tkx-story-grid--gateway .tkx-story-card--stf {
  color: #fff7ed !important;
}
.tkx-story-grid--gateway .tkx-story-card--stf {
  background-color: #92000f !important;
}


/* Hero travel CTA — visible only for the matching Shimonoseki event. */
.tkx-featured-travel {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(198, 157, 67, .34);
}
.tkx-featured-travel__label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 10px;
  color: #d1a94e;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}
.tkx-featured-travel__label small {
  padding: 3px 7px;
  border: 1px solid rgba(209, 169, 78, .55);
  color: #f4e6c7;
  font-size: 10px;
  letter-spacing: .08em;
}
.tkx-featured-travel__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.tkx-featured-travel__actions a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid #b99035;
  background: rgba(0, 0, 0, .34);
  color: #f4e6c7 !important;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
}
.tkx-featured-travel__actions a:first-child {
  border-color: #c80d1c;
  background: #c80d1c;
  color: #fff !important;
}
.tkx-featured-travel__actions a:hover,
.tkx-featured-travel__actions a:focus-visible {
  transform: translateY(-1px);
  filter: brightness(1.08);
}
.tkx-featured-travel__note {
  margin: 8px 0 0;
  color: #b9b1a4;
  font-size: 10px;
  line-height: 1.55;
}
@media (max-width: 600px) {
  .tkx-featured-travel__actions {
    grid-template-columns: 1fr;
  }
}


/* HOME next-event poster card — 2026-08-29 */
.tkx-home-stage__event {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 30px 30px 26px !important;
  border: 1px solid rgba(216,173,78,.64) !important;
  border-top: 5px solid #d0001f !important;
  background:
    radial-gradient(circle at 82% 16%,rgba(180,0,22,.26),transparent 34%),
    linear-gradient(145deg,rgba(12,12,13,.98),rgba(27,18,14,.98)) !important;
  box-shadow:
    0 24px 58px rgba(0,0,0,.48),
    inset 0 0 0 1px rgba(255,255,255,.025) !important;
}
.tkx-home-stage__event::before {
  position: absolute;
  z-index: -1;
  top: -45px;
  right: -45px;
  width: 245px;
  height: 420px;
  content: "";
  opacity: .82;
  transform: skewX(-17deg);
  background:
    repeating-linear-gradient(90deg,transparent 0 23px,rgba(203,0,27,.22) 24px 27px);
  pointer-events: none;
}
.tkx-home-stage__event::after {
  position: absolute;
  z-index: 2;
  right: 14px;
  bottom: 14px;
  width: 42px;
  height: 42px;
  border-right: 2px solid rgba(215,171,76,.76);
  border-bottom: 2px solid rgba(215,171,76,.76);
  content: "";
  pointer-events: none;
}
.tkx-home-stage__event > * {
  position: relative;
  z-index: 1;
}
.tkx-home-stage__event > .tkx-overline:first-child {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 15px;
  color: #e6ba5a !important;
  font-size: 13px !important;
  letter-spacing: .18em;
}
.tkx-home-stage__event > .tkx-overline:first-child::after {
  width: 58px;
  height: 1px;
  content: "";
  background: #d7aa4e;
}
.tkx-home-stage__event h2 {
  max-width: 17em;
  margin: 0 0 18px !important;
  color: #fff !important;
  font-family: "Yu Mincho","Hiragino Mincho ProN",serif;
  font-size: clamp(27px,2.35vw,38px) !important;
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
  text-wrap: balance;
  text-shadow: 0 3px 18px rgba(0,0,0,.55);
}
.tkx-home-stage__event .tkx-featured-date {
  display: flex;
  min-height: 58px;
  align-items: baseline;
  gap: 12px;
  margin: 0;
  padding: 12px 0 10px;
  border-top: 1px solid rgba(215,171,76,.3);
  border-bottom: 1px solid rgba(215,171,76,.3);
}
.tkx-home-stage__event .tkx-featured-date strong {
  color: #f0c967 !important;
  font-family: Georgia,"Times New Roman",serif;
  font-size: 42px !important;
  font-weight: 500;
  line-height: 1;
}
.tkx-home-stage__event .tkx-featured-date span {
  color: #e5d6b8 !important;
  font-size: 14px !important;
  font-weight: 900;
  letter-spacing: .14em;
}
.tkx-home-stage__event .tkx-featured-venue {
  margin: 14px 0 0;
  padding-left: 20px;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 800;
}
.tkx-home-stage__event .tkx-featured-venue::before {
  position: absolute;
  left: 2px;
  color: #d7aa4e;
  content: "●";
  font-size: 11px;
}
.tkx-home-stage__event > .tkx-overline:nth-of-type(3) {
  margin: 13px 0 18px;
  color: #f0c967 !important;
  font-size: 14px !important;
  letter-spacing: .05em;
}
.tkx-home-stage__event .tkx-featured-links {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 10px !important;
}
.tkx-home-stage__event .tkx-featured-links a {
  display: flex !important;
  min-width: 0;
  min-height: 50px !important;
  align-items: center;
  justify-content: center;
  padding: 10px 14px !important;
  border: 1px solid rgba(215,171,76,.72) !important;
  background: rgba(5,5,6,.58) !important;
  color: #f0d99f !important;
  font-size: 15px !important;
  font-weight: 900;
  line-height: 1.35;
  text-align: center;
  text-decoration: none !important;
  white-space: normal;
  transition: filter .18s ease,transform .18s ease,background .18s ease;
}
.tkx-home-stage__event .tkx-featured-links a:nth-child(2) {
  grid-column: 1 / -1;
  grid-row: 1;
  min-height: 62px !important;
  border-color: #ef3c53 !important;
  background:
    linear-gradient(100deg,#8c0012,#d0001f 62%,#940013) !important;
  box-shadow:
    0 13px 28px rgba(151,0,20,.36),
    inset 0 1px 0 rgba(255,255,255,.16);
  color: #fff !important;
  font-size: 18px !important;
  letter-spacing: .05em;
  text-shadow: 0 2px 7px rgba(0,0,0,.45);
}
.tkx-home-stage__event .tkx-featured-links a:nth-child(2)::after {
  margin-left: 10px;
  content: "→";
  font-size: 20px;
}
.tkx-home-stage__event .tkx-featured-links a:hover,
.tkx-home-stage__event .tkx-featured-links a:focus-visible {
  filter: brightness(1.14);
  transform: translateY(-1px);
}
.tkx-home-stage__event .tkx-featured-travel {
  margin-top: 22px;
  padding: 18px 18px 15px;
  border: 1px solid rgba(215,171,76,.3);
  border-top: 1px solid rgba(215,171,76,.5);
  background:
    linear-gradient(110deg,rgba(255,255,255,.035),rgba(124,82,16,.07));
}
.tkx-home-stage__event .tkx-featured-travel__label {
  margin-bottom: 12px;
  color: #d7aa4e !important;
  font-size: 12px !important;
}
.tkx-home-stage__event .tkx-featured-travel__actions {
  gap: 9px;
}
.tkx-home-stage__event .tkx-featured-travel__actions a,
.tkx-home-stage__event .tkx-featured-travel__actions a:first-child {
  min-height: 48px;
  border: 1px solid rgba(215,171,76,.54) !important;
  background: rgba(0,0,0,.38) !important;
  color: #e9dfcc !important;
  font-size: 13px !important;
  box-shadow: none;
}
.tkx-home-stage__event .tkx-featured-travel__actions a::after {
  margin-left: 7px;
  content: "↗";
  color: #d7aa4e;
}
.tkx-home-stage__event .tkx-featured-travel__note {
  margin-top: 10px;
  color: #bfb5a4 !important;
  font-size: 12px !important;
  line-height: 1.65;
}
@media (max-width:700px) {
  .tkx-home-stage__event {
    padding: 25px 20px 22px !important;
  }
  .tkx-home-stage__event h2 {
    max-width: none;
    font-size: 27px !important;
  }
  .tkx-home-stage__event .tkx-featured-date strong {
    font-size: 38px !important;
  }
  .tkx-home-stage__event .tkx-featured-links {
    grid-template-columns: 1fr !important;
  }
  .tkx-home-stage__event .tkx-featured-links a,
  .tkx-home-stage__event .tkx-featured-links a:nth-child(2) {
    grid-column: auto;
    grid-row: auto;
    min-height: 52px !important;
    font-size: 16px !important;
  }
  .tkx-home-stage__event .tkx-featured-links a:nth-child(2) {
    grid-row: 1;
    min-height: 58px !important;
  }
  .tkx-home-stage__event .tkx-featured-travel {
    padding: 16px 14px 14px;
  }
}
