.vsol .hero{padding:56px 0 72px;border-bottom:1px solid var(--hx-line);background:#fff}.vsol .hero__inner{max-width:1200px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}.vsol .hero__crumb{font-family:var(--f-mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:20px}.vsol .hero__crumb a{color:var(--muted);text-decoration:none}.vsol .hero__crumb a:hover{color:var(--hx-azure)}.vsol .hero h1{font-family:var(--f-display);font-weight:800;font-size:clamp(28px,3.2vw,44px);line-height:1.1;letter-spacing:-.02em;color:var(--hx-ink);margin:0 0 18px}.vsol .hero__sub{font-size:17px;color:var(--muted);line-height:1.65;margin:0 0 14px}.vsol .hero__sub:last-of-type{margin-bottom:28px}.vsol .hero__ctas{display:flex;gap:12px;flex-wrap:wrap}.vsol .hero__photo{aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:var(--hx-surface);box-shadow:0 20px 60px -20px #0a1f3d40}.vsol .hero__photo img{width:100%;height:100%;object-fit:cover}.vsol .sec{padding:80px 0;border-top:1px solid var(--hx-line)}.vsol .sec--alt{background:var(--paper)}.vsol .sec--dark{background:var(--hx-ink);color:#fff;border-top:0}.vsol .sec__inner{max-width:880px;margin:0 auto;padding:0 40px}.vsol .sec__inner--wide{max-width:1200px}.vsol .sec h2{font-family:var(--f-display);font-weight:800;font-size:clamp(24px,2.6vw,34px);color:var(--hx-ink);margin:0 0 20px;letter-spacing:-.02em;line-height:1.2}.vsol .sec--dark h2{color:#fff}.vsol .sec h3{font-family:var(--f-display);font-weight:700;font-size:22px;color:var(--hx-ink);margin:32px 0 14px;line-height:1.25}.vsol .sec p{font-size:16.5px;color:var(--muted);line-height:1.75;margin:0 0 18px}.vsol .sec--dark p{color:#fffc}.vsol .sec a{color:var(--brand);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}.vsol .sec a:hover{border-bottom-color:var(--brand)}.vsol .install-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:32px 0}.vsol .install-grid figure{margin:0;border:1px solid var(--hx-line);border-radius:6px;overflow:hidden;background:#fff}.vsol .install-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.vsol .install-grid figcaption{padding:10px 14px;font-family:var(--f-mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.vsol .livemap{margin:52px 0 8px;text-align:center}.vsol .livemap__title{font-family:var(--f-display);font-weight:800;font-size:clamp(22px,2.6vw,30px);color:var(--hx-ink);letter-spacing:-.02em;line-height:1.2;margin:0 0 18px}.vsol .livemap__img{display:block;width:100%;max-width:1000px;height:auto;margin:0 auto;aspect-ratio:960/402}.vsol .pig-intro{max-width:640px}.vsol .pig-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0 0}.vsol .pig-grid .pig-thumb{display:block;position:relative;aspect-ratio:4/3;border:1px solid var(--hx-line);border-radius:6px;overflow:hidden;background:#fff;cursor:zoom-in}.vsol .pig-grid .pig-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.vsol .pig-grid .pig-thumb:hover img{transform:scale(1.06)}.vsol .pig-grid .pig-thumb:after{content:"⤢";position:absolute;top:8px;right:8px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff;background:#0a1f3d8c;border-radius:5px;opacity:0;transition:opacity .2s}.vsol .pig-grid .pig-thumb:hover:after{opacity:1}.vsol .pig-lb{position:fixed;inset:0;z-index:1200;display:none;align-items:center;justify-content:center;padding:40px}.vsol .pig-lb:target{display:flex}.vsol .pig-lb .pig-lb__backdrop{position:absolute;inset:0;background:#060e1ced;cursor:zoom-out;border:0}.vsol .pig-lb .pig-lb__fig{position:relative;z-index:2;margin:0;max-width:1100px;max-height:100%;display:flex;flex-direction:column;align-items:center}.vsol .pig-lb .pig-lb__fig img{max-width:100%;max-height:82vh;object-fit:contain;border-radius:4px;box-shadow:0 24px 80px -20px #000000b3}.vsol .pig-lb .pig-lb__cap{margin-top:14px;font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:#ffffffd1;text-align:center;text-transform:uppercase;max-width:820px;line-height:1.5}.vsol .pig-lb .pig-lb__count{color:#ffffff80;margin-left:8px}.vsol .pig-lb a{border:0}.vsol .pig-lb .pig-lb__close{position:absolute;top:18px;right:22px;z-index:3;color:#fff;font-size:30px;line-height:1;text-decoration:none;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff1a;transition:background .15s}.vsol .pig-lb .pig-lb__close:hover{background:#ffffff3d}.vsol .pig-lb .pig-lb__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;color:#fff;font-size:40px;line-height:1;text-decoration:none;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff1a;user-select:none;transition:background .15s}.vsol .pig-lb .pig-lb__nav:hover{background:#ffffff3d}.vsol .pig-lb .pig-lb__prev{left:22px}.vsol .pig-lb .pig-lb__next{right:22px}.vsol .faq-list{display:flex;flex-direction:column;border-top:1px solid var(--hx-line);margin-top:24px}.vsol details.faq-item{border-bottom:1px solid var(--hx-line)}.vsol details.faq-item summary{padding:18px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-family:var(--f-display);font-weight:700;font-size:16px;color:var(--hx-ink);user-select:none}.vsol details.faq-item summary::-webkit-details-marker{display:none}.vsol details.faq-item summary:after{content:"+";font-family:var(--f-mono);font-size:18px;font-weight:700;color:var(--muted);flex-shrink:0;transition:transform .2s}.vsol details.faq-item[open] summary:after{transform:rotate(45deg);color:var(--hx-ink)}.vsol .faq-body{padding:0 0 18px;font-size:15.5px;color:var(--muted);line-height:1.7}.vsol .testi-list{display:flex;flex-direction:column;gap:16px;margin-top:28px}.vsol .testi{display:grid;grid-template-columns:190px 1fr 264px;align-items:center;gap:28px;border:1px solid var(--hx-line);border-radius:10px;background:#fff;padding:22px 28px}.vsol .testi__logo{display:flex;align-items:center;justify-content:center}.vsol .testi__logo img{max-height:72px;max-width:180px;width:auto;object-fit:contain}.vsol .testi__body{min-width:0}.vsol .testi__quote{font-size:15px;line-height:1.65;color:var(--muted);margin:0 0 12px}.vsol .testi__quote:before{content:"“"}.vsol .testi__quote:after{content:"”"}.vsol .testi__hl{font-weight:700;color:var(--brand);background:linear-gradient(transparent 60%,#0067c624 60%)}.vsol .testi__cite{font-style:normal}.vsol .testi__name{font-family:var(--f-display);font-weight:700;font-size:14.5px;color:var(--hx-ink)}.vsol .testi__org{font-family:var(--f-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:3px}.vsol .testi__photo{width:264px;height:184px;object-fit:cover;border-radius:6px;background:var(--hx-surface)}.vsol .cta-sec{padding:80px 0;background:var(--hx-ink);text-align:center}.vsol .cta-sec__inner{max-width:760px;margin:0 auto;padding:0 40px}.vsol .cta-sec h2{font-family:var(--f-display);font-weight:800;font-size:clamp(24px,3vw,38px);color:#fff;margin:0 0 16px;letter-spacing:-.02em}.vsol .cta-sec p{font-size:17px;color:#ffffffc7;margin:0 0 28px;line-height:1.65}.vsol .cta-sec__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}@media(max-width:960px){.vsol .hero__inner{grid-template-columns:1fr;gap:32px}.vsol .install-grid{grid-template-columns:repeat(2,1fr)}.vsol .pig-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.vsol .pig-grid{grid-template-columns:repeat(2,1fr);gap:10px}.vsol .pig-lb{padding:14px}.vsol .pig-lb .pig-lb__nav{width:44px;height:44px;font-size:32px}.vsol .pig-lb .pig-lb__prev{left:6px}.vsol .pig-lb .pig-lb__next{right:6px}.vsol .pig-lb .pig-lb__fig img{max-height:74vh}}@media(max-width:760px){.vsol .testi{grid-template-columns:1fr;justify-items:center;text-align:center;gap:14px;padding:24px 22px}.vsol .testi__logo{order:1}.vsol .testi__logo img{max-height:64px}.vsol .testi__photo{order:2;width:100%;max-width:340px;aspect-ratio:4/3;height:auto}.vsol .testi__body{order:3}}@media(max-width:520px){.vsol .install-grid{grid-template-columns:1fr}}
