body{margin:0;background:#fffaf3}
/* Tiny, the mascot: blinks every few seconds and now and then glances to the side. */
.tm-blink{transform-box:fill-box;transform-origin:50% 50%;animation:tm-tiny-blink 4.6s infinite}
.tm-look{animation:tm-tiny-look 9s ease-in-out infinite}
@keyframes tm-tiny-blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.12)}}
@keyframes tm-tiny-look{0%,38%,100%{transform:translateX(0)}44%,58%{transform:translateX(-2.4px)}64%,74%{transform:translateX(2.4px)}80%{transform:translateX(0)}}
@media (prefers-reduced-motion:reduce){.tm-blink,.tm-look{animation:none}}
a{color:#0a7d6c}a:hover{color:#13201e}
.tm-pin{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;box-sizing:border-box;padding:24px 0}
.tm-pin-in{width:100%;max-width:1400px;margin:0 auto;display:grid;grid-template-columns:minmax(0,380px) auto;justify-content:center;align-items:center;column-gap:80px}
.tm-copies{display:grid;min-width:0}
.tm-copy{grid-area:1/1;align-self:center;opacity:0;visibility:hidden;transform:translateY(18px);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.8,.2,1),visibility 0s linear .35s}
.tm-copy.is-on{opacity:1;visibility:visible;transform:none;transition:opacity .45s ease .1s,transform .55s cubic-bezier(.2,.8,.2,1) .1s,visibility 0s}
.tm-stage{display:flex;flex-direction:column;align-items:center;gap:12px}
.tm-lift{transform-origin:50% 30%;transition:transform .18s linear;will-change:transform}
.tm-layer{transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.tm-drill{transform:translateX(102%)}
.tm-drill.is-in{transform:none}
.tm-home.is-back{transform:translateX(-28%)}
.tm-fade{opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s}
.tm-fade.is-in{opacity:1;visibility:visible;transition:opacity .3s ease,visibility 0s}
.tm-float{animation:tm-float 7s ease-in-out infinite}
.tm-glow{animation:tm-glow 7s ease-in-out infinite}
@keyframes tm-float{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-12px) rotate(.8deg)}}
@keyframes tm-glow{0%,100%{transform:scale(1);opacity:.55}50%{transform:scale(.86);opacity:.35}}
.tm-press{transition:transform .2s ease}
.tm-edge{position:absolute;pointer-events:none;z-index:1}
.tm-edge-l{left:0;top:0;bottom:0;width:10%;background:linear-gradient(to right,#fffaf3 18%,rgba(255,250,243,0))}
.tm-edge-r{right:0;top:0;bottom:0;width:10%;background:linear-gradient(to left,#fffaf3 18%,rgba(255,250,243,0))}
.tm-edge-t{left:0;right:0;top:0;height:6%;background:linear-gradient(to bottom,#fffaf3 15%,rgba(255,250,243,0))}
.tm-edge-b{left:0;right:0;bottom:0;height:3%;background:linear-gradient(to top,#fffaf3 20%,rgba(255,250,243,0))}
.tm-scene-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 100%;animation:tm-bob 6s ease-in-out infinite;transition:opacity .3s linear,transform .3s linear;will-change:opacity,transform}
@keyframes tm-bob{0%,100%{translate:0 0}50%{translate:0 -6px}}
.tm-prop{opacity:0;transform-box:fill-box;transform-origin:50% 100%;transform:translateY(10px) scale(.92);transition:opacity .35s ease,transform .5s cubic-bezier(.2,.8,.2,1)}
.tm-prop.is-on{opacity:1;transform:none}
.tm-mouth{transform-box:fill-box;transform-origin:center;transform:scaleY(.28);transition:transform .2s ease}
.tm-mouth.is-talk{animation:tm-talk .28s ease-in-out infinite alternate}
.tm-eye{transform-box:fill-box;transform-origin:center;animation:tm-eyes 5s infinite}
.tm-waves{position:relative;z-index:2;opacity:0;transition:opacity .2s ease}
.tm-waves.is-talk{opacity:1}
.tm-waves.is-talk .tm-wave{animation:tm-wave 1s ease-out infinite}
.tm-steam{animation:tm-steam 2.4s ease-in-out infinite}
.tm-word{position:absolute;white-space:nowrap;padding:5px 11px;border-radius:999px;background:#c9f7ec;color:#04241f;font-size:14px;font-weight:600;box-shadow:0 6px 16px rgba(10,125,108,0.18);transition:left .16s linear,top .16s linear,opacity .16s linear,transform .16s linear}
@keyframes tm-talk{from{transform:scaleY(.25)}to{transform:scaleY(1)}}
@keyframes tm-eyes{0%,94%,100%{transform:scaleY(1)}96%{transform:scaleY(.1)}}
@keyframes tm-wave{0%{opacity:0}30%{opacity:1}100%{opacity:0}}
@keyframes tm-steam{0%{opacity:0;transform:translateY(6px)}40%{opacity:.9}100%{opacity:0;transform:translateY(-10px)}}
.tm-press.is-on{transform:scale(.96)}
.tm-chat{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.tm-chat.is-away{transform:translateY(103%)}
.tm-grow{display:grid;grid-template-rows:0fr;opacity:0;transform:scale(.94);transition:grid-template-rows .5s cubic-bezier(.2,.8,.2,1),opacity .4s ease .1s,transform .5s cubic-bezier(.2,.8,.2,1)}
.tm-grow.is-in{grid-template-rows:1fr;opacity:1;transform:none}
.tm-grow>div{min-height:0;overflow:hidden;padding:0 2px 4px;margin:0 -2px}
.tm-msg{animation:tm-rise .4s cubic-bezier(.2,.8,.2,1) both}
.tm-dot{animation:tm-blink 1.1s infinite ease-in-out}
.tm-mic{position:relative}
.tm-mic.is-rec::after{content:"";position:absolute;inset:-5px;border-radius:999px;border:2px solid #10c4a8;animation:tm-ping 1.2s infinite ease-out}
.tm-rail{display:flex;align-items:center}
.tm-rail-b{width:28px;height:44px;border:0;background:transparent;padding:0;margin:0;cursor:pointer;display:flex;align-items:center;justify-content:center}
.tm-rail-b span{display:block;width:6px;height:6px;border-radius:999px;background:#b9c4c1;transition:width .3s ease,background-color .3s ease}
.tm-rail-b:hover span{background:#55625f}
.tm-rail-b.is-on span{width:20px;background:#13201e}
.tm-rail-b:focus-visible,.tm-btn:focus-visible{outline:2px solid #0a7d6c;outline-offset:3px;border-radius:999px}
.tm-btn{cursor:pointer;border:0;font-family:inherit}
@keyframes tm-rise{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
@keyframes tm-blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
@keyframes tm-ping{from{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}
@media (max-width:1320px){.tm-person,.tm-stream{display:none}.tm-scene{gap:0 !important}}
@media (max-width:1320px){.tm-pin-in{column-gap:64px}}
@media (max-width:860px){
.tm-pin{padding:12px 0}
.tm-pin-in{grid-template-columns:minmax(0,1fr);gap:10px;align-content:center}
.tm-stage{order:-1;gap:4px}
.tm-note{display:none !important}
.tm-scene{padding-top:0 !important}
.is-intro .tm-stage{display:none}
.tm-h2{font-size:24px !important;line-height:1.15 !important}
.tm-p{font-size:15px !important;line-height:22px !important}
.tm-copy{gap:8px !important}
.tm-copy:not(.is-on){display:none !important}
.tm-navlink{display:none !important}
}
@media (prefers-reduced-motion:reduce){.tm-msg,.tm-dot,.tm-mic.is-rec::after,.tm-float,.tm-glow,.tm-mouth.is-talk,.tm-eye,.tm-waves.is-talk .tm-wave,.tm-steam,.tm-scene-vid{animation:none}.tm-copy,.tm-copy.is-on,.tm-chat,.tm-grow,.tm-layer,.tm-lift,.tm-press{transition:none}}
