/* TiovIT: exclusive implementation of the supplied Wise design reference.
   Inter 900 is the reference's open-source substitute for proprietary Wise Sans. */
@font-face{font-family:TiovIT Inter;src:url('../fonts/InterVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
.tiovit-site{--tv-ink:#0e0f0c;--tv-body:#454745;--tv-green:#9fe870;--tv-active:#cdffad;--tv-sage:#e8ebe6;--tv-pale:#e2f6d5;--tv-white:#fff;margin:0;background:var(--tv-white);color:var(--tv-ink);font-family:TiovIT Inter,system-ui,sans-serif;font-size:16px;font-weight:400;line-height:1.5;font-feature-settings:'calt';color-scheme:light;-webkit-font-smoothing:antialiased}
.tiovit-site *{box-sizing:border-box}
.tiovit-site ::selection{background:var(--tv-green);color:var(--tv-ink)}
.tiovit-site a{color:inherit;text-underline-offset:.2em}
.tiovit-site a:focus-visible,.tiovit-site button:focus-visible,.tiovit-site input:focus-visible,.tiovit-site textarea:focus-visible{outline:3px solid #163300;outline-offset:4px}
.tv-container{width:min(1200px,100% - 64px);margin-inline:auto}
.tv-header{background:var(--tv-white)}
.tv-header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:88px;padding-block:12px}
.tv-brand{font-size:28px;font-weight:900;letter-spacing:-1px;text-decoration:none}
.tv-brand span{color:inherit}
.tv-header nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}
.tv-header nav a{display:inline-flex;align-items:center;min-height:48px;text-decoration:none}
.tv-header nav a:hover{text-decoration:underline}
.tv-header nav a:last-child{background:var(--tv-green);padding:12px 24px;border-radius:24px;gap:12px;text-decoration:none}
.tv-header nav a:last-child:hover{background:var(--tv-active)}
.tv-section{padding-block:72px;scroll-margin-top:24px}
.tv-eyebrow{font-size:14px;font-weight:600;line-height:20px;margin:0 0 24px;color:var(--tv-body)}
.tiovit-site h1,.tiovit-site h2,.tiovit-site h3,.tiovit-site h4{font-family:inherit;color:inherit;margin-top:0;text-wrap:balance;overflow-wrap:break-word}
.tiovit-site h1{font-size:clamp(44px,6.6vw,96px);font-weight:900;line-height:.95;letter-spacing:-.045em;margin-bottom:32px;max-width:1160px}
.tiovit-site h2{font-size:clamp(32px,4.3vw,56px);font-weight:900;line-height:1;letter-spacing:-.025em;margin-bottom:24px}
.tiovit-site h3{font-size:24px;line-height:1.3;font-weight:600;letter-spacing:-.48px;margin-bottom:16px}
.tv-lead{font-size:20px;line-height:30px;max-width:680px;margin:0;color:var(--tv-body)}
.tv-hero{background:var(--tv-sage);padding-block:72px}
.tv-hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.tv-hero-bottom .tv-lead{max-width:640px}
.tv-hero-actions{display:flex;flex-direction:column;gap:12px;flex-shrink:0}
.tv-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:12px 24px;background:var(--tv-green);color:var(--tv-ink)!important;border:0;border-radius:24px;font:inherit;font-size:16px;font-weight:600;line-height:24px;text-decoration:none;cursor:pointer}
.tv-button:hover{background:var(--tv-active)}
.tv-button:active{background:#c5edab}
.tv-button.tv-button-secondary{background:var(--tv-white);color:var(--tv-ink)!important;border:1px solid var(--tv-ink)}
.tv-button.tv-button-secondary:hover{background:var(--tv-sage)}
.tv-section-heading{display:grid;grid-template-columns:1fr 2fr;gap:32px;margin-bottom:40px}
.tv-section-heading h2{margin-bottom:0}
.tv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.tv-card{border:0;border-radius:24px;background:var(--tv-sage);padding:32px}
.tv-card:nth-child(2),.tv-card:nth-child(3){background:var(--tv-pale)}
.tv-card p{color:var(--tv-body);margin:0 0 32px;max-width:48ch}
.tv-card .tv-card-detail{font-size:14px;font-weight:600;color:var(--tv-ink);margin-bottom:0}
.tv-library-preview{padding-top:0}
.tv-library-preview-inner{display:flex;align-items:center;justify-content:space-between;gap:48px}
.tv-library-preview-inner h2{max-width:680px}
.tv-library-preview-action{flex-shrink:0}
.tv-library-preview-action p{font-size:14px;color:var(--tv-body);margin-bottom:24px}
.tv-about{background:var(--tv-pale)}
.tv-about-grid,.tv-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.tv-about h2{max-width:500px}
.tv-principles{margin:32px 0 0}
.tv-principles div+div{margin-top:24px}
.tv-principles dt{font-size:16px;font-weight:600}
.tv-principles dd{color:var(--tv-body);font-size:16px;margin:8px 0 0}
.tv-contact-grid>div>p:not(.tv-eyebrow){color:var(--tv-body);max-width:44ch}
.tv-contact-details{margin-top:32px}
.tv-contact-details dt{font-size:14px;font-weight:600;margin-top:16px}
.tv-contact-details dd{margin:4px 0 0}
.tv-form{display:flex;flex-direction:column;gap:8px;min-width:0;border:0;border-radius:24px;padding:32px;background:var(--tv-sage)}
.tv-form label{font-size:16px;font-weight:600}
.tv-form label span{font-size:14px;font-weight:400;color:var(--tv-body)}
.tv-form input:not([type=hidden]),.tv-form textarea{display:block;width:100%;min-height:48px;border:1px solid var(--tv-ink);border-radius:12px;background:var(--tv-white);color:var(--tv-ink);padding:12px 16px;font:inherit;margin:0 0 16px}
.tv-form textarea{min-height:160px;resize:vertical}
.tv-form .tv-button{align-self:flex-start}
.tv-form-note{font-size:14px;color:var(--tv-body);margin:0 0 16px}
.tv-notice{background:var(--tv-white);border-radius:16px;padding:24px;color:var(--tv-ink);margin:0 0 16px}
.tv-footer{background:var(--tv-ink);color:var(--tv-sage);padding-block:48px;font-size:14px}
.tv-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.tv-footer p{margin:0}
.tv-skip{position:absolute;left:16px;top:-160px;z-index:999999;background:var(--tv-green);color:var(--tv-ink);border-radius:12px;padding:16px}
.tv-skip:focus{top:48px}
.tv-trap,.tv-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Catalog: white VM cards on a sage canvas, without decorative backgrounds. */
.tv-library-hero{background:var(--tv-sage);padding-block:64px}
.tv-library-hero h1{max-width:1000px}
.tv-library-hero .tv-lead{max-width:720px}
.tv-library-jumps{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.tv-library-jumps a{display:inline-flex;align-items:center;min-height:48px;padding:12px 24px;border-radius:24px;background:var(--tv-white);color:var(--tv-ink);font-size:14px;font-weight:600;text-decoration:none}
.tv-library-jumps a:hover{background:var(--tv-green)}
.tv-catalog{background:var(--tv-sage);padding-top:24px}
.tv-catalog-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:40px}
.tv-catalog-heading h2{font-size:40px;margin-bottom:0}
.tv-catalog-heading p{color:var(--tv-body);font-size:16px}
.tv-vm-family{scroll-margin-top:24px}
.tv-vm-family+.tv-vm-family{margin-top:48px}
.tv-vm-family-heading{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.tv-vm-family-heading h3{margin:0}
.tv-vm-family-heading>span{padding:4px 12px;border-radius:16px;background:var(--tv-white);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
.tv-vm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tv-vm-card{display:flex;flex-direction:column;min-width:0;border:0;border-radius:24px;padding:24px;background:var(--tv-white)}
.tv-vm-logo{display:flex;align-items:center;height:96px;margin-bottom:24px}
.tv-vm-logo img{display:block;width:88px;height:88px;object-fit:contain}
.tv-vm-category{font-size:14px;font-weight:600;color:var(--tv-body);margin:0 0 12px}
.tv-vm-card h4{font-size:28px;font-weight:900;line-height:1.1;letter-spacing:-.025em;margin:0 0 16px;font-variant-numeric:tabular-nums}
.tv-vm-description{font-size:16px;line-height:24px;color:var(--tv-body);margin:0 0 32px}
.tv-vm-card-footer{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:auto}
.tv-vm-platform{font-size:12px;line-height:16px;color:var(--tv-body)}
.tv-vm-link{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:12px 24px;border-radius:24px;background:var(--tv-green);color:var(--tv-ink)!important;text-decoration:none;font-weight:600;font-size:16px}
.tv-vm-link:hover{background:var(--tv-active)}
.tv-catalog-note{margin:48px 0 0;padding:24px;border-radius:24px;background:var(--tv-white);color:var(--tv-body);font-size:14px;line-height:20px}
.tv-library-help{background:var(--tv-white)}
@media(max-width:1023px){.tv-hero-bottom{align-items:flex-start;flex-direction:column;gap:32px}.tv-hero-actions{flex-direction:row;flex-wrap:wrap}.tv-vm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tv-about-grid,.tv-contact-grid{gap:32px}.tv-library-preview-inner{align-items:flex-start;flex-direction:column;gap:32px}.tv-header nav{gap:16px}}
@media(max-width:767px){.tv-container{width:calc(100% - 40px)}.tv-header-inner{gap:16px;flex-wrap:wrap;padding-block:16px}.tv-header nav{width:100%;gap:8px 16px;flex-wrap:wrap;justify-content:space-between;font-size:13px}.tv-header nav a:last-child{padding:12px 16px}.tv-section{padding-block:48px}.tv-library-preview{padding-top:0}.tv-section-heading,.tv-about-grid,.tv-contact-grid{grid-template-columns:minmax(0,1fr);gap:24px}.tv-section-heading .tv-eyebrow{margin-bottom:0}.tv-grid,.tv-vm-grid{grid-template-columns:minmax(0,1fr)}.tv-catalog-heading{flex-direction:column;gap:8px;align-items:flex-start}.tv-catalog-heading p{margin:0}.tv-form{padding:24px}.tv-hero-actions,.tv-hero-actions .tv-button,.tv-form .tv-button{width:100%}.tv-vm-family-heading{flex-wrap:wrap;gap:12px}.tv-vm-card h4{font-size:28px}.tv-library-preview-action{flex-shrink:1;max-width:100%}}

.tv-catalog .tv-library-jumps{margin:0 0 40px}.tv-catalog{padding-top:72px}
@media(max-width:767px){.tv-catalog{padding-top:48px}}

/* VM sliders: a normal responsive grid remains available before JS initializes. */
.tv-vm-slider{width:100%;min-width:0;overflow:hidden;padding:4px;margin:-4px}
.tv-vm-slider:not(.swiper-initialized) .swiper-wrapper{height:auto;transform:none}
.tv-vm-slider.swiper-initialized .tv-vm-grid{display:flex;gap:0;align-items:stretch}
.tv-vm-slider .tv-vm-card{height:auto;box-sizing:border-box}
.tv-vm-slider:not(.swiper-initialized) .tv-vm-card{width:auto}
.tv-slider-controls{display:flex;gap:8px;margin-left:auto}
.tv-slider-controls[hidden]{display:none}
.tv-slider-controls button{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:0;border-radius:24px;background:#fff;color:#0e0f0c;font:inherit;font-size:24px;cursor:pointer}
.tv-slider-controls button:hover:not(:disabled){background:#9fe870}
.tv-slider-controls button:disabled{opacity:.35;cursor:default}
.tv-slider-controls .swiper-button-lock{display:none}
@media(max-width:767px){.tv-vm-family-heading{gap:8px}.tv-slider-controls{gap:4px}.tv-slider-controls button{width:44px;height:44px}}

.tv-eyebrow,.tv-vm-category{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;letter-spacing:.04em}
