/* VN Training / V5. Page and optional home promotion; no app or download logic. */
.vn-training,.vn-training-promo{
  --vn-ink:var(--v4-ink,#102b3c);
  --vn-blue:var(--v4-blue,#006d9b);
  --vn-deep:var(--v4-blue-deep,#075f8d);
  --vn-line:#cbd8df;
  --vn-muted:#476171;
  color:var(--vn-ink);
}
.vn-training *, .vn-training-promo *{min-width:0}
.vn-training .container{width:min(1280px,calc(100% - 96px));max-width:none;margin-inline:auto}
.vn-training h1,.vn-training h2,.vn-training-promo h2{
  font-family:var(--v3-font,'Manrope',sans-serif);
  font-weight:600;
  color:var(--vn-ink);
  text-wrap:balance;
}
.vn-training h1{
  margin:0;
  max-width:750px;
  font-size:clamp(2.75rem,5.3vw,4.7rem);
  line-height:1.03;
  letter-spacing:-.06em;
}
.vn-training h2,.vn-training-promo h2{
  margin:0;
  font-size:clamp(2rem,3.8vw,3.5rem);
  line-height:1.06;
  letter-spacing:-.055em;
}
.vn-training p{font-size:1.0625rem;line-height:1.6}
.vn-training .vn-training-kicker,.vn-training-promo__kicker{
  margin:0;
  font-family:var(--v3-mono,'JetBrains Mono',monospace);
  font-size:.8125rem;
  font-weight:500;
  line-height:1.6;
  letter-spacing:.015em;
  color:var(--vn-muted);
}
.vn-training-heading-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-bottom:24px}
.vn-training-platform,.vn-training-promo__platform{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:4px 12px;
  border:1px solid #8faebb;
  border-radius:999px;
  background:#e9f3f8;
  color:var(--vn-deep);
  box-shadow:inset 0 1px 0 #fff;
  font-size:.875rem;
  font-weight:750;
  line-height:1.3;
  white-space:nowrap;
}
.vn-training-hero{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  align-items:center;
  gap:50px;
  padding-block:54px 64px;
}
.vn-training .vn-training-lede{max-width:570px;margin:24px 0 0;font-size:1.125rem;line-height:1.55}
.vn-training-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:30px}
.vn-training-actions .button{font-size:.9375rem;gap:12px}
.vn-training-actions .button-secondary{padding:14px 19px;min-height:54px}
.vn-training-actions .button-secondary>span{font-size:1.4rem;line-height:1}
.vn-training-download .v4-button-arrow{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23075f8d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12m-5-5 5 5 5-5M5 17v4h14v-4'/%3E%3C/svg%3E");
}
.vn-training-download[aria-disabled="true"]{
  color:#355463;
  background:#e1edf3;
  background-image:none;
  border-color:#87a4b6;
  box-shadow:inset 0 1px 0 #fff;
  cursor:not-allowed;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.vn-training-download[aria-disabled="true"]::before{display:none}
.vn-training-download[aria-disabled="true"]:hover,
.vn-training-download[aria-disabled="true"]:active{transform:none;background:#e1edf3;box-shadow:inset 0 1px 0 #fff}
.vn-training-download[aria-disabled="true"]:hover .v4-button-arrow{transform:none}
.vn-training .vn-training-download-state{
  margin:12px 0 0;
  font-size:.875rem;
  line-height:1.4;
  font-weight:700;
  color:var(--vn-deep);
}
.vn-training .vn-training-action-note{margin:6px 0 0;font-size:.875rem;line-height:1.5;color:var(--vn-muted)}
.vn-training-hero__photo{margin:0}
.vn-training-hero__photo img{width:100%;aspect-ratio:1.22;object-fit:cover;object-position:55% center;border-radius:0}
.vn-training-hero__photo figcaption,.vn-training-share__image figcaption{
  margin-top:12px;
  font-family:var(--v3-mono,'JetBrains Mono',monospace);
  font-size:.8125rem;
  line-height:1.55;
  color:var(--vn-muted);
}
.vn-training-benefits,.vn-training-share,.vn-training-start{border-top:1px solid var(--vn-line);padding-block:52px}
.vn-training-section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}
.vn-training-section-heading h2{max-width:640px}
.vn-training-benefit-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0;padding:0;list-style:none}
.vn-training-benefit-list li{display:flex;align-items:start;gap:16px;margin:0}
.vn-training-number{
  flex:none;
  padding-top:3px;
  font-family:var(--v3-mono,'JetBrains Mono',monospace);
  font-size:.8125rem;
  color:var(--vn-blue);
}
.vn-training .vn-training-benefit-title,.vn-training .vn-training-step-title{
  margin:0 0 8px;
  font-size:1.125rem;
  font-weight:750;
  line-height:1.4;
  letter-spacing:-.025em;
}
.vn-training-benefit-list li p:last-child{margin:0;font-size:1rem;color:var(--vn-muted)}
.vn-training-share{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:64px}
.vn-training-share__copy .vn-training-kicker{margin-bottom:22px}
.vn-training-share__copy h2{max-width:540px}
.vn-training-share__copy>p:not(.vn-training-kicker){max-width:430px;margin:24px 0 22px}
.vn-training-share__image{margin:0}
.vn-training-share__image img{width:100%;height:auto;max-height:640px;object-fit:contain;border:1px solid var(--vn-line);border-radius:0}
.vn-training-text-link{
  display:inline-flex;
  align-items:center;
  gap:16px;
  min-height:48px;
  font-size:1rem;
  font-weight:700;
  line-height:1.4;
  color:var(--vn-deep);
  text-decoration:none;
}
.vn-training-text-link>span{font-size:1.4rem}
.vn-training-text-link:hover{text-decoration:underline;text-underline-offset:5px}
.vn-training-start{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:76px;padding-bottom:68px}
.vn-training-start__steps>.vn-training-kicker{margin-bottom:16px}
.vn-training-step-list{counter-reset:vn-step;list-style:none;padding:0;margin:28px 0 0}
.vn-training-step-list li{counter-increment:vn-step;display:flex;gap:22px;align-items:start;margin:0;padding:18px 0;border-bottom:1px solid var(--vn-line)}
.vn-training-step-list li:first-child{padding-top:0}
.vn-training-step-list li::before{
  content:"0" counter(vn-step);
  flex:none;
  min-width:28px;
  padding-top:2px;
  font-family:var(--v3-mono,'JetBrains Mono',monospace);
  font-size:.875rem;
  line-height:1.5;
  color:var(--vn-blue);
}
.vn-training-step-list li p:last-child{margin:0;font-size:1rem;color:var(--vn-muted)}
.vn-training-faq{padding-top:34px}
.vn-training-faq h2{font-size:clamp(1.75rem,2.4vw,2.3rem);margin-bottom:24px}
.vn-training-faq details{border-top:1px solid var(--vn-line);padding:17px 0}
.vn-training-faq details:last-of-type{border-bottom:1px solid var(--vn-line)}
.vn-training-faq summary{cursor:pointer;font-size:1rem;font-weight:700;line-height:1.45;padding-right:12px}
.vn-training-faq details>p{margin:15px 0 0;font-size:1rem;line-height:1.6;color:var(--vn-muted)}
.vn-training-faq>.vn-training-text-link{margin-top:20px}
.vn-training a:focus-visible,.vn-training summary:focus-visible,.vn-training-promo a:focus-visible{
  outline:3px solid var(--vn-deep);
  outline-offset:4px;
  box-shadow:0 0 0 2px #fff;
}

/* Optional parent-owned home strip: 84px photo, copy and a real page CTA. */
.vn-training-promo{
  display:grid;
  grid-template-columns:84px minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
  padding:24px 0;
  border-top:1px solid var(--vn-line);
  border-bottom:1px solid var(--vn-line);
}
.vn-training-promo__copy h2{font-size:clamp(1.65rem,2.4vw,2rem);line-height:1.12}
.vn-training-promo__kicker{margin-bottom:7px;font-size:.6875rem}
.vn-training-promo__platform{min-height:28px;font-size:.75rem;margin:0 0 10px;padding:3px 10px}
.vn-training-promo__copy>p:not(.vn-training-promo__kicker){max-width:680px;margin:9px 0 0;font-size:1rem;line-height:1.5}
.vn-training-promo__actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.vn-training-promo__actions .button{font-size:.9375rem}
.vn-training-promo__image{margin:0;width:84px;height:84px}
.vn-training-promo__image img{width:100%;height:100%;object-fit:cover;border-radius:0}
.vn-training-promo__copy .vn-training-promo__note{margin-top:9px;font-size:.8125rem;color:var(--vn-muted)}

@supports (backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){
  .vn-training-platform,.vn-training-promo__platform{
    background:var(--v4-glass-light,rgba(240,248,252,.89));
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
  }
}
@media(min-width:1450px){
  .vn-training-hero{gap:64px}
  .vn-training-hero__photo img{aspect-ratio:1.13}
}
@media(max-width:1100px){
  .vn-training .container{width:calc(100% - 64px)}
  .vn-training-hero{gap:32px;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}
  .vn-training h1{font-size:clamp(2.75rem,5.4vw,4rem)}
  .vn-training-heading-row{gap:10px;margin-bottom:20px}
  .vn-training-heading-row .vn-training-kicker{font-size:.75rem}
  .vn-training-share{gap:38px}
  .vn-training-start{gap:42px}
  .vn-training-benefit-list{gap:22px}
  .vn-training-benefit-list li{gap:10px}
  .vn-training-promo{gap:20px;grid-template-columns:84px minmax(0,1fr)}
  .vn-training-promo__actions{grid-column:2}
}
@media(max-width:800px){
  .vn-training .container{width:calc(100% - 44px)}
  .vn-training-hero{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:36px 36px}
  .vn-training h1{max-width:700px;font-size:clamp(2.6rem,7vw,3.75rem)}
  .vn-training .vn-training-lede{max-width:600px;margin-top:20px}
  .vn-training-actions{margin-top:23px}
  .vn-training-hero__photo img{aspect-ratio:2;object-position:center}
  .vn-training-hero__photo figcaption{margin-top:9px}
  .vn-training-benefits,.vn-training-share,.vn-training-start{padding-block:34px}
  .vn-training-section-heading{display:block;margin-bottom:25px}
  .vn-training-section-heading>.vn-training-kicker{margin-bottom:13px}
  .vn-training-benefit-list{gap:18px}
  .vn-training-benefit-list li{display:block}
  .vn-training-number{display:block;margin-bottom:12px}
  .vn-training .vn-training-benefit-title{font-size:1rem}
  .vn-training-benefit-list li p:last-child{font-size:.9375rem}
  .vn-training-share{gap:28px}
  .vn-training-share__copy>.vn-training-kicker{margin-bottom:16px}
  .vn-training-share__copy>p:not(.vn-training-kicker){margin-top:20px;font-size:1rem}
  .vn-training h2{font-size:clamp(2rem,4.6vw,2.75rem)}
  .vn-training-promo__copy h2{font-size:1.75rem}
  .vn-training-start{grid-template-columns:minmax(0,1fr);gap:30px;padding-bottom:42px}
  .vn-training-faq{padding-top:0}
  .vn-training-faq h2{font-size:1.75rem;margin-bottom:20px}
  .vn-training-promo{gap:18px;padding-block:22px}
  .vn-training-promo__copy>p:not(.vn-training-promo__kicker){font-size:1rem}
}
@media(max-width:540px){
  .vn-training .container{width:calc(100% - 36px)}
  .vn-training-heading-row{justify-content:space-between;gap:10px;margin-bottom:19px}
  .vn-training-heading-row .vn-training-kicker{font-size:.625rem;letter-spacing:0}
  .vn-training-platform{font-size:.8125rem;min-height:32px;padding:4px 10px}
  .vn-training h1{font-size:clamp(2.35rem,10.7vw,2.8rem);line-height:1.06;letter-spacing:-.06em}
  .vn-training .vn-training-lede{font-size:1.0625rem;line-height:1.5;margin-top:19px}
  .vn-training-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:22px}
  .vn-training-actions .button{width:100%;min-height:52px}
  .vn-training-actions .button-secondary{justify-content:space-between;padding:13px 18px}
  .vn-training .vn-training-download-state{margin-top:10px;font-size:.8125rem}
  .vn-training .vn-training-action-note{font-size:.8125rem}
  .vn-training-hero__photo img{aspect-ratio:1.95}
  .vn-training-hero__photo figcaption,.vn-training-share__image figcaption{font-size:.6875rem;line-height:1.5}
  .vn-training-benefit-list{grid-template-columns:minmax(0,1fr);gap:20px}
  .vn-training-benefit-list li{display:flex;gap:16px}
  .vn-training-number{margin:0;padding-top:2px}
  .vn-training .vn-training-benefit-title{font-size:1.0625rem;margin-bottom:5px}
  .vn-training-benefit-list li p:last-child{font-size:1rem}
  .vn-training-share{grid-template-columns:minmax(0,1fr);gap:26px}
  .vn-training-share__copy h2{max-width:330px}
  .vn-training-share__copy>p:not(.vn-training-kicker){margin:18px 0 13px}
  .vn-training-share__image img{max-height:none}
  .vn-training-kicker{font-size:.75rem}
  .vn-training-step-list{margin-top:24px}
  .vn-training-step-list li{gap:16px;padding:16px 0}
  .vn-training .vn-training-step-title{font-size:1.0625rem;margin-bottom:6px}
  .vn-training-faq summary{font-size:1rem}
  .vn-training-faq details>p{font-size:.9375rem}
  .vn-training-text-link{font-size:.9375rem}
  .vn-training-promo{grid-template-columns:64px minmax(0,1fr);gap:16px}
  .vn-training-promo__copy>p:not(.vn-training-promo__kicker){margin-top:18px;font-size:1.0625rem}
  .vn-training-promo__copy h2{font-size:1.625rem}
  .vn-training-promo__image{width:64px;height:64px}
  .vn-training-promo__actions{grid-column:1/-1;gap:12px;margin-top:2px}
  .vn-training-promo__actions .button{width:100%}
}
@media(prefers-reduced-transparency:reduce){
  .vn-training-platform,.vn-training-promo__platform{
    background:#e9f3f8;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
}
@media(prefers-reduced-motion:reduce){
  .vn-training .button,.vn-training .button>span,.vn-training-promo .button,.vn-training-promo .button>span{transition:none}
}

/* VN Training: native link enhanced with page-specific installation guidance. */
.vn-training .vn-training-activation-link {
  display: inline-block;
  margin-top: 10px;
  padding-block: 7px;
  color: var(--vn-deep);
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.vn-training .vn-training-activation-link:hover { color: var(--vn-blue); }
html.vn-download-is-open { overflow: hidden; }
#vn-download-dialog {
  box-sizing: border-box;
  width: min(520px, calc(100% - 36px));
  max-width: 520px;
  max-height: calc(100dvh - 36px);
  margin: auto;
  padding: 28px;
  overflow: auto;
  border: 1px solid #cbdde7;
  border-radius: 24px;
  color: var(--v6-ink, #102b3c);
  background: linear-gradient(145deg, #fff, #eef6fa);
  box-shadow: 0 24px 80px rgba(8, 43, 64, .3);
  font-family: var(--v6-font, 'Manrope', sans-serif);
}
#vn-download-dialog:not([open]) { display: none; }
#vn-download-dialog::backdrop { background: rgba(8, 43, 64, .64); backdrop-filter: blur(6px); }
#vn-download-dialog .vn-download-dialog__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
#vn-download-dialog .vn-download-dialog__kicker { margin: 0; font-family: var(--v3-mono, 'JetBrains Mono', monospace); font-size: .6875rem; font-weight: 500; letter-spacing: .035em; color: #476171; }
#vn-download-dialog .vn-download-dialog__close { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; padding: 0; border: 1px solid #cbdde7; border-radius: 50%; color: #075f8d; background: #eaf3f8; cursor: pointer; }
#vn-download-dialog h2 { margin: 0 0 16px; font-size: clamp(1.6rem, 5vw, 2rem); font-weight: 600; line-height: 1.15; letter-spacing: -.035em; }
#vn-download-dialog #vn-download-instructions { margin: 0; font-size: 1rem; line-height: 1.65; color: #355463; }
#vn-download-dialog .vn-download-dialog__actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
#vn-download-dialog .vn-download-dialog__cancel { min-height: 48px; padding: 10px 15px; border: 0; color: #476171; background: transparent; font: inherit; font-size: .9375rem; font-weight: 600; cursor: pointer; }
#vn-download-dialog .vn-download-dialog__cancel:hover { color: #075f8d; text-decoration: underline; text-underline-offset: 4px; }
#vn-download-dialog .vn-download-confirm { min-height: 48px; font-size: .9375rem; white-space: nowrap; }
#vn-download-dialog :is(a, button):focus-visible { outline: 3px solid #075f8d; outline-offset: 4px; box-shadow: 0 0 0 2px #fff; }
@media(max-width: 540px) {
  #vn-download-dialog { padding: 22px; border-radius: 20px; }
  #vn-download-dialog .vn-download-dialog__actions { gap: 8px; }
}
@media(forced-colors: active) {
  #vn-download-dialog { border-color: CanvasText; background: Canvas; color: CanvasText; box-shadow: none; }
  #vn-download-dialog :is(.vn-download-dialog__close, .vn-download-dialog__cancel) { border: 1px solid ButtonText; background: ButtonFace; color: ButtonText; }
}
