
    :root {
      --navy: #111F31;
      --navy-2: #182C43;
      --navy-3: #203A55;
      --ink: #111F31;
      --blue: #00D9FF;
      --blue-soft: #66E9FF;
      --white: #FAFBFB;
      --off: #F3F6F7;
      --muted: #98A6B3;
      --line: rgba(250,251,251,.16);
      --dark-line: rgba(17,31,49,.14);
      --max: 1240px;
      --radius: 20px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--ink);
      background: var(--white);
      font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    a { color: inherit; text-decoration: none; }
    button, a { -webkit-tap-highlight-color: transparent; }

    .wrap {
      width: min(calc(100% - 48px), var(--max));
      margin: 0 auto;
    }

    .nav {
      position: fixed;
      z-index: 20;
      inset: 0 0 auto 0;
      height: 74px;
      border-bottom: 1px solid var(--line);
      background: rgba(17,31,49,.82);
      backdrop-filter: blur(18px);
      color: var(--white);
    }

    .nav-inner {
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    .brand {
      display: inline-flex;
      align-items: baseline;
      gap: 8px;
      font-size: 20px;
      font-weight: 760;
      letter-spacing: -.035em;
      white-space: nowrap;
    }

    .brand span {
      font-weight: 430;
      opacity: .72;
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 28px;
      font-size: 14px;
      color: rgba(255,255,255,.8);
    }

    .nav-links a:hover { color: var(--white); }

    .nav-cta {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 10px 14px;
      border: 1px solid rgba(255,255,255,.22);
      border-radius: 999px;
      color: var(--white) !important;
    }

    .hero {
      min-height: 92vh;
      padding: 154px 0 86px;
      color: var(--white);
      background:
        radial-gradient(circle at 82% 28%, rgba(0,217,255,.24), transparent 26%),
        radial-gradient(circle at 10% 78%, rgba(102,233,255,.12), transparent 28%),
        linear-gradient(135deg, var(--navy) 0%, #14263A 58%, #182F49 100%);
      position: relative;
      overflow: hidden;
    }

    .hero::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: .28;
      background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
      background-size: 72px 72px;
      mask-image: linear-gradient(to bottom, transparent 0%, #000 24%, #000 82%, transparent 100%);
    }

    .hero-grid {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: 1.15fr .85fr;
      gap: 80px;
      align-items: end;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 28px;
      font-size: 13px;
      font-weight: 650;
      letter-spacing: .13em;
      text-transform: uppercase;
      color: var(--blue-soft);
    }

    .eyebrow::before {
      content: "";
      width: 30px;
      height: 1px;
      background: currentColor;
    }

    h1 {
      margin: 0;
      max-width: 900px;
      font-size: clamp(58px, 7.4vw, 104px);
      line-height: .93;
      letter-spacing: -.06em;
      font-weight: 760;
    }

    .hero-copy {
      max-width: 590px;
      font-size: clamp(18px, 2vw, 23px);
      line-height: 1.5;
      color: rgba(255,255,255,.74);
    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 34px;
    }

    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 48px;
      padding: 0 19px;
      border-radius: 999px;
      font-size: 14px;
      font-weight: 680;
      transition: transform .2s ease, background .2s ease, border-color .2s ease;
    }

    .button:hover { transform: translateY(-1px); }

    .button.primary {
      background: var(--white);
      color: var(--navy);
    }

    .button.secondary {
      color: var(--white);
      border: 1px solid rgba(255,255,255,.22);
      background: rgba(255,255,255,.04);
    }

    .hero-meta {
      display: grid;
      gap: 16px;
      padding: 28px 0 4px;
      border-top: 1px solid var(--line);
      color: rgba(255,255,255,.78);
    }

    .hero-meta strong {
      display: block;
      margin-bottom: 7px;
      color: var(--white);
      font-size: 15px;
    }

    .hero-meta p {
      margin: 0;
      line-height: 1.55;
      font-size: 14px;
    }

    .marquee {
      color: var(--navy);
      background: var(--off);
      border-bottom: 1px solid var(--dark-line);
    }

    .marquee-inner {
      min-height: 78px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 28px;
      flex-wrap: wrap;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .marquee-inner span:not(.label) { opacity: .72; }
    .marquee .label { color: var(--blue); }

    section {
      padding: 116px 0;
    }

    .section-head {
      display: grid;
      grid-template-columns: .75fr 1.25fr;
      gap: 80px;
      align-items: start;
      margin-bottom: 62px;
    }

    .kicker {
      font-size: 13px;
      font-weight: 720;
      letter-spacing: .13em;
      text-transform: uppercase;
      color: var(--blue);
    }

    h2 {
      margin: 0;
      max-width: 900px;
      font-size: clamp(40px, 5vw, 67px);
      line-height: 1.02;
      letter-spacing: -.05em;
      font-weight: 740;
    }

    .section-copy {
      max-width: 820px;
      margin-top: 24px;
      font-size: 18px;
      line-height: 1.65;
      color: #465366;
    }

    .cards {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      border-top: 1px solid var(--dark-line);
      border-bottom: 1px solid var(--dark-line);
    }

    .card {
      min-height: 310px;
      padding: 30px 26px 32px 0;
      border-right: 1px solid var(--dark-line);
    }

    .card + .card { padding-left: 26px; }
    .card:last-child { border-right: 0; }

    .num {
      color: var(--blue);
      font-size: 13px;
      font-weight: 760;
      letter-spacing: .08em;
    }

    .card h3 {
      margin: 62px 0 16px;
      font-size: 25px;
      letter-spacing: -.035em;
      line-height: 1.08;
    }

    .card p {
      margin: 0;
      font-size: 15px;
      line-height: 1.65;
      color: #5c6878;
    }

    .dark {
      color: var(--white);
      background:
        radial-gradient(circle at 75% 18%, rgba(0,217,255,.17), transparent 26%),
        linear-gradient(160deg, #111F31, #172B43);
    }

    .dark .section-copy { color: rgba(255,255,255,.68); }
    .dark .kicker { color: var(--blue-soft); }

    .principles {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1px;
      background: var(--line);
      border: 1px solid var(--line);
    }

    .principle {
      min-height: 255px;
      padding: 34px;
      background: rgba(17,31,49,.88);
    }

    .principle h3 {
      margin: 0 0 16px;
      font-size: 28px;
      letter-spacing: -.035em;
    }

    .principle p {
      margin: 0;
      max-width: 500px;
      color: rgba(255,255,255,.66);
      line-height: 1.65;
    }

    .work-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
    }

    .work {
      position: relative;
      min-height: 420px;
      padding: 34px;
      border: 1px solid var(--dark-line);
      border-radius: var(--radius);
      overflow: hidden;
      background:
        linear-gradient(180deg, rgba(255,255,255,1), rgba(247,249,251,1));
    }

    .work::after {
      content: "";
      position: absolute;
      right: -70px;
      bottom: -80px;
      width: 240px;
      height: 240px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(0,217,255,.12), transparent 65%);
    }

    .work-tag {
      color: var(--blue);
      font-size: 12px;
      font-weight: 760;
      letter-spacing: .11em;
      text-transform: uppercase;
    }

    .work h3 {
      margin: 82px 0 18px;
      font-size: 31px;
      line-height: 1.05;
      letter-spacing: -.045em;
    }

    .work p {
      margin: 0;
      color: #566273;
      line-height: 1.65;
    }

    .point-of-view {
      display: grid;
      grid-template-columns: 1.2fr .8fr;
      gap: 70px;
      align-items: center;
    }

    .quote {
      margin: 0;
      font-size: clamp(34px, 4vw, 58px);
      line-height: 1.08;
      letter-spacing: -.045em;
      font-weight: 690;
    }

    .themes {
      display: grid;
      gap: 0;
      border-top: 1px solid var(--dark-line);
    }

    .theme {
      padding: 22px 0;
      border-bottom: 1px solid var(--dark-line);
      display: flex;
      justify-content: space-between;
      gap: 18px;
      font-weight: 650;
    }

    .theme span:last-child { color: var(--blue); }

    .people {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
    }

    .person {
      min-height: 520px;
      padding: 0;
      border-radius: var(--radius);
      color: var(--white);
      background: linear-gradient(150deg, var(--navy), var(--navy-3));
      overflow: hidden;
      display: flex;
      flex-direction: column;
    }

    .person-photo {
      position: relative;
      height: 335px;
      overflow: hidden;
      background: linear-gradient(150deg, var(--navy-2), var(--navy-3));
    }

    .person-photo::after {
      content: "";
      position: absolute;
      inset: auto 0 0 0;
      height: 34%;
      pointer-events: none;
      background: linear-gradient(to bottom, transparent, rgba(17,31,49,.42));
    }

    .person-photo img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      object-position: center 30%;
      filter: grayscale(1) contrast(1.03);
      transform: scale(1.01);
    }

    .person-photo.joram img { object-position: center 42%; }

    .person-body {
      padding: 28px 34px 32px;
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
    }

    .person small {
      display: block;
      margin-bottom: 14px;
      color: var(--blue-soft);
      font-size: 12px;
      font-weight: 760;
      letter-spacing: .11em;
      text-transform: uppercase;
    }

    .person h3 {
      margin: 0 0 8px;
      font-size: 30px;
      letter-spacing: -.035em;
    }

    .person p {
      max-width: 520px;
      margin: 0;
      line-height: 1.6;
      color: rgba(255,255,255,.66);
    }

    .contact {
      padding: 0;
      background: var(--off);
    }

    .contact-box {
      min-height: 520px;
      padding: 70px;
      display: grid;
      grid-template-columns: 1.2fr .8fr;
      gap: 60px;
      align-items: end;
      border-radius: 28px 28px 0 0;
      color: var(--white);
      background:
        radial-gradient(circle at 80% 30%, rgba(0,217,255,.22), transparent 28%),
        linear-gradient(145deg, var(--navy), #1B3551);
    }

    .contact h2 { max-width: 760px; }

    .contact-right {
      display: flex;
      flex-direction: column;
      gap: 22px;
      align-items: flex-start;
    }

    .contact-right p {
      margin: 0;
      color: rgba(255,255,255,.68);
      line-height: 1.6;
    }

    footer {
      color: rgba(255,255,255,.62);
      background: var(--navy);
    }

    .footer-inner {
      min-height: 84px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      font-size: 13px;
    }

    .reveal {
      opacity: 0;
      transform: translateY(16px);
      transition: opacity .65s ease, transform .65s ease;
    }

    .reveal.visible {
      opacity: 1;
      transform: none;
    }



    /* --- Aktuelles: content is maintained in /content/aktuelles.js --- */
    .latest-section {
      background: var(--white);
      border-top: 1px solid var(--dark-line);
      border-bottom: 1px solid var(--dark-line);
    }

    .latest-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
    }

    .latest-card {
      min-height: 360px;
      padding: 30px;
      border: 1px solid var(--dark-line);
      border-radius: var(--radius);
      background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
      display: flex;
      flex-direction: column;
      transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
    }

    .latest-card:hover {
      transform: translateY(-2px);
      border-color: rgba(0,217,255,.32);
      box-shadow: 0 18px 42px rgba(17,31,49,.07);
    }

    .latest-meta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      color: #647287;
      font-size: 12px;
      font-weight: 720;
      letter-spacing: .09em;
      text-transform: uppercase;
    }

    .latest-category { color: var(--blue); }

    .latest-card h3 {
      margin: 54px 0 16px;
      font-size: 29px;
      line-height: 1.08;
      letter-spacing: -.04em;
    }

    .latest-card p {
      margin: 0 0 28px;
      color: #566273;
      line-height: 1.65;
      font-size: 15px;
    }

    .latest-card .link-inline { margin-top: auto; }

    .latest-empty {
      display: none;
      padding: 28px 0 0;
      color: #667386;
      font-size: 14px;
    }

    .latest-section.is-empty { display: none; }

    @media (max-width: 980px) {
      .hero-grid,
      .section-head,
      .point-of-view,
      .contact-box { grid-template-columns: 1fr; }

      .hero-grid { gap: 56px; }

      .cards { grid-template-columns: 1fr 1fr; }
      .card:nth-child(2) { border-right: 0; }
      .card:nth-child(-n+2) { border-bottom: 1px solid var(--dark-line); }
      .card:nth-child(3) { padding-left: 0; }

      .work-grid { grid-template-columns: 1fr; }
      .latest-grid { grid-template-columns: 1fr; }
      .work { min-height: 300px; }

      .people { grid-template-columns: 1fr; }
      .person-photo { height: 360px; }
      .contact-box { padding: 54px 34px; }

      .nav-links a:not(.nav-cta) { display: none; }
    }

    @media (max-width: 640px) {
      .wrap { width: min(calc(100% - 30px), var(--max)); }
      .nav { height: 66px; }
      .hero { padding: 126px 0 68px; min-height: auto; }
      h1 { font-size: clamp(52px, 16vw, 78px); }
      section { padding: 82px 0; }
      .section-head { gap: 24px; margin-bottom: 42px; }

      .cards { grid-template-columns: 1fr; }
      .card, .card + .card {
        min-height: auto;
        padding: 25px 0 30px;
        border-right: 0;
        border-bottom: 1px solid var(--dark-line);
      }
      .card:last-child { border-bottom: 0; }
      .card h3 { margin-top: 35px; }

      .principles { grid-template-columns: 1fr; }
      .principle { min-height: auto; }
      .person { min-height: 0; }
      .person-photo { height: 330px; }
      .person-body { padding: 25px 24px 28px; }

      .marquee-inner { justify-content: flex-start; padding: 19px 0; }
      .contact-box { min-height: 450px; padding: 44px 24px; }
      .footer-inner { align-items: flex-start; flex-direction: column; padding: 24px 0; }
    }
  

    /* Integrated content build */
    [id] { scroll-margin-top: 92px; }

    .card {
      position: relative;
      min-height: 410px;
    }

    .card-meta {
      margin-top: 22px;
      color: #7b8797;
      font-size: 12px;
      line-height: 1.55;
    }

    .link-inline {
      display: inline-flex;
      gap: 8px;
      align-items: center;
      margin-top: 22px;
      color: var(--blue);
      font-size: 13px;
      font-weight: 720;
    }

    .link-inline:hover { text-decoration: underline; text-underline-offset: 4px; }

    .capabilities-shell {
      background: #eef2f6;
      border-top: 1px solid var(--dark-line);
      border-bottom: 1px solid var(--dark-line);
    }

    .capability-detail {
      padding: 110px 0;
      border-bottom: 1px solid var(--dark-line);
      background: var(--white);
    }

    .capability-detail:nth-child(even) { background: #f8fafc; }
    .capability-detail:last-child { border-bottom: 0; }

    .capability-hero {
      display: grid;
      grid-template-columns: .72fr 1.28fr;
      gap: 78px;
      margin-bottom: 62px;
      align-items: start;
    }

    .capability-index {
      color: var(--blue);
      font-size: 13px;
      font-weight: 760;
      letter-spacing: .12em;
      text-transform: uppercase;
      margin-bottom: 22px;
    }

    .capability-detail h3.cap-title {
      margin: 0;
      font-size: clamp(42px, 5vw, 68px);
      line-height: 1.0;
      letter-spacing: -.05em;
    }

    .capability-intro h4 {
      margin: 0 0 18px;
      font-size: clamp(28px, 3vw, 42px);
      line-height: 1.07;
      letter-spacing: -.04em;
    }

    .capability-intro p {
      margin: 0;
      max-width: 790px;
      color: #4a5769;
      font-size: 18px;
      line-height: 1.7;
    }

    .detail-grid {
      display: grid;
      grid-template-columns: .78fr 1.22fr;
      gap: 78px;
      padding-top: 52px;
      border-top: 1px solid var(--dark-line);
    }

    .detail-label {
      color: var(--blue);
      font-size: 12px;
      font-weight: 760;
      letter-spacing: .11em;
      text-transform: uppercase;
    }

    .question-list,
    .output-list {
      list-style: none;
      margin: 0;
      padding: 0;
      border-top: 1px solid var(--dark-line);
    }

    .question-list li,
    .output-list li {
      padding: 15px 0;
      border-bottom: 1px solid var(--dark-line);
      color: #354154;
      line-height: 1.55;
    }

    .service-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0,1fr));
      gap: 1px;
      border: 1px solid var(--dark-line);
      background: var(--dark-line);
    }

    .service-item {
      min-height: 190px;
      padding: 28px;
      background: #fff;
    }

    .service-item:last-child:nth-child(odd) { grid-column: 1 / -1; }

    .capability-detail:nth-child(even) .service-item { background: #f8fafc; }

    .service-item h5 {
      margin: 0 0 12px;
      font-size: 18px;
      line-height: 1.25;
      letter-spacing: -.02em;
    }

    .service-item p {
      margin: 0;
      color: #5d6979;
      font-size: 14px;
      line-height: 1.65;
    }

    .pov-callout {
      margin-top: 52px;
      padding: 34px;
      border-radius: 20px;
      color: var(--white);
      background: linear-gradient(145deg, var(--navy), var(--navy-3));
    }

    .pov-callout .label {
      color: var(--blue-soft);
      font-size: 12px;
      font-weight: 760;
      letter-spacing: .11em;
      text-transform: uppercase;
    }

    .pov-callout h5 {
      margin: 18px 0 12px;
      max-width: 900px;
      font-size: clamp(26px, 3vw, 38px);
      line-height: 1.12;
      letter-spacing: -.035em;
    }

    .pov-callout p {
      margin: 0;
      max-width: 900px;
      color: rgba(255,255,255,.68);
      line-height: 1.65;
    }

    .outputs-block {
      margin-top: 52px;
      display: grid;
      grid-template-columns: .78fr 1.22fr;
      gap: 78px;
    }

    .selected-work-inline {
      margin-top: 42px;
      padding-top: 28px;
      border-top: 1px solid var(--dark-line);
      display: flex;
      justify-content: space-between;
      gap: 24px;
      align-items: flex-start;
    }

    .selected-work-inline strong {
      display: block;
      max-width: 760px;
      font-size: 18px;
      line-height: 1.45;
      letter-spacing: -.015em;
    }

    .impact-line {
      margin-top: 22px;
      color: var(--blue);
      font-size: 13px;
      font-weight: 720;
      line-height: 1.55;
    }

    .case-details {
      background: var(--off);
    }

    .case-detail {
      padding: 94px 0;
      border-top: 1px solid var(--dark-line);
    }

    .case-detail:first-child { border-top: 0; }

    .case-head {
      display: grid;
      grid-template-columns: .72fr 1.28fr;
      gap: 78px;
      margin-bottom: 52px;
    }

    .case-number {
      color: var(--blue);
      font-size: 12px;
      font-weight: 760;
      letter-spacing: .11em;
      text-transform: uppercase;
    }

    .case-head h3 {
      margin: 0 0 14px;
      font-size: clamp(36px, 4vw, 56px);
      line-height: 1.04;
      letter-spacing: -.045em;
    }

    .case-head p {
      margin: 0;
      max-width: 790px;
      color: #566273;
      font-size: 17px;
      line-height: 1.65;
    }

    .case-cols {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
    }

    .case-box {
      min-height: 280px;
      padding: 28px;
      border: 1px solid var(--dark-line);
      border-radius: 18px;
      background: #fff;
    }

    .case-box h4 {
      margin: 0 0 18px;
      font-size: 19px;
      letter-spacing: -.02em;
    }

    .case-box p,
    .case-box li {
      color: #596678;
      font-size: 14px;
      line-height: 1.6;
    }

    .case-box ul { margin: 0; padding-left: 18px; }

    .impact-stats {
      margin-top: 18px;
      display: grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap: 18px;
    }

    .stat {
      min-height: 150px;
      padding: 26px;
      border-radius: 18px;
      color: var(--white);
      background: linear-gradient(145deg, var(--navy), var(--navy-3));
    }

    .stat strong {
      display: block;
      margin-bottom: 10px;
      font-size: 31px;
      letter-spacing: -.045em;
    }

    .stat span {
      color: rgba(255,255,255,.66);
      font-size: 13px;
      line-height: 1.5;
    }

    .pov-articles {
      background: #fff;
    }

    .pov-article {
      display: grid;
      grid-template-columns: .72fr 1.28fr;
      gap: 78px;
      padding: 88px 0;
      border-top: 1px solid var(--dark-line);
    }

    .pov-article:first-child { border-top: 0; }

    .pov-article h3 {
      margin: 0 0 20px;
      font-size: clamp(34px, 4vw, 54px);
      line-height: 1.04;
      letter-spacing: -.045em;
    }

    .pov-article .standfirst {
      margin: 0 0 26px;
      color: #344156;
      font-size: 20px;
      line-height: 1.5;
      font-weight: 620;
    }

    .pov-article p {
      margin: 0 0 18px;
      color: #566273;
      font-size: 16px;
      line-height: 1.72;
    }

    .pov-article .takeaway {
      margin-top: 30px;
      padding-top: 24px;
      border-top: 1px solid var(--dark-line);
      color: var(--ink);
      font-size: 20px;
      line-height: 1.45;
      font-weight: 680;
      letter-spacing: -.02em;
    }

    .people .person small { margin-bottom: 42px; }
    .person .role-note { color: var(--blue-soft); margin-bottom: 10px; }

    .validation-note {
      margin-top: 28px;
      padding: 18px 20px;
      border-left: 3px solid var(--blue);
      background: rgba(0,217,255,.06);
      color: #566273;
      font-size: 13px;
      line-height: 1.6;
    }

    @media (max-width: 980px) {
      .capability-hero,
      .detail-grid,
      .outputs-block,
      .case-head,
      .pov-article { grid-template-columns: 1fr; gap: 34px; }
      .service-grid { grid-template-columns: 1fr 1fr; }
      .case-cols, .impact-stats { grid-template-columns: 1fr; }
    }

    @media (max-width: 640px) {
      .capability-detail { padding: 78px 0; }
      .service-grid { grid-template-columns: 1fr; }
      .selected-work-inline { flex-direction: column; }
      .pov-article { padding: 68px 0; }
    }


/* V5 — multi-page content architecture */
.nav-links a[aria-current="page"] { color:#fff; }
.page-hero { padding:148px 0 92px; color:#fff; background:radial-gradient(circle at 82% 28%,rgba(0,217,255,.22),transparent 26%),linear-gradient(145deg,var(--navy),#182F49); }
.page-hero .kicker { color:var(--blue-soft); margin-bottom:24px; }
.page-hero h1 { max-width:980px; font-size:clamp(48px,6.3vw,88px); }
.page-hero p { max-width:800px; margin:30px 0 0; color:rgba(255,255,255,.74); font-size:21px; line-height:1.6; }
.page-intro { padding:88px 0 36px; }
.page-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:78px; }
.page-grid + .page-grid { margin-top:58px; padding-top:48px; border-top:1px solid var(--dark-line); }
.section-label { color:var(--blue); font-size:12px; font-weight:760; letter-spacing:.11em; text-transform:uppercase; }
.question-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; border:1px solid var(--dark-line); background:var(--dark-line); }
.question { padding:25px 26px; background:#fff; color:#354154; font-size:16px; line-height:1.55; }
.offer-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.offer { min-height:220px; padding:28px; border:1px solid var(--dark-line); border-radius:18px; background:#fff; }
.offer h3 { margin:0 0 13px; font-size:22px; letter-spacing:-.025em; }
.offer p { margin:0; color:#5a6778; font-size:15px; line-height:1.65; }
.view-box { margin:64px 0 0; padding:38px; border-radius:22px; color:#fff; background:linear-gradient(145deg,var(--navy),var(--navy-3)); }
.view-box .section-label { color:var(--blue-soft); }
.view-box h2 { max-width:940px; margin:18px 0 12px; font-size:clamp(31px,4vw,52px); }
.view-box p { max-width:900px; margin:0; color:rgba(255,255,255,.7); font-size:17px; line-height:1.65; }
.sector-line { margin-top:40px; padding-top:26px; border-top:1px solid var(--dark-line); display:flex; gap:18px 34px; flex-wrap:wrap; align-items:baseline; }
.sector-line strong { font-size:14px; }
.sector-line span { color:#667386; font-size:14px; }
.why-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; border:1px solid var(--line); background:var(--line); }
.why-item { min-height:250px; padding:30px; background:rgba(17,31,49,.9); }
.why-item .num { color:var(--blue-soft); }
.why-item h3 { margin:54px 0 15px; font-size:24px; letter-spacing:-.03em; }
.why-item p { margin:0; color:rgba(255,255,255,.66); line-height:1.6; font-size:14px; }
.home-cta-row { margin-top:40px; display:flex; gap:14px; flex-wrap:wrap; }
.work-compact { min-height:370px; }
.work-compact h3 { margin-top:62px; }
.work-proof { margin-top:24px; padding-top:18px; border-top:1px solid var(--dark-line); color:var(--ink); font-size:14px; font-weight:700; line-height:1.55; }
.people .person { min-height:560px; }
.person-body p { max-width:570px; }
.insight-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.insight-card { min-height:340px; padding:30px; border:1px solid var(--dark-line); border-radius:var(--radius); background:linear-gradient(180deg,#fff,#f8fafc); display:flex; flex-direction:column; }
.insight-card .meta { display:flex; justify-content:space-between; gap:16px; color:#647287; font-size:12px; font-weight:720; letter-spacing:.08em; text-transform:uppercase; }
.insight-card .category { color:var(--blue); }
.insight-card h3 { margin:50px 0 14px; font-size:27px; line-height:1.1; letter-spacing:-.035em; }
.insight-card p { margin:0 0 24px; color:#566273; font-size:15px; line-height:1.65; }
.insight-card .link-inline { margin-top:auto; }
.article-shell { padding:92px 0 120px; }
.article-layout { display:grid; grid-template-columns:.68fr 1.32fr; gap:80px; }
.article-meta { position:sticky; top:110px; align-self:start; }
.article-meta p { color:#687586; line-height:1.6; font-size:14px; }
.article-copy { max-width:790px; }
.article-copy .standfirst { margin:0 0 30px; color:#26344a; font-size:22px; line-height:1.55; font-weight:640; }
.article-copy p { margin:0 0 22px; color:#4d5a6c; font-size:17px; line-height:1.78; }
.article-copy h2 { margin:54px 0 20px; font-size:35px; }
.article-copy .takeaway { margin-top:38px; padding:28px 0; border-top:1px solid var(--dark-line); border-bottom:1px solid var(--dark-line); color:var(--ink); font-size:23px; line-height:1.5; font-weight:690; }
.case-page { padding:94px 0; border-bottom:1px solid var(--dark-line); }
.case-page:last-child { border-bottom:0; }
.case-page .case-cols { margin-top:42px; }
.legal-note { padding:18px 20px; background:#fff8e8; border:1px solid #ead8ad; border-radius:12px; color:#6e5a25; font-size:13px; line-height:1.55; }
.footer-links { display:flex; gap:18px; flex-wrap:wrap; }
.footer-links a:hover { color:#fff; }
@media(max-width:980px){.page-grid,.article-layout{grid-template-columns:1fr;gap:34px}.why-grid{grid-template-columns:1fr 1fr}.insight-grid{grid-template-columns:1fr}.article-meta{position:static}.offer-grid,.question-grid{grid-template-columns:1fr}.why-item{min-height:220px}}
@media(max-width:640px){.page-hero{padding:122px 0 72px}.why-grid{grid-template-columns:1fr}.sector-line{display:grid;gap:8px}.why-item{min-height:auto}.insight-card{min-height:auto}}

/* Privacy page / draft placeholders */
.privacy-page .article-copy h3 { margin:42px 0 16px; font-size:25px; letter-spacing:-.025em; }
.privacy-page .article-copy h4 { margin:30px 0 12px; font-size:18px; letter-spacing:-.015em; }
.privacy-page .article-copy ul { margin:0 0 24px; padding-left:22px; color:#4d5a6c; font-size:17px; line-height:1.72; }
.privacy-page .article-copy li { margin:5px 0; }
.privacy-page .article-copy a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.privacy-draft-note { margin:0 0 34px; padding:20px 22px; border-left:3px solid var(--blue); background:rgba(0,217,255,.07); color:#445166; font-size:14px; line-height:1.65; }
.placeholder { display:inline; background:#fff2b8; box-decoration-break:clone; -webkit-box-decoration-break:clone; padding:2px 4px; color:#5a4a00; font-weight:600; }


/* V7 — brand, navigation, terrain, people and responsive hardening */
:root {
  --navy:#111F31;
  --navy-2:#182C43;
  --navy-3:#203A55;
  --ink:#111F31;
  --blue:#00D9FF;
  --blue-soft:#66E9FF;
  --white:#FAFBFB;
  --off:#F3F6F7;
  --dark-line:rgba(17,31,49,.14);
}
body { overflow-x:hidden; }
.nav { background:rgba(17,31,49,.91); }
.nav-links a { position:relative; font-weight:540; transition:color .18s ease,font-weight .18s ease; }
.nav-links a.is-active:not(.nav-cta), .nav-links a[aria-current="page"]:not(.nav-cta) { color:var(--white); font-weight:820; }
.nav-links a.is-active:not(.nav-cta)::after, .nav-links a[aria-current="page"]:not(.nav-cta)::after { content:""; position:absolute; left:0; right:0; bottom:-12px; height:2px; background:var(--blue); }
.nav-toggle { display:none; width:44px; height:44px; padding:0; border:1px solid rgba(250,251,251,.22); border-radius:999px; background:transparent; color:var(--white); align-items:center; justify-content:center; cursor:pointer; }
.nav-toggle span, .nav-toggle::before, .nav-toggle::after { content:""; display:block; width:18px; height:1.5px; background:currentColor; transition:transform .2s ease, opacity .2s ease; }
.nav-toggle span { margin:4px 0; }
.nav-toggle[aria-expanded="true"] span { opacity:0; }
.nav-toggle[aria-expanded="true"]::before { transform:translateY(5.5px) rotate(45deg); }
.nav-toggle[aria-expanded="true"]::after { transform:translateY(-5.5px) rotate(-45deg); }
.hero { background:radial-gradient(circle at 82% 28%,rgba(0,217,255,.18),transparent 26%),radial-gradient(circle at 10% 78%,rgba(102,233,255,.10),transparent 28%),linear-gradient(135deg,var(--navy) 0%,#14263A 58%,#182F49 100%); }
.marquee-inner span { color:var(--navy); opacity:1 !important; }
.marquee .label { color:var(--navy); }
.dark { background:radial-gradient(circle at 75% 18%,rgba(0,217,255,.13),transparent 26%),linear-gradient(160deg,var(--navy),#172B43); }

.terrain-section { background:var(--white); border-top:1px solid var(--dark-line); }
.terrain-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.terrain-item { min-height:290px; padding:30px; border:1px solid var(--dark-line); border-radius:var(--radius); background:linear-gradient(180deg,var(--white),#F6F8F9); }
.terrain-item h3 { margin:42px 0 16px; font-size:25px; line-height:1.08; letter-spacing:-.035em; }
.terrain-item p { margin:0; color:#566273; font-size:15px; line-height:1.65; }

.why-grid { align-items:stretch; }
.why-item { min-height:0; display:grid; grid-template-rows:subgrid; grid-row:span 3; row-gap:16px; padding:30px; background:rgba(17,31,49,.94); }
.why-item .num { align-self:start; }
.why-item h3 { margin:30px 0 0; align-self:start; font-size:24px; line-height:1.08; letter-spacing:-.03em; }
.why-item p { margin:0; align-self:start; }

.people { align-items:stretch; }
.person { height:100%; }
.person-body { display:grid; grid-template-rows:auto auto 1fr auto; align-content:start; justify-content:stretch; }
.people .person small { margin-bottom:12px; }
.person h3 { margin-bottom:14px; }
.person-copy { align-self:start; }
.person-contact { margin-top:26px; padding-top:20px; border-top:1px solid rgba(250,251,251,.18); display:flex; flex-wrap:wrap; gap:10px 20px; align-items:center; }
.person-contact a { color:var(--white); font-size:13px; font-weight:680; }
.person-contact a:hover { color:var(--blue); }
.person-photo::after { background:linear-gradient(to bottom,transparent,rgba(17,31,49,.42)); }

.contact-box { background:radial-gradient(circle at 80% 30%,rgba(0,217,255,.16),transparent 28%),linear-gradient(145deg,var(--navy),#1B3551); }
.link-inline, .kicker, .num, .section-label, .work-tag, .insight-card .category, .case-number, .detail-label, .capability-index { color:#009EBA; }
.dark .kicker, .why-item .num, .page-hero .kicker, .view-box .section-label, .pov-callout .label { color:var(--blue); }
.button.primary { background:var(--white); }

@media (max-width:1180px) {
  .nav-toggle { display:flex; flex-direction:column; }
  .nav-links { position:absolute; top:74px; left:0; right:0; display:none; flex-direction:column; align-items:stretch; gap:0; padding:14px max(24px,calc((100vw - var(--max))/2 + 24px)) 24px; background:rgba(17,31,49,.985); border-bottom:1px solid rgba(250,251,251,.14); box-shadow:0 18px 32px rgba(17,31,49,.16); }
  .nav-links.is-open { display:flex; }
  .nav-links a, .nav-links a:not(.nav-cta) { display:flex !important; width:100%; padding:14px 0; color:rgba(250,251,251,.78); font-size:16px; }
  .nav-links .nav-cta { width:max-content; margin-top:10px; padding:12px 16px; }
  .nav-links a.is-active:not(.nav-cta)::after, .nav-links a[aria-current="page"]:not(.nav-cta)::after { left:0; right:auto; bottom:7px; width:32px; }
  body.menu-open { overflow:hidden; }
  .terrain-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:980px) {
  .nav-links a:not(.nav-cta) { display:flex !important; }
  .hero { min-height:auto; padding-top:132px; }
  .hero-grid { align-items:start; }
  .hero-copy { max-width:760px; }
  .hero-meta { grid-template-columns:1fr 1fr; gap:24px; }
  .cards { grid-template-columns:1fr 1fr; }
  .why-grid { grid-template-columns:1fr 1fr; }
  .why-item { grid-template-rows:subgrid; grid-row:span 3; }
  .insight-grid { grid-template-columns:1fr 1fr; }
  .people { grid-template-columns:1fr 1fr; }
  .person-photo { height:310px; }
  .person-body { padding:26px 28px 30px; }
  .footer-inner { flex-wrap:wrap; }
}

@media (max-width:720px) {
  .wrap { width:min(calc(100% - 32px),var(--max)); }
  .nav { height:66px; }
  .nav-links { top:66px; padding-left:16px; padding-right:16px; }
  .brand { font-size:18px; }
  .hero { padding:116px 0 62px; }
  h1 { font-size:clamp(46px,14vw,68px); line-height:.96; }
  .hero-grid { gap:42px; }
  .hero-copy { font-size:18px; }
  .hero-meta { grid-template-columns:1fr; gap:16px; }
  .hero-actions .button { width:100%; }
  .marquee-inner { display:grid; grid-template-columns:1fr 1fr; gap:14px 24px; padding:20px 0; min-height:0; }
  .marquee-inner span:last-child { grid-column:1 / -1; }
  section { padding:76px 0; }
  .section-head { grid-template-columns:1fr; gap:22px; margin-bottom:38px; }
  h2 { font-size:clamp(36px,11vw,52px); }
  .section-copy { font-size:17px; }
  .cards, .terrain-grid, .why-grid, .insight-grid, .people { grid-template-columns:1fr; }
  .terrain-item { min-height:auto; }
  .terrain-item h3 { margin-top:28px; }
  .why-item { display:block; min-height:auto; padding:26px; }
  .why-item h3 { margin:34px 0 14px; }
  .person-photo { height:340px; }
  .person-body { min-height:0; display:grid; grid-template-rows:auto auto auto auto; }
  .person-copy { min-height:0; }
  .person-contact { align-items:flex-start; flex-direction:column; gap:10px; }
  .work-grid { grid-template-columns:1fr; }
  .work, .work-compact { min-height:auto; }
  .work h3, .work-compact h3 { margin-top:42px; }
  .contact-box { min-height:0; padding:40px 24px; gap:34px; }
  .contact-right .button { width:100%; }
  .footer-inner { align-items:flex-start; flex-direction:column; padding:26px 0; gap:14px; }
  .footer-links { gap:12px 18px; }
  .page-hero { padding:112px 0 64px; }
  .page-hero h1 { font-size:clamp(42px,13vw,66px); }
  .page-hero p { font-size:18px; }
  .article-shell { padding:66px 0 82px; }
  .article-copy p, .privacy-page .article-copy ul { font-size:16px; }
  .question-grid, .offer-grid { grid-template-columns:1fr; }
}

@media (max-width:380px) {
  .wrap { width:min(calc(100% - 24px),var(--max)); }
  .brand { font-size:17px; }
  h1 { font-size:44px; }
  h2 { font-size:36px; }
  .card, .card + .card { padding-left:0; padding-right:0; }
  .person-photo { height:300px; }
}

/* V7.1 responsive refinements after device QA */
.person-contact a { overflow-wrap:anywhere; }
@media (max-width:1180px) {
  .cards { grid-template-columns:1fr 1fr; }
  .card:nth-child(2) { border-right:0; }
  .card:nth-child(-n+2) { border-bottom:1px solid var(--dark-line); }
  .card:nth-child(3) { padding-left:0; }
  .why-grid { grid-template-columns:1fr 1fr; }
  .insight-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:720px) {
  .card, .card + .card { min-height:auto !important; }
  .card h3 { margin-top:34px; }
  .insight-card { min-height:auto; }
}
@media (max-width:720px) {
  .cards, .why-grid, .insight-grid { grid-template-columns:1fr; }
  .card:nth-child(2) { border-right:0; }
  .card:nth-child(3) { padding-left:0; }
  .why-item { grid-row:auto; }
}
html[lang="de"] .page-hero h1 { overflow-wrap:anywhere; hyphens:auto; }
.privacy-page .article-copy, .privacy-page .placeholder, .privacy-page a { overflow-wrap:anywhere; }
@media (max-width:1180px) {
  .hero { min-height:auto; padding:132px 0 78px; }
}
@media (max-width:720px) {
  .hero { min-height:auto; padding:116px 0 62px; }
}
