
:root{
  --red:#D90A2C;
  --red-2:#ff3150;
  --ink:#050507;
  --ink-2:#090a0d;
  --ink-3:#0d0e12;
  --paper:#f3f2ef;
  --paper-2:#ebeae6;
  --white:#f8f8f8;
  --muted:rgba(255,255,255,.62);
  --line:rgba(255,255,255,.10);
  --dark-line:rgba(8,9,12,.12);
  --max:1400px;
  --font:"Montserrat","Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;min-width:320px;overflow-x:hidden;background:var(--ink);color:#fff;font-family:var(--font);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
button,input{font:inherit}
::selection{background:var(--red);color:#fff}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Header */
.vm-header{position:fixed;inset:0 0 auto;z-index:1000;height:78px;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(5,5,7,.74);backdrop-filter:blur(18px) saturate(120%);transition:background .25s ease,box-shadow .25s ease}
.vm-header.is-scrolled{background:rgba(5,5,7,.95);box-shadow:0 18px 45px rgba(0,0,0,.26)}
.vm-header__inner{width:min(calc(100% - 56px),var(--max));height:100%;margin:auto;display:grid;grid-template-columns:210px 1fr 210px;align-items:center;gap:24px}
.vm-brand{width:156px;display:inline-flex;align-items:center;text-decoration:none}
.vm-brand img{width:100%;height:auto}
.vm-nav{height:100%;display:flex;align-items:center;justify-content:center;gap:4px}
.vm-nav__item{position:relative;height:100%;display:flex;align-items:center}
.vm-nav__link,.vm-nav__trigger{position:relative;height:42px;padding:0 15px;display:inline-flex;align-items:center;gap:7px;border:0;border-radius:11px;background:transparent;color:rgba(255,255,255,.82);text-decoration:none;font-size:11px;font-weight:600;cursor:pointer;transition:.2s ease}
.vm-nav__link:hover,.vm-nav__trigger:hover,.vm-nav__trigger[aria-expanded="true"]{color:#fff;background:rgba(255,255,255,.045)}
.vm-nav__link:after,.vm-nav__trigger:after{content:"";position:absolute;left:15px;right:15px;bottom:-18px;height:2px;background:var(--red);transform:scaleX(0);transition:transform .2s ease}
.vm-nav__link:hover:after,.vm-nav__trigger[aria-expanded="true"]:after{transform:scaleX(1)}
.vm-nav__trigger svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .2s ease}
.vm-nav__trigger[aria-expanded="true"] svg{transform:rotate(180deg)}
.vm-icon-button{justify-self:end}
.vm-header__cta{height:45px;padding:0 17px;display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.19);border-radius:13px;background:rgba(255,255,255,.02);color:#fff;text-decoration:none;font-size:11px;font-weight:700;transition:.2s ease}
.vm-header__cta:hover{border-color:rgba(217,10,44,.82);background:rgba(217,10,44,.08);transform:translateY(-1px)}
.vm-button-icon{width:18px;height:18px;fill:none;stroke:var(--red-2);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

.vm-mega{position:absolute;top:69px;left:50%;width:720px;padding:15px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(7,7,11,.985);box-shadow:0 34px 90px rgba(0,0,0,.58);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-9px) scale(.985);transform-origin:50% 0;transition:opacity .18s ease,transform .22s cubic-bezier(.22,.8,.22,1),visibility .18s linear}
.vm-mega--resources{width:630px}
.vm-nav__item.is-open .vm-mega{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1)}
.vm-mega__col{position:relative;z-index:2;padding:12px 17px 14px}
.vm-mega__col+.vm-mega__col{border-left:1px solid rgba(255,255,255,.075)}
.vm-mega__label{display:inline-flex;margin:0 0 14px;padding:7px 10px;border:1px solid rgba(217,10,44,.2);border-radius:8px;background:rgba(217,10,44,.05);color:rgba(255,255,255,.55);font-size:11px;font-weight:700;letter-spacing:.14em}
.vm-menu-link{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;padding:10px;border-radius:12px;text-decoration:none;transition:.18s ease}
.vm-menu-link:hover{background:rgba(255,255,255,.045);transform:translateX(2px)}
.vm-menu-link__icon{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.018)}
.vm-menu-link__icon img{width:18px;height:18px}
.vm-menu-link strong{display:block;margin:2px 0 5px;font-size:12px;font-weight:600}
.vm-menu-link small{display:block;color:rgba(255,255,255,.43);font-size:10px;line-height:1.55}
.vm-mega__glow{position:absolute;z-index:1;width:260px;height:260px;left:var(--glow-x,50%);top:var(--glow-y,20%);border-radius:50%;background:radial-gradient(circle,rgba(217,10,44,.18),rgba(217,10,44,0) 66%);transform:translate(-50%,-50%);filter:blur(14px);pointer-events:none}
.vm-mega__mesh{position:absolute;inset:0;opacity:.3;background-image:linear-gradient(rgba(255,255,255,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px);background-size:38px 38px}
.vm-mobile-toggle,.vm-mobile-menu{display:none}

/* Shared */
.vm-section-inner{width:min(calc(100% - 56px),var(--max));margin:auto}
.vm-kicker{margin:0 0 22px;display:flex;align-items:center;gap:11px;color:rgba(255,255,255,.5);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.vm-kicker span{width:18px;height:2px;background:var(--red);box-shadow:0 0 12px rgba(217,10,44,.5)}
.vm-kicker--red{color:var(--red)}
h1,h2,h3,p{margin-top:0}
h1 em,h2 em{color:var(--red-2);font-style:normal}
.vm-btn{min-height:48px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;border-radius:12px;text-decoration:none;font-size:10px;font-weight:700;letter-spacing:.02em;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.vm-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.vm-btn:hover{transform:translateY(-2px)}
.vm-btn:hover svg{transform:translateX(3px)}
.vm-btn--red{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 10px 32px rgba(217,10,44,.16)}
.vm-btn--red:hover{background:#ef1236}
.vm-btn--ghost{background:rgba(255,255,255,.015);border-color:rgba(255,255,255,.2);color:#fff}
.vm-btn--ghost:hover{border-color:rgba(217,10,44,.65);background:rgba(217,10,44,.055)}
.vm-btn--dark{border-color:#111;background:#111;color:#fff}
.vm-btn--dark:hover{background:var(--red);border-color:var(--red)}
.vm-btn--large{min-height:54px;padding:0 22px}
.vm-actions{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px}

/* Hero */
.vm-hero{position:relative;min-height:850px;padding-top:78px;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08);background:#050608}
.vm-hero__bg{position:absolute;inset:78px 0 0;background-image:linear-gradient(90deg,#050608 0%,rgba(5,6,8,.92) 28%,rgba(5,6,8,.4) 51%,rgba(5,6,8,.15) 76%,rgba(5,6,8,.24) 100%),url("/assets/images/home/hero-1920.webp");background-size:cover;background-position:center;transform:scale(1.035);transition:transform .18s ease-out}
.vm-hero__grid{position:absolute;inset:0;opacity:.35;background-image:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);background-size:76px 76px;mask-image:linear-gradient(to right,rgba(0,0,0,.82),rgba(0,0,0,.18) 65%,rgba(0,0,0,.55))}
.vm-hero__cursor{position:absolute;z-index:2;width:380px;height:380px;left:var(--cx,70%);top:var(--cy,40%);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(217,10,44,.11),rgba(217,10,44,0) 67%);filter:blur(6px);pointer-events:none}
.vm-hero__inner{position:relative;z-index:4;width:min(calc(100% - 56px),var(--max));min-height:772px;margin:auto;display:flex;align-items:center}
.vm-hero__copy{width:min(640px,52%);padding:90px 0 110px}
.vm-hero h1{margin:0;max-width:700px;color:#fff;font-size:clamp(58px,5.9vw,94px);line-height:.94;letter-spacing:-.065em;font-weight:600}
.vm-hero__lead{max-width:600px;margin:28px 0 0;color:rgba(255,255,255,.7);font-size:14px;line-height:1.8}
.vm-featured{margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.11);max-width:570px}
.vm-featured__label{display:block;margin-bottom:13px;color:rgba(255,255,255,.43);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.vm-featured img{width:min(100%,500px);height:auto;opacity:.86}
.vm-hero__side-note{position:absolute;right:4px;top:50%;display:grid;gap:9px;padding:16px 18px;border-left:1px solid rgba(217,10,44,.6);transform:translateY(-50%);color:rgba(255,255,255,.4);font-size:10px;font-weight:600;letter-spacing:.14em}
.vm-hero__line{position:absolute;z-index:3;height:1px;background:linear-gradient(90deg,transparent,var(--red-2),transparent);filter:drop-shadow(0 0 7px rgba(217,10,44,.7));opacity:.52}
.vm-hero__line--a{width:500px;right:3%;top:49%;animation:heroLineA 7s ease-in-out infinite alternate}
.vm-hero__line--b{width:300px;right:20%;top:58%;opacity:.22;animation:heroLineB 9s ease-in-out infinite alternate}
.vm-hero__scroll{position:absolute;z-index:5;left:28px;bottom:30px;display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.32);font-size:10px;letter-spacing:.13em}
.vm-hero__scroll i{width:1px;height:54px;background:linear-gradient(var(--red),transparent)}
@keyframes heroLineA{to{transform:translateX(-85px);opacity:.24}}
@keyframes heroLineB{to{transform:translateX(70px);opacity:.5}}

/* Recognition */
.vm-recognition{padding:92px 0 100px;background:#07080a;border-bottom:1px solid rgba(255,255,255,.08)}
.vm-recognition .vm-section-inner{display:grid;grid-template-columns:.78fr 1.22fr;gap:72px;align-items:start}
.vm-recognition__heading h2{max-width:540px;margin:0;color:#fff;font-size:clamp(38px,4vw,62px);line-height:1;letter-spacing:-.045em;font-weight:500}
.vm-recognition__heading p:last-child{max-width:560px;margin:26px 0 0;color:rgba(255,255,255,.56);font-size:13px;line-height:1.8}
.vm-recognition__grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.10)}
.vm-award-card{min-height:198px;padding:26px 28px;display:flex;align-items:center;gap:24px;background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.006));border-right:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.vm-award-card:nth-child(2n){border-right:0}
.vm-award-card:nth-last-child(-n+2){border-bottom:0}
.vm-award-card img{width:100px;max-height:108px;object-fit:contain;flex:0 0 auto}
.vm-award-card:nth-child(3) img{width:130px}
.vm-award-card strong{display:block;margin-bottom:8px;font-size:13px;font-weight:600}
.vm-award-card span{color:rgba(255,255,255,.42);font-size:11px;letter-spacing:.08em;text-transform:uppercase}

/* Services */
.vm-services{padding:108px 0 118px;background:var(--paper);color:#111}
.vm-section-heading{display:grid;grid-template-columns:1fr .72fr;gap:70px;align-items:end;margin-bottom:50px}
.vm-section-heading h2{max-width:760px;margin:0;font-size:clamp(42px,4.8vw,72px);line-height:.98;letter-spacing:-.055em;font-weight:500}
.vm-section-heading p{max-width:560px;margin:0 0 8px;color:#56565a;font-size:13px;line-height:1.8}
.vm-service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--dark-line);border-left:1px solid var(--dark-line)}
.vm-service-card{position:relative;min-height:286px;padding:30px 30px 28px;display:flex;flex-direction:column;color:#101114;text-decoration:none;background:rgba(255,255,255,.3);border-right:1px solid var(--dark-line);border-bottom:1px solid var(--dark-line);transition:background .25s ease,transform .25s ease,box-shadow .25s ease}
.vm-service-card:hover{z-index:2;background:#fff;transform:translateY(-3px);box-shadow:0 20px 50px rgba(0,0,0,.075)}
.vm-service-card__icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(10,11,15,.11);border-radius:50%;background:#f8f7f4}
.vm-service-card__icon img{width:24px;height:24px}
.vm-service-card__num{position:absolute;right:28px;top:30px;color:rgba(10,11,15,.22);font-size:10px;font-weight:700;letter-spacing:.13em}
.vm-service-card h3{max-width:250px;margin:34px 0 12px;font-size:17px;line-height:1.2;letter-spacing:-.03em;font-weight:600}
.vm-service-card p{max-width:290px;margin:0;color:#5f6064;font-size:11px;line-height:1.72}
.vm-card-arrow{margin-top:auto;padding-top:26px;display:inline-flex}
.vm-card-arrow svg{width:18px;height:18px;fill:none;stroke:#121316;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.vm-service-card:hover .vm-card-arrow svg{transform:translateX(5px);stroke:var(--red)}

/* Feature splits */
.vm-feature{min-height:720px;display:grid;grid-template-columns:1fr 1fr}
.vm-feature--dark{background:#07080a;color:#fff}
.vm-feature--light{background:#efefec;color:#111}
.vm-feature__visual{position:relative;min-height:720px;overflow:hidden}
.vm-feature__visual img{width:100%;height:100%;object-fit:cover}
.vm-feature__visual--dark:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,#07080a 100%)}
.vm-feature__visual--light:after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,rgba(239,239,236,.02),rgba(239,239,236,.65) 100%)}
.vm-feature__copy{padding:105px max(36px,calc((100vw - var(--max))/2)) 95px 72px;display:flex;flex-direction:column;justify-content:center}
.vm-feature__copy--light{padding-left:max(36px,calc((100vw - var(--max))/2));padding-right:72px}
.vm-feature__copy h2{max-width:650px;margin:0;font-size:clamp(42px,4.7vw,68px);line-height:1;letter-spacing:-.055em;font-weight:500}
.vm-feature__copy>p:not(.vm-kicker){max-width:650px;margin:26px 0 0;color:rgba(255,255,255,.58);font-size:13px;line-height:1.8}
.vm-feature__copy--light>p:not(.vm-kicker){color:#58595d}
.vm-feature__points{margin:34px 0 36px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.11);border-left:1px solid rgba(255,255,255,.11)}
.vm-feature__points div{min-height:116px;padding:20px;border-right:1px solid rgba(255,255,255,.11);border-bottom:1px solid rgba(255,255,255,.11)}
.vm-feature__points strong{display:block;margin-bottom:8px;font-size:11px;font-weight:600}
.vm-feature__points span{display:block;color:rgba(255,255,255,.46);font-size:11px;line-height:1.65}
.vm-feature__points--light{border-color:var(--dark-line)}
.vm-feature__points--light div{border-color:var(--dark-line)}
.vm-feature__points--light span{color:#626368}

/* Process */
.vm-process{padding:112px 0 122px;background:#f5f4f1;color:#111}
.vm-process__inner{display:grid;grid-template-columns:.72fr 1.28fr;gap:86px;align-items:start}
.vm-process__intro h2{margin:0;font-size:clamp(42px,4.5vw,66px);line-height:1;letter-spacing:-.055em;font-weight:500}
.vm-process__intro>p:not(.vm-kicker){max-width:480px;margin:25px 0 30px;color:#5b5c60;font-size:12px;line-height:1.8}
.vm-process__steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(10,11,14,.18)}
.vm-process__steps article{position:relative;padding:42px 24px 10px 0;min-height:230px}
.vm-process__steps article:before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border:1px solid var(--red);border-radius:50%;background:#f5f4f1}
.vm-process__steps article:not(:last-child):after{content:"";position:absolute;right:22px;top:-1px;width:34px;height:1px;background:rgba(10,11,14,.35)}
.vm-process__steps article>span{display:block;margin-bottom:34px;color:var(--red);font-size:13px;font-weight:700;letter-spacing:.08em}
.vm-process__steps h3{margin:0 0 12px;font-size:12px;text-transform:uppercase;letter-spacing:.03em}
.vm-process__steps p{max-width:180px;margin:0;color:#64656a;font-size:10px;line-height:1.7}

/* Growth */
.vm-growth{position:relative;min-height:710px;overflow:hidden;background:#050608}
.vm-growth__bg{position:absolute;inset:0}
.vm-growth__bg img{width:100%;height:100%;object-fit:cover;object-position:72% center;opacity:.78}
.vm-growth__bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050608 0%,rgba(5,6,8,.92) 38%,rgba(5,6,8,.2) 72%,rgba(5,6,8,.34) 100%)}
.vm-growth__inner{position:relative;z-index:2;min-height:710px;display:flex;align-items:center}
.vm-growth__copy{width:min(620px,52%)}
.vm-growth h2{margin:0;font-size:clamp(44px,5vw,74px);line-height:.98;letter-spacing:-.055em;font-weight:500}
.vm-growth__copy>p:not(.vm-kicker){max-width:580px;margin:26px 0 32px;color:rgba(255,255,255,.59);font-size:13px;line-height:1.8}
.vm-growth__links{display:grid;border-top:1px solid rgba(255,255,255,.11)}
.vm-growth__links a{min-height:58px;padding:0 4px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.11);color:#fff;text-decoration:none;font-size:11px;font-weight:600}
.vm-growth__links svg{width:18px;height:18px;fill:none;stroke:var(--red-2);stroke-width:1.5;transition:transform .2s ease}
.vm-growth__links a:hover svg{transform:translateX(5px)}

/* Global */
.vm-global{padding:94px 0 102px;background:var(--paper);color:#111}
.vm-global__inner{display:grid;grid-template-columns:.72fr 1.28fr;gap:78px;align-items:end}
.vm-global h2{margin:0;font-size:clamp(38px,4vw,60px);line-height:1;letter-spacing:-.05em;font-weight:500}
.vm-global__offices{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--dark-line);border-left:1px solid var(--dark-line)}
.vm-global__offices div{min-height:145px;padding:22px;border-right:1px solid var(--dark-line);border-bottom:1px solid var(--dark-line)}
.vm-global__offices span{display:block;margin-bottom:36px;color:var(--red);font-size:10px;font-weight:700}
.vm-global__offices small{display:block;margin-bottom:6px;color:#77787c;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.vm-global__offices strong{font-size:12px;font-weight:600}

/* CTA */
.vm-cta{position:relative;min-height:390px;overflow:hidden;background:#07080a;border-top:1px solid rgba(255,255,255,.08)}
.vm-cta__art{position:absolute;inset:0 0 0 42%;opacity:.43}
.vm-cta__art img{width:100%;height:100%;object-fit:cover;object-position:center}
.vm-cta__art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07080a 0%,rgba(7,8,10,.1) 58%,rgba(7,8,10,.52) 100%)}
.vm-cta__inner{position:relative;z-index:2;min-height:390px;display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:center}
.vm-cta h2{margin:0;font-size:clamp(42px,4.5vw,66px);line-height:1;letter-spacing:-.055em;font-weight:500}
.vm-cta p:not(.vm-kicker){max-width:570px;margin:20px 0 0;color:rgba(255,255,255,.55);font-size:12px;line-height:1.75}
.vm-cta__actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}

/* Footer: intentionally static */
.vm-footer{background:#040406;color:#fff;border-top:1px solid rgba(255,255,255,.08)}
.vm-footer__top{width:min(calc(100% - 56px),var(--max));margin:auto;padding:72px 0 54px;display:grid;grid-template-columns:1.25fr .9fr .9fr 1fr;gap:54px}
.vm-footer__intro img{width:155px;margin-bottom:26px}
.vm-footer__intro p{max-width:340px;margin:0 0 22px;color:rgba(255,255,255,.43);font-size:10px;line-height:1.8}
.vm-footer__mail{color:#fff;text-decoration:none;font-size:10px;font-weight:600}
.vm-footer__mail:hover{color:var(--red-2)}
.vm-footer__eyebrow{margin:0 0 18px;color:var(--red-2);font-size:10px;font-weight:700;letter-spacing:.14em}
.vm-footer__column{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.vm-footer__column>a{color:rgba(255,255,255,.55);text-decoration:none;font-size:11px;line-height:1.45}
.vm-footer__column>a:hover{color:#fff}
.vm-footer__offices div{margin-bottom:9px}
.vm-footer__offices span,.vm-footer__offices strong{display:block}
.vm-footer__offices span{color:rgba(255,255,255,.34);font-size:10px}
.vm-footer__offices strong{margin-top:2px;font-size:11px;font-weight:500}
.vm-footer__cta-band{width:min(calc(100% - 56px),var(--max));min-height:112px;margin:auto;padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid rgba(255,255,255,.08)}
.vm-footer__cta-band>div:first-child{display:flex;flex-direction:column;gap:5px}
.vm-footer__cta-band strong{font-size:18px;font-weight:500;letter-spacing:-.03em}
.vm-footer__cta-actions{display:flex;gap:10px;flex-wrap:wrap}
.vm-footer-btn{min-height:44px;padding:0 16px;display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.16);border-radius:11px;background:transparent;color:#fff;text-decoration:none;font-size:11px;font-weight:700;transition:.2s ease}
.vm-footer-btn svg{width:16px;height:16px;fill:none;stroke:var(--red-2);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.vm-footer-btn--red{border-color:var(--red);background:var(--red)}
.vm-footer-btn--red svg{stroke:#fff}
.vm-footer-btn:hover{border-color:rgba(217,10,44,.75);transform:translateY(-1px)}
.vm-footer__bottom{width:min(calc(100% - 56px),var(--max));min-height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.075)}
.vm-footer__legal{display:flex;align-items:center;flex-wrap:wrap;gap:16px;color:rgba(255,255,255,.31);font-size:10px}
.vm-footer__legal a{color:rgba(255,255,255,.38);text-decoration:none}
.vm-footer__legal a:hover{color:#fff}
.vm-back-top{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:rgba(255,255,255,.42);font-size:11px;cursor:pointer}
.vm-back-top svg{width:16px;height:16px;fill:none;stroke:var(--red);stroke-width:1.6}

[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,.8,.22,1)}
[data-reveal].is-visible{opacity:1;transform:translateY(0)}

@media (max-width:1150px){
  .vm-header__inner{grid-template-columns:170px 1fr 170px;width:min(calc(100% - 36px),var(--max));gap:12px}
  .vm-brand{width:140px}.vm-nav__link,.vm-nav__trigger{padding:0 9px;font-size:10px}
  .vm-section-inner,.vm-footer__top,.vm-footer__cta-band,.vm-footer__bottom,.vm-hero__inner{width:min(calc(100% - 36px),var(--max))}
  .vm-hero__copy{width:60%}.vm-hero__side-note{display:none}
  .vm-recognition .vm-section-inner{grid-template-columns:1fr;gap:45px}
  .vm-service-grid{grid-template-columns:repeat(2,1fr)}
  .vm-feature{grid-template-columns:1fr 1fr}.vm-feature__copy{padding-left:44px;padding-right:36px}.vm-feature__copy--light{padding-left:36px;padding-right:44px}
  .vm-process__inner,.vm-global__inner{grid-template-columns:1fr;gap:50px}
  .vm-footer__top{grid-template-columns:1.2fr 1fr 1fr}.vm-footer__offices{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);padding-top:22px;border-top:1px solid rgba(255,255,255,.08)}
}

@media (max-width:820px){
  .vm-header{height:70px}.vm-header__inner{grid-template-columns:1fr auto}.vm-brand{width:135px}.vm-nav,.vm-header__cta{display:none}
  .vm-mobile-toggle{justify-self:end;width:44px;height:44px;display:grid;place-content:center;gap:7px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:transparent}
  .vm-mobile-toggle>span:not(.sr-only){width:18px;height:1px;background:#fff;transition:transform .2s ease}.vm-mobile-toggle[aria-expanded="true"]>span:first-child{transform:translateY(4px) rotate(45deg)}.vm-mobile-toggle[aria-expanded="true"]>span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
  .vm-mobile-menu{position:fixed;z-index:999;top:70px;left:0;right:0;max-height:calc(100vh - 70px);overflow:auto;display:block;padding:18px;background:rgba(6,6,9,.99);border-bottom:1px solid rgba(255,255,255,.09);opacity:0;visibility:hidden;transform:translateY(-10px);transition:.2s ease}.vm-mobile-menu.is-open{opacity:1;visibility:visible;transform:translateY(0)}
  .vm-mobile-menu__inner{display:grid;gap:5px}.vm-mobile-menu a,.vm-mobile-menu summary{padding:14px 10px;display:block;color:#fff;text-decoration:none;font-size:12px;cursor:pointer;list-style:none}.vm-mobile-subnav{display:grid;padding-left:12px;border-left:1px solid rgba(217,10,44,.5)}.vm-mobile-subnav a{color:rgba(255,255,255,.6);font-size:10px}.vm-mobile-menu__cta{margin-top:8px;display:inline-flex!important;align-items:center;gap:9px;border:1px solid var(--red);border-radius:10px;background:rgba(217,10,44,.08)}.vm-menu-locked{overflow:hidden}
  .vm-hero{min-height:880px;padding-top:70px}.vm-hero__bg{inset:70px 0 0;background-image:linear-gradient(180deg,rgba(5,6,8,.95) 0%,rgba(5,6,8,.65) 44%,rgba(5,6,8,.2) 70%,#050608 100%),url("/assets/images/home/hero-960.webp");background-position:66% center}.vm-hero__inner{min-height:810px;align-items:flex-start}.vm-hero__copy{width:100%;padding:78px 0 0}.vm-hero h1{font-size:clamp(49px,14vw,78px)}.vm-featured{max-width:520px}.vm-featured img{max-width:430px}.vm-hero__scroll{display:none}
  .vm-recognition{padding:78px 0}.vm-recognition__grid{grid-template-columns:1fr}.vm-award-card,.vm-award-card:nth-child(n){border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}.vm-award-card:last-child{border-bottom:0}
  .vm-services{padding:82px 0 90px}.vm-section-heading{grid-template-columns:1fr;gap:20px}.vm-service-grid{grid-template-columns:1fr 1fr}.vm-service-card{min-height:270px;padding:24px}
  .vm-feature{grid-template-columns:1fr;min-height:auto}.vm-feature__visual{min-height:520px}.vm-feature__copy,.vm-feature__copy--light{padding:75px 24px}.vm-feature--light .vm-feature__copy{order:2}.vm-feature--light .vm-feature__visual{order:1}
  .vm-process{padding:84px 0 92px}.vm-process__steps{grid-template-columns:1fr 1fr;gap:28px 0}.vm-process__steps article:not(:last-child):after{display:none}
  .vm-growth{min-height:670px}.vm-growth__bg img{object-position:72% center}.vm-growth__bg:after{background:linear-gradient(180deg,#050608 0%,rgba(5,6,8,.93) 46%,rgba(5,6,8,.24) 100%)}.vm-growth__inner{min-height:670px;align-items:flex-start}.vm-growth__copy{width:100%;padding-top:76px}
  .vm-global{padding:78px 0}.vm-global__offices{grid-template-columns:1fr 1fr}
  .vm-cta__inner{grid-template-columns:1fr;min-height:430px;padding:68px 0}.vm-cta__actions{justify-content:flex-start}.vm-cta__art{left:25%;opacity:.25}
  .vm-footer__top{grid-template-columns:1fr 1fr}.vm-footer__intro{grid-column:1/-1}.vm-footer__offices{grid-template-columns:1fr 1fr}.vm-footer__cta-band,.vm-footer__bottom{align-items:flex-start;flex-direction:column;padding:28px 0}.vm-footer__bottom{justify-content:center}
}

@media (max-width:560px){
  .vm-section-inner,.vm-footer__top,.vm-footer__cta-band,.vm-footer__bottom,.vm-hero__inner,.vm-header__inner{width:min(calc(100% - 28px),var(--max))}
  .vm-hero{min-height:830px}.vm-hero__copy{padding-top:66px}.vm-hero h1{font-size:clamp(45px,14vw,64px)}.vm-hero__lead{font-size:12px}.vm-featured img{width:100%}.vm-actions{align-items:stretch}.vm-actions .vm-btn{width:100%}
  .vm-recognition__heading h2,.vm-section-heading h2,.vm-feature__copy h2,.vm-process__intro h2,.vm-growth h2,.vm-global h2,.vm-cta h2{font-size:40px}
  .vm-award-card{min-height:155px;padding:20px}.vm-award-card img{width:82px}.vm-award-card:nth-child(3) img{width:108px}
  .vm-service-grid{grid-template-columns:1fr}.vm-service-card{min-height:245px}
  .vm-feature__visual{min-height:390px}.vm-feature__points{grid-template-columns:1fr}
  .vm-process__steps{grid-template-columns:1fr}.vm-process__steps article{min-height:auto;padding-bottom:20px;border-bottom:1px solid var(--dark-line)}
  .vm-global__offices{grid-template-columns:1fr}
  .vm-footer__top{grid-template-columns:1fr}.vm-footer__intro,.vm-footer__offices{grid-column:auto}.vm-footer__offices{grid-template-columns:1fr}.vm-footer__cta-actions{width:100%}.vm-footer-btn{flex:1}.vm-footer__legal{gap:10px 14px}
}

@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
  [data-reveal]{opacity:1!important;transform:none!important}
}


/* V3 live robustness + readability overrides */
body{font-size:16px}
.vm-header__inner,.vm-section-inner,.vm-footer__top,.vm-footer__cta-band,.vm-footer__bottom,.vm-hero__inner{width:min(calc(100% - 72px),1440px)}
.vm-header__inner{grid-template-columns:230px 1fr 230px}
.vm-brand{width:174px}
.vm-nav__link,.vm-nav__trigger{font-size:12px}
.vm-header__cta{font-size:11px;padding:0 19px}
.vm-kicker{font-size:10px}
.vm-hero__lead{font-size:15px;max-width:650px}
.vm-featured__label{font-size:10px}
.vm-featured img{width:min(100%,540px)}
.vm-btn{font-size:11px}
.vm-recognition__heading>p:not(.vm-kicker),.vm-section-heading p,.vm-feature__copy>p:not(.vm-kicker),.vm-process__intro>p:not(.vm-kicker),.vm-growth__copy>p:not(.vm-kicker),.vm-cta p:not(.vm-kicker){font-size:14px}
.vm-award-card strong{font-size:13px}.vm-award-card span{font-size:11px}.vm-award-card img{max-height:115px;width:auto;object-fit:contain}
.vm-service-card h3{font-size:18px}.vm-service-card p{font-size:13px;line-height:1.7}.vm-service-card__num{font-size:11px}
.vm-feature__points strong{font-size:12px}.vm-feature__points span{font-size:11px}
.vm-process__steps h3{font-size:13px}.vm-process__steps p{font-size:12px;max-width:210px}
.vm-growth__links a{font-size:12px}
.vm-global__offices small{font-size:10px}.vm-global__offices strong{font-size:13px}
.vm-footer__intro p{font-size:12px}.vm-footer__mail{font-size:12px}.vm-footer__eyebrow{font-size:10px}.vm-footer__column>a{font-size:11px}.vm-footer__offices span{font-size:10px}.vm-footer__offices strong{font-size:11px}.vm-footer-btn{font-size:10px}.vm-footer__legal{font-size:10px}
/* Keep content visible even if a browser blocks or delays JS. */
[data-reveal]{opacity:1!important;transform:none!important}
/* Footer remains intentionally static. */
.vm-footer *{animation:none!important}
@media(max-width:1150px){.vm-header__inner,.vm-section-inner,.vm-footer__top,.vm-footer__cta-band,.vm-footer__bottom,.vm-hero__inner{width:min(calc(100% - 44px),1440px)}}
@media(max-width:820px){.vm-hero__copy{padding-top:60px}.vm-hero{min-height:820px}.vm-hero__inner{min-height:750px}.vm-featured img{width:100%;max-width:500px}.vm-service-card p{font-size:12px}}
@media(max-width:560px){.vm-section-inner,.vm-footer__top,.vm-footer__cta-band,.vm-footer__bottom,.vm-hero__inner{width:min(calc(100% - 30px),1440px)}.vm-hero h1{font-size:clamp(44px,13vw,64px)}.vm-hero__lead{font-size:14px}.vm-service-grid{grid-template-columns:1fr}.vm-process__steps{grid-template-columns:1fr}.vm-global__offices{grid-template-columns:1fr}.vm-footer__top{grid-template-columns:1fr}.vm-footer__offices{grid-template-columns:1fr}.vm-feature__visual{min-height:380px}.vm-featured{max-width:100%}}



/* Shared fifth award layout */
.vm-award-card:nth-child(5){grid-column:1/-1;min-height:166px;border-right:0;border-bottom:0;background:linear-gradient(90deg,rgba(217,10,44,.075),rgba(255,255,255,.018) 34%,rgba(255,255,255,.006))}
.vm-award-card:nth-child(5) img{width:104px;max-height:112px}
@media(max-width:820px){.vm-award-card:nth-child(5){grid-column:auto;min-height:155px}}
/* =========================================================
   V5: section-scoped motion + angular technology cursor
   Global fixed blueprint/side-rail clutter is intentionally disabled.
   ========================================================= */
.vm-blueprint-layer,.vm-side-rail{display:none!important}

/* Remove the previous static, page-wide visual system */
.vm-services,.vm-process,.vm-global,.vm-recognition,.vm-growth,.vm-cta{
  background-image:none!important;
}
.vm-services:after,.vm-process:after,.vm-global:after,.vm-recognition:after{display:none!important}

/* Every section gets its own local motion language. Nothing is viewport-fixed. */
.vm-recognition,.vm-services,.vm-feature,.vm-process,.vm-growth,.vm-global,.vm-cta{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.vm-recognition>*,
.vm-services>*,
.vm-feature>*,
.vm-process>*,
.vm-growth>*,
.vm-global>*,
.vm-cta>*{position:relative;z-index:2}

/* Recognition: a quiet moving signal line */
.vm-recognition:before{
  content:"";
  position:absolute;
  z-index:1;
  left:-28%;top:34px;
  width:34%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(217,10,44,.9),transparent);
  box-shadow:0 0 14px rgba(217,10,44,.18);
  animation:vmSignal 10s linear infinite;
}
.vm-recognition:after{
  content:"";
  position:absolute;
  z-index:1;
  right:4%;bottom:-180px;
  width:420px;height:420px;
  border:1px solid rgba(255,255,255,.05);
  border-radius:50%;
  animation:vmOrbit 24s linear infinite;
}

/* Services: local drafting grid and scanning datum */
.vm-services:before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  background-image:
    linear-gradient(rgba(13,14,18,.033) 1px,transparent 1px),
    linear-gradient(90deg,rgba(13,14,18,.033) 1px,transparent 1px);
  background-size:96px 96px;
  mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent);
}
.vm-services:after{
  content:"";
  display:block!important;
  position:absolute;
  z-index:1;
  top:0;bottom:0;left:-8%;
  width:1px;height:auto;
  background:linear-gradient(transparent,rgba(217,10,44,.42) 20%,rgba(217,10,44,.12) 78%,transparent);
  animation:vmScan 14s ease-in-out infinite alternate;
}

/* Dark feature: moving light slice */
.vm-feature--dark:before{
  content:"";
  position:absolute;
  z-index:1;
  top:-45%;left:-35%;
  width:32%;height:190%;
  background:linear-gradient(90deg,transparent,rgba(217,10,44,.08),rgba(255,255,255,.035),transparent);
  transform:skewX(-18deg);
  animation:vmSweep 12s ease-in-out infinite;
}

/* Process: moving node along its own section */
.vm-process:before{
  content:"";
  position:absolute;
  z-index:1;
  left:6%;right:6%;top:48px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(10,11,14,.14) 10%,rgba(10,11,14,.14) 90%,transparent);
}
.vm-process:after{
  content:"";
  display:block!important;
  position:absolute;
  z-index:1;
  top:44px;left:6%;
  width:9px;height:9px;
  border-radius:50%;
  background:#d90a2c;
  box-shadow:0 0 15px rgba(217,10,44,.46);
  animation:vmNode 11s ease-in-out infinite alternate;
}

/* Light feature: small moving technical bars, kept within the section */
.vm-feature--light:before{
  content:"";
  position:absolute;
  z-index:1;
  right:2%;top:28%;
  width:210px;height:90px;
  opacity:.16;
  background:
    linear-gradient(#d90a2c,#d90a2c) 0 15%/100% 1px no-repeat,
    linear-gradient(#111,#111) 0 42%/68% 1px no-repeat,
    linear-gradient(#111,#111) 0 69%/84% 1px no-repeat,
    linear-gradient(#d90a2c,#d90a2c) 0 96%/42% 1px no-repeat;
  animation:vmBars 8s ease-in-out infinite alternate;
}

/* Growth: data pulse */
.vm-growth:before{
  content:"";
  position:absolute;
  z-index:1;
  left:0;bottom:0;
  width:100%;height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(217,10,44,.8) 42%,rgba(217,10,44,.12) 62%,transparent 100%);
  transform:translateX(-65%);
  animation:vmData 9s linear infinite;
}

/* Offices: vertical coordinate sweep */
.vm-global:before{
  content:"";
  position:absolute;
  z-index:1;
  top:0;bottom:0;right:11%;
  width:1px;
  background:linear-gradient(transparent,rgba(217,10,44,.35),transparent);
  animation:vmGlobalLine 8s ease-in-out infinite alternate;
}

/* CTA: short moving underline only inside the CTA */
.vm-cta:before{
  content:"";
  position:absolute;
  z-index:1;
  left:-20%;bottom:28px;
  width:25%;height:2px;
  background:linear-gradient(90deg,transparent,#d90a2c,transparent);
  animation:vmCtaLine 8s ease-in-out infinite;
}

@keyframes vmSignal{0%{transform:translateX(0)}100%{transform:translateX(390%)}}
@keyframes vmOrbit{to{transform:rotate(360deg)}}
@keyframes vmScan{0%{left:7%;opacity:.12}50%{opacity:.44}100%{left:93%;opacity:.12}}
@keyframes vmSweep{0%,18%{transform:translateX(0) skewX(-18deg);opacity:0}40%{opacity:1}75%,100%{transform:translateX(470%) skewX(-18deg);opacity:0}}
@keyframes vmNode{to{left:93%}}
@keyframes vmBars{to{transform:translateX(-42px)}}
@keyframes vmData{to{transform:translateX(150%)}}
@keyframes vmGlobalLine{to{right:88%}}
@keyframes vmCtaLine{0%{left:-25%}55%,100%{left:110%}}
@media(prefers-reduced-motion:reduce){
  .vm-recognition:before,.vm-recognition:after,.vm-services:after,.vm-feature:before,
  .vm-process:after,.vm-growth:before,.vm-global:before,.vm-cta:before{animation:none!important}
}


/* V6 global cursor: simple inner circle with outer ring */
.vm-cursor--tech{
  position:fixed!important;
  left:0!important;top:0!important;
  z-index:5000!important;
  width:36px!important;height:36px!important;
  pointer-events:none!important;
  opacity:0;
  transform:translate3d(-100px,-100px,0);
  transition:opacity .14s ease;
  filter:none!important;
}
.vm-cursor--tech.is-visible{opacity:1}
.vm-cursor--tech .vm-cursor__core{
  position:absolute!important;
  left:50%!important;top:50%!important;
  width:6px!important;height:6px!important;
  border-radius:50%!important;
  background:#d90a2c!important;
  clip-path:none!important;
  transform:translate(-50%,-50%)!important;
  box-shadow:0 0 10px rgba(217,10,44,.55)!important;
  transition:width .18s ease,height .18s ease,background .18s ease!important;
}
.vm-cursor--tech .vm-cursor__rail{
  position:absolute!important;
  inset:4px!important;
  width:auto!important;height:auto!important;
  border:1px solid rgba(255,255,255,.58)!important;
  border-radius:50%!important;
  background:transparent!important;
  transition:inset .2s ease,border-color .2s ease,background .2s ease!important;
}
.vm-cursor--tech .vm-cursor__node{display:none!important}
.vm-cursor--tech.is-active .vm-cursor__rail{
  inset:0!important;
  border-color:rgba(217,10,44,.92)!important;
  background:rgba(217,10,44,.045)!important;
}
.vm-cursor--tech.is-active .vm-cursor__core{
  width:8px!important;height:8px!important;
  background:#ff3150!important;
}
.vm-cursor--tech.is-down .vm-cursor__rail{inset:8px!important}
.vm-cursor--tech.is-down .vm-cursor__core{width:5px!important;height:5px!important}
@media(pointer:coarse),(max-width:899px),(prefers-reduced-motion:reduce){
  .vm-cursor--tech{display:none!important}
}


.vm-nav__link.is-active{color:#fff;background:rgba(255,255,255,.045)}
.vm-nav__link.is-active:after{transform:scaleX(1)}


/* =========================================================
   THEME V2 POLISH
   Nexa typography, image alignment, footer icons, mobile header
   ========================================================= */
:root{
  --font:"Nexa","Avenir Next","Helvetica Neue",Arial,sans-serif;
}
body{font-family:var(--font);font-weight:300}
button,input,textarea,select{font-family:var(--font)}
h1,h2,h3,.vm-brand,.vm-nav__link,.vm-nav__trigger,.vm-btn,strong{font-family:var(--font)}
h1,h2{font-weight:700}
.vm-hero h1,.a2-hero h1,.contact-hero h1{font-weight:800}
p,.vm-service-card p,.vm-menu-link small{font-weight:300}
.vm-nav__link,.vm-nav__trigger,.vm-btn,.vm-kicker,.vm-footer__eyebrow{font-weight:700}
.vm-hero__headline-lock{white-space:nowrap;display:inline-block}

/* Split images now have a predictable canvas instead of relying on intrinsic image height. */
.vm-feature{min-height:680px}
.vm-feature__visual{height:680px;min-height:680px}
.vm-feature__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vm-feature__visual--dark img{object-position:58% center}
.vm-feature__visual--light img{object-position:64% center}
.vm-growth{min-height:650px}
.vm-growth__inner{min-height:650px}
.vm-growth__bg img{object-position:center center;opacity:.7}
.vm-growth__bg:after{background:linear-gradient(90deg,#050608 0%,rgba(5,6,8,.96) 38%,rgba(5,6,8,.30) 67%,rgba(5,6,8,.42) 100%)}

/* The lower CTA is coded rather than forcing a portrait image into a landscape strip. */
.vm-cta{min-height:390px}
.vm-cta__graphic{position:absolute;z-index:1;right:0;top:0;bottom:0;width:52%;overflow:hidden;opacity:.85}
.vm-cta__graphic:before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(135deg,transparent 0 38%,rgba(255,255,255,.04) 38.2% 38.5%,transparent 38.7%),
    radial-gradient(circle at 68% 48%,rgba(217,10,44,.13),transparent 27%);
}
.vm-cta__graphic span,.vm-cta__graphic i,.vm-cta__graphic b{position:absolute;display:block;height:1px;right:-12%;background:linear-gradient(90deg,transparent,rgba(217,10,44,.95),transparent);box-shadow:0 0 14px rgba(217,10,44,.28)}
.vm-cta__graphic span{top:40%;width:76%;animation:vmCtaArt1 8s ease-in-out infinite alternate}
.vm-cta__graphic i{top:53%;width:58%;opacity:.58;animation:vmCtaArt2 10s ease-in-out infinite alternate}
.vm-cta__graphic b{top:66%;width:42%;opacity:.28;animation:vmCtaArt3 12s ease-in-out infinite alternate}
@keyframes vmCtaArt1{to{transform:translateX(-100px)}}
@keyframes vmCtaArt2{to{transform:translateX(-160px)}}
@keyframes vmCtaArt3{to{transform:translateX(-210px)}}

/* Footer proportions and icon system */
.vm-footer__top{grid-template-columns:1.32fr .92fr .92fr 1.05fr;gap:50px}
.vm-footer__brand{width:198px!important;height:auto!important;max-width:100%;margin-bottom:27px}
.vm-footer__mail{display:inline-flex;align-items:center;gap:9px}
.vm-footer__mail svg{width:17px;height:17px;fill:none;stroke:#ff3150;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.vm-footer__eyebrow{display:flex;align-items:center;gap:9px}
.vm-footer__eyebrow-icon{width:26px;height:26px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:rgba(255,255,255,.018)}
.vm-footer__eyebrow-icon svg{width:14px;height:14px;fill:none;stroke:#ff3150;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.vm-footer__cta-copy{display:flex!important;flex-direction:row!important;align-items:center;gap:13px}
.vm-footer__cta-icon{flex:0 0 auto;width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.11);border-radius:50%}
.vm-footer__cta-icon svg{width:17px;height:17px;fill:none;stroke:#ff3150;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.vm-footer__cta-copy .vm-footer__eyebrow{margin:0 0 4px}
.vm-footer-btn svg{stroke-linecap:round;stroke-linejoin:round}

/* Desktop header stays unchanged; compact mobile actions have their own layout. */
.vm-mobile-actions{display:none}

@media(max-width:820px){
  .vm-header{height:72px}
  .vm-header__inner{height:72px;grid-template-columns:1fr auto!important;gap:12px}
  .vm-brand{width:132px}
  .vm-nav,.vm-header__cta{display:none!important}
  .vm-mobile-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
  .vm-mobile-book{
    height:38px;padding:0 11px;display:inline-flex;align-items:center;gap:7px;
    border-radius:9px;background:#d90a2c;color:#fff;text-decoration:none;
    font-size:11px;font-weight:800;letter-spacing:.02em;white-space:nowrap
  }
  .vm-mobile-book svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .vm-mobile-toggle{
    position:relative!important;justify-self:auto!important;width:42px!important;height:38px!important;
    display:block!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:9px!important;
    background:rgba(255,255,255,.015)!important;padding:0!important
  }
  .vm-mobile-toggle:before{
    content:"";position:absolute;left:8px;top:17px;width:4px;height:4px;background:#d90a2c;transform:rotate(45deg);transition:.2s ease
  }
  .vm-mobile-toggle>span:not(.sr-only){
    position:absolute!important;right:9px!important;height:1px!important;background:#fff!important;
    transition:top .24s ease,transform .24s ease,width .24s ease!important;transform-origin:center!important
  }
  .vm-mobile-toggle>span:first-child{top:13px!important;width:20px!important}
  .vm-mobile-toggle>span:nth-child(2){top:22px!important;width:13px!important}
  .vm-mobile-toggle[aria-expanded="true"]:before{transform:rotate(135deg);background:#ff3150}
  .vm-mobile-toggle[aria-expanded="true"]>span:first-child{top:18px!important;width:20px!important;transform:rotate(45deg)!important}
  .vm-mobile-toggle[aria-expanded="true"]>span:nth-child(2){top:18px!important;width:20px!important;transform:rotate(-45deg)!important}
  .vm-mobile-menu{top:72px;max-height:calc(100vh - 72px)}
  .vm-feature__visual{height:500px;min-height:500px}
  .vm-feature__visual--dark img{object-position:62% center}
  .vm-feature__visual--light img{object-position:68% center}
  .vm-growth__bg img{object-position:64% center}
  .vm-cta__graphic{width:70%;opacity:.42}
  .vm-footer__top{grid-template-columns:1fr 1fr}
  .vm-footer__intro{grid-column:1/-1}
  .vm-footer__brand{width:184px!important}
}
@media(max-width:560px){
  .vm-mobile-book{height:36px;padding:0 9px;font-size:10px}
  .vm-mobile-book svg{display:none}
  .vm-mobile-toggle{width:40px!important;height:36px!important}
  .vm-mobile-toggle>span:first-child{top:12px!important}
  .vm-mobile-toggle>span:nth-child(2){top:21px!important}
  .vm-mobile-toggle[aria-expanded="true"]>span:first-child,.vm-mobile-toggle[aria-expanded="true"]>span:nth-child(2){top:17px!important}
  .vm-hero h1{font-size:clamp(40px,12.2vw,59px)}
  .vm-hero__headline-lock{white-space:nowrap}
  .vm-feature__visual{height:390px;min-height:390px}
  .vm-cta__graphic{display:none}
  .vm-footer__brand{width:174px!important}
}
@media(prefers-reduced-motion:reduce){
  .vm-cta__graphic span,.vm-cta__graphic i,.vm-cta__graphic b{animation:none!important}
}

.vm-footer__offices>.vm-footer__eyebrow{grid-column:1/-1}


/* =========================================================
   THEME V3 - laptop density, featured-in scale, animated scroll
   ========================================================= */

/* Featured strip sits closer to its label and stays intentionally understated. */
.vm-featured{
  margin-top:22px!important;
  padding-top:14px!important;
  max-width:470px!important;
}
.vm-featured__label{
  margin-bottom:5px!important;
  font-size:11px!important;
  letter-spacing:.13em!important;
}
.vm-featured img{
  width:min(100%,410px)!important;
  opacity:.84!important;
}

/* More deliberate scroll cue - local to the hero only. */
.vm-hero__scroll{
  left:30px!important;
  bottom:25px!important;
  gap:11px!important;
  color:rgba(255,255,255,.48)!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.16em!important;
}
.vm-hero__scroll span{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  white-space:nowrap;
}
.vm-hero__scroll i{
  position:relative;
  display:block;
  width:20px!important;
  height:68px!important;
  background:transparent!important;
}
.vm-hero__scroll i:before{
  content:"";
  position:absolute;
  left:9px;
  top:0;
  width:1px;
  height:68px;
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(217,10,44,.7),rgba(255,255,255,.08));
}
.vm-hero__scroll i:after{
  content:"";
  position:absolute;
  left:6px;
  top:2px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#d90a2c;
  box-shadow:0 0 12px rgba(217,10,44,.72);
  animation:vmScrollNode 2.35s cubic-bezier(.45,0,.2,1) infinite;
}
.vm-hero__scroll:after{
  content:"";
  width:7px;
  height:7px;
  margin-top:-12px;
  border-right:1px solid rgba(255,255,255,.48);
  border-bottom:1px solid rgba(255,255,255,.48);
  transform:rotate(45deg);
  animation:vmScrollArrow 1.25s ease-in-out infinite alternate;
}
@keyframes vmScrollNode{
  0%{transform:translateY(0);opacity:0}
  14%{opacity:1}
  72%{opacity:1}
  100%{transform:translateY(56px);opacity:0}
}
@keyframes vmScrollArrow{
  to{transform:translateY(4px) rotate(45deg);opacity:.45}
}

/* Laptop layout: stop desktop compositions from stretching edge-to-edge. */
@media (min-width:821px) and (max-width:1600px){
  :root{--max:1240px}

  .vm-header__inner,
  .vm-section-inner,
  .vm-footer__top,
  .vm-footer__cta-band,
  .vm-footer__bottom,
  .vm-hero__inner{
    width:min(calc(100% - 88px),1240px)!important;
  }

  .vm-header__inner{grid-template-columns:185px 1fr 185px!important;gap:16px!important}
  .vm-brand{width:148px!important}
  .vm-nav__link,.vm-nav__trigger{font-size:10px!important;padding-inline:10px!important}
  .vm-header__cta{font-size:10px!important;padding-inline:14px!important}

  .vm-hero{min-height:790px!important}
  .vm-hero__inner{min-height:712px!important}
  .vm-hero__copy{width:min(570px,52%)!important;padding:70px 0 82px!important}
  .vm-hero h1{font-size:clamp(54px,5.0vw,76px)!important;max-width:620px!important}
  .vm-hero__lead{max-width:540px!important;font-size:13px!important}
  .vm-hero__bg{background-position:58% center!important}

  .vm-recognition{padding:78px 0 86px!important}
  .vm-recognition .vm-section-inner{gap:56px!important}
  .vm-recognition__heading h2{font-size:clamp(42px,4vw,58px)!important}

  .vm-services{padding:88px 0 96px!important}
  .vm-section-heading{gap:60px!important}
  .vm-section-heading h2{font-size:clamp(42px,4vw,60px)!important}

  /* Image-led sections become contained editorial panels on laptops. */
  .vm-feature{
    width:min(calc(100% - 72px),1240px)!important;
    min-height:590px!important;
    margin:56px auto!important;
    border:1px solid rgba(255,255,255,.07);
    border-radius:18px;
    overflow:hidden;
  }
  .vm-feature--light{border-color:rgba(8,9,12,.10)}
  .vm-feature__visual{height:590px!important;min-height:590px!important}
  .vm-feature__copy,.vm-feature__copy--light{padding:68px 58px!important}
  .vm-feature__copy h2{font-size:clamp(42px,4vw,58px)!important}
  .vm-feature__visual--dark img{object-position:60% center!important}
  .vm-feature__visual--light img{object-position:60% center!important}

  .vm-process{padding:88px 0 96px!important}
  .vm-process__intro h2{font-size:clamp(40px,3.7vw,56px)!important}

  .vm-growth{
    width:min(calc(100% - 72px),1240px)!important;
    min-height:560px!important;
    margin:56px auto!important;
    border-radius:18px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.07);
  }
  .vm-growth__inner{min-height:560px!important}
  .vm-growth__copy{width:min(540px,52%)!important}
  .vm-growth h2{font-size:clamp(42px,4vw,60px)!important}
  .vm-growth__bg img{object-position:61% center!important}

  .vm-global{padding:84px 0 92px!important}
  .vm-cta__inner{min-height:360px!important}
  .vm-cta h2{font-size:clamp(40px,3.7vw,56px)!important}

  .vm-footer__top{gap:36px!important}
  .vm-footer__brand{width:176px!important}
}

/* Common 1366/1440 laptop range gets a bit more breathing room again. */
@media (min-width:821px) and (max-width:1380px){
  :root{--max:1120px}

  .vm-header__inner,
  .vm-section-inner,
  .vm-footer__top,
  .vm-footer__cta-band,
  .vm-footer__bottom,
  .vm-hero__inner{
    width:min(calc(100% - 72px),1120px)!important;
  }

  .vm-header__inner{grid-template-columns:160px 1fr 160px!important}
  .vm-brand{width:138px!important}
  .vm-nav__link,.vm-nav__trigger{font-size:11px!important;padding-inline:8px!important}
  .vm-header__cta{font-size:11px!important}

  .vm-hero{min-height:750px!important}
  .vm-hero__inner{min-height:672px!important}
  .vm-hero__copy{width:min(525px,51%)!important;padding:56px 0 70px!important}
  .vm-hero h1{font-size:clamp(51px,4.7vw,66px)!important}
  .vm-hero__lead{max-width:500px!important}
  .vm-featured{max-width:410px!important}
  .vm-featured img{width:min(100%,365px)!important}

  .vm-feature,
  .vm-growth{width:min(calc(100% - 64px),1120px)!important}
  .vm-feature{min-height:540px!important;margin-block:48px!important}
  .vm-feature__visual{height:540px!important;min-height:540px!important}
  .vm-feature__copy,.vm-feature__copy--light{padding:56px 45px!important}
  .vm-growth{min-height:520px!important;margin-block:48px!important}
  .vm-growth__inner{min-height:520px!important}

  .vm-service-card{padding:24px!important}
  .vm-service-card h3{font-size:16px!important}
  .vm-service-card p{font-size:12px!important}
  .vm-footer__brand{width:164px!important}
}

/* Mobile keeps the featured lockup compact and vertically tidy. */
@media(max-width:820px){
  .vm-featured{margin-top:20px!important;padding-top:12px!important;max-width:430px!important}
  .vm-featured__label{margin-bottom:4px!important}
  .vm-featured img{max-width:360px!important}
}
@media(max-width:560px){
  .vm-featured img{max-width:310px!important}
}
@media(prefers-reduced-motion:reduce){
  .vm-hero__scroll i:after,.vm-hero__scroll:after{animation:none!important}
}


/* =========================================================
   V4 - mobile awards: compact two-column recognition grid
   ========================================================= */
@media(max-width:820px){
  .vm-recognition{padding:66px 0 74px!important}
  .vm-recognition .vm-section-inner{
    display:block!important;
  }
  .vm-recognition__heading{
    margin-bottom:28px!important;
  }
  .vm-recognition__grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .vm-award-card,
  .vm-award-card:nth-child(n){
    min-height:164px!important;
    padding:16px 12px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    gap:12px!important;
    text-align:center!important;
    border-right:1px solid rgba(255,255,255,.08)!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
  }
  .vm-award-card:nth-child(2n){
    border-right:0!important;
  }
  .vm-award-card img,
  .vm-award-card:nth-child(3) img{
    width:auto!important;
    max-width:94px!important;
    max-height:72px!important;
    object-fit:contain!important;
  }
  .vm-award-card strong{
    margin-bottom:5px!important;
    font-size:11px!important;
    line-height:1.25!important;
  }
  .vm-award-card span{
    font-size:10px!important;
    line-height:1.35!important;
  }
  .vm-award-card:nth-child(5){
    grid-column:1/-1!important;
    min-height:118px!important;
    flex-direction:row!important;
    text-align:left!important;
    justify-content:center!important;
    border-right:0!important;
  }
  .vm-award-card:nth-child(5) img{
    max-width:82px!important;
    max-height:72px!important;
  }
}
@media(max-width:430px){
  .vm-recognition__grid{gap:0!important}
  .vm-award-card,
  .vm-award-card:nth-child(n){
    min-height:152px!important;
    padding:14px 9px!important;
  }
  .vm-award-card img,
  .vm-award-card:nth-child(3) img{
    max-width:80px!important;
    max-height:62px!important;
  }
}


/* Active service state */
.vm-menu-link.is-active{background:rgba(217,10,44,.09);box-shadow:inset 0 0 0 1px rgba(217,10,44,.18)}
.vm-menu-link.is-active strong{color:#fff}
.vm-menu-link.is-active .vm-menu-link__icon{border-color:rgba(217,10,44,.45);background:rgba(217,10,44,.08)}
.vm-mobile-subnav a.is-active{color:#fff;background:rgba(217,10,44,.10);border-color:rgba(217,10,44,.25)}


/* =========================================================
   V10 footer icon geometry + Search Visibility navigation
   ========================================================= */
.vm-footer__eyebrow{
  min-height:26px;
  align-items:center!important;
  line-height:1!important;
}
.vm-footer__eyebrow-icon{
  flex:0 0 26px!important;
  line-height:0!important;
  align-self:center!important;
  overflow:visible!important;
}
.vm-footer__eyebrow-icon svg{
  display:block!important;
  width:14px!important;
  height:14px!important;
  margin:0!important;
  overflow:visible!important;
  transform:none!important;
}
.vm-footer__eyebrow-icon--location svg{
  width:15px!important;
  height:15px!important;
  transform:translateY(-.25px)!important;
}
.vm-footer__mail svg,.vm-footer__cta-icon svg,.vm-footer-btn svg{
  display:block!important;
  flex:0 0 auto!important;
  margin:0!important;
  vertical-align:middle!important;
}
.vm-footer__cta-icon{line-height:0!important}
.vm-footer-btn{align-items:center!important}
.vm-footer__mail{align-items:center!important}

/* Dedicated Search Visibility mega-menu. */
.vm-mega--search{width:690px}
.vm-mega--search .vm-menu-link{min-height:74px}
.vm-search-menu-intro{
  position:relative;z-index:2;padding:16px 18px 18px;
  display:flex;flex-direction:column;justify-content:space-between
}
.vm-search-menu-intro__tag{
  display:inline-flex;align-self:flex-start;padding:7px 10px;
  border:1px solid rgba(217,10,44,.22);border-radius:8px;
  background:rgba(217,10,44,.055);color:#ff4964;
  font-size:10px;font-weight:700;letter-spacing:.14em
}
.vm-search-menu-intro strong{
  display:block;margin-top:26px;max-width:260px;
  font-size:24px;line-height:1.02;letter-spacing:-.04em;font-weight:500
}
.vm-search-menu-intro p{
  max-width:280px;margin:13px 0 0;color:rgba(255,255,255,.44);
  font-size:10px;line-height:1.65
}
.vm-search-menu-intro__surfaces{
  display:flex;flex-wrap:wrap;gap:6px;margin-top:20px
}
.vm-search-menu-intro__surfaces span{
  padding:6px 8px;border:1px solid rgba(255,255,255,.09);
  border-radius:999px;color:rgba(255,255,255,.38);
  font-size:10px;font-weight:600;letter-spacing:.07em
}
.vm-search-menu-links{position:relative;z-index:2;padding:12px 17px 14px;border-left:1px solid rgba(255,255,255,.075)}
.vm-search-menu-links .vm-mega__label{margin-bottom:10px}

/* Keep the extra desktop menu item comfortable on laptops. */
@media(min-width:821px) and (max-width:1450px){
  .vm-nav__link,.vm-nav__trigger{padding-inline:9px!important;font-size:11px!important}
  .vm-header__inner{grid-template-columns:150px 1fr 160px!important}
  .vm-brand{width:134px!important}
}

.vm-nav__trigger.is-active{color:#fff;background:rgba(255,255,255,.045)}
.vm-nav__trigger.is-active:after{transform:scaleX(1)}


/* =========================================================
   V15 - Industries navigation
   ========================================================= */
.vm-mega--industries{width:690px}
.vm-industry-menu-intro{
  position:relative;z-index:2;padding:17px 18px 18px;
  display:flex;flex-direction:column;justify-content:space-between
}
.vm-industry-menu-intro__tag{
  display:inline-flex;align-self:flex-start;padding:7px 10px;
  border:1px solid rgba(217,10,44,.22);border-radius:8px;
  background:rgba(217,10,44,.055);color:#ff4964;
  font-size:10px;font-weight:700;letter-spacing:.14em
}
.vm-industry-menu-intro strong{
  display:block;margin-top:27px;max-width:285px;
  font-size:23px;line-height:1.03;letter-spacing:-.04em;font-weight:500
}
.vm-industry-menu-intro p{
  max-width:285px;margin:13px 0 0;color:rgba(255,255,255,.44);
  font-size:10px;line-height:1.65
}
.vm-industry-menu-intro a{
  display:inline-block;margin-top:20px;color:#ff4964;text-decoration:none;
  font-size:10px;font-weight:700;border-bottom:1px solid rgba(217,10,44,.4);padding-bottom:3px
}
.vm-industry-menu-links{position:relative;z-index:2;padding:12px 17px 14px;border-left:1px solid rgba(255,255,255,.075)}
.vm-industry-menu-links .vm-mega__label{margin-bottom:10px}
.vm-industry-menu-links .vm-menu-link{min-height:86px}

@media(min-width:821px) and (max-width:1600px){
  .vm-nav__link,.vm-nav__trigger{padding-inline:7px!important;font-size:11px!important}
  .vm-header__inner{grid-template-columns:145px 1fr 154px!important}
  .vm-brand{width:130px!important}
}


/* =========================================================
   V19 - Home latest insights
   ========================================================= */
.vm-latest-insights{padding:108px 0 116px;background:#f4f3f0;color:#111;overflow:hidden}
.vm-latest-insights__head{
  display:grid;grid-template-columns:1fr 390px;gap:70px;align-items:end;margin-bottom:52px
}
.vm-latest-insights__head h2{
  margin:0;font-size:clamp(42px,5vw,72px);line-height:.96;letter-spacing:-.057em;font-weight:500
}
.vm-latest-insights__head h2 em{font-style:normal;color:#d90a2c}
.vm-latest-insights__head>div:last-child>p{
  margin:0;color:#606165;font-size:12px;line-height:1.75
}
.vm-latest-insights__head>div:last-child>a{
  display:inline-flex;align-items:center;gap:8px;margin-top:18px;
  color:#d90a2c;text-decoration:none;font-size:11px;font-weight:700
}
.vm-latest-insights__head>div:last-child>a svg,
.vm-latest-card__read svg{
  width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round
}
.vm-latest-insights__grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(0,0,0,.13);border-left:1px solid rgba(0,0,0,.13)
}
.vm-latest-card{
  min-width:0;border-right:1px solid rgba(0,0,0,.13);border-bottom:1px solid rgba(0,0,0,.13);
  background:#f4f3f0;transition:.2s ease
}
.vm-latest-card:hover{background:#fff;transform:translateY(-2px)}
.vm-latest-card__image{
  position:relative;display:block;aspect-ratio:16/10;overflow:hidden;border-bottom:1px solid rgba(0,0,0,.09)
}
.vm-latest-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.vm-latest-card:hover .vm-latest-card__image img{transform:scale(1.025)}
.vm-latest-card__image>span{
  position:absolute;right:13px;top:13px;display:grid;place-items:center;width:34px;height:34px;
  background:rgba(7,8,10,.86);color:#fff;font-size:10px;font-weight:700
}
.vm-latest-card__body{padding:23px}
.vm-latest-card__meta{display:flex;gap:13px;color:#85868a;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.vm-latest-card h3{margin:27px 0 11px;font-size:20px;line-height:1.13;letter-spacing:-.035em}
.vm-latest-card h3 a{color:#111;text-decoration:none}
.vm-latest-card__body>p{
  margin:0;color:#626367;font-size:11px;line-height:1.7;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden
}
.vm-latest-card__read{
  display:inline-flex;align-items:center;gap:7px;margin-top:23px;color:#d90a2c;
  text-decoration:none;font-size:10px;font-weight:700
}
@media(min-width:821px) and (max-width:1600px){
 .vm-latest-insights{padding:90px 0 98px}
 .vm-latest-insights__head{gap:54px}
}
@media(max-width:920px){
 .vm-latest-insights__head{grid-template-columns:1fr;gap:28px}
 .vm-latest-insights__grid{grid-template-columns:1fr 1fr}
 .vm-latest-card:last-child{grid-column:1/-1}
}
@media(max-width:620px){
 .vm-latest-insights{padding:72px 0 78px}
 .vm-latest-insights__grid{grid-template-columns:1fr}
 .vm-latest-card:last-child{grid-column:auto}
}

/* V19 footer office icon */
.vm-footer__eyebrow-icon--office svg{
  width:15px!important;height:15px!important;transform:none!important;
  stroke-width:1.4!important
}


/* =========================================================
   V20 - Expanded Industries mega menu
   ========================================================= */
.vm-mega--industries{width:780px}
.vm-industry-menu-links .vm-menu-link{
  min-height:68px;padding-top:8px;padding-bottom:8px
}
.vm-industry-menu-links .vm-menu-link strong{font-size:11px}
.vm-industry-menu-links .vm-menu-link small{font-size:11px;line-height:1.4}
.vm-industry-menu-links .vm-menu-link__icon{
  width:32px;height:32px
}
@media(min-width:821px) and (max-width:1200px){
 .vm-mega--industries{width:720px}
 .vm-industry-menu-intro strong{font-size:20px}
 .vm-industry-menu-links .vm-menu-link{min-height:62px}
}


/* =========================================================
   V25 - Readability baseline
   Tiny display text was previously used too aggressively.
   Keep decorative/meta copy readable across laptops and mobile.
   ========================================================= */
:root{
  --vm-text-xs:11px;
  --vm-text-sm:12px;
}

.vm-kicker,
.vm-label,
.vm-eyebrow,
.vm-meta,
.vm-footer__eyebrow,
.vm-footer small,
.vm-menu-link small,
.vm-mobile-menu small,
[class*="__kicker"],
[class*="__label"],
[class*="__eyebrow"]{
  font-size:var(--vm-text-xs);
  line-height:1.45;
}

@media(max-width:920px){
  :root{
    --vm-text-xs:11px;
    --vm-text-sm:12px;
  }
}
