/* Home/About review: existing visual language, clearer copy hierarchy. */
:is(.home-page, .about-page) #praxis,
:is(.home-page, .about-page) #persoenlich {
  scroll-margin-top: 110px;
}
.home-page .services-section .section-heading { max-width: 980px; }
.home-page .services-section .section-heading h2 {
  font-size: clamp(2rem, 4.4vw, 4.5rem);
  overflow-wrap: anywhere;
}
.home-page .service-card h3 { overflow-wrap: normal; }
.home-page .service-card > div { min-width: 0; }
/* Reserve intrinsic space for the long focus label instead of clipping it. */
@media (min-width: 1101px) {
  :is(.home-page, .about-page) .approach-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .95fr) max-content max-content max-content;
  }
  :is(.home-page, .about-page) .approach-grid > p { padding-inline: 24px; }
  :is(.home-page, .about-page) .metric { padding-inline: 20px; }
  :is(.home-page, .about-page) .metric-focus strong { white-space: nowrap; }
}
@media (max-width: 1100px) {
  :is(.home-page, .about-page) .metric-focus strong {
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
  }
}
@media (min-width: 761px) and (max-width: 1100px) {
  :is(.home-page, .about-page) .approach-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.7fr);
  }
}
/* Static practice cards: result, decision status and ongoing role are distinct. */
.about-page .impact-card,
.about-page .impact-card--dark { min-height: 0; }
.about-page .impact-card-visual,
.about-page .impact-card--dark .impact-card-visual {
  height: 244px;
  flex-basis: 244px;
  padding: 18px 24px 8px;
}
.about-page .impact-card-body { padding-bottom: 24px; }
.about-page .impact-card h3 {
  font-size: clamp(1.45rem, 1.9vw, 1.85rem);
  line-height: 1.14;
  min-block-size: 3.42em;
  overflow-wrap: anywhere;
}
.about-page .impact-card-body .impact-contribution-label {
  margin: 0 0 10px;
  color: #2b67b7;
  font-size: .65rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .17em;
}
.about-page .impact-card--dark .impact-contribution-label { color: #e6eff7; }
.about-page .impact-card-copy { margin-bottom: 28px; }
.about-page .impact-result {
  min-block-size: 118px;
  margin-top: auto;
  padding-top: 18px;
}
.about-page .impact-result p {
  font-size: clamp(1.05rem, 1.4vw, 1.2rem);
  line-height: 1.28;
}
.about-page .impact-showcase-kicker,
.about-page .impact-card small,
.about-page .now-card h3 { overflow-wrap: anywhere; }
@media (min-width: 761px) and (max-width: 1100px) {
  .about-page .impact-card--dark h3 { min-block-size: 0; }
  .about-page .impact-card--dark .impact-result { min-block-size: 0; }
}
@media (max-width: 760px) {
  .about-page .impact-card-visual,
  .about-page .impact-card--dark .impact-card-visual {
    height: 220px;
    flex-basis: 220px;
    padding-inline: 18px;
  }
  .about-page .impact-card h3 { min-block-size: 0; font-size: 1.6rem; }
  .about-page .impact-result { min-block-size: 0; }
  .about-page .impact-showcase-head h2 { overflow-wrap: anywhere; }
}
/* Personal interests are labels, not links or buttons. Static without JS. */
.about-page .personal-section {
  border-top: 1px solid rgba(36, 91, 143, .12);
  background: linear-gradient(180deg, #f8f7f4, #f4f1ec);
}
.personal-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px 32px;
  margin-bottom: 28px;
}
.personal-section-head .profile-section-head { margin: 0; flex: 1 1 480px; }
.about-page .personal-section h2 {
  font-size: clamp(1.9rem, 3.4vw, 3rem);
  line-height: 1.12;
}
.personal-motion-toggle {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  border-bottom: 1px solid rgba(36, 91, 143, .4);
  background: transparent;
  color: #245b8f;
  font: inherit;
  font-size: .8rem;
  line-height: 1.4;
  cursor: pointer;
}
.personal-motion-toggle[hidden] { display: none; }
.personal-motion-toggle:focus-visible { outline: 3px solid #245b8f; outline-offset: 5px; }
.personal-interest-viewport { width: 100%; min-width: 0; }
.personal-interest-track { display: block; }
.personal-interest-set {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 8px 0;
}
.personal-interest-set li {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  min-height: 66px;
  margin: 0;
  padding: 16px 28px;
  border: 1px solid rgba(36, 91, 143, .2);
  border-radius: 999px;
  color: #111827;
  background: rgba(255,255,255,.7);
  font-size: clamp(1.05rem, 1.5vw, 1.35rem);
  line-height: 1.3;
  white-space: nowrap;
  cursor: default;
}
.personal-interest-set li:nth-child(even) { background: #eaf1f6; }
.personal-section.is-animated .personal-interest-viewport {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
  mask-image: linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
}
.personal-section.is-animated .personal-interest-track { display: flex; width: max-content; }
.personal-section.is-animated .personal-interest-set {
  flex: 0 0 auto;
  flex-wrap: nowrap;
  padding-right: 12px;
}
.personal-interest-set[data-interest-copy] { display: none; }
.personal-section.is-animated .personal-interest-set[data-interest-copy] { display: flex; }
@media (max-width: 620px) {
  .personal-interest-set { gap: 10px; }
  .personal-interest-set li { min-height: 50px; padding: 12px 18px; font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce), (max-width: 620px) {
  .personal-section.is-animated .personal-interest-track { width: 100%; transform: none !important; }
  .personal-section.is-animated .personal-interest-viewport { overflow: visible; mask-image: none; -webkit-mask-image: none; }
  .personal-section.is-animated .personal-interest-set { flex-wrap: wrap; padding-right: 0; }
  .personal-section.is-animated .personal-interest-set[data-interest-copy] { display: none; }
  .personal-motion-toggle { display: none; }
}

/* About principles: one-line desktop titles, natural tablet/mobile wrapping. */
@media (min-width: 1101px) {
  .about-page .principle-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .about-page .principle-card {
    min-width: 0;
    container-type: inline-size;
  }
  .about-page .principle-card h3 {
    max-width: none;
    font-size: clamp(1rem, 1.35vw, 1.5rem);
    font-size: clamp(1rem, 6cqi, 1.5rem);
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
}

/* Home hero: keep the two CTAs side by side on mobile. */
@media (max-width: 520px) {
  .home-page .home-hero .hero-actions {
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
  }
  .home-page .home-hero .hero-actions > a {
    flex: 0 0 auto;
    white-space: nowrap;
  }
}
/* Reduce spacing, not text size or touch height, on the narrowest screens. */
@media (max-width: 360px) {
  .home-page .home-hero .hero-actions .button-primary {
    padding-inline: 16px;
    gap: 12px;
  }
}
