/* Layered homepage hero motion. All surfaces stay light for readability. */
.tkl-home-v2 .tkl-home-hero { padding-top:34px; padding-bottom:28px; }
.tkl-home-v2 .tkl-home-hero__inner { position:relative; grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr); min-height:520px; overflow:hidden; border:1px solid #e5e2eb; background:#fff; }
.tkl-home-v2 .tkl-home-hero__copy { z-index:2; min-height:520px; justify-content:flex-start; border-right:1px solid #e7e3ed; padding:clamp(38px,5vw,68px); }
.tkl-home-v2 .tkl-home-hero__eyebrow { margin-bottom:22px; }
.tkl-home-v2 .tkl-home-hero__title { max-width:650px; font-size:clamp(42px,5.15vw,68px); letter-spacing:-.055em; line-height:1.12; }
.tkl-home-v2 .tkl-home-hero__title span { display:block; width:max-content; max-width:100%; color:#4c5fd4; animation-duration:13s; animation-timing-function:cubic-bezier(.2,.7,.2,1); animation-iteration-count:infinite; }
.tkl-home-v2 .tkl-home-hero__title span:nth-child(1) { animation-name:tkl-hero-title-one; }
.tkl-home-v2 .tkl-home-hero__title span:nth-child(2) { animation-name:tkl-hero-title-two; }
.tkl-home-v2 .tkl-home-hero__title span:nth-child(3) { animation-name:tkl-hero-title-three; }
.tkl-home-v2 .tkl-home-hero__description { margin-top:20px; font-size:clamp(15px,1.3vw,18px); }
.tkl-home-v2 .tkl-home-hero__description p { margin:0; animation-duration:13s; animation-timing-function:cubic-bezier(.2,.7,.2,1); animation-iteration-count:infinite; }
.tkl-home-v2 .tkl-home-hero__description p:nth-child(1) { animation-name:tkl-hero-description-one; }
.tkl-home-v2 .tkl-home-hero__description p:nth-child(2) { animation-name:tkl-hero-description-two; }
.tkl-home-v2 .tkl-home-hero__inner--has-stats .tkl-home-hero__stats { position:absolute; z-index:3; inset:auto 0 30px; margin:0; padding:16px 18px; border:1px solid #e8e0f3; border-radius:16px; background:#fff; box-shadow:0 8px 24px #4d287c12; opacity:0; animation:tkl-hero-stats-in 13s ease-in-out infinite; }
.tkl-home-v2 .tkl-home-hero__stats-heading { margin:0 0 10px; color:#4c5fd4; font-size:13px; font-weight:800; }
.tkl-home-v2 .tkl-home-hero__stats-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.tkl-home-v2 .tkl-home-hero__stat { display:flex; flex-direction:column; gap:3px; padding-left:12px; border-left:3px solid #f02c8c; opacity:0; transform:translateY(8px); animation:tkl-hero-stat-in 13s ease-out infinite; }
.tkl-home-v2 .tkl-home-hero__stat:nth-child(2) { border-color:#f5c400; }
.tkl-home-v2 .tkl-home-hero__stat:nth-child(3) { border-color:#19aeea; }
.tkl-home-v2 .tkl-home-hero__stat:nth-child(1) { animation-name:tkl-hero-stat-one; }
.tkl-home-v2 .tkl-home-hero__stat:nth-child(2) { animation-name:tkl-hero-stat-two; }
.tkl-home-v2 .tkl-home-hero__stat:nth-child(3) { animation-name:tkl-hero-stat-three; }
.tkl-home-v2 .tkl-home-hero__stat strong { color:#191522; font-size:clamp(20px,2.3vw,30px); font-weight:900; line-height:1.2; }
.tkl-home-v2 .tkl-home-hero__stat strong span { color:#f02c8c; }
.tkl-home-v2 .tkl-home-hero__stat > span { color:#655d70; font-size:12px; font-weight:700; }
.tkl-home-v2 .tkl-home-hero__visual { min-height:520px; overflow:hidden; background:linear-gradient(135deg,#fff 0%,#fff 62%,#faf8ff 62%,#faf8ff 100%); }
.tkl-home-v2 .tkl-home-hero__mascots { position:absolute; z-index:2; right:1%; bottom:-2%; display:block; width:min(96%,660px); height:auto; max-height:96%; object-fit:contain; animation:tkl-hero-mascot-breathe 5s ease-in-out infinite; }
.tkl-home-v2 .tkl-home-hero__ink { position:absolute; z-index:1; display:block; width:clamp(170px,27vw,350px); height:auto; object-fit:contain; pointer-events:none; }
.tkl-home-v2 .tkl-home-hero__ink--purple { top:2%; right:6%; animation:tkl-hero-ink-drift 9s ease-in-out -1s infinite; }
.tkl-home-v2 .tkl-home-hero__ink--pink { top:33%; right:-2%; animation:tkl-hero-ink-scale 11s ease-in-out -4s infinite; }
.tkl-home-v2 .tkl-home-hero__ink--yellow { bottom:-7%; right:27%; animation:tkl-hero-ink-rotate 8s ease-in-out -2s infinite; }
.tkl-home-v2 .tkl-home-hero__ink--cyan { bottom:20%; left:48%; animation:tkl-hero-ink-fade 8s ease-in-out -5s infinite; }
.tkl-home-v2 .tkl-home-hero__inner:not(.tkl-home-hero__inner--has-stats) .tkl-home-hero__title span,
.tkl-home-v2 .tkl-home-hero__inner:not(.tkl-home-hero__inner--has-stats) .tkl-home-hero__description p { animation-duration:13s; animation-timing-function:cubic-bezier(.2,.7,.2,1); animation-iteration-count:infinite; }
.tkl-home-v2 .tkl-home-hero__inner:not(.tkl-home-hero__inner--has-stats) .tkl-home-hero__title span:nth-child(1) { animation-name:tkl-hero-title-one-no-stats; }
.tkl-home-v2 .tkl-home-hero__inner:not(.tkl-home-hero__inner--has-stats) .tkl-home-hero__title span:nth-child(2) { animation-name:tkl-hero-title-two-no-stats; }
.tkl-home-v2 .tkl-home-hero__inner:not(.tkl-home-hero__inner--has-stats) .tkl-home-hero__title span:nth-child(3) { animation-name:tkl-hero-title-three-no-stats; }
.tkl-home-v2 .tkl-home-hero__inner:not(.tkl-home-hero__inner--has-stats) .tkl-home-hero__description p:nth-child(1) { animation-name:tkl-hero-description-one-no-stats; }
.tkl-home-v2 .tkl-home-hero__inner:not(.tkl-home-hero__inner--has-stats) .tkl-home-hero__description p:nth-child(2) { animation-name:tkl-hero-description-two-no-stats; }
@keyframes tkl-hero-title-one-no-stats { 0% { opacity:0; transform:translateX(-22px); } 4%,88% { opacity:1; transform:translateX(0); } 96%,100% { opacity:0; transform:translateX(-18px); } }
@keyframes tkl-hero-title-two-no-stats { 0%,5% { opacity:0; transform:translateX(-22px); } 9%,88% { opacity:1; transform:translateX(0); } 96%,100% { opacity:0; transform:translateX(-18px); } }
@keyframes tkl-hero-title-three-no-stats { 0%,10% { opacity:0; transform:translateX(-22px); } 14%,88% { opacity:1; transform:translateX(0); } 96%,100% { opacity:0; transform:translateX(-18px); } }
@keyframes tkl-hero-description-one-no-stats { 0%,18% { opacity:0; transform:translateX(-22px); } 22%,88% { opacity:1; transform:translateX(0); } 96%,100% { opacity:0; transform:translateX(-18px); } }
@keyframes tkl-hero-description-two-no-stats { 0%,27% { opacity:0; transform:translateX(-22px); } 31%,88% { opacity:1; transform:translateX(0); } 96%,100% { opacity:0; transform:translateX(-18px); } }
@keyframes tkl-hero-title-one { 0% { opacity:0; transform:translateX(-22px); } 4%,48% { opacity:1; transform:translateX(0); } 56%,100% { opacity:0; transform:translateX(-18px); } }
@keyframes tkl-hero-title-two { 0%,5% { opacity:0; transform:translateX(-22px); } 9%,48% { opacity:1; transform:translateX(0); } 56%,100% { opacity:0; transform:translateX(-18px); } }
@keyframes tkl-hero-title-three { 0%,11% { opacity:0; transform:translateX(-22px); } 15%,48% { opacity:1; transform:translateX(0); } 56%,100% { opacity:0; transform:translateX(-18px); } }
@keyframes tkl-hero-description-one { 0%,20% { opacity:0; transform:translateX(-22px); } 24%,48% { opacity:1; transform:translateX(0); } 56%,100% { opacity:0; transform:translateX(-18px); } }
@keyframes tkl-hero-description-two { 0%,29% { opacity:0; transform:translateX(-22px); } 33%,48% { opacity:1; transform:translateX(0); } 56%,100% { opacity:0; transform:translateX(-18px); } }
@keyframes tkl-hero-stats-in { 0%,52% { opacity:0; transform:translateX(-10px); } 58%,88% { opacity:1; transform:translateX(0); } 94%,100% { opacity:0; transform:translateX(-10px); } }
@keyframes tkl-hero-stat-one { 0%,57% { opacity:0; transform:translateY(8px); } 62%,88% { opacity:1; transform:translateY(0); } 94%,100% { opacity:0; transform:translateY(5px); } }
@keyframes tkl-hero-stat-two { 0%,63% { opacity:0; transform:translateY(8px); } 68%,88% { opacity:1; transform:translateY(0); } 94%,100% { opacity:0; transform:translateY(5px); } }
@keyframes tkl-hero-stat-three { 0%,69% { opacity:0; transform:translateY(8px); } 74%,88% { opacity:1; transform:translateY(0); } 94%,100% { opacity:0; transform:translateY(5px); } }
@keyframes tkl-hero-ink-drift { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-7px); } }
@keyframes tkl-hero-ink-scale { 0%,100% { transform:scale(1); } 50% { transform:scale(1.03); } }
@keyframes tkl-hero-ink-rotate { 0%,100% { transform:rotate(-1deg); } 50% { transform:rotate(1deg); } }
@keyframes tkl-hero-ink-fade { 0%,100% { opacity:.85; } 50% { opacity:1; } }
@keyframes tkl-hero-mascot-breathe { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-2px); } }
@media(max-width:768px) {
 .tkl-home-v2 .tkl-home-hero { padding:18px 0 22px; }
 .tkl-home-v2 .tkl-home-hero__inner { grid-template-columns:minmax(0,1fr); min-height:0; }
 .tkl-home-v2 .tkl-home-hero__copy { min-height:390px; padding:30px clamp(22px,6vw,38px) 22px; border-right:0; }
 .tkl-home-v2 .tkl-home-hero__title { font-size:clamp(38px,10vw,56px); }
 .tkl-home-v2 .tkl-home-hero__description { margin-top:16px; font-size:15px; }
 /* Override the legacy mobile rule that hides the previously empty hero art area. */
 .tkl-home-v2 .tkl-home-hero__visual { display:block; position:relative; grid-row:2; min-height:clamp(280px,78vw,410px); }
 .tkl-home-v2 .tkl-home-hero__mascots { right:2%; bottom:-1%; width:min(98%,440px); max-height:100%; }
 .tkl-home-v2 .tkl-home-hero__ink { width:clamp(140px,42vw,230px); }
 .tkl-home-v2 .tkl-home-hero__ink--purple { top:0; right:2%; }
 .tkl-home-v2 .tkl-home-hero__ink--pink { top:28%; right:-8%; }
 .tkl-home-v2 .tkl-home-hero__ink--yellow { bottom:-4%; right:24%; }
 .tkl-home-v2 .tkl-home-hero__ink--cyan { bottom:18%; left:2%; }
 .tkl-home-v2 .tkl-home-hero__inner--has-stats .tkl-home-hero__copy { min-height:440px; padding-bottom:150px; }
 .tkl-home-v2 .tkl-home-hero__inner--has-stats .tkl-home-hero__stats { inset:auto 0 18px; padding:12px; }
 .tkl-home-v2 .tkl-home-hero__stats-grid { gap:6px; }
 .tkl-home-v2 .tkl-home-hero__stat { padding-left:7px; }
 .tkl-home-v2 .tkl-home-hero__stat strong { font-size:clamp(17px,5vw,24px); }
 .tkl-home-v2 .tkl-home-hero__stat > span { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
 .tkl-home-v2 .tkl-home-hero__title span,.tkl-home-v2 .tkl-home-hero__description p,.tkl-home-v2 .tkl-home-hero__stats,.tkl-home-v2 .tkl-home-hero__stat,.tkl-home-v2 .tkl-home-hero__ink,.tkl-home-v2 .tkl-home-hero__mascots { animation:none !important; opacity:1 !important; transform:none !important; }
 .tkl-home-v2 .tkl-home-hero__stats { position:static !important; margin-top:22px !important; }
 .tkl-home-v2 .tkl-home-hero__copy { min-height:0; }
}

/* Keep the talk card still; only the CTA retains its own subtle affordance. */
.tkl-home-v2 .tkl-home-discovery .tkl-guide-entry { animation:none; translate:0 0; }
@media (hover:hover) and (pointer:fine) {
 .tkl-home-v2 .tkl-home-discovery .tkl-guide-entry:hover {
  animation:none;
  translate:0 -3px;
  border-color:#cdb6e5;
  box-shadow:0 10px 26px #4d287c18;
 }
 .tkl-home-v2 .tkl-home-discovery .tkl-guide-entry .tkl-guide-entry__button:hover {
  transform:none;
  background:linear-gradient(100deg,#813ce9,#9b5cf4);
  border-color:#813ce9;
  box-shadow:0 8px 20px #7026db35;
 }
}
@media(prefers-reduced-motion:reduce) {
 .tkl-home-v2 .tkl-home-discovery .tkl-guide-entry,
 .tkl-home-v2 .tkl-home-discovery .tkl-guide-entry .tkl-guide-entry__button {
  animation:none !important;
  transition:none !important;
 }
 .tkl-home-v2 .tkl-home-discovery .tkl-guide-entry:hover {
  translate:0 0;
  box-shadow:none;
 }
 .tkl-home-v2 .tkl-home-discovery .tkl-guide-entry .tkl-guide-entry__button:hover {
  transform:none;
  box-shadow:0 8px 18px #7026db2e;
 }
}

/* The supplied loop video replaces the previous layered illustration hero. */
.tkl-home-v2 .tkl-home-hero__inner--video {
 display:block;
 position:relative;
 width:100%;
 min-height:0;
 overflow:hidden;
 border:0;
 background:#fff;
}
.tkl-home-v2 .tkl-home-hero__inner--video > .tkl-home-hero__copy {
 position:absolute !important;
 top:auto !important;
 left:-10000px !important;
 display:block !important;
 width:1px !important;
 min-width:0 !important;
 height:1px !important;
 min-height:0 !important;
 overflow:hidden !important;
 clip:rect(1px,1px,1px,1px) !important;
 clip-path:inset(50%) !important;
 white-space:nowrap !important;
 border:0 !important;
 padding:0 !important;
 animation:none !important;
}
.tkl-home-v2 .tkl-home-hero__visual--video {
 display:block !important;
 position:relative;
 width:100%;
 min-height:0 !important;
 aspect-ratio:752 / 416;
 margin:0 auto;
 overflow:hidden;
 background:#fff;
}
.tkl-home-v2 .tkl-home-hero__visual--video::before,
.tkl-home-v2 .tkl-home-hero__visual--video::after { display:none; content:none; }
.tkl-home-v2 .tkl-home-hero__video {
 display:block;
 width:100%;
 height:100%;
 object-fit:contain;
 background:#fff;
}
@media(max-width:768px) {
 .tkl-home-v2 .tkl-home-hero { padding:0 0 16px; }
 .tkl-home-v2 .tkl-home-hero > .tkl-home-shell {
  width:100%; max-width:none; margin:0; padding-left:0; padding-right:0;
 }
 .tkl-home-v2 .tkl-home-hero__inner--video { width:100%; margin:0; border:0; border-radius:0; }
.tkl-home-v2 .tkl-home-hero__visual--video { width:100%; margin:0; }
}

/* Bring the talk finder closer to the hero video while keeping half the current gap. */
.tkl-home-v2 .tkl-home-hero { padding-bottom:14px; }
.tkl-home-v2 .tkl-home-discovery { padding-top:39px; }
@media(max-width:768px) {
 .tkl-home-v2 .tkl-home-hero { padding-bottom:8px; }
 .tkl-home-v2 .tkl-home-discovery { padding-top:27px; }
}
