/* policy.css */
.policy-hero .page-hero-inner {
  min-height: 460px;
}

.policy-lead-layout {
  display: grid;
  place-items: center;
}

.policy-lead-card {
  position: relative;
  overflow: hidden;
  width: min(100%, 920px);
  padding: 36px;
  border-radius: 30px;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(7, 63, 120, 0.94), rgba(6, 16, 29, 0.92), rgba(0, 104, 183, 0.82));
  box-shadow: 0 24px 58px rgba(7, 24, 39, 0.18);
}

.policy-lead-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 9px;
  background: linear-gradient(90deg, var(--blue-deep), var(--black-blue), var(--blue-bright));
}

.policy-lead-card .eyebrow,
.policy-lead-card h2,
.policy-lead-card p {
  position: relative;
  z-index: 2;
  color: #fff;
}

.policy-lead-card p + p {
  margin-top: 14px;
}

.policy-main-section {
  background:
    radial-gradient(circle at top left, rgba(0, 160, 233, 0.10), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f5f9fb 100%);
}

.policy-grid {
  display: grid;
  gap: 24px;
}

.policy-box {
  position: relative;
  overflow: hidden;
  margin-top: 0;
  padding: 34px;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid rgba(216, 224, 231, 0.95);
  box-shadow: 0 18px 42px rgba(7, 24, 39, 0.11);
}

.policy-box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 6px;
  background: linear-gradient(90deg, var(--blue-deep), var(--black-blue), var(--blue-bright));
}

.policy-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-bottom: 16px;
  color: #fff !important;
  background: linear-gradient(135deg, var(--blue), var(--blue-deep));
  border-radius: 50%;
  font-weight: 800;
  font-size: 13px;
}

.policy-box h2 {
  color: var(--navy);
}

.policy-box p {
  color: #313b45;
}

.policy-box p + p {
  margin-top: 14px;
}

.policy-box ul {
  margin: 16px 0 0;
  padding-left: 1.4em;
  color: #313b45;
}

.policy-box li + li {
  margin-top: 8px;
}

.policy-address,
.policy-date {
  padding: 16px 18px;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f6f8fa 100%);
  border: 1px solid rgba(216, 224, 231, 0.95);
  font-weight: 800;
  overflow-wrap: anywhere;
}

@media (max-width: 980px) {
  .policy-hero .page-hero-inner {
    min-height: auto;
  }
}

@media (max-width: 600px) {
  .policy-grid {
    gap: 18px;
  }

  .policy-lead-card,
  .policy-box {
    padding: 26px 20px;
    border-radius: 22px;
  }

  .policy-number {
    width: 38px;
    height: 38px;
    margin-bottom: 14px;
  }

  .policy-address,
  .policy-date {
    padding: 14px 16px;
  }
}
