@font-face{font-family:"DM Serif Display";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/dm-serif-display-latin-400-normal.C5_t9oOD.woff2) format("woff2"),url(/_astro/dm-serif-display-latin-400-normal._kVFYEpx.woff) format("woff")}@font-face{font-family:"DM Serif Display";font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/dm-serif-display-latin-400-italic.DpcbibHm.woff2) format("woff2"),url(/_astro/dm-serif-display-latin-400-italic.BgxzcTJK.woff) format("woff")}@font-face{font-family:"DM Serif Display";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/dm-serif-display-latin-ext-400-normal.p18AlW_x.woff2) format("woff2"),url(/_astro/dm-serif-display-latin-ext-400-normal.B1toqZab.woff) format("woff")}@font-face{font-family:"DM Serif Display";font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/dm-serif-display-latin-ext-400-italic.DiLdooSn.woff2) format("woff2"),url(/_astro/dm-serif-display-latin-ext-400-italic.D6UvgSoX.woff) format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/poppins-latin-400-normal.cpxAROuN.woff2) format("woff2"),url(/_astro/poppins-latin-400-normal.BOb3E3N0.woff) format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/poppins-latin-500-normal.C8OXljZJ.woff2) format("woff2"),url(/_astro/poppins-latin-500-normal.DGXqpDMm.woff) format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/poppins-latin-600-normal.zEkxB9Mr.woff2) format("woff2"),url(/_astro/poppins-latin-600-normal.BJdTmd5m.woff) format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/poppins-latin-ext-400-normal.by3JarPu.woff2) format("woff2"),url(/_astro/poppins-latin-ext-400-normal.DaBSavcJ.woff) format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/poppins-latin-ext-500-normal.CK-6C4Hw.woff2) format("woff2"),url(/_astro/poppins-latin-ext-500-normal.CgAe2rWW.woff) format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/poppins-latin-ext-600-normal.CAhIAdZj.woff2) format("woff2"),url(/_astro/poppins-latin-ext-600-normal.Df5ffKXP.woff) format("woff")}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/dancing-script-latin-600-normal.CUtcW3hj.woff2) format("woff2"),url(/_astro/dancing-script-latin-600-normal.8nA_0nHX.woff) format("woff")}:root{--paper: #fbf8f1;--paper-2: #f5f0e2;--surface: #ffffff;--sand: #efe7d6;--sage: #cbddb8;--teal: #2f7f78;--teal-d: #256660;--teal2: #54a096;--teal-50: #eaf3f1;--teal-100: #d3e6e2;--sage-50: #f1f6ea;--sage-100: #e3edd6;--ink: #23302e;--text-2: #3f4f4c;--muted: #60706c;--border: #e8e1d0;--border-2: #d9d0bb;--ok: #3aa17e;--grad: linear-gradient(135deg, #2f7f78 0%, #54a096 100%);--grad-soft: linear-gradient(135deg, #f1f6ea 0%, #eaf3f1 100%);--sh-sm: 0 2px 6px rgba(35, 48, 46, .06);--sh: 0 10px 28px rgba(35, 48, 46, .09);--sh-lg: 0 30px 70px rgba(35, 48, 46, .16);--sh-teal: 0 8px 20px rgba(47, 127, 120, .3);--ease: cubic-bezier(.22, .9, .3, 1);--serif: "DM Serif Display", Georgia, serif;--font: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16.5px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,p,ul{margin:0;padding:0}ul{list-style:none}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}svg{display:block}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:8px}.ic{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.wrap{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}.progress{position:fixed;z-index:80;top:0;left:0;right:0;height:3px;background:var(--grad);transform:scaleX(0);transform-origin:left;box-shadow:0 0 12px #54a09699}.sec,.hero{position:relative;isolation:isolate}.deco{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.pat{position:absolute;inset:0;background-repeat:repeat;background-size:360px 300px;animation:drift 140s linear infinite}.pat.mix{background-image:url(/patterns/code.svg),url(/patterns/data.svg);background-position:0 0,180px 150px;-webkit-mask-image:radial-gradient(ellipse 85% 80% at 78% 30%,#000 0%,transparent 78%);mask-image:radial-gradient(ellipse 85% 80% at 78% 30%,#000 0%,transparent 78%)}.pat.code{background-image:url(/patterns/code.svg);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 78%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 78%,transparent 100%)}.pat.data{background-image:url(/patterns/data.svg);background-position:90px 60px;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 78%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 78%,transparent 100%)}@keyframes drift{to{background-position:360px 300px,540px 450px}}.pat.data{animation-name:drift-data}@keyframes drift-data{to{background-position:450px 360px}}.blob{position:absolute;background-repeat:no-repeat;background-size:contain}.blob.teal{right:-40px;top:0;width:min(620px,62vw);aspect-ratio:620 / 420;background-image:url(/patterns/blob-teal.svg);background-position:right top;opacity:.92;animation:breathe 16s ease-in-out infinite;transform-origin:top right}.blob.sage{left:-50px;bottom:-30px;width:min(520px,56vw);aspect-ratio:520 / 340;background-image:url(/patterns/blob-sage.svg);background-position:left bottom;opacity:.85;animation:breathe 20s ease-in-out infinite reverse;transform-origin:bottom left}.blob.stripes{right:-50px;bottom:-40px;width:230px;aspect-ratio:1;background-image:url(/patterns/stripes.svg);animation:spin 90s linear infinite}.blob.stripes.l{inset:80px auto auto -60px;width:200px}.blob.wave{right:6%;top:0;width:200px;height:100%;background-image:url(/patterns/path.svg);background-position:top center;background-size:200px auto;background-repeat:repeat-y;opacity:.55}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes spin{to{transform:rotate(360deg)}}.reveal.reveal{transition:opacity .8s var(--ease),translate .8s var(--ease),scale .8s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease),border-color .3s,background .45s;transition-delay:calc(var(--i, 0) * 80ms),calc(var(--i, 0) * 80ms),calc(var(--i, 0) * 80ms),0s,0s,0s,0s}.reveal.pre{opacity:0;translate:0 24px}.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}.nav.scrolled{border-bottom-color:var(--border);box-shadow:0 6px 24px #23302e0f}.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px}.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:22px;letter-spacing:.01em}.links{display:flex;gap:4px}.links a{position:relative;padding:8px 13px;font-size:14.5px;font-weight:500;color:var(--muted);transition:color .3s}.links a:after{content:"";position:absolute;left:13px;right:13px;bottom:2px;height:2px;border-radius:2px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.links a:hover,.links a.on{color:var(--ink)}.links a:hover:after,.links a.on:after{transform:scaleX(1)}.acts{display:flex;gap:10px;align-items:center}.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;font-weight:600;font-size:15px;border:1px solid transparent;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s,color .3s,background .3s;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.98)}.btn.p{background:var(--grad);color:#fff;box-shadow:var(--sh-teal)}.btn.p:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.4) 50%,transparent 70%);transform:translate(-120%);transition:transform .7s var(--ease)}.btn.p:hover{box-shadow:0 12px 28px #2f7f786b}.btn.p:hover:after{transform:translate(120%)}.btn.o{background:#fffc;border-color:var(--border-2)}.btn.o:hover{border-color:var(--teal);color:var(--teal-d);box-shadow:var(--sh-sm)}.btn.sm{min-height:42px;padding:0 18px;font-size:14px}.cvm{position:relative}.cvm .chev{width:14px;height:14px;transition:transform .3s var(--ease)}.cvm[data-open=true] .chev{transform:rotate(180deg)}.cvpop{position:absolute;z-index:70;top:calc(100% + 10px);right:0;min-width:290px;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--sh-lg);opacity:0;translate:0 -8px;scale:.98;pointer-events:none;transform-origin:top right;transition:opacity .25s var(--ease),translate .3s var(--ease),scale .3s var(--ease)}.cvm[data-open=true] .cvpop{opacity:1;translate:0 0;scale:1;pointer-events:auto}.cvpop a{display:flex;align-items:center;gap:14px;padding:12px;border-radius:12px;transition:background .25s}.cvpop a:hover{background:var(--teal-50)}.cvpop .sq{flex:0 0 40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:20px;background:var(--teal-50);color:var(--teal);transition:background .25s,color .25s}.cvpop a:nth-child(2) .sq{background:var(--sage-100);color:var(--teal-d)}.cvpop a:hover .sq{background:var(--teal);color:#fff}.cvpop b{display:block;font-size:14.5px;font-weight:600;line-height:1.3}.cvpop small{display:block;font-size:12.5px;color:var(--muted);font-weight:400}.hero .cvpop{right:auto;left:0;transform-origin:top left}.sec{padding:112px 0}.sec.alt{background:var(--paper-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.head{margin-bottom:56px;max-width:640px}.kicker{display:inline-block;font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:12px}.h2{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4.2vw,48px);letter-spacing:-.005em;line-height:1.1;text-wrap:balance}.sub{color:var(--muted);margin-top:12px}.hero{padding:64px 0 104px;overflow-x:clip}.hgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}.badge{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;font-weight:500;color:var(--text-2);background:#ffffffd9;border:1px solid var(--border);border-radius:999px;padding:7px 16px;margin-bottom:26px;box-shadow:var(--sh-sm)}.dot{width:8px;height:8px;border-radius:50%;background:var(--ok);display:inline-block;animation:ping 2.4s ease-out infinite}@keyframes ping{0%{box-shadow:0 0 #3aa17e80}to{box-shadow:0 0 0 10px #3aa17e00}}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(38px,4.8vw,62px);letter-spacing:-.01em;line-height:1.06;text-wrap:balance}.tagline{margin-top:14px;font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.2vw,26px);color:var(--teal)}.typed{margin-top:18px;font-size:clamp(17px,1.9vw,21px);font-weight:500;min-height:2.9em;color:var(--text-2)}.typed b{font-weight:600;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.caret{display:inline-block;width:3px;height:1.05em;margin-left:3px;vertical-align:-.15em;background:var(--teal2);border-radius:2px;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.hero .sub{margin:2px 0 30px;max-width:470px}.cta{display:flex;flex-wrap:wrap;gap:12px}.load{animation:rise .9s var(--ease) both;animation-delay:calc(var(--i, 0) * 90ms + 60ms)}@keyframes rise{0%{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}.scene{position:relative;width:100%;max-width:520px;margin-left:auto;height:calc(620px * var(--s, 1))}.scene-in{position:absolute;left:0;top:0;width:520px;height:620px;transform-origin:top left;transform:scale(var(--s, 1))}.scene svg.route{position:absolute;inset:0;width:520px;height:620px;overflow:visible}.route .rail{stroke:var(--sage);stroke-width:16;stroke-linecap:round;fill:none}.route .flow{stroke:var(--teal2);stroke-width:3;stroke-linecap:round;fill:none;stroke-dasharray:2 14;animation:flow 1.6s linear infinite}@keyframes flow{to{stroke-dashoffset:-32}}.route .nd{fill:var(--paper);stroke:var(--teal);stroke-width:5}.route .pulse{fill:none;stroke:var(--teal2);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center;animation:pulse 3.2s ease-out infinite}@keyframes pulse{0%{transform:scale(.8);opacity:.7}to{transform:scale(2.4);opacity:0}}.sc{position:absolute;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--sh-lg);padding:14px 16px;transition:box-shadow .5s var(--ease)}.sc:hover{box-shadow:0 36px 80px #23302e38}.sc .tag{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:8px}.sc .logos{display:flex;gap:6px}.sc .logos img{width:22px;height:22px;object-fit:contain}.sc h4{margin:0;font-family:var(--serif);font-weight:400;font-size:18px;line-height:1.2}.sc p{margin:2px 0 0;font-size:12px;color:var(--muted);line-height:1.45}.sc code .cl{display:block;white-space:pre}.sc code{display:block;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:11.5px;line-height:1.75;color:var(--text-2)}.sc code .k{color:var(--teal);font-weight:600}.sc code .s{color:#6a9a52}.sc code .c{color:#98a49f}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chips span{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;padding:3px 10px 3px 6px;border-radius:999px;background:var(--teal-50);color:var(--teal-d)}.chips span img{width:14px;height:14px}.chips span.plain{padding-left:10px}.flowrow{display:flex;align-items:center;gap:8px;margin-top:10px}.flowrow img{width:26px;height:26px;object-fit:contain}.flowrow .bar{flex:1;height:6px;border-radius:6px;background:var(--sage-100);position:relative;overflow:hidden}.flowrow .bar:after{content:"";position:absolute;inset:0;width:40%;border-radius:6px;background:var(--grad);animation:slide 2.4s ease-in-out infinite}@keyframes slide{0%{translate:-100% 0}to{translate:260% 0}}.minichart{display:flex;align-items:flex-end;gap:6px;height:46px;margin-top:10px}.minichart i{flex:1;border-radius:4px 4px 0 0;background:var(--grad);transform-origin:bottom;animation:grow 1.4s var(--ease) both;display:block}@keyframes grow{0%{transform:scaleY(.05)}to{transform:scaleY(1)}}.c1{left:104px;top:0;width:316px}.c2{left:24px;top:152px;width:248px}.c3{left:150px;top:304px;width:300px}.c4{left:150px;top:478px;width:250px}.c1,.c2,.c3,.c4{animation:float 8s ease-in-out infinite}.c2{animation-delay:-2s}.c3{animation-delay:-4s}.c4{animation-delay:-6s}@keyframes float{0%,to{translate:0 0}50%{translate:0 -7px}}.row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center;padding:56px 0;border-top:1px solid var(--border)}.row:first-of-type{border-top:0;padding-top:0}.row.flip .media{order:2}.media{position:relative;background:var(--grad-soft);border:1px solid var(--sage-100);border-radius:26px;padding:30px;display:grid;place-items:center;min-height:360px;overflow:hidden;transition:box-shadow .5s var(--ease),border-color .4s}.media:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(closest-side,rgba(84,160,150,.22),transparent);left:var(--mx, 50%);top:var(--my, 50%);translate:-50% -50%;opacity:0;transition:opacity .4s;pointer-events:none}.media:hover:before{opacity:1}.media:hover{border-color:var(--teal-100);box-shadow:var(--sh)}.media .frame{position:relative;width:100%}.media:hover .frame{box-shadow:0 34px 80px #23302e38}.tilt{transform:perspective(1100px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .5s var(--ease);will-change:transform}.frame{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--sh-lg);overflow:hidden;transition:box-shadow .5s var(--ease)}.chrome{display:flex;align-items:center;gap:7px;height:34px;padding:0 14px;background:linear-gradient(180deg,#fffdf8,#f6f1e4);border-bottom:1px solid var(--border)}.chrome i{width:10px;height:10px;border-radius:50%;background:var(--sand);display:block}.chrome i:nth-child(1){background:#e8a79a}.chrome i:nth-child(2){background:#ecd29a}.chrome i:nth-child(3){background:var(--sage)}.chrome span{margin-left:10px;font-size:12px;font-weight:500;color:var(--muted)}.frame img{width:100%;height:auto}.frame .zoom{overflow:hidden}.frame .zoom img{transition:transform .9s var(--ease)}.media:hover .zoom img{transform:scale(1.025)}.phone{border-radius:26px;padding:5px;background:var(--surface);border:1px solid var(--border-2);box-shadow:var(--sh-lg)}.phone img{border-radius:21px;width:100%;height:auto}.trio{position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:330px}.trio .phone{position:absolute;width:150px;transition:transform .6s var(--ease),box-shadow .5s}.trio .phone:nth-child(1){transform:translate(-118px) rotate(-7deg) scale(.92);z-index:1}.trio .phone:nth-child(2){z-index:3;width:168px}.trio .phone:nth-child(3){transform:translate(118px) rotate(7deg) scale(.92);z-index:2}.media:hover .trio .phone:nth-child(1){transform:translate(-150px) rotate(-9deg) scale(.94)}.media:hover .trio .phone:nth-child(2){transform:translateY(-8px) scale(1.03)}.media:hover .trio .phone:nth-child(3){transform:translate(150px) rotate(9deg) scale(.94)}.info{display:flex;flex-direction:column;gap:14px;align-items:flex-start}.st{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;padding:5px 13px;border-radius:999px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--sh-sm)}.st i{width:7px;height:7px;border-radius:50%;display:block;background:var(--muted)}.st.live i{background:var(--ok)}.st.dev i{background:var(--teal)}.info h3{font-family:var(--serif);font-weight:400;font-size:clamp(32px,3.4vw,42px);line-height:1.08}.info p{color:var(--text-2);max-width:430px}.meta{font-size:14px;font-weight:500;color:var(--muted)}.lk{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--teal-d);transition:gap .3s var(--ease)}.lk:hover{gap:13px}.coming{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px;padding-top:40px;border-top:1px solid var(--border)}.coming h3{grid-column:1 / -1;font-family:var(--serif);font-weight:400;font-size:26px;margin-bottom:-4px}.mini{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;box-shadow:var(--sh-sm)}.mini:hover{transform:translateY(-4px);box-shadow:var(--sh);border-color:var(--border-2)}.mini .sq{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:22px;transition:transform .4s var(--ease)}.mini:hover .sq{transform:rotate(-8deg) scale(1.08)}.mini.dev .sq{background:var(--teal-50);color:var(--teal)}.mini.data .sq{background:var(--sage-100);color:var(--teal-d)}.mini b{font-family:var(--serif);font-weight:400;font-size:22px}.mini .d{font-size:14.5px;color:var(--muted)}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.sk{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:26px;padding:32px;box-shadow:var(--sh-sm)}.sk:hover{transform:translateY(-3px);box-shadow:var(--sh)}.sk:before{content:"";position:absolute;inset:0;background:radial-gradient(320px circle at var(--mx, 50%) var(--my, 0%),rgba(84,160,150,.14),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}.sk:hover:before{opacity:1}.sk>*{position:relative}.sk h3{font-family:var(--serif);font-weight:400;font-size:28px;color:var(--teal-d);line-height:1.15}.sk .lead{color:var(--muted);margin:6px 0 22px;font-size:15.5px}.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tile{border-radius:16px;padding:16px 4px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;transition:transform .35s var(--ease),background .3s,box-shadow .35s var(--ease)}.sk.dev .tile{background:var(--teal-50);box-shadow:inset 0 0 0 1px var(--teal-100)}.sk.data .tile{background:var(--sage-50);box-shadow:inset 0 0 0 1px var(--sage-100)}.tile img{width:32px;height:32px;object-fit:contain;transition:transform .4s var(--ease)}.tile:hover{transform:translateY(-5px);background:var(--surface)}.tile:hover img{transform:scale(1.14)}.sk.dev .tile:hover{box-shadow:0 12px 24px -8px #2f7f7866,inset 0 0 0 1px var(--teal)}.sk.data .tile:hover{box-shadow:0 12px 24px -8px #54a09666,inset 0 0 0 1px var(--teal2)}.tile span{font-size:11.5px;font-weight:500;color:var(--text-2);line-height:1.25;min-height:2.5em;display:flex;align-items:flex-start;justify-content:center}.more{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.more span{font-size:12.5px;font-weight:500;padding:5px 12px;border-radius:999px;transition:transform .3s var(--ease)}.more span:hover{transform:translateY(-2px)}.sk.dev .more span{background:var(--teal-50);color:var(--teal-d)}.sk.data .more span{background:var(--sage-100);color:var(--teal-d)}.also{margin-top:28px;color:var(--muted);font-size:15px;text-align:center}.also b{color:var(--text-2);font-weight:600}.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}.price{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:26px;padding:32px;box-shadow:var(--sh-sm)}.price:hover{transform:translateY(-6px);box-shadow:var(--sh);border-color:var(--teal-100)}.price:before{content:"";position:absolute;inset:0;background:radial-gradient(320px circle at var(--mx, 50%) var(--my, 0%),rgba(84,160,150,.14),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}.price:hover:before{opacity:1}.price>*{position:relative}.price .sq{width:50px;height:50px;border-radius:50%;background:var(--teal-50);color:var(--teal);display:grid;place-items:center;font-size:24px;transition:transform .4s var(--ease),background .3s,color .3s}.price:hover .sq{background:var(--teal);color:#fff;transform:rotate(-8deg)}.price h3{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.15}.price .amt{font-family:var(--serif);font-size:36px;line-height:1.05;color:var(--teal-d)}.price .amt small{font-family:var(--font);font-size:14px;font-weight:500;color:var(--muted);margin-left:6px}.price p{color:var(--muted);font-size:15px}.price ul{display:flex;flex-direction:column;gap:9px;margin:4px 0 10px;flex:1}.price li{display:flex;gap:10px;align-items:center;font-size:14.5px;font-weight:500;color:var(--text-2)}.price li:before{content:"";flex:0 0 18px;height:18px;border-radius:50%;background:var(--sage-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23256660' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/11px no-repeat}.price .btn{width:100%}.price.feat{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 26px 54px -20px #2f7f78a6;transform:translateY(-8px)}.price.feat:hover{transform:translateY(-12px)}.price.feat .sq{background:#fff3;color:#fff}.price.feat:hover .sq{background:#fff;color:var(--teal)}.price.feat h3,.price.feat .amt{color:#fff}.price.feat .amt small,.price.feat p{color:#ffffffdb}.price.feat li{color:#fff}.price.feat li:before{background-color:#ffffff40;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E")}.price.feat .btn{background:#fff;color:var(--teal-d);box-shadow:var(--sh)}.price.feat:before{background:radial-gradient(320px circle at var(--mx, 50%) var(--my, 0%),rgba(255,255,255,.18),transparent 60%)}.cgrid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start}.lines{display:flex;flex-direction:column}.ln{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--border);text-align:left;width:100%;transition:color .3s,padding .35s var(--ease)}.ln:first-child{border-top:1px solid var(--border)}a.ln:hover,button.ln:hover{padding-left:8px}.ln .sq{flex:0 0 46px;height:46px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:21px;transition:background .3s,transform .4s var(--ease)}a.ln:hover .sq,button.ln:hover .sq{background:var(--teal2);transform:rotate(-8deg)}.ln small{display:block;font-size:13px;color:var(--muted);font-weight:400;line-height:1.3}.ln b{font-size:16.5px;font-weight:500;overflow-wrap:anywhere}.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.pills a{font-size:13.5px;font-weight:500;padding:6px 14px;border-radius:999px;background:var(--teal-50);color:var(--teal-d);transition:background .3s,color .3s,transform .3s var(--ease)}.pills a:nth-child(2){background:var(--sage-100)}.pills a:hover{transform:translateY(-2px);background:var(--teal);color:#fff}.form{background:var(--surface);border:1px solid var(--border);border-radius:26px;padding:32px;box-shadow:var(--sh)}.fl2{display:block;font-size:13.5px;font-weight:600;color:var(--text-2);margin:0 0 8px}.fi{width:100%;border:1px solid var(--border-2);background:var(--paper);border-radius:14px;padding:13px 16px;font-size:15.5px;outline:none;transition:border-color .3s,box-shadow .3s,background .3s}.fi:focus{border-color:var(--teal);box-shadow:0 0 0 4px var(--teal-50);background:var(--surface)}textarea.fi{min-height:130px;resize:vertical}.r2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}.fnote{font-size:13.5px;color:var(--muted)}.brand:hover .logo{transform:rotate(-8deg) scale(1.08)}.ln.mail{padding:0;gap:8px}.ln.mail .mlk{flex:1;min-width:0;display:flex;align-items:center;gap:16px;padding:18px 0;transition:padding .35s var(--ease)}.ln.mail .mlk:hover{padding-left:8px}.ln.mail .mlk:hover .sq{background:var(--teal2);transform:rotate(-8deg)}.cp{position:relative;flex:0 0 44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:19px;color:var(--teal-d);background:var(--teal-50);transition:background .3s,color .3s,transform .3s var(--ease)}.cp:hover{background:var(--teal);color:#fff;transform:translateY(-2px)}.cp .ic{grid-area:1 / 1;transition:opacity .25s,transform .35s var(--ease)}.cp .i-done{opacity:0;transform:scale(.5)}.cp.done{background:var(--teal);color:#fff}.cp.done .i-copy{opacity:0;transform:scale(.5)}.cp.done .i-done{opacity:1;transform:scale(1)}.fact{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:20px}textarea.fi{min-height:190px;line-height:1.6}.mini,.sk,.price:not(.feat),.form{background:linear-gradient(180deg,var(--surface),#fdfbf6);box-shadow:var(--sh-sm),inset 0 1px #ffffffe6}.mini:hover,.sk:hover,.price:not(.feat):hover{box-shadow:var(--sh),inset 0 1px #ffffffe6}.form{box-shadow:var(--sh),inset 0 1px #ffffffe6}.sk.dev .tile{background:linear-gradient(180deg,#f3f9f7,var(--teal-50))}.sk.data .tile{background:linear-gradient(180deg,#f7faf1,var(--sage-50))}.sk .tile:hover{background:var(--surface)}.mini,.sk,.price,.tile,.media{transition:transform .4s var(--ease),box-shadow .45s var(--ease),border-color .35s,background .45s}.sec.alt{background:linear-gradient(180deg,var(--paper-2),#f7f2e6 50%,var(--paper-2))}@media(max-width:900px){.hgrid{grid-template-columns:1fr;gap:40px}.acts .cvm{display:none}.hero{padding:40px 0 72px}.scene{margin:0 auto}.two,.pgrid{grid-template-columns:1fr}.pgrid{max-width:480px}.price.feat{transform:none}.price.feat:hover{transform:translateY(-6px)}.cgrid{grid-template-columns:1fr;gap:32px}}@media(max-width:860px){.row{grid-template-columns:1fr;gap:28px;padding:40px 0}.row.flip .media{order:0}.coming,.r2{grid-template-columns:1fr}.form{padding:24px}}@media(max-width:760px){.links,.acts .cvm{display:none}.sec{padding:72px 0}.head{margin-bottom:40px}.media{padding:20px;min-height:300px}.trio{height:290px}.trio .phone{width:128px}.trio .phone:nth-child(2){width:144px}.trio .phone:nth-child(1){transform:translate(-92px) rotate(-7deg) scale(.92)}.trio .phone:nth-child(3){transform:translate(92px) rotate(7deg) scale(.92)}.blob.wave,.blob.stripes.l{display:none}}@media(max-width:420px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.sk,.price{padding:24px}}:root{--glow: 84, 160, 150;--media-bg: linear-gradient(145deg, #f6f9ee 0%, #eef5f1 55%, #eaf3f1 100%)}body[data-app]{background:var(--paper)}[data-app=passman]{--paper: #f4f8fd;--paper-2: #e9f0fa;--sand: #e2ebf7;--teal: #1f5fbf;--teal-d: #154a99;--teal2: #3d8bf0;--teal-50: #e8f0fc;--teal-100: #cfe0f8;--sage: #bdd5f5;--sage-50: #eff5fd;--sage-100: #dbe8fa;--border: #dbe5f2;--border-2: #c6d4e7;--ink: #16233a;--text-2: #3a4962;--muted: #5b6a83;--grad: linear-gradient(135deg, #154a99 0%, #3d8bf0 100%);--grad-soft: linear-gradient(135deg, #eff5fd, #e8f0fc);--sh-teal: 0 8px 20px rgba(31, 95, 191, .3);--glow: 61, 139, 240;--media-bg: linear-gradient(145deg, #eff5fd 0%, #e6effb 55%, #dbe8fa 100%)}[data-app=sira]{--paper: #f8f7ff;--paper-2: #efedfc;--sand: #e8e5fa;--teal: #5046e5;--teal-d: #3d33c4;--teal2: #8b6cf0;--teal-50: #efedff;--teal-100: #dcd8fd;--sage: #d6cffb;--sage-50: #f6f4ff;--sage-100: #e7e3fe;--border: #e4e1f5;--border-2: #d2cdee;--ink: #1e1b3a;--text-2: #423f69;--muted: #6a678f;--grad: linear-gradient(135deg, #3b6cf0 0%, #8a4fe0 100%);--grad-soft: linear-gradient(135deg, #f6f4ff, #efedff);--sh-teal: 0 8px 20px rgba(80, 70, 229, .3);--glow: 124, 92, 240;--media-bg: linear-gradient(145deg, #f6f4ff 0%, #eeebfd 55%, #e7e3fe 100%)}[data-app=apphub]{--paper: #f5f9ff;--paper-2: #e8f1fe;--sand: #e0ecfc;--teal: #2563eb;--teal-d: #1d4ed8;--teal2: #38a9f8;--teal-50: #eaf3ff;--teal-100: #d1e5fe;--sage: #c3e3fb;--sage-50: #eff8ff;--sage-100: #d9eefd;--border: #dde8f6;--border-2: #c8d9ef;--ink: #14233c;--text-2: #384a66;--muted: #596b88;--grad: linear-gradient(135deg, #2563eb 0%, #38bdf8 100%);--grad-soft: linear-gradient(135deg, #eff8ff, #eaf3ff);--sh-teal: 0 8px 20px rgba(37, 99, 235, .3);--glow: 56, 140, 248;--media-bg: linear-gradient(145deg, #eff8ff 0%, #e6f1fe 55%, #d9eefd 100%)}.brand{gap:4px}.brand .bn{font-family:Dancing Script,Segoe Script,cursive;font-weight:600;font-size:36px;line-height:1;letter-spacing:0;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 2px 4px}.logo{display:block;flex:none;width:auto;transition:transform .5s var(--ease)}.selwrap{position:relative}.selwrap select{appearance:none;-webkit-appearance:none;padding-right:48px;cursor:pointer}.selwrap .ic{position:absolute;right:18px;top:50%;translate:0 -50%;font-size:18px;color:var(--teal);pointer-events:none;transition:transform .3s var(--ease)}.selwrap:focus-within .ic{transform:rotate(180deg)}.subj{margin-bottom:22px}.foot{padding:26px 0 22px;background:var(--paper-2);border-top:1px solid var(--border);color:var(--muted);font-size:14px}.fmin{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 28px}.foot .brand .bn{font-size:32px}.flegal{display:flex;flex-wrap:wrap;gap:6px 22px}.flegal a{transition:color .3s}.flegal a:hover{color:var(--teal-d)}.soc{display:flex;gap:10px}.soc a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:18px;background:var(--surface);border:1px solid var(--border);color:var(--teal-d);box-shadow:var(--sh-sm);transition:background .3s,color .3s,transform .35s var(--ease),box-shadow .3s}.soc a:hover{background:var(--grad);color:#fff;transform:translateY(-3px);box-shadow:var(--sh-teal)}.fcopy{margin-top:12px;font-size:13px}.totop{position:fixed;z-index:75;right:max(20px,env(safe-area-inset-right,0px));bottom:max(20px,env(safe-area-inset-bottom,0px));width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:22px;color:var(--teal-d);background:conic-gradient(var(--teal) calc(var(--p, 0) * 1turn),var(--border-2) 0);box-shadow:var(--sh);opacity:0;translate:0 18px;pointer-events:none;transition:opacity .35s,translate .5s var(--ease),transform .3s var(--ease),box-shadow .3s}.totop:before{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--surface);transition:background .3s}.totop .ic{position:relative;transition:transform .35s var(--ease),color .3s}.totop.show{opacity:1;translate:0 0;pointer-events:auto}.totop:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}.totop:hover:before{background:var(--teal-50)}.totop:hover .ic{transform:translateY(-3px)}.media{background:var(--media-bg)}.media>*{position:relative;z-index:1}.media:after{content:"";position:absolute;inset:0;background:radial-gradient(rgba(var(--glow),.24) 1.2px,transparent 1.7px) 0 0 / 20px 20px;-webkit-mask-image:radial-gradient(ellipse at center,transparent 28%,#000 100%);mask-image:radial-gradient(ellipse at center,transparent 28%,#000 100%);pointer-events:none}.media:before{z-index:0;background:radial-gradient(closest-side,rgba(var(--glow),.24),transparent)}.frame,.phone{position:relative;box-shadow:0 30px 60px -22px rgba(var(--glow),.45),var(--sh-lg)}.frame:after,.phone:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,transparent 36%,rgba(255,255,255,.4) 49%,transparent 62%);transform:translate(-130%);transition:transform 1s var(--ease)}.media:hover .frame:after,.media:hover .phone:after,.slide:hover .frame:after,.slide:hover .phone:after{transform:translate(130%)}.frame img,.phone img{filter:saturate(1.06) contrast(1.02)}.media .frame,.media .trio{animation:float 8s ease-in-out infinite}.row[data-app] .info .st i{background:var(--teal)}.row[data-app] .lk{color:var(--teal-d)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tilt{transform:none}.reveal.pre{translate:none;scale:none}.pat,.blob,.c1,.c2,.c3,.c4,.aurora i,.mq-track,.media .frame,.media .trio,.fchip,.halo,.stage:before,.dot,.route .flow,.route .pulse{animation:none}}.nf{text-align:center;padding:96px 0 128px}.nf .cta{justify-content:center;margin-top:28px}.nf-code{font-family:var(--serif);font-size:clamp(96px,20vw,200px);line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:8px}
