:root {
  color-scheme: dark;
  --orange: #f79318;
  --ink: #f1f2ef;
  --gray: #cdd3d7;
  --line: #68727b;
  --paper: #4b545d;
}
body { background: #424a52; }
.header { background: #424a52; }
.brand {
  background: #fff;
  padding: 10px 14px;
  border-radius: 3px;
}
.brand img { width: 317px; }
em, .services h3 b, footer strong span { color: #ffa632; }
.intro, .section-intro, .services p, .approach-copy, .steps p,
.contact-grid p, .project-list p,
.profile-grid>div>p:not(.eyebrow):not(.profile-role) { color: #e0e4e7; }
.section-heading h2 span { color: #d4dbe0; }
.hero-bottom, .art-caption, .art-label, .service-top,
.draft-note, .expertise-strip, .experience-note, .profile-role,
.project-context small, .profile-facts dt, .contact-details dt,
.contact-more, .footer-links button, footer p { color: #d0d7dc; }
.art-label { background: #424a52; }
.orbit { border-color: #78838d; }
.orbit-two { border-color: #616d78; }
.sphere {
  box-shadow: inset -12px -14px 30px #0c10174d, 0 0 65px #dce5e50c;
}
.sphere-shadow { background: #06090cb3; }
.button { color: #22262a; }
.services ul { color: #e6eaed; }
.service-icon, .services li:before, .services summary,
.steps article>span, .project-context span, .text-link,
.monogram span { color: #ffa632; }
.steps article, .profile-facts>div { border-color: #707b85; }
.monogram { color: #8e9ba6; }
.header nav a:hover, .contact-more:hover,
.contact-details a:hover, dialog p a:hover { color: #ffb656; }
footer small { color: #c9d1d7; }
dialog { background: #4b545d; }
dialog p:not(.eyebrow), .close { color: #e0e6eb; }
dialog::backdrop { background: #070c11b8; }
:focus-visible { outline-color: #ffb656; }
.hero { column-gap: 36px; }
.original-sphere-window {
  position: absolute;
  width: 330px;
  height: 370px;
  top: 62px;
  left: calc(50% - 165px);
  overflow: hidden;
  border-radius: 3px;
  background: transparent;
}
.original-sphere-window img {
  position: absolute;
  width: 1710px;
  max-width: none;
  height: 445px;
  left: -94px;
  top: -37px;
  filter: url(#logo-white-to-alpha);
  clip-path: path("M0 0 H1710 V210 H393 A136.5 135 0 0 1 120 210 H0 Z");
}
.hero-original-sphere::after {
  content: "";
  position: absolute;
  width: 245px;
  height: 20px;
  left: calc(50% - 122px);
  top: 380px;
  background: #11182080;
  border-radius: 50%;
  filter: blur(10px);
}
.hero-original-sphere .label-m { top: 38px; right: 0; }
@media(max-width:720px) {
  .hero-original-sphere { margin-top: 25px; }
  .hero-original-sphere .original-sphere-window {
    top: 30px;
    transform: scale(.9);
    transform-origin: center top;
  }
}
.hero-logo { width: 100%; align-self: center; }
.hero-logo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 3px;
}
@media(max-width:720px) {
  .hero-logo { margin-top: 38px; margin-bottom: 18px; }
}
@media(max-width:1050px) { .brand img { width: 232px; } }
@media(max-width:720px) {
  .brand { padding: 9px 12px; }
  .brand img { width: 246px; }
}



.original-sphere-window { filter: url(#logo-white-outline); }
@media(max-width:720px) { .hero-original-sphere::after { top: 316px; } }

.brand-initial, .art-key, .services h3 b { color: var(--orange); font-weight: 400; }.hero-original-sphere .art-label { display: inline-flex; align-items: center; gap: 10px; }.art-key { font-size: 16px; line-height: 1; letter-spacing: 0; }
.art-hyphen { color: var(--orange); font-size: 14px; line-height: 1; letter-spacing: 0; }
.brand { background: transparent; padding: 10px 0; border-radius: 0; }.brand img { filter: url(#logo-header-dark); } @media(max-width:720px) { .brand { padding: 9px 0; } }
.brand { background: #d2d7db; padding: 9px 14px; border-radius: 3px; }.brand img { filter: none; mix-blend-mode: multiply; } @media(max-width:720px) { .brand { padding: 9px 12px; } }
.brand.brand-clean { display: flex; align-items: center; gap: 13px; width: 350px; max-width: 100%; background: transparent; padding: 0; border-radius: 0; }.brand-sphere { display: block; width: 66px; height: 66px; flex: 0 0 66px; }.brand-wordmark { display: block; flex: 1; border-left: 1px solid #aab2b9; padding-left: 13px; }.brand-title { display: flex; align-items: baseline; gap: 9px; white-space: nowrap; }.brand-pmd { font-size: 37px; color: var(--orange); line-height: 1.1; letter-spacing: -.8px; }.brand-consulting { font-size: 24px; color: #e3e7ea; line-height: 1.1; position: relative; padding-bottom: 12px; }.brand-gmbh { position: absolute; right: 0; bottom: 0; font-size: 9px; letter-spacing: .5px; }.brand-tagline { display: flex; align-items: center; justify-content: space-between; gap: 5px; margin-top: 8px; color: #d2d9de; font-size: 9px; white-space: nowrap; }.brand-tagline b { color: var(--orange); font-weight: 400; }.brand-tagline i { font-style: normal; color: #aab2b9; } @media(max-width:1050px) { .brand.brand-clean { width: 300px; gap: 10px; }.brand-sphere { width: 58px; height: 58px; flex-basis: 58px; }.brand-wordmark { padding-left: 10px; }.brand-pmd { font-size: 32px; }.brand-consulting { font-size: 20px; }.brand-tagline { font-size: 8px; } }
.original-sphere-window .hero-sphere-image { display: block; width: 330px; height: 330px; overflow: visible; }
.brand-wordmark { flex: 0 1 auto; width: max-content; }.brand-tagline { width: 100%; font-size: 9px; gap: 4px; margin-top: 5px; }.brand.brand-clean { width: max-content; } @media(max-width:1050px) { .brand.brand-clean { width: max-content; }.brand-tagline { font-size: 8px; gap: 3px; } }
.original-sphere-window { filter: none; }
/* Larger orbit labels with closely fitted background panels. */
.hero-original-sphere .art-label {
  font-size: 12px;
  line-height: 1.15;
  letter-spacing: 0.9px;
  gap: 6px;
  padding: 4px 6px;
  width: max-content;
}
.hero-original-sphere .art-key { font-size: 18px; }
.hero-original-sphere .art-key { font-size: inherit; line-height: inherit; }
/* Service labels and project-management topics on the right of the sphere. */
.hero-original-sphere .art-topics {
  position: absolute;
  right: 0;
  top: 100px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  z-index: 3;
  max-width: 165px;
}
.hero-original-sphere .art-topics .art-label { position: static; }
.art-project-topics {
  display: grid;
  gap: 12px;
  margin-top: 20px;
  padding: 4px 6px;
  background: #424a52;
  color: #e3e7ea;
  font-size: 12px;
  line-height: 1.45;
}
.art-project-title { color: var(--orange); font-size: 11px; letter-spacing: .7px; }
.hero-original-sphere .original-sphere-window {
  left: calc(50% - 245px);
  transform: scale(.85);
  transform-origin: center;
}
.hero-original-sphere .orbit-one { left: calc(50% - 275px); }
.hero-original-sphere .orbit-two { left: calc(50% - 309px); }
.hero-original-sphere::after { left: calc(50% - 202px); top: 355px; width: 225px; }
@media(max-width:720px) {
  .hero-original-sphere .original-sphere-window { left: calc(50% - 235px); transform: scale(.7); top: 25px; }
  .hero-original-sphere .orbit-one { left: calc(50% - 230px); }
  .hero-original-sphere .orbit-two { left: calc(50% - 255px); }
  .hero-original-sphere .art-topics { top: 55px; right: -8px; max-width: 145px; gap: 14px; }
  .art-project-topics { font-size: 12px; gap: 9px; margin-top: 14px; }
  .hero-original-sphere::after { left: calc(50% - 165px); top: 325px; width: 185px; }
}
@media(min-width:721px) {
  .hero-original-sphere .original-sphere-window { left: calc(50% - 265px); }
  .hero-original-sphere .orbit-one { width: 350px; height: 350px; left: calc(50% - 255px); top: 71px; }
  .hero-original-sphere .orbit-two { width: 400px; height: 400px; left: calc(50% - 280px); top: 46px; }
  .hero-original-sphere::after { left: calc(50% - 222px); }
}
/* PMD labels follow the orbit; project topics sit separately below right. */
.hero-original-sphere { height: 580px; }
.hero-original-sphere .art-topics { display: contents; }
.hero-original-sphere .art-topics .art-label { position: absolute; left: auto; z-index: 3; }
.hero-original-sphere .art-topics .label-p { top: 70px; right: 60px; }
.hero-original-sphere .art-topics .label-m { top: 215px; right: -8px; }
.hero-original-sphere .art-topics .label-d { top: 360px; right: 35px; }
.hero-original-sphere .art-project-topics {
  position: absolute;
  top: 425px;
  right: 0;
  width: 170px;
  margin: 0;
  padding: 0 0 0 12px;
  border-left: 1px solid #f7931880;
  background: transparent;
  gap: 10px;
}
.hero-original-sphere .art-caption { bottom: 10px; }
@media(max-width:720px) {
  .hero-original-sphere { height: 550px; }
  .hero-original-sphere .art-topics .label-p { top: 45px; right: 42px; }
  .hero-original-sphere .art-topics .label-m { top: 180px; right: -8px; }
  .hero-original-sphere .art-topics .label-d { top: 320px; right: 20px; }
  .hero-original-sphere .art-project-topics { top: 385px; right: 0; width: 165px; }
}
/* Equal-radius label anchors around the sphere. */
.hero-original-sphere .art-topics .art-label {
  right: auto;
  transform: translateY(-50%);
}
.hero-original-sphere .art-topics .label-p { left: calc(50% + 31px); top: 68px; }
.hero-original-sphere .art-topics .label-m { left: calc(50% + 107px); top: 230px; }
.hero-original-sphere .art-topics .label-d { left: calc(50% + 31px); top: 392px; }
.hero-original-sphere .orbit-one { left: calc(50% - 280px); top: 55px; }
.hero-original-sphere .orbit-two { left: calc(50% - 305px); top: 30px; }
.hero-original-sphere .art-project-topics { right: -22px; }
.art-project-title { font-size: 12px; letter-spacing: .3px; }
@media(max-width:720px) {
  .hero-original-sphere .orbit-one { left: calc(50% - 235px); top: 45px; }
  .hero-original-sphere .orbit-two { left: calc(50% - 260px); top: 20px; }
  .hero-original-sphere .art-topics .label-p { left: calc(50% + 62px); top: 53px; }
  .hero-original-sphere .art-topics .label-m { left: calc(50% + 135px); top: 210px; }
  .hero-original-sphere .art-topics .label-d { left: calc(50% + 62px); top: 367px; }
  .hero-original-sphere .art-project-topics { right: -12px; top: 420px; }
}
@media(max-width:720px) {
  .hero-original-sphere .orbit-one { width: 280px; height: 280px; left: calc(50% - 210px); top: 70px; }
  .hero-original-sphere .orbit-two { width: 310px; height: 310px; left: calc(50% - 225px); top: 55px; }
  .hero-original-sphere .art-topics .label-p { left: calc(50% + 23px); top: 99px; }
  .hero-original-sphere .art-topics .label-m { left: calc(50% + 75px); top: 210px; }
  .hero-original-sphere .art-topics .label-d { left: calc(50% + 23px); top: 321px; }
}
/* More compact sphere and orbits; half the vertical PMD label spacing. */
@media(min-width:721px) {
  .hero-original-sphere .original-sphere-window { transform: scale(.75); }
  .hero-original-sphere .orbit-one { width: 300px; height: 300px; left: calc(50% - 255px); top: 80px; }
  .hero-original-sphere .orbit-two { width: 340px; height: 340px; left: calc(50% - 275px); top: 60px; }
  .hero-original-sphere .art-topics .label-p { left: calc(50% + 67px); top: 149px; }
  .hero-original-sphere .art-topics .label-m { left: calc(50% + 85px); top: 230px; }
  .hero-original-sphere .art-topics .label-d { left: calc(50% + 67px); top: 311px; }
  .hero-original-sphere::after { left: calc(50% - 200px); top: 340px; width: 190px; }
}
@media(max-width:720px) {
  .hero-original-sphere .original-sphere-window { transform: scale(.62); }
  .hero-original-sphere .orbit-one { width: 238px; height: 238px; left: calc(50% - 189px); top: 91px; }
  .hero-original-sphere .orbit-two { width: 264px; height: 264px; left: calc(50% - 202px); top: 78px; }
  .hero-original-sphere .art-topics .label-p { left: calc(50% + 42px); top: 155px; }
  .hero-original-sphere .art-topics .label-m { left: calc(50% + 55px); top: 210px; }
  .hero-original-sphere .art-topics .label-d { left: calc(50% + 42px); top: 265px; }
  .hero-original-sphere::after { left: calc(50% - 155px); top: 310px; width: 165px; }
}
/* Project topics align with the D label and sit closer below it. */
.hero-original-sphere .art-project-topics {
  left: calc(50% + 73px);
  right: auto;
  top: 365px;
  padding-left: 0;
  border-left: 0;
}
@media(max-width:720px) {
  .hero-original-sphere .art-project-topics { left: calc(50% + 48px); top: 320px; width: 150px; }
}
.hero-original-sphere .art-project-topics::before {
  content: '';
  position: absolute;
  left: -12px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #f7931880;
}
/* Caption centered below the sphere and its orbits. */
.hero-original-sphere .art-caption {
  top: 425px;
  bottom: auto;
  left: calc(50% - 255px);
  width: 300px;
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: .3px;
  text-align: center;
}
@media(max-width:720px) {
  .hero-original-sphere .art-caption { top: 365px; left: calc(50% - 205px); width: 270px; }
}
/* Rotate the PMD label arc upward while preserving its radius. */
@media(min-width:721px) {
  .hero-original-sphere .art-topics .label-p { left: calc(50% + 29px); top: 95px; }
  .hero-original-sphere .art-topics .label-m { left: calc(50% + 74px); top: 165px; }
  .hero-original-sphere .art-topics .label-d { left: calc(50% + 84px); top: 247px; }
  .hero-original-sphere .art-project-topics { left: calc(50% + 90px); }
}
@media(max-width:720px) {
  .hero-original-sphere .art-topics .label-p { left: calc(50% + 18px); top: 122px; }
  .hero-original-sphere .art-topics .label-m { left: calc(50% + 47px); top: 167px; }
  .hero-original-sphere .art-topics .label-d { left: calc(50% + 55px); top: 221px; }
  .hero-original-sphere .art-project-topics { left: calc(50% + 61px); }
}
.header .nav-contact { border-color: transparent; }
.header .nav-contact span { margin-left: 8px; }
.header .nav-contact { padding-right: 31px; }
@media(max-width:720px) { .header .nav-contact { padding-right: 24px; } }
/* Service headings replace numeric labels at the top of each column. */
.services article { position: relative; }
.services h3 { margin-top: 0; padding-right: 30px; }
.services .service-prefix { color: var(--orange); }
.services article > .service-icon { position: absolute; top: 30px; right: 27px; }
.services article:last-child > .service-icon { right: 0; }
@media(max-width:720px) {
  .services article > .service-icon { top: 23px; right: 0; }
}
/* Shared row heights align all three service lists. */
@media(min-width:721px) {
  .services { grid-template-rows: auto auto auto auto; }
  .services article { display: grid; grid-template-rows: subgrid; grid-row: span 4; }
  .services article > h3 { grid-row: 1; }
  .services article > p { grid-row: 2; min-height: 0; }
  .services article > ul { grid-row: 3; align-self: start; }
  .services article > details { grid-row: 4; align-self: start; }
}
.priority-service {
  margin: 0 0 42px;
  padding: 28px 30px;
  border: 1px solid var(--line);
  border-left: 3px solid var(--orange);
  background: #ffffff04;
}
.priority-service .eyebrow { margin-bottom: 16px; color: var(--orange); }
.priority-service h3 { font-size: 30px; font-weight: 400; line-height: 1.25; margin: 0 0 16px; }
.priority-service > p:not(.eyebrow) { max-width: 750px; font-size: 15px; line-height: 1.8; color: #d2d9de; margin: 0 0 20px; }
.priority-service ul { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 28px; list-style: none; padding: 0; margin: 0; font-size: 13px; color: #e6eaed; }
.priority-service li::before { content: '—'; color: var(--orange); margin-right: 10px; }
.additional-services { margin-top: 44px; }
.additional-services-title { font-size: 28px; font-weight: 400; margin: 0 0 26px; }
.additional-services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 28px; }
.additional-services-grid article { padding: 24px 0; border-top: 1px solid var(--line); }
.additional-services-grid h4 { font-size: 21px; line-height: 1.35; font-weight: 400; margin: 0 0 14px; color: #f4f6f7; }
.additional-services-grid p { font-size: 14px; line-height: 1.85; color: #d2d9de; margin: 0; }
@media(max-width:1000px) { .additional-services-grid { grid-template-columns: repeat(2, 1fr); } }
@media(max-width:720px) {
  .priority-service { padding: 24px 20px; margin-bottom: 28px; }
  .priority-service h3 { font-size: 26px; }
  .priority-service ul, .additional-services-grid { grid-template-columns: 1fr; }
  .additional-services { margin-top: 32px; }
}
.steps article > .step-marker {
  display: block;
  flex: 0 0 9px;
  width: 9px;
  height: 10px;
  margin-top: 9px;
  background: var(--orange);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.competencies .section-heading h2 span { color: var(--orange); }
/* Consistent orange accents in the main headings of every section. */
.section-heading h2 span,
.profile h2 span,
.hero h1 em,
.approach h2 em,
.contact h2 em { color: var(--orange); }
.profile .profile-tagline {
  font-size: 21px;
  line-height: 1.5;
  color: #e6eaed;
  max-width: 340px;
  margin: 24px 0 12px;
}
.profile .profile-tagline + .profile-role { margin-top: 0; }
@media(max-width:720px) { .profile .profile-tagline { font-size: 19px; } }
.header nav { gap: 20px; font-size: 13px; }
@media(min-width:721px) and (max-width:1050px) {
  .header { height: auto; min-height: 100px; flex-wrap: wrap; gap: 20px 28px; }
  .header nav { margin-left: auto; gap: 18px; flex-wrap: wrap; }
}
@media(max-width:720px) {
  .header nav { flex-wrap: wrap; justify-content: flex-start; gap: 16px 20px; font-size: 12px; }
  .header .nav-contact { padding: 0; border: 0; }
}
/* Keep the logo and all section links available while scrolling. */
.header { position: sticky; top: 0; z-index: 100; width: 100%; max-width: none; box-shadow: 0 4px 14px #11182018; }
@media(min-width:1001px) {
  .header { padding-inline: max(64px, calc((100% - 1450px) / 2 + 64px)); }
}
html { scroll-padding-top: calc(var(--header-height, 120px) + 16px); }
.contact-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.inquiry-dialog { max-width: 600px; max-height: calc(100dvh - 40px); overflow-y: auto; }
.inquiry-dialog > p:not(.eyebrow) { margin: 18px 0 26px; }
.inquiry-form { display: flex; flex-direction: column; gap: 10px; }
.inquiry-form label { font-size: 14px; color: #f1f2ef; }
.inquiry-form label span { color: var(--orange); }
.inquiry-form input, .inquiry-form textarea {
  width: 100%; border: 1px solid #89949d; border-radius: 2px;
  background: #424a52; color: #f1f2ef; padding: 12px 14px;
  font: inherit; font-size: 16px; margin-bottom: 10px;
}
.inquiry-form textarea { resize: vertical; min-height: 130px; }
.inquiry-form .form-hint { font-size: 12px; margin: 0; }
.inquiry-form .form-preview-note { font-size: 12px; line-height: 1.6; margin: 0 0 12px; }
.inquiry-form .button { align-self: flex-start; }
.inquiry-form .button:disabled { opacity: .55; cursor: not-allowed; }
