.tc{display:flex;flex-direction:column;gap:14px}.tc-shot{position:relative;display:block;aspect-ratio:16 / 10;overflow:hidden;border:1px solid #ddd3c2;border-radius:14px;background:#ece5d8;isolation:isolate}.tc-shot:focus-visible{outline:2px solid #2b3a4f;outline-offset:3px}.tc-desk{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.tc-phone{position:absolute;right:3.5%;bottom:6%;height:86%;aspect-ratio:390 / 844;padding:1.1%;border-radius:10%/4.6%;background:#15171c;box-shadow:0 18px 40px #14161c59,0 2px 6px #14161c40;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.tc-phone img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;border-radius:8.4%/3.9%;background:#fff}.tc-cta{position:absolute;left:50%;top:50%;z-index:2;padding:11px 20px;border-radius:999px;background:#2b3a4feb;color:#fbf7ef;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;opacity:0;transform:translate(-50%,-40%);transition:opacity .3s,transform .3s;pointer-events:none}.tc-shot:hover .tc-cta,.tc-shot:focus-visible .tc-cta{opacity:1;transform:translate(-50%,-50%)}.tc-shot:hover .tc-phone{transform:translateY(-4px)}.tc-shot:hover .tc-desk{transform:scale(1.02)}.tc-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:4px}.tc-meta h3{margin:0;font-size:20px;font-weight:400}.tc-meta span{font-size:11px;color:#7b7266}.tc-blurb{margin:0;font-size:14px;line-height:1.6;color:#5d6a80}.tc-links{display:flex;flex-wrap:wrap;gap:20px;align-items:center}.tc-link{padding-bottom:3px;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #2b3a4f}.tc-link--muted{color:#7b7266;border-bottom-color:#c9bda8}.demo-loading{min-height:100vh;background:#f4f0e9}.demo-bar,.demo-bar-pill{position:fixed;left:50%;bottom:18px;z-index:880;transform:translate(-50%);font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#fbf7ef;background:#1e2838e6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 12px 34px #0a0e1659}.demo-bar{display:flex;align-items:center;gap:6px;max-width:calc(100vw - 24px);padding:6px;border-radius:999px;white-space:nowrap}.demo-bar a{color:#fbf7ef;text-decoration:none}.demo-bar-back,.demo-bar-cta{padding:10px 16px;border-radius:999px;transition:background .2s}.demo-bar-back:hover{background:#fbf7ef1f;color:#fbf7ef}.demo-bar-short{display:none}.demo-bar-name{padding:0 10px;color:#cdd6e2}.demo-bar-name em{margin-left:6px;font-style:normal;color:#e6bf6a}.demo-bar a.demo-bar-cta{background:#e6bf6a;color:#2b3a4f}.demo-bar a.demo-bar-cta:hover{background:#f0d295;color:#2b3a4f}.demo-bar-x{width:32px;height:32px;margin-left:2px;padding:0;border:0;border-radius:50%;background:transparent;color:#cdd6e2;font-size:18px;line-height:1;cursor:pointer}.demo-bar-x:hover{background:#fbf7ef1f}.demo-bar-pill{left:16px;transform:none;padding:10px 16px;border:0;border-radius:999px;cursor:pointer}@media (max-width: 760px){.demo-bar{left:12px;bottom:calc(16px + env(safe-area-inset-bottom));gap:2px;max-width:calc(100vw - 92px);padding:4px;transform:none}.demo-bar-name,.demo-bar-long{display:none}.demo-bar-short{display:inline}.demo-bar-back,.demo-bar-cta{padding:10px 12px}.demo-bar-x{width:30px;height:30px}.demo-bar-pill{left:12px;bottom:calc(16px + env(safe-area-inset-bottom))}}body{margin:0;background:#f4f0e9;color:#2b3a4f;font-family:Libre Baskerville,Georgia,serif}a:where(:not(.tpl a)){color:#2b3a4f;text-decoration:none}a:where(:not(.tpl a)):hover{color:#b96f6f}input,textarea,button,select{font:inherit;color:inherit}three-d-stage:not(:defined){visibility:hidden}.btn-dark:hover{background:#3d5270}.btn-outline-dark:hover{background:#2b3a4f;color:#fbf7ef}.btn-gold:hover{background:#f0d295}.knotiva-caret{display:inline-block;width:2px;height:1em;margin-left:2px;background:#d98c8c;vertical-align:-.15em;animation:knotiva-blink .9s steps(1) infinite}@keyframes knotiva-blink{50%{opacity:0}}.scene-page{margin:0;height:100vh;overflow:hidden;background:#f4f0e9}
