/* Frontend R2-2 — Technology + Enterprise Trust Layer */

.r2-tech-layer,
.r2-trust-layer {
  position:relative;
  isolation:isolate;
}

.r2-tech-layer {
  padding:clamp(86px,9vw,142px) 0;
  border-top:1px solid rgba(133,154,193,.12);
  background:
    radial-gradient(circle at 14% 16%,rgba(91,140,255,.07),transparent 32%),
    radial-gradient(circle at 86% 82%,rgba(37,230,200,.045),transparent 30%);
}

.r2-tech-heading {
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr);
  gap:clamp(40px,7vw,96px);
  align-items:end;
  margin-bottom:clamp(46px,5vw,72px);
}

.r2-tech-heading h2,
.r2-trust-heading h2 {
  margin:16px 0 0;
  font-size:clamp(40px,5vw,70px);
  line-height:.98;
  letter-spacing:-.05em;
  text-wrap:balance;
}

.r2-tech-heading-copy {
  margin:0 0 2px;
  color:var(--muted);
  font-size:16px;
  line-height:1.85;
}

.r2-tech-stack {
  border-top:1px solid rgba(135,155,194,.18);
}

.r2-tech-row {
  display:grid;
  grid-template-columns:92px minmax(220px,.7fr) minmax(0,1.3fr) 42px;
  gap:clamp(20px,4vw,56px);
  align-items:center;
  min-height:170px;
  padding:30px 6px;
  border-bottom:1px solid rgba(135,155,194,.16);
  cursor:pointer;
  transition:
    background .22s ease,
    padding-left .22s ease,
    padding-right .22s ease;
}

.r2-tech-row:hover {
  padding-left:18px;
  padding-right:18px;
  background:
    linear-gradient(90deg,rgba(91,140,255,.07),rgba(37,230,200,.025),transparent);
}

.r2-tech-number {
  color:var(--faint);
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
}

.r2-tech-row h3 {
  margin:0;
  font-size:clamp(24px,2.6vw,38px);
  line-height:1;
  letter-spacing:-.035em;
}

.r2-tech-row p {
  max-width:680px;
  margin:0;
  color:var(--muted);
  font-size:14.5px;
  line-height:1.75;
}

.r2-tech-arrow {
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border:1px solid rgba(130,153,195,.19);
  border-radius:50%;
  color:var(--acc2);
  font-size:18px;
  transition:
    transform .2s ease,
    border-color .2s ease;
}

.r2-tech-row:hover .r2-tech-arrow {
  transform:translateX(4px);
  border-color:rgba(37,230,200,.34);
}

.r2-tech-footer {
  display:flex;
  justify-content:flex-end;
  margin-top:26px;
}

.r2-tech-footer a {
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:0 17px;
  border:1px solid rgba(117,154,255,.24);
  border-radius:11px;
  color:var(--text);
  font-size:13.5px;
  font-weight:750;
  background:rgba(255,255,255,.02);
  cursor:pointer;
}

.r2-trust-layer {
  padding:clamp(78px,8vw,128px) 0 clamp(92px,10vw,150px);
  overflow:hidden;
}

.r2-trust-layer::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(180deg,transparent,rgba(8,14,27,.42)),
    radial-gradient(circle at 50% 42%,rgba(70,102,178,.08),transparent 48%);
}

.r2-trust-heading {
  max-width:920px;
  margin-bottom:clamp(38px,5vw,66px);
}

.r2-trust-heading p {
  max-width:720px;
  margin:24px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.85;
}

.r2-trust-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.r2-trust-card {
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:360px;
  padding:28px;
  overflow:hidden;
  border:1px solid rgba(135,155,194,.16);
  border-radius:20px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  cursor:pointer;
  transition:
    transform .24s ease,
    border-color .24s ease,
    background .24s ease;
}

.r2-trust-card:hover {
  transform:translateY(-5px);
  border-color:rgba(104,149,235,.30);
  background:
    linear-gradient(180deg,rgba(91,140,255,.07),rgba(255,255,255,.014));
}

.r2-trust-card::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,var(--acc),var(--acc2),transparent 82%);
  opacity:.66;
}

.r2-trust-card-tag {
  color:var(--acc2);
  font-size:11px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.r2-trust-card h3 {
  margin:82px 0 18px;
  font-size:clamp(28px,3vw,40px);
  line-height:1;
  letter-spacing:-.04em;
}

.r2-trust-card p {
  margin:0;
  color:var(--muted);
  font-size:14.5px;
  line-height:1.75;
}

.r2-trust-card-link {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:auto;
  padding-top:30px;
  color:var(--text);
  font-size:13px;
  font-weight:750;
}

.r2-trust-card-link span:last-child {
  color:var(--acc2);
  font-size:17px;
}

.r2-trust-principle {
  display:grid;
  grid-template-columns:1fr auto;
  gap:30px;
  align-items:center;
  margin-top:26px;
  padding:24px 0 0;
  border-top:1px solid rgba(135,155,194,.13);
}

.r2-trust-principle p {
  max-width:760px;
  margin:0;
  color:var(--muted);
  font-size:13.5px;
  line-height:1.75;
}

.r2-trust-principle strong {
  color:var(--text);
  font-weight:700;
}

.r2-trust-principle-mark {
  color:var(--faint);
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

@media (max-width:980px) {
  .r2-tech-heading {
    grid-template-columns:1fr;
    gap:18px;
  }

  .r2-tech-heading-copy {
    max-width:760px;
  }

  .r2-tech-row {
    grid-template-columns:60px minmax(200px,.85fr) minmax(0,1.15fr) 40px;
    gap:22px;
  }

  .r2-trust-grid {
    grid-template-columns:1fr;
  }

  .r2-trust-card {
    min-height:290px;
  }

  .r2-trust-card h3 {
    margin-top:54px;
  }
}

@media (max-width:700px) {
  .r2-tech-layer {
    padding:68px 0;
  }

  .r2-tech-row {
    grid-template-columns:42px 1fr 34px;
    gap:14px;
    min-height:0;
    padding:26px 0;
  }

  .r2-tech-row h3 {
    grid-column:2;
  }

  .r2-tech-row p {
    grid-column:2 / 4;
    margin-top:8px;
  }

  .r2-tech-arrow {
    grid-column:3;
    grid-row:1 / 3;
    width:32px;
    height:32px;
  }

  .r2-tech-row:hover {
    padding-left:8px;
    padding-right:8px;
  }

  .r2-trust-layer {
    padding:68px 0 88px;
  }

  .r2-trust-card {
    min-height:270px;
    padding:24px;
    border-radius:16px;
  }

  .r2-trust-principle {
    grid-template-columns:1fr;
    gap:12px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .r2-tech-row,
  .r2-tech-arrow,
  .r2-trust-card {
    transition:none;
  }

  .r2-tech-row:hover,
  .r2-trust-card:hover {
    transform:none;
  }
}
