/* November refinement: the three principal services and the shared references. */
:root { --change-background: #ebe8dd; }
.topic-change { background: var(--change-background); color: var(--graphit); }
.home-page #themen .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(1.6rem + 6px); align-items: start; }
.home-page #themen .service-card { min-height: 0; padding: 2rem; display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; }
.home-page #themen .service-card p { max-width: 60ch; }
.home-page #themen .service-card > a { margin-top: .75rem; padding: .35rem 0; border: 0; display: inline-flex; align-items: center; justify-content: space-between; gap: 1rem; max-width: 100%; line-height: 1.4; }
.home-page #themen .service-card > a:hover { text-decoration: underline; text-underline-offset: 4px; }
.home-page #themen .service-card > a > span { flex-shrink: 0; font-size: 1.25rem; }
.mega-offers { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(1.3rem + 6px); align-items: start; }
.mega-offer { min-height: 0; }
.mega-destination { margin-top: .75rem; padding: .35rem 0; border: 0; width: fit-content; max-width: 100%; }
.mega-description { max-width: 56ch; }
.mega-title { max-width: 32ch; }
@media (max-width: 700px) {
  .home-page #themen .service-grid, .mega-offers { grid-template-columns: minmax(0, 1fr); }
  .home-page #themen .service-card { min-height: 0; padding: 1.5rem; }
  .mega-offer { min-height: 0; }
}
@media (max-width: 1024px) { .mega-offers { gap: calc(.8rem + 6px); } }
.site-header { position: relative; top: auto; }
.site-header .menu-root-linkedin .linkedin-link svg { width: 25px; height: 25px; fill: currentColor; }
.site-header .menu-root-linkedin .linkedin-link { color: var(--graphit); }
.site-header .menu-root-linkedin .linkedin-link:hover { color: var(--black-cherry); transform: translateY(-2px); }
.reference-grid img { filter: grayscale(1); opacity: .72; }
.service-redesign { background: var(--white); }
.service-redesign h1, .service-redesign h2, .service-redesign h3 { hyphens: auto; overflow-wrap: anywhere; letter-spacing: 0; }
.service-redesign h1 { font-size: 4rem; line-height: 1.04; max-width: 18ch; margin: 1.5rem 0; }
.service-redesign h2 { font-size: 2.7rem; line-height: 1.12; max-width: 24ch; margin: 1rem 0 2rem; }
.service-redesign h3 { font-size: 1.45rem; line-height: 1.25; }
.service-redesign p { line-height: 1.65; }
.service-redesign [id] { scroll-margin-top: 2rem; }
.service-redesign .eyebrow { letter-spacing: 0; }
.service-hero { padding: 2.5rem 0 3.5rem; }
.service-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 4rem; }
.service-hero-copy { padding: 1rem 0; }
.service-hero-lead { font-size: 1.35rem; max-width: 38ch; margin-bottom: 2rem; }
.service-hero-photo { margin: 0; height: 520px; }
.service-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; border-radius: 72px 8px 72px 8px; }
.service-text-link { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: inherit; font-weight: 600; text-underline-offset: 5px; padding: .7rem 0; width: fit-content; max-width: 100%; }
.service-hero-copy > .service-text-link { margin-top: .8rem; font-size: .95rem; }
.service-wayfinding { background: var(--black-cherry); color: var(--white); }
.service-wayfinding > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.service-wayfinding a { color: inherit; text-decoration: none; padding: 1.7rem 1.4rem; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; border-right: 1px solid #ffffff40; font-size: 1.05rem; font-weight: 600; overflow-wrap: anywhere; }
.service-wayfinding a:last-child { border: 0; }
.service-wayfinding a:hover { background: #ffffff12; }
.service-index { font-size: .85rem; font-weight: 500; }
.service-section { padding-block: 5.5rem; }
.service-editorial { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 5rem; align-items: start; }
.service-reading { max-width: 68ch; }
.service-reading > p + p { margin-top: 1.3rem; }
.service-detail { border-top: 1px solid var(--line); padding: 0; }
.service-detail:last-child { border-bottom: 1px solid var(--line); }
.service-reading .service-detail:first-of-type { margin-top: 2rem; }
.service-detail summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.4rem 0; cursor: pointer; font-weight: 600; list-style: none; }
.service-detail summary::-webkit-details-marker { display: none; }
.service-detail summary > span:last-child { font-size: 1.5rem; flex: 0 0 auto; font-weight: 400; transition: transform .15s; }
.service-detail[open] summary > span:last-child { transform: rotate(45deg); }
.service-detail summary h3 { font-size: 1.25rem; margin: 0; flex: 1; }
.service-detail > div { padding: 0 0 1.5rem; }
.service-detail p + p { margin-top: 1rem; }
.service-expertise { background: #f2f1ed; }
.service-detail-photo { margin: 2.5rem 0 0; height: 340px; max-width: 460px; }
.service-detail-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; border-radius: 8px 56px 8px 56px; }
.service-section-head { margin-bottom: 3rem; }
.service-offer { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 5rem; border-top: 1px solid var(--line); padding: 3rem 0; }
.service-offer-title { border-left: 4px solid var(--black-cherry); padding-left: 1.5rem; }
.service-offer:nth-of-type(2) .service-offer-title { border-color: var(--deep-safron); }
.service-offer:nth-of-type(3) .service-offer-title { border-color: var(--graphit); }
.service-offer-title h3 { font-size: 1.9rem; margin: 1rem 0; }
.service-offer-title .service-text-link { margin-top: 1rem; color: var(--black-cherry); }
.service-offer-body ul { padding: 0 0 0 1.2rem; margin: 0; }
.service-offer-body li { margin: 0 0 .9rem; padding-left: .4rem; }
.service-offer-body li::marker { color: var(--black-cherry); }
.service-offer-body li p { margin: 0; }
.service-result { border-top: 1px solid var(--line); margin-top: 1.5rem; padding-top: 1.5rem; }
.service-result strong { color: var(--black-cherry); }
.service-result p { margin-top: .5rem; }
.service-approach { background: var(--graphit); color: var(--white); }
.service-approach p, .service-approach h2 { color: inherit; }
.service-approach .eyebrow { color: var(--deep-safron); }
.service-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem; }
.service-steps article { border-top: 3px solid var(--black-cherry); padding-top: 1.5rem; }
.service-steps h3 { margin: 1rem 0; }
.service-steps p + p { margin-top: 1rem; }
.service-audiences { background: #f2f1ed; }
.kk-voices { background: #f2f1ed; }
.kk-voice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.kk-voices-more > summary { cursor: pointer; font-weight: 600; color: var(--black-cherry); padding: 1.5rem 0; list-style: none; display: flex; gap: 1rem; align-items: center; }
.kk-voices-more > summary::-webkit-details-marker { display: none; }
.kk-voice { display: flex; flex-direction: column; min-width: 0; padding: 2rem; border-radius: 8px; border: 1px solid #dedbd6; background: var(--white); }
.kk-voice-context { font-size: .8rem; color: var(--text-soft); line-height: 1.5; min-height: 3em; }
.kk-quote-mark { font-size: 4rem; line-height: 1; height: 56px; color: var(--black-cherry); margin-top: 1rem; }
.kk-voice blockquote { font-size: 1.1rem; line-height: 1.6; margin: 0 0 1.5rem; }
.kk-voice-author { font-size: .95rem; font-weight: 600; margin-top: auto; padding-top: 1rem; }
.kk-voice-full { margin-top: 1rem; border-top: 1px solid var(--line); }
.kk-voice-full summary { list-style: none; display: flex; justify-content: space-between; gap: .5rem; cursor: pointer; color: var(--black-cherry); font-size: .9rem; font-weight: 600; padding-top: 1rem; }
.kk-voice-full summary::-webkit-details-marker { display: none; }
.kk-voice-source h2 { font-size: 1.65rem; margin: 1rem 0 1.5rem; line-height: 1.25; overflow-wrap: anywhere; }
.kk-voice-source blockquote { margin: 0; font-size: 1.05rem; }
.kk-voice-source p + p { margin-top: 1.2rem; }
.kk-voice-dialog { width: min(760px, calc(100% - 2rem)); max-height: calc(100dvh - 3rem); padding: 3rem; border: 0; border-radius: 8px; color: var(--graphit); background: var(--white); overscroll-behavior: contain; }
.kk-voice-dialog::backdrop { background: #212121a6; backdrop-filter: blur(3px); }
.kk-dialog-close { display: grid; place-items: center; width: 44px; height: 44px; margin: -1rem -1rem 1rem auto; border: 1px solid var(--line); border-radius: 50%; background: transparent; font-size: 1.7rem; cursor: pointer; }
.voice-is-open { overflow: hidden; }
/* Shared Change-style heroes; the sections below follow each subject's needs. */
.external-approach-points { padding-left: 1.3rem; margin: 1.5rem 0; }
.external-approach-points li { padding: .45rem 0 .45rem .35rem; }
.external-approach-points li::marker { color: #ffca57; }
.service-approach .external-about-link { color: #ffca57; margin-top: 1.5rem; }
.external-audience-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 4rem; }
.external-audience-grid article { border-top: 2px solid var(--black-cherry); padding-top: 1.3rem; min-width: 0; }
.external-audience-grid article:nth-child(even) { border-color: var(--deep-safron); }
.external-audience-grid h3 { margin: 0 0 .8rem; max-width: 30ch; }
.external-audience-grid p { max-width: 55ch; margin: 0; }
.internal-foundation { background: #f2f1ed; }
.internal-intro { max-width: 850px; }
.internal-intro h2 { margin-bottom: 1.5rem; }
.internal-intro > p:last-child { max-width: 68ch; }
.internal-audience-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 4rem; }
.internal-audience-grid article { border-top: 2px solid var(--black-cherry); padding-top: 1.4rem; min-width: 0; }
.internal-audience-grid h3 { margin: 0 0 .8rem; }
.internal-audience-grid p { max-width: 55ch; margin: 0; }
.internal-service-grid .service-index, .service-process--intern .service-index { color: var(--black-cherry); font-size: 1.6rem; font-weight: 700; }
.internal-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.internal-pillars article { padding: 2rem; background: var(--white); border-radius: 8px; }
.internal-pillars article:nth-child(2) { background: var(--graphit); color: var(--white); }
.internal-pillars article:nth-child(3) { background: var(--deep-safron); }
.internal-pillars h3 { margin: 1.5rem 0 .75rem; }
.internal-perspectives { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4rem; margin-top: 3rem; }
.internal-perspectives h3 { margin: 0 0 1rem; }
.internal-perspectives p + p { margin-top: 1rem; }
.internal-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem 4rem; }
.internal-service-grid article { border-top: 1px solid var(--line); padding-top: 1.5rem; }
.internal-service-grid h3 { margin: 1rem 0; }
.internal-service-grid p + p { margin-top: 1rem; }
.internal-service-photo { height: 290px; margin: 0; }
.internal-service-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; border-radius: 8px 56px 8px 8px; }
.service-redesign--intern .service-approach { background: var(--change-background); color: var(--graphit); }
.service-redesign--intern .service-approach .eyebrow { color: var(--black-cherry); }
.internal-approach-points { padding: 0 0 0 1.2rem; margin-top: 2rem; }
.internal-approach-points li { padding: .6rem 0; }
.personal-paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4rem; margin-top: 3.5rem; }
.personal-paths article { padding: 2.5rem; border-radius: 8px; background: var(--black-cherry); color: var(--white); }
.personal-paths article .eyebrow { color: inherit; }
.personal-paths article:nth-child(2) { background: var(--deep-safron); color: var(--graphit); }
.personal-paths h3 { font-size: 2rem; margin: 1.3rem 0 .8rem; }
.personal-paths .personal-path-lead { font-weight: 600; margin-bottom: 1.5rem; }
.personal-paths p + p { margin-top: 1rem; }
.personal-services { background: #f2f1ed; }
.personal-expertise-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4rem; align-items: stretch; }
.personal-service-photo { margin: 0; min-height: 500px; position: relative; }
.personal-service-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 25%; border-radius: 72px 8px 8px 8px; }
.personal-service-list { min-width: 0; }
.personal-service-list .service-index { font-weight: 700; }
.service-process--personal .service-index { font-size: 1.5rem; font-weight: 700; }
.personal-service-list article { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1.2rem; padding: 1.5rem 0; border-top: 1px solid var(--line); }
.personal-service-list .service-index { padding-top: .25rem; color: var(--black-cherry); }
.personal-service-list h3 { margin: 0 0 .7rem; font-size: 1.2rem; }
.personal-service-list p + p { margin-top: 1rem; }
.service-redesign--personal .service-approach { background: var(--graphit); color: var(--white); }
.service-redesign--personal .service-approach .eyebrow { color: var(--deep-safron); }
.service-redesign--personal .service-audiences { background: var(--change-background); color: var(--graphit); }
.service-redesign--personal .service-audiences a { color: inherit; text-underline-offset: 4px; }
.service-redesign--personal .service-audiences .eyebrow { color: var(--black-cherry); }
.service-redesign--personal .personal-student-link { color: var(--black-cherry); margin-top: 2.5rem; }
.service-process article { display: grid; grid-template-columns: 40px minmax(0, .8fr) minmax(0, 1.2fr); gap: 2rem; align-items: start; padding: 2rem 0; border-top: 1px solid var(--line); }
.service-process h3 { margin: 0; }
.service-process .service-index { color: var(--black-cherry); padding-top: .3rem; }
.service-process p + p { margin-top: 1rem; }
.service-process--intern article { border-top: 0; border-bottom: 1px solid var(--line); }
.service-process--intern .service-index { font-size: 1.6rem; padding: 0; }
.personal-process { max-width: 900px; margin-inline: auto; }
.personal-process .service-detail > div { padding-left: 2.2rem; max-width: 75ch; }
.internal-pillars > *, .internal-perspectives > *, .internal-service-grid > *, .personal-paths > *, .service-editorial > *, .service-offer > *, .service-process article > * { min-width: 0; }
@media (max-width: 1100px) {
  .service-redesign h1 { font-size: 3.1rem; }
  .service-redesign h2 { font-size: 2.2rem; }
  .service-hero-grid, .service-editorial, .service-offer { gap: 2.5rem; }
  .service-hero-photo { height: 460px; }
  .kk-voice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .external-audience-grid, .internal-audience-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .internal-perspectives, .internal-service-grid, .personal-paths { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  .internal-pillars { grid-template-columns: minmax(0, 1fr); }
  .internal-pillars article { padding: 1.5rem; }
  .internal-pillars h3 { margin-top: .8rem; }
  .personal-expertise-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .personal-service-photo { height: 340px; min-height: 0; }
  .personal-paths article { padding: 1.5rem; }
  .personal-paths h3 { font-size: 1.6rem; }
  .service-process article { grid-template-columns: 32px minmax(0, 1fr); gap: 1rem; }
  .service-process article > div { grid-column: 2; }
  .personal-process .service-detail > div { padding-left: 0; }
  .service-hero-grid, .service-editorial, .service-offer, .service-steps { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .service-section { padding-block: 3.5rem; }
  .service-redesign h1 { font-size: 2.65rem; }
  .service-redesign h2 { font-size: 2rem; }
  .service-hero { padding: 1rem 0 2.5rem; }
  .service-hero-photo { height: 340px; }
  .service-hero-lead { font-size: 1.2rem; }
  .service-wayfinding > div { grid-template-columns: minmax(0, 1fr); }
  .service-wayfinding a { padding: 1.2rem 0; border-right: 0; border-bottom: 1px solid #ffffff40; }
  .service-detail-photo { height: 300px; max-width: none; }
  .service-offer-title h3 { font-size: 1.6rem; }
  .kk-voice-grid { grid-template-columns: minmax(0, 1fr); }
  .kk-voice { padding: 1.5rem; }
  .kk-voice-context { min-height: 0; }
  .kk-voice-dialog { padding: 1.5rem; }
  .kk-dialog-close { margin: 0 0 1rem auto; }
}
