/* Textsetzung – Zusatz zum Entwurf
   Eine Schriftgröße, keine Transparenz bei Text/Borders
   Nuancen über italic (gleiche Stärke) */

/* Index: Farbzyklus per JS (initOrbColors) — jede Zeile versetzt wie Klaviertasten */
.index__link[data-accent] {
  transition: color 0.85s ease;
}

.panel__inner,
.panel__inner * {
  font-size: 1.2rem;
  color: var(--ink);
}

.panel__hero,
.panel__hero * {
  font-size: clamp(1.55rem, 2.8vw, 1.85rem);
  font-style: italic;
  font-weight: 500;
}

.panel__body {
  line-height: 1.5;
  letter-spacing: -0.01em;
}

.panel__body--split {
  align-items: start;
  gap: 1.65rem 2.25rem;
}

.panel__hero {
  max-width: 22ch;
  line-height: 1.25;
  letter-spacing: -0.025em;
}

.panel__info,
.panel__info * {
  font-size: 14px;
  font-weight: 500;
  font-style: normal;
  line-height: 1.25;
}

.panel__info > p + p {
  margin-top: 0;
}

.panel__copy,
.panel__copy * {
  max-width: none;
  min-width: 0;
  font-style: normal;
  font-weight: 500;
}

.panel__copy h3 {
  margin: 1.45rem 0 0.35rem;
  font-style: italic;
  font-weight: 500;
  line-height: 1.3;
}

.panel__copy h3:first-child {
  margin-top: 0;
}

.panel__copy a {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.panel__copy .panel__more {
  font-size: 14px;
  font-weight: 500;
  font-style: italic;
  line-height: 1.25;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

button.panel__more {
  font-family: inherit;
}

.panel__copy > p + p,
.panel__copy > p + .panel__list {
  margin-top: 0.95rem;
}

.panel__intro {
  margin: 0 0 0.85rem;
}

/* —— Listen —— */

.panel__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.panel__list > li {
  margin: 0;
  padding: 0.7rem 0;
  border-top: 1px solid var(--ink);
}

.panel__list > li:last-child {
  padding-bottom: 0;
}

.panel__list--flush > li:first-child {
  border-top: 0;
  padding-top: 0;
}

.panel__method {
  display: grid;
  gap: 0.2rem;
}

.panel__method-title {
  display: block;
  font-style: normal;
  font-weight: 500;
  line-height: 1.3;
}

.panel__method-desc {
  display: block;
  font-style: italic;
  font-weight: 500;
  line-height: 1.4;
}

.panel__cv {
  display: grid;
  gap: 0.15rem;
}

.panel__cv-role {
  display: block;
  font-style: normal;
  font-weight: 500;
  line-height: 1.3;
}

.panel__cv-place {
  display: block;
  font-style: italic;
  font-weight: 500;
  line-height: 1.35;
}

.panel__topics > li {
  padding: 0.55rem 0;
  line-height: 1.35;
}

.panel__topics > li:first-child {
  border-top: 0;
  padding-top: 0;
}

/* Kontakt */

.panel__meta {
  display: grid;
  gap: 0;
  margin: 0;
}

.panel__meta > div {
  margin: 0;
  padding: 0.7rem 0;
  border-top: 1px solid var(--ink);
}

.panel__meta > div:first-child {
  border-top: 0;
  padding-top: 0;
}

.panel__meta > div:last-child {
  padding-bottom: 0;
}

.panel__meta,
.panel__meta *,
.panel__copy .panel__meta,
.panel__copy .panel__meta * {
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.25;
}

.panel__meta dt {
  font-style: normal;
  font-weight: 500;
  margin: 0 0 0.25rem;
}

.panel__meta dd {
  margin: 0;
  font-style: normal;
  font-weight: 500;
  line-height: 1.3;
}

.panel__meta a {
  text-decoration: none;
}

.panel__meta a:hover,
.panel__meta a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.panel__note {
  margin: 0;
  font-style: italic;
  font-weight: 500;
  line-height: 1.45;
  border-top: 0;
  padding-top: 0;
}

.panel__copy .panel__method-desc,
.panel__copy .panel__cv-place,
.panel__copy .panel__note,
.panel__copy em {
  font-style: italic;
  font-weight: 500;
}

address.panel__lead {
  font-style: normal;
}

.panel__hero address {
  font-style: italic;
}

.panel__impressum,
.panel__impressum a,
.panel__copy .panel__impressum,
.panel__copy .panel__impressum a {
  border-top: 0;
  margin-top: 1rem;
  font-size: 14px;
  font-weight: 500;
  font-style: normal;
  line-height: 1.25;
}

.panel__impressum a,
.panel__copy .panel__impressum a {
  margin-top: 0;
}

@media (max-width: 640px) {
  .panel__hero {
    max-width: none;
  }

  .panel__body--split {
    gap: 1.25rem;
  }

  .panel__list > li {
    padding: 0.65rem 0;
  }
}
