.grant-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 84% 20%, rgba(255, 91, 28, .38), transparent 26%),
    radial-gradient(circle at 92% 90%, rgba(186, 43, 146, .38), transparent 32%),
    linear-gradient(125deg, #050b16 0%, #0b1830 56%, #401552 100%);
}

.grant-hero::before,
.grant-hero::after {
  position: absolute;
  content: "";
  pointer-events: none;
}

.grant-hero::before {
  top: -130px;
  right: -80px;
  width: 360px;
  height: 360px;
  border: 52px solid rgba(255, 255, 255, .045);
  border-radius: 50%;
}

.grant-hero::after {
  bottom: -180px;
  left: -120px;
  width: 370px;
  height: 320px;
  background: linear-gradient(135deg, var(--orange), var(--magenta), var(--purple));
  opacity: .45;
  transform: rotate(18deg);
  clip-path: polygon(0 0, 100% 38%, 68% 100%, 0 78%);
}

.grant-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
  gap: clamp(36px, 6vw, 88px);
  align-items: center;
  min-height: 570px;
  padding-block: 76px;
}

.grant-hero h1 {
  max-width: 820px;
  margin: 0 0 24px;
  font-size: clamp(44px, 5.2vw, 75px);
  line-height: 1;
  letter-spacing: -.05em;
  text-wrap: balance;
}

.grant-hero h1 span { color: #ff6930; }
.grant-hero .grant-intro { max-width: 820px; margin: 0; color: #d8e1ef; font-size: 18px; }

.grant-banner {
  display: block;
  overflow: hidden;
  padding: 34px 28px;
  background: #fff;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 16px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .34);
}

.grant-banner img { width: 100%; height: auto; }

.grant-content { padding: 78px 0 96px; }
.grant-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 64px; align-items: start; }
.grant-copy { min-width: 0; }
.grant-copy p { margin: 0 0 24px; color: #344054; font-size: 17px; line-height: 1.8; }

.grant-benefits {
  margin: 34px 0;
  padding: 30px;
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.grant-benefits > p { margin-bottom: 17px; color: var(--ink); font-size: 18px; font-weight: 820; }
.grant-benefits ul { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.grant-benefits li { position: relative; margin: 0; padding: 13px 15px 13px 46px; color: #344054; background: #fff; border: 1px solid #e9edf2; border-radius: 9px; }
.grant-benefits li::before { position: absolute; top: 12px; left: 16px; color: var(--orange); content: "✓"; font-size: 18px; font-weight: 900; }

.grant-values { display: grid; gap: 14px; }
.grant-value { padding: 25px; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); }
.grant-value span, .grant-value strong { display: block; }
.grant-value span { margin-bottom: 8px; color: #667085; font-size: 13px; font-weight: 750; }
.grant-value strong { color: var(--navy-900); font-size: clamp(25px, 3vw, 34px); line-height: 1.12; }
.grant-value-accent { color: #fff; background: linear-gradient(135deg, #ff5b1c, #ba2b92 62%, #6521a8); border-color: transparent; }
.grant-value-accent span, .grant-value-accent strong { color: #fff; }
.grant-back { margin-top: 25px; }

@media (hover: hover) and (pointer: fine) {
  .grant-banner,
  .grant-banner img,
  .grant-benefits,
  .grant-benefits li,
  .grant-value {
    transition: transform .3s cubic-bezier(.2, .75, .25, 1), border-color .22s ease, box-shadow .3s cubic-bezier(.2, .75, .25, 1), background-color .22s ease, filter .3s ease;
  }

  .grant-banner:hover { transform: translateY(-7px) rotate(.35deg); box-shadow: 0 34px 88px rgba(0, 0, 0, .4); }
  .grant-banner:hover img { transform: scale(1.035); }
  .grant-benefits:hover { border-color: #ffc3a8; box-shadow: var(--shadow); transform: translateY(-4px); }
  .grant-benefits li:hover { border-color: #ffb996; background: #fff9f6; transform: translateX(6px); }
  .grant-value:hover { border-color: #ffb58f; box-shadow: 0 24px 58px rgba(7, 17, 31, .17); transform: translateY(-6px); }
  .grant-value-accent:hover { filter: saturate(1.12) brightness(1.04); }
}

@media (max-width: 1000px) {
  .grant-hero-inner, .grant-layout { grid-template-columns: 1fr; }
  .grant-banner { max-width: 720px; }
  .grant-layout { gap: 38px; }
  .grant-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .grant-hero-inner { min-height: 0; padding-block: 48px; }
  .grant-hero h1 { font-size: clamp(38px, 12vw, 52px); }
  .grant-hero .grant-intro { font-size: 16px; }
  .grant-banner { padding: 22px 16px; border-radius: 11px; }
  .grant-content { padding: 54px 0 68px; }
  .grant-copy p { font-size: 16px; }
  .grant-benefits { padding: 20px 16px; }
  .grant-values { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .grant-banner:hover,
  .grant-banner:hover img,
  .grant-benefits:hover,
  .grant-benefits li:hover,
  .grant-value:hover { transform: none !important; }
}
