@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.a188d1ff.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.d9ee93eb.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.a6d6de71.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_137d564f-module__HFi6Hq__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_137d564f-module__HFi6Hq__variable{--font-bricolage:"Bricolage Grotesque","Bricolage Grotesque Fallback"}
@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/91bd2e40df15814e-s.676ea585.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.af09ab9e.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.0d21604a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.7e59dfd6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk Fallback;src:local(Arial);ascent-override:99.07%;descent-override:30.02%;line-gap-override:0.0%;size-adjust:100.94%}.hanken_grotesk_f1b447ec-module__ZHT8IG__className{font-family:Hanken Grotesk,Hanken Grotesk Fallback;font-style:normal}.hanken_grotesk_f1b447ec-module__ZHT8IG__variable{--font-hanken:"Hanken Grotesk","Hanken Grotesk Fallback"}
.viso-landing{--font-display:var(--font-bricolage),"Segoe UI",system-ui,sans-serif;--font-body:var(--font-hanken),"Segoe UI",system-ui,sans-serif;--color-primary:#4318a8;--color-primary-hover:#5a28c7;--color-primary-light:#9b7be0;--color-primary-subtle:#efe7fe;--color-primary-deep:#2a0e63;--color-secondary:#c7b5ff;--color-secondary-hover:#d4c7ff;--color-accent:#ec6f2d;--color-accent-hover:#ff8845;--color-accent-subtle:#ffe9d8;--color-cta-secondary:#0f9d6e;--color-cta-secondary-hover:#0b7e58;--color-bg:#faf6f3;--color-surface:#fff;--color-surface-hover:#f7f1f4;--color-surface-2:#fcf8fb;--color-muted-bg:#f3ecfb;--color-text:#221730;--color-text-secondary:#5b5067;--color-text-muted:#877c92;--color-text-onbrand:#fff;--color-border:#ece3f1;--color-border-strong:#d8cce3;--color-border-subtle:#f4edf8;--color-success:#0f9d6e;--color-success-subtle:#ddf6ec;--color-warning:#d9870b;--color-warning-subtle:#fcefd3;--color-error:#dc3b40;--color-error-subtle:#fce3e3;--color-info:#6b4fc4;--color-info-subtle:#ede7fb;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-h6:1.125rem;--text-h5:1.25rem;--text-h4:1.5rem;--text-h3:1.875rem;--text-h2:2.25rem;--text-h1:3rem;--radius-sm:.5rem;--radius-base:.75rem;--radius-md:1rem;--radius-lg:1.25rem;--radius-xl:1.75rem;--radius-full:9999px;--shadow-sm:0 1px 2px #2a0e630f;--shadow-base:0 2px 6px #2a0e6312,0 1px 2px #2a0e630d;--shadow-md:0 8px 20px -6px #2a0e631f,0 3px 8px -4px #2a0e6314;--shadow-lg:0 18px 38px -12px #2a0e632e,0 6px 14px -8px #2a0e631a;--shadow-xl:0 30px 60px -18px #2a0e633d;--shadow-primary:0 8px 22px -6px #4318a859;--shadow-accent:0 8px 22px -6px #ec6f2d52;--focus-ring:0 0 0 3px var(--color-bg),0 0 0 5px var(--color-primary-light);background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6;transition:background-color .35s,color .35s;overflow-x:hidden}.viso-landing.dark{--color-primary:#a98bf2;--color-primary-hover:#bba1f6;--color-primary-light:#8e6fe0;--color-primary-subtle:#2c2143;--color-primary-deep:#c9b6fa;--color-secondary:#4a3b70;--color-secondary-hover:#574482;--color-accent:#ff9354;--color-accent-hover:#ffa871;--color-accent-subtle:#3a2417;--color-cta-secondary:#2dd4a0;--color-cta-secondary-hover:#4adbb0;--color-bg:#161020;--color-surface:#211931;--color-surface-hover:#2b2240;--color-surface-2:#1c1429;--color-muted-bg:#241b38;--color-text:#f4effb;--color-text-secondary:#c5bad9;--color-text-muted:#948aaa;--color-text-onbrand:#1a1026;--color-border:#352a4c;--color-border-strong:#4a3c66;--color-border-subtle:#281f3b;--color-success:#34d399;--color-success-subtle:#123a2e;--color-warning:#fbbf24;--color-warning-subtle:#3a2d0e;--color-error:#ff7074;--color-error-subtle:#3c1b1e;--color-info:#b49bf5;--color-info-subtle:#2a2143;--shadow-sm:0 1px 2px #0006;--shadow-base:0 2px 6px #00000073,0 1px 2px #0006;--shadow-md:0 8px 20px -6px #0000008c,0 3px 8px -4px #00000080;--shadow-lg:0 18px 38px -12px #0009,0 6px 14px -8px #0000008c;--shadow-xl:0 30px 60px -18px #000000b3;--shadow-primary:0 8px 22px -6px #a98bf266;--shadow-accent:0 8px 22px -6px #ff935459}.viso-landing *,.viso-landing :before,.viso-landing :after{box-sizing:border-box}.viso-landing ::selection{background:var(--color-primary-subtle);color:var(--color-primary)}.viso-landing :focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-base);outline:none}.viso-landing .ico{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.viso-landing .h1,.viso-landing .h2,.viso-landing .h3,.viso-landing .h4,.viso-landing .h5,.viso-landing .h6{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.12}.viso-landing .h1{font-size:var(--text-h1);font-weight:800}.viso-landing .h2{font-size:var(--text-h2)}.viso-landing .h3{font-size:var(--text-h3);line-height:1.18}.viso-landing .h4{font-size:var(--text-h4);letter-spacing:-.01em;line-height:1.25}.viso-landing .h5{font-size:var(--text-h5);letter-spacing:-.01em;font-weight:600;line-height:1.3}.viso-landing .h6{font-size:var(--text-h6);letter-spacing:0;font-weight:600;line-height:1.35}.viso-landing .body-lg{font-size:var(--text-lg);color:var(--color-text);line-height:1.6}.viso-landing .body{font-size:var(--text-base);color:var(--color-text);line-height:1.65}.viso-landing .body-secondary{font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.65}.viso-landing .body-muted{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.55}.viso-landing .text-small{font-size:var(--text-sm);line-height:1.5}.viso-landing .eyebrow{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary);font-weight:700}.viso-landing .btn{font-family:var(--font-body);font-weight:600;font-size:var(--text-base);border-radius:var(--radius-base);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1.5px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.6875rem 1.25rem;line-height:1.3;text-decoration:none;transition:transform .15s,background-color .2s,box-shadow .2s,border-color .2s,color .2s;display:inline-flex}.viso-landing .btn:active:not(:disabled){transform:translateY(0)scale(.98)}.viso-landing .btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.viso-landing .btn:focus-visible{box-shadow:var(--focus-ring)}.viso-landing .btn-primary{background:var(--color-primary);color:var(--color-text-onbrand);border-color:var(--color-primary);box-shadow:var(--shadow-primary)}.viso-landing .btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px)}.viso-landing .btn-accent{background:var(--color-accent);color:#fff;border-color:var(--color-accent);box-shadow:var(--shadow-accent)}.viso-landing .btn-accent:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:translateY(-1px)}.viso-landing .btn-secondary{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}.viso-landing .btn-secondary:hover:not(:disabled){background:var(--color-primary-subtle);border-color:var(--color-primary-light);color:var(--color-primary-hover)}.viso-landing .btn-ghost{color:var(--color-text-secondary);background:0 0;border-color:#0000}.viso-landing .btn-ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.viso-landing .btn-sm{font-size:var(--text-sm);border-radius:var(--radius-sm);gap:.375rem;padding:.4375rem .875rem}.viso-landing .btn-lg{font-size:var(--text-lg);border-radius:var(--radius-md);padding:.875rem 1.625rem}.viso-landing .btn .ico{width:1.05em;height:1.05em}.viso-landing .wrap{max-width:1180px;margin:0 auto;padding:0 1.5rem}.viso-landing .site-header{z-index:80;background:color-mix(in srgb,var(--color-bg)80%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);position:sticky;top:0}.viso-landing .nav{justify-content:space-between;align-items:center;gap:1rem;height:4.5rem;display:flex}.viso-landing .brand{align-items:center;gap:.65rem;text-decoration:none;display:flex}.viso-landing .brand .logo-mark{background:var(--color-primary);width:2.15rem;height:2.15rem;box-shadow:var(--shadow-primary);border-radius:.7rem;flex:none;place-items:center;display:grid}.viso-landing .brand .logo-mark svg{width:1.3rem;height:1.3rem}.viso-landing .brand .word{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-text);font-size:1.5rem;font-weight:800}.viso-landing .nav-links{align-items:center;gap:.35rem;display:flex}.viso-landing .nav-links a{font-size:var(--text-sm);color:var(--color-text-secondary);border-radius:var(--radius-base);padding:.5rem .85rem;font-weight:600;text-decoration:none;transition:all .16s}.viso-landing .nav-links a:hover{color:var(--color-primary);background:var(--color-primary-subtle)}.viso-landing .nav-actions{align-items:center;gap:.6rem;display:flex}.viso-landing .theme-btn{border-radius:var(--radius-full);border:1.5px solid var(--color-border-strong);background:var(--color-surface);width:2.4rem;height:2.4rem;color:var(--color-text-secondary);cursor:pointer;place-items:center;transition:all .16s;display:grid}.viso-landing .theme-btn:hover{color:var(--color-primary);border-color:var(--color-primary-light)}.viso-landing .theme-btn svg{width:1.15rem;height:1.15rem}.viso-landing .theme-btn .moon,.viso-landing.dark .theme-btn .sun{display:none}.viso-landing.dark .theme-btn .moon{display:block}.viso-landing .hamb{border-radius:var(--radius-base);border:1.5px solid var(--color-border-strong);background:var(--color-surface);width:2.4rem;height:2.4rem;color:var(--color-text);cursor:pointer;place-items:center;display:none}.viso-landing .hamb svg{width:1.3rem;height:1.3rem}.viso-landing .mobile-menu{border-top:1px solid var(--color-border);padding:1rem 0 1.25rem;display:none}.viso-landing .mobile-menu.open{display:block}.viso-landing .mobile-menu a{font-size:var(--text-base);color:var(--color-text);border-radius:var(--radius-base);padding:.7rem .5rem;font-weight:600;text-decoration:none;display:block}.viso-landing .mobile-menu a:hover{background:var(--color-primary-subtle);color:var(--color-primary)}.viso-landing .mobile-menu .m-actions{flex-direction:column;gap:.6rem;margin-top:.85rem;display:flex}.viso-landing .hero{padding:4.5rem 0 3rem;position:relative;overflow:hidden}.viso-landing .hero-mesh{z-index:-1;pointer-events:none;background:radial-gradient(circle at 14% 12%,color-mix(in srgb,var(--color-primary-light)26%,transparent),transparent 42%),radial-gradient(circle at 88% 8%,color-mix(in srgb,var(--color-accent)24%,transparent),transparent 46%),radial-gradient(circle at 60% 90%,color-mix(in srgb,var(--color-primary)14%,transparent),transparent 52%);position:absolute;inset:0}.viso-landing .hero-grid{grid-template-columns:1.02fr .98fr;align-items:center;gap:3rem;display:grid}.viso-landing .hero-eyebrow{background:var(--color-surface);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);align-items:center;gap:.5rem;margin-bottom:1.4rem;padding:.35rem .85rem .35rem .5rem;display:inline-flex}.viso-landing .hero-eyebrow .pill{background:var(--color-accent-subtle);color:var(--color-accent);font-size:var(--text-xs);border-radius:var(--radius-full);padding:.1rem .55rem;font-weight:700}.viso-landing .hero-eyebrow span.t{font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:600}.viso-landing .hero h1{max-width:13ch;font-size:clamp(2.6rem,5.2vw,3.6rem);line-height:1.05}.viso-landing .hero h1 .accent{color:var(--color-primary);position:relative}.viso-landing .hero h1 .accent:after{content:"";background:var(--color-accent-subtle);border-radius:var(--radius-full);z-index:-1;height:.28em;position:absolute;bottom:.08em;left:0;right:0}.viso-landing .hero p.lead{max-width:46ch;margin:1.35rem 0 0}.viso-landing .hero-cta{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.viso-landing .hero-trust{flex-wrap:wrap;align-items:center;gap:1.25rem;margin-top:1.75rem;display:flex}.viso-landing .hero-trust .item{font-size:var(--text-sm);color:var(--color-text-secondary);align-items:center;gap:.45rem;display:flex}.viso-landing .hero-trust .item svg{width:1.05rem;height:1.05rem;color:var(--color-success)}.viso-landing .mockup{position:relative}.viso-landing .mockup-window{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;transform:rotate(-1.2deg)}.viso-landing .mockup-bar{border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface-2);align-items:center;gap:.6rem;padding:.7rem .9rem;display:flex}.viso-landing .mockup-bar .dots{gap:.35rem;display:flex}.viso-landing .mockup-bar .dots i{border-radius:var(--radius-full);background:var(--color-border-strong);width:.6rem;height:.6rem;display:block}.viso-landing .mockup-bar .url{color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:.2rem .7rem;font-family:ui-monospace,monospace;font-size:.7rem}.viso-landing .mockup-body{grid-template-columns:64px 1fr;gap:.85rem;min-height:320px;padding:1rem;display:grid}.viso-landing .mock-side{flex-direction:column;gap:.55rem;display:flex}.viso-landing .mock-side .logo{border-radius:var(--radius-sm);background:var(--color-primary);height:1.6rem}.viso-landing .mock-side .nav-i{border-radius:var(--radius-full);background:var(--color-muted-bg);height:.85rem}.viso-landing .mock-side .nav-i.active{background:var(--color-primary-subtle)}.viso-landing .mock-main{flex-direction:column;gap:.7rem;display:flex}.viso-landing .mock-head{justify-content:space-between;align-items:center;display:flex}.viso-landing .mock-title{border-radius:var(--radius-full);background:var(--color-text);opacity:.85;width:38%;height:1rem}.viso-landing .mock-btn{border-radius:var(--radius-base);background:var(--color-accent);width:5rem;height:1.5rem;box-shadow:var(--shadow-accent)}.viso-landing .mock-cards{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.viso-landing .mock-prod{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.viso-landing .mock-prod .img{background:linear-gradient(135deg,var(--color-primary-subtle),var(--color-muted-bg));height:3.6rem}.viso-landing .mock-prod .ln{border-radius:var(--radius-full);background:var(--color-muted-bg);height:.55rem;margin:.5rem .5rem 0}.viso-landing .mock-prod .ln.s{width:55%}.viso-landing .mock-prod .price{border-radius:var(--radius-full);background:var(--color-primary-light);width:35%;height:.55rem;margin:.4rem .5rem .6rem}.viso-landing .mock-float{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);align-items:center;gap:.6rem;padding:.7rem .9rem;display:flex;position:absolute;bottom:-1.1rem;left:-1.4rem;transform:rotate(1.5deg)}.viso-landing .mock-float .ic{border-radius:var(--radius-full);background:var(--color-success-subtle);width:2rem;height:2rem;color:var(--color-success);place-items:center;display:grid}.viso-landing .mock-float .ic svg{width:1.05rem;height:1.05rem}.viso-landing .section{padding:4.5rem 0}.viso-landing .section-alt{background:var(--color-surface-2);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.viso-landing .section-head{text-align:center;max-width:42rem;margin:0 auto 3rem}.viso-landing .section-head .eyebrow{margin-bottom:.75rem;display:block}.viso-landing .section-head p{margin:.85rem 0 0}.viso-landing .feature-grid{grid-template-columns:repeat(3,1fr);gap:1.1rem;display:grid}.viso-landing .feature{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-base);padding:1.6rem;transition:transform .2s,box-shadow .2s,border-color .2s}.viso-landing .feature:hover{box-shadow:var(--shadow-lg);border-color:var(--color-primary-light);transform:translateY(-4px)}.viso-landing .feature .f-ico{border-radius:var(--radius-md);place-items:center;width:3rem;height:3rem;margin-bottom:1.1rem;display:grid}.viso-landing .feature .f-ico svg{width:1.4rem;height:1.4rem}.viso-landing .f-ico.p{background:var(--color-primary-subtle);color:var(--color-primary)}.viso-landing .f-ico.a{background:var(--color-accent-subtle);color:var(--color-accent)}.viso-landing .f-ico.s{background:var(--color-success-subtle);color:var(--color-success)}.viso-landing .feature h3{margin:0 0 .4rem}.viso-landing .feature.featured{background:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-primary)}.viso-landing .feature.featured h3,.viso-landing .feature.featured p{color:var(--color-text-onbrand)}.viso-landing .feature.featured .f-ico{background:color-mix(in srgb,var(--color-text-onbrand)18%,transparent);color:var(--color-text-onbrand)}.viso-landing .feature.featured:hover{transform:translateY(-4px)}.viso-landing .steps{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.viso-landing .step{padding-top:.5rem;position:relative}.viso-landing .step .num{border-radius:var(--radius-md);background:var(--color-surface);border:1.5px solid var(--color-border);width:3.2rem;height:3.2rem;box-shadow:var(--shadow-base);font-family:var(--font-display);color:var(--color-primary);place-items:center;margin-bottom:1.1rem;font-size:1.4rem;font-weight:800;display:grid}.viso-landing .step.alt .num{background:var(--color-accent);color:#fff;border-color:var(--color-accent);box-shadow:var(--shadow-accent)}.viso-landing .step h3{margin:0 0 .4rem}.viso-landing .step-connector{background:repeating-linear-gradient(90deg,var(--color-border-strong)0 6px,transparent 6px 12px);height:2px;position:absolute;top:1.6rem;left:4rem;right:-.75rem}.viso-landing .showcase{background:var(--color-surface-2);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.viso-landing .theme-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.viso-landing .theme-card{border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-md);background:var(--color-surface);transition:transform .2s;overflow:hidden}.viso-landing .theme-card:hover{transform:translateY(-5px)}.viso-landing .theme-shot{flex-direction:column;gap:.65rem;height:200px;padding:1.1rem;display:flex}.viso-landing .theme-shot .ts-top{justify-content:space-between;align-items:center;display:flex}.viso-landing .theme-shot .ts-brand{font-family:var(--font-display);font-size:1rem;font-weight:800}.viso-landing .theme-shot .ts-cart{border-radius:var(--radius-full);place-items:center;width:1.6rem;height:1.6rem;display:grid}.viso-landing .theme-shot .ts-cart svg{width:.9rem;height:.9rem}.viso-landing .theme-shot .ts-prods{grid-template-columns:1fr 1fr;gap:.55rem;margin-top:auto;display:grid}.viso-landing .theme-shot .ts-prod{border-radius:var(--radius-base);background:#ffffffa6;flex-direction:column;justify-content:flex-end;gap:.25rem;height:4.2rem;padding:.4rem;display:flex}.viso-landing .theme-shot .ts-prod .l{border-radius:var(--radius-full);opacity:.25;background:currentColor;height:.4rem}.viso-landing .theme-shot .ts-prod .pill{border-radius:var(--radius-full);color:#fff;align-self:flex-start;padding:.05rem .4rem;font-size:.6rem;font-weight:700}.viso-landing .theme-meta{border-top:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;padding:.9rem 1.1rem;display:flex}.viso-landing .theme-meta .swatches{gap:.3rem;display:flex}.viso-landing .theme-meta .swatches i{border-radius:var(--radius-full);border:1px solid #00000014;width:.95rem;height:.95rem;display:block}.viso-landing .showcase-note{text-align:center;margin-top:2rem}.viso-landing .price-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:1.25rem;display:grid}.viso-landing .plan{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-base);flex-direction:column;padding:1.75rem;display:flex}.viso-landing .plan.pop{border-color:var(--color-primary);box-shadow:var(--shadow-md);position:relative;transform:scale(1.03)}.viso-landing .plan-flag{background:var(--color-accent);color:#fff;font-size:var(--text-xs);border-radius:var(--radius-full);box-shadow:var(--shadow-accent);white-space:nowrap;padding:.25rem .85rem;font-weight:700;position:absolute;top:-.85rem;left:50%;transform:translate(-50%)}.viso-landing .plan h3{margin:0 0 .25rem}.viso-landing .plan .pdesc{font-size:var(--text-sm);color:var(--color-text-muted);min-height:2.6em}.viso-landing .plan .price{align-items:baseline;gap:.3rem;margin:1rem 0 .25rem;display:flex}.viso-landing .plan .price .amt{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.02em;font-size:2.5rem;font-weight:800}.viso-landing .plan .price .per{font-size:var(--text-sm);color:var(--color-text-muted)}.viso-landing .plan ul{flex-direction:column;flex:1;gap:.7rem;margin:1.25rem 0;padding:0;list-style:none;display:flex}.viso-landing .plan li{font-size:var(--text-sm);color:var(--color-text-secondary);align-items:flex-start;gap:.55rem;display:flex}.viso-landing .plan li svg{width:1.1rem;height:1.1rem;color:var(--color-success);flex:none;margin-top:.1rem}.viso-landing .plan .btn{width:100%}.viso-landing .plan .price-note{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.viso-landing .billing-toggle{background:var(--color-muted-bg);border-radius:var(--radius-full);gap:.25rem;margin-top:1.25rem;padding:.25rem;display:inline-flex}.viso-landing .billing-toggle button{cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-secondary);border-radius:var(--radius-full);background:0 0;border:none;align-items:center;gap:.45rem;padding:.5rem 1.1rem;font-weight:600;transition:background .18s,color .18s;display:inline-flex}.viso-landing .billing-toggle button:hover{color:var(--color-text)}.viso-landing .billing-toggle button.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-base)}.viso-landing .billing-toggle button:focus-visible{outline:var(--focus-ring);outline-offset:2px}.viso-landing .billing-toggle .bt-save{font-size:var(--text-xs);color:var(--color-success);background:var(--color-success-subtle);border-radius:var(--radius-full);white-space:nowrap;padding:.1rem .5rem;font-weight:700}.viso-landing .faq{flex-direction:column;gap:.75rem;max-width:46rem;margin:0 auto;display:flex}.viso-landing .faq-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .18s,box-shadow .18s;overflow:hidden}.viso-landing .faq-item[open]{border-color:var(--color-primary-light);box-shadow:var(--shadow-base)}.viso-landing .faq-q{cursor:pointer;font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);color:var(--color-text);justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 1.35rem;list-style:none;display:flex}.viso-landing .faq-q::-webkit-details-marker{display:none}.viso-landing .faq-q .chev{width:1.3rem;height:1.3rem;color:var(--color-primary);flex:none;transition:transform .22s}.viso-landing .faq-item[open] .faq-q .chev{transform:rotate(180deg)}.viso-landing .faq-a{color:var(--color-text-secondary);font-size:var(--text-base);padding:0 1.35rem 1.25rem;line-height:1.65}.viso-landing .final-cta{padding:4.5rem 0}.viso-landing .final-card{background:var(--color-primary);border-radius:var(--radius-xl);text-align:center;box-shadow:var(--shadow-primary);padding:3.5rem 2rem;position:relative;overflow:hidden}.viso-landing .final-card:before{content:"";background:radial-gradient(circle at 18% 20%,color-mix(in srgb,var(--color-accent)40%,transparent),transparent 45%),radial-gradient(circle at 85% 85%,color-mix(in srgb,var(--color-primary-light)55%,transparent),transparent 50%);opacity:.55;position:absolute;inset:0}.viso-landing .final-card>*{position:relative}.viso-landing .final-card h2{color:var(--color-text-onbrand);max-width:18ch;margin:0 auto;font-size:clamp(2rem,4vw,2.75rem)}.viso-landing .final-card p{color:color-mix(in srgb,var(--color-text-onbrand)82%,transparent);max-width:40ch;margin:1rem auto 0}.viso-landing .final-card .btn-row{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2rem;display:flex}.viso-landing .btn-on-brand{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-surface)}.viso-landing .btn-on-brand:hover:not(:disabled){background:var(--color-surface-hover);transform:translateY(-1px)}.viso-landing .btn-on-brand-ghost{color:var(--color-text-onbrand);border-color:color-mix(in srgb,var(--color-text-onbrand)40%,transparent);background:0 0}.viso-landing .btn-on-brand-ghost:hover:not(:disabled){background:color-mix(in srgb,var(--color-text-onbrand)14%,transparent)}.viso-landing .site-footer{border-top:1px solid var(--color-border);background:var(--color-surface-2);padding:3.5rem 0 2rem}.viso-landing .footer-grid{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2rem;display:grid}.viso-landing .footer-brand p{max-width:30ch;margin:.85rem 0 1.25rem}.viso-landing .footer-social{gap:.5rem;display:flex}.viso-landing .footer-social a{border-radius:var(--radius-full);border:1.5px solid var(--color-border-strong);width:2.3rem;height:2.3rem;color:var(--color-text-secondary);place-items:center;transition:all .16s;display:grid}.viso-landing .footer-social a:hover{color:var(--color-primary);border-color:var(--color-primary-light);background:var(--color-primary-subtle)}.viso-landing .footer-social svg{width:1.05rem;height:1.05rem}.viso-landing .footer-col h4{font-family:var(--font-display);font-size:var(--text-sm);color:var(--color-text);letter-spacing:.02em;margin:0 0 1rem;font-weight:700}.viso-landing .footer-col a{font-size:var(--text-sm);color:var(--color-text-secondary);padding:.35rem 0;text-decoration:none;transition:color .16s;display:block}.viso-landing .footer-col a:hover{color:var(--color-primary)}.viso-landing .footer-bottom{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;display:flex}.viso-landing .footer-bottom span{font-size:var(--text-sm);color:var(--color-text-muted)}.viso-landing .footer-legal{flex-wrap:wrap;align-items:center;gap:.35rem 1rem;display:flex}.viso-landing .footer-bottom .footer-authorship{font-size:var(--text-xs);color:var(--color-text-muted)}.viso-landing .footer-authorship a{color:var(--color-text-secondary);text-underline-offset:.2em;text-decoration:underline;-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong);transition:color .16s,text-decoration-color .16s}.viso-landing .footer-authorship a:hover{color:var(--color-primary);text-decoration-color:currentColor}@media (max-width:900px){.viso-landing .nav-links,.viso-landing .nav-actions .desktop-only{display:none}.viso-landing .hamb{display:grid}.viso-landing .hero-grid{grid-template-columns:1fr;gap:2.5rem}.viso-landing .mockup-window{transform:none}.viso-landing .mock-float{left:0}.viso-landing .feature-grid,.viso-landing .steps,.viso-landing .theme-grid,.viso-landing .price-grid{grid-template-columns:1fr}.viso-landing .step-connector{display:none}.viso-landing .plan.pop{transform:none}.viso-landing .footer-grid{grid-template-columns:1fr 1fr}.viso-landing .footer-brand{grid-column:1/-1}}@media (max-width:560px){.viso-landing .mock-cards{grid-template-columns:repeat(2,1fr)}.viso-landing .footer-grid{grid-template-columns:1fr}.viso-landing .hero-cta .btn,.viso-landing .final-card .btn{width:100%}}@media (prefers-reduced-motion:reduce){.viso-landing,.viso-landing *,.viso-landing :before,.viso-landing :after{transition-duration:.01ms!important}}
