/* VelixarLab latest blog posts on the homepage */
/* Remove the two empty visual-editor sections creating a large blank gap. */
body.home .velixar-content-output > #smtlm29frghpjkn,
body.home .velixar-content-output > #smtvgodtusaqh7c,
body.home #smtlm29frghpjkn,
body.home #smtvgodtusaqh7c { display: none !important; height: 0 !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; }

.vl-home-blog {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(70px, 9vw, 118px) 0;
  color: #f1f7f4;
  background:
    radial-gradient(circle at 98% 0%, rgba(199,255,94,.075), transparent 38%),
    linear-gradient(180deg, #07110f 0%, #0a1915 100%);
  border-top: 1px solid rgba(199,255,94,.12);
}
.vl-home-blog:before {
  content: "";
  position: absolute;
  width: 440px;
  height: 440px;
  border: 1px solid rgba(199,255,94,.10);
  border-radius: 50%;
  right: -250px;
  top: -270px;
  pointer-events: none;
}
.vl-home-blog .vl-shell { position: relative; z-index: 1; }
.vl-home-blog-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 38px;
}
.vl-home-blog-heading h2 {
  margin: 15px 0 12px;
  font-size: clamp(34px, 4.3vw, 58px);
  line-height: 1.08;
  letter-spacing: -.045em;
  font-weight: 800;
}
.vl-home-blog-period { color: #c7ff5e; }
.vl-home-blog-heading p {
  max-width: 610px;
  margin: 0;
  color: #a7bab1;
  font-size: 16px;
}
.vl-home-blog-all {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  padding: 14px 20px;
  border: 1px solid rgba(199,255,94,.48);
  border-radius: 999px;
  color: #c7ff5e;
  font-size: 13px;
  font-weight: 750;
  transition: background .2s, color .2s;
}
.vl-home-blog-all:hover, .vl-home-blog-all:focus-visible {
  color: #07110f;
  background: #c7ff5e;
}
.vl-home-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}
.vl-home-blog-grid.is-two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.vl-home-blog-grid.is-single { grid-template-columns: minmax(0,1fr); }
.vl-home-blog-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #10201b;
  border: 1px solid rgba(255,255,255,.105);
  border-radius: 24px;
  transition: transform .25s ease, border-color .25s ease;
}
.vl-home-blog-card:hover { transform: translateY(-5px); border-color: rgba(199,255,94,.4); }
.vl-home-blog-media {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: #0c1c17;
}
.vl-home-blog-media img { width:100%; height:100%; object-fit:cover; display:block; transition: transform .3s ease; }
.vl-home-blog-card:hover .vl-home-blog-media img { transform:scale(1.03); }
.vl-home-blog-placeholder {
  width: 100%;
  height: 100%;
  min-height: 230px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  overflow: hidden;
  padding: 26px;
  background: radial-gradient(circle at 90% 10%,rgba(199,255,94,.13),transparent 48%),linear-gradient(135deg,#142c22,#08120f);
}
.vl-home-blog-placeholder-kicker { font-size: 11px; letter-spacing: .17em; color: #a5c3ad; font-weight: 800; }
.vl-home-blog-placeholder strong {
  position: relative;
  z-index: 1;
  font-size: clamp(23px, 3vw, 42px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.05em;
}
.vl-home-blog-placeholder strong span { color: #c7ff5e; }
.vl-home-blog-placeholder-ring {
  position: absolute;
  right: -95px;
  bottom: -180px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  border: 1px solid rgba(199,255,94,.25);
  box-shadow: 0 0 0 55px rgba(199,255,94,.035);
}
.vl-home-blog-body {
  flex: 1;
  display:flex;
  flex-direction:column;
  padding: 28px 28px 30px;
}
.vl-home-blog-meta {
  display: flex;
  flex-wrap:wrap;
  align-items:center;
  gap: 9px;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #b4c8bb;
}
.vl-home-blog-body h3 {
  margin: 15px 0 13px;
  font-size: clamp(20px, 2vw, 27px);
  line-height:1.24;
  letter-spacing: -.025em;
}
.vl-home-blog-body h3 a:hover, .vl-home-blog-body h3 a:focus-visible { color: #c7ff5e; }
.vl-home-blog-body p { color: #aebfb7; margin: 0 0 25px; font-size: 14px; line-height: 1.75; }
.vl-home-blog-read {
  margin-top:auto;
  display:inline-flex;
  align-self:flex-start;
  gap: 12px;
  align-items:center;
  color:#c7ff5e;
  font-size:13px;
  font-weight:800;
}
.vl-home-blog-read:hover, .vl-home-blog-read:focus-visible { text-decoration:underline; }
.vl-home-blog-grid.is-single .vl-home-blog-card {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
}
.vl-home-blog-grid.is-single .vl-home-blog-media { aspect-ratio: auto; min-height: 300px; }
.vl-home-blog-grid.is-single .vl-home-blog-body { justify-content: center; padding: clamp(25px, 5vw, 52px); }
.vl-home-blog-grid.is-single .vl-home-blog-body h3 { font-size: clamp(24px, 3vw, 39px); }
.vl-home-blog-empty {
  padding: 48px;
  border: 1px dashed rgba(199,255,94,.35);
  border-radius: 24px;
  background: rgba(255,255,255,.035);
}
.vl-home-blog-empty strong { font-size: 22px; }
.vl-home-blog-empty p { color:#aebfb7; margin-bottom:0; }
@media(max-width:900px) {
  .vl-home-blog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .vl-home-blog-grid.is-single .vl-home-blog-card { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); }
}
@media(max-width:680px) {
  .vl-home-blog-heading { display:block; margin-bottom:26px; }
  .vl-home-blog-all { margin-top:22px; }
  .vl-home-blog-grid,.vl-home-blog-grid.is-two { grid-template-columns:1fr; }
  .vl-home-blog-grid.is-single .vl-home-blog-card { display:flex; flex-direction:column; }
  .vl-home-blog-grid.is-single .vl-home-blog-media { aspect-ratio:16/10; min-height:0; }
  .vl-home-blog-card { border-radius:20px; }
  .vl-home-blog-body,.vl-home-blog-grid.is-single .vl-home-blog-body { padding:25px; }
  .vl-home-blog-empty { padding:28px; }
}
@media(prefers-reduced-motion:reduce) {
  .vl-home-blog-card,.vl-home-blog-media img { transition:none; }
}
