:root {
  --envy-ink: #0b1020;
  --envy-ink-soft: #18203a;
  --envy-primary: #3f5ef7;
  --envy-primary-deep: #18089f;
  --envy-primary-soft: #e9edff;
  --envy-accent: #22d3c5;
  --envy-white: #ffffff;
  --envy-cloud: #f5f7fc;
  --envy-line: #dfe5f2;
  --envy-muted: #5e677f;
  --envy-success: #14845f;
  --envy-warning: #b75d09;
  --envy-danger: #b4233a;
  --envy-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --envy-font-display: var(--envy-font);
  --envy-step--1: clamp(.82rem, .8rem + .1vw, .9rem);
  --envy-step-0: clamp(1rem, .96rem + .2vw, 1.125rem);
  --envy-step-1: clamp(1.25rem, 1.12rem + .6vw, 1.62rem);
  --envy-step-2: clamp(1.56rem, 1.32rem + 1.15vw, 2.25rem);
  --envy-step-3: clamp(2rem, 1.55rem + 2vw, 3.25rem);
  --envy-step-4: clamp(2.55rem, 1.75rem + 3.5vw, 5rem);
  --envy-space-1: .5rem;
  --envy-space-2: .75rem;
  --envy-space-3: 1rem;
  --envy-space-4: 1.5rem;
  --envy-space-5: 2rem;
  --envy-space-6: 3rem;
  --envy-space-7: 4.5rem;
  --envy-space-8: 7rem;
  --envy-radius-sm: .65rem;
  --envy-radius: 1rem;
  --envy-radius-lg: 1.5rem;
  --envy-shadow: 0 16px 48px rgba(14, 22, 50, .12);
  --envy-shell: 1200px;
  --envy-reading: 760px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.envyleads-site { margin: 0; color: var(--envy-ink); background: var(--envy-white); font-family: var(--envy-font); font-size: var(--envy-step-0); line-height: 1.65; text-rendering: optimizeLegibility; }
body.envyleads-site img { max-width: 100%; height: auto; }
body.envyleads-site a { color: var(--envy-primary-deep); text-underline-offset: .18em; }
body.envyleads-site a:hover { color: var(--envy-primary); }
body.envyleads-site :focus-visible { outline: 3px solid var(--envy-accent); outline-offset: 3px; }
h1, h2, h3, h4 { color: var(--envy-ink); font-family: var(--envy-font-display); font-weight: 760; line-height: 1.08; letter-spacing: -.035em; text-wrap: balance; }
h1 { font-size: var(--envy-step-4); }
h2 { font-size: var(--envy-step-3); }
h3 { font-size: var(--envy-step-2); }
h4 { font-size: var(--envy-step-1); }
p, li { text-wrap: pretty; }

.envy-shell { width: min(calc(100% - 2rem), var(--envy-shell)); margin-inline: auto; }
.envy-reading { width: min(100%, var(--envy-reading)); }
.envy-section { padding-block: var(--envy-space-8); }
.envy-section--tight { padding-block: var(--envy-space-6); }
.envy-section--cloud { background: var(--envy-cloud); }
.envy-section--ink { color: var(--envy-white); background: var(--envy-ink); }
.envy-section--ink :is(h1,h2,h3,h4,a) { color: var(--envy-white); }
.envy-grid { display: grid; gap: var(--envy-space-5); }
.envy-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.envy-grid--3, .envy-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--envy-space-5); }
.envy-stack > * { margin-block: 0; }
.envy-stack > * + * { margin-top: var(--envy-space-4); }
.envy-eyebrow { margin: 0 0 var(--envy-space-3); color: var(--envy-primary); font-size: var(--envy-step--1); font-weight: 800; letter-spacing: .12em; line-height: 1.2; text-transform: uppercase; }
.envy-lede { max-width: 65ch; color: var(--envy-muted); font-size: var(--envy-step-1); line-height: 1.55; }
.envy-gradient-text { color: var(--envy-primary); background: linear-gradient(120deg, var(--envy-primary-deep), var(--envy-primary), var(--envy-accent)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

.envy-button, body.envyleads-site .wp-element-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: .5rem; padding: .82rem 1.25rem; border: 1px solid transparent; border-radius: 999px; color: var(--envy-white); background: var(--envy-primary); box-shadow: 0 10px 24px rgba(63,94,247,.22); font-size: .95rem; font-weight: 760; line-height: 1.1; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.envy-button:hover { color: var(--envy-white); background: var(--envy-primary-deep); box-shadow: 0 14px 30px rgba(24,8,159,.25); transform: translateY(-2px); }
.envy-button--small { min-height: 42px; padding: .68rem 1rem; }
.envy-button--secondary { color: var(--envy-primary-deep); background: transparent; border-color: var(--envy-primary); box-shadow: none; }
.envy-button--secondary:hover { color: var(--envy-white); background: var(--envy-primary-deep); }
.envy-button--light { color: var(--envy-primary-deep); background: var(--envy-white); box-shadow: none; }
.envy-button--light:hover { color: var(--envy-white); background: var(--envy-primary); }

.envy-card { position: relative; padding: var(--envy-space-5); border: 1px solid var(--envy-line); border-radius: var(--envy-radius-lg); background: var(--envy-white); box-shadow: 0 1px 0 rgba(11,16,32,.03); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.envy-card:hover { border-color: rgba(63,94,247,.35); box-shadow: var(--envy-shadow); transform: translateY(-4px); }
.envy-card h3 { margin-top: 0; }
.envy-card__icon { display: grid; width: 3rem; height: 3rem; margin-bottom: var(--envy-space-4); place-items: center; border-radius: .85rem; color: var(--envy-white); background: linear-gradient(145deg, var(--envy-primary), var(--envy-primary-deep)); }

.envy-hero { position: relative; overflow: clip; padding-block: clamp(5rem, 9vw, 9rem); background: radial-gradient(circle at 85% 20%, rgba(63,94,247,.17), transparent 30%), linear-gradient(180deg, #fff, #f6f8ff); }
.envy-hero::after { position: absolute; width: 34rem; height: 34rem; right: -14rem; bottom: -22rem; border: 1px solid rgba(63,94,247,.18); border-radius: 50%; content: ""; box-shadow: 0 0 0 5rem rgba(63,94,247,.025), 0 0 0 10rem rgba(63,94,247,.018); pointer-events: none; }
.envy-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); align-items: center; gap: var(--envy-space-7); }
.envy-hero__actions { display: flex; flex-wrap: wrap; gap: var(--envy-space-3); margin-top: var(--envy-space-5); }

.envy-skip-link { position: fixed; z-index: 99999; top: .5rem; left: .5rem; padding: .7rem 1rem; color: var(--envy-white); background: var(--envy-ink); transform: translateY(-160%); }
.envy-skip-link:focus { color: var(--envy-white); transform: none; }
.envy-scroll-marker { position: absolute; top: 0; width: 1px; height: 1px; }
.envy-header { position: sticky; z-index: 1000; top: 0; border-bottom: 1px solid transparent; background: rgba(255,255,255,.92); backdrop-filter: blur(16px); transition: border-color .2s ease, box-shadow .2s ease; }
.envy-scrolled .envy-header { border-color: var(--envy-line); box-shadow: 0 8px 30px rgba(11,16,32,.06); }
.envy-header__inner { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: var(--envy-space-4); }
.envy-brand { display: inline-flex; align-items: center; gap: .72rem; color: var(--envy-ink); font-size: 1.22rem; font-weight: 820; letter-spacing: -.04em; text-decoration: none; }
.envy-brand:hover { color: var(--envy-ink); }
.envy-brand__mark { width: 42px; height: 42px; object-fit: contain; }
.envy-brand__name span { color: var(--envy-primary); }
.envy-nav { display: flex; align-items: center; gap: var(--envy-space-4); }
.envy-nav__list, .envy-nav .menu { display: flex; align-items: center; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.envy-nav li { position: relative; }
.envy-nav li a { display: flex; min-height: 44px; align-items: center; padding: .65rem .78rem; border-radius: .65rem; color: var(--envy-ink); font-size: .92rem; font-weight: 680; text-decoration: none; }
.envy-nav li a:hover { color: var(--envy-primary-deep); background: var(--envy-primary-soft); }
.envy-nav .sub-menu { position: absolute; top: calc(100% + .5rem); left: 0; display: grid; min-width: 260px; margin: 0; padding: .65rem; border: 1px solid var(--envy-line); border-radius: var(--envy-radius); background: var(--envy-white); box-shadow: var(--envy-shadow); list-style: none; opacity: 0; pointer-events: none; transform: translateY(-.5rem); transition: opacity .18s ease, transform .18s ease; }
.envy-nav li:hover > .sub-menu, .envy-nav li:focus-within > .sub-menu { opacity: 1; pointer-events: auto; transform: none; }
.envy-nav-toggle { display: none; min-width: 48px; min-height: 48px; border: 0; border-radius: .7rem; color: var(--envy-ink); background: var(--envy-primary-soft); }
.envy-nav-toggle__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.envy-nav-toggle__icon { display: grid; gap: 4px; }
.envy-nav-toggle__icon span { display: block; width: 22px; height: 2px; background: currentColor; }
.envy-breadcrumbs { padding-block: .8rem; border-bottom: 1px solid var(--envy-line); color: var(--envy-muted); background: var(--envy-cloud); font-size: var(--envy-step--1); }
.envy-breadcrumbs a { color: var(--envy-muted); }

.envy-main { min-height: 55vh; }
.envy-main > .elementor { width: 100%; }
.envy-prose :is(h2,h3,h4) { margin-top: 1.8em; }
.envy-prose a { font-weight: 650; }
.envy-prose blockquote { margin: var(--envy-space-5) 0; padding: var(--envy-space-4) var(--envy-space-5); border-left: 4px solid var(--envy-primary); background: var(--envy-primary-soft); }

.envy-form :is(input,select,textarea), body.envyleads-site .elementor-field { width: 100%; min-height: 48px; padding: .78rem .9rem; border: 1px solid #bcc6da; border-radius: var(--envy-radius-sm); color: var(--envy-ink); background: var(--envy-white); font: inherit; }
.envy-form textarea, body.envyleads-site textarea.elementor-field { min-height: 140px; resize: vertical; }
.envy-form label { display: block; margin-bottom: .35rem; font-weight: 700; }
.envy-form :is(input,select,textarea):focus { border-color: var(--envy-primary); outline: 3px solid rgba(63,94,247,.18); }

.envy-footer { padding-top: var(--envy-space-8); color: #dfe4f3; background: var(--envy-ink); }
.envy-footer a { color: var(--envy-white); }
.envy-footer .envy-brand { color: var(--envy-white); }
.envy-footer__grid { display: grid; grid-template-columns: 1.1fr .65fr .65fr 1.3fr; gap: var(--envy-space-6); }
.envy-footer__brand p, .envy-footer address { color: #b9c2d8; font-size: .94rem; font-style: normal; }
.envy-footer__heading { margin-top: .6rem; color: var(--envy-white); font-size: 1rem; letter-spacing: .02em; }
.envy-footer ul { margin: 0; padding: 0; list-style: none; }
.envy-footer li + li { margin-top: .65rem; }
.envy-footer__cta { padding: var(--envy-space-5); border: 1px solid rgba(255,255,255,.12); border-radius: var(--envy-radius-lg); background: linear-gradient(145deg, rgba(63,94,247,.24), rgba(34,211,197,.08)); }
.envy-footer__cta h2 { margin-top: 0; color: var(--envy-white); font-size: var(--envy-step-2); }
.envy-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: var(--envy-space-4); margin-top: var(--envy-space-7); padding-block: var(--envy-space-4); border-top: 1px solid rgba(255,255,255,.12); font-size: var(--envy-step--1); }
.envy-footer__bottom .menu { display: flex; gap: var(--envy-space-4); }

@media (max-width: 980px) {
  .envy-grid--3, .envy-card-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .envy-hero__grid { grid-template-columns: 1fr; }
  .envy-footer__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .envy-nav-toggle { display: grid; place-items: center; }
  .envy-nav { position: absolute; top: 100%; right: 0; left: 0; display: none; max-height: calc(100vh - 76px); padding: 1rem; border-bottom: 1px solid var(--envy-line); background: var(--envy-white); box-shadow: var(--envy-shadow); overflow-y: auto; }
  .envy-header.is-open .envy-nav { display: grid; }
  .envy-nav__list, .envy-nav .menu { display: grid; align-items: stretch; }
  .envy-nav .sub-menu { position: static; display: grid; margin-left: 1rem; border: 0; box-shadow: none; opacity: 1; pointer-events: auto; transform: none; }
  .envy-nav > .envy-button { width: 100%; }
}

@media (max-width: 680px) {
  :root { --envy-space-8: 4.5rem; }
  .envy-shell { width: min(calc(100% - 1.25rem), var(--envy-shell)); }
  .envy-grid--2, .envy-grid--3, .envy-card-grid, .envy-footer__grid { grid-template-columns: 1fr; }
  .envy-footer__bottom { align-items: flex-start; flex-direction: column; }
  .envy-footer__bottom .menu { flex-wrap: wrap; }
}

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



.envy-context-nav { padding-block: var(--envy-space-7); border-top: 1px solid var(--envy-line); background: var(--envy-cloud); }
.envy-context-nav h2 { margin-top: 0; }
.envy-context-nav__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--envy-space-3); margin-top: var(--envy-space-5); }
.envy-context-nav__link { display: grid; gap: .25rem; min-height: 76px; padding: var(--envy-space-4); border: 1px solid var(--envy-line); border-radius: var(--envy-radius); color: var(--envy-ink); background: var(--envy-white); text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.envy-context-nav__link span { color: var(--envy-muted); font-size: var(--envy-step--1); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.envy-context-nav__link strong { font-size: 1rem; line-height: 1.35; }
.envy-context-nav__link:hover { color: var(--envy-primary-deep); border-color: rgba(63,94,247,.38); box-shadow: 0 8px 22px rgba(11,16,32,.07); transform: translateY(-2px); }
.envy-context-nav__link--parent { border-color: rgba(63,94,247,.28); background: var(--envy-primary-soft); }

@media (max-width: 760px) {
  .envy-context-nav__links { grid-template-columns: 1fr; }
}


/* Batch 28 accessibility corrections. */
body.envyleads-site .envy-button { color: var(--envy-white); }
body.envyleads-site .envy-button:hover,
body.envyleads-site .envy-button:focus-visible { color: var(--envy-white); }
body.envyleads-site .elementor-button {
  color: var(--envy-white) !important;
  background-color: var(--envy-primary-deep) !important;
}
body.envyleads-site .elementor-button:hover,
body.envyleads-site .elementor-button:focus-visible {
  color: var(--envy-white) !important;
  background-color: var(--envy-primary) !important;
}
body.envyleads-site .envy-section--ink .envy-lede { color: #dfe4f3; }
body.envyleads-site .envy-footer a { color: var(--envy-white); }
body.envyleads-site .envy-footer a:hover,
body.envyleads-site .envy-footer a:focus-visible { color: #8ff7ee; }
body.envyleads-site .envy-footer .envy-brand__name span { color: #8ff7ee; }
body.envyleads-site .envy-hero { overflow: hidden !important; }
