Slogan: „Personality · Impact · Success“ steht nicht mehr im Hero unter dem
Monogramm, sondern als dunkle Plakette mit Goldrand mittig auf der Naht zwischen
Cover und Abschnitt 01 – auf beiden Sprachfassungen englisch (lang="en"). Neue
optionale `lead`-Stelle in <Section/>; Inhalt unter `positioning.slogan`. Das
Monogramm hat ab lg wieder seine alte Größe, das Cover ist 2.5 rem kürzer als
der Viewport, damit die Plakette schon auf dem ersten Bildschirm ganz zu sehen
ist. Unter lg hält `pb-10` den Kennenlern-Knopf frei von der halben Plakette.
Headline: Anelias Wortlaut „Mit starker Persönlichkeit und souveräner Wirkung
zum Erfolg!“ – drei Betonungen, Gold-Verlauf nur auf „Erfolg“. Englisch:
„Strong personality, assured impact – your way to success!“. AGENTS.md und
globals.css beschreiben die Trias-Ausnahme jetzt mit dem Slogan auf der Naht.
Trainings: viertes Modul „HR-Teambuilding & Konfliktlösung“ aus ihrer Nachricht
(Dauer offen, Text braucht ihre Freigabe – CONTENT_TODO), vierte Bremse,
Subline und Meta-Beschreibung mit HR; „Konflikte“ wandert aus dem Leadership-
Modul ins HR-Modul. Messeseite (Themenzeile 02) und „Für wen“ auf der
Startseite ziehen mit. Die englische Modultabelle zeigt jetzt englische
Spaltenköpfe (`modules.labels`, „Audience“ passt einzeilig) statt
„Modul | Ziel | Für wen“.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Beide Leistungsseiten enden jetzt mit der Terminanfrage: dasselbe Formular wie
auf der Startseite (an /api/contact), mit zwei freiwilligen Feldern –
Trainings: Wunschtermin/Zeitraum und Teamgröße, Keynotes: Datum und
Veranstaltung & Ort. Das Anliegen („Terminanfrage Training“ / „… Keynote“)
geht als `topic` mit und wird beim Hoster zum Mail-Betreff, die Felder als
`details` in die Mail. Der Knopf im Hero („Training anfragen“, „Keynote
anfragen“) springt dorthin statt ein Mailprogramm zu öffnen.
Entfallen, weil es schon auf der Seite stand:
- Trainings: „Typische Ziele“ (Spiegel der drei Bremsen), der Rahmen-Abschnitt
(= Hero-Fakten), die Randspalte im Ablauf (wiederholte die Schritte), die FAQ
zur Teilnehmerzahl; Subline ohne die Format-/Sprach-Wiederholung.
- Keynotes: die Unterbrechung „Mut zum Erfolg.“ (= H1 und Vortragstitel), die
Speaker-Facts (= Hero-Fakten; „Technik“ steht jetzt dort), die FAQ „Auf
Englisch?“; die Termine hängen direkt unter dem Vortrag.
Datenschutzerklärung Ziffer 2 und 5 (DE/EN): mehrere Formulare, die neuen
freiwilligen Felder. Ungenutzt und entfernt: TrainingsGoals, TrainingsRahmen,
TrainingsBand, FactsStrip, Interruption, `mailto` in site.ts.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Auf her-career.anelia-wolf.com liegt die Seite unter „/“. usePathname()
meldet dort „/“, und counterpart() leitete daraus folgerichtig die
englische STARTSEITE ab – wer am Stand gescannt und dann auf „EN“ getippt
hat, landete auf anelia-wolf.com/en/. Der Umschalter fragt jetzt den
hreflang-Verweis im Kopf des Dokuments: Der hängt an der Seite, nicht an
der Adresse, unter der sie ausgeliefert wird.
Am selben Wurzelproblem: Der Sprachwechsel ist wegen der zwei
Wurzel-Layouts ohnehin ein neues Dokument. Den macht jetzt der Browser
statt router.push(), und über die Sprachgrenze wird nicht mehr vorgeladen
– auf der Subdomain scheiterte der Vorabruf an CORS, mehrfach pro
Seitenaufbau.
Dazu zwei Sachen am Kopf der Messeseite: Das Monogramm steht hinter dem
Schlusspunkt der Begrüßung, 0,783 em hoch (die Oberlänge der Playfair
Display, im Browser gemessen) und auf der Grundlinie – und dafür nicht
mehr in der Kopfzeile, wo es sonst zweimal auf einem Bildschirm stünde.
Es steht dort dekorativ, sonst wandert der Text seines <title> über
SplitText ins aria-label der Überschrift.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Unter dem großen Zeichen steht jetzt der Claim „Persönlichkeit · Wirkung ·
Erfolg“ (englisch „Personality · Impact · Success“), rechtsbündig auf
dessen Kante, in der Kapitälchen-Zeile der Seite. Das Trennzeichen setzt
der Hero, wie im Ledger – im Inhalt stehen nur die drei Wörter.
Das Monogramm schrumpft dafür von 45vh auf 40vh, mobil von 14 auf 12svh:
so kostet der Claim keine Höhe, das Cover bleibt bei min-h-svh. Der
Nackenstrich endet nicht mehr an der Folio-Haarlinie, sondern an der
Oberkante des Claims (20 px bei 1440×900, 1 px Luft). Der Ursprung der
Haarlinie bleibt derselbe Punkt unter dem V – nachgemessen: --handoff-x
957+151 = 1108, transform-origin der Regel 72+1036 = 1108. Die Vertikale
liest sich Nacken → Strich → Claim → Haarlinie.
Die H1 heißt „Mit deiner Persönlichkeit entwickelst du deine Wirkung –
und deinen Erfolg.“ Sie betont drei Wörter statt einem, weil sie den
Claim wiederholt; den Gold-Verlauf trägt weiterhin genau eines. Dafür
gibt es Headline.parts, und em-plain nimmt den übrigen das Gold wieder ab
(Regel in globals.css, Ausnahme in AGENTS.md notiert).
Die Größe ist gemessen, nicht geschätzt. Playfair bei 100 px: „Mit deiner
Persönlichkeit“ = 1033 px, „entwickelst du deine Wirkung –“ = 1315 px.
max-w-[10.9em] liegt zwischen beiden, damit bricht die Headline auf jeder
Schriftgröße in dieselben vier Zeilen – der Umbruch hängt nicht mehr an
der Fensterbreite. Der Clamp bleibt zusätzlich von der Fensterhöhe
gedeckelt (22vh − 120px), für 800- und 768-px-Laptops.
HeadlinePart.tail klammert Wort und Satzzeichen in ein white-space:
nowrap. Nötig, weil SplitText die Zeilen selbst neu aufbaut: es
normalisiert U+00A0 zu einem gewöhnlichen Leerzeichen und darf an jeder
Elementgrenze umbrechen. Ohne die Klammer fing der Gedankenstrich im
Englischen eine Zeile an, mit einem Punkt statt des Strichs derselbe
Fehler. Ein Margin verschiebt den Umbruch nur, nowrap nimmt ihn weg.
02 Trainings & Workshops nimmt HR auf: „Leadership & HR mit
Persönlichkeit – für Führungskräfte und Teams.“ Die Stichworte tragen
HR-Teambuilding & Konfliktlösung und Kommunikation & Teamgeist – es geht
darum, dass ein Team sich besser kennenlernt und versteht. Bei 1280 px
bleiben 76 px Luft zur Link-Spalte.
Geprüft bei 390/1024/1180/1440/1600 px in beiden Sprachen: kein
Gedankenstrich am Zeilenanfang, kein waagerechter Überlauf, Cover trifft
die Fensterhöhe. Kein Build gelaufen – der Dev-Server einer anderen
Sitzung hält .next; geprüft ist tsc --noEmit und eslint.
Offen und nicht Teil dieses Commits: src/content/coaching.ts sichert
seinen Gedankenstrich noch mit U+00A0 ab, was aus demselben Grund nicht
wirkt. Dort fällt der Umbruch derzeit zufällig richtig.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Gegenstück zur klebenden „04“: gleiche Höhe (calc(50vh − .45em)),
gleiche Zeilen, nur am anderen Rand. Im goldenen Lorbeerkranz steht
das Greator-TheKey-Siegel, darunter Haarlinie, Beschreibung, Datum.
Das Siegel ist aus dem Zertifikat freigestellt – das PDF hat keine
eingebettete Logodatei, die ganze Seite ist ein JPEG. Farbe und Form
bleiben unangetastet: eine fremde Marke wird nicht ins Gold der Seite
umgefärbt. Größe 58 % der Kranzbreite; die Öffnung gäbe bis 70 % her,
an den SVG-Pfaden nachgemessen.
Der Klick öffnet eine Vorschau nach dem Muster des Overlay-Menüs:
Escape schließt, Klick auf den Grund schließt, Fokus bleibt drin,
Lenis hält an, der Rest der Seite wird inert. Bewusst ein Bild und
kein eingebettetes PDF – ein iframe stünde quer zur Zusage in der
Datenschutzerklärung. Ausgeliefert wird ein echter Link aufs PDF,
den erst das JS zum Overlay aufwertet.
Nebenbei: in der Foto-Variante der Sektion lagen Werdegang-Ledger
und Marginalie beide in Zeile 2 übereinander. Da kein Porträt in
public/photos/ liegt, ist das nie aufgefallen.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Auf der Messeseite stehen unter dem Knopf kein Hinweis und kein
Datenschutz-Link mehr (Kundenwunsch). Beides folgt jetzt dem Inhalt: leere
Texte in src/content/her-career.ts, keine Zeile – die Startseite bleibt
unverändert.
Rückmeldung und Rückfall-Link hängen NICHT daran. Antwortet /api/contact
nicht, erscheint auch auf der Messeseite „Das hat gerade nicht geklappt“
samt Mail-Link; dessen Betreff ist „herCAREER Expo 2026“. Das <p> bleibt
immer im Dokument, weil ein aria-live-Bereich, den es beim Absenden noch
nicht gab, von Screenreadern nicht zuverlässig vorgelesen wird.
Offen und vor dem Livegang zu entscheiden (docs/OFFENE-DATEN.md 3.17): Seit
dem Formular-Umbau überträgt das Formular an den Server, die
Datenschutzerklärung beschreibt das in Ziffer 5. Die entfernte Zeile war
damit die Information nach Art. 13 DSGVO am Ort der Erhebung; erreichbar
bleibt die Erklärung nur noch über den Fuß.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Ziel des QR-Codes auf der Rückwandgrafik. Der gedruckte Code zeigt auf
https://her-career.anelia-wolf.com – die Adresse ist damit unveränderlich.
Die Seite liegt als /her-career/ im normalen Export, die Subdomain liefert
dieselbe Datei aus demselben Docroot aus; DNS, Zertifikat, Vhosts für nginx
und Apache und die Prüfbefehle stehen in docs/SUBDOMAIN-HERCAREER.md.
Aufbau in beiden Sprachen: Hero (ink) → 01 Messe-Special → 02 Themen →
03 Auf der Messe → 04 Kontakt mit dem Formular. Die vier Themenblöcke der
Rückwand liegen auf den drei Leistungsseiten, wie in der Navigation; jede
Zeile verlinkt absolut auf die Hauptdomain.
Der Wortlaut des Messe-Specials fehlt noch und steht sichtbar als „[…]“ auf
der Seite. Der Build-Guard hält den Launch-Flip an, bis er da ist
(CONTENT_TODO in src/lib/legal.ts, docs/OFFENE-DATEN.md Punkte 2.7–2.9).
Deadline ist nicht der Livegang, sondern der 22.10.2026.
- Canonical auf anelia-wolf.com/her-career/, damit die Subdomain-Kopie nicht
ein zweites Mal im Index steht
- flags.showHerCareer trägt Termine-Ledger, Sitemap-Eintrag und die
Meta-Beschreibung mit Stand und Uhrzeit. Ab dem 24.10.2026 auf false
- ServiceHero: facts und cta sind optional – ohne beides und ohne Foto
entfällt die rechte Spalte
- ProcessContact: optionaler Zähler, die Messeseite nummeriert ihre Abschnitte
- Kopf-CTA auf dieser Seite ausgeblendet. Das macht eine Regel in globals.css,
weil der Kopf außerhalb von <main> liegt und auf der Subdomain der Pfad
ohnehin „/“ ist
Enthält außerdem die bis dahin nicht committeten Änderungen an Header,
LangSwitch, OverlayMenu, Wordmark und globals.css.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Der Formular-Endpunkt legt die Mail jetzt per IMAP direkt als ungelesene
Nachricht im Ordner web-anfragen ab, statt sie in den Posteingang zu schicken;
faellt die Ablage aus, geht sie weiterhin per SMTP in den Posteingang. Nur
Dokumentation - die Seite selbst aendert sich nicht.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Abschnitt 06 uebergab die Eingaben bisher dem Mailprogramm der Besucherin.
Jetzt geht der Inhalt per fetch an /api/contact beim Hoster; von dort stellt
der Dienst site-mail die Nachricht ueber das Postfach info@anelia-wolf.com
(Strato) zu - kein Formulardienst eines Dritten. Faellt der Endpunkt aus,
bietet das Formular weiterhin den mailto-Weg an, damit keine Anfrage verloren
geht. Ein unsichtbares Honeypot-Feld haelt automatisierte Sendungen ab.
Die Datenschutzerklaerung zieht mit: neue Ziffer 5 (Kontaktformular) in beiden
Sprachen, Ziffer 2 nennt jetzt drei statt zwei Verarbeitungsfaelle, die
Folgeziffern sind neu durchnummeriert. README und HANDOVER beschreiben den
Weg ebenfalls.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>