/* ---------- About page (extends styles.css + post.css) ---------- */

.post-head { padding-bottom: clamp(2rem, 5vh, 3rem); }

.about {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: start;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 var(--pad) clamp(3rem, 8vh, 5rem);
}

@media (min-width: 860px) {
  .about { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); }
}

.portrait {
  --tilt: -1.6deg;
  width: 100%;
  max-width: 400px;
  justify-self: center;
}

.portrait img { object-fit: cover; }

.about-text {
  font-family: var(--text);
  font-size: clamp(1.08rem, 1rem + 0.3vw, 1.22rem);
  line-height: 1.72;
  color: var(--prose);
}

.about-text p { margin: 0 0 1.35em; }

.about-text strong { font-weight: 500; color: var(--paper); }

.about-text a {
  color: var(--paper);
  text-decoration: underline;
  text-decoration-color: var(--link-line);
  text-underline-offset: 0.2em;
  transition: color 0.2s, text-decoration-color 0.2s;
}

.about-text a:hover { color: var(--amber); text-decoration-color: var(--amber); }

.about-lede {
  font-family: var(--serif);
  font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.3rem);
  line-height: 1.15;
  color: var(--paper);
  text-wrap: balance;
}

.about-lede strong { font-weight: 400; font-style: italic; color: var(--headline-2); }

.shifts { margin: 2em 0 2.2em; font-family: var(--mono); }

.shifts .log { height: auto; }

.shifts .log li { grid-template-columns: 3.4em 6em minmax(0, 1fr); }

@media (max-width: 560px) {
  .shifts .log { min-height: 0; }
  .shifts .log li { grid-template-columns: 3.4em minmax(0, 1fr); }
}

.about-contact {
  font-family: var(--mono);
  font-size: 0.8rem;
  color: var(--muted);
}

.about-contact a { font-family: inherit; }

/* ---------- Impressum ---------- */

.impressum {
  max-width: 1100px;
  margin: 0 auto clamp(4rem, 10vh, 7rem);
  padding: 0 var(--pad);
}

.impressum h2 {
  margin: 0 0 1.6rem;
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(2rem, 1.4rem + 2vw, 2.9rem);
  line-height: 1.05;
}

.impressum-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  font-size: 0.82rem;
  line-height: 1.7;
}

.impressum-grid > div {
  padding: 1.1rem 1.3rem 1.2rem;
  border: 0 solid var(--line);
  border-width: 0 1px 1px 0;
  margin: 0 -1px -1px 0;
  background: var(--panel);
}

.impressum h3 {
  margin: 0 0 0.5rem;
  font-size: 0.62rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--dim);
}

.impressum address,
.impressum p { margin: 0; font-style: normal; color: var(--paper); }

.impressum a {
  text-decoration: underline;
  text-decoration-color: var(--link-line);
  text-underline-offset: 0.2em;
}

.impressum a:hover { color: var(--amber); }
