/* Original Vitrio presentation; no third-party UI, images or animation library.
   Display font is SIL OFL licensed; brand colour tokens remain authoritative. */
@font-face{font-family:'Libertinus Serif Display';src:url("../fonts/libertinus-serif-display-latin.0ae5525e0afb.woff2") format('woff2');font-style:normal;font-weight:400;font-display:swap}
body.marketing-suite :is(h1,h2){font-family:var(--vi-font-head)!important;font-weight:400!important;letter-spacing:-.018em;line-height:1.1}
body.marketing-suite :is(h3,h4){font-family:var(--vi-font-head)!important}
body.marketing-suite .section h2{font-size:clamp(2rem,3.4vw,3rem)}
body.marketing-suite .split-hero h1{font-size:clamp(2.6rem,4.4vw,4rem)}
body.marketing-suite .split-hero-media{overflow:hidden;border-radius:0 0 24px 24px}
body.marketing-suite :is(.guide-card,.plan-mini-card,.solutions-card){transition:transform 220ms ease,box-shadow 220ms ease,border-color 220ms ease}
body.marketing-suite :is(.guide-card,.plan-mini-card,.solutions-card):hover{transform:translateY(-3px);box-shadow:0 14px 34px color-mix(in srgb,var(--ink) 8%,transparent);border-color:color-mix(in srgb,var(--orange) 38%,var(--line))}
/* Cinematic photo banner, actual Vitrio screens and explicit playback controls. */
body.marketing-suite.home-modern .hero.vi-cinematic-hero{background:#15171c;padding:4.5rem 0 2rem;isolation:isolate}
body.marketing-suite.home-modern .hero.vi-cinematic-hero::before{display:none}
.vi-banner-scenes{position:absolute;inset:0;z-index:-2;background:#15171c;overflow:hidden}
.vi-banner-scenes::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#10141bbd,#171324ba 42%,#15171ce8 90%)}
.vi-banner-scenes img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 900ms ease,transform 8s ease;transform:scale(1.025)}
.vi-banner-scenes img.is-current{opacity:1;transform:scale(1)}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .hero-grid{gap:1.8rem;max-width:1440px}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .hero-grid>div:first-child{max-width:1200px}
body.marketing-suite.home-modern .hero.vi-cinematic-hero h1{font-size:clamp(2.7rem,4.4vw,4rem);color:#fff;line-height:1.09;margin:.8rem auto 1.25rem}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .hero-headline-line{white-space:normal}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .grad-text{color:#9de4f8;background:none;-webkit-text-fill-color:currentColor}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .eyebrow{color:#e9dcff;border-color:#ffffff42;background:#ffffff0f;letter-spacing:.08em}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .lead{color:#ececf2;font-size:clamp(1.0625rem,1.3vw,1.2rem)!important;line-height:1.65;max-width:790px}
body.marketing-suite.home-modern .hero.vi-cinematic-hero :is(.hero-reassurance,.quick-fact){color:#e7e5ee}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .btn-blue{color:#fff;border:1px solid #ffffff66;background:#ffffff10}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .quick-fact{display:inline-flex;margin:8px 0 0!important;gap:8px}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .hero-visual.product-preview{width:min(880px,100%);padding:0 90px 18px}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .product-real-preview{border:1px solid #ffffff52;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 22px 50px #0005}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .product-screenshot-link{display:block;aspect-ratio:2.1;overflow:hidden;background:#fff}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .product-screenshot-link img{width:100%;height:100%;object-fit:cover;object-position:top}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .product-screenshot-link>span{display:none}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .product-real-preview>figcaption{padding:9px 14px;color:#4b5563;font-size:11px;line-height:1.5}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .preview-phone{width:145px;bottom:12px;border-radius:24px}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .preview-phone-stock{left:15px;transform:rotate(-5deg)}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .preview-phone-orders{right:15px;transform:rotate(5deg)}
.vi-banner-controls{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;width:100%;color:#fff}
.vi-banner-choices{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.vi-banner-controls button{font:inherit;min-height:44px;border:1px solid #ffffff42;border-radius:7px;color:#fff;background:#ffffff0b;cursor:pointer;padding:9px 13px;font-size:13px}
.vi-banner-controls button[aria-pressed=true]{background:#ffffff24;border-color:#d6bcff}
.vi-banner-controls button:focus-visible{outline:2px solid #9de4f8;outline-offset:4px}
.vi-banner-caption{font-size:13px;color:#e5e1eb;text-align:center;margin:0}
.vi-banner-arrows{display:flex;gap:6px}
.vi-banner-arrows button{min-width:44px;padding:9px}
.vi-banner-caption-link{color:inherit;text-decoration:underline;text-underline-offset:3px}
.home-section-index.vi-below-hero{padding:8px 20px 0;margin-bottom:20px}
/* A shared interactive operational screen, not an API-connected dashboard. */
.vi-story-section{background:color-mix(in srgb,var(--orange) 3%,var(--white,#fff))}
.vi-story-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:36px;align-items:end;margin-bottom:30px}
.vi-story-intro h2{max-width:620px;margin:12px 0 0}
.vi-story-intro>p{font-size:17px;line-height:1.7;color:var(--muted);max-width:460px;margin:0}
.vi-story{border:1px solid color-mix(in srgb,var(--orange) 18%,var(--line));border-radius:18px;background:var(--white,#fff);overflow:hidden;box-shadow:0 24px 65px color-mix(in srgb,var(--ink) 7%,transparent)}
.vi-story-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 26px;border-bottom:1px solid var(--line)}
.vi-story-brand{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;min-width:0}
.vi-story-brand strong{font-size:19px}.vi-story-brand>span{font-size:12px;color:var(--muted);border-left:1px solid var(--line);padding-left:12px;margin-left:5px}
.vi-example-label{font-size:11px;line-height:1.5;color:var(--muted);text-align:right}
.vi-story-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--orange) 2%,var(--white,#fff))}
.vi-story-tabs button{min-width:0;min-height:65px;padding:14px 12px;font:inherit;font-size:13px;line-height:1.4;font-weight:500;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted)}
.vi-story-tabs button>span{font-size:10px;color:var(--muted)}
.vi-story-tabs button[aria-selected=true]{color:var(--orange-dark);background:color-mix(in srgb,var(--orange) 7%,var(--white,#fff));border-bottom-color:var(--orange)}
.vi-story-tabs button:focus-visible{outline:2px solid var(--orange);outline-offset:-5px}
.vi-story-body{display:grid;grid-template-columns:minmax(0,1fr) 300px}
.vi-story-main{padding:32px;min-width:0}.vi-story-panel{min-height:355px}.vi-story-panel[hidden]{display:none}
.vi-story-panel:not([hidden]){animation:vi-story-arrive 240ms ease both}
.vi-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}
.vi-role-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.vi-state-badge{font-size:11px;line-height:1.5;padding:5px 9px;border:1px solid var(--line);border-radius:6px;color:var(--orange-dark);background:color-mix(in srgb,var(--orange) 4%,var(--white,#fff))}
.vi-story-panel h3{font-size:clamp(1.35rem,2vw,1.6rem);letter-spacing:-.03em;line-height:1.3;font-weight:500;margin:0 0 12px}
.vi-story-panel>p{font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 24px}
.vi-lot-table{border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:22px}
.vi-lot-row{display:grid;grid-template-columns:1.5fr 1fr 1.15fr;gap:12px;padding:14px 16px;align-items:center;font-size:13px;border-top:1px solid var(--line)}
.vi-lot-row:first-child{border:0}.vi-lot-head{background:color-mix(in srgb,var(--ink) 3%,var(--white,#fff));color:var(--muted);font-size:11px}.vi-lot-row strong{font-weight:500}
.vi-lot-status{color:#176757}.vi-lot-muted{color:var(--muted);font-size:12px}
.vi-story-link{display:flex;align-items:center;gap:9px;color:var(--orange-dark);font-size:13px;margin-top:22px;text-decoration:underline;text-underline-offset:4px;width:fit-content}
.vi-story-evidence{border-left:1px solid var(--line);padding:30px 25px;background:color-mix(in srgb,var(--blue) 3%,var(--white,#fff));min-width:0}
.vi-balance{display:flex;align-items:baseline;gap:9px;margin:9px 0}.vi-balance strong{font-size:40px;line-height:1.2;letter-spacing:-.05em;font-weight:500;font-variant-numeric:tabular-nums}.vi-balance>span{font-size:15px;color:var(--muted)}
.vi-stock-gauge{height:5px;border-radius:5px;overflow:hidden;background:var(--line);margin:15px 0}.vi-stock-gauge>span{display:block;width:83.333%;height:100%;background:linear-gradient(90deg,var(--orange),var(--blue));transition:width 280ms ease}
.vi-balance-basis{font-size:11px;line-height:1.8;color:var(--muted);margin-bottom:25px}.vi-story-evidence h3{font-size:13px;font-weight:600;margin:0 0 14px}
.vi-evidence-trail{list-style:none;padding:0;margin:0;display:grid;gap:12px}.vi-evidence-trail li{position:relative;padding-left:15px;font-size:12px;line-height:1.7;color:var(--muted)}.vi-evidence-trail li::before{content:'';position:absolute;top:7px;left:0;width:5px;height:5px;border-radius:50%;background:var(--orange)}
.vi-story-notice{font-size:12px;line-height:1.75;margin:23px 0 0;padding-top:17px;border-top:1px solid var(--line);color:var(--ink)}
.vi-story-reset{border:0;background:none;color:var(--orange-dark);font:inherit;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:10px 0;margin-top:8px}
.vi-story-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 26px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.vi-story-bottom a{color:var(--orange-dark);text-decoration:none;font-weight:500}
.vi-story :is(a,button,.vi-story-panel):focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.vi-story .btn{min-height:44px;padding:11px 16px;font-size:13px}.vi-story button:disabled{cursor:not-allowed;opacity:.45}
.vi-example-actions{display:flex;flex-wrap:wrap;gap:10px}.vi-recipe-flow{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:20px;border:1px solid var(--line);border-radius:9px;margin-bottom:22px}.vi-recipe-flow>span{font-size:11px;color:var(--muted)}.vi-recipe-flow strong{display:block;color:var(--ink);font-size:18px;font-weight:500;margin-bottom:5px}
.vi-document-preview{display:grid;gap:14px;padding:20px;border:1px solid var(--line);border-top:3px solid var(--orange);border-radius:9px;margin-bottom:24px}.vi-document-preview>span{font-size:11px;color:var(--muted)}.vi-document-preview>strong{font-weight:500;font-size:18px}.vi-document-preview>div{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding-top:12px;font-size:13px}.vi-document-preview>div strong{font-weight:500}
.vi-approval-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}.vi-approval-route>div{padding:17px;border:1px solid var(--line);border-radius:9px;display:flex;flex-direction:column;gap:9px}.vi-approval-route span{font-size:11px;color:var(--orange-dark)}.vi-approval-route strong{font-size:13px;font-weight:500}.vi-approval-route small{font-size:11px;line-height:1.7;color:var(--muted)}
.vi-receipt-checks{display:grid;gap:12px;margin:0 0 24px}.vi-receipt-checks>span{display:flex;gap:10px;align-items:center;font-size:13px}.vi-receipt-checks i{color:#176757}
.vi-match-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}.vi-match-grid>div{padding:18px 13px;border:1px solid var(--line);border-radius:9px;display:grid;gap:8px}.vi-match-grid span{font-size:11px;color:var(--muted)}.vi-match-grid strong{font-size:18px;font-weight:500}.vi-match-grid small{font-size:11px;color:var(--muted)}
.vi-no-js{padding:20px;font-size:14px}.vi-no-js a{color:var(--orange-dark)}
@keyframes vi-story-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
html[data-theme=dark] .vi-story{background:var(--gray-bg)}
html[data-theme=dark] .vi-story :is(.vi-lot-status,.vi-receipt-checks i){color:#84d9c4}
html[data-theme=dark] .vi-story-section{background:var(--white,#15171c)}
@media(max-width:900px){.vi-story-body{grid-template-columns:minmax(0,1fr) 245px}.vi-story-main{padding:25px}.vi-story-evidence{padding:25px 20px}.vi-story-intro{gap:25px}.vi-story-brand>span{display:none}.vi-story-tabs button{flex-direction:column;gap:4px;padding:12px 5px}}
@media(max-width:600px){
 body.marketing-suite.home-modern .hero.vi-cinematic-hero{padding:2.5rem 0 1.5rem}
 body.marketing-suite.home-modern .hero.vi-cinematic-hero .hero-grid{padding-inline:20px;gap:24px}
 body.marketing-suite.home-modern .hero.vi-cinematic-hero .hero-grid>div:first-child{display:block;text-align:left}
 body.marketing-suite.home-modern .hero.vi-cinematic-hero h1{font-size:clamp(2.5rem,10vw,3rem);margin:14px 0 20px;line-height:1.07}
 body.marketing-suite.home-modern .hero.vi-cinematic-hero .lead{font-size:16px!important;line-height:1.7!important}
 body.marketing-suite.home-modern .hero.vi-cinematic-hero .hero-visual.product-preview{padding:0;margin:0;width:100%}
 body.marketing-suite.home-modern .hero.vi-cinematic-hero .product-screenshot-link{aspect-ratio:1.55}
 body.marketing-suite.home-modern .hero.vi-cinematic-hero .preview-phone{display:none}
 .vi-banner-controls{gap:10px;justify-content:flex-start}.vi-banner-choices{justify-content:flex-start;gap:5px}.vi-banner-controls button{font-size:12px;padding:9px 10px}.vi-banner-arrows{margin-left:auto}.vi-banner-caption{font-size:12px;text-align:left}
 .vi-story-intro{grid-template-columns:1fr;gap:18px}.vi-story-intro>p{font-size:15px;line-height:1.8}
 .vi-story-top{padding:17px;gap:12px}.vi-example-label{max-width:115px;font-size:10px}
 .vi-story-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.vi-story-tabs button{flex-direction:row;gap:6px;min-height:49px;font-size:12px}
 .vi-story-body{grid-template-columns:1fr}.vi-story-main{padding:22px 18px}.vi-story-panel{min-height:0}.vi-panel-heading{gap:8px}.vi-role-label{font-size:10px}.vi-state-badge{font-size:10px;padding:5px 7px}
 .vi-story-panel h3{font-size:21px}.vi-story-panel>p{font-size:14px;line-height:1.8}.vi-story-link{font-size:12px}
 .vi-lot-row{padding:13px 10px;grid-template-columns:1.15fr .85fr 1fr;gap:8px;font-size:11px}.vi-lot-muted{font-size:10px}
 .vi-story-evidence{border-left:0;border-top:1px solid var(--line);padding:24px 20px}.vi-balance{margin-top:10px}.vi-balance-basis{font-size:12px}.vi-evidence-trail li{font-size:12px}
 .vi-story-bottom{padding:18px;font-size:11px;line-height:1.7}.vi-recipe-flow{padding:15px;gap:10px}.vi-recipe-flow strong{font-size:15px}.vi-approval-route{gap:8px}.vi-approval-route>div{padding:12px 10px}.vi-approval-route strong{font-size:12px}.vi-approval-route small{font-size:10px}
 .vi-match-grid{gap:8px}.vi-match-grid>div{padding:13px 9px}.vi-match-grid strong{font-size:14px}.vi-match-grid span{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.vi-banner-scenes img,.vi-stock-gauge>span{transition:none;transform:none}.vi-story-panel:not([hidden]){animation:none}body.marketing-suite :is(.guide-card,.plan-mini-card,.solutions-card){transition:none;transform:none}}
.vi-feature-playback{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);margin:28px 0 0;padding-top:16px;color:var(--muted);font-size:12px}
.vi-feature-playback button{font:inherit;font-size:12px;min-height:44px;border:1px solid var(--line);border-radius:7px;padding:10px 15px;background:var(--white,#fff);color:var(--ink);cursor:pointer}
.vi-feature-playback button:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.feat-slide[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){.feat-slide.active{animation:none!important}}
/* Keep the handset illustrations inside the product stage, never over copy. */
body.marketing-suite.home-modern .hero.vi-cinematic-hero .preview-phone{width:180px}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .phone-preview-ui{gap:8px;padding:12px 10px}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .phone-preview-item+.phone-preview-item{display:none}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .phone-preview-metric strong{font-size:18px}
@media(max-width:600px){body.marketing-suite.home-modern .hero.vi-cinematic-hero .hero-visual.product-preview{display:block!important}body.marketing-suite.home-modern .hero.vi-cinematic-hero .preview-phone{display:none}}
/* Override legacy entrance states so reduced motion never hides the product. */
body.marketing-suite.home-modern .hero.vi-cinematic-hero .hero-visual.product-preview{max-width:1000px;opacity:1!important;transform:none!important;animation:none!important}
body.marketing-suite.home-modern .hero.vi-cinematic-hero h1{max-width:none!important}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .lead{color:#ececf2!important}
body.marketing-suite.home-modern .hero.vi-cinematic-hero :is(.booking-shortcut,.quick-fact){color:#e7e5ee!important}
.vi-story-section{content-visibility:visible!important;contain-intrinsic-size:auto!important}
.vi-story{scroll-margin-top:150px}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .hero-visual{order:1}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .vi-banner-controls{order:2}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .vi-banner-caption{order:3}
.vi-story-tabs button{scroll-margin-top:155px}
/* UI preview text has its own compact scale, independent of marketing prose. */
.vi-story .vi-story-panel>p{font-size:15px!important;line-height:1.8!important}
.vi-story p.vi-balance-basis{font-size:12px!important;line-height:1.8!important}
.vi-story p.vi-story-notice{font-size:12px!important;line-height:1.75!important}
.vi-story-intro>p{font-size:17px!important;line-height:1.7!important}
@media(max-width:600px){.vi-story .vi-story-panel>p{font-size:14px!important}.vi-story-intro>p{font-size:15px!important}}
body.marketing-suite,body.marketing-suite :is(button,input,select,textarea,.btn){font-family:'Inter',-apple-system,'Segoe UI',sans-serif!important}
html[data-theme=dark] .vi-story-section{background:#171b22}
html[data-theme=dark] .vi-story{--white:#20252e;--orange-dark:#c6a7ff}
html[data-theme=dark] .vi-story :is(a,button,.vi-story-panel):focus-visible{outline-color:#c6a7ff}
html[data-theme=dark] .vi-feature-playback button{background:var(--gray-bg);color:var(--ink)}
/* Inter has a wider native input size; let the shared footer form shrink. */
body.marketing-suite .newsletter-form{min-width:0;max-width:100%}
body.marketing-suite .newsletter-form input[type=email]{min-width:0;flex:1 1 0;width:100%}
.vi-preview-caption{font-size:11px!important;line-height:1.6!important;color:var(--muted);margin:0;padding:12px 18px;border-top:1px solid var(--line)}
body.marketing-suite.home-modern .section h2{font-size:clamp(2rem,3.4vw,3rem)}
.vi-story .vi-evidence-trail li{font-size:12px!important;line-height:1.75!important}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .hero-grid>.hero-visual{order:1}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .vi-banner-controls{order:2}
body.marketing-suite.home-modern .hero.vi-cinematic-hero .vi-banner-caption{order:3}
/* Original connection illustration, with explicit motion control. */
.home-connection-map.vi-connection-animated .home-connection-lines path{stroke-dasharray:4 9;animation:vi-connection-flow 2200ms linear infinite}
.home-connection-map.vi-connection-animated.is-paused .home-connection-lines path{animation-play-state:paused}
.vi-connection-control{display:flex;justify-content:center;margin-top:16px}.vi-connection-control button{font:inherit;font-size:12px;color:var(--ink);min-height:44px;padding:10px 15px;border:1px solid var(--line);border-radius:7px;background:var(--white,#fff);cursor:pointer}
.vi-connection-control button:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
@keyframes vi-connection-flow{to{stroke-dashoffset:-39}}
@media(prefers-reduced-motion:reduce){.home-connection-map.vi-connection-animated .home-connection-lines path{animation:none}}
