

.ra-header .ra-nav { flex-wrap: wrap; row-gap: 0; }
.ra-header .ra-nav a { flex-shrink: 0; }

.ra-footer__links a[aria-current] { color: var(--text); }

.tk { padding-block-end: 0; }

:where(.tk) :is(p, h3, h4, ul, ol, dl, dd, figure, blockquote) { margin: 0; }
.tk-no { color: var(--link); margin-inline-end: var(--space-3); }

.tk-head { padding-block-start: var(--space-7); }
@media (min-width: 760px) { .tk-head { padding-block-start: var(--space-8); } }

.tk-head__grid {
  display: grid; row-gap: var(--space-4); grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "sig" "title" "photo" "lead" "more" "jump";
}
.tk-head__text { display: contents; }
.tk-sig { grid-area: sig; }
.tk-title { grid-area: title; max-width: 18ch; text-wrap: balance; }
.tk-lead { grid-area: lead; text-wrap: pretty; }
.tk-more { grid-area: more; max-width: var(--text-max); font-size: var(--fs-body); line-height: var(--lh-body); color: var(--text-muted); text-wrap: pretty; }
.tk-photo { grid-area: photo; display: grid; gap: var(--space-2); align-content: start; min-width: 0; margin-block: var(--space-2); }
.tk-photo .shot { position: relative; }
.tk-photo figcaption { color: var(--text-muted); }
@media (min-width: 900px) {
  .tk-head__grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); column-gap: var(--space-8);
    grid-template-areas: "sig photo" "title photo" "lead photo" "more photo" "jump photo";
  }
  .tk-photo { align-self: center; margin-block: 0; }
}

.tk-jump { grid-area: jump; display: flex; flex-wrap: wrap; column-gap: var(--space-5); margin-block-start: var(--space-1); }
.tk-jump a { display: inline-flex; align-items: center; min-height: 44px; color: var(--text-muted); text-decoration: underline; text-decoration-color: var(--border); text-underline-offset: .35em; transition: color var(--dur-fast) var(--ease-out); }
@media (hover: hover) { .tk-jump a:hover { color: var(--text); text-decoration-color: currentColor; } }

.tk-wow {
  --tk-angle: 90deg;
  height: 2px; margin-block-start: var(--space-7); border-radius: 1px;
  background: linear-gradient(var(--tk-angle), var(--ra-g-magenta), var(--ra-g-violet) 35%, var(--ra-g-indigo) 68%, var(--ra-g-blue));
  transform-origin: 0 50%;
}
[dir="rtl"] .tk-wow { --tk-angle: 270deg; transform-origin: 100% 50%; }
.motion-ok .tk-wow { animation: tk-draw 1100ms var(--ease-out) 360ms both; }
@keyframes tk-draw { from { transform: scaleX(0); } }

.tk-sec { padding-block: var(--space-8); border-block-start: 1px solid var(--border); }
.tk-head + .tk-sec { border-block-start: 0; }
@media (min-width: 760px) { .tk-sec { padding-block: var(--space-9); } }
.tk-sec__head { display: grid; gap: var(--space-3); max-width: var(--text-max); margin-block-end: var(--space-6); }
.tk-sec__intro { color: var(--text-muted); text-wrap: pretty; }

.tk-talks { display: grid; border-block-end: 1px solid var(--border); }
.tk-talk { display: grid; gap: var(--space-4); padding-block: var(--space-7); border-block-start: 1px solid var(--border); }
.tk-talk__main { display: grid; gap: var(--space-6); min-width: 0; }
@media (min-width: 900px) {
  .tk-talk { grid-template-columns: 172px minmax(0, 1fr); column-gap: var(--space-6); align-items: start; }
  .tk-kind { position: sticky; top: calc(var(--head-h) + var(--space-5)); padding-block-start: 6px; }
}

.tk-body { display: grid; gap: var(--space-5); }
@media (min-width: 1100px) { .tk-body { grid-template-columns: minmax(0, 1fr) minmax(0, .92fr); column-gap: var(--space-7); align-items: start; } }
.tk-text { display: grid; gap: var(--space-3); align-content: start; max-width: var(--text-max); }
.tk-talk__title { text-wrap: balance; }
.tk-text p { text-wrap: pretty; }
.tk-aside { font-size: var(--fs-small); line-height: 1.6; color: var(--text-muted); }

.tk-take { display: grid; gap: var(--space-3); align-content: start; min-width: 0; }
.tk-take__list { list-style: none; padding: 0; border-block-start: 1px solid var(--border); }
.tk-take__list li {
  position: relative; padding-block: var(--space-3); padding-inline-start: var(--space-5); border-block-end: 1px solid var(--border);
  font-size: var(--fs-small); line-height: 1.5; color: var(--text); text-wrap: pretty;
}
.tk-take__list li::before {
  content: ""; position: absolute; inset-inline-start: 0; top: calc(var(--space-3) + .75em); width: 10px; height: 1px; background: var(--link);
}

.tk-foot { display: grid; gap: var(--space-5); min-width: 0; }
.tk-facts { display: grid; gap: var(--space-4); max-width: var(--text-max); }
.tk-facts > div { display: grid; gap: var(--space-2); }
.tk-facts dt { font: 500 var(--fs-mono)/1.4 var(--font-mono); letter-spacing: var(--tracking-mono); text-transform: uppercase; color: var(--text-muted); }
.tk-facts dd { margin: 0; font-size: var(--fs-small); line-height: 1.6; color: var(--text-muted); text-wrap: pretty; }
@media (min-width: 600px) { .tk-facts > div { grid-template-columns: 84px minmax(0, 1fr); column-gap: var(--space-4); align-items: baseline; } }

.tk-chips { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-2); }
.tk-chips li { padding: 3px var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--text-muted); line-height: 1.5; }

.tk-links { list-style: none; padding: 0; display: grid; max-width: 32rem; border-block-start: 1px solid var(--border); }
.tk-links li { border-block-end: 1px solid var(--border); }
.tk-links a { display: flex; align-items: center; gap: var(--space-3); min-height: 48px; padding-block: var(--space-2); color: var(--link); text-decoration: none; font: 500 var(--fs-small)/1.4 var(--font-body); }
.tk-lbl { margin-inline-end: auto; }
.tk-tag { font: 400 var(--fs-mono)/1.4 var(--font-mono); color: var(--text-muted); white-space: nowrap; }
.tk-arrow { display: inline-block; transition: transform var(--dur-fast) var(--ease-out); }
[dir="rtl"] .tk-arrow:not(.tk-arrow--down) { transform: scaleX(-1); }
@media (hover: hover) {
  .tk-links a:hover .tk-lbl { text-decoration: underline; text-underline-offset: 3px; }
  .tk-links a:hover .tk-arrow { transform: translateX(3px); }
  [dir="rtl"] .tk-links a:hover .tk-arrow { transform: scaleX(-1) translateX(3px); }
  .tk-links a:hover .tk-arrow--down, [dir="rtl"] .tk-links a:hover .tk-arrow--down { transform: translateY(2px); }
}

.tk-variant { display: grid; gap: var(--space-4); padding: var(--space-5); }
@media (min-width: 760px) { .tk-variant { padding: var(--space-6); } }
.tk-variant__title { font: 600 var(--fs-h3)/var(--lh-head) var(--font-display); letter-spacing: var(--tracking-display); color: var(--text); text-wrap: balance; }

.tk-pair { gap: var(--space-7); }
.tk-sub { display: grid; gap: var(--space-5); align-content: start; min-width: 0; }
.tk-sub + .tk-sub { padding-block-start: var(--space-7); border-block-start: 1px solid var(--border); }
@media (min-width: 1100px) {
  .tk-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-7); }
  .tk-sub + .tk-sub { padding-block-start: 0; border-block-start: 0; padding-inline-start: var(--space-7); border-inline-start: 1px solid var(--border); }
  .tk-sub .tk-facts > div { grid-template-columns: minmax(0, 1fr); }
}

.tk-videos { display: grid; gap: var(--space-7); }
@media (min-width: 760px) { .tk-videos { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-6); } }
.tk-video__title { font: 600 var(--fs-body)/var(--lh-head) var(--font-display); letter-spacing: -.005em; color: var(--text); text-wrap: balance; }

.tk-course .tk-chips { margin-block-start: var(--space-2); }
.tk-course__grid { display: grid; gap: var(--space-7); }
@media (min-width: 1000px) { .tk-course__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); column-gap: var(--space-8); align-items: start; } }
.tk-course__text { display: grid; gap: var(--space-5); align-content: start; max-width: var(--text-max); }
.tk-course__text > p:first-child { color: var(--text-muted); text-wrap: pretty; }

.tk-course__line {
  padding-inline-start: var(--space-4); border-inline-start: 2px solid var(--link);
  font: 600 var(--fs-h3)/var(--lh-head) var(--font-display); letter-spacing: var(--tracking-display); color: var(--text); text-wrap: balance;
}
.tk-course__plan { display: grid; gap: var(--space-3); align-content: start; min-width: 0; }
.tk-modules { list-style: none; padding: 0; border-block-start: 1px solid var(--border); }
.tk-modules li {
  display: grid; grid-template-columns: 2rem minmax(0, 1fr); align-items: baseline; padding-block: var(--space-3);
  border-block-end: 1px solid var(--border); font-size: var(--fs-small); line-height: 1.5; color: var(--text); text-wrap: pretty;
}
.tk-modules .tk-no { margin: 0; font: 500 var(--fs-mono)/1.5 var(--font-mono); }

.tk-proof { display: grid; gap: var(--space-8); }
@media (min-width: 1000px) { .tk-proof { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); column-gap: var(--space-8); align-items: start; } }
.tk-where, .tk-feedback { display: grid; gap: var(--space-5); align-content: start; min-width: 0; }

.tk-venues { list-style: none; padding: 0; border-block-start: 1px solid var(--border); }
.tk-venues li {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-1) var(--space-4);
  padding-block: var(--space-3); border-block-end: 1px solid var(--border);
  font: 600 var(--fs-lead)/var(--lh-head) var(--font-display); color: var(--text);
}
.tk-feedback__src { margin-block-start: calc(-1 * var(--space-2)); }

.tk-quotes { display: grid; gap: var(--space-5); }
.tk-quote { padding-inline-start: var(--space-5); border-inline-start: 1px solid var(--border); }
.tk-quote p { max-width: var(--text-max); color: var(--text); text-wrap: pretty; }
.tk-quote p::before { content: "\201C"; }
.tk-quote p::after { content: "\201D"; }
.tk-quote:first-child p { font: 500 var(--fs-lead)/1.5 var(--font-display); letter-spacing: -.005em; }

.tk-end { display: grid; justify-items: start; gap: var(--space-5); padding-block-end: var(--space-8); }
.tk-end__title { max-width: 20ch; text-wrap: balance; }
.tk-end__line { text-wrap: pretty; }
.tk-end__cta { display: flex; margin-block-start: var(--space-2); }
@media (max-width: 519px) { .tk-end__cta, .tk-end__cta .ra-btn-wrap, .tk-end__cta .ra-btn { width: 100%; } }
@media (max-width: 399px) { .tk-end__cta .ra-btn { padding-inline: var(--space-4); } }
.tk-end__or { display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--space-5); }
.tk-end__or a { display: inline-flex; align-items: center; min-height: 44px; color: var(--link); text-underline-offset: .3em; }

.tk-dock {
  position: fixed; z-index: 50;
  inset-block-end: max(var(--space-4), env(safe-area-inset-bottom));
  inset-inline-end: var(--space-4);
  opacity: 0; visibility: hidden; transform: translateY(12px);
  transition: opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), visibility 0s linear var(--dur-fast);
}
.tk-dock.is-shown { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.tk-dock .ra-btn--t2 { background-color: var(--bg); }
.tk-dock .ra-btn--t2:not(:focus-visible) { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 8px 24px -8px rgba(0, 0, 0, .6); }
[data-theme="light"] .tk-dock .ra-btn--t2:not(:focus-visible) { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 8px 24px -10px rgba(21, 20, 26, .35); }
@media (min-width: 720px) { .tk-dock { display: none; } }

@media (prefers-reduced-motion: reduce) {
  .tk-wow { animation: none !important; }
  .tk-arrow, .tk-jump a, .tk-dock { transition: none; }
  .tk-dock { transform: none; }
}

@media print {
  .tk-dock, .tk-jump { display: none !important; }
  .tk-kind { position: static; }
  .tk-talk, .tk-sub, .tk-variant, .tk-quote, .video { break-inside: avoid; }
}
