*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#17191C;font-family:Barlow,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:inherit;text-decoration:none}

@keyframes vmarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes vkenburns{0%{transform:scale(1.02)}100%{transform:scale(1.13) translate(-1.2%,-.8%)}}
@keyframes vheroIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}

/* --- page shell --- */
.vsite-shell{
  color:#F2F4F5;
  font-family:Barlow,system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
  background:
    radial-gradient(1100px 540px at 90% 10%,rgba(193,53,44,.09),transparent 62%),
    radial-gradient(1000px 640px at -5% 42%,rgba(61,116,199,.07),transparent 60%),
    radial-gradient(900px 560px at 100% 80%,rgba(193,53,44,.06),transparent 60%),
    #17191C;
}

/* --- header --- */
.vheader{position:sticky;top:0;z-index:40;overflow:visible}
.vheader-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  padding:0 40px;
  height:89px;
  border-bottom:1px solid rgba(242,244,245,.14);
  background:linear-gradient(180deg,rgba(242,244,245,.028) 0%,rgba(242,244,245,.012) 45%,rgba(242,244,245,0) 100%);
  transition:height .35s cubic-bezier(.22,.7,.3,1),background .35s ease,box-shadow .35s ease,border-color .35s ease,-webkit-backdrop-filter .35s ease,backdrop-filter .35s ease;
}
.vheader-brand{display:flex;align-items:center;min-height:1px;padding-left:153px;transition:padding-left .35s cubic-bezier(.22,.7,.3,1)}
.vheader-brand-text{font:400 22px/1 Anton,Impact,sans-serif;letter-spacing:.04em;text-transform:uppercase;transition:font-size .35s cubic-bezier(.22,.7,.3,1)}
.vheader-logo{position:absolute;top:8px;left:40px;z-index:3;width:140px;height:140px;display:block;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35));transition:top .35s cubic-bezier(.22,.7,.3,1),width .35s cubic-bezier(.22,.7,.3,1),height .35s cubic-bezier(.22,.7,.3,1),filter .35s ease}
.vheader-logo img{width:100%;height:100%;display:block;object-fit:contain}
.vheader-actions{display:flex;align-items:center;gap:34px}
.vnav{display:flex;gap:26px;font:600 16px/1 'Barlow Condensed',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#A8B0B7}
.vnav-toggle{display:none;position:relative;width:48px;height:48px;margin:0;padding:0;border:0;background:transparent;cursor:pointer;flex-shrink:0}
.vnav-toggle-bar{display:block;position:absolute;left:12px;right:12px;height:2px;background:#F2F4F5;border-radius:1px;transition:transform .28s cubic-bezier(.22,.7,.3,1),opacity .2s ease,top .28s cubic-bezier(.22,.7,.3,1)}
.vnav-toggle-bar:nth-child(1){top:16px}
.vnav-toggle-bar:nth-child(2){top:23px}
.vnav-toggle-bar:nth-child(3){top:30px}
.vheader.is-nav-open .vnav-toggle-bar:nth-child(1){top:23px;transform:rotate(45deg)}
.vheader.is-nav-open .vnav-toggle-bar:nth-child(2){opacity:0}
.vheader.is-nav-open .vnav-toggle-bar:nth-child(3){top:23px;transform:rotate(-45deg)}
.vheader-cta{display:inline-flex;align-items:center;height:89px;padding:0 26px;background:#3D74C7;color:#fff;font:400 17px/1 Anton,Impact,sans-serif;letter-spacing:.06em;text-transform:uppercase;transition:background .2s,height .35s cubic-bezier(.22,.7,.3,1)}
.vheader.is-scrolled .vheader-bar{height:64px;background:rgba(23,25,28,.78);-webkit-backdrop-filter:blur(18px) saturate(1.25);backdrop-filter:blur(18px) saturate(1.25);border-bottom-color:rgba(242,244,245,.18);box-shadow:0 12px 36px rgba(0,0,0,.35)}
.vheader.is-scrolled .vheader-logo{top:8px;width:48px;height:48px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.28))}
.vheader.is-scrolled .vheader-brand{padding-left:61px}
.vheader.is-scrolled .vheader-brand-text{font-size:18px}
.vheader.is-scrolled .vheader-cta{height:64px}

/* --- hero --- */
.vhero{position:relative;overflow:hidden}
.vhero-bg{position:absolute;inset:0;overflow:hidden}
.vhero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:vkenburns 30s ease-in-out infinite alternate}
.vhero-fade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(23,25,28,.93) 16%,rgba(23,25,28,.6) 55%,rgba(23,25,28,.22)),linear-gradient(180deg,rgba(23,25,28,.5),rgba(23,25,28,0) 28%,rgba(23,25,28,0) 55%,#17191C 97%)}
.vhero-content{position:relative;max-width:860px;padding:130px 40px 150px}
.vhero-in{animation:vheroIn .9s cubic-bezier(.22,.7,.3,1) both}
.vhero-in-d1{animation-delay:.12s}
.vhero-in-d2{animation-delay:.24s}
.vhero-in-d3{animation-delay:.38s}
.vhero-badge{display:inline-flex;align-items:center;gap:10px;padding:7px 14px;border:1px solid rgba(193,53,44,.55);background:rgba(23,25,28,.55);margin-bottom:30px}
.vhero-badge-dot{width:6px;height:6px;border-radius:50%;background:#C1352C}
.vhero-badge-text{font:600 11px/1 'Barlow Condensed',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#E0A9A4}
.vhero-title{margin:0;font:400 96px/.94 Anton,Impact,sans-serif;letter-spacing:.005em;text-transform:uppercase;text-shadow:0 4px 40px rgba(0,0,0,.5)}
.vhero-title-accent{color:#3D74C7}
.vhero-lead{margin:30px 0 0;max-width:520px;font:300 19px/1.6 Barlow,sans-serif;color:#C9CFD4;text-wrap:pretty;text-shadow:0 2px 20px rgba(0,0,0,.6)}
.vhero-actions{display:flex;align-items:center;gap:16px;margin:38px 0 0}

/* --- buttons --- */
.vbtn{display:inline-block;padding:18px 30px;font:400 19px/1 Anton,Impact,sans-serif;letter-spacing:.05em;text-transform:uppercase;transition:transform .2s,background .2s,border-color .2s,color .2s}
.vbtn-primary{background:#3D74C7;color:#fff}
.vbtn-ghost{border:1px solid rgba(242,244,245,.35);background:rgba(23,25,28,.4);color:#F2F4F5}
.vbtn-lg{padding:20px 36px;font-size:24px;transition:background .2s,color .2s}

/* --- marquee --- */
.vmarquee{position:relative;overflow:hidden;border-top:1px solid rgba(242,244,245,.1);border-bottom:1px solid rgba(242,244,245,.1)}
.vmarquee-track{display:flex;width:max-content;animation:vmarq 46s linear infinite}
.vmarquee-group{display:flex;gap:44px;padding:15px 22px;font:600 13px/1 'Barlow Condensed',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#8B939B;white-space:nowrap}
.vmarquee-dot{color:#C1352C}

/* --- shared sections --- */
.vsection{padding:88px 40px}
.vsection-wash{background:linear-gradient(180deg,rgba(242,244,245,.028) 0%,rgba(242,244,245,.012) 45%,rgba(242,244,245,0) 100%)}
.vsection-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:14px}
.vsection-head-lg{margin-bottom:44px}
.vsection-title{margin:0;font:400 54px/1 Anton,Impact,sans-serif;letter-spacing:.01em;text-transform:uppercase}
.vsection-kicker{font:600 12px/1 'Barlow Condensed',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#6E767D}
.vline{height:1px;background:linear-gradient(90deg,#C1352C 0 90px,rgba(242,244,245,.16) 90px);margin-bottom:46px;transform-origin:left center;transform:scaleX(0);transition:transform 1.1s cubic-bezier(.22,.7,.3,1)}
.vline.is-in{transform:none}

/* --- feature cards --- */
.vfeature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(242,244,245,.12)}
.vfeature{background:linear-gradient(155deg,#1D2126 0%,#191C1F 45%,#17191C 100%);padding:30px 28px 34px}
.vfeature-num{font:400 15px/1 Anton,sans-serif;color:#C1352C;margin-bottom:16px}
.vfeature-title{margin:0 0 10px;font:600 18px/1.25 Barlow,sans-serif;text-transform:uppercase;letter-spacing:.02em}
.vfeature-copy{margin:0;font:300 15px/1.62 Barlow,sans-serif;color:#A8B0B7;text-wrap:pretty}

/* --- stats --- */
.vstats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(242,244,245,.12);border-bottom:1px solid rgba(242,244,245,.12)}
.vstat{padding:30px;border-right:1px solid rgba(242,244,245,.12)}
.vstat:last-child{border-right:0}
.vstat-label{font:600 11px/1 'Barlow Condensed',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#6E767D;margin-bottom:10px}
.vstat-value{font:400 34px/1 Anton,sans-serif;color:#F2F4F5}
.vstat-muted{color:#6E767D}

/* --- services --- */
.vservices-ask{font:600 12px/1 'Barlow Condensed',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#C1352C}
.vservices-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 60px}
.vsvc-row{display:flex;align-items:baseline;gap:20px;padding:20px 0;border-bottom:1px solid rgba(242,244,245,.14);transition:transform .25s cubic-bezier(.22,.7,.3,1),border-color .25s,padding-left .25s}
.vsvc-row:hover{transform:translateX(6px);border-bottom-color:rgba(61,116,199,.35);padding-left:4px}
.vsvc-num{font:400 13px/1 Anton,sans-serif;color:#5B646C}
.vsvc-name{font:500 20px/1.2 Barlow,sans-serif;text-transform:uppercase;letter-spacing:.03em}

/* --- reviews --- */
.vreviews{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(242,244,245,.12)}
.vreview{padding:70px 44px}
.vreview:first-child{border-right:1px solid rgba(242,244,245,.12)}
.vreview-mark{font:400 44px/1 Anton,sans-serif;color:#C1352C;margin-bottom:22px}
.vreview blockquote{margin:0;font:400 21px/1.52 Barlow,sans-serif;color:#D5DADE;text-wrap:pretty}
.vreview-name{margin-top:24px;font:600 12px/1 'Barlow Condensed',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#6E767D}

/* --- contact CTA --- */
.vcta{position:relative;overflow:hidden;padding:80px 40px;border-top:1px solid rgba(242,244,245,.12)}
.vcta-grid{display:grid;grid-template-columns:1fr 400px;gap:70px;align-items:center}
.vcta-title{margin:0;font:400 60px/.98 Anton,Impact,sans-serif;text-transform:uppercase;letter-spacing:.01em}
.vcta-title-accent{color:#3D74C7}
.vcta-lead{margin:24px 0 34px;max-width:520px;font:300 18px/1.6 Barlow,sans-serif;color:#B6BDC3;text-wrap:pretty}
.vhours{border:1px solid rgba(242,244,245,.2)}
.vhours-head{padding:18px 24px;border-bottom:1px solid rgba(242,244,245,.2);font:600 11px/1 'Barlow Condensed',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#8B939B}
.vhours-row{display:flex;justify-content:space-between;padding:14px 24px;font:400 15px/1 Barlow,sans-serif}
.vhours-row + .vhours-row{border-top:1px solid rgba(242,244,245,.12)}
.vhours-row-muted{color:#8B939B}
.vhours-strong{font-weight:600}
.vhours-addr{padding:18px 24px;border-top:1px solid rgba(242,244,245,.12);font:400 14.5px/1.6 Barlow,sans-serif;color:#B6BDC3}

/* --- partners --- */
.vpartners{padding:64px 40px;border-top:1px solid rgba(242,244,245,.12)}
.vpartners-head{display:flex;align-items:baseline;gap:20px;margin-bottom:36px}
.vpartners-title{margin:0;font:400 30px/1 Anton,Impact,sans-serif;text-transform:uppercase;letter-spacing:.02em}
.vpartners-rule{flex:1;height:1px;background:rgba(242,244,245,.16)}
.vpartners-kicker{font:600 11px/1 'Barlow Condensed',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#6E767D}
.vpartners-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(242,244,245,.12)}
.vpartner{display:flex;flex-direction:column;gap:16px;padding:34px 30px;background:linear-gradient(155deg,#1D2126 0%,#191C1F 45%,#17191C 100%);transition:background .3s}
.vpartner img{height:38px;width:auto;object-fit:contain;object-position:left}
.vpartner-img-bright{filter:brightness(1.05)}
.vpartner-copy{font:400 15.5px/1.6 Barlow,sans-serif;color:#A8B0B7}

/* --- pay strip --- */
.vpaystrip{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:22px 40px;border-top:1px solid rgba(242,244,245,.12)}
.vpaystrip-copy{font:400 14px/1.5 Barlow,sans-serif;color:#A8B0B7}
.vpaystrip-note{font:600 11px/1 'Barlow Condensed',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#6E767D}

/* --- footer --- */
.vfooter{padding:52px 40px 40px;border-top:1px solid rgba(242,244,245,.12)}
.vfooter-grid{display:grid;grid-template-columns:300px 1fr 1fr;gap:56px}
.vfooter-logo{width:72px;height:72px;display:block;margin-bottom:18px}
.vfooter-name{font:400 20px/1 Anton,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.vfooter-contact{margin-top:12px;font:400 14.5px/1.7 Barlow,sans-serif;color:#8B939B}
.vfooter-phone{color:#F2F4F5;font-weight:600}
.vfooter-label{font:600 11px/1 'Barlow Condensed',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#6E767D;margin-bottom:16px}
.vfooter-links{display:flex;flex-direction:column;gap:9px;font:400 14.5px/1.4 Barlow,sans-serif;color:#A8B0B7}
.vfooter-areas{display:flex;flex-wrap:wrap;gap:9px 18px;max-width:400px;font:400 14.5px/1.4 Barlow,sans-serif;color:#A8B0B7}
.vfooter-bottom{margin-top:44px;padding-top:20px;border-top:1px solid rgba(242,244,245,.14);display:flex;justify-content:space-between;font:400 12px/1 Barlow,sans-serif;color:#6E767D}
.vfooter-marques{letter-spacing:.14em;text-transform:uppercase}

/* --- scroll reveals --- */
[data-rev]{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,.7,.3,1)}
[data-rev].is-in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  [data-rev],[data-line],.vline{opacity:1;transform:none}
}

/* --- responsive --- */
@media (max-width:1100px){
  .vfeature-grid,
  .vstats{grid-template-columns:1fr 1fr}
  .vcta-grid{grid-template-columns:1fr}
  .vfooter-grid{grid-template-columns:1fr 1fr}
  .vhero-title{font-size:68px}
}

@media (max-width:760px){
  .vfeature-grid,
  .vstats,
  .vservices-grid,
  .vreviews,
  .vpartners-grid,
  .vfooter-grid,
  .vcta-grid{grid-template-columns:1fr}
  .vhero-title{font-size:46px;line-height:1}
  .vsection-title,
  .vcta-title{font-size:34px}
  .vsection,
  .vcta{padding:52px 22px}
  .vpartners{padding:52px 22px}
  .vhero-content{padding:80px 22px 100px}
  .vheader-bar,
  .vpaystrip{padding-left:18px;padding-right:18px}
  .vfooter{padding:40px 22px 32px}
  .vheader-actions{gap:8px}
  .vnav-toggle{display:block}
  .vheader-cta{padding:0 16px;font-size:15px}
  .vnav{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    display:flex;
    flex-direction:column;
    gap:0;
    padding:8px 0 16px;
    background:rgba(23,25,28,.96);
    -webkit-backdrop-filter:blur(18px) saturate(1.25);
    backdrop-filter:blur(18px) saturate(1.25);
    border-bottom:1px solid rgba(242,244,245,.18);
    box-shadow:0 18px 40px rgba(0,0,0,.4);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-6px);
    transition:opacity .28s ease,visibility .28s ease,transform .28s cubic-bezier(.22,.7,.3,1);
  }
  .vnav a{
    display:block;
    padding:16px 22px;
    font-size:18px;
    letter-spacing:.16em;
    border-bottom:1px solid rgba(242,244,245,.08);
  }
  .vnav a:last-child{border-bottom:0}
  .vheader.is-nav-open .vnav{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  .vheader-logo{left:18px;width:116px;height:116px}
  .vheader-brand{padding-left:129px}
  .vheader.is-scrolled .vheader-logo{width:48px;height:48px}
  .vheader.is-scrolled .vheader-brand{padding-left:61px}
  .vreview{border-right:0}
  .vstat{border-right:0;border-bottom:1px solid rgba(242,244,245,.12)}
  .vstat:last-child{border-bottom:0}
  .vpaystrip{flex-direction:column;align-items:flex-start;gap:12px}
}
