About

About Vestra

We’re a Manchester-based wholesale distributor of premium cosmetics and beauty care. Our promise is simple: authentic brands, flexible MOQs, and fast global fulfilment — with personal service over WhatsApp and email.

DermaPureSilkSkinGlowLab AromatiqueVivid Hair Co.Natura Luxe DermaPureSilkSkinGlowLab AromatiqueVivid Hair Co.Natura Luxe

Our Story

Vestra began with a mission to make luxury beauty accessible for retailers of all sizes. From indie stores to multi-site chains, we connect you with sought-after brands through verified supply. No price lists online — every quote is tailored to your basket and volumes.

  • UK-based operations with global shipping network
  • Strict authenticity & batch-tracking procedures
  • Responsive team on WhatsApp for quick quotes

Our Values

Authenticity First

We work only with verified sources — no grey market stock.

🤝

Partnership

We solve supply together — not just once, but every month.

Speed

Fast quotes, clear ETAs, and reliable logistics worldwide.

🌱

Responsibility

Batch tracking, safe handling, and reduced packaging where possible.

By the Numbers

0
Retail partners
0
Countries shipped
0
Day avg. lead time (UK)
0
Products catalogued

Milestones

2019: Vestra founded in Manchester — started with indie skincare brands.
2021: Expanded to makeup & haircare; built EU & GCC shipping lanes.
2023: Introduced batch-tracking, improved compliance & recall readiness.
2025: Enhanced retailer portal — faster quotes, curated lines & promos.

Authenticity & Compliance

How do you ensure authenticity?

We source only from verified distributors. Lots are checked on arrival and can be traced by batch code.

Do you provide documentation?

Yes — MSDS/INCI where applicable, packing lists, invoices, and export documentation for international shipments.

Do you publish price lists?

No. We provide tailored quotes via WhatsApp or email based on your item list and volume.

Ready to work together?

Send your brand list and quantities — we’ll reply quickly with availability, MOQs and pricing.

e white headings on the About page */ #vestra-about h1, #vestra-about h2, #vestra-about h3, #vestra-about h4 { color: #fff !important; background: none !important; /* remove gradient backgrounds */ -webkit-background-clip: initial !important; /* cancel text clipping */ -webkit-text-fill-color: #fff !important; /* ensure white on WebKit */ text-shadow: 0 2px 8px rgba(0,0,0,.25); /* optional: subtle contrast */ } :root{ --ink:#0f1222; --paper:#ffffff; --pink:#e88dbc; --violet:#b388eb; --mint:#9ee0c6; } .va-shell{font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,"Helvetica Neue",Arial,sans-serif;color:#fff;} /* ====== GLOBAL SECTION ====== */ .sec{ position:relative; isolation:isolate; overflow:hidden; padding:clamp(64px,6.5vw,100px) 20px; background: radial-gradient(60% 110% at 10% 0%, rgba(232,141,188,.16), transparent 60%), radial-gradient(60% 100% at 90% 100%, rgba(179,136,235,.16), transparent 60%), linear-gradient(180deg, #0f1222, #12172b 60%, #0f1222); } .wrap{width:min(1200px,100%); margin:0 auto} h1,h2,h3{color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.25)} .lead{opacity:.92; line-height:1.7; max-width:68ch} /* ====== HERO ====== */ .hero{min-height:70vh} .hero .bg{ position:absolute; inset:-16% -12% -12% -12%; z-index:-1; filter:saturate(105%); background: radial-gradient(60% 60% at 20% 20%, rgba(232,141,188,.55) 0%, transparent 60%), radial-gradient(55% 55% at 85% 30%, rgba(179,136,235,.50) 0%, transparent 60%), radial-gradient(50% 50% at 70% 85%, rgba(158,224,198,.45) 0%, transparent 60%), linear-gradient(135deg, #0e101b, #182036); animation:bgDrift 18s ease-in-out infinite alternate; } @keyframes bgDrift{0%{transform:translateY(0)}100%{transform:translateY(-2%)}} .hero .grid{display:grid; gap:clamp(24px,4vw,56px); grid-template-columns:1.1fr .9fr; align-items:center} @media (max-width:980px){ .hero .grid{grid-template-columns:1fr} } .title{font-size:clamp(32px,5vw,56px); margin:0 0 10px} .sub{font-size:clamp(16px,1.5vw,18px)} .cta{display:flex; flex-wrap:wrap; gap:12px; margin-top:18px} .btn{ display:inline-block; border-radius:999px; padding:12px 22px; font-weight:700; text-decoration:none; transition:transform .25s, box-shadow .25s, background .25s; } .btn-primary{color:#0f1222; background:linear-gradient(90deg,var(--pink),var(--violet)); box-shadow:0 10px 22px rgba(232,141,188,.28)} .btn-ghost{color:#fff; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.22); backdrop-filter:blur(6px)} .btn-primary:hover,.btn-ghost:hover{transform:translateY(-2px);} /* Cosmetic “ampoule” visual (CSS only) */ .visual{position:relative; min-height:380px; display:grid; place-items:center} .ampoule{ width:220px; height:340px; border-radius:110px/160px; background: radial-gradient(120% 140% at 20% 10%, rgba(255,255,255,.45), transparent 60%), linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.02)), linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,0) 40%), linear-gradient(135deg, #2b304d, #1a203a); border:1px solid rgba(255,255,255,.25); box-shadow:inset 0 0 28px rgba(255,255,255,.08), 0 24px 60px rgba(0,0,0,.45); transform:perspective(900px) rotateY(-10deg); animation:bob 6s ease-in-out infinite; } .dropper{ position:absolute; top:-28px; width:120px; height:28px; border-radius:10px; background:linear-gradient(180deg, #b7bde0, #8f97c8); left:50%; transform:translateX(-50%); box-shadow:0 10px 18px rgba(0,0,0,.35); } .label{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); padding:10px 18px; border-radius:14px; font-weight:700; color:#0f1222; background:linear-gradient(135deg,#fefefe,#f4f6ff); border:1px solid rgba(255,255,255,.6); box-shadow:0 8px 20px rgba(179,136,235,.25) } .glow{ position:absolute; inset:-10% -10% auto -10%; height:50%; background:radial-gradient(70% 80% at 50% 100%, rgba(232,141,188,.55), rgba(179,136,235,.25), transparent 70%); filter:blur(20px); border-radius:50%; animation:pulse 4.8s ease-in-out infinite; } @keyframes bob{0%,100%{transform:perspective(900px) rotateY(-10deg) translateY(0)}50%{transform:perspective(900px) rotateY(-8deg) translateY(-10px)}} @keyframes pulse{0%,100%{opacity:.65}50%{opacity:.95}} /* ====== MARQUEE ====== */ .marquee{overflow:hidden; border-top:1px solid rgba(255,255,255,.06); border-bottom:1px solid rgba(255,255,255,.06); background:linear-gradient(180deg,#101429,#0e1326)} .track{display:flex; gap:28px; padding:16px 0; animation:scroll 25s linear infinite} .pill{padding:8px 14px; border-radius:999px; color:#0f1222; background:linear-gradient(90deg,var(--pink),var(--violet)); font-weight:700; white-space:nowrap; box-shadow:0 6px 14px rgba(179,136,235,.25)} @keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}} /* ====== STORY ====== */ .story .grid{display:grid; gap:24px; grid-template-columns:1.1fr .9fr} @media (max-width:980px){ .story .grid{grid-template-columns:1fr} } .card{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); border-radius:18px; padding:24px; backdrop-filter:blur(10px); box-shadow:0 8px 22px rgba(0,0,0,.25); transition:transform .25s, box-shadow .25s } .card:hover{transform:translateY(-4px); box-shadow:0 12px 28px rgba(0,0,0,.32)} .bullets{list-style:none; margin:0; padding:0; display:grid; gap:10px} .bullets li{position:relative; padding-left:22px} .bullets li::before{content:""; position:absolute; left:0; top:.5em; width:10px; height:10px; border-radius:50%; background:radial-gradient(circle at 30% 30%, var(--mint), var(--violet)); box-shadow:0 0 10px rgba(158,224,198,.6)} /* ====== VALUES ====== */ .values .grid{display:grid; gap:18px; grid-template-columns:repeat(4,1fr)} @media (max-width:1100px){ .values .grid{grid-template-columns:repeat(2,1fr)} } @media (max-width:680px){ .values .grid{grid-template-columns:1fr} } .value h3{margin:.2rem 0 .4rem} .value .emoji{font-size:28px; display:inline-block; transform:translateY(2px)} /* ====== STATS (counters) ====== */ .stats .grid{display:grid; gap:18px; grid-template-columns:repeat(4,1fr); text-align:center} @media (max-width:980px){ .stats .grid{grid-template-columns:repeat(2,1fr)} } .stat{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); border-radius:18px; padding:22px; backdrop-filter:blur(10px)} .stat .num{font-size:clamp(28px,4.6vw,40px); font-weight:800; letter-spacing:.5px} /* ====== TIMELINE ====== */ .timeline{position:relative; padding-left:26px} .timeline::before{content:""; position:absolute; left:12px; top:0; bottom:0; width:2px; background:linear-gradient(180deg,var(--pink),var(--violet))} .milestone{position:relative; margin:14px 0; padding:14px 18px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); border-radius:12px} .milestone::before{content:""; position:absolute; left:-7px; top:16px; width:14px; height:14px; border-radius:50%; background:linear-gradient(180deg,var(--pink),var(--violet)); box-shadow:0 0 12px rgba(179,136,235,.6)} /* ====== COMPLIANCE / DETAILS ====== */ details{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); border-radius:14px; padding:14px 16px; margin:10px 0; backdrop-filter:blur(6px)} summary{cursor:pointer; font-weight:700} details[open]{background:rgba(255,255,255,.12)} /* ====== CTA STRIP ====== */ .cta-strip .row{display:flex; flex-wrap:wrap; gap:12px; justify-content:center} /* ====== REVEAL ====== */ [data-anim]{opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease} [data-anim].reveal{opacity:1; transform:none} @media (prefers-reduced-motion:reduce){ .track,.ampoule,.glow,.hero .bg{animation:none !important} [data-anim]{transition:none !important; opacity:1 !important; transform:none !important} }

About Vestra Limited

We’re a Manchester-based wholesale distributor of premium cosmetics and beauty care. Our promise is simple: authentic brands, flexible MOQs, and fast global fulfilment — with personal service over WhatsApp and email.

DermaPureSilkSkinGlowLab AromatiqueVivid Hair Co.Natura Luxe DermaPureSilkSkinGlowLab AromatiqueVivid Hair Co.Natura Luxe

Our Story

Vestra Limited began with a mission to make luxury beauty accessible for retailers of all sizes. From indie stores to multi-site chains, we connect you with sought-after brands through verified supply. No price lists online — every quote is tailored to your basket and volumes.

  • UK-based operations with global shipping network
  • Strict authenticity & batch-tracking procedures
  • Responsive team on WhatsApp for quick quotes

Our Values

Authenticity First

We work only with verified sources — no grey market stock.

🤝

Partnership

We solve supply together — not just once, but every month.

Speed

Fast quotes, clear ETAs, and reliable logistics worldwide.

🌱

Responsibility

Batch tracking, safe handling, and reduced packaging where possible.

By the Numbers

0
Retail partners
0
Countries shipped
0
Day avg. lead time (UK)
0
Products catalogued

Milestones

2019: Vestra founded in Manchester — started with indie skincare brands.
2021: Expanded to makeup & haircare; built EU & GCC shipping lanes.
2023: Introduced batch-tracking, improved compliance & recall readiness.
2025: Enhanced retailer portal — faster quotes, curated lines & promos.

Authenticity & Compliance

How do you ensure authenticity?

We source only from verified distributors. Lots are checked on arrival and can be traced by batch code.

Do you provide documentation?

Yes — MSDS/INCI where applicable, packing lists, invoices, and export documentation for international shipments.

Do you publish price lists?

No. We provide tailored quotes via WhatsApp or email based on your item list and volume.

Ready to work together?

Send your brand list and quantities — we’ll reply quickly with availability, MOQs and pricing.