/* ============================================================
   VistaNova M&A Partners — Contact page styles
   Implements "VistaNova Contact.dc.html" from the Claude Design
   project. Shared components live in site.css; this file holds
   only the styles specific to this page: the split hero with its
   parallax image, the trust boxes, the "reasons" link rows, the
   direct-contact lines, the office/steps grids, in-text links,
   and the animated CTA/outline buttons.
   ============================================================ */

/* ---------- In-text links ---------- */
a.vn-tlink{color:var(--cyan-600);text-decoration:underline;text-decoration-color:rgba(0,188,212,.45);text-underline-offset:3px;transition:color .2s ease,text-decoration-color .2s ease}
a.vn-tlink:hover{color:var(--indigo-800);text-decoration-color:var(--indigo-800)}

/* ---------- Animated primary CTA button ---------- */
.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{background:var(--cyan-600);border-color:var(--cyan-600);color:#fff;transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,120,145,.35)}
.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-btn--primary.vn-cta-anim:hover{color:var(--indigo-900)}

/* ---------- Animated outline (secondary) button ---------- */
.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)}

/* ---------- Direct-contact lines (navy section) ---------- */
.vn-cline{transition:color .2s ease}
.vn-cline:hover{color:var(--cyan-500)}

/* ---------- Solid-nav CTA hover ---------- */
#vn-nav.solid .vn-navcta{position:relative;overflow:hidden}
#vn-nav.solid .vn-navcta:hover{background:var(--cyan-500);border-color:var(--cyan-500);color:var(--indigo-900)}
#vn-nav.solid .vn-navcta::after{content:"";position:absolute;left:22px;right:22px;bottom:8px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
#vn-nav.solid .vn-navcta:hover::after{transform:scaleX(1)}

/* ---------- Trust boxes (navy "Speak Directly" section) ---------- */
.vn-trustbox{border-top:2px solid rgba(255,255,255,0.22);transition:transform .3s ease,border-top-color .3s ease}
.vn-trustbox .vn-specicon{background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.26);color:var(--cyan-500);transition:background .3s ease,border-color .3s ease,color .3s ease,transform .4s cubic-bezier(.2,.8,.2,1)}
.vn-trustbox .vn-trust-t{transition:color .25s ease}
.vn-trustbox:hover{transform:translateY(-5px);border-top-color:var(--cyan-500)}
.vn-trustbox:hover .vn-trust-t{color:var(--cyan-500)}
.vn-trustbox:hover .vn-specicon{background:var(--cyan-500);border-color:var(--cyan-500);color:var(--indigo-900);transform:rotate(-8deg) scale(1.08)}

/* ---------- "Reasons clients contact" link rows ---------- */
a.vn-reason{text-decoration:none;transition:border-left-color .25s ease,transform .28s ease,background .25s ease}
a.vn-reason .vn-specicon{transition:background .3s ease,border-color .3s ease,color .3s ease,transform .4s cubic-bezier(.2,.8,.2,1)}
a.vn-reason .vn-r-t{transition:color .25s ease}
a.vn-reason .vn-r-l{transition:color .25s ease}
a.vn-reason .vn-r-arrow{opacity:0;transform:translateX(-8px);color:var(--cyan-600);transition:opacity .25s ease,transform .25s ease}
a.vn-reason:hover{border-left-color:var(--cyan-500);transform:translateX(6px);background:#fff}
a.vn-reason:hover .vn-r-t{color:var(--indigo-800)}
a.vn-reason:hover .vn-r-l{color:var(--cyan-600)}
a.vn-reason:hover .vn-specicon{background:var(--indigo-800);border-color:var(--indigo-800);color:#fff;transform:rotate(-8deg) scale(1.06)}
a.vn-reason:hover .vn-r-arrow{opacity:1;transform:translateX(0)}

/* ---------- Split hero + parallax image ---------- */
#vn-herosplit{display:grid;grid-template-columns:minmax(0,1fr);gap:38px;align-items:center;padding:126px 0 var(--space-16)}
#vn-heroimg{position:relative;overflow:hidden;height:clamp(300px,64vw,420px);border-radius:var(--radius-lg);background:#0e1424}
#vn-heropar{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
@media(max-width:899px){#vn-heropar{transform:none!important}}
@media(min-width:900px){
  #vn-herosplit{grid-template-columns:minmax(0,54fr) minmax(0,46fr);gap:var(--space-12);padding:158px 0 var(--space-20)}
  #vn-heroimg{height:clamp(430px,41vw,580px)}
  #vn-heropar{height:100vh;will-change:transform}
}
@media(prefers-reduced-motion:reduce){#vn-heropar{transform:none!important}}

/* ---------- Enquiry-form anchor + Zoho embed ---------- */
#vn-form-anchor{scroll-margin-top:100px}
.vn-zoho-frame{width:100%;border:none;display:block;border-radius:var(--radius-md);background:#fff}

/* ---------- Responsive grids ---------- */
#vn-trust{grid-template-columns:minmax(0,1fr)}
#vn-steps{grid-template-columns:minmax(0,1fr)}
#vn-contactcard{grid-template-columns:minmax(0,1fr)}
#vn-office{grid-template-columns:minmax(0,1fr)}
@media(min-width:640px){#vn-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:820px){
  #vn-trust{grid-template-columns:repeat(3,minmax(0,1fr))}
  #vn-contactcard{grid-template-columns:repeat(3,minmax(0,1fr))}
  #vn-office{grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:var(--space-16)}
}
@media(min-width:1100px){#vn-steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
