.p-head  { margin-top: var(--s-xs); }
.p-lead  { margin-top: var(--s-md); }
.p-block { margin-top: clamp(var(--s-lg), 4vw, var(--s-2xl)); }

.p-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: center;
  min-height: min(82svh, 820px);
  padding-block: clamp(4rem, 9vw, 7.5rem);
  text-align: center;
}
.p-hero__media {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.p-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 45%;
}
.p-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 45% at 50% 50%,
      rgba(0, 0, 0, .5) 0%,
      rgba(0, 0, 0, 0) 100%),
    linear-gradient(180deg,
      rgba(0, 0, 0, .72) 0%,
      rgba(0, 0, 0, .45) 55%,
      rgba(0, 0, 0, .25) 100%);
}

.p-hero__content {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-hero__title,
.section--dark .p-hero__lead { text-shadow: 0 1px 24px rgba(0, 0, 0, .35); }
.p-hero__title {
  max-width: 36ch;
  text-wrap: balance;
  font-size: clamp(2rem, 4vw, 3.75rem);
}
.section--dark .p-hero__lead {
  margin-top: var(--s-md);
  max-width: 38rem;
  color: var(--c-on-dark);
}

.p-hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--s-md) var(--s-lg);
  margin-top: var(--s-lg);
}
.p-index__group + .p-index__group { margin-top: clamp(var(--s-2xl), 7vw, var(--s-4xl)); }
.p-index__group .cluster__title { font-size: clamp(1.625rem, 2.6vw, 2.25rem); }

.p-svc__trigger {
  grid-template-columns: minmax(0, 1fr) 16px;
  align-items: start;
  padding-block: var(--s-lg);
}
.p-svc__trigger > .icon--ui  { margin-top: 0.35em; }

.p-svc__body > * { display: block; }
.p-svc__text {
  margin-top: var(--s-3xs);
  font-weight: 400;
  color: var(--c-ink-muted);
}
.p-svc .accordion__inner { padding-left: 0; }

.p-gk__media { height: 100%; min-height: clamp(320px, 34vw, 520px); }
.p-gk__media img { object-position: 50% 42%; }

.p-mb__figure { max-width: 420px; margin-left: auto; }
.p-mb__actions { margin-top: var(--s-xl); }

.p-mb__list { font-size: 1.25rem; }
.p-mb__list li {
  display: flex;
  align-items: baseline;
  gap: var(--s-sm);
  color: var(--c-on-dark);
}
.p-mb__list li + li { margin-top: var(--s-sm); }
.p-mb__list .icon {
  flex: none;
  width: 1.1em;
  height: 1.1em;
  align-self: center;
}

.p-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-md) var(--s-lg);
  margin-top: clamp(var(--s-lg), 3vw, var(--s-xl));
}

@media (max-width: 860px) {
  .p-gk__media { height: auto; min-height: 0; aspect-ratio: 3 / 2; }
  .p-mb__figure { max-width: 320px; margin-left: 0; margin-top: var(--s-xl); }
}

@media (max-width: 620px) {
  .p-hero { min-height: 70svh; }
  .p-svc__trigger { padding-block: var(--s-md); }
}
