/* 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;
  }
}

/* V5 discovery-first home */
.tkx-v5-entrances{padding:clamp(52px,7vw,92px) 0;background:#f6f1e8;color:#181818}
.tkx-v5-entrances .tkx-heading{margin-bottom:28px}
.tkx-v5-entrances__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tkx-v5-entrances__grid a{display:flex;flex-direction:column;min-height:220px;padding:30px;background:#fff;border:1px solid #e0d8c9;border-top:4px solid #b50020;color:#201b17;text-decoration:none;box-shadow:0 8px 24px rgba(30,20,10,.06);transition:transform .2s,box-shadow .2s}
.tkx-v5-entrances__grid a:hover,.tkx-v5-entrances__grid a:focus-visible{transform:translateY(-4px);box-shadow:0 16px 32px rgba(30,20,10,.12)}
.tkx-v5-entrances__grid small{color:#a0001a;font-weight:800;letter-spacing:.13em}
.tkx-v5-entrances__grid strong{font-size:clamp(25px,3vw,36px);line-height:1.25;margin:18px 0 12px}
.tkx-v5-entrances__grid span{line-height:1.75;flex:1}
.tkx-v5-entrances__grid b{margin-top:22px;color:#a0001a}
.tkx-home-stage__intro h1{max-width:11em;line-height:1.28}
@media(max-width:800px){.tkx-v5-entrances__grid{grid-template-columns:1fr}.tkx-v5-entrances__grid a{min-height:0;padding:24px}.tkx-home-stage__intro h1{font-size:clamp(34px,9vw,52px)!important}}

.tkx-v5-result{padding:48px 0;background:#191615;color:#fff;border-top:1px solid #be9b4d}
.tkx-v5-result__inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.tkx-v5-result h2{font-family:serif;font-size:clamp(28px,3.2vw,42px);color:#fff;margin:8px 0}
.tkx-v5-result p{margin:0;color:#e6d8bf}
.tkx-v5-result__links{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.tkx-v5-result__links .tkx-text-link{color:#f0d99f}
@media(max-width:800px){.tkx-v5-result__inner{align-items:stretch;flex-direction:column}.tkx-v5-result__links{align-items:stretch;flex-direction:column}.tkx-v5-result__links a{justify-content:center}}
.tkx-home-stage__intro .tkx-actions{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px}
.tkx-home-stage__intro .tkx-actions .tkx-btn{min-width:0!important;width:auto!important;justify-content:center;padding-inline:14px}
@media(max-width:700px){.tkx-home-stage__intro .tkx-actions{grid-template-columns:1fr 1fr}.tkx-home-stage__intro .tkx-actions .tkx-btn:first-child{grid-column:1/-1}}

.tkx-v5-popular{padding:56px 0;background:#fff;color:#191510}
.tkx-v5-popular .tkx-heading{margin-bottom:24px}
.tkx-v5-popular__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tkx-v5-popular__grid a{display:flex;flex-direction:column;min-height:205px;padding:25px;border:1px solid #dfd7c9;background:#faf7f0;color:#191510;text-decoration:none}
.tkx-v5-popular__grid small{color:#a30018;font-weight:800;letter-spacing:.1em}
.tkx-v5-popular__grid strong{font-size:21px;line-height:1.4;margin:15px 0;flex:1}
.tkx-v5-popular__grid span{color:#6c6254;font-size:13px}
.tkx-v5-popular__grid b{color:#a30018;margin-top:15px}
.tkx-v5-popular__grid a:hover,.tkx-v5-popular__grid a:focus-visible{border-color:#a30018;box-shadow:0 10px 24px rgba(40,20,10,.1)}
@media(max-width:800px){.tkx-v5-popular__grid{grid-template-columns:1fr}.tkx-v5-popular__grid a{min-height:0}}

/* Keep small labels, links, and numbered steps legible on their cards. */
body.tkx-v4-front .tkx-trip-pick small{color:#72521d!important}
body.tkx-v4-front .tkx-v5-result__links .tkx-text-link{color:#f0d99f!important}
body.tkx-v4-front .tkx-era-grid a b{color:#625447!important}
body.tkx-v4-front .tkx-predict-flow a b{color:#9b0016!important}
