/* Visual launch pages: keep the shared feature shell; lead with the work. */
.vs-marketing { --wrap:1280px; }
.vs-marketing .fx-hero { padding-block:40px 28px; }
.vs-marketing .fx-hero .grid { grid-template-columns:1fr; text-align:center; max-width:870px; margin-inline:auto; gap:0; }
.vs-marketing .fx-kicker,.vs-marketing .fx-actions { justify-content:center; }
.vs-marketing .fx-hero h1 { font-size:clamp(42px,6vw,78px); line-height:1.03; margin-block:18px; }
.vs-marketing .fx-lead { max-width:720px; margin-inline:auto; font-size:20px; }
.vs-marketing .fx-shot { margin-top:34px; }
.vs-marketing .fx-shot img { border:0; box-shadow:0 20px 65px -35px #32130d80; }
.vs-marketing .fx-index { display:none; }
.vs-marketing .fx-sec { padding-block:44px; }
.vs-marketing .fx-sec .head { display:block; margin-bottom:24px; }
.vs-marketing .fx-sec .num,.vs-marketing .fx-body>.rail { display:none; }
.vs-marketing .fx-body { display:block; }
.vs-marketing .fx-sec h2 { font-size:clamp(30px,4vw,48px); }
.vs-marketing .fx-p { max-width:880px; }
.vs-marketing .fx-next { display:none; }
.vs-sample { display:grid; grid-template-columns:.45fr 1fr; gap:28px; align-items:start; }
.vs-sample h3 { font:600 15px var(--body); margin-bottom:14px; color:var(--ink-3); }
.vs-sources img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:12px; margin-bottom:14px; }
.vs-video video { width:100%; display:block; aspect-ratio:16/9; background:#26120d; border-radius:14px; }
.vs-video figcaption { font-size:14px; color:var(--ink-3); line-height:1.6; max-width:850px; margin-block:14px; }
.vs-download { display:inline-flex; align-items:center; gap:18px; font-size:14px; font-weight:600; padding:12px 18px; background:var(--ink); color:var(--paper); border-radius:9px; }
.vs-download:hover { background:#3f3c37; }
.vs-annotated { position:relative; }
.vs-annotated>img { width:100%; border:1px solid var(--rule); border-radius:14px; }
.vs-pin { position:absolute; width:38px; height:38px; display:grid; place-items:center; background:#f7bc4b; color:#17161a; font:700 18px var(--body); border:3px solid #fff5e4; border-radius:50%; box-shadow:0 3px 12px #0006; }
.pin-one { left:9%; top:31%; }.pin-two { left:49%; top:46%; }.pin-three { left:94%; top:4%; }
.vs-legend { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:24px; }
.vs-legend>div { display:flex; gap:14px; align-items:flex-start; }
.vs-legend b { display:grid; place-items:center; min-width:32px; height:32px; border-radius:50%; background:var(--signal); color:var(--ink); }
.vs-legend strong { display:block; font-size:18px; margin-bottom:5px; }
.vs-legend span { color:var(--ink-2); font-size:14px; line-height:1.5; }
.vs-download-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.vs-download-grid figure { padding:20px; border:1px solid var(--rule); border-radius:16px; background:var(--sheet); }
.vs-download-grid img { width:100%; height:360px; object-fit:contain; background:#26120d; border-radius:10px; }
.vs-download-grid figcaption { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:18px; }
.vs-download-grid figcaption strong { font-size:18px; width:100%; }.vs-download-grid figcaption>span { color:var(--ink-3); margin-inline-end:auto; font-size:13px; }
.vs-reference { border:1px solid var(--rule); border-radius:12px; background:var(--sheet); }
.vs-reference summary { padding:22px; font-weight:600; cursor:pointer; }
.vs-reference>div { padding:0 24px 24px; max-width:900px; }
.vs-reference h3 { margin-top:28px; font-size:20px; }.vs-reference p,.vs-reference li { font-size:15px; line-height:1.7; margin-top:12px; }.vs-reference ul { padding-inline-start:24px; }
@media(max-width:700px){.vs-sample,.vs-download-grid,.vs-legend{grid-template-columns:1fr}.vs-sources{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vs-sources h3{grid-column:1/-1;margin:0}.vs-sources img{margin:0}.vs-marketing .fx-sec{padding-block:30px}.vs-marketing .fx-lead{font-size:17px}.vs-pin{width:25px;height:25px;font-size:12px;border-width:2px}.pin-three{left:91%}.vs-download-grid img{height:auto}.vs-marketing .fx-shot{margin-top:24px}.vs-legend{gap:14px}}
.vs-marketing .fx-form { border:0; background:transparent; box-shadow:none; margin-top:25px; }
.vs-marketing .fx-form .head,.vs-marketing .fx-form .n { display:none; }
.vs-marketing .fx-form .cells { display:flex; justify-content:center; gap:28px; }
.vs-marketing .fx-form .cell { display:flex; align-items:center; gap:8px; padding:0; min-height:0; border:0; animation:none; opacity:1; transform:none; }
.vs-marketing .fx-form .val { font:500 12px var(--body); margin:0; color:var(--ink-3); }
.vs-marketing .fx-form .lbl { font-size:10px; }
.vs-marketing .fx-close { margin-block:28px; text-align:center; padding:35px; }
@media(max-width:500px){.vs-marketing .fx-form .cells{gap:16px}.vs-marketing .fx-form .cell{display:block}.vs-marketing .fx-form .lbl{justify-content:center;margin-bottom:4px}}
.vs-property-demo { display:grid; grid-template-columns:1fr 270px; gap:28px; align-items:center; background:#e9e3d8; padding:28px; border-radius:14px; }
.vs-property-demo img { width:100%; border-radius:10px; }.vs-property-demo figcaption { font-size:13px; color:var(--ink-3); margin-top:12px; }
@media(max-width:700px){.vs-property-demo{grid-template-columns:1fr;padding:18px}.vs-property-demo figure:last-child{max-width:270px;margin-inline:auto}}
