/*
 * Gestaltungsänderungen auf Wunsch gegenüber der ChatGPT-Site (keine Fehlerkorrekturen,
 * die stehen in responsive-fixes.css).
 */

/* Zwischenüberschriften „Zusammenarbeit“ auf den Leistungsseiten („Der Rahmen ist klar“,
   „Sie haben bereits ein Marketingteam?“): vorher 600 / 24–34 px / −0,035em – wirkte zu fett und zu groß. */
.collaboration-options h3 {
  font-weight: 500;
  font-size: clamp(20px, 1.9vw, 27px);
  letter-spacing: -0.015em;
}

/* Seitenüberschriften (H1 oben auf jeder Seite) so groß und so gesetzt wie „Kreativ im Kopf.
   Strukturiert im Tun.“ (H2-Grundwerte): 46–82 px, Zeilenhöhe 1.03, Buchstabenabstand −0,04em.
   Vorher 49–98 px und enger (−0,055em). */
.hero h1,
.service-hero h1,
.content-hero h1,
.compact-content-hero h1,
.contact-page h1 {
  font-size: clamp(46px, 5.8vw, 82px);
  line-height: 1.03;
  letter-spacing: -0.04em;
}

/* Rechtstexte: unter 561 px bleibt die Originalregel (kleiner, mit Silbentrennung für „Datenschutzerklärung“). */
@media (min-width: 561px) {
  .legal-copy > h1 {
    font-size: clamp(46px, 5.8vw, 82px);
    line-height: 1.03;
    letter-spacing: -0.04em;
  }
}

/* ------------------------------------------------------------------
   Überarbeitung Mobilansicht (Auftrag vom 27.10.2026). Die Regeln unten greifen nur unter 600 px,
   außer A4 (Zeilenumbruch), A8 (Firmenname) und A9 (Einblenden).
   ------------------------------------------------------------------ */

/* A4 Überschriften: vorher stand teils ein einzelnes kurzes Wort allein in der letzten Zeile
   („an?“, „Tun.“) → jetzt gleichmäßig verteilte Zeilen. */
h1,
h2,
h3 {
  text-wrap: balance;
}

p,
li,
summary {
  text-wrap: pretty;
}

/* A8 Firmenname: vorher Umbruch am Bindestrich („ck- / kompakt“) → nie getrennt. */
.ck-name {
  white-space: nowrap;
}

/* Aufzählungen mit „·“ in den Leistungskästen: vorher „App- / Entwicklung“ und „·“ am Zeilenanfang →
   mehrteilige Begriffe bleiben zusammen (der Punkt hängt per geschütztem Leerzeichen am Begriff davor). */
.nowrap {
  white-space: nowrap;
}

/* A5/A6 Hüllen für Überzeilen und Leistungslisten: auf dem Desktop unsichtbar, Begriffe bleiben zusammen. */
.eyebrow > .eyebrow-text {
  width: auto;
  height: auto;
  background: none;
}

.service-card .tag {
  white-space: nowrap;
}

/* A9 Einblenden: vorher 0,65 s, Kopfbereiche wirkten anfangs ausgegraut → Kopfbereiche sofort sichtbar,
   übrige Abschnitte in 0,4 s. Ohne JavaScript ist ohnehin alles sichtbar (keine .js-Klasse).
   site.css enthält ältere, widersprüchliche .reveal-Regeln; site.css bleibt unverändert, diese hier gelten. */
.js .reveal {
  transition-duration: 0.4s, 0.4s;
}

.js .hero .reveal,
.js .service-hero .reveal,
.js .content-hero .reveal,
.js .compact-content-hero .reveal,
.js .contact-page-main .reveal {
  opacity: 1;
  transform: none;
  transition: none;
}

/* C 404-Seite: Buttons wie im Kopfbereich; die Linkregel der Rechtstexte (blau, unterstrichen) gilt hier nicht. */
.legal-copy .hero-actions {
  margin-top: 34px;
}

.legal-copy .hero-actions a {
  text-decoration: none;
}

.legal-copy .hero-actions .button-primary {
  color: #fff;
}

/* 404-Seite: Logo mit Untertitel „Marketing · Kommunikation · Organisation“ über der Überschrift (Wunsch Christina). */
.notfound-brand {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 48px;
}

.notfound-brand img {
  width: 64px;
  height: auto;
}

.notfound-brand span {
  color: var(--ink-soft);
  font: 500 12px/1.3 var(--display);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

@media (max-width: 600px) {
  /* A1 Hintergrund-Kreise: liefen mitten durch Überschriften, Text und Buttons → ausgeblendet. */
  .hero-orbit,
  .service-hero-orbit,
  .contact-page-orbit {
    display: none;
  }

  /* A3 Abstände: vorher 90 px oben und unten je Abschnitt (180 px zwischen zwei Abschnitten) → 60 px. */
  .section {
    padding-block: 60px;
  }

  /* Überschrift → Inhalt: vorher 60–100 px → 28 px (bzw. 40 px vor Kästen und Listen). */
  .intro-grid,
  .home-about-grid,
  .home-cta-grid,
  .content-hero-grid,
  .story-grid,
  .values-head,
  .simple-cta-grid,
  .contact-page-grid,
  .modes-head,
  .service-hero-grid,
  .service-intro-grid,
  .detail-services-head,
  .collaboration-grid,
  .scope-grid,
  .service-close-grid,
  .contact-form-grid,
  .faq-grid,
  .references-head {
    gap: 28px;
  }

  .intro-copy {
    padding-top: 0;
  }

  .service-grid,
  .mode-list,
  .value-grid {
    margin-top: 40px;
  }

  /* A2 Kopfbereich Startseite: vorher 1.279 px hoch, das Bild kam erst nach Texten und Buttons.
     Jetzt: Überzeile, Überschrift, Einleitung, Bild (90 % breit wie das Foto weiter unten), Buttons.
     Der zweite Absatz („Projektbezogen, …“) ist mobil ausgeblendet. */
  .hero {
    padding-top: 110px;
    padding-bottom: 48px;
  }

  .hero-grid {
    gap: 0;
  }

  .hero-copy {
    display: contents;
  }

  .hero-copy > .eyebrow {
    order: 1;
  }

  .hero h1 {
    order: 2;
    margin-bottom: 24px;
  }

  .hero-visual {
    order: 4;
    width: 90%;
    margin: 10px auto 28px;
    justify-self: center;
  }

  .hero-lead {
    order: 3;
  }

  .hero-detail {
    display: none;
  }

  .hero-actions {
    order: 5;
    margin-top: 10px;
  }

  /* Link „Meine Leistungen ↓“ unter „Kontakt aufnehmen“: auf Christinas Wunsch mobil ausgeblendet. */
  .hero .hero-actions .text-link {
    display: none;
  }

  /* A5 Überzeilen: vorher teils zwei bis drei Zeilen → einzeilig, lange Fassungen gekürzt
     (z. B. „Flexibel unterstützen“), Buchstabenabstand 0,16em → 0,08em. */
  .eyebrow {
    letter-spacing: 0.08em;
  }

  .eyebrow .eyebrow-lang {
    display: none;
  }

  /* A6 Leistungslisten Startseite: vorher Ketten mit „·“, Punkte und „&“ an den Zeilenrändern →
     jeder Begriff in einer eigenen Zeile mit „↳“ wie auf dem Desktop
     (umrandete Etiketten wirkten wie Buttons, auf Christinas Wunsch ersetzt). */
  .service-card ul {
    gap: 7px;
  }

  .service-card li {
    display: block;
  }

  .service-card li::before,
  .service-card .tag-sep {
    display: none;
  }

  .service-card .tags {
    display: grid;
    gap: 7px;
  }

  .service-card .tag {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    white-space: normal;
  }

  .service-card .tag::before {
    content: "↳";
  }

  /* A7 Fuß: vorher rutschte „Barrierefreiheit“ allein in eine neue Zeile → ©-Hinweis in eigener Zeile,
     die drei Rechtslinks gemeinsam darunter. */
  .legal {
    row-gap: 4px;
  }

  .legal > span:first-child {
    flex-basis: 100%;
  }
}

/* A5 sehr schmale Handys (bis 370 px): „Ein Thema. Ein Überblick.“ passt sonst nicht in eine Zeile. */
@media (max-width: 370px) {
  .eyebrow {
    letter-spacing: 0.05em;
  }
}

/* Fuß, Spalte „Kontakt“: vorher ungleiche Abstände (Name | Adresse | Telefon | E-Mail in Gruppen, 8–14 px Lücken)
   → Name, Straße, Ort, Telefon und E-Mail in gleichen Zeilen von 24 px (zugleich Tippfläche für Telefon/E-Mail). */
.site-footer .footer-grid .footer-contact address > * {
  display: flex;
  align-items: center;
  min-height: 24px;
  margin: 0;
  padding: 0;
}

/* Ab 821 px: Navigationsspalte mit etwas mehr Zeilenabstand (vorher 24 px, jetzt rund 30 px),
   damit „Kontakt“ und die E-Mail-Adresse auf einer Linie abschließen. */
@media (min-width: 821px) {
  .site-footer .footer-grid > nav {
    grid-template-rows: repeat(5, 23px);
    row-gap: 6.875px;
    height: auto;
  }

  .site-footer .footer-grid .footer-contact {
    height: auto;
  }
}

/* Kontaktformular: Erfolgsmeldung nach dem Absenden war nur kleiner Text (12 px) unter dem Button
   → deutlich sichtbarer Hinweis mit Häkchen (Wunsch Christina). */
.form-status.is-success {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  max-width: 620px;
  margin: 18px 0 0;
  padding: 18px 20px;
  border-left: 4px solid var(--brand);
  border-radius: 6px;
  background: var(--blue-light);
  color: var(--ink);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.45;
}

.form-status.is-success::before {
  content: "✓";
  display: grid;
  flex: 0 0 28px;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--brand);
  color: #fff;
  font-size: 16px;
  line-height: 1;
}

/* Silbentrennung: lange Wörter in Überschriften wurden auf Handy und Tablet mitten im Wort umbrochen
   („Projektmanagemen / t“) → korrekte Trennung mit Bindestrich, nur wo der Platz knapp ist
   (Handy; bei mittleren Breiten nur in den schmalen Kästen). Großer Desktop bleibt ohne Trennung. */
@media (max-width: 600px) {
  h1,
  h2,
  h3 {
    -webkit-hyphens: auto;
    hyphens: auto;
    hyphenate-limit-chars: 12 5 5;
  }
}

@media (min-width: 601px) and (max-width: 1100px) {
  .service-card h3,
  .detail-card h3,
  .cross-link h3 {
    -webkit-hyphens: auto;
    hyphens: auto;
    hyphenate-limit-chars: 12 5 5;
  }
}

/* Leistungskästen der Startseite: Pfeile „↳“ durch Häkchen ersetzt (Wunsch Christina).
   Desktop: ein Haken vorne pro Zeile; Handy: ein Haken (im Kreis) pro Begriff. */
.service-card li::before {
  content: "✓";
}

@media (max-width: 600px) {
  .service-card .tag::before {
    content: "✓";
  }
}

/* Leistungs-Überschriften („Marketingberatung / Konzeption“): ausgeglichene Zeilen trennten sonst
   ohne Not am weichen Trennstrich („Werbe- / strategien“). */
#main .detail-card h3 {
  text-wrap: pretty;
}

@media (max-width: 600px) {
  /* Überschriften auf dem Handy kleiner: vorher 46–50 px, lange Wörter passten nicht in die Zeile. */
  #main h1,
  #main h2 {
    font-size: clamp(32px, 10vw, 42px);
  }

  #main .legal-copy > h1 {
    font-size: clamp(30px, 9vw, 40px);
  }

  #main .legal-copy h2 {
    font-size: clamp(21px, 6.4vw, 25px);
  }

  #main .service-card h3,
  #main .cross-link h3 {
    font-size: clamp(23px, 7vw, 30px);
  }

  #main .detail-card h3 {
    font-size: clamp(19px, 5.6vw, 22px);
  }
}

/* Link unter „Kontakt aufnehmen“ (z. B. „Leistungen ansehen ↓“): untereinander bündig mit dem
   Text im Button statt mit dessen Rand. */
@media (max-width: 560px) {
  .hero-actions .text-link {
    margin-left: 26px;
  }
}

/* Kopfzeile Handy: Untertitel neben dem Logo wieder sichtbar, dreizeilig gestapelt. */
@media (max-width: 560px) {
  .site-header .brand {
    gap: 12px;
  }

  .site-header .brand-copy small {
    display: flex;
    flex-direction: column;
    gap: 2px;
    color: var(--ink-soft);
    font-size: 9.5px;
    line-height: 1.2;
    letter-spacing: 0.1em;
  }

  .site-header .brand-copy .brand-sep {
    display: none;
  }
}

/* Menü auf Handy und Tablet: vorher 23 px Schrift mit großen Abständen, mittig im Bild →
   ruhige Liste mit Trennlinien, oben beginnend, „Kontakt“ als Button. */
@media (max-width: 960px) {
  .site-nav {
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: 96px var(--side) 32px;
    overflow-y: auto;
  }

  .site-nav a {
    padding: 15px 0;
    border-bottom: 1px solid var(--line);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.3;
  }

  .site-nav a[aria-current="page"] {
    font-weight: 700;
  }

  .site-nav .nav-contact {
    margin-top: 28px;
    padding: 15px 22px;
    border: 0;
    border-radius: 50px;
    background: var(--brand);
    color: #fff;
    text-align: center;
  }

  #site-nav .nav-contact,
  #site-nav .nav-contact[aria-current="page"] {
    color: #fff;
    text-decoration: none;
  }
}

/* Geöffnetes Handy-Menü: Logo und Untertitel bleiben oben sichtbar. */
@media (max-width: 960px) {
  .site-header .brand {
    position: relative;
    z-index: 3;
  }
}

/* Leistungslisten Startseite, Handy: Häkchen im Kreis wie in den Leistungskästen der Unterseiten
   (vorher einfaches Häkchen; Wunsch Christina). */
@media (max-width: 600px) {
  .service-card .tag {
    grid-template-columns: 22px minmax(0, 1fr);
    column-gap: 9px;
    align-items: center;
  }

  .service-card .tag::before {
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border: 1px solid rgba(0, 106, 178, 0.38);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    color: var(--brand);
    font-size: 13px;
    line-height: 1;
  }
}

/* Barrierefreiheit (WCAG 1.4.12 Textabstände): „wie wir zusammenarbeiten.“ durfte nicht umbrechen und lief
   bei vergrößerten Text-/Wortabständen über den Rand → bleibt als Einheit zusammen, bricht aber notfalls um.
   Die drei Kästen „Punktuell / Ergänzend / Kontinuierlich“ dürfen dafür schmaler werden. */
.no-break {
  display: inline-block;
  max-width: 100%;
  white-space: normal;
}

.mode-list > * {
  min-width: 0;
}

/* Fuß: LinkedIn-Symbol neben der Überschrift „Kontakt“ (einfacher Link, lädt nichts von LinkedIn).
   Farbe: offizielles LinkedIn-Blau #0A66C2 (Markenrichtlinie: Blau, Schwarz oder Weiß). */
.footer-contact > span {
  gap: 10px;
}

.footer-contact .footer-social {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  min-height: 24px;
  color: #0a66c2;
}

.footer-contact .footer-social:hover,
.footer-contact .footer-social:focus-visible {
  color: #004182;
}

/* Korrektur: Die verkleinerten Abschnittsabstände auf dem Handy (60 px) galten auch für den ersten Abschnitt
   von Über mich, Referenzen, Kontakt und den Rechtstexten – deren Überzeile lag dann unter der festen
   Kopfzeile (74 px). Erster Abschnitt jetzt wie auf der Startseite 110 px Abstand nach oben. */
@media (max-width: 600px) {
  .legal-content.section,
  .content-hero.section,
  .contact-page-main.section {
    padding-top: 110px;
  }
}

/* Überzeilen „Ein Thema. Ein Überblick.“ (Organisation): auf sehr kleinen Handys (bis 370 px) zweizeilig
   → dort nur „Ein Überblick.“. „Informationen zur Datenverarbeitung“ (Datenschutz) nutzt die Kurzfassung
   bis 600 px über .eyebrow-lang (siehe oben). */
@media (max-width: 370px) {
  .eyebrow .eyebrow-lang-xs {
    display: none;
  }
}

/* Hintergrund-Kreise: auf Wunsch von Christina auf allen Seiten und Geräten ausgeblendet
   (liefen durch Navigation, Text und den Namen auf der Kontaktseite). */
.hero-orbit,
.service-hero-orbit,
.contact-page-orbit,
.home-cta-orbit,
.contact-orbit {
  display: none;
}

/* Kontaktseite: Kasten „Ihre Ansprechpartnerin – Christina Kälber“ mit LinkedIn-Symbol rechts neben dem Namen
   (ersetzt den Kopf „Kontakt / Christina Kälber“ und den LinkedIn-Kasten). Offizielles LinkedIn-Blau. */
.contact-person-name {
  display: flex;
  align-items: center;
  gap: 12px;
}

.contact-linkedin {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  color: #0a66c2;
}

.contact-linkedin:hover,
.contact-linkedin:focus-visible {
  color: #004182;
}

/* Kopfzeile einheitlich: Auf Über mich, Referenzen, Kontakt und den Rechtstexten waren Fläche und Linie sofort
   sichtbar, auf Startseite und Leistungsseiten erst beim Scrollen (Hinweis Christina) → überall wie auf der
   Startseite: oben ohne Linie, beim Scrollen mit Fläche und Linie. */
.content-page .site-header:not(.scrolled) {
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

/* Kontaktseite: „Kontakt / Christina Kälber“ bündig mit dem Text in den Kästen darunter
   (Kasten-Innenabstand 30 px bzw. 24 px auf dem Handy, plus 1 px Rahmen). */
.contact-person {
  padding-left: 31px;
}

@media (max-width: 560px) {
  .contact-person {
    padding-left: 25px;
  }
}

/* Leistungslisten Startseite (Tablet und Desktop): Schrift 16 → 15 px, damit mehr Begriffe in eine Zeile passen
   (Wunsch Christina). Begriffe wie „Aufgaben & Termine“ bleiben ungetrennt. */
@media (min-width: 601px) {
  .service-card li {
    font-size: 15px;
  }
}
