.pmi-specialty {
  --pmi-sheet: #f4efe5;
  --pmi-sheet-ink: #262238;
}

.pmi-specialty-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .88fr);
  gap: clamp(30px, 6vw, 95px);
  align-items: center;
  padding-block: clamp(28px, 5vw, 70px) clamp(56px, 9vw, 120px);
}

.pmi-specialty-label {
  color: var(--pmi-accent);
  font-size: .75rem;
  font-weight: 750;
  letter-spacing: .08em;
  line-height: 1.5;
  text-transform: uppercase;
}

.pmi-specialty-lead h1 {
  max-width: 13ch;
  margin-block: 14px 20px;
  font-size: clamp(2.3rem, 5.3vw, 5.15rem);
  line-height: 1.06;
  letter-spacing: -.052em;
  text-wrap: balance;
  overflow-wrap: break-word;
}

.pmi-specialty-lead > p:not(.pmi-specialty-label),
.pmi-specialty-section > div > p:not(.pmi-specialty-label) {
  max-width: 52ch;
  color: var(--pmi-muted);
  font-size: clamp(.98rem, 1.5vw, 1.12rem);
  line-height: 1.68;
}

.pmi-specialty-specimen {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: clamp(16px, 3vw, 32px);
  border: 1px solid var(--pmi-line);
  background: var(--pmi-surface);
}

.pmi-specialty-specimen > .pmi-specialty-label {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px 15px;
  color: var(--pmi-muted);
}

.pmi-specialty-specimen figcaption {
  color: var(--pmi-muted);
  font-size: .82rem;
  line-height: 1.6;
}

.pmi-access-formats {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  align-items: stretch;
  gap: 12px;
}

.pmi-access-paper, .pmi-access-html {
  display: flex;
  min-width: 0;
  min-height: 225px;
  flex-direction: column;
  gap: 10px;
  padding: clamp(14px, 2vw, 25px);
}

.pmi-access-paper {
  color: var(--pmi-sheet-ink);
  background: var(--pmi-sheet);
  border-bottom: 4px solid #a38bb4;
}

.pmi-access-html {
  border: 1px solid var(--pmi-line);
  border-top: 4px solid var(--pmi-accent);
  background: var(--pmi-paper);
}

.pmi-access-formats p {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: .74rem;
  font-weight: 750;
}

.pmi-access-formats p svg { width: 17px; height: 17px; flex: none; }
.pmi-access-formats strong { font-size: clamp(1.18rem, 2.45vw, 2.12rem); line-height: 1.16; letter-spacing: -.04em; }
.pmi-access-paper strong { margin-top: auto; }
.pmi-access-formats span, .pmi-access-formats time { font-size: .82rem; line-height: 1.45; }
.pmi-access-html time { color: var(--pmi-accent); font-weight: 750; }

.pmi-specialty #harmonogram {
  display: grid;
  grid-template-columns: minmax(0, .64fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(18px, 4vw, 58px);
  margin: 0;
  padding-block: clamp(27px, 5vw, 72px);
  border-top: 1px solid var(--pmi-line);
}

.pmi-specialty .pmi-offer-schedule {
  padding: clamp(15px, 2.5vw, 29px);
  border-radius: 0;
}

.pmi-specialty .pmi-offer-event h3 { font-size: 1rem; }
.pmi-specialty .pmi-offer-event time { font-variant-numeric: tabular-nums; }

.pmi-fault-plate {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: clamp(14px, 2.5vw, 28px);
  background: #232034;
  color: #faf7ff;
  border-left: 6px solid #9f7bf2;
}

.pmi-fault-plate > div { display: grid; gap: 5px; }
.pmi-fault-plate strong { font-size: clamp(2.55rem, 5vw, 4.75rem); line-height: 1; font-variant-numeric: tabular-nums; }
.pmi-fault-plate a { display: grid; gap: 6px; flex: 0 0 auto; justify-items: center; color: #faf7ff; }
.pmi-fault-plate a > span { display: grid; place-items: center; width: clamp(74px, 9vw, 112px); aspect-ratio: 1; background: #fff; color: #232034; }
.pmi-fault-plate a > span > :not(svg[viewBox="0 0 24 24"]) { width: 100%; height: 100%; display: block; }
.pmi-fault-plate small { font-size: .7rem; }

.pmi-fault-receipt {
  padding: 16px clamp(14px, 2.5vw, 28px);
  border: 1px solid var(--pmi-line);
  background: var(--pmi-paper);
}

.pmi-fault-receipt > strong { display: block; margin: 5px 0 11px; font-size: clamp(1.15rem, 2vw, 1.6rem); }
.pmi-fault-receipt dl { display: flex; flex-wrap: wrap; gap: 7px 22px; margin: 0; }
.pmi-fault-receipt dl > div { display: flex; gap: 6px; font-size: .82rem; }
.pmi-fault-receipt dt { color: var(--pmi-muted); }
.pmi-fault-receipt dd { margin: 0; font-weight: 750; }

.pmi-specialty-section {
  display: grid;
  grid-template-columns: minmax(0, .64fr) minmax(0, 1fr);
  gap: clamp(19px, 4vw, 58px);
  align-items: start;
  padding-block: clamp(27px, 5vw, 72px);
  border-top: 1px solid var(--pmi-line);
}

.pmi-specialty-section h2 {
  margin-block: 9px 13px;
  font-size: clamp(1.75rem, 3.55vw, 3.35rem);
  line-height: 1.11;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.pmi-specialty-checks, .pmi-specialty-steps {
  list-style: none;
  padding: 0;
  margin: 0;
}

.pmi-specialty-checks > li, .pmi-specialty-steps > li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 13px;
  padding-block: 16px;
  border-bottom: 1px solid var(--pmi-line);
}

.pmi-specialty-checks > li:first-child, .pmi-specialty-steps > li:first-child { border-top: 1px solid var(--pmi-line); }
.pmi-specialty-checks svg, .pmi-specialty-steps > li > span { color: var(--pmi-accent); }
.pmi-specialty-steps > li > span { padding-top: 3px; font-size: .76rem; font-weight: 750; }
.pmi-specialty-steps h3 { font-size: clamp(1.03rem, 1.8vw, 1.35rem); line-height: 1.3; margin: 0; }
.pmi-specialty-steps p { margin: 6px 0 0; color: var(--pmi-muted); font-size: .93rem; line-height: 1.6; }

.pmi-cross-editorial {
  display: grid;
  grid-template-columns: minmax(100px, .42fr) minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px clamp(18px, 4vw, 58px);
  padding-block: clamp(22px, 3vw, 40px);
  margin-block: clamp(30px, 6vw, 68px);
  border-block: 1px solid var(--pmi-line);
}

.pmi-cross-editorial h2 { font-size: clamp(1.4rem, 2.7vw, 2.3rem); line-height: 1.15; letter-spacing: -.042em; }
.pmi-cross-editorial p:not(.pmi-specialty-label) { margin-top: 8px; color: var(--pmi-muted); line-height: 1.55; }

@media (max-width: 780px) {
  .pmi-specialty-hero, .pmi-specialty-section, .pmi-specialty #harmonogram { grid-template-columns: minmax(0, 1fr); }
  .pmi-specialty-hero { gap: 24px; padding-block: 24px 48px; }
  .pmi-specialty-lead h1 { max-width: 19ch; }
  .pmi-cross-editorial { grid-template-columns: minmax(0, 1fr); justify-items: start; }
}

@media (max-width: 360px) {
  .pmi-access-formats { grid-template-columns: minmax(0, 1fr); }
  .pmi-access-paper, .pmi-access-html { min-height: 0; }
}
