/* VGL security landing page. All component rules are scoped to .vglsp. */
.vglsp * { box-sizing:border-box }

.vglsp { margin:0;background:#fff;color:#15202c;font-family:"Open Sans",Arial,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased }

.vglsp p { margin:0 0 18px }

.vglsp h1,
.vglsp h2,
.vglsp h3,
.vglsp h4 { margin:0;line-height:1.22 }

.vglsp h1 { font-size:57px;letter-spacing:-1.5px;font-weight:800 }

.vglsp h2 { font-size:41px;font-weight:300;letter-spacing:-1px }

.vglsp h3 { font-size:23px;font-weight:700 }

.vglsp h4 { font-size:19px }

.vglsp svg { width:32px;height:32px;display:block }

.vglsp .wrap { width:1248px;margin:0 auto }

.vglsp .section { padding:76px 0 }

.vglsp .light { background:#f5f8fc }

.vglsp .soft { background:#eef3f6 }

.vglsp .eyebrow { font-size:12px;font-weight:700;color:#19a9e8;letter-spacing:1.8px;text-transform:uppercase;margin-bottom:13px }

.vglsp .section-head { max-width:940px;margin:0 auto 40px }

.vglsp .section-head.center { text-align:center }

.vglsp .section-head p:not(.eyebrow) { font-size:17px;color:#687788;margin:18px 0 0;line-height:1.65 }

.vglsp .section-head.left { max-width:none;margin:0 0 30px }

.vglsp .section-head.left h2 { max-width:600px }

.vglsp .muted { color:#687788 }

.vglsp .btn { height:51px;display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:0 24px;border-radius:11px;font-size:15px;font-weight:700;line-height:1.2;white-space:nowrap }

.vglsp .btn.blue { background:#19a9e8;color:#fff;box-shadow:0 7px 18px #19a9e820 }

.vglsp .btn.yellow { background:#ffbd2e;color:#111;box-shadow:0 9px 25px #ffbd2e25 }

.vglsp .btn.ghost { border:1px solid #ffffff66;color:#fff;background:#ffffff03 }

.vglsp .btn.outline { border:1px solid #19a9e85c;color:#1498d1;background:#fff }

.vglsp .actions { display:flex;gap:14px;align-items:center }

.vglsp .tick { color:#19a9e8;font-weight:800;font-size:20px;line-height:1.4;flex:none }

.vglsp .list { list-style:none;padding:0;margin:18px 0 25px }

.vglsp .list li { display:flex;gap:11px;margin:11px 0;line-height:1.55 }

.vglsp .iconbox { width:58px;height:58px;border-radius:17px;color:#19a9e8;background:linear-gradient(145deg,#eaf8ff,#f4fbff);border:1px solid #e0f0f9;display:flex;align-items:center;justify-content:center;margin-bottom:22px }

.vglsp .tiny { font-size:13px;line-height:1.5;color:#687788 }

.vglsp .badge { display:inline-block;border:1px solid #19a9e83e;background:#19a9e80b;border-radius:30px;padding:6px 13px;color:#1498d1;font-size:12px;font-weight:600 }

.vglsp .cols { display:grid;grid-template-columns:1fr 1fr;gap:30px }

.vglsp .card { background:#fff;border:1px solid #e8eef3;border-radius:22px;padding:30px;box-shadow:0 10px 30px #17314f06 }

.vglsp .card p:not(.mini-label) { color:#637282;font-size:15px;line-height:1.7 }

.vglsp .card h3 { margin-bottom:13px }

.vglsp .hero { position:relative;background:#06111b;color:#fff;height:845px;overflow:hidden }

.vglsp .hero-bg { position:absolute;inset:0;background-size:cover;background-position:center center }

.vglsp .hero:after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,13,22,.38) 0,rgba(4,13,22,.25) 38%,transparent 61%) }

.vglsp .hero-inner { position:relative;z-index:2;padding-top:27px }

.vglsp .crumb { font-size:12px;color:#8c9bab;margin-bottom:52px }

.vglsp .hero-copy { width:565px }

.vglsp .hero .badge { color:#a8dff7;border-color:#19a9e84d;background:#132c3b70;margin-bottom:22px }

.vglsp .hero h1 { margin-bottom:24px }

.vglsp .hero p { font-size:18px;line-height:1.7;color:#b9c5cf;max-width:525px }

.vglsp .hero .actions { margin-top:28px }

.vglsp .hero .btn { padding:0 21px }

.vglsp .hero-checks { margin-top:30px;color:#d4dce4;font-size:14px;display:grid;gap:10px }

.vglsp .hero-checks b { color:#19a9e8;margin-right:10px }

.vglsp .hero-bottom { position:absolute;z-index:3;bottom:0;left:0;right:0;background:linear-gradient(90deg,#0b1b27ed,#0b1b27d6);border-top:1px solid #ffffff18 }

.vglsp .hero-bottom .wrap { height:83px;display:flex;align-items:center;justify-content:space-between }

.vglsp .hero-pill { display:flex;align-items:center;gap:15px;font-size:14px;color:#d5e3ec }

.vglsp .hero-pill svg { color:#19a9e8;width:28px }

.vglsp .hero-pill strong { font-weight:600 }

.vglsp .tasks { display:grid;grid-template-columns:repeat(4,1fr);gap:20px }

.vglsp .tasks .card { padding:28px 25px }

.vglsp .tasks h3 { font-size:20px }

.vglsp .tasks p:not(.mini-label) { font-size:14px;margin:0 }

.vglsp .mini-label { font-size:11px;color:#1498d1;font-weight:700;margin-bottom:8px;letter-spacing:.5px }

.vglsp .steps { display:grid;grid-template-columns:repeat(4,1fr);gap:22px }

.vglsp .step { border-radius:21px;background:#fff;border:1px solid #e5edf3;overflow:hidden;box-shadow:0 7px 20px #17314f05 }

.vglsp .step img { width:100%;height:165px;object-fit:cover }

.vglsp .step-copy { padding:22px 23px 24px }

.vglsp .step-no { display:inline-block;font-size:13px;color:#19a9e8;font-weight:700;margin-bottom:8px }

.vglsp .step h3 { font-size:19px;margin-bottom:12px }

.vglsp .step p { font-size:14px;color:#637282;line-height:1.65;margin:0 }

.vglsp .offline-note { margin:27px auto 0;display:flex;justify-content:center;align-items:center;gap:12px;color:#38566b;font-size:14px }

.vglsp .offline-note svg { width:24px;color:#19a9e8 }

.vglsp .products { display:grid;grid-template-columns:1fr 1fr;gap:28px }

.vglsp .product { padding:32px 34px 30px;border-radius:24px;background:#fff;border:1px solid #e1e9ef;position:relative;overflow:hidden;box-shadow:0 12px 32px #17314f07 }

.vglsp .product.online { border-color:#19a9e866;background:linear-gradient(160deg,#fff,#f8fcff) }

.vglsp .product-top { display:flex;justify-content:space-between;align-items:center }

.vglsp .product h3 { font-size:29px;margin:18px 0 5px }

.vglsp .product-sub { font-size:16px;color:#687788 }

.vglsp .product-img { height:240px;margin:12px 0 10px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#19a9e81a,transparent 65%) }

.vglsp .product-img img { max-width:96%;max-height:100%;object-fit:contain }

.vglsp .product-img .reader { height:235px;max-width:240px }

.vglsp .product .list { font-size:15px;margin-bottom:22px;min-height:170px }

.vglsp .product-bottom { border-top:1px solid #e8eef3;padding-top:21px }

.vglsp .product .actions { justify-content:space-between }

.vglsp .textlink { font-size:14px;color:#1498d1;font-weight:600 }

.vglsp .product-note { padding:13px 15px;border-radius:12px;background:#edf7fd;font-size:13px;line-height:1.6;color:#4c667a;margin-top:16px }

.vglsp .two-col { display:grid;grid-template-columns:1.05fr 1fr;gap:68px;align-items:center }

.vglsp .report-copy h2 { font-size:40px;max-width:510px }

.vglsp .report-copy .list { font-size:16px }

.vglsp .report-window { border:1px solid #dbe6ee;border-radius:17px;background:#fff;box-shadow:0 18px 40px #192d4e12;overflow:hidden }

.vglsp .window-top { height:36px;display:flex;gap:6px;align-items:center;padding:0 14px;background:#f4f7fa;border-bottom:1px solid #e8eef3;font-size:10px;color:#7c8d9b }

.vglsp .dot { height:6px;width:6px;border-radius:50%;background:#c9d3dc }

.vglsp .window-top span:last-child { margin-left:10px }

.vglsp .report-window img { width:100%;display:block }

.vglsp .under-image { display:flex;justify-content:space-between;align-items:center;margin-top:15px;font-size:12px;color:#687788 }

.vglsp .under-image .badge { font-size:10px }

.vglsp .online-panel { background:radial-gradient(ellipse at 84% 40%,#113245 0,#0b1c2a 40%,#08131e 75%);color:#fff;padding:74px 0 }

.vglsp .online-panel h2 { font-weight:300 }

.vglsp .online-panel .section-head p:not(.eyebrow) { color:#a9b8c5 }

.vglsp .feature-grid { display:grid;grid-template-columns:1fr 1fr;gap:22px }

.vglsp .dark-card { padding:27px;border:1px solid #314657;border-radius:19px;background:#ffffff04 }

.vglsp .dark-card h3 { font-size:20px;margin:0 0 10px }

.vglsp .dark-card p { font-size:14px;color:#aebdca;line-height:1.7;margin:0 }

.vglsp .dark-card .iconbox { background:#19a9e80b;border-color:#19a9e831;width:48px;height:48px;margin-bottom:17px }

.vglsp .dark-card .iconbox svg { width:27px;height:27px }

.vglsp .online-preview { padding:29px 28px;border:1px solid #314657;border-radius:21px;background:#122433;display:flex;flex-direction:column;justify-content:space-between;gap:22px }

.vglsp .online-preview .report-window { box-shadow:0 10px 30px #0003 }

.vglsp .online-preview img { height:255px;object-fit:cover;object-position:top }

.vglsp .live-row { font-size:12px;display:flex;align-items:center;gap:8px;color:#b5d6e8 }

.vglsp .live-dot { width:7px;height:7px;border-radius:50%;background:#61c790 }

.vglsp .online-preview h3 { font-size:25px;margin-top:8px }

.vglsp .online-preview p:not(.live-row) { font-size:15px;color:#a9b8c5;margin-top:13px }

.vglsp .online-grid { display:grid;grid-template-columns:1.1fr 1fr;gap:25px }

.vglsp .online-foot { margin-top:24px;color:#8fa6b7;font-size:12px;text-align:center }

.vglsp .trust-grid { display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center }

.vglsp .trust-list { display:grid;gap:23px }

.vglsp .trust-item { display:flex;align-items:flex-start;gap:18px }

.vglsp .trust-item .iconbox { width:49px;height:49px;flex:none;margin:0 }

.vglsp .trust-item h4 { margin-bottom:6px }

.vglsp .trust-item p { font-size:14px;margin:0;color:#687788 }

.vglsp .trust-copy h2 { font-size:40px;margin-bottom:24px }

.vglsp .trust-copy p:not(.eyebrow) { font-size:16px;color:#637282 }

.vglsp .trust-copy .btn { margin-top:10px }

.vglsp .cost-grid { display:grid;grid-template-columns:1fr 1fr;gap:27px }

.vglsp .cost-card { padding:33px 37px;background:#fff;border:1px solid #e1e9ef;border-radius:23px }

.vglsp .cost-head { display:flex;gap:18px;align-items:center }

.vglsp .cost-head .iconbox { margin:0;width:52px;height:52px }

.vglsp .cost-head h3 { font-size:22px }

.vglsp .price { margin-top:20px;font-size:46px;font-weight:700;letter-spacing:-1px;color:#19a9e8 }

.vglsp .price small { font-size:17px;font-weight:400;letter-spacing:0;color:#637282 }

.vglsp .price-note { color:#637282;font-size:15px;margin-top:2px }

.vglsp .extra { display:flex;justify-content:space-between;font-size:14px;padding:17px 0;border-top:1px solid #e8eef3;border-bottom:1px solid #e8eef3;margin:22px 0 }

.vglsp .extra strong { color:#15202c }

.vglsp .cost-card p:not([class]) { font-size:15px;color:#637282;line-height:1.75 }

.vglsp .price.custom { font-size:30px;line-height:1.4;color:#15202c;margin:27px 0 15px }

.vglsp .cost-info { color:#687788;text-align:center;font-size:13px;margin-top:25px }

.vglsp .faqwrap { max-width:1060px;margin:auto }

.vglsp .faq { border:1px solid #e2eaf1;border-radius:15px;padding:22px 26px;background:#fff;margin-bottom:12px }

.vglsp .faq-q { display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:17px }

.vglsp .faq-q span { font-size:25px;font-weight:300;color:#19a9e8;margin-left:20px }

.vglsp .faq.open { background:#f7fbff;border-color:#19a9e84f }

.vglsp .faq.open p { margin:15px 38px 0 0;font-size:15px;color:#637282;line-height:1.8 }

.vglsp .faq-highlight { font-weight:600;color:#15202c }

.vglsp .contact { background:linear-gradient(110deg,#0a1a29,#12334a);color:#fff;padding:70px 0 }

.vglsp .contact-grid { display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start }

.vglsp .contact h2 { font-size:42px;margin-bottom:23px }

.vglsp .contact-grid > div:first-child > p:not(.eyebrow):not(.tiny) { color:#b2c3d0;font-size:17px }

.vglsp .contact .phonebig { font-size:24px;color:#fff;font-weight:700;margin-top:30px }

.vglsp .contact .tiny { font-size:13px;color:#849eaf }

.vglsp .form { background:#fff;padding:31px;border-radius:21px;color:#15202c;box-shadow:0 15px 40px #0002 }

.vglsp .field { height:51px;display:flex;align-items:center;padding:0 16px;border:1px solid #dfe7ee;border-radius:9px;margin-bottom:13px;font-size:14px;color:#8c99a5;background:#fbfcfd }

.vglsp .field.comment { height:98px;align-items:flex-start;padding-top:14px }

.vglsp .form label { font-size:12px;font-weight:600;display:block;margin:0 0 6px }

.vglsp .form .btn { width:100%;margin-top:4px }

.vglsp .consent { display:flex;align-items:flex-start;gap:10px;font-size:10px;color:#788795;line-height:1.6;margin-top:15px }

.vglsp .box { width:13px;height:13px;border:1px solid #b9c9d5;border-radius:3px;flex:none;margin-top:2px }

.vglsp .form .tiny { font-size:11px;text-align:center;color:#7f8c98;margin-top:12px }

/* Theme isolation and intrinsic sizing. */
.vglsp {
  --vglsp-blue: #19a9e8;
  display: block;
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  overflow-x: clip;
  text-align: left;
  -webkit-text-size-adjust: 100%;
  isolation: isolate;
}
.vglsp, .vglsp *, .vglsp *::before, .vglsp *::after { box-sizing: border-box; }
.vglsp h1, .vglsp h2, .vglsp h3, .vglsp h4,
.vglsp p, .vglsp a, .vglsp button, .vglsp input, .vglsp textarea, .vglsp summary {
  font-family: inherit;
}
.vglsp h1, .vglsp h2, .vglsp h3, .vglsp h4 { color: inherit; text-transform: none; }
.vglsp a { text-decoration: none; }
.vglsp a:focus-visible, .vglsp button:focus-visible,
.vglsp summary:focus-visible, .vglsp input:focus-visible,
.vglsp textarea:focus-visible {
  outline: 3px solid #19a9e8;
  outline-offset: 4px;
}
.vglsp img { max-width: 100%; height: auto; border: 0; vertical-align: middle; }
.vglsp svg { flex-shrink: 0; }
.vglsp .wrap { width: calc(100% - 48px); max-width: 1248px; margin: 0 auto; }
.vglsp .wrap > *, .vglsp .cols > *, .vglsp .two-col > *,
.vglsp .online-grid > *, .vglsp .contact-grid > *, .vglsp .cost-grid > *,
.vglsp .products > *, .vglsp .trust-grid > *, .vglsp .feature-grid > * { min-width: 0; }
.vglsp .section, .vglsp .online-panel, .vglsp .contact,
.vglsp [id^="vglsp-"] { scroll-margin-top: 100px; }
.vglsp .actions { flex-wrap: wrap; }
.vglsp .btn {
  min-height: 51px;
  height: auto;
  padding-top: 14px;
  padding-bottom: 14px;
  border: 1px solid transparent;
  text-align: center;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.vglsp .btn.blue { color: #fff; }
.vglsp .btn.yellow { color: #111; }
.vglsp .btn.ghost { color: #fff; border-color: #ffffff66; }
.vglsp .btn.outline { color: #0b82b6; border-color: #19a9e85c; }
.vglsp .btn.blue:hover { color: #fff; background-color: #0794d2; box-shadow: 0 8px 22px #19a9e83d; }
.vglsp .btn.yellow:hover { color: #111; background-color: #ffca56; }
.vglsp .btn.ghost:hover { color: #fff; border-color: #a9e5ff; background-color: #ffffff12; }
.vglsp .btn.outline:hover { color: #0874a4; border-color: #19a9e8; background-color: #f1faff; }
.vglsp .textlink { color: #087eaf; }
.vglsp .textlink:hover { text-decoration: underline; text-underline-offset: 3px; }
.vglsp .hero .hero-bg {
  position: absolute;
  z-index: 0;
  inset: 0 0 83px;
  background: #06111b;
  overflow: hidden;
}
.vglsp .hero .hero-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: right center;
}
.vglsp .hero::after { z-index: 1; bottom: 83px; pointer-events: none; }
.vglsp .hero-inner { padding-bottom: 112px; }
.vglsp .hero .hero-bottom .wrap { min-height: 83px; }
.vglsp .hero .crumb a { color: #9baebf; }
.vglsp .hero .crumb a:hover { color: #fff; text-decoration: underline; }
.vglsp .hero .hero-copy p { margin-bottom: 18px; }
/* Hero proof list uses semantic UL/LI; keep each check beside its label. */
.vglsp .hero .hero-checks { list-style: none; padding: 0; margin-bottom: 0; }
.vglsp .hero .hero-checks li { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 0; }
.vglsp .hero .hero-checks span { display: inline; flex: 0 0 auto; color: #19a9e8; font-weight: 800; }
.vglsp .hero-pill svg { min-width: 28px; }
.vglsp .hero-pill > span { flex: 0 0 auto; white-space: nowrap; }
.vglsp .hero .btn.ghost { background-color: #07152366; }
.vglsp .product, .vglsp .cost-card { display: flex; flex-direction: column; }
.vglsp .product .product-bottom { margin-top: auto; }
.vglsp .product-img img { display: block; }
.vglsp .cost-card .actions { margin-top: auto; }
.vglsp .report-window a, .vglsp .report-zoom { display: block; cursor: zoom-in; }
.vglsp .report-window button {
  display: block;
  width: 100%;
  border: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  cursor: zoom-in;
}
.vglsp .offline-note { align-items: flex-start; }
.vglsp .offline-note svg { flex: 0 0 24px; margin-top: 1px; }
.vglsp .extra { gap: 16px; }
.vglsp .extra strong { flex-shrink: 0; }
.vglsp .contact .phonebig { display: inline-block; }
.vglsp .contact .phonebig:hover { color: #a8e6ff; }

/* Semantic markup compatibility: figures, lists, headings and paragraph labels. */
.vglsp .steps { list-style: none; margin: 0; padding: 0; }
.vglsp .step { list-style: none; }
.vglsp .screen-figure { width: 100%; margin: 0; }
.vglsp a.report-window { display: block; color: inherit; cursor: zoom-in; }
.vglsp .product-sub { margin: 0; }
.vglsp .mini-label { text-transform: uppercase; }
.vglsp .product-note { margin-bottom: 0; }
.vglsp .online-preview .live-row { margin: 0; font-size: 12px; color: #b5d6e8; letter-spacing: .4px; }
.vglsp .trust-item h3 { margin: 0 0 6px; font-size: 19px; line-height: 1.35; }
.vglsp .cost-head .cost-sub { margin: 3px 0 0; font-size: 15px; font-weight: 400; line-height: 1.5; color: #687788; }
.vglsp .cost-card .price-note { margin-bottom: 0; }
.vglsp .price:not(.custom) { margin-bottom: 0; }
.vglsp .cost-info, .vglsp .online-foot { margin-bottom: 0; }
.vglsp .form .vglsp-form-title { margin: 0 0 9px; font-size: 23px; line-height: 1.35; }
.vglsp .form .vglsp-form-intro { margin: 0 0 20px; color: #637282; font-size: 14px; line-height: 1.7; }
.vglsp .form .vglsp-form-note { margin-bottom: 0; }

/* Native FAQ: accessible without JavaScript. */
.vglsp details.faq { display: block; }
.vglsp .faq-q {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 24px;
  color: #15202c;
  line-height: 1.55;
  cursor: pointer;
}
.vglsp .faq-q::-webkit-details-marker { display: none; }
.vglsp .faq-q::marker { content: ""; }
.vglsp .faq-q::after {
  content: "+";
  color: #19a9e8;
  font-size: 26px;
  font-weight: 300;
  line-height: 1;
  flex-shrink: 0;
}
.vglsp .faq-q > span { display: none; }
.vglsp details.faq[open] { background: #f7fbff; border-color: #19a9e84f; }
.vglsp details.faq[open] > .faq-q::after { content: "−"; }
.vglsp .faq-answer {
  margin: 15px 38px 0 0;
  color: #637282;
  font-size: 15px;
  line-height: 1.8;
}
.vglsp .faq-answer p { margin: 0 0 12px; font-size: inherit; color: inherit; }
.vglsp .faq-answer p:last-child { margin-bottom: 0; }
.vglsp .faq-answer a { color: #087eaf; text-decoration: underline; }

/* Existing Contact Form 7 form 6951. No generated form or submission logic. */
.vglsp .form h3 { margin-bottom: 8px; }
.vglsp .form > p { font-size: 14px; color: #637282; }
.vglsp .form .vglsp-cf7 { width: 100%; max-width: 100%; }
.vglsp .form .vglsp-cf7 .wpcf7,
.vglsp .form .vglsp-cf7 .wpcf7 form { width: 100%; margin: 0; padding: 0; }
.vglsp .form .vglsp-cf7 .contact-block__item { width: 100%; margin: 0 0 16px; padding: 0; }
.vglsp .form .vglsp-cf7 .wpcf7-form-control-wrap { display: block; width: 100%; }
.vglsp .form .vglsp-cf7 label { font-size: 12px; font-weight: 600; color: #344d60; line-height: 1.6; }
.vglsp .form .vglsp-cf7 input[type="text"],
.vglsp .form .vglsp-cf7 input[type="email"],
.vglsp .form .vglsp-cf7 input[type="tel"],
.vglsp .form .vglsp-cf7 textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 51px;
  height: auto;
  margin: 0;
  padding: 13px 15px;
  border: 1px solid #d6e2eb;
  border-radius: 9px;
  box-shadow: none;
  background: #fbfcfd;
  color: #15202c;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
  appearance: none;
}
.vglsp .form .vglsp-cf7 textarea { min-height: 116px; max-height: 320px; resize: vertical; }
.vglsp .form .vglsp-cf7 input::placeholder,
.vglsp .form .vglsp-cf7 textarea::placeholder { color: #8899a7; opacity: 1; }
.vglsp .form .vglsp-cf7 .contact-block__buttons { display: flex; flex-direction: column; width: 100%; gap: 17px; margin-top: 8px; }
.vglsp .form .vglsp-cf7 .contact-block__checkbox { display: flex; align-items: flex-start; gap: 10px; width: 100%; margin: 0; padding: 0; }
.vglsp .form .vglsp-cf7 .contact-block__checkbox label {
  display: block;
  flex: 1;
  width: auto;
  margin: 0;
  padding: 0;
  color: #687788;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.65;
}
.vglsp .form .vglsp-cf7 .contact-block__checkbox label::before,
.vglsp .form .vglsp-cf7 .contact-block__checkbox label::after { display: none; }
.vglsp .form .vglsp-cf7 .contact-block__checkbox input[type="checkbox"],
.vglsp .form .vglsp-cf7 .wpcf7-acceptance input[type="checkbox"] {
  display: inline-block;
  position: static;
  width: 17px;
  height: 17px;
  min-width: 17px;
  margin: 3px 0 0;
  padding: 0;
  opacity: 1;
  visibility: visible;
  accent-color: #19a9e8;
  appearance: auto;
  cursor: pointer;
}
.vglsp .form .vglsp-cf7 .cf7-agree { display: none; }
.vglsp .form .vglsp-cf7 .wpcf7-list-item { margin: 0; }
.vglsp .form .vglsp-cf7 a { color: #087eaf; text-decoration: underline; }
.vglsp .form .vglsp-cf7 input[type="submit"] {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 51px;
  margin: 0;
  padding: 14px 22px;
  border: 0;
  border-radius: 11px;
  box-shadow: 0 8px 22px #ffbd2e25;
  background: #ffbd2e;
  color: #111;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  white-space: normal;
  appearance: none;
  cursor: pointer;
  transition: background-color .18s ease;
}
.vglsp .form .vglsp-cf7 input[type="submit"]:hover { background: #ffca56; }
.vglsp .form .vglsp-cf7 input[type="submit"]:disabled { opacity: .55; cursor: not-allowed; }
.vglsp .form .vglsp-cf7 .wpcf7-not-valid { border-color: #ce3a42; }
.vglsp .form .vglsp-cf7 .wpcf7-not-valid-tip { display: block; padding-top: 5px; color: #b62f38; font-size: 12px; line-height: 1.5; }
.vglsp .form .vglsp-cf7 .wpcf7-response-output {
  width: 100%;
  margin: 16px 0 0;
  padding: 11px 13px;
  border: 1px solid #d8e3eb;
  border-radius: 9px;
  color: #344d60;
  font-size: 13px;
  line-height: 1.6;
}
.vglsp .form .vglsp-cf7 .wpcf7-mail-sent-ok { border-color: #63aa7b; background: #f1faf4; }
.vglsp .form .vglsp-cf7 .wpcf7-validation-errors,
.vglsp .form .vglsp-cf7 .wpcf7-mail-sent-ng { border-color: #ce8790; background: #fff5f6; }
.vglsp .form .vglsp-cf7 .ajax-loader { margin: 10px auto 0; }
.vglsp .form-fallback { padding: 18px; border-radius: 12px; background: #f1f8fc; color: #344d60; }
.vglsp .form-fallback a { color: #087eaf; text-decoration: underline; }
.vglsp .form .callback-link { display: block; margin-top: 16px; font-size: 13px; text-align: center; color: #087eaf; text-decoration: underline; }

/* Native image zoom dialog; keep this element inside .vglsp. */
.vglsp .vglsp-dialog {
  position: fixed;
  inset: 0;
  width: min(1240px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100vh - 32px);
  margin: auto;
  padding: 52px 20px 18px;
  border: 1px solid #d7e5ef;
  border-radius: 18px;
  background: #fff;
  color: #15202c;
  box-shadow: 0 30px 100px #0007;
  overflow: auto;
}
.vglsp .vglsp-dialog:not([open]) { display: none; }
.vglsp .vglsp-dialog[open] { display: block; }
.vglsp .vglsp-dialog::backdrop { background: #03111bd9; backdrop-filter: blur(4px); }
.vglsp .vglsp-dialog > img { display: block; width: 100%; height: auto; max-height: calc(100vh - 140px); object-fit: contain; }
.vglsp .vglsp-dialog > p { margin: 12px 0 0; color: #637282; font-size: 13px; line-height: 1.55; text-align: center; }
.vglsp .vglsp-dialog-close {
  position: absolute;
  top: 8px;
  right: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid #d8e5ef;
  border-radius: 50%;
  background: #f1f8fc;
  color: #203b50;
  font-size: 28px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
}
.vglsp .vglsp-dialog-close:hover { background: #e0f3fd; }

@media (max-width: 1100px) {
  .vglsp h1 { font-size: 50px; }
  .vglsp h2 { font-size: 36px; }
  .vglsp .hero { height: 825px; }
  .vglsp .hero-copy { width: 490px; }
  .vglsp .hero p { max-width: 455px; font-size: 17px; }
  .vglsp .hero::after { background: linear-gradient(90deg,#04101bee 0,#04101bc9 38%,#04101b38 70%,transparent); }
  .vglsp .hero .btn { padding-left: 18px; padding-right: 18px; gap: 13px; }
  .vglsp .hero-pill { gap: 9px; font-size: 12px; }
  .vglsp .tasks, .vglsp .steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .vglsp .step img { height: 210px; }
  .vglsp .two-col { gap: 35px; }
  .vglsp .report-copy h2, .vglsp .trust-copy h2 { font-size: 35px; }
  .vglsp .products { gap: 22px; }
  .vglsp .product { padding: 27px; }
  .vglsp .product h3 { font-size: 27px; }
  .vglsp .product .actions { gap: 15px; }
  .vglsp .product .list { min-height: 190px; }
  .vglsp .product-img { height: 220px; }
  .vglsp .product-img .reader { height: 215px; }
  .vglsp .trust-grid { gap: 45px; }
  .vglsp .cost-card { padding: 28px; }
  .vglsp .extra { flex-wrap: wrap; gap: 4px 14px; }
  .vglsp .contact-grid { gap: 45px; }
  .vglsp .contact h2 { font-size: 37px; }
  .vglsp .section { padding: 64px 0; }
}

@media (max-width: 900px) {
  .vglsp .hero { height: 810px; }
  .vglsp .hero::after { background: linear-gradient(90deg,#04101bf7 0,#04101be6 48%,#04101b73 75%,#04101b1a); }
  .vglsp .hero-copy { width: 460px; }
  .vglsp h1 { font-size: 46px; }
  .vglsp .hero h1 { letter-spacing: -1.1px; }
  .vglsp .hero .crumb { margin-bottom: 38px; }
  .vglsp .hero-bottom .wrap { gap: 15px; }
  .vglsp .hero-pill { gap: 7px; line-height: 1.5; }
  .vglsp .hero-pill svg { width: 24px; min-width: 24px; }
  .vglsp .two-col, .vglsp .online-grid, .vglsp .trust-grid, .vglsp .contact-grid { grid-template-columns: minmax(0,1fr); }
  .vglsp .two-col { gap: 35px; }
  .vglsp .report-copy h2 { max-width: 650px; }
  .vglsp .report-copy .list { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 25px; }
  .vglsp .report-window { max-width: 100%; }
  .vglsp .online-preview img { height: 330px; }
  .vglsp .online-preview { padding: 27px; }
  .vglsp .online-preview .btn { align-self: flex-start; }
  .vglsp .trust-grid { gap: 35px; }
  .vglsp .trust-copy h2 { max-width: 650px; }
  .vglsp .trust-list { grid-template-columns: 1fr 1fr; gap: 24px; }
  .vglsp .trust-item { gap: 13px; }
  .vglsp .contact-grid { gap: 32px; }
  .vglsp .contact-grid > div:first-child { max-width: 650px; }
  .vglsp .contact .form { width: 100%; max-width: 650px; }
  .vglsp .cost-grid { gap: 20px; }
  .vglsp .cost-head { gap: 12px; }
  .vglsp .cost-head h3 { font-size: 20px; }
  .vglsp .price { font-size: 38px; }
  .vglsp .price.custom { font-size: 26px; }
  .vglsp .cost-card { padding: 25px; }
}

/* Stack copy and visual on tablets and phones so text stays clear of screens. */
@media (max-width: 900px) {
  .vglsp .hero { height: auto; overflow: hidden; }
  .vglsp .hero-inner { padding-top: 22px; padding-bottom: 32px; }
  .vglsp .hero .crumb { margin-bottom: 28px; font-size: 11px; line-height: 1.65; }
  .vglsp .hero-copy { width: 100%; max-width: 620px; }
  .vglsp .hero h1 { font-size: 44px; max-width: 610px; }
  .vglsp .hero p { max-width: 610px; }
  .vglsp .hero .badge { margin-bottom: 18px; font-size: 11px; }
  .vglsp .hero .hero-bg { position: relative; inset: auto; width: 100%; height: clamp(300px,61vw,460px); z-index: 0; }
  .vglsp .hero .hero-art { position: absolute; width: 100%; height: 100%; object-position: right center; }
  .vglsp .hero::after { display: none; }
  .vglsp .hero .hero-bg::before { content: ""; position: absolute; z-index: 1; top: 0; right: 0; left: 0; height: 40px; background: linear-gradient(#06111b,transparent); pointer-events: none; }
  .vglsp .hero-bottom { position: relative; inset: auto; }
  .vglsp .hero-bottom .wrap { height: auto; min-height: 0; padding: 22px 0; flex-wrap: wrap; gap: 18px 24px; }
  .vglsp .hero-pill { width: calc(50% - 12px); font-size: 13px; gap: 10px; }
  .vglsp .hero-pill:last-child { width: 100%; }
}

@media (max-width: 760px) {
  .vglsp .products, .vglsp .cost-grid { grid-template-columns: minmax(0,1fr); }
  .vglsp .product .list { min-height: 0; }
  .vglsp .product-img { height: 260px; }
  .vglsp .product-img .reader { height: 250px; }
  .vglsp .cost-card .actions { margin-top: 7px; }
}

@media (max-width: 640px) {
  .vglsp { font-size: 16px; }
  .vglsp .wrap { width: calc(100% - 40px); }
  .vglsp .section { padding: 49px 0; }
  .vglsp .section-head { margin-bottom: 28px; }
  .vglsp h1, .vglsp .hero h1 { font-size: 38px; letter-spacing: -.8px; line-height: 1.2; }
  .vglsp h2, .vglsp .report-copy h2, .vglsp .trust-copy h2, .vglsp .contact h2 { font-size: 31px; letter-spacing: -.7px; line-height: 1.28; }
  .vglsp h3 { font-size: 22px; }
  .vglsp .eyebrow { font-size: 10px; letter-spacing: 1.5px; margin-bottom: 11px; }
  .vglsp .section-head p:not(.eyebrow) { margin-top: 14px; font-size: 15px; }
  .vglsp .hero-inner { padding-bottom: 26px; }
  .vglsp .hero h1 { margin-bottom: 20px; }
  .vglsp .hero p { font-size: 16px; line-height: 1.7; }
  .vglsp .hero .actions { margin-top: 22px; }
  .vglsp .hero .hero-checks { font-size: 13px; gap: 9px; margin-top: 23px; }
  .vglsp .hero .hero-bg { height: clamp(280px,68vw,420px); }
  .vglsp .hero-pill { width: 100%; font-size: 13px; }
  .vglsp .hero-bottom .wrap { gap: 16px; }
  .vglsp .actions { gap: 12px; align-items: stretch; }
  .vglsp .actions .btn { flex: 1 1 220px; white-space: normal; }
  .vglsp .actions .textlink { align-self: center; text-align: center; }
  .vglsp .tasks, .vglsp .steps, .vglsp .feature-grid, .vglsp .trust-list { grid-template-columns: minmax(0,1fr); }
  .vglsp .tasks { gap: 15px; }
  .vglsp .tasks .card { padding: 24px; }
  .vglsp .tasks .iconbox { margin-bottom: 17px; }
  .vglsp .tasks h3 { font-size: 21px; }
  .vglsp .tasks p:not(.mini-label) { font-size: 15px; }
  .vglsp .steps { gap: 18px; }
  .vglsp .step img { height: auto; aspect-ratio: 1.7; object-fit: cover; }
  .vglsp .step-copy { padding: 21px 24px 25px; }
  .vglsp .step h3 { font-size: 21px; }
  .vglsp .step p { font-size: 15px; }
  .vglsp .offline-note { font-size: 13px; line-height: 1.75; gap: 10px; margin-top: 23px; }
  .vglsp .product { padding: 25px 23px; }
  .vglsp .product h3 { font-size: 28px; }
  .vglsp .product-sub { font-size: 15px; }
  .vglsp .product-img { height: 225px; }
  .vglsp .product-img .reader { height: 220px; }
  .vglsp .product .list { font-size: 15px; }
  .vglsp .product .actions .textlink { width: 100%; }
  .vglsp .product-note { font-size: 12px; }
  .vglsp .two-col { gap: 28px; }
  .vglsp .report-copy .list { display: block; font-size: 15px; }
  .vglsp .report-copy > .btn { width: 100%; white-space: normal; }
  .vglsp .under-image { gap: 12px; flex-wrap: wrap; font-size: 11px; }
  .vglsp .online-panel { padding: 50px 0; }
  .vglsp .feature-grid { gap: 15px; }
  .vglsp .dark-card { padding: 24px; }
  .vglsp .dark-card p { font-size: 15px; }
  .vglsp .online-preview { padding: 24px 20px; }
  .vglsp .online-preview h3 { font-size: 24px; }
  .vglsp .online-preview img { height: auto; max-height: 300px; }
  .vglsp .online-preview .btn { width: 100%; white-space: normal; align-self: stretch; }
  .vglsp .online-foot { line-height: 1.7; }
  .vglsp .trust-item { gap: 16px; }
  .vglsp .trust-item h4, .vglsp .trust-item h3 { font-size: 18px; }
  .vglsp .trust-item p { font-size: 14px; }
  .vglsp .trust-copy p:not(.eyebrow) { font-size: 15px; }
  .vglsp .trust-copy .btn { width: 100%; }
  .vglsp .cost-card { padding: 26px 23px; }
  .vglsp .cost-head h3 { font-size: 22px; }
  .vglsp .cost-head .iconbox { flex: 0 0 50px; }
  .vglsp .price { font-size: 42px; }
  .vglsp .price small { font-size: 16px; }
  .vglsp .price.custom { font-size: 28px; }
  .vglsp .cost-card .actions .textlink { width: 100%; }
  .vglsp .cost-card > .btn { width: 100%; }
  .vglsp .cost-info { font-size: 12px; line-height: 1.75; }
  .vglsp .faq { padding: 19px 20px; border-radius: 13px; }
  .vglsp .faq-q { font-size: 16px; gap: 17px; }
  .vglsp .faq-answer { margin: 14px 0 0; font-size: 14px; }
  .vglsp .contact { padding: 50px 0; }
  .vglsp .contact-grid > div:first-child > p:not(.eyebrow):not(.tiny) { font-size: 16px; }
  .vglsp .contact .phonebig { margin-top: 15px; font-size: 24px; }
  .vglsp .form { padding: 26px 23px; border-radius: 18px; }
  .vglsp .form .vglsp-cf7 input[type="text"],
  .vglsp .form .vglsp-cf7 input[type="email"],
  .vglsp .form .vglsp-cf7 input[type="tel"],
  .vglsp .form .vglsp-cf7 textarea { font-size: 16px; }
  .vglsp .form .vglsp-cf7 .contact-block__checkbox label br { display: none; }
  .vglsp .vglsp-dialog { width: calc(100vw - 20px); padding: 51px 10px 15px; border-radius: 13px; }
}

@media (max-width: 420px) {
  .vglsp .wrap { width: calc(100% - 32px); }
  .vglsp h1, .vglsp .hero h1 { font-size: 34px; }
  .vglsp h2, .vglsp .report-copy h2, .vglsp .trust-copy h2, .vglsp .contact h2 { font-size: 28px; }
  .vglsp .hero .badge { padding: 6px 11px; font-size: 10px; }
  .vglsp .hero .crumb { font-size: 10px; }
  .vglsp .hero .actions { flex-direction: column; }
  .vglsp .hero .actions .btn { flex: none; width: 100%; }
  .vglsp .hero .hero-bg { height: 280px; }
  .vglsp .tasks .card, .vglsp .dark-card { padding: 22px; }
  .vglsp .product, .vglsp .cost-card { padding: 24px 20px; }
  .vglsp .product h3 { font-size: 26px; }
  .vglsp .product .badge { padding: 6px 11px; font-size: 11px; }
  .vglsp .cost-head h3 { font-size: 20px; }
  .vglsp .extra { font-size: 13px; }
  .vglsp .price { font-size: 38px; }
  .vglsp .faq { padding: 18px; }
  .vglsp .form { padding: 24px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .vglsp *, .vglsp *::before, .vglsp *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}


/* Warehouse zones v2: one selected description, page 486 only. */
.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] {
  background: #fff;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zones-panel {
  padding: 28px;
  border: 1px solid #deedf6;
  border-radius: 24px;
  background: #eaf5fb;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zones-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  align-items: start;
  gap: 28px;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zones-grid > *,
.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zones-content {
  min-width: 0;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zones-photo {
  position: relative;
  align-self: start;
  width: 100%;
  margin: 0;
  isolation: isolate;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zones-photo > img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  border-radius: 17px;
}

/* Native buttons stay out of the way until their behaviour is ready. */
.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zone-pin,
.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zone-hint {
  display: none;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] button[data-warehouse-zone] {
  appearance: none;
  -webkit-appearance: none;
  font: inherit;
  text-transform: none;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"][data-warehouse-enhanced="true"] .vglwh-zone-pin {
  position: absolute;
  z-index: 1;
  left: clamp(22px, var(--vglwh-zone-x), calc(100% - 22px));
  top: clamp(22px, var(--vglwh-zone-y), calc(100% - 22px));
  transform: translate(-50%, -50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #fff;
  color: #087eaf;
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 2px 12px #15202c38, 0 0 0 1px #19a9e84d;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zone-pin[data-warehouse-zone="gate"] {
  --vglwh-zone-x: 52.5%;
  --vglwh-zone-y: 88%;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zone-pin[data-warehouse-zone="loading"] {
  --vglwh-zone-x: 35%;
  --vglwh-zone-y: 50%;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zone-pin[data-warehouse-zone="storage"] {
  --vglwh-zone-x: 84%;
  --vglwh-zone-y: 47%;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zone-pin[data-warehouse-zone="perimeter"] {
  --vglwh-zone-x: 17%;
  --vglwh-zone-y: 65%;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zone-pin[data-warehouse-zone="interior"] {
  --vglwh-zone-x: 62%;
  --vglwh-zone-y: 34%;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"][data-warehouse-enhanced="true"] .vglwh-zone-pin.is-active {
  background: #19a9e8;
  color: #fff;
  box-shadow: 0 2px 12px #15202c38, 0 0 0 3px #19a9e84d;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"][data-warehouse-enhanced="true"] .vglwh-zone-hint {
  display: block;
  margin: 0 0 10px;
  color: #526a7b;
  font-size: 15px;
  line-height: 1.5;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zone-details {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zone-detail {
  min-width: 0;
  margin: 0;
  padding: 21px;
  border: 1px solid #dceaf3;
  border-radius: 16px;
  background: #fff;
}

/* HTML ships all articles visible. Only the successfully initialised script
 * sets their hidden property; a missing script never removes the descriptions.
 */
.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zone-detail[hidden] {
  display: none !important;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zone-detail h3 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 13px;
  font-size: 20px;
  line-height: 1.4;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zone-heading-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #19a9e8;
  color: #fff;
  font-size: 15px;
  line-height: 1;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zone-heading-text {
  min-width: 0;
  overflow-wrap: anywhere;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zone-detail p {
  margin: 0 0 13px;
  color: #526a7b;
  font-size: 14px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zone-detail .vglwh-zone-result {
  margin: 17px 0 0;
  padding-top: 13px;
  border-top: 1px solid #e3edf4;
  color: #264a60;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zone-result strong {
  color: #087eaf;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zone-status {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] button[data-warehouse-zone]:focus-visible {
  outline: 3px solid #087eaf;
  outline-offset: 4px;
}

@media (max-width: 1000px) {
  .vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zones-panel {
    padding: 22px;
  }
  .vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zones-grid {
    gap: 22px;
  }
  .vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zone-detail {
    padding: 18px;
  }
}

@media (max-width: 800px) {
  .vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zones-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 23px;
  }
}

@media (max-width: 420px) {
  .vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zones-panel {
    padding: 16px;
    border-radius: 19px;
  }
  .vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zones-photo > img {
    border-radius: 12px;
  }
  .vglsp--warehouse #vglsp-warehouse-zones[data-warehouse-ui="v2"] .vglwh-zone-detail {
    padding: 17px;
  }
}

.vglsp--warehouse #vglsp-warehouse-zones .vglwh-zones-caption { margin: 20px 0 0; color: #526a7b; line-height: 1.6; }
.vglsp--warehouse #vglsp-warehouse-zones .vglwh-zone-pin-label { position: absolute; top: calc(100% + 5px); left: 50%; transform: translateX(-50%); padding: 3px 6px; border-radius: 5px; background: #fff; color: #264a60; font-size: 11px; font-weight: 600; line-height: 1.4; box-shadow: 0 1px 5px #15202c26; }
.vglsp.vglsp--warehouse .hero > .vglwh-hero-breadcrumbs { position: absolute; z-index: 3; top: 22px; left: 0; right: 0; }
.vglsp.vglsp--warehouse .hero > .vglwh-hero-breadcrumbs .vgl-industry-breadcrumbs { margin: 0; color: #e2edf4; }
.vglsp.vglsp--warehouse .hero .hero-inner { padding-top: 76px; }
@media (max-width: 900px) {
  .vglsp.vglsp--warehouse .hero > .vglwh-hero-breadcrumbs { position: relative; top: auto; padding-top: 20px; }
  .vglsp.vglsp--warehouse .hero .hero-inner { padding-top: 24px; }
}

/* Security page 8078: breadcrumbs above the distinct office-campus hero. */
.vglsp.vglsp--security .hero > .vglsp-security-hero-breadcrumbs { position: absolute; z-index: 3; top: 22px; left: 0; right: 0; }
.vglsp.vglsp--security .hero > .vglsp-security-hero-breadcrumbs .vgl-industry-breadcrumbs { margin: 0; color: #e2edf4; }
.vglsp.vglsp--security .hero .hero-inner { padding-top: 76px; }
@media (max-width: 900px) {
  .vglsp.vglsp--security .hero > .vglsp-security-hero-breadcrumbs { position: relative; top: auto; padding-top: 20px; }
  .vglsp.vglsp--security .hero .hero-inner { padding-top: 24px; }
}

/* Production page 492: shared hero and two static patrol scenarios. */
.vglsp.vglsp--production .hero > .vglpr-hero-breadcrumbs { position: absolute; z-index: 3; top: 22px; left: 0; right: 0; }
.vglsp.vglsp--production .hero > .vglpr-hero-breadcrumbs .vgl-industry-breadcrumbs { margin: 0; color: #e2edf4; }
.vglsp.vglsp--production .hero .hero-inner { padding-top: 76px; }
.vglsp.vglsp--production .vglpr-scenarios { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding: 28px; border: 1px solid #dcebf3; border-radius: 26px; background: #edf7fc; }
.vglsp.vglsp--production .vglpr-scenario { display: flex; flex-direction: column; min-width: 0; padding: 28px; border: 1px solid #e0e8ee; border-radius: 20px; background: #fff; }
.vglsp.vglsp--production .vglpr-scenario-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 18px; border-radius: 14px; color: #c17c09; background: #fff4d7; }
.vglsp.vglsp--production .vglpr-scenario-icon--night { color: #3373a0; background: #e8f3fc; }
.vglsp.vglsp--production .vglpr-scenario-icon svg { width: 29px; height: 29px; }
.vglsp.vglsp--production .vglpr-scenario h3 { margin: 0 0 14px; font-size: 24px; line-height: 1.3; }
.vglsp.vglsp--production .vglpr-scenario > p { margin: 0; color: #657486; line-height: 1.6; }
.vglsp.vglsp--production .vglpr-scenarios-note { max-width: 1080px; margin: 20px auto 0; color: #657486; text-align: center; line-height: 1.6; }
@media (max-width: 900px) {
  .vglsp.vglsp--production .hero > .vglpr-hero-breadcrumbs { position: relative; top: auto; padding-top: 20px; }
  .vglsp.vglsp--production .hero .hero-inner { padding-top: 24px; }
  .vglsp.vglsp--production .vglpr-scenarios { padding: 20px; gap: 20px; }
  .vglsp.vglsp--production .vglpr-scenario { padding: 22px; }
}
@media (max-width: 700px) {
  .vglsp.vglsp--production .vglpr-scenarios { grid-template-columns: minmax(0, 1fr); padding: 16px; gap: 16px; border-radius: 20px; }
  .vglsp.vglsp--production .vglpr-scenario { padding: 22px; border-radius: 16px; }
  .vglsp.vglsp--production .vglpr-scenario h3 { font-size: 22px; }
}

/* Mall page 484: shared hero and three service-specific patrol scenarios. */
.vglsp.vglsp--mall .hero > .vglm-hero-breadcrumbs { position: absolute; z-index: 3; top: 22px; left: 0; right: 0; }
.vglsp.vglsp--mall .hero > .vglm-hero-breadcrumbs .vgl-industry-breadcrumbs { margin: 0; color: #e2edf4; }
.vglsp.vglsp--mall .hero .hero-inner { padding-top: 76px; }
.vglsp.vglsp--mall .vglm-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding: 28px; border: 1px solid #dcebf3; border-radius: 26px; background: #edf7fc; }
.vglsp.vglsp--mall .vglm-service { min-width: 0; padding: 28px; border: 1px solid #e0e8ee; border-radius: 20px; background: #fff; }
.vglsp.vglsp--mall .vglm-service-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 18px; border-radius: 14px; color: #098bbc; background: #e6f6fd; }
.vglsp.vglsp--mall .vglm-service-icon--cleaning { color: #139b92; background: #e3f7f2; }
.vglsp.vglsp--mall .vglm-service-icon--technical { color: #b77c14; background: #fff4d7; }
.vglsp.vglsp--mall .vglm-service-icon svg { width: 29px; height: 29px; }
.vglsp.vglsp--mall .vglm-service h3 { margin: 0 0 14px; font-size: 24px; line-height: 1.3; }
.vglsp.vglsp--mall .vglm-service > p { margin: 0; color: #657486; line-height: 1.6; }
.vglsp.vglsp--mall .vglm-services-note { max-width: 1080px; margin: 20px auto 0; color: #657486; text-align: center; line-height: 1.6; }
@media (max-width: 1100px) {
  .vglsp.vglsp--mall .vglm-services { padding: 20px; gap: 20px; }
  .vglsp.vglsp--mall .vglm-service { padding: 22px; }
}
@media (max-width: 900px) {
  .vglsp.vglsp--mall .hero > .vglm-hero-breadcrumbs { position: relative; top: auto; padding-top: 20px; }
  .vglsp.vglsp--mall .hero .hero-inner { padding-top: 24px; }
}
@media (max-width: 800px) {
  .vglsp.vglsp--mall .vglm-services { grid-template-columns: minmax(0, 1fr); padding: 16px; gap: 16px; border-radius: 20px; }
  .vglsp.vglsp--mall .vglm-service { padding: 22px; border-radius: 16px; }
  .vglsp.vglsp--mall .vglm-service h3 { font-size: 22px; }
}

/* Service page 375: shared hero and an illustrative record for one area. */
.vglsp.vglsp--service .hero > .vglsv-hero-breadcrumbs { position: absolute; z-index: 3; top: 22px; left: 0; right: 0; }
.vglsp.vglsp--service .hero > .vglsv-hero-breadcrumbs .vgl-industry-breadcrumbs { margin: 0; color: #e2edf4; }
.vglsp.vglsp--service .hero .hero-inner { padding-top: 76px; }
.vglsp.vglsp--service .vglsv-record-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 36px; padding: 32px; border: 1px solid #dcebf3; border-radius: 26px; background: #edf7fc; }
.vglsp.vglsp--service .vglsv-record-steps { display: flex; flex-direction: column; justify-content: center; gap: 26px; min-width: 0; margin: 0; padding: 8px 0; list-style: none; }
.vglsp.vglsp--service .vglsv-record-steps li { display: flex; align-items: flex-start; gap: 16px; }
.vglsp.vglsp--service .vglsv-record-number { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 12px; background: #d8effa; color: #087fab; font-weight: 700; }
.vglsp.vglsp--service .vglsv-record-steps h3 { margin: 3px 0 9px; font-size: 22px; line-height: 1.3; }
.vglsp.vglsp--service .vglsv-record-steps p { margin: 0; color: #657486; line-height: 1.6; }
.vglsp.vglsp--service .vglsv-record-example { min-width: 0; padding: 28px; border: 1px solid #dfe8ee; border-radius: 20px; background: #fff; box-shadow: 0 8px 24px #12364a06; }
.vglsp.vglsp--service .vglsv-record-label { margin: 0 0 12px; color: #098bbc; font-size: 12px; font-weight: 700; letter-spacing: 1.3px; text-transform: uppercase; }
.vglsp.vglsp--service .vglsv-record-example h3 { margin: 0 0 8px; font-size: 24px; line-height: 1.3; }
.vglsp.vglsp--service .vglsv-record-example-intro { margin: 0 0 20px; color: #657486; font-size: 14px; line-height: 1.5; }
.vglsp.vglsp--service .vglsv-record-example dl { display: grid; gap: 14px; margin: 0; }
.vglsp.vglsp--service .vglsv-record-example dl > div { padding-top: 13px; border-top: 1px solid #edf1f4; }
.vglsp.vglsp--service .vglsv-record-example dt { margin: 0 0 4px; color: #71808d; font-size: 12px; line-height: 1.4; }
.vglsp.vglsp--service .vglsv-record-example dd { margin: 0; color: #243945; font-size: 15px; line-height: 1.5; }
.vglsp.vglsp--service .vglsv-record-status { color: #16866a; }
.vglsp.vglsp--service .vglsv-record-result { grid-column: 1 / -1; margin: 0; padding: 20px 0 0; border-top: 1px solid #d3e6f0; color: #355a6d; text-align: center; line-height: 1.6; }
.vglsp.vglsp--service .vglsv-record-note { max-width: 1080px; margin: 20px auto 0; color: #657486; text-align: center; line-height: 1.6; }
@media (max-width: 1000px) {
  .vglsp.vglsp--service .vglsv-record-panel { gap: 22px; padding: 24px; }
  .vglsp.vglsp--service .vglsv-record-example { padding: 24px; }
  .vglsp.vglsp--service .vglsv-record-steps h3 { font-size: 21px; }
}
@media (max-width: 900px) {
  .vglsp.vglsp--service .hero > .vglsv-hero-breadcrumbs { position: relative; top: auto; padding-top: 20px; }
  .vglsp.vglsp--service .hero .hero-inner { padding-top: 24px; }
}
@media (max-width: 800px) {
  .vglsp.vglsp--service .vglsv-record-panel { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 18px; border-radius: 20px; }
  .vglsp.vglsp--service .vglsv-record-steps { gap: 20px; padding: 8px 2px; }
  .vglsp.vglsp--service .vglsv-record-example { padding: 22px; border-radius: 16px; }
  .vglsp.vglsp--service .vglsv-record-example h3 { font-size: 22px; }
  .vglsp.vglsp--service .vglsv-record-result { padding-top: 18px; }
}

/* Duty page 7467: work time, an unchanged app screen and a CSS device frame. */
.vglsp.vglsp--duty .hero > .vgld-hero-breadcrumbs { position: absolute; z-index: 3; top: 22px; left: 0; right: 0; }
.vglsp.vglsp--duty .hero > .vgld-hero-breadcrumbs .vgl-industry-breadcrumbs { margin: 0; color: #e2edf4; }
.vglsp.vglsp--duty .hero .hero-inner { padding-top: 76px; }
.vglsp.vglsp--duty .vgld-principle,
.vglsp.vglsp--duty .vgld-reports { background: #f5f8fc; }
.vglsp.vglsp--duty .vgld-solutions,
.vglsp.vglsp--duty .vgld-developer { background: #fff; }
.vglsp.vglsp--duty #vglsp-duty-shift { padding: 64px 0; }
.vglsp.vglsp--duty #vglsp-duty-shift .section-head { margin-bottom: 32px; }
.vglsp.vglsp--duty .vgld-shift-panel { display: grid; grid-template-columns: minmax(244px, 300px) minmax(0, 1fr); align-items: center; gap: 48px; padding: 28px 48px; border: 1px solid #dcebf3; border-radius: 26px; background: #edf7fc; }
.vglsp.vglsp--duty .vgld-shift-screen { width: 100%; min-width: 0; margin: 0; text-align: center; }
.vglsp.vglsp--duty .vgld-phone { position: relative; display: block; box-sizing: border-box; width: 244px; max-width: 100%; padding: 4px; margin: 0 auto; border: 1px solid #6d747c; border-radius: 39px; background: linear-gradient(110deg, #737b85 0%, #e5e6e6 18%, #a3a9b0 45%, #d0d4d9 77%, #777f89 100%); box-shadow: 0 16px 28px rgba(30, 56, 77, .15), inset 0 0 0 1px rgba(255,255,255,.8); }
.vglsp.vglsp--duty .vgld-phone::before,
.vglsp.vglsp--duty .vgld-phone::after { content: ""; position: absolute; width: 2px; border-radius: 2px; background: #818994; box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); }
.vglsp.vglsp--duty .vgld-phone::before { left: -3px; top: 67px; height: 25px; }
.vglsp.vglsp--duty .vgld-phone::after { right: -3px; top: 107px; height: 43px; }
.vglsp.vglsp--duty .vgld-phone-display { position: relative; display: block; overflow: hidden; padding: 25px 0 17px; border: 6px solid #101216; border-radius: 34px; background: #f5f6f7; }
.vglsp.vglsp--duty .vgld-phone-display::before { content: ""; position: absolute; z-index: 1; top: 5px; left: 50%; width: 62px; height: 16px; transform: translateX(-50%); border-radius: 12px; background: #090b0e; }
.vglsp.vglsp--duty .vgld-phone-display::after { content: ""; position: absolute; bottom: 6px; left: 50%; width: 68px; height: 4px; transform: translateX(-50%); border-radius: 3px; background: #171a1f; }
.vglsp.vglsp--duty .vgld-phone img { display: block; width: 100%; height: auto; }
.vglsp.vglsp--duty .vgld-phone:focus-visible { outline: 3px solid #087fab; outline-offset: 5px; }
.vglsp.vglsp--duty .vgld-shift-screen figcaption { max-width: 260px; margin: 14px auto 0; color: #657486; font-size: 12px; line-height: 1.5; }
.vglsp.vglsp--duty .vgld-shift-content { min-width: 0; }
.vglsp.vglsp--duty .vgld-shift-label { margin: 0 0 20px; color: #087fab; font-size: 13px; font-weight: 700; letter-spacing: .04em; }
.vglsp.vglsp--duty .vgld-shift-benefits { display: grid; gap: 21px; margin: 0; padding: 0; list-style: none; }
.vglsp.vglsp--duty .vgld-shift-benefits li { display: flex; align-items: flex-start; gap: 16px; }
.vglsp.vglsp--duty .vgld-shift-icon { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 12px; background: #d8effa; color: #087fab; }
.vglsp.vglsp--duty .vgld-shift-icon svg { width: 24px; height: 24px; }
.vglsp.vglsp--duty .vgld-shift-benefits h3 { margin: 1px 0 7px; font-size: 20px; line-height: 1.35; }
.vglsp.vglsp--duty .vgld-shift-benefits p { margin: 0; color: #657486; font-size: 16px; line-height: 1.55; }
.vglsp.vglsp--duty .vgld-shift-note { margin: 22px 0 0; padding-top: 18px; border-top: 1px solid #d3e6f0; color: #657486; font-size: 13px; line-height: 1.55; }
@media (max-width: 1000px) {
  .vglsp.vglsp--duty .vgld-shift-panel { grid-template-columns: 244px minmax(0, 1fr); gap: 30px; padding: 26px; }
  .vglsp.vglsp--duty .vgld-shift-benefits { gap: 18px; }
  .vglsp.vglsp--duty .vgld-shift-benefits li { gap: 12px; }
}
@media (max-width: 900px) {
  .vglsp.vglsp--duty .hero > .vgld-hero-breadcrumbs { position: relative; top: auto; padding-top: 20px; }
  .vglsp.vglsp--duty .hero .hero-inner { padding-top: 24px; }
}
@media (max-width: 760px) {
  .vglsp.vglsp--duty #vglsp-duty-shift { padding: 48px 0; }
  .vglsp.vglsp--duty .vgld-shift-panel { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 24px 20px; border-radius: 20px; }
  .vglsp.vglsp--duty .vgld-phone { width: 240px; }
  .vglsp.vglsp--duty .vgld-shift-label { margin-bottom: 18px; }
  .vglsp.vglsp--duty .vgld-shift-benefits h3 { font-size: 19px; }
}

/* Industry expansion: existing landing components, one contextual scenario. */
.vglsp.vglsp--industry .hero > .vgli-hero-breadcrumbs { position: absolute; z-index: 3; top: 21px; left: 0; right: 0; }
.vglsp.vglsp--industry .hero .hero-inner { padding-top: 84px; }
.vglsp.vglsp--industry .hero .hero-copy h1 { font-size: clamp(36px, 3.7vw, 51px); overflow-wrap: break-word; }
.vglsp.vglsp--industry .hero .badge { max-width: 100%; white-space: normal; line-height: 1.5; }
.vglsp.vglsp--industry .vgli-scenario { background: #f5f8fc; }
.vglsp .vgli-zones { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.vglsp .vgli-zone { padding: 28px 24px; background: #fff; border: 1px solid #e0eaf3; border-radius: 18px; min-width: 0; }
.vglsp .vgli-zone-no { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; background: #e4f4fc; color: #087fab; font-size: 16px; font-weight: 700; margin-bottom: 22px; }
.vglsp .vgli-zone h3 { margin: 0 0 12px; font-size: 20px; line-height: 1.35; color: #132b43; }
.vglsp .vgli-zone p { margin: 0; font-size: 15px; line-height: 1.6; color: #627185; }
.vglsp .vgli-scenario-note { margin: 24px 0 0; padding: 18px 22px; border-left: 3px solid #19a9e8; background: #edf4fa; border-radius: 0 10px 10px 0; font-size: 14px; line-height: 1.6; color: #53667a; }
.vglsp .vgli-related { background: #f5f8fc; }
.vglsp .vgli-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.vglsp .vgli-related-link { display: flex; gap: 18px; align-items: center; justify-content: space-between; padding: 24px; border: 1px solid #dce8f2; border-radius: 14px; background: #fff; color: #17334c; text-decoration: none; font-weight: 600; line-height: 1.5; }
.vglsp .vgli-related-link > span:first-child { min-width: 0; overflow-wrap: break-word; }
.vglsp .vgli-related-link > span:last-child { flex-shrink: 0; color: #087fab; font-size: 24px; }
.vglsp .vgli-related-link:hover { border-color: #19a9e8; }
.vglsp .vgli-related-link:focus-visible, .vglsp .vgli-all-link:focus-visible { outline: 3px solid #087fab; outline-offset: 4px; }
.vglsp .vgli-all-link { display: inline-block; color: #087fab; margin-top: 24px; text-underline-offset: 4px; }
@media (max-width: 1100px) { .vglsp .vgli-zones { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) {
  .vglsp.vglsp--industry .hero > .vgli-hero-breadcrumbs { position: relative; top: auto; padding-top: 20px; }
  .vglsp.vglsp--industry .hero .hero-inner { padding-top: 24px; }
}
@media (max-width: 650px) {
  .vglsp.vglsp--industry .hero .hero-copy h1 { font-size: 34px; }
  .vglsp .vgli-zones, .vglsp .vgli-related-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .vglsp .vgli-zone { padding: 24px; }
  .vglsp .vgli-zone-no { margin-bottom: 16px; }
}

/* Standalone industry photographs; full 3:2 frames, scoped to the principle cards. */
#vglsp-industry-principle .vgli-step-visual { position: relative; width: 100%; height: auto; min-height: 0; aspect-ratio: 3 / 2; overflow: hidden; border-bottom: 1px solid #e3edf4; background: #edf6fc; }
#vglsp-industry-principle .vgli-step-photo img { display: block; width: 100%; height: auto; max-width: none; aspect-ratio: 3 / 2; object-fit: contain; }
#vglsp-industry-principle .vgli-step-visual-label { display: block; color: #4b6780; font-size: 10px; font-weight: 700; line-height: 1.3; }
#vglsp-industry-principle .vgli-step-result { display: flex; flex-direction: column; padding: 12px; background: linear-gradient(145deg, #e5f2fc, #f6faff); }
#vglsp-industry-principle .vgli-step-result > .vgli-step-visual-label { flex: 0 0 auto; margin-bottom: 8px; font-size: 9px; }
#vglsp-industry-principle .vgli-step-result-screen { flex: 1 1 0; min-height: 0; overflow: hidden; }
#vglsp-industry-principle .vgli-step-result-screen img { display: block; width: 100%; height: 100%; max-width: 100%; object-fit: contain; object-position: center top; }
#vglsp-industry-principle .offline-note { max-width: 1040px; }
@media (max-width: 1100px) {
  #vglsp-industry-principle .vgli-step-visual-label { font-size: 12px; }
  #vglsp-industry-principle .vgli-step-result { padding: 16px; }
}
@media (max-width: 640px) {
  #vglsp-industry-principle .vgli-step-visual-label { font-size: 11px; }
}
