.tn-label { padding: 2px 2px 0; }
.ph-island .tn-pay { width: auto; height: 22px; margin-top: 3px; }
.tn-code { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 5px; }
.tn-code i { position: relative; height: 30px; border-radius: 9px; background: var(--card); border: 1px solid var(--line); }
.tn-code i.on { border-color: var(--blue-info); }
.tn-code i.on::after { content: ''; position: absolute; left: 50%; top: 50%; width: 7px; height: 7px; margin: -3.5px 0 0 -3.5px; border-radius: 50%; background: var(--ink-2); }

.tn-join { padding: 36px 0 var(--sec); }
.tn-join .wrap { max-width: 940px; }
.tn-join .step-row { padding: 0; }
.tn-join .step-h { font-size: clamp(24px, 1.2vw + 19px, 32px); }

.ct-page { padding-bottom: 40px; }
.ct-grid { display: grid; gap: 12px; max-width: 480px; margin: 0 auto; }
.ct-grid .tile-sub { color: var(--ink-2); font-weight: 600; }
.ct-map { display: inline-block; padding: 6px 0; margin: -6px 0; color: var(--ink); text-decoration: underline; text-decoration-color: var(--coral); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.ct-social { max-width: 660px; margin: 20px auto 0; text-align: center; }
.ct-social h2 { font-size: clamp(24px, 1vw + 20px, 32px); }
.ct-social p { margin-top: 8px; font-size: 15.5px; line-height: 1.6; color: var(--muted); }
.ct-social .socials { justify-content: center; margin-top: 18px; }

@media (min-width: 761px) {
  .tn-join { padding-top: 56px; }
}

@media (min-width: 861px) {
  .ct-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1000px; gap: 16px; }
  .ct-social { margin-top: 28px; }
}

@media (min-width: 1025px) {
  .tn-stage .float-card { left: auto; right: -12px; }
  .tn-stage .float-card.top { left: -30px; right: auto; }
  .tn-stage .page-hero-cat { left: -26px; right: auto; transform: none; }
}

@media (prefers-reduced-motion: no-preference) and (min-width: 861px) {
  .ct-grid > .reveal:nth-child(2) { --rd: 70ms; }
  .ct-grid > .reveal:nth-child(3) { --rd: 140ms; }
}
