html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.slot-plate [data-dock]{position:absolute;left:50%;top:50%;width:66%;transform:translate(-50%,-50%)}
.media--fallback{background:linear-gradient(135deg,var(--tk-aqua),#d8eef4)}
.media--fallback img{display:none}
.media--fallback::after{content:"Image placeholder";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;align-items:center;justify-items:center;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tk-grey)}
.travel-key{position:fixed;top:0;left:0;z-index:40;pointer-events:none;transform-origin:50% 50%;backface-visibility:hidden;will-change:transform}
.travel-key img{width:100%;height:auto}
.js .travel-key{opacity:0}
.js .travel-key.is-ready{opacity:1}
[data-dock]{display:block;aspect-ratio:196/82.4;pointer-events:none}
.site-header.is-scrolled{background-color:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom-color:var(--tk-line)}
.site-header.is-scrolled .site-header__progress{opacity:1}
.site-header.is-past-hero .site-header__brand img{opacity:1;transform:none}
.site-header.is-past-hero .site-header__brand span{opacity:0}
.nav a:hover,.nav a.is-current{opacity:1}
.nav a:hover::after,.nav a.is-current::after{transform:scaleX(1)}
.hero__logo [data-dock]{position:absolute;left:66.895%;top:17.857%;width:19.141%}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(0);transform-origin:bottom}}
.hero__media.is-in img{transform:scale(1)}
.challenge__statement .w{opacity:.16;transition:opacity .3s}
.challenge__statement .w.is-lit{opacity:1}
.challenge__statement .w.is-accent.is-lit{color:var(--tk-turquoise)}
.pieces.is-linked .pieces__link{border-top:2px solid var(--tk-turquoise)}
.pieces.is-linked .pieces__link:nth-of-type(4){transition-delay:.08s}
.pieces.is-linked .pieces__link:nth-of-type(6){transition-delay:.16s}
.pieces.is-linked .pieces__link:nth-of-type(8){transition-delay:.24s}
.pieces.is-linked .pieces__link:nth-of-type(10){transition-delay:.32s}
.pieces.is-linked .pieces__link:nth-of-type(12){transition-delay:.4s}
.pieces.is-linked .piece{color:var(--tk-navy);border-color:var(--tk-turquoise)}
.pieces [data-dock]{width:clamp(120px,9vw,140px);margin-left:4px}
.diagram svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}
.diagram line{stroke:rgba(24,53,74,.18);stroke-width:.35;stroke-dasharray:2 1.6;transition:stroke .6s}
.diagram circle.ring{fill:none;stroke:rgba(24,53,74,.12);stroke-width:.3}
.diagram.is-on line{stroke:var(--tk-turquoise);stroke-width:.55;animation:flow 1.6s linear infinite}
@keyframes flow{to{stroke-dashoffset:-7.2}}
.diagram.is-on .diagram__hub{box-shadow:0 0 0 10px rgba(91,200,220,.25),0 0 0 22px rgba(91,200,220,.1)}
.diagram__hub [data-dock]{width:62%;margin-top:-22%}
.diagram.is-on .node{background-color:var(--tk-navy);color:var(--tk-white)}
.diagram.is-on .node:nth-of-type(2){transition-delay:.05s}
.diagram.is-on .node:nth-of-type(3){transition-delay:.1s}
.diagram.is-on .node:nth-of-type(4){transition-delay:.15s}
.diagram.is-on .node:nth-of-type(5){transition-delay:.2s}
.diagram.is-on .node:nth-of-type(6){transition-delay:.25s}
.diagram.is-on .node:nth-of-type(7){transition-delay:.3s}
.diagram.is-on .node:nth-of-type(8){transition-delay:.35s}
.diagram.is-on .node:nth-of-type(9){transition-delay:.4s}
.step [data-dock]{width:118px}
.step::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background-color:var(--tk-turquoise);transform:scaleX(0);transform-origin:left;transition:transform .6s}
.step.is-active{background-color:var(--tk-navy-3);transform:translateY(-6px)}
.step.is-active::after{transform:scaleX(1)}
.approach__bar{margin-top:40px;height:2px;background-color:rgba(255,255,255,.12);position:relative}
.approach__bar i{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--tk-turquoise);transform:scaleX(0);transform-origin:left}
.services__lane [data-dock]{width:min(100%,150px);margin:72px 0 0}
.svc:hover,.svc.is-active{background-color:var(--tk-aqua);padding-left:20px;padding-right:20px}
.svc:hover .svc__num,.svc.is-active .svc__num{color:var(--tk-turquoise)}
.svc:hover .svc__arrow,.svc.is-active .svc__arrow{background-color:var(--tk-navy);color:var(--tk-white);transform:rotate(-45deg)}
.cta__logo [data-dock]{position:absolute;left:66.895%;top:17.857%;width:19.141%}
.cta__status{display:inline-flex;align-items:center;gap:10px;margin-top:40px;font-size:14px;font-weight:700;color:var(--tk-navy);opacity:0;transform:translateY(8px);transition:opacity .6s,transform .6s}
.cta__status .cta__dot{width:10px;height:10px;border-radius:50%;background-color:var(--tk-turquoise);box-shadow:0 0 0 6px rgba(91,200,220,.25)}
.cta.is-complete .cta__status{opacity:1;transform:none}
.ambient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}
.ambient canvas{display:block;width:100%;height:100%}
.js [data-reveal]{opacity:0;transform:translateY(28px)}
.js [data-reveal="clip"]{opacity:1;transform:none;clip-path:inset(0 0 100% 0)}
@media (max-width:960px){
  .services__lane [data-dock]{width:110px;margin:60px 0 36px}
}
@media (prefers-reduced-motion:reduce){
  .js [data-reveal],.js [data-reveal="clip"]{opacity:1;transform:none;clip-path:none}
  .hero__cue .cue__bar,.diagram.is-on line{animation:none}
}
@keyframes keyfloat{0%,100%{transform:translateY(0) rotate(-10deg)}50%{transform:translateY(-6px) rotate(-8deg)}}
.services-nav a:hover,.services-nav a.is-current{background-color:var(--tk-aqua);border-color:var(--tk-turquoise)}
