/* Membership landing page ([txk_member_landing], the /members/join/ page). Dark-first, full-bleed sections, phone-framed screenshots. */
.txk-jl { --sl-red: #DC2626; --sl-ink: #fff; --sl-muted: rgba(255,255,255,.72); --sl-line: rgba(255,255,255,.12); --sl-card: rgba(255,255,255,.06);
  color: var(--sl-ink); margin: 0; font-family: 'Instrument Sans', -apple-system, system-ui, sans-serif; }
.txk-jl * { box-sizing: border-box; }
.txk-jl ul, .txk-jl li { list-style: none !important; margin-left: 0; }
.txk-jl li::marker { content: ""; }
.txk-jl .sl-bleed { width: 100vw; margin-left: calc(50% - 50vw); }
.txk-jl .sl-wrap { max-width: 1080px; margin: 0 auto; padding: 0 20px; }
.txk-jl .sl-kicker { margin: 0 0 .6rem; font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--sl-red); }
.txk-jl h1, .txk-jl h2, .txk-jl h3 { color: var(--sl-ink); margin: 0; }
.txk-jl .sl-lede { color: var(--sl-muted); font-size: 1.12rem; line-height: 1.55; max-width: 60ch; margin: 0; }
.txk-jl .sl-btn { display: inline-flex; align-items: center; gap: .4rem; padding: .85rem 1.3rem; border-radius: 10px; font-weight: 700; font-size: 1rem; text-decoration: none !important; line-height: 1.1; border: 1px solid transparent; }
.txk-jl .sl-btn--primary { background: var(--sl-red); color: #fff !important; box-shadow: 0 8px 24px rgba(220,38,38,.3); }
.txk-jl .sl-btn--primary:hover { background: #b91c1c; }
.txk-jl .sl-btn--ghost { background: rgba(255,255,255,.08); color: #fff !important; border-color: rgba(255,255,255,.25); }
.txk-jl .sl-btn--ghost:hover { background: rgba(255,255,255,.14); }
.txk-jl .sl-btn small { font-weight: 500; opacity: .85; }
.txk-jl .sl-actions { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; margin-top: 1.4rem; }
.txk-jl .sl-fine { color: var(--sl-muted); font-size: .9rem; margin: .9rem 0 0; }
.txk-jl .sl-fine a { color: #fff; }

/* Hero */
.txk-jl .sl-hero { position: relative; overflow: hidden; background: #0d0d0d center 45% / cover no-repeat; min-height: 560px; display: flex; align-items: center; padding: 72px 0 64px; }
.txk-jl .sl-hero::before { content: ""; position: absolute; inset: 0; background:
  linear-gradient(90deg, rgba(8,8,10,.92) 0%, rgba(8,8,10,.78) 42%, rgba(8,8,10,.35) 75%, rgba(8,8,10,.15) 100%),
  linear-gradient(180deg, rgba(8,8,10,.35) 0%, rgba(8,8,10,0) 30%, rgba(8,8,10,0) 65%, rgba(13,13,13,1) 100%); }
.txk-jl .sl-hero .sl-wrap { position: relative; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 2.5rem; align-items: center; }
.txk-jl .sl-hero h1 { font-family: 'Archivo Black', Impact, sans-serif; font-size: clamp(2.4rem, 5.6vw, 4.4rem); line-height: .98; text-transform: uppercase; letter-spacing: .005em; text-shadow: 0 3px 18px rgba(0,0,0,.55); margin: 0 0 1rem; }
.txk-jl .sl-hero .sl-lede { text-shadow: 0 2px 10px rgba(0,0,0,.6); font-size: 1.18rem; }
.txk-jl .sl-live { background: rgba(10,10,12,.72); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid var(--sl-line); border-left: 5px solid var(--sl-red); border-radius: 16px; padding: 1.25rem 1.3rem; box-shadow: 0 30px 60px rgba(0,0,0,.45); }
.txk-jl .sl-live .sl-kicker { display: flex; align-items: center; gap: .5rem; }
.txk-jl .sl-live .sl-dot { width: 9px; height: 9px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 0 rgba(34,197,94,.6); animation: sl-pulse 1.8s infinite; }
@keyframes sl-pulse { 0% { box-shadow: 0 0 0 0 rgba(34,197,94,.6); } 70% { box-shadow: 0 0 0 9px rgba(34,197,94,0); } 100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); } }
.txk-jl .sl-live h2 { font-family: 'Libre Baskerville', Georgia, serif; font-size: 1.3rem; line-height: 1.3; }
.txk-jl .sl-live .sl-time { color: var(--sl-muted); font-size: .9rem; margin: .5rem 0 0; }
.txk-jl .sl-live .sl-lock { margin: .9rem 0 0; padding-top: .8rem; border-top: 1px solid var(--sl-line); color: var(--sl-muted); font-size: .92rem; }
.txk-jl .sl-live .sl-lock a { color: #fff; font-weight: 600; }

/* Coverage chips */
.txk-jl .sl-coverage { padding: 1.6rem 0; border-bottom: 1px solid var(--sl-line); }
.txk-jl .sl-coverage .sl-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .6rem; }
.txk-jl .sl-coverage span { color: var(--sl-muted); font-size: .9rem; margin-right: .4rem; }
.txk-jl .sl-chip { font-size: .85rem; font-weight: 600; padding: .35rem .75rem; border-radius: 999px; border: 1px solid var(--sl-line); background: var(--sl-card); }

/* Features */
.txk-jl .sl-features { padding: 3.5rem 0 1rem; }
.txk-jl .sl-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2.5rem 4rem; align-items: center; padding: 2.4rem 0; border-bottom: 1px solid var(--sl-line); }
.txk-jl .sl-feature:last-child { border-bottom: 0; }
.txk-jl .sl-feature--flip .sl-feature__media { order: -1; }
.txk-jl .sl-feature h2 { font-family: 'Libre Baskerville', Georgia, serif; font-size: clamp(1.5rem, 2.6vw, 2.1rem); line-height: 1.2; margin: 0 0 .8rem; }
.txk-jl .sl-feature p { color: var(--sl-muted); font-size: 1.05rem; line-height: 1.6; margin: 0; }
.txk-jl .sl-feature ul { margin: .9rem 0 0; padding: 0; list-style: none; display: grid; gap: .4rem; }
.txk-jl .sl-feature li { color: var(--sl-muted); font-size: .98rem; padding-left: 1.4rem; position: relative; }
.txk-jl .sl-feature li::before { content: "✓"; position: absolute; left: 0; color: var(--sl-red); font-weight: 700; }
.txk-jl .sl-feature__media { display: flex; justify-content: center; }
.txk-jl .sl-phone { width: min(330px, 100%); aspect-ratio: 780 / 1150; border-radius: 40px; border: 9px solid #1b1b1e; background: #0b0b0c; overflow: hidden; box-shadow: 0 30px 70px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.08); position: relative; }
.txk-jl .sl-phone::after { content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 110px; height: 26px; background: #000; border-radius: 0 0 16px 16px; }
.txk-jl .sl-phone img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.txk-jl .sl-phone--short { aspect-ratio: 780 / 1080; }
.txk-jl .sl-browser { width: min(520px, 100%); border-radius: 14px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); box-shadow: 0 30px 70px rgba(0,0,0,.6); background: #F3F4F6; }
.txk-jl .sl-browser__bar { height: 30px; background: #1b1b1e; display: flex; align-items: center; gap: 6px; padding: 0 12px; }
.txk-jl .sl-browser__bar i { width: 10px; height: 10px; border-radius: 50%; background: #3a3a3f; display: block; }
.txk-jl .sl-browser__bar i:nth-child(1) { background: #ff5f57; } .txk-jl .sl-browser__bar i:nth-child(2) { background: #febc2e; } .txk-jl .sl-browser__bar i:nth-child(3) { background: #28c840; }
.txk-jl .sl-browser img { width: 100%; height: auto; display: block; max-height: 560px; object-fit: cover; object-position: top; }

/* Trust */
.txk-jl .sl-trust { padding: 2.5rem 0 3rem; }
.txk-jl .sl-trust .sl-wrap { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.txk-jl .sl-trust h2 { grid-column: 1 / -1; font-family: 'Libre Baskerville', Georgia, serif; font-size: 1.5rem; margin-bottom: .4rem; }
.txk-jl .sl-trust article { background: var(--sl-card); border: 1px solid var(--sl-line); border-radius: 14px; padding: 1.1rem 1.15rem; }
.txk-jl .sl-trust h3 { font-size: 1rem; margin: 0 0 .35rem; }
.txk-jl .sl-trust p { color: var(--sl-muted); font-size: .93rem; line-height: 1.5; margin: 0; }

/* Tiers */
.txk-jl .sl-tiers { position: relative; padding: 4rem 0; background: #0d0d0d center / cover no-repeat; }
.txk-jl .sl-tiers::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,13,13,1) 0%, rgba(8,8,10,.78) 25%, rgba(8,8,10,.78) 75%, rgba(13,13,13,1) 100%); }
.txk-jl .sl-tiers .sl-wrap { position: relative; }
.txk-jl .sl-tiers h2 { font-family: 'Archivo Black', Impact, sans-serif; text-transform: uppercase; font-size: clamp(1.8rem, 3.6vw, 2.6rem); line-height: 1; margin: 0 0 .6rem; text-shadow: 0 3px 18px rgba(0,0,0,.55); }
.txk-jl .sl-tiers .sl-lede { margin-bottom: 2rem; }
.txk-jl .sl-tier-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.txk-jl .sl-tier { background: rgba(10,10,12,.78); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border: 1px solid var(--sl-line); border-radius: 16px; padding: 1.4rem 1.3rem; display: flex; flex-direction: column; position: relative; }
.txk-jl .sl-tier--featured { border-color: var(--sl-red); box-shadow: 0 20px 50px rgba(220,38,38,.18); }
.txk-jl .sl-tier__flag { position: absolute; top: -12px; left: 1.2rem; background: var(--sl-red); color: #fff; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: .25rem .6rem; border-radius: 999px; }
.txk-jl .sl-tier h3 { font-size: 1.25rem; margin: 0 0 .15rem; }
.txk-jl .sl-tier .sl-price { font-family: 'Archivo Black', Impact, sans-serif; font-size: 2.1rem; line-height: 1; margin: .5rem 0 .2rem; }
.txk-jl .sl-tier .sl-price small { font-family: 'Instrument Sans', sans-serif; font-weight: 500; font-size: .95rem; color: var(--sl-muted); }
.txk-jl .sl-tier .sl-yearly { color: var(--sl-muted); font-size: .85rem; margin: 0 0 .9rem; }
.txk-jl .sl-tier ul { list-style: none; margin: 0 0 1.2rem; padding: 0; display: grid; gap: .45rem; flex: 1; }
.txk-jl .sl-tier li { padding-left: 1.4rem; position: relative; font-size: .95rem; color: rgba(255,255,255,.88); }
.txk-jl .sl-tier li::before { content: "✓"; position: absolute; left: 0; color: var(--sl-red); font-weight: 700; }
.txk-jl .sl-tier li.sl-dim { color: var(--sl-muted); }
.txk-jl .sl-tier li.sl-dim::before { content: "+"; }
.txk-jl .sl-tier .sl-btn { justify-content: center; }

/* Final CTA */
.txk-jl .sl-cta { position: relative; padding: 4.5rem 0; background: #0d0d0d center 40% / cover no-repeat; text-align: center; }
.txk-jl .sl-cta::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,13,13,1) 0%, rgba(8,8,10,.6) 30%, rgba(8,8,10,.6) 70%, rgba(13,13,13,1) 100%); }
.txk-jl .sl-cta .sl-wrap { position: relative; max-width: 720px; }
.txk-jl .sl-cta h2 { font-family: 'Archivo Black', Impact, sans-serif; text-transform: uppercase; font-size: clamp(1.8rem, 4vw, 2.8rem); line-height: 1; text-shadow: 0 3px 18px rgba(0,0,0,.6); margin: 0 0 .8rem; }
.txk-jl .sl-cta .sl-lede { margin: 0 auto; text-shadow: 0 2px 10px rgba(0,0,0,.6); }
.txk-jl .sl-cta .sl-actions { justify-content: center; }

@media (max-width: 860px) {
  .txk-jl .sl-hero { min-height: 0; padding: 56px 0 48px; background-position: 62% 45%; }
  .txk-jl .sl-hero .sl-wrap { grid-template-columns: 1fr; gap: 1.6rem; }
  .txk-jl .sl-feature { grid-template-columns: 1fr; gap: 1.6rem; padding: 2rem 0; }
  .txk-jl .sl-feature--flip .sl-feature__media { order: 0; }
  .txk-jl .sl-trust .sl-wrap { grid-template-columns: 1fr 1fr; }
  .txk-jl .sl-tier-grid { grid-template-columns: 1fr; }
  .txk-jl .sl-phone { width: min(290px, 100%); }
}
@media (max-width: 520px) {
  .txk-jl .sl-trust .sl-wrap { grid-template-columns: 1fr; }
  .txk-jl .sl-actions .sl-btn { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .txk-jl .sl-live .sl-dot { animation: none; } }

/* Join-page extras: member banner, "why" cards, FAQ */
.txk-jl .jl-banner { background: rgba(220,38,38,.12); border: 1px solid rgba(220,38,38,.4); border-radius: 12px; padding: .9rem 1.1rem; margin: 0 0 1.5rem; display: flex; flex-wrap: wrap; gap: .6rem 1rem; align-items: center; justify-content: space-between; }
.txk-jl .jl-banner p { margin: 0; color: #fff; }
.txk-jl .jl-why { padding: 3rem 0 1rem; }
.txk-jl .jl-why .sl-wrap { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.txk-jl .jl-why h2 { grid-column: 1 / -1; font-family: 'Libre Baskerville', Georgia, serif; font-size: clamp(1.5rem, 2.6vw, 2.1rem); margin: 0 0 .4rem; }
.txk-jl .jl-why article { background: var(--sl-card); border: 1px solid var(--sl-line); border-radius: 14px; padding: 1.2rem 1.2rem 1.3rem; }
.txk-jl .jl-why .jl-num { font-family: 'Archivo Black', Impact, sans-serif; font-size: 2rem; line-height: 1; color: var(--sl-red); margin: 0 0 .5rem; }
.txk-jl .jl-why h3 { font-size: 1.05rem; margin: 0 0 .35rem; }
.txk-jl .jl-why p { color: var(--sl-muted); font-size: .95rem; line-height: 1.55; margin: 0; }
.txk-jl .jl-faq { padding: 3rem 0 3.5rem; }
.txk-jl .jl-faq .sl-wrap { max-width: 820px; }
.txk-jl .jl-faq h2 { font-family: 'Libre Baskerville', Georgia, serif; font-size: clamp(1.5rem, 2.6vw, 2.1rem); margin: 0 0 1rem; }
.txk-jl .jl-faq details { border-top: 1px solid var(--sl-line); }
.txk-jl .jl-faq details:last-of-type { border-bottom: 1px solid var(--sl-line); }
.txk-jl .jl-faq summary { list-style: none; cursor: pointer; padding: 1rem 2rem 1rem 0; font-weight: 600; font-size: 1.05rem; position: relative; }
.txk-jl .jl-faq summary::-webkit-details-marker { display: none; }
.txk-jl .jl-faq summary::after { content: "+"; position: absolute; right: .2rem; top: .9rem; font-size: 1.4rem; color: var(--sl-muted); }
.txk-jl .jl-faq details[open] summary::after { content: "–"; }
.txk-jl .jl-faq details p { margin: 0 0 1rem; color: var(--sl-muted); line-height: 1.6; }
.txk-jl .jl-faq details p a { color: #fff; }
.txk-jl .sl-feature .jl-cards { display: grid; gap: .7rem; width: min(420px, 100%); }
.txk-jl .sl-feature .jl-cards article { background: var(--sl-card); border: 1px solid var(--sl-line); border-left: 4px solid var(--sl-red); border-radius: 12px; padding: .9rem 1rem; }
.txk-jl .sl-feature .jl-cards h3 { font-size: 1rem; margin: 0 0 .25rem; }
.txk-jl .sl-feature .jl-cards p { font-size: .92rem; }
@media (max-width: 860px) { .txk-jl .jl-why .sl-wrap { grid-template-columns: 1fr; } }
/* The theme sets overflow-wrap:anywhere on headings; never break "INDEPENDENT" mid-word */
.txk-jl h1, .txk-jl h2, .txk-jl h3 { overflow-wrap: normal; word-break: normal; hyphens: manual; }
.txk-jl .sl-hero h1 { font-size: clamp(2.1rem, 4.4vw, 3.6rem); }
.txk-jl .sl-hero { background-position: center 35%; }
.txk-jl .sl-hero .sl-wrap { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
@media (max-width: 860px) { .txk-jl .sl-hero .sl-wrap { grid-template-columns: 1fr; } .txk-jl .sl-hero .sl-feature__media { margin-top: .5rem; } }

/* 1.2.0: gift strip + business section */
.txk-jl .jl-gift { padding: 2.5rem 0 .5rem; }
.txk-jl .jl-gift .sl-wrap { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 1.5rem; align-items: center; background: var(--sl-card); border: 1px solid var(--sl-line); border-left: 4px solid var(--sl-red); border-radius: 14px; padding: 1.4rem 1.5rem; }
.txk-jl .jl-gift h2 { font-family: 'Libre Baskerville', Georgia, serif; font-size: clamp(1.4rem, 2.4vw, 1.9rem); margin: 0 0 .4rem; }
.txk-jl .jl-gift p { color: var(--sl-muted); line-height: 1.55; margin: 0; }
.txk-jl .jl-gift__cta { text-align: center; }
.txk-jl .jl-gift__cta .sl-fine { margin: .6rem 0 0; }
.txk-jl .jl-biz { padding: 3rem 0 1rem; }
.txk-jl .jl-biz h2 { font-family: 'Libre Baskerville', Georgia, serif; font-size: clamp(1.5rem, 2.6vw, 2.1rem); margin: 0 0 .4rem; }
.txk-jl .jl-biz .sl-lede { color: var(--sl-muted); max-width: 760px; }
.txk-jl .jl-biz__points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0 2rem; }
.txk-jl .jl-biz__points article { background: var(--sl-card); border: 1px solid var(--sl-line); border-radius: 14px; padding: 1.1rem 1.2rem; }
.txk-jl .jl-biz__points h3 { font-size: 1.02rem; margin: 0 0 .3rem; }
.txk-jl .jl-biz__points p { color: var(--sl-muted); font-size: .95rem; line-height: 1.55; margin: 0; }
.txk-jl .jl-biz__chips { display: flex; flex-wrap: wrap; gap: .4rem; margin: .6rem 0 .2rem; }
.txk-jl .jl-biz__chips span { font-size: .78rem; font-weight: 600; letter-spacing: .01em; background: rgba(255,255,255,.08); border: 1px solid var(--sl-line); border-radius: 999px; padding: .2rem .6rem; }
@media (max-width: 860px) { .txk-jl .jl-gift .sl-wrap { grid-template-columns: 1fr; } .txk-jl .jl-biz__points { grid-template-columns: 1fr; } }

/* 1.2.2: the landing is dark-first but only hero/tiers/cta paint their own background; the other sections sat on the
   theme's light page background in light mode (white on white). Paint the whole block dark, full bleed. */
.txk-jl { background: #0d0d0d; box-shadow: 0 0 0 100vmax #0d0d0d; clip-path: inset(0 -100vmax); }
