.page-hero {
  padding-block: clamp(60px, 9vw, 115px);
  background: radial-gradient(ellipse at 84% 22%, #393479, transparent 67%), #0a1530;
  color: #f7faff;
}
.page-hero .eyebrow { color: #e5b4ff; }
.page-hero h1 { font-size: clamp(43px, 7vw, 94px); max-width: 17ch; overflow-wrap: anywhere; }
.page-hero .intro { color: #cfdaee; max-width: 62ch; }
.detail-section { padding-block: clamp(45px, 7vw, 85px); }
.detail-section + .detail-section { border-top: 1px solid var(--line); }
.detail-section h2, .detail-cta h2 { font-size: clamp(30px, 4.2vw, 52px); }
.detail-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); gap: 17px; margin-top: 24px; }
.detail-grid article {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: clamp(20px, 3vw, 34px);
  background: linear-gradient(140deg, #eef4fc, #fff 78%);
}
.detail-grid a { text-decoration: underline; text-underline-offset: .18em; }
.detail-cta { padding-block: 40px; background: #f2f1fb; border-block: 1px solid var(--line); }
.detail-cta .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; }
.detail-cta h2 { margin: 0; }
nav a[aria-current="page"] { color: var(--accent); text-decoration: underline; text-underline-offset: .3em; }

.contact-info { margin-bottom: 30px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #f3f6fc; }
.contact-info h2 { margin-top: 0; font-size: 25px; }
.contact-info address { margin-top: 12px; font-style: normal; line-height: 1.65; overflow-wrap: anywhere; }
.contact-info a { text-decoration: underline; text-underline-offset: .16em; }
