/* V008: approved V007 photographs, isolated from the delivery's demo styles. */
:root {
  --hp-hero-navy: #041d2c;
  --hp-hero-overlay: linear-gradient(90deg, rgba(4,29,44,.9) 0%, rgba(4,29,44,.84) 15%, rgba(4,29,44,.74) 32%, rgba(4,29,44,.52) 52%, rgba(4,29,44,.22) 72%, rgba(4,29,44,.04) 88%, rgba(4,29,44,0) 100%);
}
.hp-photo-page > .site-header { background-color: var(--hp-hero-navy); }
.hp-photo-page > main { padding-top: 96px; }
.hp-photo-hero {
  --hp-hero-gutter: clamp(24px, 5vw, 120px);
  position: relative;
  isolation: isolate;
  color: #fff;
  background: var(--hp-hero-navy);
}
.hp-photo-hero-layout { position: relative; z-index: 2; padding: 38px var(--hp-hero-gutter) 48px; }
.hp-photo-hero-copy { min-width: 0; }
.hp-photo-hero-copy .eyebrow { margin: 0 0 20px; color: #d6eaf2; font-size: 14px; line-height: 1.6; }
.hp-photo-hero-copy h1 {
  margin: 0 0 28px;
  font: 400 clamp(38px, 3.8vw, 60px)/1.08 'Source Serif 4', Georgia, serif;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
  hyphens: auto;
}
.hp-photo-hero-copy h1 em { color: #c5e6f4; font-weight: 350; }
.hp-photo-hero-copy > p:not(.eyebrow) { margin: 0 0 26px; color: #fff; font-size: 18px; line-height: 1.6; }
.hp-photo-hero-copy :is(.impact-hero-actions, .service-detail-hero-actions, .seminar-hero-actions) { display: flex; flex-wrap: wrap; gap: 22px; margin: 26px 0 0; }
.hp-photo-hero-copy .button { max-width: 100%; white-space: normal; line-height: 1.5; padding: 16px 20px; }
.hp-photo-hero-copy .text-link { max-width: 100%; font-size: 17px; line-height: 1.5; }
.hp-photo-hero-copy a:focus-visible { outline: 3px solid #c5e6f4; outline-offset: 6px; }
.hp-photo-picture { display: block; width: 100%; }
.hp-photo-picture img { display: block; width: 100%; height: auto; }
.hp-photo-hero > .hp-photo-picture { aspect-ratio: 16/9; }
.hp-photo-hero > .hp-photo-picture img { width: 100%; height: 100%; object-fit: contain; }
.hp-photo-hero-copy .seminar-hero-facts { margin: 26px 0; grid-template-columns: 1fr; gap: 20px; }
.hp-photo-hero-copy .seminar-hero-facts dd { font-size: 17px; }

/* Keep existing decision/support content off faces, hands and the photograph. */
.hp-hero-support { background: var(--hp-hero-navy); color: #fff; padding-block: 30px; }
.hp-hero-support :is(.impact-hero-panel, .service-focus-panel) { position: static; width: auto; max-width: none; padding: 28px; margin: 0; background: transparent; backdrop-filter: none; border: 1px solid #627986; box-shadow: none; }
.hp-hero-support .impact-hero-panel nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 30px; }
.hp-hero-support .service-focus-panel ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hp-hero-support .service-focus-panel li { grid-template-columns: 30px minmax(0, 1fr); padding: 20px 18px; }
.hp-hero-support .service-focus-panel > p { padding: 0 0 24px; }
.hp-hero-support .service-focus-panel footer { padding: 24px 0 0; }
.hp-hero-support .seminar-hero-panel > ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; margin: 0; list-style: none; gap: 24px; }
.hp-hero-support .seminar-hero-panel li { display: flex; gap: 16px; align-items: center; min-width: 0; font-size: clamp(18px, 2.2vw, 28px); }
.hp-hero-support .seminar-hero-panel li > span { font-size: 14px; color: #c5e6f4; }
.hp-hero-support .seminar-hero-panel li > i { margin-left: auto; }
.hp-hero-support .impact-hero-signature { padding-top: 24px; color: #d6eaf2; }
.hp-hero-support :is(.impact-hero-panel > p, .service-focus-panel > p) { color: #d6eaf2; }
#formate .hp-photo-picture { margin-block: 20px; aspect-ratio: 16/9; }
#formate .hp-photo-picture img { height: 100%; object-fit: contain; }

/* Contact, writing and form surfaces remain plain white, without imagery. */
.hp-site :is(.contact, .seminar-request-section, .contact-form-card, .seminar-request-form) { background: #fff; color: var(--ink); box-shadow: none; }
.hp-site .contact-copy h2 { color: var(--ink); }
.hp-site .contact-copy > p:not(.eyebrow) { color: #344c5a; }
.hp-site .contact-copy .eyebrow.light { color: var(--blue-deep); }
.hp-site .contact-actions .button-light { background: var(--blue-dark); color: #fff; border-color: var(--blue-dark); }
.hp-site .contact-actions .phone-link { color: var(--blue-dark); }
.hp-site :is(.contact-form-card, .seminar-request-form) { border: 1px solid #cad5db; }
.hp-site :is(.contact-form-card, .seminar-request-form)::before { content: none; }
.hp-site :is(.contact-form-card, .seminar-request-form) :is(input:not([type=submit],[type=checkbox]), textarea, select) { background: #fff; }
/* References keep their authentic logos with a quiet typographic opening. */
.clients-hero { background: var(--hp-hero-navy); }
.clients-hero .subhero-backdrop { background: none; transform: none; }

@media (min-width: 1280px) {
  .hp-photo-hero[data-family=library] .hp-photo-hero-copy > p:not(.eyebrow),
  .hp-photo-hero[data-family=library] .hp-photo-hero-copy > :is(.button, .service-detail-hero-actions) { max-width: calc(38vw - var(--hp-hero-gutter)); }
  .hp-photo-hero[data-photo='201'] { --hp-safe-copy: calc(21vw - var(--hp-hero-gutter)); }
  .hp-photo-hero-layout { padding-top: 24px; }
  .hp-photo-hero-copy .eyebrow { margin-bottom: 14px; }
  .hp-photo-hero[data-photo='204'] h1 { font-size: clamp(36px, 3vw, 50px); }
  .hp-photo-hero[data-photo='204'] .hp-photo-hero-layout { padding-top: 14px; }
  .hp-photo-hero { min-height: 56.25vw; }
  .hp-photo-hero::before { position: absolute; inset: 0; z-index: 1; content: ''; pointer-events: none; background: var(--hp-hero-overlay); }
  .hp-photo-hero > .hp-photo-picture { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; }
  .hp-photo-hero > .hp-photo-picture img { object-fit: cover; object-position: 100% 60%; }
  .hp-photo-hero[data-family=library] > .hp-photo-picture img { object-fit: contain; }
  .hp-photo-hero-copy .eyebrow, .hp-photo-hero-copy h1 { max-width: 48vw; }
  .hp-photo-hero-copy > p:not(.eyebrow), .hp-photo-hero-copy > dl,
  .hp-photo-hero-copy > :is(.button, .impact-hero-actions, .service-detail-hero-actions, .seminar-hero-actions) { max-width: calc(29vw - var(--hp-hero-gutter)); }
  .hp-photo-hero[data-photo='208'] { --hp-safe-copy: calc(24vw - var(--hp-hero-gutter)); }
  .hp-photo-hero[data-photo='201'] .hp-photo-hero-copy > p:not(.eyebrow),
  .hp-photo-hero[data-photo='201'] .seminar-hero-actions,
  .hp-photo-hero[data-photo='208'] .hp-photo-hero-copy > p:not(.eyebrow),
  .hp-photo-hero[data-photo='208'] .service-detail-hero-actions { max-width: var(--hp-safe-copy); }
  .hp-photo-hero[data-photo='208'] h1 { max-width: 68vw; font-size: clamp(38px, 3.3vw, 56px); }
}
@media (max-width: 1279px) {
  .hp-photo-hero-layout { padding-block: 42px; }
  .hp-photo-hero-copy { max-width: 900px; }
  .hp-photo-hero-copy h1 { font-size: clamp(38px, 5.2vw, 62px); }
  .hp-photo-hero-copy .seminar-hero-facts { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) { .hp-photo-page > main { padding-top: 86px; } }
@media (max-width: 699px) {
  .hp-photo-hero-layout { padding-block: 30px; }
  .hp-photo-hero-copy h1 { font-size: clamp(34px, 8.4vw, 46px); }
  .hp-photo-hero-copy > p:not(.eyebrow) { font-size: 17px; }
  .hp-photo-hero > .hp-photo-picture { aspect-ratio: 4/3; }
  .hp-photo-hero[data-family=library] > .hp-photo-picture { aspect-ratio: 16/9; }
  .hp-photo-hero-copy .seminar-hero-facts { grid-template-columns: 1fr; }
  .hp-hero-support .impact-hero-panel nav, .hp-hero-support .service-focus-panel ol { grid-template-columns: 1fr; }
  .hp-hero-support .seminar-hero-panel > ol { grid-template-columns: 1fr; gap: 20px; }
  .hp-hero-support .seminar-hero-panel li > i { display: none; }
  .hp-hero-support :is(.impact-hero-panel, .service-focus-panel) { padding: 24px; }
  .hp-hero-support .impact-hero-signature { flex-wrap: wrap; gap: 12px 20px; }
}
.hp-seminar-facts { padding-block: 28px; }
.hp-seminar-facts .seminar-hero-facts { margin: 0; padding: 0; border: 0; grid-template-columns: 1.5fr 1fr; }
.hp-seminar-facts .seminar-hero-facts :is(dt, dd) { color: var(--ink); }
@media (max-width: 699px) { .hp-seminar-facts .seminar-hero-facts { grid-template-columns: 1fr; } }
/* Narrow-screen QA: shrink intrinsic grid/flex children before wrapping text. */
.hp-photo-page :is(.people-heading, .decision-context-heading > div, .service-detail-intro > div, .service-perspective-layout > div) { min-width: 0; }
.hp-photo-page :is(.people-heading h2, .decision-context-heading h2, .service-perspective-layout h2) { max-width: 100%; }
.hp-photo-page .eyebrow { overflow-wrap: anywhere; }
.seminar-inquiry-strip > div { min-width: 0; max-width: 100%; }
.seminar-inquiry-title { overflow-wrap: anywhere; hyphens: auto; }
.seminar-request-steps li > span { color: var(--blue-deep); }
.hp-photo-page .service-bridge-layout > div { min-width: 0; }
@media (max-width: 699px) { #formate .hp-photo-picture { aspect-ratio: 4/3; } }
.hp-hero-support .service-focus-panel strong { min-width: 0; overflow-wrap: anywhere; hyphens: auto; }
.hp-site .contact .button, .hp-photo-page .button { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.hp-photo-page .search-steps { min-width: 0; }
.hp-photo-page .search-steps strong { min-width: 0; overflow-wrap: anywhere; hyphens: auto; }
@media (max-width: 700px) {
  .hp-photo-page :is(.people-section, .service-bridge-layout) { grid-template-columns: minmax(0, 1fr); }
}
/* Text enlargement must never force copy onto protected faces or hands. */
@media (min-width: 1280px) {
  .hp-photo-hero.hp-photo-hero--stacked { min-height: 0; }
  .hp-photo-hero--stacked::before { display: none; }
  .hp-photo-hero--stacked > .hp-photo-picture { position: relative; inset: auto; height: auto; aspect-ratio: auto; }
  .hp-photo-hero--stacked > .hp-photo-picture img { height: auto; object-fit: contain; }
  .hp-photo-hero.hp-photo-hero--stacked .hp-photo-hero-copy > * { max-width: 900px; }
}
.clients-hero .client-wordmark-field { color: #668694; }
.hp-hero-support :is(.impact-hero-panel, .service-focus-panel) { display: block; }
.hp-site .contact a:focus-visible { outline: 3px solid var(--blue); outline-offset: 6px; }
.hp-site :is(.contact-form-card, .seminar-request-form) .portfolio-form__consent { background: #fff; }

/* Keep the German compound at its intended break instead of splitting its ending. */
@media (max-width: 1279px) {
  .service-detail-strategie-und-organisation .hp-photo-hero-copy h1 {
    overflow-wrap: normal;
    hyphens: manual;
  }
}
/* German mobile typography: real hyphenation instead of arbitrary letter breaks. */
@media (max-width: 1279px) {
  .hp-site main :is(h1, h2, h3, h4, .eyebrow, .button, .text-link, .seminar-inquiry-title, .service-focus-panel strong, .seminar-topic-shortcuts a, label) {
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    hyphens: auto;
    -webkit-hyphenate-limit-before: 4;
    -webkit-hyphenate-limit-after: 4;
    hyphenate-limit-chars: 10 4 4;
  }
  .hp-site main .hp-photo-hero h1 {
    -webkit-hyphens: manual;
    hyphens: manual;
  }
  .hp-site .legal-content { overflow-wrap: anywhere; }
}
@media (max-width: 699px) {
  .hp-site .contact-actions .button[href^="mailto:"] {
    padding-inline: 16px;
    gap: 12px;
    letter-spacing: .03em;
    -webkit-hyphens: none;
    hyphens: none;
  }
}
@media (max-width: 1279px) {
  .hp-site .mobile-menu :is(a, summary) {
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    hyphens: auto;
    -webkit-hyphenate-limit-before: 4;
    -webkit-hyphenate-limit-after: 4;
    hyphenate-limit-chars: 10 4 4;
  }
}
@media (max-width: 1279px) {
  .hp-site main summary, .hp-site .service-question-list summary strong {
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    hyphens: auto;
    -webkit-hyphenate-limit-before: 4;
    -webkit-hyphenate-limit-after: 4;
    hyphenate-limit-chars: 10 4 4;
  }
}
@media (max-width: 1279px) {
  .hp-site .search-steps strong {
    hyphenate-limit-chars: 10 4 4;
    -webkit-hyphenate-limit-before: 4;
    -webkit-hyphenate-limit-after: 4;
  }
  .hp-site .growth-paths .text-link-label, .hp-site .seminar-group-label {
    overflow-wrap: break-word;
    -webkit-hyphens: manual;
    hyphens: manual;
  }
}
@media (max-width: 700px) {
  .hp-site .mandate-relevance-layout { grid-template-columns: minmax(0, 1fr); }
  .hp-site .mandate-relevance-layout > div { min-width: 0; }
}
