/* ==========================================================================
   Viridian HR — Elementor page layer
   --------------------------------------------------------------------------
   Every page ships as a real Elementor document built from **Flexbox
   Containers** (e-con). The containers and widgets keep the same class names
   as the theme's own HTML (vhr-hero, vhr-card, vhr-split …), so the design in
   style.css renders once and is used twice:

       HTML in the default editor  →  the same look, no plugin needed
       Elementor containers        →  the same look, editable in the builder

   This file does three things and nothing else:
     1. switches Elementor's own container defaults OFF (zero specificity, so
        every design class in style.css still wins);
     2. keeps the layout of a few containers explicit (grid / flex), because
        Elementor's `.e-con` is a flex rows on its own;
     3. makes the widget wrappers invisible to the layout, and styles the few
        native widgets (button, divider, image) that carry no design class.

   Loaded only when Elementor is active — see inc/elementor.php.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Elementor defaults off — :where() keeps specificity at 0, so nothing
      here can ever beat a design class from style.css.
   ----------------------------------------------------------------------- */
.vhr-ep {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

body.elementor-page .site-main {
  overflow-x: clip;
}

.vhr-ep .e-con {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  gap: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  overflow: visible;
}

/* Elementor wraps boxed containers in .e-con-inner — make it a pass-through
   so the design classes see the real children, exactly like the HTML.
   `!important` is deliberate: a design rule such as
   `.vhr-life > div:first-child{display:flex}` would otherwise match this
   wrapper (it *is* the first div) and turn the wrapper into a real box,
   collapsing the 1.04fr / .96fr grid into one stacked column. */
.vhr-ep .e-con > .e-con-inner {
  display: contents !important;
}

.vhr-ep .elementor-widget.vhr-btn {
  width: 100%;
}

.vhr-ep .elementor-widget {
  width: auto;
  max-width: 100%;
  margin: 0;
}

.vhr-ep .elementor-widget-container {
  display: flow-root;
  padding: 0;
  margin: 0;
}


/* A widget that carries a design class IS the element it came from: the
   margin belongs to the widget box, the padding to the element inside it.
   (`.vhr-info__list` is a <ul> with `margin: 0 0 26px` — on the wrapper that
   still collapses correctly between siblings, on the <ul> it would not.)
   Markup from the class itself is neutralised so no rule doubles up. */
.vhr-ep .elementor-widget[class*="vhr-"] {
  margin: 0;
}

.vhr-ep .elementor-widget[class*="vhr-"] > .elementor-widget-container > ul,
.vhr-ep .elementor-widget[class*="vhr-"] > .elementor-widget-container > ol {
  margin: 0;
}

.vhr-ep .elementor-widget[class*="vhr-"] > .elementor-widget-container > p {
  margin: 0;
}

/* flow-root above stops the widget's own margins collapsing out of the box,
   so the design's spacing (h3 18px, p 1em …) survives container nesting —
   exactly the rhythm the HTML page has. */

.vhr-ep .elementor-widget-image {
  width: 100%;
}

.vhr-ep .elementor-widget-image img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* an Image widget that carries a design class (a 60 px mark, a framed photo)
   fills the box that class defines — the same thing the <img> does in HTML */
.vhr-ep .elementor-widget-image[class*="vhr-"] img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* an image keeps the size its own class asks for (.vhr-info__mark is 60px,
   a hero photo is full width) — the reset only removes Elementor's wrapper. */

/* Elementor's own "space between widgets" is replaced by the container gaps
   and the class-based margins in style.css. */
.vhr-ep .elementor-widget:not(:last-child) {
  margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   2. Layout that Elementor cannot know — grid rows and flex rows
      (design values live in style.css; these only re-assert `display`,
      which the reset above turned off)
   ----------------------------------------------------------------------- */
.vhr-ep .vhr-hero__inner,
.vhr-ep .vhr-stats__inner,
.vhr-ep .vhr-grid,
.vhr-ep .vhr-grid--2,
.vhr-ep .vhr-grid--3,
.vhr-ep .vhr-grid--contact,
.vhr-ep .vhr-steps,
.vhr-ep .vhr-pillars,
.vhr-ep .vhr-timeline,
.vhr-ep .vhr-service,
.vhr-ep .vhr-split,
.vhr-ep .vhr-life {
  display: grid;
}

.vhr-ep .vhr-btns,
.vhr-ep .vhr-hero__badges {
  display: flex;
}

.vhr-ep .vhr-hero__copy,
.vhr-ep .vhr-split__body,
.vhr-ep .vhr-service__body,
.vhr-ep .vhr-life__body,
.vhr-ep .vhr-card__body,
.vhr-ep .vhr-stat,
.vhr-ep .vhr-step,
.vhr-ep .vhr-pillar,
.vhr-ep .vhr-timeline__item,
.vhr-ep .vhr-model,
.vhr-ep .vhr-info,
.vhr-ep .vhr-glass {
  display: block;
}

/* `inherit` makes a nested container take the row its CSS class describes,
   so a container inside a container can never fall out of the grid. */
.vhr-ep .vhr-wrap {
  width: 100%;
}

.vhr-ep .vhr-wrap--wide {
  max-width: 1320px;
}

/* --------------------------------------------------------------------------
   3. Home hero — the photograph is a real Image widget (alt text, visible in
      the builder) stretched behind the copy.
   ----------------------------------------------------------------------- */
.vhr-ep .vhr-hero {
  position: relative;
  isolation: isolate;
}

.vhr-ep .vhr-hero > .vhr-hero__photo,
.vhr-ep .vhr-hero .vhr-hero__photo {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.vhr-ep .vhr-hero .vhr-hero__photo .elementor-widget-image,
.vhr-ep .vhr-hero .vhr-hero__photo .elementor-widget-container {
  width: 100%;
  height: 100%;
}

.vhr-ep .vhr-hero .vhr-hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
}

.vhr-ep .vhr-hero > .vhr-wrap {
  position: relative;
  z-index: 2;
}

/* --------------------------------------------------------------------------
   4. Native widgets that carry no design class
   ----------------------------------------------------------------------- */
.vhr-ep .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--body);
  line-height: 1.2;
  text-decoration: none;
  transition: transform 0.25s var(--ease), background 0.25s ease,
    box-shadow 0.25s ease, color 0.25s ease;
}

.vhr-ep .elementor-button:hover {
  transform: translateY(-2px);
}

.vhr-ep .elementor-button-text {
  display: inline-block;
}

/* the theme's own button polish, applied to the native widget */
.vhr-ep .elementor-widget-button {
  width: auto;
}

.vhr-ep .vhr-btns > .elementor-widget-button,
.vhr-ep .vhr-u-center > .elementor-widget-button {
  flex: 0 0 auto;
}

/* the bookmarking button in the contact card is full width, like the HTML */
.vhr-ep .vhr-info .elementor-widget-button {
  width: 100%;
}

.vhr-ep .vhr-info .elementor-widget-button .elementor-widget-container {
  width: 100%;
}

.vhr-ep .vhr-info .elementor-widget-button a.elementor-button {
  width: 100%;
}

/* Divider — the <hr> of the HTML design, as the native widget */
.vhr-ep .vhr-hr {
  margin: 26px 0;
}

.vhr-ep .vhr-hr .elementor-divider-separator {
  border-top: 1px solid rgba(11, 21, 38, 0.08);
}

/* Divider (used inside the info card and the CTA band) */
.vhr-ep .elementor-widget-divider .elementor-divider-separator {
  border-top-color: rgba(20, 33, 61, 0.12);
}

.vhr-ep .vhr-cta .elementor-widget-divider .elementor-divider-separator,
.vhr-ep .vhr-info .elementor-widget-divider .elementor-divider-separator {
  border-top-color: rgba(20, 33, 61, 0.12);
}

.vhr-ep .vhr-cta .elementor-widget-divider {
  width: 100%;
}

/* --------------------------------------------------------------------------
   5. Utility classes — the handful of spacing decisions that used to sit in
      inline styles in the shipped HTML.
   ----------------------------------------------------------------------- */
.vhr-ep .vhr-u-pt-14 { padding-top: 14px; }
.vhr-ep .vhr-u-pt-16 { padding-top: 16px; }
.vhr-ep .vhr-u-pt-18 { padding-top: 18px; }
.vhr-ep .vhr-u-pb-20 { padding-bottom: 20px; }
.vhr-ep .vhr-u-pb-28 { padding-bottom: 28px; }
.vhr-ep .vhr-u-pb-34 { padding-bottom: 34px; }
.vhr-ep .vhr-u-pb-36 { padding-bottom: 36px; }
.vhr-ep .vhr-u-mt-16 { margin-top: 16px; }
.vhr-ep .vhr-u-mt-26 { margin-top: 26px; }
.vhr-ep .vhr-u-mt-30 { margin-top: 30px; }
.vhr-ep .vhr-u-mt-32 { margin-top: 32px; }
.vhr-ep .vhr-u-mt-48 { margin-top: 48px; }
.vhr-ep .vhr-u-cta-pad { padding-top: 86px; padding-bottom: 86px; }
.vhr-ep .vhr-u-center { display: flex; justify-content: center; }

/* a centred block keeps its own text alignment */
.vhr-ep .vhr-center {
  text-align: center;
}

.vhr-ep .vhr-center .vhr-lead {
  margin-left: auto;
  margin-right: auto;
}

/* --------------------------------------------------------------------------
   6. Phones — one column everywhere Elementor would otherwise keep a row
   ----------------------------------------------------------------------- */
@media (max-width: 1024px) {
  .vhr-ep .vhr-hero__inner,
  .vhr-ep .vhr-grid--3,
  .vhr-ep .vhr-grid--2,
  .vhr-ep .vhr-grid--contact,
  .vhr-ep .vhr-steps,
  .vhr-ep .vhr-pillars,
  .vhr-ep .vhr-timeline,
  .vhr-ep .vhr-service,
  .vhr-ep .vhr-split,
  .vhr-ep .vhr-life {
    grid-template-columns: minmax(0, 1fr);
  }

  .vhr-ep .vhr-stats__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vhr-ep .vhr-service--flip .vhr-service__media {
    order: 0;
  }
}

@media (max-width: 640px) {
  .vhr-ep .vhr-stats__inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .vhr-ep .vhr-btns {
    flex-wrap: wrap;
  }
}

/* ==== AUTO-GENERATED by tools/gen_elementor_css.py — do not edit by hand ==== */

.vhr-ep .vhr-wrap {
  max-width:var(--wrap);margin:0 auto;padding:0 26px;
}

.vhr-ep .vhr-section {
  padding:96px 0;
}

.vhr-ep .vhr-section--off {
  background:var(--ivory);
}

.vhr-ep .vhr-center {
  text-align:center;
}

.vhr-ep .vhr-lead {
  font-size:1.15rem;max-width:46em;color:#465666;line-height:1.7;
}

.vhr-ep .vhr-section-head {
  max-width:42em;margin:0 auto 52px;
}

.vhr-ep .vhr-section-head .vhr-lead {
  margin-left:auto;margin-right:auto;
}

.vhr-ep .vhr-rule {
  height:1px;border:0;margin:0;background:linear-gradient(90deg,transparent,rgba(194,164,106,.75),transparent);
}

.vhr-ep .vhr-grid {
  display:grid;gap:28px;
}

.vhr-ep .vhr-grid--3 {
  grid-template-columns:repeat(3,1fr);
}

.vhr-ep .vhr-btns {
  display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:8px;
}

.vhr-ep .vhr-hero {
  position:relative;overflow:hidden;background:var(--ink);color:#fff;
  background-image:
  radial-gradient(1100px 620px at 12% -10%,rgba(46,158,134,.30),transparent 62%),
  radial-gradient(900px 560px at 92% 8%,rgba(194,164,106,.16),transparent 60%),
  linear-gradient(160deg,#0B1526 0%,#0E1B30 45%,#0B1526 100%);
}

.vhr-ep .vhr-hero::after {
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 60%,rgba(11,21,38,.55) 100%);
}

.vhr-ep .vhr-hero__inner {
  position:relative;z-index:2;display:grid;grid-template-columns:1.03fr .97fr;gap:66px;align-items:center;padding:104px 26px 96px;
}

.vhr-ep .vhr-hero h1 {
  color:#fff;margin-bottom:.42em;letter-spacing:-.025em;
}

.vhr-ep .vhr-hero h1 em {
  font-style:italic;color:var(--teal-light);
}

.vhr-ep .vhr-hero__text {
  font-size:1.14rem;color:rgba(255,255,255,.76);max-width:33em;margin-bottom:34px;line-height:1.72;
}

.vhr-ep .vhr-hero__badges {
  display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 0;list-style:none;padding:0;
}

.vhr-ep .vhr-hero--plain {
  position:relative;background:var(--ivory);border-bottom:1px solid var(--line);
}

.vhr-ep .vhr-hero--plain .vhr-section {
  padding:88px 0 44px;
}

.vhr-ep .vhr-hero--plain h1 {
  color:var(--navy);max-width:22em;
}

.vhr-ep .vhr-hero--plain::after {
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(194,164,106,.7),transparent);
}

.vhr-ep .vhr-stats {
  background:var(--navy);position:relative;overflow:hidden;
}

.vhr-ep .vhr-stats::before {
  content:"";position:absolute;inset:0;background:radial-gradient(600px 240px at 20% 0%,rgba(46,158,134,.28),transparent 70%);
}

.vhr-ep .vhr-stats__inner {
  position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:48px 0;
}

.vhr-ep .vhr-stat {
  padding-right:20px;border-right:1px solid var(--line-dark);
}

.vhr-ep .vhr-stat:last-child {
  border-right:0;
}

.vhr-ep .vhr-stat h3 {
  color:#fff;font-family:var(--display);font-size:1.62rem;margin:0 0 4px;letter-spacing:-.01em;
}

.vhr-ep .vhr-stat p {
  margin:0;color:rgba(255,255,255,.66);font-size:.85rem;letter-spacing:.02em;
}

.vhr-ep .vhr-card {
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s ease,border-color .3s ease;
}

.vhr-ep .vhr-card:hover {
  transform:translateY(-7px);box-shadow:var(--shadow);border-color:rgba(46,158,134,.45);
}

.vhr-ep .vhr-card img {
  width:100%;max-width:none;aspect-ratio:3/2;object-fit:cover;object-position:center;transition:transform .7s cubic-bezier(.2,.7,.3,1);
}

.vhr-ep .vhr-card:hover img {
  transform:scale(1.045);
}

.vhr-ep .vhr-card__body {
  padding:28px 30px 32px;display:flex;flex-direction:column;flex:1;
}

.vhr-ep .vhr-card__body h3 {
  color:var(--navy);margin-bottom:.5em;font-size:1.14rem;
}

.vhr-ep .vhr-card__body p {
  font-size:.95rem;margin:0 0 18px;color:#4A5A66;
}

.vhr-ep .vhr-card__body .vhr-link-arrow {
  margin-top:auto;
}

.vhr-ep .vhr-split {
  display:grid;grid-template-columns:1fr 1fr;gap:66px;align-items:center;
}

.vhr-ep .vhr-split__media {
  position:relative;
}

.vhr-ep .vhr-split__media img {
  border-radius:var(--radius);box-shadow:var(--shadow);width:100%;
}

.vhr-ep .vhr-split__media--frame::after {
  content:"";position:absolute;inset:20px -18px -18px 20px;border:1px solid rgba(194,164,106,.45);border-radius:var(--radius);z-index:-1;
}

.vhr-ep .vhr-facts {
  list-style:none;margin:26px 0 0;padding:0;display:grid;gap:14px;
}

.vhr-ep .vhr-facts li {
  display:flex;gap:12px;font-size:.97rem;align-items:flex-start;
}

.vhr-ep .vhr-steps {
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;counter-reset:step;
}

.vhr-ep .vhr-step {
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:38px 34px;position:relative;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}

.vhr-ep .vhr-step:hover {
  transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(194,164,106,.5);
}

.vhr-ep .vhr-step h3 {
  margin-bottom:.45em;color:var(--navy);
}

.vhr-ep .vhr-step p {
  font-size:.95rem;margin:0;color:#4A5A66;
}

.vhr-ep .vhr-step::after {
  content:"";position:absolute;left:34px;right:34px;bottom:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--teal),transparent);opacity:0;transition:opacity .3s ease;
}

.vhr-ep .vhr-step:hover::after {
  opacity:1;
}

.vhr-ep .vhr-service {
  display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:stretch;padding:72px 0;border-bottom:1px solid var(--line);
}

.vhr-ep .vhr-service:last-of-type {
  border-bottom:0;
}

.vhr-ep .vhr-service__media img {
  border-radius:22px;box-shadow:0 30px 66px rgba(11,21,38,.16);width:100%;max-width:none;height:100%;object-fit:cover;object-position:center;
}

.vhr-ep .vhr-service h2 {
  font-size:1.95rem;margin-bottom:.35em;
}

.vhr-ep .vhr-service__claim {
  font-family:var(--display);font-size:1.18rem;color:var(--teal-dark);font-style:italic;margin-bottom:.9em;
}

.vhr-ep .vhr-service ul {
  list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px;
}

.vhr-ep .vhr-service ul li {
  display:flex;gap:12px;font-size:.96rem;
}

.vhr-ep .vhr-service--flip .vhr-service__media {
  order:-1;
}

.vhr-ep .vhr-ideal {
  margin-top:24px;padding:18px 22px;background:var(--ivory);border-left:2px solid var(--gold);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.94rem;
}

.vhr-ep .vhr-ideal strong {
  color:var(--navy);
}

.vhr-ep .vhr-model {
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:38px 32px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}

.vhr-ep .vhr-model:hover {
  transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(46,158,134,.45);
}

.vhr-ep .vhr-model--featured {
  border-color:var(--gold);background:linear-gradient(180deg,#fff, #FDFBF6);
}

.vhr-ep .vhr-model h3 {
  color:var(--navy);margin-bottom:.4em;font-size:1.16rem;
}

.vhr-ep .vhr-model p {
  font-size:.94rem;margin:0;color:#4A5A66;
}

.vhr-ep .vhr-quote {
  background:var(--ivory);text-align:center;
}

.vhr-ep .vhr-quote blockquote {
  border:0;padding:0;margin:0 auto;max-width:44em;font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.5;color:var(--navy);
}

.vhr-ep .vhr-quote cite {
  display:block;margin-top:22px;font-family:var(--body);font-style:normal;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);
}

.vhr-ep .vhr-cta {
  position:relative;overflow:hidden;background:var(--ink);color:#fff;text-align:center;
  background-image:radial-gradient(900px 420px at 50% -30%,rgba(46,158,134,.34),transparent 70%),linear-gradient(180deg,#0B1526,#0E1B30);
}

.vhr-ep .vhr-cta h2 {
  color:#fff;margin-bottom:.35em;
}

.vhr-ep .vhr-cta p {
  color:rgba(255,255,255,.72);margin-bottom:32px;font-size:1.08rem;
}

.vhr-ep .vhr-cta .vhr-rule {
  max-width:220px;margin:0 auto 34px;
}

.vhr-ep .vhr-info {
  background:var(--ivory);border:1px solid var(--line);border-radius:var(--radius);padding:40px 36px;
}

.vhr-ep .vhr-info h3 {
  margin-bottom:1.1em;color:var(--navy);
}

.vhr-ep .vhr-info__list {
  list-style:none;margin:0 0 26px;padding:0;display:grid;gap:18px;font-size:.95rem;
}

.vhr-ep .vhr-info__list li {
  display:flex;gap:12px;
}

.vhr-ep .vhr-content__inner {
  max-width:830px;margin:0 auto;
}

.vhr-ep .vhr-hero__inner {
  padding:112px 26px 104px;gap:72px;
}

.vhr-ep .vhr-hero__headline {
  display:block;margin:0 0 .38em;
}

.vhr-ep .vhr-hero__headline .ln {
  display:block;
}

.vhr-ep .vhr-hero__headline .ln--light {
  color:#fff;
}

.vhr-ep .vhr-hero__headline .ln--accent {
  font-style:italic;color:var(--teal-light);letter-spacing:-.01em;
}

.vhr-ep .vhr-hero__headline .ln--thin {
  font-weight:400;color:rgba(255,255,255,.9);font-size:.88em;
}

.vhr-ep .vhr-marquee {
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;overflow:hidden;
}

.vhr-ep .vhr-hero--full {
  min-height:100vh;display:flex;align-items:center;background-size:cover;background-position:center center;background-repeat:no-repeat;
}

.vhr-ep .vhr-hero--full .vhr-hero__inner {
  grid-template-columns:1.12fr .88fr;gap:60px;padding:132px 26px 124px;width:100%;
}

.vhr-ep .vhr-hero--full .vhr-hero__text {
  max-width:32em;
}

.vhr-ep .vhr-glass {
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:38px 36px;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 24px 60px rgba(0,0,0,.35);
}

.vhr-ep .vhr-glass__kicker {
  letter-spacing:.2em;text-transform:uppercase;font-size:12px;font-weight:600;color:var(--teal-light);margin:0 0 10px;
}

.vhr-ep .vhr-glass h3 {
  color:#fff;font-size:1.32rem;margin:0 0 18px;font-family:var(--display);line-height:1.2;
}

.vhr-ep .vhr-glass__list {
  list-style:none;margin:0;padding:0;display:grid;gap:12px;
}

.vhr-ep .vhr-glass__list li {
  display:flex;gap:11px;align-items:flex-start;color:rgba(255,255,255,.86);font-size:.96rem;
}

.vhr-ep .vhr-glass .vhr-check {
  background:rgba(143,227,208,.18);color:var(--teal-light);
}

.vhr-ep .vhr-glass__foot {
  color:rgba(255,255,255,.66);font-size:.9rem;margin:0 0 18px;
}

.vhr-ep .vhr-content__inner ul.vhr-facts {
  margin:22px 0;
}

.vhr-ep .vhr-content__inner blockquote {
  margin-top:30px;
}

.vhr-ep .vhr-content__inner h3 {
  margin-top:34px;
}

.vhr-ep .vhr-hero__headline {
  letter-spacing:-.032em;
}

.vhr-ep .vhr-hero__headline .ln--accent {
  text-shadow:0 2px 34px rgba(143,227,208,.22);
}

.vhr-ep .vhr-hero--full::before {
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(120% 90% at 14% 18%,rgba(46,158,134,.18),transparent 56%),
  radial-gradient(90% 80% at 92% 92%,rgba(194,164,106,.13),transparent 62%);
}

.vhr-ep .vhr-hero--full .vhr-hero__inner {
  position:relative;z-index:2;
}

.vhr-ep .vhr-glass {
  position:relative;overflow:hidden;
}

.vhr-ep .vhr-glass::before {
  content:"";position:absolute;top:0;left:0;width:78px;height:3px;background:linear-gradient(90deg,var(--gold),transparent);
}

.vhr-ep .vhr-glass__kicker {
  color:var(--gold);
}

.vhr-ep .vhr-glass .vhr-btn--light {
  margin-top:6px;
}

.vhr-ep .vhr-card {
  position:relative;border-radius:20px;border:1px solid rgba(11,21,38,.07);
  box-shadow:0 16px 40px rgba(11,21,38,.06);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease);
}

.vhr-ep .vhr-card img {
  transition:transform .9s var(--ease);
}

.vhr-ep .vhr-card:hover {
  transform:translateY(-8px);box-shadow:0 34px 72px rgba(11,21,38,.15);border-color:rgba(194,164,106,.38);
}

.vhr-ep .vhr-card:hover img {
  transform:scale(1.045);
}

.vhr-ep .vhr-card h3 {
  font-size:1.3rem;
}

.vhr-ep .vhr-service h2 {
  font-size:clamp(1.6rem,2.6vw,2.2rem);
}

.vhr-ep .vhr-service__media img {
  transition:transform 1s var(--ease);
}

.vhr-ep .vhr-service__media:hover img {
  transform:scale(1.03);
}

.vhr-ep .vhr-ideal {
  border-left-width:3px;border-left-color:var(--gold);background:linear-gradient(90deg,#FAF8F3,#fff);
}

.vhr-ep .vhr-stats {
  background:linear-gradient(115deg,#0B1526 0%,#16294A 52%,#0B1526 100%);
}

.vhr-ep .vhr-stat {
  position:relative;padding-top:20px;
}

.vhr-ep .vhr-stat::before {
  content:"";position:absolute;top:0;left:0;width:40px;height:1px;background:var(--gold-line);
}

.vhr-ep .vhr-stat h3 {
  font-size:clamp(1.5rem,2.4vw,1.95rem);
}

.vhr-ep .vhr-stat p {
  text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;color:rgba(255,255,255,.55);
}

.vhr-ep .vhr-step {
  position:relative;padding-top:24px;border-top:1px solid rgba(11,21,38,.08);
}

.vhr-ep .vhr-step::before {
  content:"";position:absolute;top:-1px;left:0;width:58px;height:2px;background:linear-gradient(90deg,var(--gold),transparent);
}

.vhr-ep .vhr-quote {
  background:linear-gradient(180deg,#FAF8F3,#fff);
}

.vhr-ep .vhr-quote blockquote {
  font-family:var(--display);font-style:italic;letter-spacing:-.012em;
}

.vhr-ep .vhr-cta {
  background:radial-gradient(115% 125% at 50% -12%,#1A2C4E 0%,#0B1526 58%);
}

.vhr-ep .vhr-cta::before {
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(62% 62% at 50% 0%,rgba(194,164,106,.17),transparent 72%);
}

.vhr-ep .vhr-cta h2 {
  font-size:clamp(1.8rem,3.2vw,2.6rem);position:relative;
}

.vhr-ep .js-anim .vhr-grid--3>.reveal:nth-child(2),
.vhr-ep .js-anim .vhr-steps>.reveal:nth-child(2) {
  --reveal-delay:.09s;
}

.vhr-ep .js-anim .vhr-grid--3>.reveal:nth-child(3),
.vhr-ep .js-anim .vhr-steps>.reveal:nth-child(3) {
  --reveal-delay:.18s;
}

.vhr-ep .js-anim .vhr-stats__inner>.reveal:nth-child(2) {
  --reveal-delay:.08s;
}

.vhr-ep .js-anim .vhr-stats__inner>.reveal:nth-child(3) {
  --reveal-delay:.16s;
}

.vhr-ep .js-anim .vhr-stats__inner>.reveal:nth-child(4) {
  --reveal-delay:.24s;
}

.vhr-ep .vhr-wrap--wide {
  max-width:1400px;
}

.vhr-ep .vhr-service__media,
.vhr-ep .vhr-split__media,
.vhr-ep .vhr-split__media--frame {
  width:100%;max-width:100%;min-width:0;
}

.vhr-ep .vhr-wrap img {
  max-width:100%;
}

.vhr-ep .vhr-hero--full::after {
  background:
  linear-gradient(180deg,rgba(8,15,29,.38) 0%,rgba(8,15,29,.05) 36%,rgba(8,15,29,.07) 58%,rgba(8,15,29,.28) 78%,rgba(8,15,29,.64) 100%),
  radial-gradient(58% 74% at 24% 48%,rgba(6,12,24,.34) 0%,rgba(6,12,24,.14) 46%,rgba(6,12,24,0) 78%),
  linear-gradient(96deg,rgba(7,13,26,.8) 0%,rgba(8,15,29,.64) 26%,rgba(9,17,32,.36) 52%,rgba(9,17,32,.11) 78%,rgba(9,17,32,.02) 100%);
}

.vhr-ep .vhr-hero--full .vhr-hero__headline,
.vhr-ep .vhr-hero--full .vhr-hero__text,
.vhr-ep .vhr-hero--full .vhr-hero__proof {
  text-shadow:0 2px 22px rgba(5,10,20,.62);
}

.vhr-ep .vhr-hero--full .vhr-hero__text {
  color:rgba(255,255,255,.9);font-size:1.16rem;
}

.vhr-ep .vhr-hero--full .vhr-hero__proof em {
  color:#fff;
}

.vhr-ep .vhr-hero--full .vhr-eyebrow--light {
  color:rgba(255,255,255,.9);text-shadow:0 2px 12px rgba(6,12,24,.6);
}

.vhr-ep .vhr-hero--full .vhr-badge {
  background:rgba(9,17,32,.42);border-color:rgba(255,255,255,.24);color:#fff;
}

.vhr-ep .vhr-glass {
  background:rgba(9,17,32,.42);border-color:rgba(255,255,255,.24);box-shadow:0 30px 70px rgba(4,9,18,.45);
}

.vhr-ep .vhr-glass__list li {
  color:rgba(255,255,255,.92);
}

.vhr-ep .vhr-glass__foot {
  color:rgba(255,255,255,.72);
}

.vhr-ep .vhr-service {
  grid-template-columns:1fr 1fr;gap:52px;
}

.vhr-ep .vhr-service--flip {
  grid-template-columns:1fr 1fr;
}

.vhr-ep .vhr-service__media {
  position:relative;display:flex;
}

.vhr-ep .vhr-service__media img {
  height:100%;
}

.vhr-ep .vhr-service__media img {
  border-radius:22px;
  box-shadow:0 30px 66px rgba(11,21,38,.16);
  object-fit:cover;
  object-position:center;
}

.vhr-ep .vhr-service__media::before {
  content:"";position:absolute;inset:16px -16px -16px 16px;border:1px solid rgba(194,164,106,.4);border-radius:26px;pointer-events:none;
}

.vhr-ep .vhr-service--flip .vhr-service__media::before {
  inset:16px 16px -16px -16px;
}

.vhr-ep .vhr-service h2 {
  margin-bottom:.32em;
}

.vhr-ep .vhr-card img {
  width:100%;max-width:none;aspect-ratio:3/2;object-fit:cover;
}

.vhr-ep .vhr-split__media img {
  width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:20px;
}

.vhr-ep .vhr-grid--contact {
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:start;
}

.vhr-ep .vhr-grid--contact > * {
  min-width:0;
}

.vhr-ep .vhr-contact-el .vhr-info {
  position:sticky;top:110px;
}

.vhr-ep .vhr-info {
  padding:38px 34px;background:linear-gradient(180deg,#FAF8F3,#fff);
}

.vhr-ep .vhr-info__mark {
  width:60px;height:60px;border-radius:16px;margin-bottom:18px;box-shadow:0 12px 26px rgba(11,21,38,.14);
}

.vhr-ep .vhr-info h3 {
  margin-bottom:.5em;
}

.vhr-ep .vhr-info__lede {
  font-size:.94rem;color:#4A5A66;margin-bottom:24px;
}

.vhr-ep .vhr-info__sub {
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:0 0 16px;
}

.vhr-ep .vhr-info__steps {
  list-style:none;margin:0;padding:0;display:grid;gap:14px;
}

.vhr-ep .vhr-info__steps li {
  display:flex;gap:14px;font-size:.94rem;color:#3C4A55;align-items:flex-start;
}

.vhr-ep .vhr-info__steps li span {
  font-family:var(--display);font-size:.8rem;letter-spacing:.14em;color:var(--gold);font-weight:700;flex:none;padding-top:2px;
}

.vhr-ep .vhr-info hr {
  border:0;border-top:1px solid rgba(11,21,38,.08);margin:26px 0;
}

.vhr-ep .vhr-info__cta {
  font-size:.94rem;margin:0 0 18px;
}

.vhr-ep .vhr-info .vhr-btn {
  width:100%;
}

.vhr-ep .viridian-editor-preview .vhr-service__media img,
.vhr-ep .viridian-editor-preview .vhr-split__media img,
.vhr-ep .viridian-editor-preview .vhr-card img {
  opacity:1 !important;
  visibility:visible !important;
  height:auto !important;
  max-width:100% !important;
  min-height:0 !important;
}

.vhr-ep .viridian-editor-preview .vhr-service__media img,
.vhr-ep .viridian-editor-preview .vhr-split__media img,
.vhr-ep .viridian-editor-preview .vhr-card img {
  width:100% !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  display:block;
}

.vhr-ep .viridian-editor-preview .vhr-wrap,
.vhr-ep .viridian-editor-preview .vhr-wrap--wide {
  max-width:100%;
}

.vhr-ep .vhr-founder {
  grid-template-columns:0.92fr 1.08fr;align-items:center;gap:64px;
}

.vhr-ep .vhr-founder__media img {
  aspect-ratio:4/5;object-fit:cover;object-position:center 18%;
}

.vhr-ep .vhr-founder__role {
  margin:-10px 0 22px;font-family:var(--body);font-size:.72rem;letter-spacing:.24em;
  text-transform:uppercase;font-weight:700;color:var(--gold);
}

.vhr-ep .vhr-founder-el .elementor-widget-text-editor p.vhr-founder__role {
  margin:-6px 0 20px;
}

.vhr-ep .vhr-cred {
  list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px;
}

.vhr-ep ul.vhr-cred {
  margin:26px 0 0;padding:0;list-style:none;
}

.vhr-ep .vhr-cred li {
  display:inline-flex;align-items:center;gap:8px;margin:0;font-size:.7rem;letter-spacing:.16em;
  text-transform:uppercase;font-weight:600;color:var(--teal-dark);background:#fff;
  border:1px solid rgba(11,21,38,.1);border-radius:999px;padding:9px 16px;
}

.vhr-ep .vhr-cred li::before {
  content:"";width:5px;height:5px;border-radius:50%;background:var(--gold);display:inline-block;flex:none;
}

.vhr-ep .vhr-pillars {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;
}

.vhr-ep .vhr-pillar {
  position:relative;background:#fff;border:1px solid rgba(11,21,38,.08);border-radius:20px;
  padding:40px 32px 34px;overflow:hidden;box-shadow:0 14px 38px rgba(11,21,38,.05);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease);
}

.vhr-ep .vhr-pillar::before {
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--gold),rgba(194,164,106,.04));
}

.vhr-ep .vhr-pillar:hover {
  transform:translateY(-6px);box-shadow:0 30px 66px rgba(11,21,38,.12);border-color:rgba(194,164,106,.35);
}

.vhr-ep .vhr-pillar h3 {
  margin:0 0 12px;font-size:1.3rem;color:var(--navy);line-height:1.25;
}

.vhr-ep .vhr-pillar p {
  font-size:.95rem;color:#4A5A66;margin:0 0 18px;line-height:1.7;
}

.vhr-ep .vhr-pillar__list {
  list-style:none;margin:0;padding:18px 0 0;border-top:1px solid var(--line);display:grid;gap:10px;
}

.vhr-ep ul.vhr-pillar__list {
  margin:0;padding:18px 0 0;
}

.vhr-ep .vhr-pillar__list li {
  display:flex;gap:10px;font-size:.9rem;color:#3C4A55;align-items:flex-start;margin:0;
}

.vhr-ep .vhr-timeline {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;position:relative;margin-top:46px;
}

.vhr-ep .vhr-timeline::before {
  content:"";position:absolute;left:6px;right:6px;top:9px;height:1px;
  background:linear-gradient(90deg,rgba(194,164,106,.65),rgba(194,164,106,.1));
}

.vhr-ep .vhr-timeline__item {
  position:relative;padding-top:46px;
}

.vhr-ep .vhr-timeline__item h3 {
  font-size:1.18rem;margin:0 0 8px;color:var(--navy);line-height:1.3;
}

.vhr-ep .vhr-timeline__item p {
  font-size:.94rem;color:#4A5A66;margin:0;line-height:1.72;
}

.vhr-ep .vhr-life {
  display:grid;grid-template-columns:1.04fr .96fr;gap:58px;align-items:stretch;
}

.vhr-ep .vhr-life > div:first-child {
  display:flex;flex-direction:column;justify-content:center;
}

.vhr-ep .vhr-life__media {
  display:flex;height:100%;
}

.vhr-ep .vhr-life__media img {
  width:100%;height:100%;min-height:400px;aspect-ratio:auto;object-fit:cover;
  border-radius:20px;box-shadow:0 24px 56px rgba(11,21,38,.14);
}

@media (prefers-reduced-motion:reduce) {
  .vhr-ep .vhr-card:hover,
  .vhr-ep .vhr-model:hover,
  .vhr-ep .vhr-step:hover {
  transform:none;
  }
}
@media (max-width:1024px) {
  .vhr-ep .vhr-hero--full .vhr-hero__inner {
  grid-template-columns:1fr;gap:38px;padding:104px 26px 96px;
  }

  .vhr-ep .vhr-glass {
  padding:32px 28px;
  }
}
@media (max-width:760px) {
  .vhr-ep .vhr-hero--full {
  min-height:auto;
  }

  .vhr-ep .vhr-hero--full .vhr-hero__inner {
  padding:92px 22px 84px;
  }

  .vhr-ep .vhr-glass {
  padding:26px 22px;
  }
}
@media (max-width:860px) {
  .vhr-ep .vhr-step {
  padding-top:20px;
  }
}
@media (max-width:1400px) {
  .vhr-ep .vhr-grid--contact {
  gap:40px;
  }
}
@media (max-width:1240px) {
  .vhr-ep .vhr-grid--contact {
  gap:34px;
  }
}
@media (max-width:1080px) {
  .vhr-ep .vhr-grid--contact {
  grid-template-columns:1fr;gap:34px;
  }

  .vhr-ep .vhr-contact-el .vhr-info {
  position:static;
  }
}
@media (max-width:1024px) {
  .vhr-ep .vhr-service,
  .vhr-ep .vhr-service--flip {
  grid-template-columns:1fr;gap:34px;
  }

  .vhr-ep .vhr-service__media::before {
  display:none;
  }

  .vhr-ep .vhr-service__media img {
  height:auto;aspect-ratio:4/3;min-height:0;
  }

  .vhr-ep .vhr-split__media img {
  aspect-ratio:4/3;
  }
}
@media (max-width:760px) {
  .vhr-ep .vhr-service__media img {
  aspect-ratio:4/3;
  }
}
@media (max-width:640px) {
  .vhr-ep .vhr-info {
  padding:30px 24px;
  }

  .vhr-ep .vhr-card img {
  aspect-ratio:16/10;
  }

  .vhr-ep .vhr-split__media img {
  aspect-ratio:3/2;
  }
}
@media (max-width:1020px) {
  .vhr-ep .vhr-hero__inner {
  grid-template-columns:1fr;padding:74px 22px 72px;gap:48px;
  }

  .vhr-ep .vhr-split,
  .vhr-ep .vhr-grid--contact,
  .vhr-ep .vhr-service,
  .vhr-ep .vhr-grid--3,
  .vhr-ep .vhr-steps,
  .vhr-ep .vhr-stats__inner {
  grid-template-columns:1fr;
  }

  .vhr-ep .vhr-split {
  gap:38px;
  }

  .vhr-ep .vhr-section {
  padding:68px 0;
  }

  .vhr-ep .vhr-stat {
  border-right:0;border-bottom:1px solid var(--line-dark);padding:0 0 18px;
  }

  .vhr-ep .vhr-stat:last-child {
  border-bottom:0;padding-bottom:0;
  }

  .vhr-ep .vhr-stats__inner {
  gap:22px;padding:40px 0;
  }

  .vhr-ep .vhr-service--flip .vhr-service__media {
  order:0;
  }

  .vhr-ep .vhr-service {
  gap:34px;padding:56px 0;
  }
}
@media (max-width:560px) {
  .vhr-ep .vhr-wrap {
  padding:0 22px;
  }

  .vhr-ep .vhr-btns .vhr-btn {
  width:100%;
  }

  .vhr-ep .vhr-info {
  padding:30px 24px;
  }

  .vhr-ep .vhr-hero__inner {
  padding:60px 20px 58px;
  }

  .vhr-ep .vhr-section-head {
  margin-bottom:36px;
  }

  .vhr-ep .vhr-split__media--frame::after {
  display:none;
  }
}
@media print {
  .vhr-ep .vhr-cta {
  display:none;
  }
}
@media (max-width:1024px) {
  .vhr-ep .vhr-life__media {
  height:auto;
  }

  .vhr-ep .vhr-life__media img {
  height:auto;min-height:0;aspect-ratio:4/3;
  }

  .vhr-ep .vhr-founder {
  grid-template-columns:1fr;gap:40px;
  }

  .vhr-ep .vhr-founder__media {
  max-width:460px;
  }

  .vhr-ep .vhr-pillars,
  .vhr-ep .vhr-timeline {
  grid-template-columns:1fr;gap:22px;
  }

  .vhr-ep .vhr-timeline {
  margin-top:34px;
  }

  .vhr-ep .vhr-timeline::before {
  display:none;
  }

  .vhr-ep .vhr-life {
  grid-template-columns:1fr;gap:36px;
  }
}
@media (max-width:560px) {
  .vhr-ep .vhr-pillar {
  padding:32px 24px 28px;
  }

  .vhr-ep .vhr-founder__role {
  letter-spacing:.18em;
  }
}
/* ==== end of generated block ==== */
