/* Program descriptions styled as an illuminated oracle panel. */
.services-designed .program-card {
  border-color: #b295c365;
  background: #141126;
  box-shadow: 0 22px 55px #05020d85, 0 0 28px #79519317;
}
.services-designed .program-content {
  position: relative;
  padding: 27px 18px 25px;
  background:
    radial-gradient(ellipse at 50% 4%, #6f4b8030, transparent 48%),
    linear-gradient(180deg, #1c152b, #151226 55%, #111124);
}
.services-designed .program-content h3 {
  position: relative;
  margin: 0 0 26px;
  text-align: center;
  font-size: clamp(35px, 9vw, 45px);
  line-height: .99;
  text-wrap: balance;
  text-shadow: 0 2px 20px #070410b0;
}
.services-designed .program-content h3::after {
  content: "✦";
  display: block;
  width: 72px;
  margin: 14px auto 0;
  color: #e4c789;
  font-family: Georgia, serif;
  font-size: 12px;
  font-style: normal;
  line-height: 1;
  text-align: center;
  background: linear-gradient(90deg, #d5b87477, transparent 42% 58%, #d5b87477) center / 100% 1px no-repeat;
}
.services-designed .program-content h3 em { color: #e0bcdf; }

.program-ritual {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 26px 19px 21px;
  border: 1px solid #c4a9c084;
  border-radius: 21px;
  background:
    radial-gradient(circle at 12% 12%, #e5c9fc8a 0 1px, transparent 1.8px),
    radial-gradient(circle at 82% 7%, #d8c8ec99 0 1px, transparent 1.8px),
    radial-gradient(circle at 93% 38%, #d2addf85 0 1px, transparent 1.8px),
    radial-gradient(circle at 17% 81%, #cbb5dc91 0 1px, transparent 1.8px),
    radial-gradient(ellipse at 108% 18%, #6f668659, transparent 48%),
    radial-gradient(ellipse at -18% 87%, #6553814d, transparent 51%),
    linear-gradient(145deg, #151a32, #14152c 60%, #0f1428);
  box-shadow:
    inset 0 0 0 5px #ddd3eb08,
    inset 0 0 31px #ae84c01b,
    0 12px 30px #08051052;
}
.program-ritual::before,
.program-ritual::after {
  content: "";
  position: absolute;
  z-index: 0;
  border-radius: 50%;
  pointer-events: none;
  background:
    radial-gradient(circle at 27% 30%, #73718d77 0 6%, #d6cfde38 7%, transparent 10%),
    radial-gradient(circle at 69% 55%, #77738d91 0 9%, #ece6f045 10%, transparent 14%),
    radial-gradient(circle at 47% 73%, #6c6b867a 0 5%, #f2e3e552 6%, transparent 9%),
    radial-gradient(circle at 39% 40%, #ece6ec, #a5a4ba 58%, #424762 83%);
  box-shadow: inset -15px -11px 24px #31384e9c, 0 0 27px #c4b6df52;
  opacity: .33;
}
.program-ritual::before {
  width: 128px;
  height: 128px;
  top: 14%;
  right: -73px;
}
.program-ritual::after {
  width: 94px;
  height: 94px;
  bottom: 2%;
  left: -58px;
  opacity: .28;
}
.program-ritual > * { position: relative; z-index: 1; }
.services-designed .program-intro {
  margin: 0 0 21px;
  max-width: 275px;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 23px;
  line-height: 1.13;
  color: #f4eaf7;
}
.services-designed .program-detail {
  padding-top: 18px;
  border-top: 1px solid #d6bfa15c;
}
.services-designed .program-detail p {
  margin: 0;
  color: #e3d9eb;
  font-size: 13px;
  line-height: 1.76;
}
.services-designed .program-detail p + p {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #b59baa38;
}
.services-designed .program-detail strong {
  color: #f5e8f6;
  font-weight: 700;
}
.services-designed .program-result {
  margin: 21px 0 0;
  padding: 17px 0 0;
  border: 0;
  border-top: 1px solid #d6bfa15c;
  border-radius: 0;
  background: transparent;
}
.services-designed .program-result p {
  margin: 0;
  color: #e9dded;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 20px;
  line-height: 1.23;
}
.services-designed .program-result strong { color: #f3d59c; }
.services-designed .program-cta {
  position: relative;
  display: flex;
  justify-content: center;
  width: calc(100% - 10px);
  min-height: 52px;
  margin: 24px auto 0;
  padding: 15px 42px;
  border: 1px solid #ffedc1;
  border-radius: 13px;
  background: linear-gradient(110deg, #f9e5ad, #e6bd71 53%, #f4d89b);
  box-shadow: 0 4px 0 #8e633c, 0 13px 28px #e6b76926, inset 0 1px #fff8dc;
  color: #28203a;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
  text-align: center;
  text-transform: none;
  transition: transform .2s ease, box-shadow .2s ease;
}
.services-designed .program-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 0 #8e633c, 0 16px 31px #e6b76936, inset 0 1px #fff8dc;
}
.services-designed .program-cta span {
  position: absolute;
  right: 17px;
  font-size: 18px;
  line-height: 1;
}
@media (max-width: 350px) {
  .services-designed .program-content { padding: 24px 15px 22px; }
  .services-designed .program-content h3 { font-size: 34px; }
  .program-ritual { padding: 22px 16px 19px; }
  .services-designed .program-intro { font-size: 21px; }
}

/* Lunar surface is kept faint so every line of copy stays legible. */
.program-ritual::before,
.program-ritual::after {
  background: url("assets/moon-texture.svg") center / cover no-repeat;
  box-shadow: 0 0 26px #c4b6df40;
  opacity: .46;
}
.program-ritual::after { opacity: .26; }
