.vj-contact-page{overflow:hidden}
.vj-contact-hero{padding-block:clamp(5rem,9vw,8rem) 5rem;border-block-end:1px solid var(--vj-color-border-default)}
.vj-contact-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);align-items:center;gap:clamp(3rem,8vw,7rem)}
.vj-contact-hero__copy h1{max-inline-size:760px;margin:.7rem 0 1.25rem;font-size:clamp(3rem,5vw,5rem);line-height:1.12;font-weight:700;letter-spacing:0;text-wrap:balance}
.vj-contact-hero__lead{max-inline-size:660px;margin:0;color:var(--vj-color-text-secondary);font-size:var(--vj-font-lead-fa);line-height:1.9}
.vj-contact-hero__actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-block-start:2rem}
.vj-contact-hero__visual{min-block-size:360px;display:grid;place-items:center}
.vj-contact-orbit{position:relative;inline-size:320px;block-size:320px;border:1px solid var(--vj-color-border-default);border-radius:50%;background:radial-gradient(circle at center,transparent 0 23%,rgb(255 255 255 / 0) 24%);box-shadow:inset 0 0 0 70px rgb(239 236 230 / 18%)}
.vj-contact-orbit::before,.vj-contact-orbit::after{content:"";position:absolute;inset:15%;border:1px solid var(--vj-color-border-default);border-radius:50%}
.vj-contact-orbit::after{inset:31%}
.vj-contact-orbit__core{position:absolute;inset:50% auto auto 50%;translate:-50% -50%;inline-size:84px;block-size:84px;display:grid;place-items:center;border-radius:50%;background:var(--vj-color-brand-primary);color:#fff;font-size:1.3rem;box-shadow:var(--vj-shadow-md)}
.vj-contact-orbit__node{position:absolute;min-inline-size:76px;padding:.45rem .7rem;text-align:center;border:1px solid var(--vj-color-border-default);border-radius:999px;background:var(--vj-color-bg-surface);box-shadow:var(--vj-shadow-sm);font-size:.8rem}
.vj-contact-orbit__node::after{content:"";position:absolute;inline-size:55px;border-block-start:1px solid var(--vj-color-border-default)}
.vj-contact-orbit .node-a{inset-block-start:4%;inset-inline-start:50%;translate:-50% 0}
.vj-contact-orbit .node-a::after{inset-block-start:100%;inset-inline-start:50%;rotate:90deg;transform-origin:left center}
.vj-contact-orbit .node-b{inset-block-start:48%;inset-inline-end:-8%}
.vj-contact-orbit .node-b::after{inset-inline-end:100%;inset-block-start:50%;transform:translateY(-50%)}
.vj-contact-orbit .node-c{inset-block-end:5%;inset-inline-start:50%;translate:-50% 0}
.vj-contact-orbit .node-c::after{inset-block-end:100%;inset-inline-start:50%;rotate:90deg;transform-origin:right center}
.vj-contact-paths{padding-block:5.5rem;background:var(--vj-color-bg-page)}
.vj-contact-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.6fr);gap:2rem;align-items:end;margin-block-end:2rem}
.vj-contact-section-head h2,.vj-contact-form-aside h2,.vj-contact-next h2{margin:.5rem 0 .7rem;font-size:clamp(2rem,3.2vw,3.1rem);line-height:1.25;font-weight:700}
.vj-contact-section-head>p,.vj-contact-next p{margin:0;color:var(--vj-color-text-secondary);line-height:1.85}
.vj-contact-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.vj-contact-path-card{display:flex;flex-direction:column;min-block-size:310px;padding:1.5rem;border:1px solid var(--vj-color-border-default);border-radius:var(--vj-radius-lg);background:var(--vj-color-bg-surface);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.vj-contact-path-card:hover{transform:translateY(-3px);border-color:var(--vj-color-brand-accent);box-shadow:var(--vj-shadow-md)}
.vj-contact-path-card.is-featured{background:var(--vj-color-brand-primary);color:#fff;border-color:var(--vj-color-brand-primary)}
.vj-contact-path-card.is-featured .vj-eyebrow,.vj-contact-path-card.is-featured .vj-arrow-link{color:#e6b59a}
.vj-contact-path-card__num{align-self:flex-end;font-size:.8rem;color:var(--vj-color-text-muted)}
.vj-contact-path-card h3{margin:1.2rem 0 .8rem;font-size:1.45rem;line-height:1.45}
.vj-contact-path-card p{margin:0;color:var(--vj-color-text-secondary);line-height:1.85}
.vj-contact-path-card.is-featured p{color:#dedbd5}
.vj-contact-path-card .vj-arrow-link{margin-block-start:auto}
.vj-contact-form-section{padding-block:6rem;background:var(--vj-color-bg-muted)}
.vj-contact-form-layout{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.vj-contact-form-aside p{color:var(--vj-color-text-secondary);line-height:1.9}
.vj-contact-note{display:grid;gap:.4rem;margin-block-start:2rem;padding:1rem;border-inline-start:3px solid var(--vj-color-brand-accent)}
.vj-contact-note strong{font-size:1rem}.vj-contact-note span{color:var(--vj-color-text-muted);font-size:.92rem;line-height:1.8}
.vj-contact-form-card{padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--vj-color-border-default);border-radius:var(--vj-radius-lg);background:var(--vj-color-bg-surface);box-shadow:var(--vj-shadow-sm)}
.vj-contact-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.vj-contact-form__wide{grid-column:1/-1}
.vj-form-help,.vj-contact-form__privacy{font-size:.85rem;color:var(--vj-color-text-muted);line-height:1.8}
.vj-contact-form__privacy{margin:.9rem 0 0}.vj-contact-form .vj-button{margin-block-start:.5rem}
.vj-contact-next{padding-block:4rem;border-block-start:1px solid var(--vj-color-border-default)}
.vj-contact-next__inner{display:flex;justify-content:space-between;align-items:center;gap:2rem}
.vj-contact-next__inner>div{max-inline-size:780px}
@media (max-width:900px){.vj-contact-hero__grid,.vj-contact-section-head,.vj-contact-form-layout{grid-template-columns:1fr}.vj-contact-hero__visual{min-block-size:260px}.vj-contact-path-grid{grid-template-columns:1fr 1fr}.vj-contact-next__inner{align-items:flex-start;flex-direction:column}}
@media (max-width:620px){.vj-contact-hero{padding-block:4rem 3rem}.vj-contact-hero__copy h1{font-size:2.45rem}.vj-contact-orbit{inline-size:250px;block-size:250px}.vj-contact-path-grid,.vj-contact-form__grid{grid-template-columns:1fr}.vj-contact-form__wide{grid-column:auto}.vj-contact-next{padding-block:3rem}}

.vj-contact-path-card .vj-arrow-link { min-block-size: 40px; padding: .6rem .85rem; font-size: .88rem; }
