.vvs{--vvs-green:#164e45;--vvs-ink:#172c29;--vvs-line:#dce4e0;background:#fff;color:var(--vvs-ink)}
.vvs .vvs-wrap{width:min(1360px,calc(100% - 96px));margin-inline:auto}.vvs .vvs-section{padding:90px 0}.vvs .vvs-editorial{display:grid;grid-template-columns:1fr 2.5fr;gap:64px}.vvs .vvs-label{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.12em;font-weight:600;text-transform:uppercase;line-height:1.6;margin:8px 0 24px;display:flex;gap:18px;align-items:baseline;color:var(--vvs-green)}.vvs .vvs-label>span{opacity:.55;font-variant-numeric:tabular-nums}.vvs .vvs-heading{font-size:clamp(34px,4.1vw,62px);line-height:1.12;font-weight:400;letter-spacing:-.035em;margin:0 0 36px;color:var(--vvs-ink);text-wrap:balance}.vvs .vvs-intro-bottom{display:flex;align-items:flex-start;gap:40px;justify-content:space-between}.vvs .vvs-lead{font-size:19px;line-height:1.75;margin:0;max-width:650px}.vvs .vvs-button{background:var(--vvs-green);border:1px solid var(--vvs-green);color:#fff;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 23px;font-size:14px;font-weight:600;line-height:1.5;text-decoration:none;flex-shrink:0;max-width:260px;transition:background .2s,color .2s}.vvs .vvs-button:hover{background:#0b3730;color:#fff}.vvs .vvs-button span{font-size:23px;font-weight:400}.vvs .vvs-value{padding-top:12px}.vvs .vvs-values{display:grid;grid-template-columns:1fr 1fr;gap:20px}.vvs .vvs-value-card{padding:36px;background:#f3f5f3}.vvs .vvs-value-card h2{font-size:28px;font-weight:400;line-height:1.2;margin:30px 0 22px;color:inherit;letter-spacing:-.02em}.vvs .vvs-value-card p{font-size:16px;line-height:1.8;margin:0;color:inherit}.vvs .vvs-value-card--green{background:#e9f0ed}.vvs .vvs-symbol{font:42px/1 Arial,sans-serif;color:var(--vvs-green)}.vvs .vvs-signature{display:block;font-size:11px;letter-spacing:.11em;margin-top:34px;color:var(--vvs-green)}.vvs .vvs-feature-image{height:360px;margin-block:0;overflow:hidden;background:#eef1ef}.vvs .vvs-feature-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.35)}.vvs .vvs-team-head{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:35px}.vvs .vvs-team-head .vvs-heading{font-size:clamp(32px,3.3vw,48px);margin-bottom:0;max-width:650px}.vvs .vvs-controls{display:flex;gap:10px}.vvs .vvs-controls button{width:48px;height:48px;border-radius:50%;border:1px solid #adbfba;background:#fff;color:var(--vvs-green);font-size:23px;cursor:pointer}.vvs .vvs-controls button:disabled{opacity:.3;cursor:default}.vvs .vvs-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#91aaa0 transparent;padding:4px 2px 24px;overscroll-behavior-x:contain}.vvs .vvs-person{flex:0 0 calc((100% - 72px)/4);min-width:0;scroll-snap-align:start}.vvs .vvs-person a{text-decoration:none;color:inherit;display:block}.vvs .vvs-person-photo{position:relative;aspect-ratio:4/4.6;background:#f0f3f1;overflow:hidden;display:grid;place-items:center}.vvs .vvs-person-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(1);transition:filter .25s,transform .25s}.vvs .vvs-person a:hover img{filter:grayscale(0);transform:scale(1.025)}.vvs .vvs-person-photo>span:not(.vvs-person-arrow){font-size:40px;color:#748b81}.vvs .vvs-person-arrow{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;background:#fff;width:37px;height:37px;border-radius:50%;font-size:22px}.vvs .vvs-person-info{padding:22px 0 10px;border-bottom:1px solid var(--vvs-line)}.vvs .vvs-role{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#546f66;margin:0 0 9px;min-height:17px}.vvs .vvs-person h3{font-size:23px;font-weight:400;line-height:1.2;margin:0 0 10px;color:var(--vvs-ink)}.vvs .vvs-office{font-size:13px;color:#5d706a;min-height:20px;margin:0 0 16px}.vvs .vvs-profile-link{font-size:13px;display:flex;justify-content:space-between;color:var(--vvs-green)}.vvs .vvs-faq{background:#f7f8f6}.vvs .vvs-faq h2{font-size:36px;font-weight:400;line-height:1.2;color:var(--vvs-ink);max-width:270px}.vvs .vvs-faq details{border-bottom:1px solid #ced9d3}.vvs .vvs-faq details:first-child{border-top:1px solid #ced9d3}.vvs .vvs-faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:30px 1fr 24px;gap:18px;align-items:baseline;padding:28px 0;font-size:21px;line-height:1.4}.vvs .vvs-faq summary::-webkit-details-marker{display:none}.vvs .vvs-faq-number{font-size:12px;color:#678075}.vvs .vvs-faq-plus{font-size:26px;transition:transform .2s}.vvs .vvs-faq details[open] .vvs-faq-plus{transform:rotate(45deg)}.vvs .vvs-answer{padding:0 42px 28px 48px;font-size:16px;line-height:1.8}.vvs .vvs-answer p{margin:0}.vvs .vvs-contact{background:var(--vvs-green);color:#fff;padding:75px 0}.vvs .vvs-contact>.vvs-wrap{display:flex;align-items:center;justify-content:space-between;gap:50px}.vvs .vvs-contact .vvs-label,.vvs .vvs-contact .vvs-heading{color:#fff}.vvs .vvs-contact .vvs-heading{font-size:clamp(34px,3.5vw,52px);margin-bottom:20px}.vvs .vvs-contact p:not(.vvs-label){font-size:16px;line-height:1.7;max-width:560px;margin-bottom:0}.vvs .vvs-button--light{background:#fff;color:var(--vvs-green);border-color:#fff}.vvs a:focus-visible,.vvs button:focus-visible,.vvs summary:focus-visible,.vvs-track:focus-visible{outline:3px solid #478575;outline-offset:5px}.vvs .vv-service-hero .vv-eyebrow{color:#fff}
@media(min-width:1500px){.vvs .vvs-intro-bottom{flex-direction:column}}
@media(max-width:1200px){.vvs .vvs-editorial{grid-template-columns:1fr 3fr;gap:35px}.vvs .vvs-intro-bottom{flex-direction:column;gap:25px}.vvs .vvs-person{flex-basis:calc((100% - 48px)/3)}}
@media(max-width:780px){.vvs .vvs-wrap{width:calc(100% - 40px)}.vvs .vvs-section{padding:55px 0}.vvs .vvs-editorial{grid-template-columns:1fr;gap:12px}.vvs .vvs-heading{font-size:38px;margin-bottom:25px}.vvs .vvs-lead{font-size:17px}.vvs .vvs-value{padding-top:0}.vvs .vvs-values{gap:14px}.vvs .vvs-value-card{padding:25px}.vvs .vvs-feature-image{height:240px}.vvs .vvs-person{flex-basis:calc((100% - 24px)/2)}.vvs .vvs-team-head{align-items:flex-start}.vvs .vvs-team-head .vvs-heading{font-size:32px}.vvs .vvs-controls{margin-top:32px}.vvs .vvs-controls button{width:40px;height:40px}.vvs .vvs-faq h2{max-width:none;margin:0 0 24px}.vvs .vvs-faq summary{font-size:18px;gap:10px;padding:24px 0}.vvs .vvs-answer{padding-left:40px}.vvs .vvs-contact>.vvs-wrap{align-items:flex-start;flex-direction:column;gap:30px}}
@media(max-width:520px){.vvs .vvs-values{grid-template-columns:1fr}.vvs .vvs-person{flex-basis:78%}.vvs .vvs-value-card h2{margin-top:20px}.vvs .vvs-team-head{gap:16px}.vvs .vvs-team-head .vvs-heading{font-size:29px}.vvs .vvs-controls{gap:6px}.vvs .vvs-faq summary{grid-template-columns:22px 1fr 20px}.vvs .vvs-answer{padding-left:32px;padding-right:20px}.vvs .vvs-heading{font-size:35px}}
@media(prefers-reduced-motion:reduce){.vvs *{transition:none!important;scroll-behavior:auto!important}}

/* Vector arrows: consistent size and alignment across browsers. */
.vvs .vvs-arrow-icon{display:block;width:24px;height:24px;flex:0 0 auto;overflow:visible}.vvs .vvs-controls button{display:grid;place-items:center;padding:0}.vvs .vvs-symbol .vvs-arrow-icon{width:42px;height:42px}.vvs .vvs-profile-link .vvs-arrow-icon{width:18px;height:18px}.vvs .vvs-profile-link{align-items:center}

/* Editorial AI banners: retain their panoramic composition and natural palette. */
.vvs .vvs-feature-image{height:auto;aspect-ratio:3/1}.vvs .vvs-feature-image img{display:block;object-position:center;filter:none}@media(max-width:780px){.vvs .vvs-feature-image{height:auto;aspect-ratio:16/9}}

/* Compact immigration program banner, between presentation and approach. */
.vvs .vvs-cbi{display:grid;grid-template-columns:28% 1fr;background:var(--vvs-green);color:#fff;margin-bottom:76px;overflow:hidden}.vvs .vvs-cbi-photo{min-height:280px;position:relative}.vvs .vvs-cbi-photo img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:60% center}.vvs .vvs-cbi-copy{padding:38px 42px}.vvs .vvs-cbi .vvs-label{color:#d5e3dd;font-size:10px;margin:0 0 20px;gap:9px;flex-wrap:wrap}.vvs .vvs-cbi h2{font-size:clamp(28px,2.8vw,40px);font-weight:400;line-height:1.15;letter-spacing:-.025em;color:#fff;margin:0 0 25px;max-width:660px;text-wrap:balance}.vvs .vvs-cbi-bottom{display:flex;align-items:center;gap:32px;justify-content:space-between}.vvs .vvs-cbi-bottom p{font-size:15px;line-height:1.75;color:#e4ece8;margin:0;max-width:470px}.vvs .vvs-cbi .vvs-button{padding:14px 18px;gap:18px;font-size:13px}.vvs .vvs-cbi .vvs-button:focus-visible{outline-color:#fff}
@media(max-width:1050px){.vvs .vvs-cbi-copy{padding:30px}.vvs .vvs-cbi-bottom{align-items:flex-start;flex-direction:column;gap:22px}}
@media(max-width:600px){.vvs .vvs-cbi{grid-template-columns:1fr;margin-bottom:50px}.vvs .vvs-cbi-photo{min-height:0;height:160px}.vvs .vvs-cbi-photo img{object-position:center top}.vvs .vvs-cbi-copy{padding:27px 24px 30px}.vvs .vvs-cbi h2{font-size:29px;margin-bottom:18px}.vvs .vvs-cbi .vvs-label{font-size:9px;letter-spacing:.09em;gap:5px;margin-bottom:16px}.vvs .vvs-cbi .vvs-button{max-width:none;width:100%}}
