.dot-slot{--dot-color: var(--azure);caret-color:var(--dot-color);position:relative;display:inline-block;width:.3em;height:.3em;flex:none}.dot-slot:before,.dot-slot:after{content:"";position:absolute;inset:0;border-radius:50%}.dot-slot:before{border:max(1.5px,.07em) solid currentColor;opacity:.25;transition:opacity .2s ease}.dot-slot:after{background:var(--dot-color);opacity:0}.dot-slot.is-on:after{opacity:1;animation:dot-land .5s var(--ease-out)}.dot-slot.is-on:before{border-color:var(--dot-color);opacity:0;animation:dot-ripple .6s ease-out}@keyframes dot-land{0%{transform:scale(1.35,.65)}45%{transform:scale(.9,1.12)}to{transform:scale(1)}}@keyframes dot-ripple{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(3.2)}}.dot-ball{position:fixed;left:0;top:0;z-index:45;width:100px;height:100px;border-radius:50%;background:var(--azure);box-shadow:0 0 0 9px #ffffffeb;opacity:0;pointer-events:none;will-change:transform}.dot-slot--white{--dot-color: #fff}.dot-slot--logo{position:absolute;left:34.64%;top:11.15%;width:4.57%;height:auto;aspect-ratio:1;transform:translate(-50%,-50%)}.dot-slot--logo:before{border-width:1px}.tp-h1-end{display:inline-flex;align-items:flex-end}.dot-slot--period{width:.28em;height:.28em;margin:0 0 .2em .04em}.dot-slot--period:before{border-width:.055em;opacity:1}.dot-slot--inline{width:.3em;height:.3em;margin-left:.1em;vertical-align:.02em}.dot-slot--inline:before{opacity:0}.dot-slot--no{width:.24em;height:.24em;margin-left:.14em;vertical-align:.06em}.dot-slot--no:before{opacity:0}.hm-tile--azure .dot-slot{--dot-color: #fff}.tp .hm-proc-no{white-space:nowrap}.tp .hm-proc li{grid-template-columns:76px 64px minmax(0,190px) minmax(0,1fr)}.hm-proc-no .dot-slot--no{width:.34em;height:.34em}.dot-slot--knob{position:absolute;inset:0;width:auto;height:auto}.dot-slot--knob:before{display:none}.dot-slot--sw{position:absolute;left:.18em;top:.18em;width:.94em;height:.94em;border-radius:50%;background:#fff;transition:translate .35s var(--ease-out)}.dot-slot--sw:before{display:none}.dot-slot--sw.is-passed{translate:1em 0}.dot-slot--sw.is-on{box-shadow:0 0 0 .09em #fff}.hm .dot-markline mark{background-image:linear-gradient(transparent 60%,var(--yellow) 60%);background-repeat:no-repeat;background-size:0% 100%;transition:background-size .6s var(--ease-out)}.hm .dot-markline:has(.is-passed) mark{background-size:100% 100%}.tp-stat .pct{position:relative;display:inline-block;width:.7em;height:.78em;margin-left:.1em;font-size:.7em;vertical-align:-.02em}.pct-ring,.dot-slot--pct{position:absolute;width:.28em;height:.28em}.pct-ring{left:0;top:0;border:.075em solid currentColor;border-radius:50%}.pct-slash{position:absolute;left:50%;top:-.02em;bottom:-.02em;width:.075em;background:currentColor;transform:translate(-50%) rotate(30deg)}.dot-slot--pct{right:0;bottom:0;--dot-color: #fff}.dot-slot--pct:before{border-width:.075em;opacity:1}.tp-expand{position:relative;border:0;background:transparent}.tp-expand>.wrap{position:relative;z-index:1}.xp-bg,.xp-rim{position:absolute;inset:0;clip-path:circle(var(--xp-r, 0px) at var(--xp-x, 20%) var(--xp-y, 96px))}.tp-expand--sky .xp-bg{background:var(--sky)}.tp-expand--navy .xp-bg{background:var(--dark)}.tp-expand .xp-rim{background:var(--azure)}.tp-expand .xp-bg{clip-path:circle(max(0px,calc(var(--xp-r, 0px) - 10px)) at var(--xp-x, 20%) var(--xp-y, 96px))}.tp-expand.is-full .xp-bg{clip-path:none}.tp-expand:not(.is-open) .xp-rim,.tp-expand.is-full .xp-rim{display:none}.dot-slot--burst{position:absolute;left:0;top:calc(var(--s8) * -1 + 34px);width:20px;height:20px}.dot-slot--burst:before,.dot-slot--burst:after{display:none}.tp-contact{padding:var(--s8) 0;overflow:hidden;color:#dbe7f4}.tp-contact-in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s7);align-items:end}.tp-contact>.wrap{clip-path:circle(max(0px,calc(var(--xp-r, 0px) - 10px)) at 10px calc(var(--s8) * -1 + 44px))}.tp-contact.is-full>.wrap{clip-path:none}.tp-contact .hm-cta-copy{position:relative}.tp-contact .hm-tag{color:#fff}.tp-contact .hm-h2{color:#fff;font-size:clamp(30px,4.2vw,56px)}.tp-contact .hm-cta-copy>p:not(.hm-tag){max-width:32em;margin-top:var(--s4)}.tp-contact .hm-chips{margin-top:var(--s5);color:var(--yellow)}.tp-contact .pl{align-self:flex-start;margin-top:var(--s2);color:#fff}.op{position:fixed;inset:0;z-index:300;display:none;overflow:hidden;background:var(--ink);color:#fff}html.is-opening .op{display:block}html.is-opening{overflow:hidden}.op:before{content:"";position:absolute;inset:0;background:#fff;opacity:calc(var(--flash, 0) * .08);pointer-events:none}.op-logo{position:absolute;left:50%;top:48%;width:min(62vw,760px);aspect-ratio:1312 / 269;transform:translate(-50%,-50%)}.op-base{display:block;width:100%;height:100%;opacity:.22}.op-letter{position:absolute;inset:0;background:url(/assets/logo-nodot-white.png) center / 100% 100% no-repeat;opacity:0;will-change:transform,opacity}.op-dot,.op-ring{position:absolute;left:0;top:0;width:100px;height:100px;border-radius:50%;will-change:transform}.op-dot{background:var(--azure)}.op-ring{box-sizing:border-box;border:3px solid var(--azure);opacity:0}.op-btn{position:absolute;bottom:24px;padding:10px 18px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:transparent;color:#fff;font-family:var(--jp);font-size:13px;font-weight:700;cursor:pointer}.op-skip{left:24px}@media(max-width:900px){.tp .hm-proc li{grid-template-columns:56px minmax(0,1fr) 52px}.tp .hm-proc p{grid-column:2 / -1}.tp-contact-in{grid-template-columns:minmax(0,1fr);gap:var(--s6)}.op-btn{bottom:16px;padding:9px 14px;font-size:12px}.op-skip{left:16px}}@media(prefers-reduced-motion:reduce){.dot-slot.is-on:after,.dot-slot.is-on:before{animation:none}.hm .dot-markline mark{background-size:100% 100%;transition:none}.dot-slot--sw{transition:none}.xp-bg{clip-path:none}.xp-rim{display:none}}.tp-chars{display:inline-flex}.tp-ch{display:inline-block}html.hero-wait .tp-ch,html.hero-wait .tp-pill,html.hero-wait .dd,html.hero-wait .tp-hero .hm-anno,html.hero-wait .tp-hero-side{opacity:0}html.hero-wait .tp-hero-buddy{opacity:.01}html.hero-in .tp-ch{animation:tp-rise .8s cubic-bezier(.2,1.4,.4,1) both;animation-delay:calc(var(--c) * 55ms)}@keyframes tp-rise{0%{opacity:0;transform:translateY(.55em) rotate(9deg) scale(.86)}45%{opacity:1}}html.hero-in .hm-pill--wide{animation:tp-pill-wide .9s var(--ease-out) both;animation-delay:calc(var(--c) * 55ms)}html.hero-in .hm-pill--round{animation:tp-pill-round .9s cubic-bezier(.2,1.4,.4,1) both;animation-delay:calc(var(--c) * 55ms)}@keyframes tp-pill-wide{0%{opacity:0;clip-path:inset(0 100% 0 0 round 999px)}to{opacity:1;clip-path:inset(0 0 0 0 round 999px)}}@keyframes tp-pill-round{0%{opacity:0;transform:rotate(-200deg) scale(0)}}.tp-hero .tp-pill{transition:translate .6s var(--ease-out),rotate .8s var(--ease-out)}.tp-hero .hm-pill--wide{translate:calc(var(--px, 0) * 14px) calc(var(--py, 0) * 8px)}.tp-hero .hm-pill--round{translate:calc(var(--px, 0) * -10px) calc(var(--py, 0) * -8px)}.tp-hero .hm-pill--round:hover{rotate:360deg}.tp-pill img{animation:tp-drift 14s ease-in-out infinite alternate}@keyframes tp-drift{to{transform:scale(1.14) translate(2%,-2%)}}html.hero-in .tp-hero .hm-anno{animation:tp-fade .6s ease both}html.hero-in .tp-hero-side{animation:tp-up .8s var(--ease-out) both .55s}html.hero-in .tp-hero-buddy{animation:tp-buddy-up .9s var(--ease-out) both .7s}@keyframes tp-buddy-up{0%{opacity:.01;transform:translateY(28px)}}@keyframes tp-fade{0%{opacity:0}}@keyframes tp-up{0%{opacity:0;transform:translateY(28px)}}.tp-hero .hm-hero-foot{grid-template-columns:minmax(0,1fr) auto;align-items:start}.tp-hero-buddy{position:relative;display:grid;justify-items:center;margin-right:clamp(0px,6vw,96px)}.tp-hero-buddy .tp-hero-ak{width:clamp(120px,14vw,196px)}html.hero-in .tp-hero-ak{animation:ak-pop .7s cubic-bezier(.2,1.5,.4,1) both .7s}@keyframes ak-pop{0%{transform:scale(.4)}}.tp-buddy-shadow{width:56%;height:12px;margin-top:6px;border-radius:50%;background:#0e1e3629;filter:blur(6px);animation:tp-shadow 3.4s ease-in-out infinite}@keyframes tp-shadow{50%{transform:scaleX(.82)}}.tp-buddy-talk{position:absolute;right:82%;top:-14%;width:clamp(44px,5vw,70px);height:auto;rotate:-6deg;animation:dd-float 5s ease-in-out infinite}.tp-hero-buddy:hover .ak-face--normal,.tp-contact:has(.dot-slot--knob.is-on) .ak-face--normal{display:none}.tp-hero-buddy:hover .ak-face--happy,.tp-contact:has(.dot-slot--knob.is-on) .ak-face--happy{display:inline}.dd-layer{position:absolute;inset:0;pointer-events:none}.dd{--n: 0;--depth: 16;position:absolute;height:auto;translate:calc(var(--px, 0) * var(--depth) * 1px) calc(var(--py, 0) * var(--depth) * 1px);transition:translate .7s var(--ease-out);animation:dd-float 6s ease-in-out infinite;animation-delay:calc(var(--n) * -.9s)}html.hero-in .dd{animation:dd-pop .6s cubic-bezier(.2,1.6,.4,1) both,dd-float 6s ease-in-out infinite;animation-delay:calc(.9s + var(--n) * 90ms),calc(var(--n) * -.9s)}@keyframes dd-pop{0%{opacity:0;scale:0}}@keyframes dd-float{50%{transform:translateY(-12px)}}.dd--cursor{--n: 0;--depth: 26;left:47%;top:13%;width:clamp(26px,2.8vw,42px)}.dd--code{--n: 1;--depth: -18;right:5%;top:17%;width:clamp(48px,5.4vw,84px)}.dd--switch{--n: 2;--depth: 12;left:44%;bottom:13%;width:clamp(44px,5vw,76px);rotate:-8deg}.dd--plus{--n: 3;--depth: -28;right:3.5%;top:44%;width:clamp(22px,2.4vw,36px)}.dd--load{--n: 5;--depth: 20;left:3%;bottom:8%;width:clamp(28px,3vw,44px)}.dd-knob{animation:dd-toggle 4.5s var(--ease-out) infinite}@keyframes dd-toggle{0%,42%{transform:translate(-32px)}50%,92%{transform:translate(0)}to{transform:translate(-32px)}}.dd-typing{animation:dd-typing 1.2s ease-in-out infinite}.dd-typing:nth-of-type(2){animation-delay:.15s}.dd-typing:nth-of-type(3){animation-delay:.3s}@keyframes dd-typing{30%{opacity:.35;transform:translateY(-4px)}}.dd--load path{transform-origin:24px 24px;animation:dd-spin 1.2s linear infinite}@keyframes dd-spin{to{transform:rotate(360deg)}}.kw{position:relative;z-index:2;padding:var(--s4) 0 var(--s6)}.kw-in{counter-reset:kw-on;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s6);border-top:4px solid var(--ink);font-family:var(--display);font-size:clamp(17px,1.9vw,27px);font-weight:800;line-height:1;letter-spacing:.01em}.kw-sw{--kw-c: var(--yellow);display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--s3);padding:.62em 0;border-bottom:1px solid rgba(14,30,54,.3)}.kw-sw--coral{--kw-c: var(--coral)}.kw-sw--azure{--kw-c: var(--azure)}.kw-sw--ink{--kw-c: var(--ink)}.kw-sw:has(.is-passed){counter-increment:kw-on}.kw-sw b{overflow:hidden;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.kw-state{min-width:2.6em;color:var(--sub);font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;text-align:right}.kw-state:after{content:"OFF"}.kw-sw:has(.is-passed) .kw-state{color:var(--ink)}.kw-sw:has(.is-passed) .kw-state:after{content:"ON"}.kw-track{position:relative;width:2.3em;height:1.3em;border-radius:999px;background:#0e1e3629;transition:background .3s ease}.kw-sw:has(.is-passed) .kw-track{background:var(--kw-c)}.kw-meter{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);padding:.62em 0;border-bottom:1px solid rgba(14,30,54,.3)}.kw-meter span{color:var(--sub);font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.kw-meter b{padding:0 .12em;background:linear-gradient(transparent 62%,var(--yellow) 62%) no-repeat left / 0% 100%;font-weight:800;transition:background-size .5s var(--ease-out)}.kw-meter b:before{content:counter(kw-on) " / " attr(data-total)}.kw-in:has(.kw-sw--last .is-passed) .kw-meter b{background-size:100% 100%}.nw{position:relative;z-index:1;padding:var(--s7) 0}.nw-in{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--s6);align-items:start}.nw-title{font-family:var(--display);font-size:clamp(52px,7.2vw,108px);font-weight:800;line-height:.86;letter-spacing:-.03em}.nw-sub{margin-top:var(--s4);font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.2em}.nw-body{position:relative}.nw-ak{position:absolute;right:var(--s5);bottom:100%;width:84px;margin-bottom:-9px}.nw-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s5);padding:var(--s4) 0}.nw-row time{display:grid;min-width:3.2em;font-size:clamp(40px,5.2vw,76px);line-height:.9}.nw-row time span{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.2em;line-height:1.6}.nw-row time b{font-family:var(--display);font-weight:800;letter-spacing:-.03em}.nw-row:first-child time b{color:var(--azure-deep)}.nw-row p{font-size:clamp(16px,1.7vw,22px);font-weight:800;line-height:1.5}.nw-row em{padding:5px 12px;border-radius:999px;background:var(--coral);color:var(--ink);font-family:var(--mono);font-size:11px;font-style:normal;font-weight:700;letter-spacing:.14em}.tp-phil-btn{margin-top:var(--s5)}.tp-talk{display:flex;align-items:flex-end;gap:14px}.tp-talk-ak{width:78px}.tp-bubble{position:relative;flex:1;padding:14px 16px;border-radius:18px;background:#ffffff17}.tp-bubble:before{content:"";position:absolute;left:-5px;bottom:26px;width:12px;height:12px;border-radius:2px;background:#1d2a3d;transform:rotate(45deg)}.sa{width:64px;height:64px}.sa-loop{transform-origin:48px 48px;animation:dd-spin 9s linear infinite}.sa-block{animation:sa-nudge 2.4s ease-in-out infinite}@keyframes sa-nudge{50%{transform:translate(4px)}}@media(max-width:900px){.dd--cursor,.dd--switch,.dd--load{display:none}.dd--code{right:5%;top:78px;width:46px}.dd--plus{right:22%;top:92px;width:20px}.tp-hero .hm-hero-foot{grid-template-columns:minmax(0,1fr) auto;gap:var(--s4)}.tp-hero-buddy{margin-right:var(--s2)}.tp-hero-buddy .tp-hero-ak{width:104px}.kw{padding:var(--s3) 0 var(--s5)}.kw-in{grid-template-columns:minmax(0,1fr);font-size:clamp(16px,2.6vw,22px)}.nw{padding:var(--s6) 0}.nw-in{grid-template-columns:minmax(0,1fr);gap:var(--s4)}.nw-title{font-size:52px}.nw-sub{margin-top:var(--s2)}.nw-ak{right:var(--s3);width:64px;margin-bottom:-7px}.nw-row{grid-template-columns:auto minmax(0,1fr);gap:var(--s4);padding:var(--s3) 0}.nw-row time{font-size:40px}.nw-row p{font-size:15px}.nw-row em{grid-column:2;justify-self:start;margin-top:-6px}.tp .hm-proc .sa{grid-column:3;grid-row:1;width:48px;height:48px}.tp .hm-proc li>div{grid-column:2;grid-row:1}.hm-btnrow .pb{width:100%}}@media(max-width:380px){.kw-in{font-size:min(14.5px,4.1vw)}.kw-state{display:none}}@media(prefers-reduced-motion:reduce){html.hero-in .tp-ch,html.hero-in .hm-pill--wide,html.hero-in .hm-pill--round,html.hero-in .tp-hero .hm-anno,html.hero-in .tp-hero-side,html.hero-in .tp-hero-buddy,html.hero-in .tp-hero-ak,.tp-buddy-shadow,.tp-buddy-talk,html.hero-in .dd,.dd,.dd-knob,.dd-typing,.dd--load path,.tp-pill img,.sa-loop,.sa-block{animation:none}.tp-hero .tp-pill,.dd,.kw-track,.kw-meter b{transition:none}.tp-expand .xp-bg{clip-path:none}.tp-contact>.wrap{clip-path:none}}
