.rg-home {
  background: var(--rg-surface);
}

.rg-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 10vw, 132px) 0;
  background:
    radial-gradient(circle at 78% 16%, rgba(37, 99, 235, .34), transparent 32%),
    linear-gradient(135deg, #020617, #0f172a 58%, #082f49);
  color: #fff;
}

.rg-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}

.rg-hero .rg-display,
.rg-hero .rg-lead {
  color: #fff;
}

.rg-hero .rg-lead {
  color: #cbd5e1;
  max-width: 760px;
}

.rg-hero__panel {
  border: 1px solid rgba(226, 232, 240, .18);
  border-radius: 28px;
  padding: clamp(22px, 3vw, 34px);
  background: rgba(15, 23, 42, .62);
  backdrop-filter: blur(14px);
  box-shadow: 0 28px 90px rgba(0, 0, 0, .28);
}

.rg-hero__list {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
  color: #e2e8f0;
}

.rg-hero__list li::before {
  content: "✓";
  margin-right: 8px;
  color: #93c5fd;
  font-weight: 900;
}

.rg-kpi {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 28px;
}

.rg-kpi__item {
  padding: 14px;
  border: 1px solid rgba(226, 232, 240, .16);
  border-radius: 18px;
  background: rgba(255, 255, 255, .06);
}

.rg-kpi__num {
  display: block;
  font-size: 1.35rem;
  font-weight: 900;
  color: #fff;
}

.rg-kpi__label {
  display: block;
  margin-top: 4px;
  font-size: .82rem;
  color: #cbd5e1;
}

.rg-section-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.rg-section-head--center {
  text-align: center;
  margin-inline: auto;
}

.rg-feature-number {
  width: 42px;
  height: 42px;
  border-radius: var(--rg-radius-pill);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--rg-surface-strong);
  color: var(--rg-primary);
  font-weight: 900;
}

.rg-split {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
  gap: clamp(24px, 5vw, 56px);
  align-items: center;
}

.rg-info-box {
  border: 1px solid var(--rg-border);
  border-radius: var(--rg-radius-lg);
  background: #fff;
  padding: clamp(22px, 3vw, 34px);
  box-shadow: var(--rg-shadow-sm);
}

@media (max-width: 900px) {
  .rg-hero__grid,
  .rg-split {
    grid-template-columns: 1fr;
  }

  .rg-kpi {
    grid-template-columns: 1fr;
  }
}

/* =====================================================
   HOME LATEST BLOG SECTION
   ===================================================== */

.rg-section-head--split {
  max-width: none;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.rg-section-head__action {
  flex-shrink: 0;
}

.rg-home-blog {
  background: #f8fafc;
}

.rg-home-blog__grid {
  margin-top: 28px;
}

.rg-home-blog__empty {
  margin-top: 24px;
  padding: 28px;
  border: 1px dashed #cbd5e1;
  border-radius: 20px;
  background: #ffffff;
  color: #64748b;
  font-weight: 700;
}

@media (max-width: 767px) {
  .rg-section-head--split {
    align-items: flex-start;
    flex-direction: column;
  }

  .rg-section-head__action {
    width: 100%;
  }

  .rg-section-head__action .rg-button {
    width: 100%;
  }
}

/* =====================================================
   HOME SERVICES + CONVERSION CTA
   ===================================================== */

.rg-home-services {
  background: #ffffff;
}

.rg-service-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 32px;
}

.rg-service-card {
  position: relative;
  min-height: 260px;
  padding: 26px;
  border: 1px solid #e5e7eb;
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(37, 99, 235, .08), transparent 34%),
    #ffffff;
  box-shadow: 0 12px 34px rgba(15, 23, 42, .06);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.rg-service-card:hover {
  transform: translateY(-6px);
  border-color: #bfdbfe;
  box-shadow: 0 20px 48px rgba(37, 99, 235, .12);
}

.rg-service-card__num {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-weight: 900;
  margin-bottom: 18px;
}

.rg-service-card h3 {
  margin: 0 0 12px;
  color: #0f172a;
  font-size: 22px;
  line-height: 1.25;
  font-weight: 900;
}

.rg-service-card p {
  margin: 0 0 18px;
  color: #475569;
  font-size: 15px;
  line-height: 1.75;
  word-break: keep-all;
}

.rg-service-card a {
  color: #1d4ed8;
  font-weight: 900;
  text-decoration: none;
}

.rg-service-card a:hover {
  text-decoration: underline;
}

.rg-cta--conversion {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr);
  gap: 28px;
  align-items: center;
}

.rg-cta-actions {
  display: grid;
  gap: 12px;
}

.rg-cta-actions .rg-button {
  width: 100%;
}

@media (max-width: 1100px) {
  .rg-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rg-cta--conversion {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .rg-service-grid {
    grid-template-columns: 1fr;
  }

  .rg-service-card {
    min-height: auto;
  }
}

/* =====================================================
   HOME PERFORMANCE COUNTER
   ===================================================== */

.rg-home-performance {
  padding: 38px 0;
  background: #ffffff;
}

.rg-performance-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.rg-performance-item {
  padding: 26px 20px;
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(37, 99, 235, .08), transparent 36%),
    #ffffff;
  box-shadow: 0 12px 34px rgba(15, 23, 42, .06);
  text-align: center;
}

.rg-performance-item strong {
  display: block;
  color: #0f172a;
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 900;
  line-height: 1;
}

.rg-performance-item span {
  display: block;
  margin-top: 10px;
  color: #475569;
  font-weight: 800;
}

@media (max-width: 900px) {
  .rg-performance-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .rg-performance-grid {
    grid-template-columns: 1fr;
  }
}

/* =====================================================
   HOME PARTNERS
   ===================================================== */

.rg-home-partners{
    background:#f8fafc;
}

.rg-partner-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:18px;
    margin-top:30px;
}

.rg-partner-card{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:110px;

    border:1px solid #e5e7eb;
    border-radius:22px;

    background:#fff;

    font-size:18px;
    font-weight:900;
    color:#334155;

    transition:.25s;
}

.rg-partner-card:hover{
    transform:translateY(-5px);
    border-color:#bfdbfe;
    box-shadow:0 18px 42px rgba(37,99,235,.12);
}

@media(max-width:1100px){
    .rg-partner-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:640px){
    .rg-partner-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

/* =====================================================
   HOME CERTIFICATES
   ===================================================== */

.rg-home-certificates {
  background: #ffffff;
}

.rg-cert-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 30px;
}

.rg-cert-card {
  padding: 28px;
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(14, 165, 233, .08), transparent 36%),
    #ffffff;
  box-shadow: 0 12px 34px rgba(15, 23, 42, .06);
}

.rg-cert-card span {
  display: inline-flex;
  margin-bottom: 16px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}

.rg-cert-card h3 {
  margin: 0 0 12px;
  color: #0f172a;
  font-size: 21px;
  font-weight: 900;
}

.rg-cert-card p {
  margin: 0;
  color: #475569;
  line-height: 1.75;
  word-break: keep-all;
}

@media (max-width: 1100px) {
  .rg-cert-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .rg-cert-grid {
    grid-template-columns: 1fr;
  }
}

.rg-performance-item small {
  display: block;
  margin-top: 6px;
  color: #64748b;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
}

.rg-partner-card img {
  max-width: 100%;
  max-height: 72px;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: .82;
  transition: .25s;
}

.rg-partner-card:hover img {
  filter: grayscale(0%);
  opacity: 1;
}

.rg-partner-card span {
  display: inline-block;
}

.rg-cert-card {
  text-decoration: none;
  display: block;
  transition: .25s;
}

.rg-cert-card:hover {
  transform: translateY(-5px);
  border-color: #bfdbfe;
  box-shadow: 0 18px 42px rgba(37, 99, 235, .12);
}


/* =====================================================
   HOME 2026 UX POLISH
   ===================================================== */

.rg-hero--2026::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(2, 6, 23, .88), rgba(2, 6, 23, .48)),
    radial-gradient(circle at 20% 90%, rgba(59, 130, 246, .25), transparent 34%);
  pointer-events: none;
}

.rg-hero--2026 .rg-container {
  position: relative;
  z-index: 1;
}

.rg-hero__title {
  max-width: 860px;
  letter-spacing: -0.055em;
}

.rg-hero__lead {
  font-size: clamp(17px, 2vw, 22px);
  line-height: 1.75;
  word-break: keep-all;
}

.rg-hero__actions .rg-button {
  box-shadow: 0 14px 34px rgba(37, 99, 235, .24);
}

.rg-hero__panel {
  position: relative;
}

.rg-hero__panel::after {
  content: "REGENTEC";
  position: absolute;
  right: 22px;
  bottom: 18px;
  color: rgba(255, 255, 255, .06);
  font-size: clamp(32px, 5vw, 64px);
  font-weight: 900;
  letter-spacing: -.06em;
}

[data-reveal] {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .7s ease, transform .7s ease;
}

[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

.rg-card[data-reveal] {
  transition:
    opacity .7s ease,
    transform .7s ease,
    box-shadow .24s ease,
    border-color .24s ease;
}

.rg-card[data-reveal].is-visible:hover,
.rg-service-card:hover,
.rg-performance-item:hover {
  transform: translateY(-7px);
}

.rg-performance-item {
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.rg-performance-item:hover {
  border-color: #bfdbfe;
  box-shadow: 0 22px 54px rgba(37, 99, 235, .13);
}

.rg-home .rg-section {
  scroll-margin-top: 90px;
}

@media (max-width: 900px) {
  .rg-hero--2026 {
    padding-top: 64px;
    padding-bottom: 72px;
  }

  .rg-hero__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .rg-hero__actions .rg-button {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .rg-hero__title {
    font-size: clamp(36px, 12vw, 52px);
  }

  .rg-hero__panel {
    border-radius: 22px;
  }
}


/* =====================================================
   HOME 2026 SERVICE SECTION UPGRADE
   ===================================================== */

.rg-service-grid--six {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rg-service-card {
  isolation: isolate;
}

.rg-service-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at var(--mx, 80%) var(--my, 20%), rgba(37, 99, 235, .14), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,0), rgba(239,246,255,.48));
  opacity: 0;
  transition: opacity .25s ease;
  z-index: -1;
}

.rg-service-card:hover::before {
  opacity: 1;
}

.rg-service-card__num {
  transition: transform .25s ease, background .25s ease, color .25s ease;
}

.rg-service-card:hover .rg-service-card__num {
  transform: rotate(-6deg) scale(1.08);
  background: #2563eb;
  color: #fff;
}

@media (max-width: 1100px) {
  .rg-service-grid--six {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .rg-service-grid--six {
    grid-template-columns: 1fr;
  }
}


/* =====================================================
   HOME 2026 DYNAMIC UX - PHASE B
   Hero Parallax + KPI Stagger
   ===================================================== */

.rg-hero--2026 {
  --hero-x: 0px;
  --hero-y: 0px;
}

.rg-hero--2026::after {
  transform: translate3d(var(--hero-x), var(--hero-y), 0);
}

.rg-hero__panel {
  transform: translate3d(calc(var(--hero-x) * .35), calc(var(--hero-y) * .35), 0);
  transition: transform .18s ease-out;
}

.rg-kpi__item {
  opacity: 0;
  transform: translateY(16px);
}

.rg-kpi.is-visible .rg-kpi__item {
  animation: rgKpiStagger .72s ease forwards;
}

.rg-kpi.is-visible .rg-kpi__item:nth-child(2) {
  animation-delay: .12s;
}

.rg-kpi.is-visible .rg-kpi__item:nth-child(3) {
  animation-delay: .24s;
}

@keyframes rgKpiStagger {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.rg-kpi__item:hover {
  transform: translateY(-5px) scale(1.025);
  border-color: rgba(147, 197, 253, .42);
  background: rgba(255, 255, 255, .1);
}

@media (max-width: 900px), (prefers-reduced-motion: reduce) {
  .rg-hero__panel,
  .rg-hero--2026::after {
    transform: none;
    transition: none;
  }

  .rg-kpi__item {
    opacity: 1;
    transform: none;
    animation: none !important;
  }
}
