  details.vn-disc > summary::-webkit-details-marker{display:none}
  details.vn-disc > summary{list-style:none}
  details.vn-disc[open] > summary .vn-caret{transform:rotate(180deg)}
  details.vn-disc > summary:hover{color:var(--cyan-600)}
  details.vn-disc[open]{border-top-color:var(--cyan-500)}
  #vn-timeline details.vn-tl > summary::-webkit-details-marker{display:none}
  #vn-timeline details.vn-tl > summary{list-style:none}
  #vn-timeline details.vn-tl{transition:border-color .25s ease,box-shadow .25s ease}
  #vn-timeline details.vn-tl[open]{border-color:var(--indigo-800);box-shadow:var(--shadow-md)}
  #vn-timeline details.vn-tl[open] > summary .vn-caret{transform:rotate(180deg)}
  #vn-timeline details.vn-tl[open] .vn-tlicon{background:var(--indigo-800);border-color:var(--indigo-800);color:#fff}
  #vn-timeline details.vn-tl > summary:hover .vn-tlicon{border-color:var(--cyan-500);color:var(--cyan-600);background:var(--cyan-100)}
  #vn-timeline details.vn-tl[open] > summary:hover .vn-tlicon{background:var(--indigo-800);border-color:var(--indigo-800);color:#fff}
  #vn-timeline details.vn-tl > summary:hover .vn-tltitle{color:var(--cyan-600)}
  #vn-timeline .vn-tlicon{background:#fff;border:1px solid var(--color-border);color:var(--indigo-800)}
  #vn-timeline .vn-tltitle{color:var(--indigo-800)}
  .vn-ind-arrow{opacity:0;transform:translateX(-6px)}
  .vn-ind-card:hover .vn-ind-arrow{opacity:1;transform:translateX(0)}
  .vn-wa-icon{background:rgba(0,188,212,0.12);border:1px solid rgba(0,188,212,0.45);color:var(--cyan-500);transition:background .3s ease,border-color .3s ease,color .3s ease,transform .4s cubic-bezier(.2,.8,.2,1)}
  .vn-wa-block{transition:transform .35s ease,border-color .3s ease}
  .vn-wa-block:hover{transform:translateY(-4px);border-top-color:#fff}
  .vn-wa-block:hover .vn-wa-icon{background:var(--cyan-500);border-color:var(--cyan-500);color:var(--indigo-800);transform:translateY(-2px) rotate(-8deg) scale(1.1)}
  .vn-buyer-row{position:relative;transition:transform .3s ease,box-shadow .3s ease,background .3s ease}
  .vn-buyer-row .vn-specicon{transition:background .3s ease,border-color .3s ease,color .3s ease,transform .4s cubic-bezier(.2,.8,.2,1)}
  .vn-buyer-title{color:var(--indigo-800);transition:color .25s ease}
  .vn-buyer-row:hover{transform:translateY(-5px);background:#fff;box-shadow:var(--shadow-lg);border-radius:var(--radius-sm);z-index:2}
  .vn-buyer-row:hover .vn-specicon{background:var(--indigo-800);border-color:var(--indigo-800);color:#fff;transform:rotate(-8deg) scale(1.08)}
  .vn-buyer-row:hover .vn-buyer-title{color:var(--cyan-600)}
  .vn-tcard{transition:transform .3s ease,box-shadow .3s ease,border-top-color .3s ease}
  .vn-tcard .vn-specicon{transition:background .3s ease,border-color .3s ease,color .3s ease,transform .4s cubic-bezier(.2,.8,.2,1)}
  .vn-tcard:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-top-color:var(--cyan-500)}
  .vn-tcard:hover .vn-specicon{background:var(--indigo-800);border-color:var(--indigo-800);color:#fff;transform:rotate(-8deg) scale(1.08)}
  details.vn-disc > summary{color:var(--indigo-800)}
  #considerations details.vn-disc{transition:transform .3s ease,box-shadow .3s ease,border-top-color .3s ease}
  #considerations details.vn-disc:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-top-color:var(--cyan-500)}
  #considerations details.vn-disc > summary .vn-i{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
  #considerations details.vn-disc:hover > summary .vn-i:first-of-type{transform:scale(1.18) rotate(-8deg)}
  details.vn-disc:not([open]) > summary:hover .vn-caret{color:var(--cyan-600);transform:translateY(3px)}
  #why-vistanova .vn-service-card{background:var(--indigo-800);border:1px solid rgba(255,255,255,0.16);border-top:2px solid rgba(0,188,212,0.5);box-shadow:0 16px 36px rgba(0,0,0,.34)}
  #why-vistanova .vn-service-card:hover{border-color:rgba(255,255,255,0.3);border-top-color:var(--cyan-500);transform:translateY(-7px);box-shadow:0 26px 54px rgba(0,0,0,.44)}
  #why-vistanova .vn-service-title{color:#fff}
  #why-vistanova .vn-lead{color:#DDE3F5}
  #why-vistanova .vn-glyph{background:transparent;border-color:rgba(255,255,255,0.28);color:var(--cyan-500);transition:background .3s ease,border-color .3s ease,color .3s ease,transform .4s cubic-bezier(.2,.8,.2,1)}
  #why-vistanova .vn-service-card:hover .vn-glyph{background:var(--cyan-500);border-color:var(--cyan-500);color:var(--indigo-800);transform:rotate(-8deg) scale(1.08)}
  @media(min-width:1000px){#geo-split{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}#vn-skyline{order:-1}}
  @media(prefers-reduced-motion:reduce){.vn-par{transform:none!important}}

  /* CTA hover sweep (shared with other pages) */
  .vn-cta-anim{gap:10px;position:relative;transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}
  .vn-cta-anim .vn-i{transition:transform .25s ease}
  .vn-cta-anim:hover{transform:translateY(-2px)}
  .vn-cta-anim:hover .vn-i{transform:translateX(4px)}
  .vn-cta-anim::after{content:"";position:absolute;left:32px;right:32px;bottom:11px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
  .vn-cta-anim:hover::after{transform:scaleX(1)}
  .vn-outline-anim{gap:10px;position:relative;transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease}
  .vn-outline-anim .vn-i{transition:transform .25s ease}
  .vn-outline-anim:hover{transform:translateY(-2px)}
  .vn-outline-anim:hover .vn-i{transform:translateX(4px)}
  .vn-outline-anim::after{content:"";position:absolute;left:32px;right:32px;bottom:11px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
  .vn-outline-anim:hover::after{transform:scaleX(1)}
  .vn-cta-anim:hover,.vn-outline-anim:hover{background:var(--cyan-500);border-color:var(--cyan-500);color:var(--indigo-900)}
  .vn-btn--accent.vn-cta-anim:hover,.vn-hero-btn--ghost.vn-outline-anim:hover{background:var(--cyan-600);border-color:var(--cyan-600);color:#fff;box-shadow:0 10px 26px rgba(0,120,145,.35)}
  #vn-nav.solid .vn-navcta:hover{background:var(--cyan-500);border-color:var(--cyan-500);color:var(--indigo-900)}
  .vn-hero-btn{background:#fff;color:var(--indigo-900);border-color:#fff}
  .vn-hero-btn:hover{background:var(--cyan-500);border-color:var(--cyan-500);color:var(--indigo-900)}
  .vn-hero-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,0.55)}
  .vn-hero-btn--ghost:hover{background:var(--cyan-500);border-color:var(--cyan-500);color:var(--indigo-900)}
  .vn-inl{color:var(--cyan-600);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s ease}
  .vn-inl:hover{color:var(--indigo-800)}
  #more .vn-inl,#why-vistanova .vn-inl{color:var(--cyan-500)}
  /* fixed-layer parallax: clip-path clips the position:fixed image to its section on every browser incl. iOS Safari */
  .vn-fxwrap{position:relative;overflow:hidden;clip-path:inset(0)}
  .vn-fx{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100lvh;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:0;pointer-events:none}
  .vn-nofx .vn-fx{position:absolute;width:100%;height:100%}
  .vn-fxwrap > .vn-fxcontent{position:relative;z-index:1}
  /* triggers */
  .vn-trig{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
  @media(min-width:700px){.vn-trig{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media(min-width:1100px){.vn-trig{grid-template-columns:repeat(3,minmax(0,1fr))}}
  .vn-trig-item{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--color-border);border-top:2px solid var(--indigo-800);border-radius:var(--radius-md);padding:24px;transition:transform .3s ease,box-shadow .3s ease,border-top-color .3s ease}
  .vn-trig-item .vn-specicon{flex:none;transition:background .3s ease,border-color .3s ease,color .3s ease,transform .4s cubic-bezier(.2,.8,.2,1)}
  .vn-trig-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-top-color:var(--cyan-500)}
  .vn-trig-item:hover .vn-specicon{background:var(--indigo-800);border-color:var(--indigo-800);color:#fff;transform:rotate(-8deg) scale(1.08)}
  .vn-trig-item p{font-family:var(--font-ui);font-size:15.5px;font-weight:700;line-height:1.5;color:var(--indigo-800);margin:0;padding-top:4px;text-wrap:pretty}
  /* two-form cards */
  .vn-forms{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
  @media(min-width:900px){.vn-forms{grid-template-columns:repeat(2,minmax(0,1fr))}}
  /* comparison table */
  .vn-tbl{display:flex;flex-direction:column;gap:10px}
  .vn-tr{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,1.5fr);align-items:stretch;background:#fff;border:1px solid var(--color-border);border-left:3px solid var(--indigo-800);border-radius:var(--radius-sm);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,background .3s ease}
  .vn-tr > div{padding:18px 24px;font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--ink-700);text-wrap:pretty;display:flex;flex-direction:column;justify-content:center}
  .vn-tr > div:first-child{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:14px;font-family:var(--font-ui);font-weight:700;font-size:15px;color:var(--indigo-800)}
  .vn-tr > div:last-child{background:rgba(0,188,212,0.06);color:var(--indigo-900);border-left:1px solid rgba(0,188,212,0.35);transition:background .3s ease}
  .vn-tr .vn-specicon{width:40px;height:40px;flex:none;transition:background .3s ease,border-color .3s ease,color .3s ease,transform .4s cubic-bezier(.2,.8,.2,1)}
  .vn-tr-head{background:var(--indigo-800);border-color:var(--indigo-800);border-left-color:var(--cyan-500)}
  .vn-tr-head > div,.vn-tr-head > div:first-child{font-family:var(--font-ui);font-size:11.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:#fff;padding:16px 24px}
  .vn-tr-head > div{display:flex;flex-direction:row;justify-content:flex-start;align-items:center}
  .vn-tr-head > div:last-child{background:transparent;color:var(--cyan-500);border-left-color:rgba(255,255,255,0.16)}
  .vn-tbl-body .vn-tr:hover{transform:translateY(-4px) scale(1.012);box-shadow:0 18px 38px rgba(10,15,56,.16);border-color:rgba(0,188,212,.55);border-left-color:var(--cyan-500);background:var(--silver-100);position:relative;z-index:2}
  .vn-tbl-body .vn-tr:hover > div:first-child{color:var(--cyan-600)}
  .vn-tbl-body .vn-tr:hover > div:last-child{background:rgba(0,188,212,0.16)}
  .vn-tbl-body .vn-tr:hover .vn-specicon{background:var(--indigo-800);border-color:var(--indigo-800);color:var(--cyan-500);transform:rotate(-8deg) scale(1.08)}
  .vn-lbl{display:none}
  @media(max-width:760px){
    .vn-tr-head{display:none}
    .vn-tr{grid-template-columns:minmax(0,1fr)}
    .vn-tr > div{padding:10px 20px}
    .vn-tr > div:first-child{padding-top:18px;font-size:16px}
    .vn-tr > div:last-child{border-left:0;padding-bottom:18px}
    .vn-lbl{display:block;font-family:var(--font-ui);font-size:10.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-500);margin-bottom:4px}
    .vn-tr > div:last-child .vn-lbl{color:var(--cyan-600)}
  }
  #why-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
  @media(min-width:700px){#why-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media(min-width:1100px){#why-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
  #geo-split{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:center}
  @media(min-width:1000px){#geo-split{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:72px}}
  .vn-geo-img{position:relative;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:16/10;background:#0b0b0b;box-shadow:var(--shadow-lg)}
