/* SAFIRA.id V16.0.4 — CTA Contrast & Dual Business Card Visual Fix
   Loaded after public-information-v1603.css to correct homepage role-card contrast. */
:root{
  --m1604-buyer-start:#0a315b;
  --m1604-buyer-end:#0d416f;
  --m1604-supplier-start:#0c705d;
  --m1604-supplier-end:#15806a;
  --m1604-card-title:#ffffff;
  --m1604-card-copy:rgba(255,255,255,.86);
  --m1604-card-label:#9be8df;
  --m1604-card-border:rgba(255,255,255,.16);
  --m1604-card-action:rgba(255,255,255,.09);
}

.public-page-index .m1604-role-section{
  background:linear-gradient(180deg,var(--m16-surface) 0%,color-mix(in srgb,var(--m16-surface) 94%,var(--m16-bg)) 100%);
}

.public-page-index .m1604-role-grid{
  gap:24px;
}

.public-page-index .m1604-role-card{
  position:relative;
  isolation:isolate;
  min-height:300px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:34px 36px;
  border:1px solid var(--m1604-card-border);
  border-radius:24px;
  overflow:hidden;
  color:#fff;
  box-shadow:0 18px 42px rgba(6,42,82,.12);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.public-page-index .m1604-role-card:before{
  content:"";
  position:absolute;
  z-index:-1;
  width:260px;
  height:260px;
  right:-105px;
  top:-120px;
  border-radius:50%;
  background:rgba(255,255,255,.075);
  pointer-events:none;
}

.public-page-index .m1604-role-card:after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.035),transparent 48%);
  pointer-events:none;
}

.public-page-index .m1604-role-card--buyer{
  background:linear-gradient(135deg,var(--m1604-buyer-start),var(--m1604-buyer-end));
}

.public-page-index .m1604-role-card--supplier{
  background:linear-gradient(135deg,var(--m1604-supplier-start),var(--m1604-supplier-end));
}

.public-page-index .m1604-role-card:hover{
  transform:translateY(-3px);
  border-color:rgba(255,255,255,.25);
  box-shadow:0 24px 52px rgba(6,42,82,.17);
}

/* Specificity intentionally exceeds the global V16.0.3 public heading rule. */
.public-page-index .m1604-role-card h3{
  max-width:610px;
  margin:12px 0 14px;
  color:var(--m1604-card-title)!important;
  font-size:clamp(1.55rem,2.2vw,2rem);
  line-height:1.28;
  letter-spacing:-.025em;
  font-weight:800;
  text-wrap:balance;
}

.public-page-index .m1604-role-card p{
  max-width:590px;
  margin:0;
  color:var(--m1604-card-copy)!important;
  font-size:14.5px;
  line-height:1.72;
}

.public-page-index .m1604-role-eyebrow{
  color:var(--m1604-card-label)!important;
  font-size:10.5px;
  font-weight:850;
  letter-spacing:.11em;
}

.public-page-index .m1604-role-cta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  margin-top:auto;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:11px;
  background:var(--m1604-card-action);
  color:#fff!important;
  font-size:13.5px;
  font-weight:800;
  text-decoration:none;
  backdrop-filter:blur(5px);
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
}

.public-page-index .m1604-role-card p + .m1604-role-cta{
  margin-top:auto;
  transform:translateY(2px);
}

.public-page-index .m1604-role-cta b{
  font-size:17px;
  line-height:1;
  transition:transform .18s ease;
}

.public-page-index .m1604-role-cta:hover{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.38);
  color:#fff!important;
}

.public-page-index .m1604-role-cta:hover b{
  transform:translateX(3px);
}

.public-page-index .m1604-role-cta:focus-visible{
  outline:3px solid rgba(255,255,255,.42)!important;
  outline-offset:3px;
  box-shadow:none!important;
}

html[data-theme="dark"] .public-page-index .m1604-role-section{
  background:var(--m16-surface);
}

@media(max-width:767px){
  .public-page-index .m1604-role-grid{gap:16px}
  .public-page-index .m1604-role-card{
    min-height:0;
    padding:26px 24px;
    border-radius:20px;
  }
  .public-page-index .m1604-role-card h3{
    font-size:1.45rem;
  }
  .public-page-index .m1604-role-card p{
    font-size:13.5px;
  }
  .public-page-index .m1604-role-cta{
    margin-top:22px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .public-page-index .m1604-role-card,
  .public-page-index .m1604-role-cta,
  .public-page-index .m1604-role-cta b{
    transition:none!important;
  }
}
