/* ===== Our Values (9 Oct 2026). Animations that keep running: drifting glow, rotating ring with a value that lights up
   one after another, counting chips, a pillar spotlight that moves through the four cards, faces gliding right. ===== */

/* ---------- hero ---------- */
.vl-hero{ position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(160deg,#0b1a2c 0%,#0F2238 45%,#152C47 100%); color:#fff; }
.vl-aurora{ position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.vl-o1,.vl-o2{ position:absolute; border-radius:50%; filter:blur(80px); opacity:.5; }
.vl-o1{ width:560px; height:560px; right:-120px; top:-180px; background:radial-gradient(circle,#4F82C6 0%,transparent 68%); animation:vlDrift 17s ease-in-out infinite alternate; }
.vl-o2{ width:520px; height:520px; left:-160px; bottom:-240px; background:radial-gradient(circle,#3F72B5 0%,transparent 68%); animation:vlDrift 21s ease-in-out infinite alternate-reverse; }
@keyframes vlDrift{ from{ transform:translate(0,0) scale(1); } to{ transform:translate(-60px,50px) scale(1.15); } }
.vl-hero-grid{ display:grid; gap:56px; align-items:center; padding-block:clamp(56px,8vw,110px); }
@media(min-width:960px){ .vl-hero-grid{ grid-template-columns:1.05fr .95fr; gap:72px; } }
.vl-crumbs{ display:flex; gap:8px; flex-wrap:wrap; font:12px 'Geist Mono',monospace; color:rgba(255,255,255,.75); }
.vl-crumbs b{ color:#fff; font-weight:500; }
.vl-hero h1{ margin-top:24px; font-size:clamp(54px,8.4vw,116px); font-weight:500; line-height:.98; letter-spacing:-.045em; color:#fff; }
.vl-lede{ margin-top:22px; max-width:54ch; font-size:clamp(17px,1.6vw,20px); line-height:1.6; color:rgba(255,255,255,.9); }
.vl-chips{ display:flex; flex-wrap:wrap; gap:12px; margin-top:36px; }
.vl-chip{ flex:1 1 150px; max-width:172px; padding:16px 20px; border:1px solid rgba(255,255,255,.22); border-radius:14px; background:rgba(255,255,255,.06); animation:vlFloat 6s ease-in-out infinite; }
.vl-chip-2{ animation-delay:-2s; } .vl-chip-3{ animation-delay:-4s; }
.vl-chip b{ display:block; font-size:clamp(30px,3.2vw,42px); font-weight:500; letter-spacing:-.03em; line-height:1; color:#fff; }
.vl-chip small{ display:block; margin-top:8px; font:11.5px/1.45 'Geist Mono',monospace; letter-spacing:.03em; color:rgba(255,255,255,.78); }
@keyframes vlFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-6px); } }

/* the ring: dashed circles keep turning while Integrity > Reliability > Personalized service light up in turn */
.vl-ring{ position:relative; width:min(100%,440px); aspect-ratio:1; justify-self:center; }
.vl-svg{ position:absolute; inset:0; width:100%; height:100%; animation:vlSpin 70s linear infinite; }
.vl-svg circle{ fill:none; stroke:rgba(143,178,224,.5); stroke-width:1.4; stroke-dasharray:2 10; stroke-linecap:round; }
.vl-svg circle.b{ stroke:rgba(143,178,224,.28); stroke-dasharray:1 8; }
.vl-svg2{ animation-direction:reverse; animation-duration:90s; }
@keyframes vlSpin{ to{ transform:rotate(360deg); } }
.vl-core{ position:absolute; inset:25%; border-radius:50%; display:grid; place-content:center; text-align:center; background:radial-gradient(circle,rgba(79,130,198,.38),rgba(15,34,56,.15) 70%); border:1px solid rgba(255,255,255,.2); animation:vlPulse 4.4s ease-in-out infinite; }
.vl-core span{ font:12px 'Geist Mono',monospace; letter-spacing:.12em; text-transform:uppercase; color:#9fc0ea; }
.vl-core b{ font-size:clamp(30px,4vw,46px); font-weight:500; letter-spacing:-.03em; }
@keyframes vlPulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(79,130,198,.35); } 50%{ box-shadow:0 0 0 22px rgba(79,130,198,0); } }
.vl-n{ position:absolute; display:inline-flex; align-items:center; gap:10px; padding:10px 18px; border-radius:999px; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.08); backdrop-filter:blur(6px); font-size:15px; font-weight:500; white-space:nowrap; transition:background .5s,color .5s,scale .5s,box-shadow .5s,border-color .5s; }
.vl-n::before{ content:""; width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.45); transition:background .5s,box-shadow .5s; }
.vl-n.on{ background:#fff; color:#0F2238; border-color:#fff; scale:1.1; box-shadow:0 16px 44px -14px rgba(143,178,224,.85); }
.vl-n.on::before{ background:var(--blue); box-shadow:0 0 0 6px rgba(63,114,181,.28); }
.vl-n1{ left:50%; top:1%; translate:-50% 0; }
.vl-n2{ right:-3%; bottom:19%; }
.vl-n3{ left:-3%; bottom:19%; }
@media(max-width:520px){ .vl-n{ padding:8px 13px; font-size:13px; } .vl-n2{ right:-1%; } .vl-n3{ left:-1%; } }

/* ---------- mission ---------- */
.s.vl-intro{ padding-block:clamp(72px,9vw,130px); }
.vl-intro-grid{ display:grid; gap:44px; align-items:start; }
@media(min-width:900px){ .vl-intro-grid{ grid-template-columns:.9fr 1.1fr; gap:96px; } }
.vl-intro h2{ margin-top:14px; font-size:clamp(40px,5.6vw,76px); font-weight:500; line-height:1.02; letter-spacing:-.04em; max-width:9ch; }
.vl-intro p{ font-size:clamp(16px,1.35vw,18px); line-height:1.8; max-width:62ch; }
.vl-intro p + p{ margin-top:22px; }
.vl-rule{ display:block; height:3px; width:min(260px,70%); margin-top:28px; background:linear-gradient(90deg,var(--blue),transparent); transform-origin:left; animation:vlRule 4s ease-in-out infinite; }
@keyframes vlRule{ 0%{ transform:scaleX(0); } 55%,100%{ transform:scaleX(1); } }

/* ---------- who we are: four pillars, spotlight moves through them ---------- */
.s.vl-who{ background:var(--panel); padding-block:clamp(72px,9vw,130px); }
.vl-who .head h2{ font-size:clamp(34px,4.6vw,58px); }
.vl-grid{ display:grid; gap:22px; margin-top:48px; grid-template-columns:1fr; }
@media(min-width:900px){ .vl-grid{ grid-template-columns:1fr 1fr; gap:26px; } }
.vl-pillar{ position:relative; overflow:hidden; padding:clamp(26px,3vw,40px); border:1px solid var(--line); border-radius:22px; background:var(--paper); transition:transform .55s cubic-bezier(.2,.8,.2,1), box-shadow .55s, border-color .55s; }
.vl-num{ font:13px 'Geist Mono',monospace; letter-spacing:.1em; color:var(--blue); }
.vl-pillar h3{ margin-top:12px; font-size:clamp(24px,2.4vw,32px); font-weight:500; letter-spacing:-.025em; line-height:1.1; }
.vl-pillar p{ margin-top:16px; font-size:15.5px; line-height:1.75; }
.vl-pillar p + p{ margin-top:14px; }
.vl-line{ position:absolute; left:0; top:0; height:4px; width:0; background:var(--blue); }
.vl-pillar.hot{ transform:translateY(-8px); border-color:var(--blue); box-shadow:0 30px 60px -34px rgba(63,114,181,.55); }
.vl-pillar.hot .vl-line{ width:100%; transition:width 3.4s linear; }

/* ---------- experts band: faces glide to the right, forever ---------- */
.s.vl-experts{ background:var(--navy); color:#fff; padding-block:clamp(72px,9vw,120px); overflow:hidden; }
.vl-ex-head{ max-width:760px; }
.vl-experts h2{ margin-top:14px; font-size:clamp(32px,4.4vw,56px); font-weight:500; line-height:1.06; letter-spacing:-.03em; color:#fff; }
.vl-experts p{ margin-top:18px; max-width:62ch; font-size:clamp(16px,1.35vw,18px); line-height:1.75; color:rgba(255,255,255,.82); }
.vl-experts .kicker{ color:#8fb2e0; }
.vl-ex-cta{ margin-top:30px; }
.vl-faces{ margin-top:56px; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.vl-fr{ display:flex; flex-wrap:nowrap; width:max-content; animation:vlRun 44s linear infinite; }
.vl-faces:hover .vl-fr{ animation-play-state:paused; }
@keyframes vlRun{ from{ transform:translateX(-50%); } to{ transform:translateX(0); } }
.vl-face{ flex:none; width:128px; margin-right:30px; text-align:center; }
.vl-av{ width:128px; height:128px; border-radius:50%; overflow:hidden; background:#0d1319; box-shadow:0 0 0 3px rgba(255,255,255,.14), 0 18px 40px -20px rgba(0,0,0,.7); }
.vl-av img{ width:100%; height:100%; object-fit:cover; object-position:50% 14%; display:block; }
.vl-face p{ margin-top:14px; font:12.5px/1.4 'Geist Mono',monospace; letter-spacing:.04em; color:rgba(255,255,255,.85); }
@media(max-width:600px){ .vl-face{ width:100px; margin-right:22px; } .vl-av{ width:100px; height:100px; } }

/* ---------- dark mode ---------- */
:root[data-theme=dark] .s.vl-who{ background:#0e1620; }
:root[data-theme=dark] .vl-pillar{ background:#111a25; }
:root[data-theme=dark] .vl-pillar.hot{ box-shadow:0 30px 60px -34px rgba(0,0,0,.8); }
:root[data-theme=dark] .s.vl-experts{ background:#0a1522; }

@media (prefers-reduced-motion:reduce){
  .vl-o1,.vl-o2,.vl-chip,.vl-svg,.vl-core,.vl-rule{ animation:none; }
  .vl-fr{ animation:none; }
  .vl-faces{ overflow-x:auto; mask-image:none; -webkit-mask-image:none; }
  .vl-pillar.hot{ transform:none; }
}

/* ===== Elementor adaptations (generated) ===== */
.vl-hero h1.elementor-heading-title:not(.az):not(.az){margin-top:24px; font-size:clamp(54px,8.4vw,116px); font-weight:500; line-height:.98; letter-spacing:-.045em; color:#fff;}
.vl-intro h2.elementor-heading-title:not(.az):not(.az){margin-top:14px; font-size:clamp(40px,5.6vw,76px); font-weight:500; line-height:1.02; letter-spacing:-.04em; max-width:9ch;}
.vl-pillar h3.elementor-heading-title:not(.az):not(.az){margin-top:12px; font-size:clamp(24px,2.4vw,32px); font-weight:500; letter-spacing:-.025em; line-height:1.1;}
.vl-experts h2.elementor-heading-title:not(.az):not(.az){margin-top:14px; font-size:clamp(32px,4.4vw,56px); font-weight:500; line-height:1.06; letter-spacing:-.03em; color:#fff;}
.vl-who .head h2.elementor-heading-title:not(.az):not(.az){font-size:clamp(34px,4.6vw,58px);}
.vl-av img:not(.az):not(.az){width:100%; height:100%; object-fit:cover; object-position:50% 14%; display:block;}
:where(.angel-item) > :where(a,span,b,i,small,cite,time,em,strong){display:block}
.angel-item > .vl-n{display:flex}
.mcta p{color:#fff}
/* ===== generated from inline styles ===== */
.s-efe972{animation-delay:.1s !important}
.s-ce65ab{animation-delay:.36s !important}
