/* VELSUNO — official glyph, readable typography, premium motion, responsive. */
:root{--chila-red:#b72035;--chila-red-deep:#871b2b}
.velsuno-logo-inline{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;padding:0!important;width:42px;height:37px}
.velsuno-logo-inline img{display:block!important;width:100%!important;height:100%!important;max-width:100%;object-fit:contain}
.brand .velsuno-logo-inline{width:44px;height:39px}
.vx-demo-brand .velsuno-logo-inline,.vx-mini-powered .velsuno-logo-inline{width:31px;height:28px}
.suite-module-brand .velsuno-logo-inline{width:36px;height:34px}
.pos-velsuno-credit .velsuno-logo-inline{width:32px;height:28px}
.logo-link img,.footer-brand img{object-fit:contain}
.product-toolbar .toolbar-mark{display:flex;align-items:center;justify-content:center;width:31px;height:29px;background:transparent!important;border-radius:0!important;padding:0!important}
.product-toolbar .toolbar-mark img{width:100%;height:100%;object-fit:contain}
.product-sidebar .product-nav-item{border:0;width:100%;color:#586982;background:transparent;border-radius:7px;text-align:left;font:650 12px/1.35 inherit;padding:9px 12px;cursor:pointer;transition:background .22s,color .22s,transform .22s}
.product-sidebar .product-nav-item.active,.product-sidebar .product-nav-item[aria-pressed="true"]{background:#eaf1ff;color:#173e81;font-weight:800}
.product-sidebar .product-nav-item:hover{transform:translateX(3px);background:#f1f5fb;color:#152c4d}
.mini-kpis strong{font-variant-numeric:tabular-nums;transition:color .25s}
.product-refresh{font-size:9px;font-weight:800;letter-spacing:.08em;color:#657995}
.demo-bars i,.analytic-bars i,.vx-preview-bars i{transition:height .65s cubic-bezier(.15,.8,.25,1),background-color .5s ease,transform .6s ease!important;transform-origin:bottom}
.vx-preview-metrics strong{font-variant-numeric:tabular-nums}
.vx-cap-view[data-animate="yes"] .vx-preview-metrics strong{animation:metricPop .36s ease-out}
@keyframes metricPop{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
/* Reintroduce a one-time-per-page-load entry, not a static background. Original 5 scene scroll remains untouched. */
.vs-welcome{position:fixed;inset:0;z-index:99999;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;background:#081120;color:#fff;text-align:center;opacity:1;visibility:visible;transition:opacity .6s ease,visibility .6s ease}
.vs-welcome img{width:clamp(76px,13vw,120px);height:92px;object-fit:contain;animation:welcomeMark 1s cubic-bezier(.16,1,.3,1) both}
.vs-welcome-word{font:700 clamp(26px,5vw,42px)/1.2 system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:.25em;animation:welcomeWord .85s .22s both}
.vs-welcome small{font:700 9px/1.6 system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:.35em;color:#b8c9df;animation:welcomeWord .85s .36s both}
.vs-welcome-progress{height:2px;width:100px;background:linear-gradient(90deg,#3b75dc,#a0c0f3);transform-origin:left;animation:welcomeBar 1.3s .2s both}
.vs-welcome.is-done{opacity:0;visibility:hidden;pointer-events:none}
@keyframes welcomeMark{from{opacity:0;transform:perspective(800px) rotateY(-65deg) translateY(25px) scale(.84)}to{opacity:1;transform:perspective(800px) rotateY(0) translateY(0) scale(1)}}
@keyframes welcomeWord{from{opacity:0;transform:translateY(12px);letter-spacing:.4em}to{opacity:1;transform:translateY(0);letter-spacing:.25em}}
@keyframes welcomeBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* Scroll reveals, but without the content disappearing when JavaScript is disabled. */
.has-reveals .reveal-on-scroll{opacity:.01;transform:translateY(26px);transition:transform .75s cubic-bezier(.22,1,.36,1),opacity .75s ease}
.has-reveals .reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}
.vx-suite-card{transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,border-color .32s ease}
.vx-suite-card:hover,.vx-project-card:hover{transform:translateY(-5px)}
.vx-suite-icon{transition:transform .35s ease}.vx-suite-card:hover .vx-suite-icon{transform:rotate(-7deg) scale(1.08)}
/* Chila identity always red; use the user's original Chila mark. */
.vx-project-art.chila{background:var(--chila-red)!important;color:#fff}
.vx-suite-featured{border-color:#eac7cf;background:#fff7f8}
.vx-suite-featured .vx-suite-icon{background:var(--chila-red)!important}
.pos-brand{background:var(--chila-red)!important}
.pos-brand img{object-fit:contain}
.pos-receipt{background:#fffafb;border-color:#e6cbd1}
.pos-product:hover{background:#fff0f3;border-color:#c67786}
.pos-product span{color:#a42238}
.pos-velsuno-credit{border-color:#e8cbd1!important}
.suite-chila-brand{display:inline-flex;align-items:center;gap:6px;border-radius:7px;padding:6px 10px;background:var(--chila-red);color:#fff;font:800 10px/1.1 system-ui,sans-serif;letter-spacing:.11em;margin-left:9px}
.suite-chila-brand img{width:25px;height:25px;object-fit:contain}
/* Cotiza Pro: preserve existing C+ wordmark/color treatment, avoid replacing with unverified logo. */
.vx-cotiza-logo{border-radius:12px}
/* Refine header and responsive presentation */
.suite-app,.workspace,.module,.product-window,.product-body{min-width:0}
.architecture-code{margin-top:22px;padding:18px 19px;border:1px solid #395474;border-radius:12px;background:#081323;display:grid;gap:9px;color:#e2efff;font:600 11px/1.6 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.02em}
.architecture-code code{padding:4px 0;color:#bad5f3;border-bottom:1px solid #25364d}
.engineering-brand{display:flex;align-items:center;gap:10px;margin-bottom:20px;color:#b8d1f1;font:700 10px/1.4 ui-monospace,monospace;letter-spacing:.11em}.engineering-brand img{width:39px;height:34px;object-fit:contain}
/* Clear large and small screens */
@media(max-width:900px){.product-sidebar{display:flex;gap:5px;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.product-sidebar .product-nav-item{flex:0 0 auto;width:auto!important}.product-body{min-width:0}}
@media(max-width:600px){.vs-welcome-word{font-size:30px}.suite-module-brand{flex-wrap:wrap}.suite-chila-brand{margin-left:0}.vx-suite-grid{gap:12px}.product-toolbar{gap:6px}.product-toolbar .toolbar-mark{width:26px;height:25px}.product-refresh{display:none}}
@media(prefers-reduced-motion:reduce){.vs-welcome,.vs-welcome img,.vs-welcome-word,.vs-welcome small,.vs-welcome-progress{animation:none;transition:none}.has-reveals .reveal-on-scroll{opacity:1;transform:none;transition:none}.vx-suite-icon,.product-sidebar .product-nav-item{transition:none}}

/* MCC Studio portfolio: typography and neutral surface echo its own website, not a fabricated logo. */
.vx-project-art.mccharles{background:#f1f1eb!important;color:#152235!important;border-bottom:1px solid #dadfdc}
.mcc-identity{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;max-width:100%;padding:14px 20px;text-align:center}
.mcc-identity strong{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-weight:600;letter-spacing:-.065em;font-size:clamp(28px,3vw,44px);line-height:1.1;color:#1a2428}
.mcc-identity small{font:700 9px/1.4 ui-sans-serif,Arial,sans-serif;letter-spacing:.24em;color:#596466}
/* Portfolio: three balanced cards above, two expanded below; never one dangling card. */
@media(min-width:1001px){.vx-project-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}.vx-project-grid>.vx-project-card{grid-column:span 2}.vx-project-grid>.vx-project-card:nth-last-child(-n+2){grid-column:span 3}}
@media(min-width:621px) and (max-width:1000px){.vx-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.vx-project-grid>.vx-project-card:last-child{grid-column:span 2}}
@media(max-width:620px){.vx-project-grid{grid-template-columns:minmax(0,1fr)!important}.vx-project-grid>.vx-project-card{grid-column:auto!important}}
