/* THE KEY AI — the proposal animation, v5 (seasons, wide). Every rule is scoped under .tkh so it cannot touch the theme. */
.tkh {
  --tkh-ink: #060C18;
  --tkh-navy: #0B1325;
  --tkh-gold: #C88A2B;
  --tkh-gold-light: #C88A2B;
  --tkh-cream: #F0EBE0;
  --tkh-mist: rgba(240, 246, 252, 0.72);
  --tkh-faint: rgba(240, 235, 224, 0.46);
  --tkh-line: rgba(200, 138, 43, 0.16);
  --tkh-serif: "Cormorant Garamond", "Cormorant", Garamond, "Times New Roman", serif;
  --tkh-sans: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  position: relative;
  width: 100%;
  max-width: 100%;
  padding-bottom: 40px;
  font-family: var(--tkh-sans);
  color: var(--tkh-cream);
  -webkit-font-smoothing: antialiased;
}
.tkh *, .tkh *::before, .tkh *::after { box-sizing: border-box; }
.tkh-stage {
  position: relative;
  aspect-ratio: 16 / 9;
  width: 100%;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(11, 19, 37, 0.8), rgba(6, 12, 24, 0.7));
  border: 1px solid var(--tkh-line);
  container-type: inline-size;
  container-name: tkhstage;
  isolation: isolate;
  overflow: hidden;
}
.tkh-corners { position: absolute; inset: 0; pointer-events: none; z-index: 9; }
.tkh-corners::before, .tkh-corners::after { content: ""; position: absolute; width: 18px; height: 18px; border: 0 solid var(--tkh-gold); opacity: 0.85; }
.tkh-corners::before { top: 0; left: 0; border-width: 1px 0 0 1px; border-top-left-radius: 12px; }
.tkh-corners::after { bottom: 0; right: 0; border-width: 0 1px 1px 0; border-bottom-right-radius: 12px; }

.tkh-rail {
  position: absolute; top: 0; left: 0; right: 0; z-index: 7;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 18px 22px 30px;
  background: linear-gradient(180deg, rgba(6, 12, 24, var(--tkh-rail-scrim, 0)), rgba(6, 12, 24, 0));
}
.tkh-steps { display: flex; gap: 16px; margin: 0; padding: 0; list-style: none; font-size: 9.5px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(240, 235, 224, 0.34); }
.tkh-steps li { margin: 0; padding: 0; transition: color 300ms ease; white-space: nowrap; }
.tkh-steps li::before { content: none; }
.tkh-steps li.tkh-done { color: rgba(240, 235, 224, 0.66); }
.tkh-steps li.tkh-now { color: var(--tkh-gold-light); }
.tkh-clock { display: flex; align-items: baseline; gap: 8px; font-size: 9.5px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--tkh-faint); white-space: nowrap; }
.tkh-clock b { font-family: var(--tkh-serif); font-size: 22px; font-weight: 400; letter-spacing: 0.02em; color: var(--tkh-cream); font-variant-numeric: tabular-nums; }

.tkh-brief { position: absolute; left: 50%; top: 50%; width: min(84%, 38rem); transform: translate(-50%, calc(-50% + var(--tkh-lift, 0px))); opacity: var(--tkh-o, 0); z-index: 6; }
.tkh-brief .tkh-tag { display: block; margin-bottom: 14px; font-size: 9.5px; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: var(--tkh-gold); }
.tkh-brief p { margin: 0; min-height: 2.7em; font-family: var(--tkh-serif); font-style: italic; font-weight: 400; font-size: clamp(1.3rem, 3.4cqi, 2.3rem); line-height: 1.3; color: var(--tkh-cream); }
.tkh-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.tkh-chips li { margin: 0; padding: 6px 12px; border: 1px solid rgba(200, 138, 43, 0.38); border-radius: 999px; font-size: 10px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: var(--tkh-cream); opacity: 0; transform: translateY(6px); transition: opacity 350ms ease, transform 450ms cubic-bezier(0.22, 1, 0.36, 1); }
.tkh-chips li::before { content: none; }
.tkh-chips li.tkh-on { opacity: 1; transform: translateY(0); }
.tkh-brief .tkh-who { display: block; margin-top: 16px; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--tkh-faint); opacity: var(--tkh-who, 0); transition: opacity 400ms ease; }
.tkh-brief .tkh-hl { color: var(--tkh-gold-light); }
.tkh-brief .tkh-caret { display: inline-block; width: 1px; height: 1em; margin-left: 2px; vertical-align: -0.12em; background: var(--tkh-gold); }

.tkh-tile { position: absolute; z-index: 2; overflow: hidden; border-radius: 6px; background: var(--tkh-navy); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35); }
.tkh-tile img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; display: block; margin: 0; border: 0; border-radius: 0; }
.tkh-tile::after { content: ""; position: absolute; inset: 0; border-radius: 6px; pointer-events: none; box-shadow: inset 0 0 0 1px rgba(200, 138, 43, var(--tkh-ring, 0)); }

.tkh-thread { position: absolute; z-index: 3; height: 1px; background: linear-gradient(90deg, var(--tkh-gold), var(--tkh-gold-light)); transform-origin: left center; transform: scaleX(var(--tkh-s, 0)); box-shadow: 0 0 10px rgba(200, 138, 43, 0.6); }
.tkh-dot { position: absolute; z-index: 3; width: 7px; height: 7px; margin: -3px 0 0 -3px; border-radius: 50%; background: var(--tkh-gold-light); box-shadow: 0 0 0 4px rgba(200, 138, 43, 0.18); opacity: 0; transform: scale(0.4); transition: opacity 300ms ease, transform 400ms cubic-bezier(0.22, 1, 0.36, 1); }
.tkh-dot.tkh-on { opacity: 1; transform: scale(1); }
.tkh-cap { position: absolute; z-index: 3; transform: translate(-50%, 8px); text-align: center; opacity: 0; transition: opacity 400ms ease, transform 500ms cubic-bezier(0.22, 1, 0.36, 1); }
.tkh-cap.tkh-on { opacity: 1; transform: translate(-50%, 0); }
.tkh-cap small { display: block; font-size: 9px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--tkh-gold); white-space: nowrap; }
.tkh-cap span { display: block; margin-top: 4px; font-family: var(--tkh-serif); font-style: italic; font-size: clamp(0.85rem, 2.5cqi, 1.05rem); line-height: 1.2; color: var(--tkh-cream); }

.tkh-count { position: absolute; left: 22px; bottom: 20px; z-index: 6; font-size: 9.5px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--tkh-faint); opacity: var(--tkh-o, 0); transition: opacity 300ms ease; }
.tkh-count b { color: var(--tkh-cream); font-weight: 500; font-variant-numeric: tabular-nums; }

.tkh-moment { position: absolute; inset: 0; z-index: 5; overflow: hidden; clip-path: inset(var(--tkh-ct, 100%) var(--tkh-cr, 0%) var(--tkh-cb, 0%) var(--tkh-cl, 0%) round var(--tkh-crad, 6px)); visibility: var(--tkh-mv, hidden); }
.tkh-moment img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; display: block; margin: 0; border: 0; border-radius: 0; will-change: transform, opacity; transition: filter 1200ms ease; }
.tkh-stage.tkh-end .tkh-moment img { filter: brightness(0.58); }
.tkh-moment::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(0deg, rgba(6, 12, 24, 0.84) 0%, rgba(6, 12, 24, 0.3) 36%, rgba(6, 12, 24, 0) 56%),
    linear-gradient(180deg, rgba(6, 12, 24, 0.5) 0%, rgba(6, 12, 24, 0) 22%);
}
.tkh-say { position: absolute; left: 6%; right: 6%; bottom: 9%; z-index: 6; opacity: 0; transform: translateY(10px); transition: opacity 600ms ease, transform 800ms cubic-bezier(0.22, 1, 0.36, 1); }
.tkh-say.tkh-on { opacity: 1; transform: translateY(0); }
.tkh-say small { display: block; font-size: 9.5px; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: var(--tkh-gold-light); }
.tkh-say span { display: block; margin-top: 8px; max-width: 22ch; font-family: var(--tkh-serif); font-style: italic; font-weight: 400; font-size: clamp(1.25rem, 4.6cqi, 2rem); line-height: 1.18; color: #fff; text-wrap: balance; }

.tkh-cover { position: absolute; right: 6%; top: 15%; width: min(60%, 28rem); z-index: 6; text-align: right; text-shadow: 0 1px 22px rgba(6, 12, 24, 0.55); opacity: 0; transform: translateY(-10px); transition: opacity 800ms ease, transform 900ms cubic-bezier(0.22, 1, 0.36, 1); }
.tkh-cover.tkh-on { opacity: 1; transform: translateY(0); }
.tkh-cover small { display: block; font-size: 9.5px; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: #fff; }
.tkh-cover .tkh-title { display: block; margin: 10px 0 8px; font-family: var(--tkh-serif); font-weight: 400; font-size: clamp(2rem, 8.2cqi, 3.5rem); line-height: 0.98; color: #fff; }
.tkh-cover .tkh-title em { font-style: italic; color: #fff; }
.tkh-cover p { margin: 0; font-size: 11px; letter-spacing: 0.08em; color: rgba(255, 255, 255, 0.86); }
.tkh-ready { position: absolute; right: 6%; bottom: 8%; z-index: 6; display: inline-flex; align-items: baseline; gap: 10px; padding: 10px 14px; border-radius: 10px; background: rgba(6, 12, 24, 0.72); border: 1px solid rgba(200, 138, 43, 0.35); opacity: 0; transform: translateY(10px); transition: opacity 700ms ease 300ms, transform 800ms cubic-bezier(0.22, 1, 0.36, 1) 300ms; }
.tkh-ready.tkh-on { opacity: 1; transform: translateY(0); }
.tkh-ready b { font-family: var(--tkh-serif); font-weight: 400; font-size: clamp(1.3rem, 4.4cqi, 1.9rem); line-height: 1; color: var(--tkh-gold-light); font-variant-numeric: tabular-nums; }
.tkh-ready small { font-size: 9.5px; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: var(--tkh-faint); }

.tkh button.tkh-pause { position: absolute; right: 0; bottom: 2px; display: inline-flex; align-items: center; gap: 8px; min-height: 28px; padding: 0 4px; margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; color: var(--tkh-faint); font-family: var(--tkh-sans); font-size: 10px; font-weight: 400; letter-spacing: 0.18em; text-transform: uppercase; line-height: 1; cursor: pointer; transition: color 200ms ease; }
.tkh button.tkh-pause:hover, .tkh button.tkh-pause:focus { background: none; border: 0; box-shadow: none; color: var(--tkh-cream); }
.tkh button.tkh-pause:focus-visible { outline: 1px solid var(--tkh-gold-light); outline-offset: 4px; }
.tkh button.tkh-pause svg { width: 10px; height: 10px; fill: currentColor; }

@container tkhstage (max-width: 500px) {
  .tkh-steps li:not(.tkh-now) { display: none; }
  .tkh-rail { padding: 14px 16px 24px; }
  .tkh-cover { width: 88%; }
  .tkh-ready { left: 6%; right: auto; }
}
.tkh-clock[hidden] { display: none; }
@media (max-width: 1024px) {
  .tkh .tkh-stage { aspect-ratio: 4 / 3; }
}
@media (max-width: 767px) {
  .tkh .tkh-stage { aspect-ratio: 4 / 5; }
}
@media (prefers-reduced-motion: reduce) {
  .tkh *, .tkh *::before, .tkh *::after { transition-duration: 0.01ms !important; }
}

/* ── The hero carousel the script builds inside .tkh-hero (outside .tkh on purpose: it lives in the hero) ── */
.tkh-hero-slides { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.tkh-hero-slide { position: absolute; inset: 0; background-repeat: no-repeat; background-color: #060C18; opacity: 0; transition: opacity 1400ms ease; will-change: opacity, transform; }
.tkh-hero-slide.tkh-on { opacity: 1; }
.tkh-hero-slide.tkh-kb-in { animation: tkh-kb-in 9400ms ease-out forwards; }
.tkh-hero-slide.tkh-kb-out { animation: tkh-kb-out 9400ms ease-out forwards; }
@keyframes tkh-kb-in { from { transform: scale(1); } to { transform: scale(1.07); } }
@keyframes tkh-kb-out { from { transform: scale(1.07); } to { transform: scale(1); } }
.tkh-hero-scrim { position: absolute; inset: 0; z-index: 0; pointer-events: none; background-repeat: no-repeat; background-size: 100% 100%, 100% 100%; }
.tkh-hero > :not(.tkh-hero-slides):not(.tkh-hero-scrim):not(.tkh-hero-ui) { position: relative; z-index: 1; }
.tkh-hero-ui { position: absolute; right: clamp(16px, 4vw, 48px); bottom: 14px; z-index: 2; display: flex; align-items: center; gap: 20px; font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif; }
.tkh-hero-cap { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: rgba(240, 235, 224, .8); }
.tkh-hero-cap::before { content: ""; width: 28px; height: 1px; background: #C88A2B; }
.tkh-hero-ctl { display: flex; align-items: center; gap: 4px; }
.tkh-hero-bars { display: flex; gap: 4px; margin-right: 8px; }
.tkh-hero-bars span { position: relative; width: 22px; height: 2px; overflow: hidden; background: rgba(240, 235, 224, .25); }
.tkh-hero-bars span::after { content: ""; position: absolute; inset: 0; background: #C88A2B; transform-origin: left center; transform: scaleX(0); }
.tkh-hero-bars span.tkh-on::after { transform: scaleX(1); }
.tkh-hero-bars span.tkh-run::after { animation: tkh-bar 8000ms linear forwards; }
@keyframes tkh-bar { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.tkh-hero button.tkh-hero-btn { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; min-height: 0; padding: 0; margin: 0; border: 1px solid rgba(240, 235, 224, .25); border-radius: 50%; background: rgba(6, 12, 24, .45); box-shadow: none; color: #F0EBE0; cursor: pointer; transition: border-color 200ms ease, background-color 200ms ease; }
.tkh-hero button.tkh-hero-btn:hover, .tkh-hero button.tkh-hero-btn:focus { border-color: #C88A2B; background: rgba(6, 12, 24, .7); color: #fff; }
.tkh-hero button.tkh-hero-btn:focus-visible { outline: 1px solid #C88A2B; outline-offset: 3px; }
.tkh-hero button.tkh-hero-btn svg { width: 11px; height: 11px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.tkh-hero button.tkh-hero-btn svg rect, .tkh-hero button.tkh-hero-btn svg path[d^="M1 0"] { fill: currentColor; stroke: none; }
@media (max-width: 820px) { .tkh-hero-cap { display: none; } .tkh-hero-ui { bottom: 10px; } }
@media (prefers-reduced-motion: reduce) { .tkh-hero-slide { transition-duration: 0.01ms; animation: none !important; } }

/* ── The journeys bar above the animation ── */
.tkh-bar { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 0 0 14px; }
.tkh-bar[hidden] { display: none; }
.tkh-tabs { display: flex; flex-wrap: wrap; gap: 6px 22px; }
.tkh button.tkh-tab { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 8px; min-height: 0; padding: 6px 0 0; margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; font-family: var(--tkh-sans); font-size: 10.5px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; line-height: 1; color: rgba(240, 235, 224, 0.5); cursor: pointer; transition: color 200ms ease; }
.tkh button.tkh-tab:hover, .tkh button.tkh-tab:focus { background: none; color: var(--tkh-cream); }
.tkh button.tkh-tab.tkh-on { color: var(--tkh-gold-light); }
.tkh button.tkh-tab:focus-visible { outline: 1px solid var(--tkh-gold-light); outline-offset: 4px; }
.tkh-tab-line { position: relative; display: block; width: 100%; min-width: 48px; height: 2px; background: rgba(240, 235, 224, 0.14); overflow: hidden; }
.tkh-tab-line::after { content: ""; position: absolute; inset: 0; background: var(--tkh-gold-light); transform-origin: left center; transform: scaleX(var(--tkh-p, 0)); }
.tkh-arrows { display: flex; gap: 6px; }
.tkh button.tkh-arrow { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; min-height: 0; padding: 0; margin: 0; border: 1px solid rgba(240, 235, 224, 0.22); border-radius: 50%; background: none; box-shadow: none; color: var(--tkh-cream); cursor: pointer; transition: border-color 200ms ease; }
.tkh button.tkh-arrow:hover, .tkh button.tkh-arrow:focus { border-color: var(--tkh-gold-light); background: none; }
.tkh button.tkh-arrow:focus-visible { outline: 1px solid var(--tkh-gold-light); outline-offset: 3px; }
.tkh button.tkh-arrow svg { width: 11px; height: 11px; fill: none; stroke: currentColor; stroke-width: 1.4; }

/* v8.2: one gold only (#C88A2B), no corner marks, and the closing cover carries no "Designed by" line. */
.tkh .tkh-corners { display: none; }
.tkh .tkh-cover small:empty { display: none; }

/* Video + journeys sections (v7). Scoped under .tkx / .tkj. */
.tkx, .tkj { --ink: #060C18; --navy: #0B1325; --gold: #C88A2B; --gold-light: #C88A2B; --cream: #F0EBE0; --mist: rgba(240,235,224,.86); --faint: rgba(240,235,224,.55); --line: rgba(200,138,43,.22); --serif: "Cormorant Garamond", Garamond, "Times New Roman", serif; --sans: "Montserrat", "Helvetica Neue", Arial, sans-serif; font-family: var(--sans); color: var(--cream); -webkit-font-smoothing: antialiased; }
.tkx *, .tkj * { box-sizing: border-box; }
.tkx .wrap, .tkj .wrap { max-width: 1280px; margin: 0 auto; padding-inline: 0; }
.tkx h2, .tkj h2 { letter-spacing: 0; text-transform: none; }
.tkx button, .tkj button { text-transform: none; }

/* ── How it works: the explainer video ── */
.tkx { padding: clamp(56px, 7vw, 104px) 0 clamp(64px, 8vw, 120px); }
.tkx-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px 64px; margin-bottom: clamp(28px, 4vw, 44px); }
.tkx-kicker { margin: 0 0 18px; color: var(--gold-light); font-size: 12px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; }
.tkx h2 { margin: 0; font-family: var(--serif); font-weight: 300; font-size: clamp(36px, 4.4vw, 60px); line-height: 1.05; color: #fff; }
.tkx h2 em { color: var(--gold-light); }
.tkx-lede { margin: 0; max-width: 46ch; font-size: 15px; line-height: 1.7; color: var(--mist); }

.tkx-frame { position: relative; aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: var(--navy); border: 1px solid var(--line); box-shadow: 0 30px 80px rgba(0,0,0,.45); }
.tkx-frame::before, .tkx-frame::after { content: ""; position: absolute; width: 22px; height: 22px; z-index: 3; pointer-events: none; border: 0 solid var(--gold); }
.tkx-frame::before { top: 0; left: 0; border-width: 1px 0 0 1px; border-top-left-radius: 14px; }
.tkx-frame::after { bottom: 0; right: 0; border-width: 0 1px 1px 0; border-bottom-right-radius: 14px; }
.tkx-frame video { display: block; width: 100%; height: 100%; object-fit: cover; background: var(--ink); }
.tkx-play { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 14px; padding-bottom: 9%; border: 0; margin: 0; background: linear-gradient(180deg, rgba(6,12,24,0) 45%, rgba(6,12,24,.55) 100%); color: #fff; cursor: pointer; font: inherit; }
.tkx-play[hidden] { display: none; }
.tkx-play-icon { display: inline-flex; align-items: center; justify-content: center; width: 76px; height: 76px; border-radius: 50%; background: var(--gold); box-shadow: 0 10px 30px rgba(0,0,0,.4); transition: transform 200ms ease, background-color 200ms ease; }
.tkx-play:hover .tkx-play-icon, .tkx-play:focus-visible .tkx-play-icon { transform: scale(1.06); background: var(--gold-light); }
.tkx-play:focus-visible { outline: 1px solid var(--gold-light); outline-offset: -6px; }
.tkx-play-icon svg { width: 22px; height: 22px; margin-left: 4px; fill: var(--ink); }
.tkx-play-label { font-size: 11px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; text-shadow: 0 1px 12px rgba(6,12,24,.8); }

.tkx-chapters { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin: 18px 0 0; padding: 0; list-style: none; }
.tkx-chapters button { width: 100%; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 14px 14px 0 0; margin: 0; border: 0; border-top: 2px solid rgba(240,235,224,.14); background: none; color: var(--faint); font: inherit; text-align: left; cursor: pointer; transition: color 200ms ease, border-color 200ms ease; min-height: 44px; }
.tkx-chapters button:hover, .tkx-chapters button:focus-visible { color: var(--cream); }
.tkx-chapters button:focus-visible { outline: 1px solid var(--gold-light); outline-offset: 4px; }
.tkx-chapters button.is-on { color: var(--cream); border-top-color: var(--gold-light); }
.tkx-chapters b { font-family: var(--serif); font-size: 22px; font-weight: 400; color: var(--gold-light); }
.tkx-chapters span { font-size: 11px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
.tkx-chapters small { font-size: 13px; line-height: 1.5; letter-spacing: 0; text-transform: none; color: var(--faint); }

@media (max-width: 820px) {
  .tkx-chapters { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .tkx-chapters small { display: none; }
  .tkx-chapters b { font-size: 18px; }
  .tkx-chapters span { font-size: 9px; letter-spacing: .1em; }
  .tkx-play { flex-direction: row; align-items: flex-end; justify-content: flex-end; gap: 10px; padding: 0 12px 12px 0; }
  .tkx-play-icon { width: 48px; height: 48px; }
  .tkx-play-icon svg { width: 16px; height: 16px; }
  .tkx-play-label { order: -1; margin-bottom: 16px; font-size: 9px; }
}
.tkj { padding: 0 0 clamp(64px, 8vw, 120px); }
.tkj-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px 64px; margin-bottom: clamp(24px, 3vw, 36px); padding-top: clamp(48px, 6vw, 80px); border-top: 1px solid rgba(200,138,43,.16); }
.tkj-head .kicker { margin: 0 0 18px; color: var(--gold-light); font-size: 12px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; }
.tkj-head h2 { margin: 0; font-family: var(--serif); font-weight: 300; font-size: clamp(32px, 3.6vw, 48px); line-height: 1.05; color: #fff; }
.tkj-head h2 em { color: var(--gold-light); }
.tkj-head p { margin: 0; max-width: 44ch; font-size: 15px; line-height: 1.7; color: var(--mist); }

/* ── v8: the same language as the rest of the site (Pricing and About are the reference) ── */
.tkx .wrap, .tkj .wrap { max-width: none; }
.tkx .tkx-kicker, .tkj .tkj-head .kicker { display: flex; align-items: center; gap: 14px; margin: 0 0 22px; color: var(--gold); font-size: 10px; font-weight: 500; letter-spacing: 3.6px; line-height: 15px; }
.tkx .tkx-kicker::before, .tkj .tkj-head .kicker::before { content: ""; flex: none; width: 34px; height: 1px; background: currentColor; }
.tkx h2, .tkj .tkj-head h2 { font-size: clamp(38px, 3.9vw, 56px); line-height: 1.1; }
.tkx .tkx-lede, .tkj .tkj-head p { font-size: 16px; }
/* The theme paints every button gold and keeps it on one line: not these */
.tkx button.tkx-play, .tkx button.tkx-play:hover, .tkx button.tkx-play:focus { background-color: transparent; white-space: normal; }
.tkx .tkx-chapters button, .tkx .tkx-chapters button:hover, .tkx .tkx-chapters button:focus { background-color: transparent; white-space: normal; }
/* v8.2: no corner marks on the video frame */
.tkx .tkx-frame::before, .tkx .tkx-frame::after { content: none; }

/* WordPress fix: the theme's button styles (borders, radius, padding, colors) must not reach these buttons */
.tkx .tkx-chapters button,
.tkx .tkx-chapters button:hover,
.tkx .tkx-chapters button:focus { border-left: 0; border-right: 0; border-bottom: 0; border-radius: 0; box-shadow: none; padding: 14px 14px 0 0; }
.tkx .tkx-chapters button:not(.is-on) { border-top-color: rgba(240,235,224,.14); }
.tkx .tkx-chapters small { color: var(--faint); }
.tkx button.tkx-play { border: 0; border-radius: 0; box-shadow: none; padding: 0 0 9% 0; }
.tkx .tkx-chapters li, .tkh .tkh-steps li, .tkh .tkh-chips li { list-style: none; }
.tkx .tkx-chapters li::before, .tkx .tkx-chapters li::marker { content: none; }
@media (max-width: 820px) { .tkx button.tkx-play { padding: 0 12px 12px 0; } }
.tkh button.tkh-tab, .tkh button.tkh-arrow, .tkh button.tkh-pause { text-transform: uppercase; white-space: nowrap; }
.tkh button.tkh-arrow { border-radius: 50%; padding: 0; }

/* ── Home v8: the hero in the site's language. Element ids are Elementor's (post 19). ── */
.elementor-19 .elementor-element.elementor-element-26973ab,
.elementor-19 .elementor-element.elementor-element-3cd861e { --padding-left: 0px; --padding-right: 0px; }
.elementor-19 .elementor-element.elementor-element-417c2ec .elementor-heading-title { display: flex; align-items: center; gap: 14px; font-size: 10px; font-weight: 500; letter-spacing: 3.6px; line-height: 15px; text-transform: uppercase; }
.elementor-19 .elementor-element.elementor-element-417c2ec .elementor-heading-title::before { content: ""; flex: none; width: 34px; height: 1px; background: currentColor; }
.elementor-19 .elementor-element.elementor-element-417c2ec { margin-bottom: 10px; }
.elementor-19 .elementor-element.elementor-element-d5790ae .elementor-heading-title { max-width: 760px; }
.elementor-19 .elementor-element.elementor-element-a274dcb { --container-widget-width: 100%; width: 100%; max-width: 100%; }
.elementor-19 .elementor-element.elementor-element-a274dcb p { max-width: 625px; }
.elementor-19 .elementor-element.elementor-element-6672ec3 .elementor-button { background-color: transparent; border-color: rgba(200, 138, 43, .5); color: #F0EBE0; }
.elementor-19 .elementor-element.elementor-element-6672ec3 .elementor-button:hover,
.elementor-19 .elementor-element.elementor-element-6672ec3 .elementor-button:focus { background-color: rgba(200, 138, 43, .1); border-color: var(--e-global-color-primary); color: #fff; }
.elementor-19 .tkh-hero .info-card .elementor-icon-box-description { font-family: "Montserrat", sans-serif; font-size: 11px; font-weight: 500; letter-spacing: 2.4px; line-height: 18px; color: rgba(240, 235, 224, .72); }
.elementor-19 .tkh-hero .info-card .elementor-icon-box-description b { color: #fff; font-weight: 600; }
@media (min-width: 1025px) {
  .elementor-19 .elementor-element.elementor-element-22e61b4 { --min-height: clamp(560px, calc(100svh - 98px), 1000px); }
  .elementor-19 .elementor-element.elementor-element-3cd861e { max-width: 880px; --gap: 18px 18px; --column-gap: 18px; }
}
.elementor-19 .elementor-element.elementor-element-db55948 { max-width: 720px; }
@media (max-width: 767px) {
  .elementor-19 .elementor-element.elementor-element-417c2ec .elementor-heading-title { letter-spacing: 1.6px; gap: 10px; }
  .elementor-19 .elementor-element.elementor-element-417c2ec .elementor-heading-title::before { width: 22px; }
}
@media (max-width: 1024px) and (min-width: 768px) {
  .elementor-19 .elementor-element.elementor-element-3cd861e { --width: 100%; }
  .elementor-19 .elementor-element.elementor-element-3cd861e > .info-card { --width: calc((100% - 44px) / 3); }
}

/* v8.1: the whole hero fits the first screen of a laptop (sizes follow the screen height). */
@media (min-width: 1025px) {
  .elementor-19 .elementor-element.elementor-element-22e61b4 { --padding-top: clamp(20px, 4vh, 60px); --padding-bottom: clamp(52px, 7vh, 64px); }
  .elementor-19 .elementor-element.elementor-element-26973ab { --row-gap: clamp(8px, 1.6vh, 20px); --gap: clamp(8px, 1.6vh, 20px) 0px; --padding-top: 0px; --padding-bottom: 0px; }
  .elementor-19 .elementor-element.elementor-element-417c2ec { margin-bottom: 0; }
  .elementor-19 .elementor-element.elementor-element-a78b19f .elementor-heading-title { font-size: clamp(44px, 7.6vh, 72px); }
  .elementor-19 .elementor-element.elementor-element-d5790ae { margin-top: 0; }
  .elementor-19 .elementor-element.elementor-element-d5790ae .elementor-heading-title { font-size: clamp(22px, 3.4vh, 30px); }
  .elementor-19 .elementor-element.elementor-element-a274dcb { margin-bottom: 0; }
  .elementor-19 .elementor-element.elementor-element-a274dcb p { max-width: 780px; margin-bottom: 0; }
  .elementor-19 .elementor-element.elementor-element-ed831e4, .elementor-19 .elementor-element.elementor-element-6672ec3 { margin-top: clamp(4px, 1.6vh, 20px); }
  .elementor-19 .elementor-element.elementor-element-3cd861e { margin-top: clamp(8px, 2vh, 30px); --padding-top: 0px; --padding-bottom: 0px; }
  .elementor-19 .tkh-hero .info-card { --padding-top: clamp(12px, 2vh, 20px); --padding-bottom: clamp(12px, 2vh, 20px); }
  .elementor-19 .tkh-hero .info-card .elementor-icon-box-title,
  .elementor-19 .tkh-hero .info-card .elementor-icon-box-title span { font-size: clamp(34px, 5.4vh, 50px); }
  .elementor-19 .tkh-hero .info-card .elementor-icon-box-title { margin-block-end: clamp(12px, 2.4vh, 30px); }
}

/* Headings now come from native Elementor widgets: the sections carry no top padding of their own,
   so spacing is set on the Elementor container. */
.tkx { padding: 0; }
.tkj { padding: 0; }

/* Mobile hero: stat cards in one row (hero was 1,193px tall) and slider controls fit the screen (were 450px wide). */
@media (max-width: 767px) {
  .tkh-hero .e-con:has(> .info-card) { flex-wrap: nowrap; gap: 8px; }
  .tkh-hero .e-con:has(> .info-card) > .info-card { flex: 1 1 0; min-width: 0; width: auto; padding: 12px 8px; }
  .tkh-hero-ui { left: 16px; right: 16px; width: auto; gap: 10px; justify-content: space-between; }
  .tkh-hero-bars { flex: 1 1 auto; min-width: 0; margin-right: 0; }
  .tkh-hero-bars span { flex: 1 1 0; width: auto; min-width: 0; }
}

/* First hero cover appears without the fade (see tkh-hero.js, class tkh-init). */
.tkh-hero-slides.tkh-init .tkh-hero-slide { transition: none; }
