/*
 * Hiller Website & Newsroom – Frontend
 * Gestaltungsvorschlag: Farben sind zentral im Cockpit änderbar (CSS-Variablen --hcn-primary, --hcn-accent, --hcn-ink).
 * Schriften lokal eingebunden (keine Verbindung zu Google): Schibsted Grotesk (OFL), Newsreader (OFL).
 */

@font-face { font-family: "Courier Prime"; src: url("../fonts/courier-prime-latin-700-normal.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face {
	font-family: "Schibsted Grotesk";
	font-style: normal;
	font-display: swap;
	font-weight: 400 900;
	src: url("../fonts/schibsted-grotesk-latin-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Schibsted Grotesk";
	font-style: normal;
	font-display: swap;
	font-weight: 400 900;
	src: url("../fonts/schibsted-grotesk-latin-ext-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Newsreader";
	font-style: normal;
	font-display: swap;
	font-weight: 200 800;
	src: url("../fonts/newsreader-latin-opsz-normal.woff2") format("woff2-variations");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Newsreader";
	font-style: normal;
	font-display: swap;
	font-weight: 200 800;
	src: url("../fonts/newsreader-latin-ext-opsz-normal.woff2") format("woff2-variations");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Newsreader";
	font-style: italic;
	font-display: swap;
	font-weight: 200 800;
	src: url("../fonts/newsreader-latin-opsz-italic.woff2") format("woff2-variations");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Newsreader";
	font-style: italic;
	font-display: swap;
	font-weight: 200 800;
	src: url("../fonts/newsreader-latin-ext-opsz-italic.woff2") format("woff2-variations");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ------------------------------------------------------------------ Tokens */
:root {
	--hcn-primary: #2A6F78;
	--hcn-accent: #C4E4E7;
	--hcn-ink: #404145;
	--hcn-paper: #FFFFFF;
	--hcn-mist: #F1F2F5;
	--hcn-line: #D7DAE2;
	--hcn-muted: #545B6A;
	--hcn-danger: #B42318;
	--hcn-ok: #146C43;
	--hcn-sans: "Schibsted Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--hcn-serif: "Newsreader", Georgia, "Times New Roman", serif;
	--hcn-wrap: 1240px;
	--hcn-gutter: clamp(16px, 4vw, 40px);
	--hcn-sec: clamp(56px, 8vw, 120px);
	--hcn-radius: 6px;
}

/* ------------------------------------------------------------------ Basis */
.hcn-site *,
.hcn-site *::before,
.hcn-site *::after { box-sizing: border-box; }

body.hcn-site {
	margin: 0;
	background: var(--hcn-paper);
	color: var(--hcn-ink);
	font-family: var(--hcn-sans);
	font-size: 1.0625rem;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	font-feature-settings: "kern", "liga";
}
.hcn-site img { max-width: 100%; height: auto; display: block; }
.hcn-site a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .18em; }
/* Niedrige Spezifität: Flächen mit eigener Linkfarbe (Laufband, Kontaktaufruf, Navigation …) behalten ihre Farbe. */
:where(.hcn-site a):hover { color: var(--hcn-primary); }
.hcn-site :focus-visible { outline: 3px solid var(--hcn-primary); outline-offset: 3px; border-radius: 2px; }
:where(.hcn-site) button { font: inherit; color: inherit; }
.hcn-site h1, .hcn-site h2, .hcn-site h3, .hcn-site h4 { margin: 0; font-weight: 750; letter-spacing: -.015em; line-height: 1.12; text-wrap: balance; }
.hcn-site p { margin: 0 0 1em; }
.hcn-site address { font-style: normal; }
#hcn-main { display: block; outline: 0; }

.screen-reader-text, .hcn-sr-only {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.hcn-skip { position: absolute; left: 12px; top: -60px; z-index: 1000; background: var(--hcn-ink); color: #fff !important; padding: 10px 16px; border-radius: var(--hcn-radius); font-weight: 700; text-decoration: none; }
.hcn-skip:focus { top: 12px; }

.hcn-wrap { width: 100%; max-width: calc(var(--hcn-wrap) + 2 * var(--hcn-gutter)); margin-inline: auto; padding-inline: var(--hcn-gutter); position: relative; }
.hcn-narrow { max-width: calc(760px + 2 * var(--hcn-gutter)); }
.hcn-narrow-wide { max-width: calc(920px + 2 * var(--hcn-gutter)); padding-bottom: var(--hcn-sec); }

/* Typografische Skala */
.hcn-h1 { font-size: clamp(2.25rem, 1.4rem + 3.6vw, 4.25rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.02; }
.hcn-h2 { font-size: clamp(1.75rem, 1.3rem + 1.8vw, 2.75rem); font-weight: 780; letter-spacing: -.025em; margin-bottom: .6em !important; }
.hcn-h3 { font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem); font-weight: 720; margin-bottom: .5em !important; }
.hcn-lead { font-family: var(--hcn-serif); font-size: clamp(1.2rem, 1.05rem + .6vw, 1.5rem); line-height: 1.45; color: var(--hcn-ink); max-width: 38em; font-variation-settings: "opsz" 24; }
.hcn-lead--claim { font-style: italic; }
.hcn-intro { font-family: var(--hcn-serif); font-size: 1.3rem; line-height: 1.5; font-variation-settings: "opsz" 20; }
.hcn-small { font-size: .9rem; color: var(--hcn-muted); }
.hcn-dim { color: var(--hcn-muted); font-weight: 450; font-size: .9em; }
.hcn-count { display: inline-block; vertical-align: .35em; font-size: .5em; font-weight: 700; letter-spacing: 0; background: var(--hcn-mist); border-radius: 999px; padding: .15em .6em; }

/* Fließtext (Pressetexte und Agenturtexte in der Serifenschrift) */
.hcn-prose { font-family: var(--hcn-serif); font-size: 1.1875rem; line-height: 1.68; max-width: 36em; font-variation-settings: "opsz" 16; }
.hcn-prose p { margin: 0 0 1.05em; }
.hcn-prose h2, .hcn-prose h3, .hcn-prose h4 { font-family: var(--hcn-sans); font-size: 1.2rem; margin: 1.6em 0 .5em; letter-spacing: -.01em; }
.hcn-prose strong { font-weight: 650; }
.hcn-prose a { color: var(--hcn-primary); }
.hcn-prose ul, .hcn-prose ol { padding-left: 1.2em; margin: 0 0 1.1em; }
.hcn-prose li { margin-bottom: .35em; }
.hcn-prose blockquote { margin: 1.5em 0; padding-left: 1em; border-left: 3px solid var(--hcn-primary); font-style: italic; }
.hcn-prose > :last-child { margin-bottom: 0; }

/* ------------------------------------------------------------------ Schaltflächen */
.hcn-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	background: var(--hcn-ink); color: #fff !important; text-decoration: none;
	border: 2px solid var(--hcn-ink); border-radius: var(--hcn-radius);
	padding: .7em 1.2em; font-weight: 700; font-size: 1rem; line-height: 1.2; cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.hcn-btn:hover { background: var(--hcn-primary); border-color: var(--hcn-primary); }
.hcn-btn--lg { font-size: 1.0625rem; padding: .85em 1.5em; }
.hcn-btn--small { font-size: .875rem; padding: .5em .85em; }
.hcn-btn--block { display: flex; width: 100%; }
.hcn-btn--ghost { background: transparent; color: var(--hcn-ink) !important; }
.hcn-btn--ghost:hover { background: var(--hcn-ink); color: #fff !important; border-color: var(--hcn-ink); }
.hcn-btn--invert { background: #fff; color: var(--hcn-ink) !important; border-color: #fff; }
.hcn-btn--invert:hover { background: var(--hcn-accent); border-color: var(--hcn-accent); color: var(--hcn-ink) !important; }
.hcn-btn--outline-invert { background: transparent; border-color: rgba(255,255,255,.7); }
.hcn-btn--outline-invert:hover { background: #fff; color: var(--hcn-ink) !important; border-color: #fff; }
.hcn-linkbtn { background: none; border: 0; color: inherit; text-decoration: underline; cursor: pointer; padding: .5em; }
.hcn-link-strong { font-weight: 700; text-decoration: none; border-bottom: 2px solid currentColor; padding-bottom: 1px; }
.hcn-link-strong:hover { border-color: var(--hcn-primary); }
.hcn-mini { display: inline-flex; align-items: center; background: var(--hcn-mist); border: 1px solid var(--hcn-line); border-radius: 999px; padding: .2em .7em; font-size: .8125rem; font-weight: 600; cursor: pointer; text-decoration: none; color: var(--hcn-ink); }
.hcn-mini:hover { border-color: var(--hcn-ink); }
.hcn-mini.is-done { background: var(--hcn-ok); border-color: var(--hcn-ok); color: #fff; }

.hcn-badge { display: inline-block; font-size: .75rem; font-weight: 700; padding: .15em .55em; border-radius: 4px; background: var(--hcn-mist); color: var(--hcn-ink); }
.hcn-badge--accent { background: var(--hcn-accent); }

/* „Diesen Bereich bearbeiten“ (nur für angemeldete, berechtigte Personen) */
.hcn-edit {
	position: absolute; top: 12px; right: var(--hcn-gutter); z-index: 20;
	display: inline-flex; align-items: center; gap: 6px;
	background: var(--hcn-accent); color: var(--hcn-ink) !important;
	font-family: var(--hcn-sans); font-size: .8125rem; font-weight: 700; line-height: 1;
	padding: 8px 12px; border-radius: 999px; text-decoration: none;
	box-shadow: 0 0 0 2px var(--hcn-ink);
	opacity: .92;
}
.hcn-edit:hover, .hcn-edit:focus-visible { opacity: 1; background: var(--hcn-ink); color: var(--hcn-accent) !important; }
.hcn-sec, .hcn-pagehead, .hcn-release__head, .hcn-footer, .hcn-contact-aside, .hcn-sec__head { position: relative; }
.hcn-sec__head .hcn-edit, .hcn-contact-aside .hcn-edit { top: 0; right: 0; }
.hcn-sec > .hcn-edit { top: 16px; }

/* ------------------------------------------------------------------ Hinweisbänder */
.hcn-banner { background: var(--hcn-ink); color: #fff; font-size: .875rem; padding: .55em var(--hcn-gutter); text-align: center; }
.hcn-banner a { color: var(--hcn-accent); font-weight: 700; }
.hcn-banner--preview { background: var(--hcn-accent); color: var(--hcn-ink); font-weight: 600; }
.hcn-banner--draft { background: #FFF1D6; color: var(--hcn-ink); }
.hcn-notice { background: var(--hcn-mist); border-left: 4px solid var(--hcn-accent); padding: .75em 1em; font-size: .95rem; max-width: 50em; }
.hcn-warn { color: var(--hcn-danger); font-size: .875rem; font-weight: 600; }
.hcn-success { background: #E7F4EC; border-left: 4px solid var(--hcn-ok); padding: 1.25em 1.5em; border-radius: var(--hcn-radius); }

/* ------------------------------------------------------------------ Kopfzeile */
.hcn-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.96); backdrop-filter: saturate(1.4) blur(8px); border-bottom: 1px solid var(--hcn-line); }
.admin-bar .hcn-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .hcn-header { top: 0; } }
.hcn-header__in { display: flex; align-items: center; gap: 24px; min-height: 72px; }
.hcn-logo { display: inline-flex; align-items: center; text-decoration: none; color: var(--hcn-ink); flex: 0 0 auto; }
.hcn-logo__img { max-height: 44px; width: auto; }
.hcn-logo__word { display: inline-flex; flex-direction: column; line-height: .92; font-weight: 850; letter-spacing: -.02em; }
.hcn-logo__a { font-size: 1.45rem; }
.hcn-logo__b { font-size: .72rem; font-weight: 650; letter-spacing: .14em; text-transform: uppercase; }
.hcn-logo--light { color: #fff; }

.hcn-nav { margin-left: auto; }
.hcn-nav ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 4px; }
.hcn-nav a { display: inline-flex; align-items: center; gap: 6px; padding: .55em .8em; font-weight: 620; font-size: .98rem; text-decoration: none; border-radius: var(--hcn-radius); }
.hcn-nav a[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--hcn-primary); text-decoration-thickness: 4px; text-underline-offset: .45em; }
.hcn-nav__press a { background: var(--hcn-primary); color: #fff !important; padding-inline: 1em; margin-left: 6px; }
.hcn-nav__press a:hover { background: var(--hcn-ink); }
.hcn-nav__press a[aria-current="page"] { text-decoration-color: var(--hcn-accent); }
.hcn-nav__search span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.hcn-burger { display: none; margin-left: auto; align-items: center; gap: 10px; background: none; border: 2px solid var(--hcn-ink); border-radius: var(--hcn-radius); padding: 8px 12px; font-weight: 700; cursor: pointer; }
.hcn-burger__bars, .hcn-burger__bars::before, .hcn-burger__bars::after { display: block; width: 18px; height: 2px; background: currentColor; position: relative; transition: transform .2s ease; }
.hcn-burger__bars::before, .hcn-burger__bars::after { content: ""; position: absolute; left: 0; }
.hcn-burger__bars::before { top: -6px; }
.hcn-burger__bars::after { top: 6px; }
.hcn-burger[aria-expanded="true"] .hcn-burger__bars { background: transparent; }
.hcn-burger[aria-expanded="true"] .hcn-burger__bars::before { transform: translateY(6px) rotate(45deg); }
.hcn-burger[aria-expanded="true"] .hcn-burger__bars::after { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 960px) {
	.hcn-burger { display: inline-flex; }
	.hcn-nav { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 1px solid var(--hcn-line); box-shadow: 0 18px 30px -18px rgba(64,65,69,.35); display: none; }
	.hcn-nav.is-open { display: block; }
	.hcn-nav ul { flex-direction: column; align-items: stretch; padding: 8px var(--hcn-gutter) 20px; gap: 2px; }
	.hcn-nav a { padding: .85em .25em; font-size: 1.15rem; border-bottom: 1px solid var(--hcn-mist); border-radius: 0; }
	.hcn-nav__press { order: -1; margin: 8px 0; }
	.hcn-nav__press a { margin: 0; border-radius: var(--hcn-radius); padding: .85em 1em; justify-content: center; }
	.hcn-nav__search span { position: static; width: auto; height: auto; clip: auto; }
}

/* ------------------------------------------------------------------ Seitenkopf & Abschnitte */
.hcn-pagehead { padding: clamp(40px, 6vw, 88px) 0 clamp(24px, 3vw, 40px); }
.hcn-pagehead .hcn-lead { margin-top: .9em; }
.hcn-crumbs { font-size: .9rem; color: var(--hcn-muted); margin: 0 0 1em; display: flex; gap: .5em; flex-wrap: wrap; }
.hcn-crumbs a { color: var(--hcn-muted); text-decoration: none; font-weight: 600; }
.hcn-crumbs a:hover { color: var(--hcn-primary); text-decoration: underline; }

.hcn-sec { padding-block: var(--hcn-sec); }
.hcn-sec + .hcn-sec { padding-top: 0; }
.hcn-sec--cta, .hcn-sec--cta + .hcn-sec, .hcn-sec--quote + .hcn-sec { padding-top: var(--hcn-sec); }
.hcn-pagehead + .hcn-sec { padding-top: clamp(16px, 2vw, 32px); }
.hcn-sec__head { max-width: 46rem; margin-bottom: clamp(24px, 3vw, 44px); }
.hcn-sec__head--row { max-width: none; display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.hcn-sec__head--row .hcn-h2 { margin-bottom: 0 !important; }
.hcn-sec__head .hcn-lead { font-size: 1.2rem; }
.hcn-sec .hcn-more { margin-top: 36px; }
.hcn-empty { color: var(--hcn-muted); }
.hcn-empty--box { background: var(--hcn-mist); padding: clamp(24px, 4vw, 44px); border-radius: var(--hcn-radius); color: var(--hcn-ink); }
.hcn-empty--box > :last-child { margin-bottom: 0; }

/* Titelbereich */
.hcn-sec--hero { padding-top: clamp(40px, 6vw, 96px); }
.hcn-hero { display: grid; gap: clamp(32px, 5vw, 72px); align-items: end; }
.hcn-site .hcn-hero__title { font-size: clamp(2.75rem, 1.1rem + 6.6vw, 7rem); font-weight: 820; line-height: .94; letter-spacing: -.04em; margin: 0 0 .45em; }
.hcn-hero__title > span { display: block; }
.hcn-hero__lead { font-family: var(--hcn-serif); font-size: clamp(1.2rem, 1rem + .9vw, 1.65rem); line-height: 1.42; max-width: 30em; font-variation-settings: "opsz" 28; }
.hcn-hero__media { margin: 0; }
.hcn-hero__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
@media (min-width: 1000px) {
	.hcn-hero--wire { grid-template-columns: minmax(0, 1.55fr) minmax(320px, 1fr); }
	.hcn-site .hcn-hero--wire .hcn-hero__title, .hcn-site .hcn-hero--image .hcn-hero__title { font-size: clamp(3rem, .6rem + 4.6vw, 5.6rem); }
	.hcn-hero--image { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: center; }
}
.hcn-page--newsroom .hcn-sec--hero, .hcn-page--press_areas .hcn-sec--hero { padding-bottom: clamp(16px, 2vw, 32px); }
.hcn-site .hcn-page--newsroom .hcn-hero__title, .hcn-site .hcn-page--legal .hcn-hero__title { font-size: clamp(2.4rem, 1.4rem + 3.8vw, 4.5rem); }

/* Laufband „Aktuell im News Channel“ */
.hcn-wire { background: var(--hcn-primary); color: #fff; padding: clamp(22px, 3vw, 34px); border-radius: var(--hcn-radius); }
.hcn-wire a { color: #fff; text-decoration: none; }
.hcn-wire__title { font-size: 1rem; font-weight: 750; letter-spacing: .01em; margin: 0 0 14px; display: flex; align-items: center; gap: 10px; }
.hcn-wire__title::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--hcn-accent); box-shadow: 0 0 0 4px rgba(196, 228, 231, .35); }
.hcn-wire__list { list-style: none; margin: 0; padding: 0; }
.hcn-wire__list li { border-top: 1px solid rgba(255,255,255,.25); }
.hcn-wire__list a { display: grid; grid-template-columns: 4.4rem 1fr; column-gap: 14px; padding: 14px 0; }
.hcn-wire__list a:hover .hcn-wire__head { text-decoration: underline; text-decoration-color: var(--hcn-accent); text-decoration-thickness: 2px; }
.hcn-wire__list time { grid-row: span 2; font-size: 1.35rem; font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: -.02em; line-height: 1.1; }
.hcn-wire__head { font-weight: 650; line-height: 1.3; }
.hcn-wire__client { font-size: .85rem; opacity: .8; margin-top: 2px; }
.hcn-wire__more { margin: 12px 0 0; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.25); font-weight: 700; }
.hcn-wire__more a { border-bottom: 2px solid var(--hcn-accent); }
.hcn-wire__empty { opacity: .85; }

/* Text mit Bild */
.hcn-ti { display: grid; gap: clamp(28px, 5vw, 80px); align-items: start; }
.hcn-ti__media { margin: 0; }
.hcn-ti__media img { width: 100%; }
.hcn-ti__media figcaption { font-size: .8125rem; color: var(--hcn-muted); margin-top: 8px; }
@media (min-width: 900px) {
	.hcn-ti { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
	.hcn-ti--left .hcn-ti__media { order: -1; }
	.hcn-ti--left { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); }
	.hcn-ti--noimg { grid-template-columns: minmax(0, 1fr); }
	/* Ohne Bild darf der Text weiter nach rechts laufen */
	/* … genau so weit wie der Text neben den Teamfotos (Fotospalte 320 px + Abstand 40 px + 36em) */
	.hcn-ti--noimg .hcn-prose { max-width: calc(360px + 36em); }
}

/* Galerie */
.hcn-gal { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.hcn-gal figure { margin: 0; }
.hcn-gal img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.hcn-gal figcaption { font-size: .85rem; color: var(--hcn-muted); margin-top: 6px; }

/* Leistungen – typografische Liste statt Kacheln */
.hcn-svc-groups.is-grouped { display: grid; gap: clamp(32px, 4vw, 56px); }
@media (min-width: 1000px) { .hcn-svc-groups.is-grouped { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.hcn-svc-group__title { font-size: 1rem; font-weight: 750; color: var(--hcn-muted); margin-bottom: 8px !important; }
.hcn-svc { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--hcn-ink); }
.hcn-svc li { border-bottom: 1px solid var(--hcn-line); }
.hcn-svc a { display: flex; flex-direction: column; gap: 2px; padding: 18px 0; text-decoration: none; }
.hcn-svc__name { font-size: clamp(1.3rem, 1.1rem + .8vw, 1.75rem); font-weight: 760; letter-spacing: -.02em; line-height: 1.15; }
.hcn-svc__claim { font-family: var(--hcn-serif); font-style: italic; color: var(--hcn-muted); font-size: 1.05rem; }
.hcn-svc a:hover .hcn-svc__name { color: var(--hcn-primary); }
.hcn-svc--compact { display: grid; gap: 0 32px; }
@media (min-width: 800px) { .hcn-svc--compact { grid-template-columns: 1fr 1fr; } }

/* Referenzen */
.hcn-proj-grid { display: grid; gap: clamp(24px, 3vw, 40px) clamp(16px, 2vw, 28px); grid-template-columns: repeat(auto-fill, minmax(min(44%, 260px), 1fr)); }
@media (max-width: 599px) { .hcn-proj-grid { grid-template-columns: minmax(0, 1fr); } }
.hcn-proj { margin: 0; }
/* Videos im Abschnitt „Projekte in diesem Bereich“ (Hochformat 9:16, nebeneinander) */
.hcn-clips { display: flex; flex-wrap: wrap; gap: clamp(16px, 2vw, 28px); }
.hcn-proj-grid + .hcn-clips { margin-top: clamp(28px, 4vw, 56px); }
.hcn-clip { margin: 0; flex: 0 1 min(100%, 300px); min-width: 0; }
.hcn-clip video { display: block; width: 100%; aspect-ratio: 9 / 16; object-fit: cover; border-radius: var(--hcn-radius); background: var(--hcn-ink); }
.hcn-clip video:focus-visible { outline: 3px solid var(--hcn-accent); outline-offset: 3px; }
.hcn-clip__title { margin-top: 12px; font-weight: 700; letter-spacing: -.01em; }
@media (max-width: 599px) { .hcn-clips { gap: 12px; flex-wrap: nowrap; } .hcn-clip { flex: 1 1 0; } .hcn-clip__title { font-size: .9rem; } }
.hcn-proj__media img, .hcn-proj__media .hcn-ph { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.hcn-proj__title { font-size: 1.15rem; font-weight: 720; margin-top: 12px !important; }
.hcn-proj__title a { text-decoration: none; }
.hcn-proj__title a:hover { text-decoration: underline; }
.hcn-proj__meta { font-size: .9rem; color: var(--hcn-muted); margin: 2px 0 0; }
.hcn-ph { display: block; background: var(--hcn-mist); aspect-ratio: 3 / 2; width: 100%; }

/* Team */
.hcn-team { display: grid; gap: clamp(32px, 4vw, 56px); }
.hcn-person { display: grid; gap: 20px 40px; }
@media (min-width: 800px) { .hcn-person { grid-template-columns: minmax(200px, 320px) minmax(0, 1fr); } }
.hcn-person__media img, .hcn-person__media .hcn-ph { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.hcn-person__name { font-size: 1.6rem; font-weight: 780; }
.hcn-person__role { color: var(--hcn-muted); font-weight: 600; margin: 4px 0 16px; }
.hcn-person__mail a { font-weight: 700; }

/* Zitat */
.hcn-quote { margin: 0; max-width: 54rem; }
.hcn-quote blockquote { margin: 0; }
.hcn-quote p { font-family: var(--hcn-serif); font-size: clamp(1.6rem, 1.1rem + 2vw, 2.6rem); line-height: 1.25; font-weight: 420; font-variation-settings: "opsz" 48; margin: 0; }
.hcn-quote p::before { content: "„"; }
.hcn-quote p::after { content: "“"; }
.hcn-quote figcaption { margin-top: 20px; display: flex; flex-direction: column; }
.hcn-quote figcaption span { color: var(--hcn-muted); }

/* Kontaktaufruf */
.hcn-sec--cta { padding: 0; }
.hcn-cta { background: var(--hcn-primary); color: #fff; padding-block: clamp(48px, 7vw, 96px); }
.hcn-cta__inner { display: grid; gap: 28px; align-items: end; }
@media (min-width: 900px) { .hcn-cta__inner { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); } }
.hcn-cta__title { font-size: clamp(2rem, 1.3rem + 2.6vw, 3.5rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.02; }
.hcn-cta__text { font-family: var(--hcn-serif); font-size: 1.25rem; margin-top: 14px; max-width: 30em; }
.hcn-cta__actions { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.hcn-cta__direct { display: flex; flex-direction: column; gap: 4px; margin: 0; font-weight: 650; }
.hcn-cta__direct a { color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.5); }
.hcn-cta__direct a:hover { color: var(--hcn-accent); border-color: var(--hcn-accent); }
.hcn-cta :focus-visible { outline-color: var(--hcn-accent); }

/* ------------------------------------------------------------------ Meldungen */
.hcn-rel { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 16px; padding: 22px 0; border-top: 1px solid var(--hcn-line); }
@media (min-width: 720px) { .hcn-rel { grid-template-columns: 240px minmax(0, 1fr); gap: 28px; } }
.hcn-rel__media img, .hcn-rel__media .hcn-ph { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; background: var(--hcn-mist); }
.hcn-rel__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; font-size: .875rem; color: var(--hcn-muted); margin: 0 0 6px; }
.hcn-rel__meta time { font-weight: 700; color: var(--hcn-ink); font-variant-numeric: tabular-nums; }
.hcn-rel__client { font-weight: 600; }
.hcn-rel__title { font-size: clamp(1.1rem, 1rem + .5vw, 1.4rem); font-weight: 740; line-height: 1.2; margin: 0 0 8px; }
.hcn-rel__title a { text-decoration: none; }
.hcn-rel__title a:hover { color: var(--hcn-primary); text-decoration: underline; text-decoration-thickness: 2px; }
.hcn-rel__teaser { font-family: var(--hcn-serif); font-size: 1.06rem; line-height: 1.5; color: #333844; margin: 0 0 10px; display: none; }
@media (min-width: 720px) { .hcn-rel__teaser { display: block; } }
.hcn-rel__assets { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; flex-wrap: wrap; }
.hcn-rel__assets li { font-size: .8125rem; font-weight: 600; background: var(--hcn-mist); padding: .15em .6em; border-radius: 4px; }
.hcn-rel.is-archived { opacity: .82; }
.hcn-news-grid { display: grid; gap: 0 32px; }
@media (min-width: 1000px) {
	.hcn-news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.hcn-news-grid .hcn-rel { grid-template-columns: 1fr; gap: 14px; }
	.hcn-news-grid .hcn-rel__teaser { display: none; }
}

.hcn-feature { display: grid; gap: 20px; padding-bottom: 28px; margin-bottom: 8px; }
.hcn-feature + .hcn-feature { border-top: 1px solid var(--hcn-line); padding-top: 28px; }
@media (min-width: 900px) { .hcn-feature { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 32px; align-items: center; } }
.hcn-feature__media img { width: 100%; aspect-ratio: 2 / 1; object-fit: cover; }
.hcn-feature__title { font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2.25rem); font-weight: 780; letter-spacing: -.025em; margin-bottom: 12px !important; }
.hcn-feature__title a { text-decoration: none; }
.hcn-feature__title a:hover { color: var(--hcn-primary); }
.hcn-feature__teaser { font-family: var(--hcn-serif); font-size: 1.15rem; line-height: 1.5; }

/* News Channel */
.hcn-newsroom { padding-bottom: var(--hcn-sec); }
.hcn-newsroom__grid { display: grid; gap: clamp(32px, 4vw, 64px); }
@media (min-width: 1080px) { .hcn-newsroom__grid { grid-template-columns: minmax(0, 1fr) 300px; } }
.hcn-newsroom__aside { display: flex; flex-direction: column; gap: 20px; }
@media (min-width: 1080px) { .hcn-newsroom__aside { position: sticky; top: 104px; align-self: start; } }

.hcn-filter { background: var(--hcn-mist); border-radius: var(--hcn-radius); padding: clamp(16px, 2.4vw, 28px); margin-bottom: 20px; }
.hcn-filter__search label { display: block; font-weight: 750; margin-bottom: 8px; }
.hcn-filter__searchrow { display: flex; gap: 8px; }
.hcn-filter__searchrow input { flex: 1; min-width: 0; }
.hcn-filter__row { display: grid; gap: 12px; margin-top: 16px; align-items: end; grid-template-columns: 1fr; }
@media (min-width: 640px) { .hcn-filter__row { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.hcn-filter__row .hcn-check { grid-column: 1 / -1; }
.hcn-filter__apply { justify-self: start; }
.js .hcn-filter__apply { display: none; }

.hcn-site input[type="search"], .hcn-site input[type="text"], .hcn-site input[type="email"], .hcn-site input[type="tel"], .hcn-site select, .hcn-site textarea {
	width: 100%; font: inherit; font-size: 1rem; color: var(--hcn-ink); background: #fff;
	border: 2px solid #B9BECA; border-radius: var(--hcn-radius); padding: .7em .8em; min-height: 48px;
}
.hcn-site input:focus, .hcn-site select:focus, .hcn-site textarea:focus { border-color: var(--hcn-primary); outline: 3px solid rgba(36,51,201,.18); outline-offset: 0; }
.hcn-site select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23404145' stroke-width='2'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 40px; }
.hcn-field label { display: block; font-weight: 650; font-size: .9375rem; margin-bottom: 6px; }
.hcn-check { display: flex; gap: 10px; align-items: flex-start; font-size: .95rem; cursor: pointer; }
.hcn-check input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--hcn-primary); flex: 0 0 auto; }

.hcn-results-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; margin: 4px 0 12px; }
.hcn-results-count { font-weight: 750; margin: 0; }
.hcn-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.hcn-chip { display: inline-flex; align-items: center; gap: 8px; background: var(--hcn-accent); color: var(--hcn-ink) !important; border-radius: 999px; padding: .3em .55em .3em .85em; font-size: .875rem; font-weight: 650; text-decoration: none; }
.hcn-chip:hover { background: var(--hcn-ink); color: #fff !important; }
.hcn-reset { font-size: .875rem; font-weight: 700; }
.hcn-featured { margin: 8px 0 12px; }

.hcn-pager ul { list-style: none; margin: 32px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.hcn-pager a, .hcn-pager span { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; padding: 0 .8em; border-radius: var(--hcn-radius); font-weight: 650; text-decoration: none; border: 2px solid var(--hcn-line); }
.hcn-pager a:hover { border-color: var(--hcn-ink); }
.hcn-pager span[aria-current] { background: var(--hcn-ink); color: #fff; border-color: var(--hcn-ink); }
.hcn-pager__gap { border: 0; min-width: 20px; }

.hcn-contact { background: #fff; border: 2px solid var(--hcn-ink); border-radius: var(--hcn-radius); padding: 22px; }
.hcn-release__main .hcn-contact { margin-top: 40px; max-width: 36em; }
.hcn-contact__title { font-size: 1rem; font-weight: 750; margin-bottom: 10px !important; }
.hcn-contact__name { font-weight: 750; font-size: 1.15rem; margin: 0; }
.hcn-contact__org, .hcn-contact__addr { color: var(--hcn-muted); margin: 2px 0 0; font-size: .95rem; }
.hcn-contact__links { list-style: none; margin: 12px 0 0; padding: 0; }
.hcn-contact__links a { font-weight: 650; word-break: break-word; }
.hcn-aside-box { background: var(--hcn-mist); padding: 22px; border-radius: var(--hcn-radius); }
.hcn-aside-box__title { font-size: 1rem; font-weight: 750; margin-bottom: 6px !important; }
.hcn-aside-box p { margin-bottom: .5em; font-size: .95rem; }
.hcn-aside-box > :last-child { margin-bottom: 0; }

/* Meldungsdetail */
.hcn-release__head { padding: clamp(32px, 5vw, 72px) 0 clamp(20px, 3vw, 36px); }
.hcn-release__title { font-size: clamp(2rem, 1.3rem + 3vw, 3.75rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.04; max-width: 22em; }
.hcn-release__subtitle { font-family: var(--hcn-serif); font-style: italic; font-size: clamp(1.25rem, 1.05rem + .8vw, 1.7rem); line-height: 1.38; margin: 16px 0 0; max-width: 34em; font-variation-settings: "opsz" 30; }
.hcn-release__meta { display: flex; flex-wrap: wrap; gap: 10px 32px; margin: 24px 0 0; padding-top: 18px; border-top: 2px solid var(--hcn-ink); }
.hcn-release__meta div { display: flex; flex-direction: column; }
.hcn-release__meta dt { font-size: .8125rem; color: var(--hcn-muted); font-weight: 600; }
.hcn-release__meta dd { margin: 0; font-weight: 700; }
.hcn-release__meta a { text-decoration: none; border-bottom: 1px solid currentColor; }
.hcn-release__grid { display: grid; gap: 40px; }
@media (min-width: 1080px) { .hcn-release__grid { grid-template-columns: minmax(0, 1fr) 320px; gap: 64px; } }
.hcn-release__cover { margin: 0 0 32px; }
.hcn-release__cover img { width: 100%; }
.hcn-release__cover figcaption, .hcn-media figcaption { font-size: .875rem; color: var(--hcn-muted); margin-top: 8px; display: flex; flex-wrap: wrap; gap: 4px 12px; }
.hcn-credit { font-weight: 600; }
.hcn-zoom { display: block; width: 100%; padding: 0; margin: 0; border: 0; background: none; cursor: zoom-in; }
.hcn-release__teaser { font-family: var(--hcn-sans); font-size: clamp(1.15rem, 1.05rem + .4vw, 1.35rem); font-weight: 650; line-height: 1.45; max-width: 34em; margin-bottom: 1.2em; }
.hcn-prose--release { font-size: 1.22rem; }
.hcn-boilerplate { margin-top: 44px; padding-top: 22px; border-top: 1px solid var(--hcn-line); max-width: 36em; }
.hcn-boilerplate__title { font-size: 1rem; font-weight: 750; margin-bottom: 8px !important; }
.hcn-boilerplate .hcn-prose { font-size: 1.02rem; color: #333844; }

.hcn-release__aside { order: -1; }
@media (min-width: 1080px) { .hcn-release__aside { order: 0; position: sticky; top: 100px; align-self: start; } }
.hcn-tools { border: 2px solid var(--hcn-ink); border-radius: var(--hcn-radius); padding: 20px; background: #fff; }
.hcn-tools__title { font-size: 1rem; font-weight: 750; margin: 0 0 8px !important; }
.hcn-tools__title:not(:first-child) { margin-top: 22px !important; padding-top: 18px; border-top: 1px solid var(--hcn-line); }
.hcn-tools__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
@media (min-width: 1080px) { .hcn-tools__list { grid-template-columns: 1fr; } }
.hcn-tool { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; background: var(--hcn-mist); border: 0; border-radius: var(--hcn-radius); padding: .65em .8em; font-weight: 650; font-size: .95rem; text-decoration: none; cursor: pointer; color: var(--hcn-ink); }
.hcn-tool:hover { background: var(--hcn-ink); color: #fff !important; }
.hcn-tool.is-done { background: var(--hcn-ok); color: #fff; }
.hcn-tool svg { flex: 0 0 auto; }
.hcn-tools__desc { font-size: .9rem; color: var(--hcn-muted); }
.hcn-tools__more { margin: 10px 0 0; font-size: .9rem; font-weight: 650; }
.hcn-tools__terms { font-size: .8125rem; color: var(--hcn-muted); margin: 16px 0 0; }

.hcn-media { background: var(--hcn-mist); padding-block: clamp(44px, 6vw, 88px); margin-top: clamp(48px, 6vw, 96px); }
.hcn-media__head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; }
.hcn-media__head .hcn-h2 { margin: 0 !important; }
.hcn-media__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 24px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.hcn-img { background: #fff; border-radius: var(--hcn-radius); overflow: hidden; display: flex; flex-direction: column; }
.hcn-img__media { position: relative; }
.hcn-img__media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; background: var(--hcn-mist); }
.hcn-img__select { position: absolute; left: 10px; top: 10px; display: inline-flex; align-items: center; gap: 8px; background: #fff; border-radius: 999px; padding: 6px 12px 6px 8px; font-size: .8125rem; font-weight: 700; cursor: pointer; box-shadow: 0 1px 2px rgba(0,0,0,.2); }
.hcn-img__select input { width: 18px; height: 18px; margin: 0; accent-color: var(--hcn-primary); }
.hcn-img.is-selected { outline: 3px solid var(--hcn-primary); }
.hcn-img.is-selected .hcn-img__select { background: var(--hcn-primary); color: #fff; }
.hcn-img__body { padding: 16px 18px 18px; display: flex; flex-direction: column; flex: 1; }
.hcn-img__title { font-size: 1.05rem; font-weight: 720; margin-bottom: 4px !important; }
.hcn-img__caption { font-family: var(--hcn-serif); font-size: 1rem; line-height: 1.45; color: #333844; margin-bottom: 8px; }
.hcn-img__credit { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: .875rem; font-weight: 650; margin-bottom: 10px; }
.hcn-img__facts { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 0 0 10px; font-size: .8125rem; }
.hcn-img__facts div { display: flex; gap: 4px; }
.hcn-img__facts dt { color: var(--hcn-muted); }
.hcn-img__facts dd { margin: 0; font-weight: 650; font-variant-numeric: tabular-nums; }
.hcn-img__hint { font-size: .8125rem; color: #8A5A00; font-weight: 600; margin-bottom: 8px; }
.hcn-img__usage { font-size: .8125rem; margin-bottom: 12px; }
.hcn-img__usage summary { cursor: pointer; font-weight: 650; }
.hcn-img__usage p { margin: 6px 0 0; color: var(--hcn-muted); }
.hcn-img__dl { margin: auto 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.hcn-img.is-missing .hcn-img__media img { filter: grayscale(1); opacity: .6; }

.hcn-selbar { position: sticky; bottom: 0; z-index: 40; background: var(--hcn-ink); color: #fff; padding: 14px 0; margin-top: 32px; }
.hcn-selbar[hidden] { display: none; }
.hcn-selbar__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.hcn-selbar__count { margin: 0; font-weight: 750; }
.hcn-selbar__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.hcn-selbar .hcn-linkbtn { color: #fff; }
.hcn-selbar :focus-visible { outline-color: var(--hcn-accent); }

.hcn-lightbox { border: 0; padding: 0; max-width: min(1200px, 94vw); max-height: 92vh; background: #111318; color: #fff; border-radius: var(--hcn-radius); }
.hcn-lightbox::backdrop { background: rgba(10,12,16,.82); }
.hcn-lightbox figure { margin: 0; }
.hcn-lightbox img { max-height: 80vh; width: auto; margin: 0 auto; }
.hcn-lightbox figcaption { padding: 12px 18px 16px; font-size: .9rem; color: #D7DAE2; }
.hcn-lightbox__close { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; border-radius: 50%; border: 0; background: #fff; color: #111; font-size: 26px; line-height: 1; cursor: pointer; z-index: 2; }

/* Videos zur Meldung: Vorschau mit Player, darunter Angaben und Download */
.hcn-videos { padding-block: clamp(40px, 5vw, 72px) 0; }
.hcn-videos__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 24px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); }
.hcn-videos__grid--one { grid-template-columns: minmax(0, 760px); }
.hcn-vid { border: 1px solid var(--hcn-line); }
.hcn-tools .hcn-btn--block + .hcn-tools__more { margin-top: 12px; }
.hcn-vid__media { background: #000; }
.hcn-vid__media video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #000; }
.hcn-docs { padding-block: clamp(40px, 5vw, 72px); }
.hcn-docs__list { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--hcn-ink); }
.hcn-docs__list li { display: flex; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--hcn-line); flex-wrap: wrap; }
.hcn-docs__ext { flex: 0 0 auto; width: 48px; height: 56px; display: inline-flex; align-items: flex-end; justify-content: center; padding-bottom: 8px; background: var(--hcn-mist); border-radius: 4px; font-size: .75rem; font-weight: 800; }
.hcn-docs__name { flex: 1 1 200px; font-weight: 650; display: flex; flex-direction: column; }
.hcn-related { padding-block: clamp(48px, 6vw, 96px); }
.hcn-related .hcn-sec__head { margin-bottom: 12px; }

/* Kunden-Pressebereiche */
.hcn-areas { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(min(44%, 260px), 1fr)); }
.hcn-areas a { display: flex; align-items: center; gap: 14px; padding: 14px; border: 1px solid var(--hcn-line); border-radius: var(--hcn-radius); text-decoration: none; font-weight: 680; background: #fff; }
.hcn-areas a:hover { border-color: var(--hcn-ink); }
.hcn-areas__logo { flex: 0 0 56px; height: 56px; display: inline-flex; align-items: center; justify-content: center; background: var(--hcn-mist); border-radius: 4px; overflow: hidden; }
.hcn-areas__logo img { max-height: 44px; width: auto; }
.hcn-areas__initial { font-size: 1.5rem; font-weight: 820; color: var(--hcn-primary); }
.hcn-client__headgrid { display: grid; gap: 24px; align-items: end; }
@media (min-width: 900px) { .hcn-client__headgrid { grid-template-columns: minmax(0, 1fr) 280px; } }
.hcn-client__logo { background: var(--hcn-mist); padding: 24px; border-radius: var(--hcn-radius); display: flex; flex-direction: column; align-items: center; gap: 14px; }
.hcn-client__logo img { max-height: 120px; width: auto; }
.hcn-client__profile { margin-bottom: 40px; }

/* Referenz-Detail */
.hcn-project__cover { margin: 0 0 40px; }
.hcn-project__cover img { width: 100%; }
.hcn-project__grid { display: grid; gap: 40px; padding-bottom: var(--hcn-sec); }
@media (min-width: 900px) { .hcn-project__grid { grid-template-columns: minmax(0, 1fr) 300px; } }
.hcn-facts { margin: 0; border-top: 2px solid var(--hcn-ink); }
.hcn-facts div { padding: 12px 0; border-bottom: 1px solid var(--hcn-line); }
.hcn-facts dt { font-size: .8125rem; color: var(--hcn-muted); font-weight: 600; }
.hcn-facts dd { margin: 2px 0 0; font-weight: 650; }
.hcn-detail .hcn-ti { padding-bottom: var(--hcn-sec); }

/* Suche */
.hcn-searchform { display: flex; gap: 8px; margin: 24px 0 12px; max-width: 640px; }
.hcn-searchform input { flex: 1; min-width: 0; }
.hcn-sresults { margin-bottom: 40px; }
.hcn-sresults ul { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--hcn-ink); }
.hcn-sresults li { padding: 14px 0; border-bottom: 1px solid var(--hcn-line); }
.hcn-sresults li > a { font-weight: 720; font-size: 1.1rem; text-decoration: none; margin-right: 8px; }
.hcn-sresults li > a:hover { text-decoration: underline; color: var(--hcn-primary); }
.hcn-sresults li p { margin: 4px 0 0; font-family: var(--hcn-serif); color: #333844; }

/* 404 */
.hcn-404 { padding-block: clamp(48px, 8vw, 120px); }
.hcn-404__code { font-size: clamp(5rem, 3rem + 10vw, 11rem); font-weight: 850; line-height: .8; letter-spacing: -.06em; color: var(--hcn-primary); margin: 0 0 20px; }
.hcn-404 .hcn-lead { margin: 16px 0 8px; }
.hcn-404__links { list-style: none; padding: 0; margin: 20px 0 48px; display: flex; flex-wrap: wrap; gap: 8px 24px; font-weight: 700; }

/* Kontaktseite & Formular */
.hcn-contact-layout { display: grid; gap: clamp(32px, 5vw, 80px); }
@media (min-width: 960px) { .hcn-contact-layout { grid-template-columns: minmax(0, 1.5fr) minmax(260px, 1fr); } }
.hcn-contact-aside { background: var(--hcn-mist); border-radius: var(--hcn-radius); padding: clamp(22px, 3vw, 36px); align-self: start; }
.hcn-contact-aside address { font-size: 1.1rem; line-height: 1.5; margin-bottom: 12px; }
.hcn-form { margin-top: 24px; }
.hcn-form__grid { display: grid; gap: 18px; margin-bottom: 22px; }
@media (min-width: 700px) { .hcn-form__grid { grid-template-columns: 1fr 1fr; } .hcn-field--full { grid-column: 1 / -1; } }
.hcn-req { font-weight: 450; color: var(--hcn-muted); font-size: .85em; }
.hcn-field__error { color: var(--hcn-danger); font-size: .875rem; font-weight: 650; margin: 6px 0 0; }
.hcn-site [aria-invalid="true"] { border-color: var(--hcn-danger) !important; }
.hcn-form__errors { background: #FDECEA; border-left: 4px solid var(--hcn-danger); padding: 14px 18px; margin-bottom: 20px; border-radius: var(--hcn-radius); }
.hcn-form__errors p { margin: 0; }
.hcn-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* ------------------------------------------------------------------ Fußzeile */
.hcn-footer { background: var(--hcn-ink); color: #E3E6EC; padding: clamp(48px, 6vw, 88px) 0 28px; font-size: .95rem; }
.hcn-footer a { color: #fff; text-decoration: none; }
.hcn-footer a:hover { color: var(--hcn-accent); text-decoration: underline; }
.hcn-footer :focus-visible { outline-color: var(--hcn-accent); }
.hcn-footer__grid { display: grid; gap: 32px; grid-template-columns: 1fr; }
@media (min-width: 700px) { .hcn-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1080px) { .hcn-footer__grid { grid-template-columns: 1.3fr 1fr 1fr 1fr; } }
.hcn-footer__brand p { margin-top: 14px; color: #B5BAC6; }
.hcn-footer__title { font-size: .95rem; font-weight: 750; color: #fff; margin-bottom: 12px !important; }
.hcn-footer__title--sub { margin-top: 20px !important; }
.hcn-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.hcn-footer__social { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.hcn-footer__copy { margin: 48px 0 0; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.15); color: #9AA0AD; font-size: .85rem; }
.hcn-footer .hcn-edit { top: -16px; }

/* ------------------------------------------------------------------ Bewegung & Druck */
@media (prefers-reduced-motion: reduce) {
	.hcn-site *, .hcn-site *::before, .hcn-site *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
@media (prefers-reduced-motion: no-preference) {
	/* Titel baut sich Wort für Wort auf (Wörter werden per JS umschlossen). */
	.hcn-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
	.hcn-w > span { display: inline-block; animation: hcn-word .9s cubic-bezier(.16,.84,.24,1) both; animation-delay: calc(var(--d, 0) * 75ms + 80ms); }
	.hcn-hero__lead, .hcn-hero__text > p:last-child { animation: hcn-fade .8s ease both; animation-delay: .55s; }
	@keyframes hcn-word { from { transform: translateY(105%); } to { transform: none; } }
	@keyframes hcn-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
}

/* ------------------------------------------------------------------ Schlagzeilen-Laufband */
.hcn-sec--ticker { padding-block: 0; }
.hcn-sec--ticker + .hcn-sec { padding-top: var(--hcn-sec); }
.hcn-sec--reveal + .hcn-sec { padding-top: var(--hcn-sec); }
.hcn-sec--hero + .hcn-sec--ticker { margin-top: calc(var(--hcn-sec) * -0.35); }
.hcn-ticker { display: flex; align-items: stretch; background: var(--hcn-ink); color: #fff; border-block: 1px solid var(--hcn-ink); overflow: hidden; }
.hcn-ticker__label { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; padding: 0 20px; background: var(--hcn-accent); color: var(--hcn-ink) !important; font-weight: 800; font-size: .95rem; text-decoration: none; position: relative; z-index: 1; }
.hcn-ticker__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--hcn-ink); }
@media (prefers-reduced-motion: no-preference) { .hcn-ticker__dot { animation: hcn-pulse 1.6s ease-in-out infinite; } }
@keyframes hcn-pulse { 50% { opacity: .25; } }
.hcn-ticker__viewport { flex: 1; min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 40px, #000 calc(100% - 40px), transparent); mask-image: linear-gradient(90deg, transparent, #000 40px, #000 calc(100% - 40px), transparent); }
.hcn-ticker__track { list-style: none; margin: 0; padding: 0; display: flex; width: max-content; will-change: transform; }
.hcn-ticker__item a { display: flex; align-items: baseline; gap: 12px; padding: 16px 28px; color: #fff; text-decoration: none; white-space: nowrap; border-right: 1px solid rgba(255,255,255,.18); }
.hcn-ticker__item time { font-weight: 800; font-variant-numeric: tabular-nums; color: var(--hcn-accent); }
.hcn-ticker__head { font-weight: 650; font-size: 1.05rem; }
.hcn-ticker__client { font-size: .85rem; color: #B5BAC6; }
.hcn-ticker__item a:hover .hcn-ticker__head, .hcn-ticker__item a:focus-visible .hcn-ticker__head { text-decoration: underline; text-decoration-color: var(--hcn-accent); text-decoration-thickness: 2px; text-underline-offset: .2em; }
.hcn-ticker :focus-visible { outline-color: var(--hcn-accent); outline-offset: -3px; }
.hcn-ticker.is-static .hcn-ticker__viewport { overflow-x: auto; }
@media (max-width: 640px) { .hcn-ticker__label { padding: 0 12px; font-size: .85rem; } .hcn-ticker__item a { padding: 14px 18px; } }

/* ------------------------------------------------------------------ Referenzen als Namensliste */
.hcn-reflist { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--hcn-ink); }
.hcn-reflist li { border-bottom: 1px solid var(--hcn-line); }
.hcn-reflist__item { display: flex; align-items: center; gap: 18px; padding: clamp(14px, 1.6vw, 22px) 0; text-decoration: none; color: var(--hcn-ink); transition: opacity .25s ease, transform .35s cubic-bezier(.2,.8,.2,1); }
.hcn-reflist__name { font-size: clamp(1.45rem, 1rem + 2.2vw, 3rem); font-weight: 780; letter-spacing: -.03em; line-height: 1.05; }
.hcn-reflist__meta { font-family: var(--hcn-serif); font-style: italic; color: var(--hcn-muted); font-size: 1.05rem; }
.hcn-reflist__arrow { margin-left: auto; opacity: 0; transform: translateX(-8px); transition: opacity .25s ease, transform .25s ease; color: var(--hcn-primary); }
.hcn-reflist__thumb { width: 72px; height: 48px; object-fit: cover; flex: 0 0 72px; background: var(--hcn-mist); }
a.hcn-reflist__item:hover, a.hcn-reflist__item:focus-visible { color: var(--hcn-primary); }
.hcn-reflist__item:hover .hcn-reflist__arrow, .hcn-reflist__item:focus-visible .hcn-reflist__arrow { opacity: 1; transform: none; }
.hcn-reflist__float { display: none; }
@media (hover: hover) and (pointer: fine) {
	.hcn-reflist__thumb { display: none; }
	.hcn-reflist:hover .hcn-reflist__item { opacity: .32; }
	.hcn-reflist:hover .hcn-reflist__item:hover { opacity: 1; transform: translateX(14px); }
	.hcn-reflist__float { display: block; position: fixed; left: 0; top: 0; z-index: 30; width: 340px; aspect-ratio: 3 / 2; pointer-events: none; opacity: 0; transform: translate3d(-9999px, 0, 0); transition: opacity .25s ease; box-shadow: 0 24px 50px -20px rgba(64,65,69,.55); }
	.hcn-reflist__float.is-on { opacity: 1; }
	.hcn-reflist__float img { width: 100%; height: 100%; object-fit: cover; }
}
@media (prefers-reduced-motion: reduce) { .hcn-reflist:hover .hcn-reflist__item:hover { transform: none; } }

/* ------------------------------------------------------------------ Referenzen als Mosaik */
/* Am Handy eine Kachel pro Zeile, ab 600 px zwei, ab 900 px drei */
.hcn-mosaic { display: grid; gap: clamp(10px, 1.4vw, 18px); grid-template-columns: minmax(0, 1fr); }
.hcn-tile { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 3; background: var(--hcn-mist); color: #fff; text-decoration: none; border-radius: var(--hcn-radius); isolation: isolate; }
.hcn-tile__media, .hcn-tile__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hcn-tile__media img { transition: transform .9s cubic-bezier(.2,.8,.2,1), filter .4s ease; }
.hcn-tile__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(38,39,42,.86) 0%, rgba(38,39,42,.38) 34%, rgba(38,39,42,0) 60%); }
.hcn-tile__cap { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; display: grid; gap: 3px; padding: clamp(12px, 1.6vw, 24px); }
.hcn-tile__name { font-weight: 760; letter-spacing: -.02em; line-height: 1.08; font-size: clamp(.98rem, .85rem + .55vw, 1.4rem); text-wrap: balance; }
.hcn-tile__meta { font-family: var(--hcn-serif); font-style: italic; font-size: .95rem; opacity: .86; }
.hcn-tile__arrow { position: absolute; top: 14px; right: 14px; z-index: 1; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--hcn-accent); color: var(--hcn-ink); opacity: 0; transform: scale(.6); transition: opacity .25s ease, transform .3s cubic-bezier(.2,.8,.2,1); }
.hcn-tile:hover .hcn-tile__media img { transform: scale(1.05); }
a.hcn-tile:hover .hcn-tile__arrow, a.hcn-tile:focus-visible .hcn-tile__arrow { opacity: 1; transform: none; }
a.hcn-tile:focus-visible { outline: 3px solid var(--hcn-primary); outline-offset: 3px; }
/* Kacheln ohne Bild: Name als Typo-Fläche in den Hausfarben */
.hcn-tile--text { background: var(--hcn-primary); }
.hcn-tile--text:nth-child(3n+2) { background: var(--hcn-ink); }
.hcn-tile--text:nth-child(3n) { background: var(--hcn-accent); color: var(--hcn-ink); }
.hcn-tile--text .hcn-tile__name { font-size: clamp(1.2rem, .95rem + 1vw, 1.9rem); }
.hcn-tile--odd-last { grid-column: 1 / -1; }
.hcn-tile--xl .hcn-tile__name, .hcn-tile--xl-r .hcn-tile__name, .hcn-tile--full .hcn-tile__name { font-size: clamp(1.2rem, .9rem + 1.5vw, 2.4rem); }
@media (min-width: 600px) { .hcn-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); } .hcn-tile--odd-last { aspect-ratio: 16 / 7; } }
@media (min-width: 900px) {
	.hcn-mosaic { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-flow: dense; }
	.hcn-tile--odd-last { grid-column: auto; aspect-ratio: 4 / 3; }
	.hcn-tile--xl { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; }
	.hcn-tile--xl-r { grid-column: 2 / span 2; grid-row: span 2; aspect-ratio: auto; }
	.hcn-tile--wide { grid-column: span 2; aspect-ratio: auto; }
	.hcn-tile--full { grid-column: 1 / -1; aspect-ratio: 3 / 1; }
}
/* Startseite: Slider, der von selbst läuft (site.js); Wischen, Überfahren oder die Pfeile halten ihn kurz an */
.hcn-mosaic__clone { display: none; }
.hcn-mosaic--slider { display: flex; gap: 12px; overflow-x: auto; margin-inline: calc(-1 * var(--hcn-gutter)); padding-inline: var(--hcn-gutter); scrollbar-width: none; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.hcn-mosaic--slider::-webkit-scrollbar { display: none; }
.hcn-mosaic--slider > .hcn-tile { flex: 0 0 74%; aspect-ratio: 4 / 5; }
.hcn-mosaic--slider > .hcn-mosaic__clone { display: block; }
.hcn-mosaic--slider .hcn-tile__name { font-size: 1.35rem; }
@media (min-width: 700px) {
	.hcn-mosaic--slider { gap: 18px; margin-inline: 0; padding-inline: 0; border-radius: var(--hcn-radius); }
	.hcn-mosaic--slider > .hcn-tile { flex-basis: calc((100% - 18px) / 2); aspect-ratio: 4 / 3; }
	.hcn-mosaic--slider .hcn-tile__name { font-size: clamp(1.15rem, .9rem + .7vw, 1.6rem); }
}
@media (min-width: 1000px) { .hcn-mosaic--slider > .hcn-tile { flex-basis: calc((100% - 36px) / 3); } }
.hcn-slidenav { display: flex; justify-content: flex-end; gap: 10px; margin-top: 16px; }
.hcn-slidenav__btn { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; border: 2px solid var(--hcn-ink); background: transparent; color: var(--hcn-ink); cursor: pointer; transition: background-color .2s ease, color .2s ease, transform .2s ease; }
.hcn-slidenav__btn:hover { background: var(--hcn-ink); color: var(--hcn-accent); }
.hcn-slidenav__btn:active { transform: scale(.94); }
.hcn-slidenav__btn:focus-visible { outline: 3px solid var(--hcn-primary); outline-offset: 3px; }
@media (max-width: 699px) { .hcn-slidenav { display: none; } }
@media (prefers-reduced-motion: reduce) {
	.hcn-mosaic--slider { scroll-snap-type: x mandatory; scroll-padding-inline: var(--hcn-gutter); }
	.hcn-mosaic--slider > .hcn-tile { scroll-snap-align: start; }
	.hcn-mosaic--slider > .hcn-mosaic__clone { display: none; }
}
@media (prefers-reduced-motion: reduce) { .hcn-tile:hover .hcn-tile__media img { transform: none; } }

/* Referenzen ohne Bild als Namensliste */
.hcn-namewall { margin-top: clamp(40px, 5vw, 72px); }
.hcn-namewall__title { font-size: 1.05rem; font-weight: 720; color: var(--hcn-muted); margin: 0 0 14px !important; }
.hcn-namewall__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); column-gap: clamp(16px, 2.4vw, 36px); border-top: 2px solid var(--hcn-ink); }
.hcn-namewall__list li { display: grid; gap: 2px; padding: 15px 0; border-bottom: 1px solid var(--hcn-line); }
.hcn-namewall__list li > span, .hcn-namewall__list li > a { font-size: clamp(1.05rem, .95rem + .4vw, 1.3rem); font-weight: 720; letter-spacing: -.015em; line-height: 1.2; color: var(--hcn-ink); text-decoration: none; }
.hcn-namewall__list li > a:hover { color: var(--hcn-primary); text-decoration: underline; }
.hcn-namewall__list small { font-family: var(--hcn-serif); font-style: italic; font-size: .95rem; color: var(--hcn-muted); }

/* ------------------------------------------------------------------ Leistungen als Scroll-Erzählung */
.hcn-story { display: grid; gap: 32px; }
.hcn-story__panel { display: none; }
.hcn-story__list { list-style: none; margin: 0; padding: 0; counter-reset: none; border-top: 2px solid var(--hcn-ink); }
.hcn-story__item { padding: 28px 0; border-bottom: 1px solid var(--hcn-line); }
.hcn-story__itemgroup { font-size: .85rem; font-weight: 700; color: var(--hcn-muted); margin: 0 0 6px; }
.hcn-story__title { font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.2rem); font-weight: 780; letter-spacing: -.025em; margin-bottom: 6px !important; }
.hcn-story__title a { text-decoration: none; }
.hcn-story__claimtext { font-family: var(--hcn-serif); font-style: italic; font-size: 1.2rem; color: var(--hcn-muted); }
.hcn-story__text { font-family: var(--hcn-serif); font-size: 1.15rem; line-height: 1.6; max-width: 34em; }
@media (min-width: 960px) {
	.hcn-story { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(40px, 5vw, 88px); align-items: start; }
	.hcn-story__panel { display: block; position: sticky; top: 110px; }
	.hcn-story__stage { position: relative; aspect-ratio: 4 / 5; max-height: calc(100vh - 150px); background: var(--hcn-primary); color: #fff; border-radius: var(--hcn-radius); overflow: hidden; }
	.hcn-story__slide { position: absolute; inset: 0; padding: clamp(28px, 3vw, 48px); display: flex; flex-direction: column; justify-content: flex-end; gap: 14px; opacity: 0; transform: translateY(24px); transition: opacity .5s ease, transform .6s cubic-bezier(.2,.8,.2,1); }
	.hcn-story__slide.is-active { opacity: 1; transform: none; }
	.hcn-story__group { font-size: .9rem; font-weight: 700; color: var(--hcn-accent); }
	.hcn-story__name { font-size: clamp(2rem, .4rem + 2.6vw, 3.2rem); font-weight: 820; letter-spacing: -.035em; line-height: 1; text-wrap: balance; hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }
	.hcn-story__claim { font-family: var(--hcn-serif); font-style: italic; font-size: 1.35rem; line-height: 1.35; opacity: .9; }
	.hcn-story__progress { position: absolute; left: clamp(28px, 3vw, 48px); right: clamp(28px, 3vw, 48px); top: clamp(24px, 2.6vw, 40px); display: flex; align-items: center; gap: 14px; font-size: .85rem; font-weight: 700; font-variant-numeric: tabular-nums; }
	.hcn-story__bar { flex: 1; height: 3px; background: rgba(255,255,255,.25); border-radius: 2px; overflow: hidden; }
	.hcn-story__bar span { display: block; height: 100%; background: var(--hcn-accent); transition: width .5s ease; }
	.hcn-story__list { border-top: 0; }
	.hcn-story__item { min-height: 62vh; display: flex; flex-direction: column; justify-content: center; padding: 40px 0; border-bottom: 0; opacity: .3; transition: opacity .4s ease; }
	.hcn-story__item.is-active { opacity: 1; }
	.hcn-story__item:focus-within { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) { .hcn-story__slide, .hcn-story__item { transition: none; } }

/* ------------------------------------------------------------------ Fotostapel */
.hcn-stack { display: grid; gap: 32px; align-items: center; margin-bottom: clamp(40px, 5vw, 64px); }
@media (min-width: 900px) { .hcn-stack { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 56px; } }
.hcn-stack__deck { position: relative; aspect-ratio: 4 / 3; max-width: 100%; touch-action: pan-y; outline: none; }
.hcn-stack__deck:focus-visible { outline: 3px solid var(--hcn-primary); outline-offset: 8px; border-radius: 4px; }
.hcn-stack__card { position: absolute; inset: 6% 8%; margin: 0; background: #fff; padding: 10px 10px 34px; box-shadow: 0 18px 40px -18px rgba(64,65,69,.45); cursor: grab; user-select: none; transform-origin: 50% 80%; transition: transform .45s cubic-bezier(.2,.8,.2,1), opacity .3s ease; }
.hcn-stack__card img { width: 100%; height: 100%; object-fit: cover; pointer-events: none; background: var(--hcn-mist); }
.hcn-stack__card.is-dragging { transition: none; cursor: grabbing; }
.hcn-stack__info { min-width: 0; }
.hcn-stack__pos { font-weight: 800; font-variant-numeric: tabular-nums; color: var(--hcn-primary); margin: 0 0 6px; }
.hcn-stack__title { font-size: clamp(1.3rem, 1.1rem + .8vw, 1.8rem); font-weight: 760; margin-bottom: 8px !important; }
.hcn-stack__caption { font-family: var(--hcn-serif); font-size: 1.1rem; line-height: 1.5; color: #333844; }
.hcn-stack__credit { font-weight: 650; font-size: .95rem; }
.hcn-stack__facts { font-size: .85rem; color: var(--hcn-muted); font-variant-numeric: tabular-nums; }
.hcn-stack__nav, .hcn-stack__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.hcn-stack__actions { margin-top: 12px; }
.hcn-stack__hint { font-size: .8125rem; color: var(--hcn-muted); margin-top: 14px; }
.hcn-media__sub { font-size: 1.05rem; font-weight: 700; margin: 0 0 16px !important; padding-top: 24px; border-top: 1px solid var(--hcn-line); }
@media print { .hcn-stack, .hcn-ticker { display: none !important; } }

@media print {
	.hcn-header, .hcn-footer, .hcn-edit, .hcn-banner, .hcn-release__aside, .hcn-selbar, .hcn-img__select, .hcn-filter { display: none !important; }
	.hcn-media { background: none; }
}

/* ==================================================================
 * Gestaltungsstil „Bühne“
 * Der Titelbereich wird zur blauen Bühne mit Lichtkegel, der dem Mauszeiger
 * folgt (PR = Kunden ins Rampenlicht stellen). Darunter ein gelbes Eilmeldungs-
 * Laufband. Alles andere bleibt ruhig.
 * ================================================================== */
@property --hcn-mx { syntax: "<percentage>"; inherits: true; initial-value: 72%; }
@property --hcn-my { syntax: "<percentage>"; inherits: true; initial-value: 28%; }

.hcn-style-buehne { --hcn-radius: 14px; }

/* Kopfzeile: auf Seiten mit Bühne zunächst blau, beim Scrollen weiß */
.hcn-style-buehne .hcn-header { transition: background-color .3s ease, border-color .3s ease, color .3s ease; }
.hcn-style-buehne:has(.hcn-page > .hcn-sec--hero:first-child):not(.hcn-scrolled) .hcn-header { background: var(--hcn-ink); border-bottom-color: transparent; color: #fff; backdrop-filter: none; }
.hcn-style-buehne:has(.hcn-page > .hcn-sec--hero:first-child):not(.hcn-scrolled) .hcn-logo { color: var(--hcn-accent); }
.hcn-style-buehne:has(.hcn-page > .hcn-sec--hero:first-child):not(.hcn-scrolled) .hcn-burger { border-color: rgba(255,255,255,.8); color: #fff; }
@media (min-width: 961px) {
	.hcn-style-buehne:has(.hcn-page > .hcn-sec--hero:first-child):not(.hcn-scrolled) .hcn-nav a { color: #fff; }
	.hcn-style-buehne:has(.hcn-page > .hcn-sec--hero:first-child):not(.hcn-scrolled) .hcn-nav a:hover { background: rgba(255,255,255,.12); }
	.hcn-style-buehne:has(.hcn-page > .hcn-sec--hero:first-child):not(.hcn-scrolled) .hcn-nav__press a { background: var(--hcn-accent); color: var(--hcn-ink) !important; }
	.hcn-style-buehne:has(.hcn-page > .hcn-sec--hero:first-child):not(.hcn-scrolled) .hcn-nav__press a:hover { background: #fff; }
	.hcn-style-buehne .hcn-nav__press a { border-radius: 999px; }
}

/* Bühne */
.hcn-style-buehne .hcn-page > .hcn-sec--hero:first-child {
	position: relative; isolation: isolate; overflow: hidden;
	background: var(--hcn-ink); color: #fff;
	padding-top: clamp(48px, 7vw, 120px); padding-bottom: clamp(56px, 8vw, 128px);
}
.hcn-style-buehne .hcn-page > .hcn-sec--hero:first-child::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background:
		radial-gradient(42rem circle at var(--hcn-mx) var(--hcn-my), rgba(196,228,231,.22), rgba(196,228,231,.06) 38%, transparent 62%),
		radial-gradient(60rem 30rem at 92% 118%, rgba(42,111,120,.55), transparent 60%),
		linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,20,.18));
}
@media (prefers-reduced-motion: no-preference) {
	.hcn-style-buehne .hcn-page > .hcn-sec--hero:first-child { animation: hcn-drift 14s ease-in-out infinite alternate; }
	.hcn-style-buehne .hcn-page > .hcn-sec--hero:first-child.is-tracking { animation: none; }
}
@keyframes hcn-drift { 0% { --hcn-mx: 70%; --hcn-my: 22%; } 50% { --hcn-mx: 38%; --hcn-my: 55%; } 100% { --hcn-mx: 82%; --hcn-my: 70%; } }
.hcn-style-buehne .hcn-page > .hcn-sec--hero:first-child .hcn-hero__lead { color: rgba(255,255,255,.9); }
.hcn-style-buehne .hcn-page > .hcn-sec--hero:first-child .hcn-btn { background: var(--hcn-accent); border-color: var(--hcn-accent); color: var(--hcn-ink) !important; }
.hcn-style-buehne .hcn-page > .hcn-sec--hero:first-child .hcn-btn:hover { background: #fff; border-color: #fff; }
.hcn-style-buehne .hcn-page > .hcn-sec--hero:first-child :focus-visible { outline-color: var(--hcn-accent); }
.hcn-style-buehne .hcn-page > .hcn-sec--hero:first-child .hcn-crumbs, .hcn-style-buehne .hcn-page > .hcn-sec--hero:first-child .hcn-crumbs a { color: rgba(255,255,255,.8); }
.hcn-style-buehne .hcn-page > .hcn-sec--hero:first-child .hcn-edit { box-shadow: 0 0 0 2px #fff; }
@media (min-width: 1000px) {
	.hcn-style-buehne .hcn-page > .hcn-sec--hero:first-child .hcn-hero:not(.hcn-hero--wire):not(.hcn-hero--image) .hcn-hero__title { font-size: clamp(4rem, 1rem + 7vw, 9rem); }
}

/* „Aktuell im News Channel“ als helle Karte auf der Bühne */
.hcn-style-buehne .hcn-wire { background: #fff; color: var(--hcn-ink); box-shadow: 0 30px 60px -30px rgba(0,0,30,.55); }
.hcn-style-buehne .hcn-wire a { color: var(--hcn-ink); }
.hcn-style-buehne .hcn-wire__list li, .hcn-style-buehne .hcn-wire__more { border-color: var(--hcn-line); }
.hcn-style-buehne .hcn-wire__list time { color: var(--hcn-primary); }
.hcn-style-buehne .hcn-wire__client { color: var(--hcn-muted); opacity: 1; }
.hcn-style-buehne .hcn-wire__list a:hover .hcn-wire__head { text-decoration-color: var(--hcn-primary); }
.hcn-style-buehne .hcn-wire__title::before { box-shadow: 0 0 0 4px rgba(196,228,231,.45); }
@media (prefers-reduced-motion: no-preference) { .hcn-style-buehne .hcn-wire__title::before { animation: hcn-pulse 1.6s ease-in-out infinite; } }

/* Laufband als gelbe Eilmeldung direkt unter der Bühne */
.hcn-style-buehne .hcn-sec--hero + .hcn-sec--ticker { margin-top: 0; }
.hcn-style-buehne .hcn-ticker { background: var(--hcn-accent); color: var(--hcn-ink); border-color: var(--hcn-accent); }
.hcn-style-buehne .hcn-ticker__label { background: var(--hcn-ink); color: var(--hcn-accent) !important; }
.hcn-style-buehne .hcn-ticker__dot { background: var(--hcn-accent); }
.hcn-style-buehne .hcn-ticker__item a { color: var(--hcn-ink); border-right-color: rgba(64,65,69,.2); }
.hcn-style-buehne .hcn-ticker__item time { color: var(--hcn-primary); }
.hcn-style-buehne .hcn-ticker__client { color: rgba(64,65,69,.7); }
.hcn-style-buehne .hcn-ticker__item a:hover .hcn-ticker__head { text-decoration-color: var(--hcn-ink); }
.hcn-style-buehne .hcn-ticker :focus-visible { outline-color: var(--hcn-ink); }

/* Größere Überschriften */
.hcn-style-buehne .hcn-h2 { font-size: clamp(2rem, 1.1rem + 3.2vw, 4.25rem); font-weight: 800; letter-spacing: -.04em; line-height: .98; }
.hcn-style-buehne .hcn-cta__title { font-size: clamp(2.4rem, 1.2rem + 4vw, 5.25rem); letter-spacing: -.04em; line-height: .96; }

/* Schaltflächen als Pillen */
.hcn-style-buehne .hcn-btn { border-radius: 999px; padding-inline: 1.5em; }
.hcn-style-buehne .hcn-btn--lg { padding: .95em 1.8em; }
.hcn-style-buehne .hcn-btn.is-magnetic { transition: transform .25s cubic-bezier(.2,.8,.2,1), background-color .15s ease, border-color .15s ease, color .15s ease; }

/* Unterstrich wächst beim Überfahren */
.hcn-style-buehne .hcn-link-strong { border-bottom: 0; padding-bottom: 3px; background: linear-gradient(currentColor, currentColor) 0 100% / 100% 2px no-repeat, linear-gradient(var(--hcn-accent), var(--hcn-accent)) 0 100% / 0 100% no-repeat; transition: background-size .35s cubic-bezier(.2,.8,.2,1), color .2s ease; }
.hcn-style-buehne .hcn-link-strong:hover { color: var(--hcn-ink); background-size: 100% 2px, 100% 100%; }

/* Leistungsliste: Zeile füllt sich beim Überfahren blau */
.hcn-style-buehne .hcn-svc a { position: relative; isolation: isolate; padding-inline: 0; transition: padding .35s cubic-bezier(.2,.8,.2,1), color .2s ease; }
.hcn-style-buehne .hcn-svc a::before { content: ""; position: absolute; inset: 0 -12px; z-index: -1; background: var(--hcn-primary); border-radius: 10px; transform: scaleX(0); transform-origin: left center; transition: transform .4s cubic-bezier(.2,.8,.2,1); }
.hcn-style-buehne .hcn-svc a:hover, .hcn-style-buehne .hcn-svc a:focus-visible { color: #fff; padding-left: 14px; }
.hcn-style-buehne .hcn-svc a:hover::before, .hcn-style-buehne .hcn-svc a:focus-visible::before { transform: scaleX(1); }
.hcn-style-buehne .hcn-svc a:hover .hcn-svc__name, .hcn-style-buehne .hcn-svc a:hover .hcn-svc__claim { color: #fff; }
.hcn-style-buehne .hcn-svc a:focus-visible { outline-color: var(--hcn-accent); }

/* Bilder mit weichen Ecken */
.hcn-style-buehne .hcn-ti__media img, .hcn-style-buehne .hcn-proj__media img, .hcn-style-buehne .hcn-proj__media .hcn-ph, .hcn-style-buehne .hcn-rel__media img, .hcn-style-buehne .hcn-rel__media .hcn-ph, .hcn-style-buehne .hcn-person__media img, .hcn-style-buehne .hcn-reflist__float, .hcn-style-buehne .hcn-tile, .hcn-style-buehne .hcn-reflist__float img, .hcn-style-buehne .hcn-gal img, .hcn-style-buehne .hcn-hero__media img { border-radius: var(--hcn-radius); }

/* Kontaktaufruf ebenfalls mit Lichtkegel */
.hcn-style-buehne .hcn-cta { position: relative; isolation: isolate; overflow: hidden; }
.hcn-style-buehne .hcn-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(40rem circle at var(--hcn-mx) var(--hcn-my), rgba(255,255,255,.16), transparent 60%), radial-gradient(50rem 26rem at 8% 120%, rgba(196,228,231,.22), transparent 60%); }
.hcn-style-buehne .hcn-cta .hcn-btn--invert { background: var(--hcn-accent); border-color: var(--hcn-accent); }
.hcn-style-buehne .hcn-cta .hcn-btn--invert:hover { background: #fff; border-color: #fff; }
@media (prefers-reduced-motion: no-preference) { .hcn-style-buehne .hcn-cta { animation: hcn-drift 16s ease-in-out infinite alternate-reverse; } .hcn-style-buehne .hcn-cta.is-tracking { animation: none; } }
.hcn-style-buehne .hcn-page > .hcn-sec--hero:first-child + .hcn-sec:not(.hcn-sec--ticker) { padding-top: var(--hcn-sec); }
.hcn-style-buehne .hcn-cta__text { margin-top: 22px; }
.hcn-site .hcn-hero__title { margin-bottom: .55em; }
.hcn-style-buehne.hcn-scrolled .hcn-header { background: rgba(255,255,255,.98); }

/* ------------------------------------------------------------------ Hiller-Logo und Markenfarben (Grau/Türkis) */
.hcn-logo__svg { display: block; line-height: 0; }
.hcn-logo__svg svg { display: block; height: 42px; width: auto; }
.hcn-footer .hcn-logo__svg svg { height: 52px; }
.hcn-logo--light { color: var(--hcn-accent); }
@media (max-width: 640px) { .hcn-logo__svg svg { height: 34px; } }
.hcn-style-buehne:has(.hcn-page > .hcn-sec--hero:first-child):not(.hcn-scrolled) .hcn-nav a[aria-current="page"] { text-decoration-color: var(--hcn-accent); }
.hcn-style-buehne .hcn-wire__more a { border-bottom-color: var(--hcn-primary); }
.hcn-style-buehne .hcn-wire__title::before { background: var(--hcn-primary); box-shadow: 0 0 0 4px var(--hcn-accent); }
/* Kontaktaufruf in Türkis mit grauer Schrift – wie das helle Logo-Quadrat */
.hcn-style-buehne .hcn-cta { background: var(--hcn-accent); color: var(--hcn-ink); }
.hcn-style-buehne .hcn-cta::before { background: radial-gradient(40rem circle at var(--hcn-mx) var(--hcn-my), rgba(255,255,255,.55), transparent 60%), radial-gradient(50rem 26rem at 8% 120%, rgba(42,111,120,.22), transparent 60%); }
.hcn-style-buehne .hcn-cta .hcn-btn--invert { background: var(--hcn-ink); border-color: var(--hcn-ink); color: #fff !important; }
.hcn-style-buehne .hcn-cta .hcn-btn--invert:hover { background: var(--hcn-primary); border-color: var(--hcn-primary); color: #fff !important; }
.hcn-style-buehne .hcn-cta__direct a { color: var(--hcn-ink); border-bottom-color: rgba(64,65,69,.45); }
.hcn-style-buehne .hcn-cta__direct a:hover { color: var(--hcn-primary); border-color: var(--hcn-primary); }
.hcn-style-buehne .hcn-cta :focus-visible { outline-color: var(--hcn-ink); }
.hcn-footer a.hcn-logo--light { color: var(--hcn-accent); }
.hcn-footer a.hcn-logo--light:hover { color: #fff; text-decoration: none; }
/* Bildmarke (Winkel aus dem Logo) groß in der Farbfläche der Scroll-Erzählung */
@media (min-width: 960px) {
	.hcn-story__stage::after { content: ""; position: absolute; right: 11%; top: 20%; width: 34%; aspect-ratio: 552 / 529; background: var(--hcn-accent); -webkit-mask: url("../img/logo-mark.svg") no-repeat center / contain; mask: url("../img/logo-mark.svg") no-repeat center / contain; pointer-events: none; }
}

/* Presseverteiler: Anmeldung, Bestätigung, Abmeldung */
.hcn-wrap--narrow { max-width: calc(760px + 2 * var(--hcn-gutter)); }
.hcn-fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.hcn-fieldset legend { font-weight: 650; font-size: .9375rem; margin-bottom: 10px; padding: 0; }
.hcn-checks { display: grid; gap: 10px; }
@media (min-width: 700px) { .hcn-checks { grid-template-columns: 1fr 1fr; } }
.hcn-check small { color: var(--hcn-muted); font-size: .875rem; }
.hcn-verteiler-box { background: #fff; border: 1px solid var(--hcn-line, #e3e6e8); border-radius: var(--hcn-radius); padding: clamp(22px, 4vw, 40px); }
.hcn-verteiler-box .hcn-btn { margin-top: 8px; }
.hcn-verteiler-box p { margin: 0 0 1em; }
.hcn-note { color: var(--hcn-muted); font-size: .9rem; }
.hcn-press-signup { margin-top: 28px; padding: 22px 24px; border-radius: var(--hcn-radius); background: var(--hcn-accent, #C4E4E7); display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; justify-content: space-between; }
.hcn-press-signup p { margin: 0; max-width: 60ch; }
.hcn-field .hcn-check { display: flex; font-weight: 500; margin-bottom: 0; }
.hcn-field .hcn-check span { font-weight: 500; }
.hcn-narrow { max-width: 760px; }

/* ------------------------------------------------------------------ Kinetische Überschrift (Startseite) */
.hcn-hero__title--kinetic { --mx: 0; --my: 0; position: relative; }
.hcn-kline { position: relative; isolation: isolate; width: fit-content; cursor: default; transition: transform .7s cubic-bezier(.2,.8,.2,1), color .4s; transform: translate3d(calc(var(--mx) * var(--depth) * 10px), calc(var(--my) * var(--depth) * 6px), 0); }
.hcn-kline::after { content: ""; position: absolute; left: -.08em; right: -.08em; bottom: .06em; height: .26em; background: var(--hcn-accent); border-radius: .08em; z-index: -1; transform: scaleX(0); transform-origin: left; transition: transform .6s cubic-bezier(.65,0,.35,1); opacity: .9; }
.hcn-kline.is-lit::after { transform: scaleX(1); }
.hcn-style-buehne .hcn-page > .hcn-sec--hero:first-child .hcn-kline.is-lit { color: var(--hcn-accent); }
.hcn-style-buehne .hcn-page > .hcn-sec--hero:first-child .hcn-kline::after { background: rgba(196,228,231,.18); height: .9em; bottom: .02em; }
.hcn-ch { display: inline-block; will-change: transform; }
@media (prefers-reduced-motion: no-preference) {
	.hcn-kline.is-lit { transform: translate3d(calc(var(--mx) * var(--depth) * 10px + .06em), calc(var(--my) * var(--depth) * 6px), 0); }
	.hcn-kline.is-wave .hcn-ch { animation: hcn-wave .7s cubic-bezier(.3,1.6,.5,1) both; animation-delay: calc(var(--ci) * 28ms); }
	.hcn-kline.is-pop { animation: hcn-pop .5s cubic-bezier(.3,1.8,.5,1); }
	@keyframes hcn-wave { 0% { transform: none; } 40% { transform: translateY(-.16em) rotate(-4deg); } 100% { transform: none; } }
	@keyframes hcn-pop { 0% { scale: 1; } 40% { scale: 1.06; } 100% { scale: 1; } }
}

/* Störer (#GerneperDU) – sitzt in der Überschrift rechts neben den kürzeren Zeilen 2 und 3 */
.hcn-site .hcn-hero__title { position: relative; }
.hcn-hero__title > .hcn-sticker { position: absolute; display: block; left: 5.3em; top: 1.02em; width: 1.75em; max-width: 160px; min-width: 92px; aspect-ratio: 1; margin: 0; z-index: 2; cursor: pointer; user-select: none; font-size: inherit; letter-spacing: 0; line-height: 1; }
.hcn-sticker__inner { position: absolute; inset: 0; border-radius: 50%; background: var(--hcn-accent); color: var(--hcn-ink); display: grid; place-items: center; box-shadow: 0 14px 34px -14px rgba(0,0,0,.55); transform: rotate(-14deg); transition: transform .4s cubic-bezier(.3,1.6,.5,1); }
.hcn-sticker:hover .hcn-sticker__inner { transform: rotate(-4deg) scale(1.07); }
.hcn-sticker.is-pop .hcn-sticker__inner { animation: hcn-pop .5s cubic-bezier(.3,1.8,.5,1); }
.hcn-sticker__ring { position: absolute; inset: 4%; width: 92%; height: 92%; font-size: 15.5px; font-weight: 800; letter-spacing: .14em; fill: var(--hcn-ink); text-transform: uppercase; }
.hcn-sticker__core { font-weight: 850; font-size: clamp(.8rem, .55rem + .5vw, 1.05rem); line-height: 1.05; text-align: center; max-width: 64%; letter-spacing: -.01em; white-space: pre-line; color: var(--hcn-ink); }
@media (prefers-reduced-motion: no-preference) {
	.hcn-sticker__ring { animation: hcn-spin 18s linear infinite; transform-origin: 50% 50%; }
	.hcn-sticker:hover .hcn-sticker__ring { animation-duration: 5s; }
	@keyframes hcn-spin { to { transform: rotate(360deg); } }
}

/* Laufschrift: eigene Texte */
.hcn-ticker__item--msg .hcn-ticker__head { color: var(--hcn-accent); font-weight: 750; }
.hcn-ticker__star { color: var(--hcn-accent); margin-right: .55em; }
.hcn-ticker__msg { display: inline-flex; align-items: baseline; }

/* Statement */
.hcn-statement { display: grid; gap: .4em; }
.hcn-statement__kicker { font-weight: 800; font-size: .95rem; letter-spacing: .02em; color: var(--hcn-primary); margin: 0; }
.hcn-statement__title { font-size: clamp(2.2rem, 1rem + 4.4vw, 5rem); font-weight: 830; line-height: .98; letter-spacing: -.035em; margin: 0 0 .3em; max-width: 16ch; }
.hcn-statement__title > span { display: block; }
.hcn-statement__text { font-family: var(--hcn-serif); font-size: clamp(1.15rem, 1rem + .6vw, 1.5rem); line-height: 1.5; max-width: 38em; }

/* Leistungen: aufklappbar */
.hcn-acc { border-top: 2px solid var(--hcn-ink); }
.hcn-acc__item { border-bottom: 1px solid var(--hcn-line); }
.hcn-acc__head { list-style: none; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 24px; padding: clamp(18px, 2.4vw, 30px) 0; cursor: pointer; }
.hcn-acc__head::-webkit-details-marker { display: none; }
.hcn-acc__title { font-size: clamp(1.7rem, 1rem + 2.6vw, 3.2rem); font-weight: 820; letter-spacing: -.03em; line-height: 1.02; transition: color .25s, transform .4s cubic-bezier(.2,.8,.2,1); }
.hcn-acc__claim { grid-column: 1; color: var(--hcn-muted); font-size: clamp(1rem, .9rem + .3vw, 1.2rem); }
.hcn-acc__icon { grid-column: 2; grid-row: 1 / span 2; width: 52px; height: 52px; border-radius: 50%; border: 2px solid var(--hcn-ink); display: grid; place-items: center; transition: transform .45s cubic-bezier(.3,1.5,.5,1), background .25s, color .25s; }
.hcn-acc__head:hover .hcn-acc__title, .hcn-acc__item[open] .hcn-acc__title { color: var(--hcn-primary); transform: translateX(.18em); }
.hcn-acc__head:hover .hcn-acc__icon { background: var(--hcn-accent); }
.hcn-acc__item[open] .hcn-acc__icon { transform: rotate(135deg); background: var(--hcn-ink); color: #fff; }
.hcn-acc__head:focus-visible { outline: 3px solid var(--hcn-primary); outline-offset: 4px; }
.hcn-acc__body { padding: 0 0 clamp(22px, 3vw, 38px); display: grid; gap: 18px; max-width: 900px; }
.hcn-acc__summary { font-family: var(--hcn-serif); font-size: clamp(1.1rem, 1rem + .4vw, 1.35rem); line-height: 1.5; margin: 0; }
.hcn-acc__subs { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.hcn-acc__subs a { display: inline-flex; align-items: center; gap: .4em; padding: .5em 1em; border: 1.5px solid var(--hcn-ink); border-radius: 999px; text-decoration: none; color: var(--hcn-ink); font-weight: 650; transition: background .2s, color .2s, transform .2s; }
.hcn-acc__subs a:hover, .hcn-acc__subs a:focus-visible { background: var(--hcn-ink); color: #fff; transform: translateY(-2px); }
.hcn-acc__body > p { margin: 0; }
@media (prefers-reduced-motion: no-preference) {
	.hcn-acc__item[open] .hcn-acc__body { animation: hcn-accin .5s cubic-bezier(.2,.8,.2,1); }
	.hcn-acc__item[open] .hcn-acc__subs li { animation: hcn-accin .5s cubic-bezier(.2,.8,.2,1) both; }
	.hcn-acc__item[open] .hcn-acc__subs li:nth-child(2) { animation-delay: 40ms; } .hcn-acc__item[open] .hcn-acc__subs li:nth-child(3) { animation-delay: 80ms; }
	.hcn-acc__item[open] .hcn-acc__subs li:nth-child(4) { animation-delay: 120ms; } .hcn-acc__item[open] .hcn-acc__subs li:nth-child(5) { animation-delay: 160ms; }
	.hcn-acc__item[open] .hcn-acc__subs li:nth-child(n+6) { animation-delay: 200ms; }
	@keyframes hcn-accin { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
}

/* Landingpages der Leistungen: Sprungnavigation */
.hcn-subnav { position: sticky; top: var(--hcn-header-h, 72px); z-index: 5; background: rgba(255,255,255,.94); backdrop-filter: blur(8px); border-block: 1px solid var(--hcn-line); margin-bottom: clamp(20px, 3vw, 40px); }
.hcn-subnav ul { list-style: none; margin: 0; padding: 10px 0; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.hcn-subnav a { display: block; white-space: nowrap; padding: .4em .9em; border-radius: 999px; text-decoration: none; color: var(--hcn-ink); font-weight: 650; font-size: .95rem; }
.hcn-subnav a:hover { background: var(--hcn-accent); }
.hcn-prose--landing h2 { scroll-margin-top: 140px; font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.2rem); margin-top: 1.6em; padding-top: .6em; border-top: 2px solid var(--hcn-accent); }
.hcn-prose--landing h2:first-child { margin-top: 0; }

/* ------------------------------------------------------------------ Einladung (persönliche Antwortseite) */
.hcn-event .hcn-kicker { margin: 0 0 .4em; font-weight: 700; font-size: .95rem; color: var(--hcn-primary); }
.hcn-event h1 { margin-top: 0; }
.hcn-event-facts { display: grid; gap: 14px; margin: 1.4em 0; padding: 18px 20px; background: var(--hcn-mist); border-left: 4px solid var(--hcn-primary); border-radius: var(--hcn-radius); }
.hcn-event-facts div { display: grid; grid-template-columns: 7.5em 1fr; gap: 12px; }
.hcn-event-facts dt { font-weight: 700; color: var(--hcn-primary); }
.hcn-event-facts dd { margin: 0; }
.hcn-event-facts a { color: var(--hcn-primary); font-size: .95rem; }
.hcn-event-img { display: block; width: 100%; height: auto; border-radius: var(--hcn-radius); margin: 0 0 1.4em; }
.hcn-event-status { padding: 14px 18px; background: var(--hcn-accent); border-radius: var(--hcn-radius); }
.hcn-rsvp { margin-top: 1.6em; padding-top: 1.4em; border-top: 1px solid var(--hcn-line); }
.hcn-rsvp fieldset { border: 0; padding: 0; margin: 0 0 1em; display: grid; gap: 10px; }
.hcn-rsvp legend { font-weight: 750; font-size: 1.2rem; margin-bottom: 10px; }
@media (max-width: 520px) { .hcn-event-facts div { grid-template-columns: 1fr; gap: 2px; } }

/* ------------------------------------------------------------------ Kinetische Überschrift: türkise Balken geben Zeile für Zeile den Text frei */
@media (prefers-reduced-motion: no-preference) {
	.hcn-hero__title--kinetic > span:not(.hcn-sticker) { position: relative; }
	.hcn-hero__title--kinetic > span:not(.hcn-sticker)::before {
		content: ""; position: absolute; z-index: 3; left: -.1em; right: -.1em; top: -.06em; bottom: -.14em;
		background: var(--hcn-accent); border-radius: .06em; pointer-events: none;
		transform-origin: right center; animation: hcn-unveil 1.5s cubic-bezier(.65,0,.25,1) both;
	}
	.hcn-hero__title--kinetic > span:nth-child(1)::before { animation-delay: .8s; }
	.hcn-hero__title--kinetic > span:nth-child(2)::before { animation-delay: 2s; }
	.hcn-hero__title--kinetic > span:nth-child(3)::before { animation-delay: 3.2s; }
	.hcn-hero__title--kinetic > span:nth-child(n+4)::before { animation-delay: 4.4s; }
	/* Der freigegebene Text leuchtet kurz in Türkis auf und wird dann hell */
	.hcn-hero__title--kinetic > span:not(.hcn-sticker) { animation: hcn-unveil-text 2s ease both; }
	.hcn-hero__title--kinetic > span:nth-child(1) { animation-delay: 1.5s; }
	.hcn-hero__title--kinetic > span:nth-child(2) { animation-delay: 2.7s; }
	.hcn-hero__title--kinetic > span:nth-child(3) { animation-delay: 3.9s; }
	.hcn-hero__title--kinetic > span:nth-child(n+4) { animation-delay: 5.1s; }
	.hcn-hero__title--kinetic .hcn-w > span { animation: none; }
}
@keyframes hcn-unveil { 0%, 14% { transform: scaleX(1); } 100% { transform: scaleX(0); } }
@keyframes hcn-unveil-text { 0% { color: var(--hcn-accent); } 100% { color: inherit; } }

/* ------------------------------------------------------------------ Laufschrift: eigene Hinweise gut lesbar (auch im Stil „Bühne“ mit türkisem Band) */
.hcn-ticker__msg { display: flex; align-items: baseline; padding: 16px 28px; white-space: nowrap; border-right: 1px solid rgba(255,255,255,.18); }
.hcn-ticker__item--msg a, .hcn-ticker__msg { gap: 0; }
.hcn-style-buehne .hcn-ticker__item--msg .hcn-ticker__head { color: var(--hcn-ink); font-weight: 800; }
.hcn-style-buehne .hcn-ticker__star { color: var(--hcn-primary); }
.hcn-style-buehne .hcn-ticker__msg { border-right-color: rgba(64,65,69,.2); }
.hcn-ticker--msgs .hcn-ticker__head { font-size: 1.15rem; letter-spacing: -.005em; }
.hcn-ticker--msgs .hcn-ticker__item a, .hcn-ticker--msgs .hcn-ticker__msg { border-right: 0; padding-inline: 34px; }
@media (max-width: 640px) { .hcn-ticker__msg { padding: 14px 18px; } .hcn-ticker--msgs .hcn-ticker__head { font-size: 1.02rem; } }

/* Handy-Menü: das aufgeklappte Menü ist immer weiß – Schrift daher immer dunkel, auch wenn die Kopfzeile gerade dunkel ist */
@media (max-width: 960px) {
	.hcn-nav { color: var(--hcn-ink); }
	.hcn-nav a { color: var(--hcn-ink); }
	.hcn-nav__press a { color: #fff !important; }
	.hcn-style-buehne .hcn-nav a[aria-current="page"] { text-decoration-color: var(--hcn-primary) !important; }
}

/* ------------------------------------------------------------------ Leistungen: zwei Richtungen zum Umschalten, Unterpunkte als Karten */
.hcn-dirs__tabs { display: grid; grid-template-columns: repeat(var(--n, 2), minmax(0, 1fr)); gap: 10px; }
.hcn-dirs__tab {
	position: relative; display: grid; align-content: start; gap: 8px; text-align: left; font: inherit; cursor: pointer;
	padding: clamp(18px, 3vw, 40px) clamp(18px, 3vw, 40px) clamp(22px, 3.4vw, 46px); border: 0; border-radius: var(--hcn-radius);
	background: var(--hcn-mist); color: var(--hcn-ink); transition: background-color .35s ease, color .35s ease;
}
.hcn-dirs__tab:hover { background: var(--hcn-accent); }
.hcn-dirs__tab:focus-visible { outline: 3px solid var(--hcn-primary); outline-offset: 3px; }
.hcn-dirs__tab[aria-selected="true"] { background: var(--hcn-ink); color: #fff; }
.hcn-dirs__pfeil { width: clamp(28px, 3vw, 42px); height: auto; color: var(--hcn-primary); transition: transform .45s cubic-bezier(.2,.8,.2,1), color .35s ease; }
.hcn-dirs__tab:hover .hcn-dirs__pfeil { transform: translate(5px, -5px); }
.hcn-dirs__tab[aria-selected="true"] .hcn-dirs__pfeil { color: var(--hcn-accent); }
.hcn-dirs__name { font-size: clamp(1.45rem, 1rem + 2.4vw, 3.2rem); font-weight: 820; letter-spacing: -.035em; line-height: .98; text-wrap: balance; overflow-wrap: break-word; hyphens: auto; min-width: 0; }
.hcn-dirs__tabs[style*="--n: 3"] .hcn-dirs__name, .hcn-dirs__tabs[style*="--n:3"] .hcn-dirs__name { font-size: clamp(1.25rem, .9rem + 1.6vw, 2.3rem); }
.hcn-dirs__claim { font-family: var(--hcn-serif); font-style: italic; font-size: clamp(.98rem, .9rem + .3vw, 1.2rem); opacity: .82; max-width: 30ch; }
.hcn-dirs__panel { background: var(--hcn-ink); color: #fff; border-radius: var(--hcn-radius); padding: clamp(22px, 4vw, 56px); margin-top: 10px; }
.hcn-dirs__ptitle { font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem); font-weight: 800; margin: 0 0 .4em; color: var(--hcn-accent); }
.hcn-dirs__summary { font-family: var(--hcn-serif); font-size: clamp(1.1rem, 1rem + .4vw, 1.35rem); line-height: 1.45; max-width: 46rem; margin: 0 0 clamp(20px, 3vw, 36px); color: rgba(255,255,255,.88); }
.hcn-dirs__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); gap: 0 clamp(16px, 2.4vw, 36px); }
.hcn-item { position: relative; display: grid; align-content: start; gap: 8px; height: 100%; padding: 22px 46px 24px 0; border-top: 1px solid rgba(255,255,255,.2); color: #fff; text-decoration: none; transition: border-color .3s ease; }
.hcn-item__title { font-size: clamp(1.12rem, 1rem + .4vw, 1.35rem); font-weight: 760; letter-spacing: -.015em; line-height: 1.15; color: var(--hcn-accent); }
.hcn-item__text { font-size: .98rem; line-height: 1.55; color: rgba(255,255,255,.8); }
.hcn-item__pfeil { position: absolute; top: 24px; right: 6px; width: 20px; height: auto; color: rgba(255,255,255,.4); transition: transform .4s cubic-bezier(.2,.8,.2,1), color .3s ease; }
.hcn-item:hover { border-top-color: var(--hcn-accent); }
.hcn-item:hover .hcn-item__pfeil, .hcn-item:focus-visible .hcn-item__pfeil { color: var(--hcn-accent); transform: translate(4px, -4px); }
.hcn-item:hover .hcn-item__title { text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 2px; }
.hcn-item:focus-visible { outline: 3px solid var(--hcn-accent); outline-offset: 4px; }
.hcn-dirs__grid--names .hcn-item { padding-block: 16px; }
.hcn-dirs__more { margin: clamp(22px, 3vw, 36px) 0 0; }
.hcn-dirs__more .hcn-btn { background: var(--hcn-accent); border-color: var(--hcn-accent); color: var(--hcn-ink) !important; }
.hcn-dirs__more .hcn-btn:hover { background: #fff; border-color: #fff; }
/* Mit JavaScript: nur die gewählte Richtung zeigen, Reiter und Fläche verschmelzen */
.hcn-dirs.is-ready .hcn-dirs__panel:not([data-active]) { display: none; }
.hcn-dirs.is-ready .hcn-dirs__ptitle { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.hcn-dirs.is-ready .hcn-dirs__panel { margin-top: 0; }
.hcn-dirs.is-ready .hcn-dirs__tabs { gap: 10px; }
.hcn-dirs.is-ready .hcn-dirs__tab[aria-selected="true"] { border-bottom-left-radius: 0; border-bottom-right-radius: 0; padding-bottom: calc(clamp(22px, 3.4vw, 46px) + 10px); margin-bottom: -10px; }
.hcn-dirs.is-ready[data-sel="first"] .hcn-dirs__panel { border-top-left-radius: 0; }
.hcn-dirs.is-ready[data-sel="last"] .hcn-dirs__panel { border-top-right-radius: 0; }
.hcn-dirs.is-ready .hcn-dirs__tabs { margin-bottom: 0; align-items: stretch; }
@media (prefers-reduced-motion: no-preference) {
	.hcn-dirs.is-ready .hcn-dirs__panel[data-active] .hcn-dirs__grid > li { animation: hcn-item-in .6s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--k, 0) * 55ms + 80ms); }
	.hcn-dirs.is-ready .hcn-dirs__panel[data-active] .hcn-dirs__summary { animation: hcn-item-in .5s ease both; }
}
@keyframes hcn-item-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (max-width: 560px) {
	.hcn-dirs__claim { display: none; }
	.hcn-dirs__tab { gap: 10px; }
	.hcn-item { padding-right: 34px; }
}

/* Landingpage einer Leistung: Unterpunkte als nummerierte Abschnitte */
.hcn-points { list-style: none; margin: 0 0 clamp(32px, 5vw, 64px); padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 0 clamp(20px, 3vw, 48px); border-top: 2px solid var(--hcn-ink); }
.hcn-point { position: relative; padding: 26px 0 30px 48px; border-bottom: 1px solid var(--hcn-line); scroll-margin-top: 110px; }
.hcn-point__pfeil { position: absolute; left: 0; top: 30px; width: 28px; height: auto; color: var(--hcn-primary); }
.hcn-point__title { font-size: clamp(1.3rem, 1.1rem + .6vw, 1.7rem); font-weight: 780; letter-spacing: -.02em; margin: 0 0 .4em !important; }
.hcn-point__text { margin: 0; line-height: 1.6; max-width: 38rem; }
.hcn-point:target .hcn-point__pfeil { animation: hcn-nudge 1.2s ease 2; }
.hcn-points__more { margin-bottom: clamp(32px, 5vw, 64px); }

/* ------------------------------------------------------------------ Video (mit Platzhalter, solange es noch keines gibt) */
.hcn-video__frame { position: relative; aspect-ratio: 16 / 9; max-width: 100%; border-radius: var(--hcn-radius); overflow: hidden; background: var(--hcn-ink); }
.hcn-video__frame video { display: block; width: 100%; height: 100%; object-fit: cover; background: #000; }
.hcn-video__soon { position: absolute; inset: 0; display: grid; place-items: center; align-content: center; gap: 18px; color: #fff; text-align: center; padding: 16px; }
.hcn-video__soon img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .45; }
.hcn-video__play { position: relative; display: grid; place-items: center; width: clamp(70px, 9vw, 110px); aspect-ratio: 1; border-radius: 50%; background: var(--hcn-accent); color: var(--hcn-ink); }
.hcn-video__play svg { width: 40%; height: auto; transform: translateX(6%); }
.hcn-video__label { position: relative; font-size: clamp(1.05rem, .95rem + .5vw, 1.45rem); font-weight: 700; letter-spacing: -.01em; }
@media (prefers-reduced-motion: no-preference) {
	.hcn-video__play::before { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--hcn-accent); animation: hcn-ring 2.4s ease-out infinite; }
}
@keyframes hcn-ring { from { transform: scale(1); opacity: .9; } to { transform: scale(1.7); opacity: 0; } }

/* ------------------------------------------------------------------ Bild mit Satz, danach schwebt das Logo pulsierend ein */
.hcn-sec--reveal { padding-block: 0 !important; }
.hcn-reveal { position: relative; isolation: isolate; overflow: hidden; display: grid; place-items: center; min-height: min(88vh, 820px); padding: clamp(48px, 8vw, 120px) var(--hcn-gutter); background: var(--hcn-ink); color: #fff; }
.hcn-reveal__media { position: absolute; inset: 0; z-index: -1; }
.hcn-reveal__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; filter: brightness(.72) contrast(1.05); }
.hcn-reveal__media::after { content: ""; position: absolute; inset: 0; background: radial-gradient(70% 60% at 50% 45%, rgba(30,34,40,.45) 0%, rgba(30,34,40,.15) 70%, rgba(30,34,40,.35) 100%); }
/* Ruhiges Bild (ohne Satz und Logo): unverändert zeigen – keine Abdunkelung */
/* Es steht vollständig und unbeschnitten in der Inhaltsbreite auf dem dunklen Band, das an den Titelbereich anschließt. */
.hcn-reveal.hcn-reveal--still:not(.hcn-reveal--plain) { display: block; min-height: 0; padding: 0 var(--hcn-gutter) clamp(32px, 5vw, 72px); }
.hcn-reveal.hcn-reveal--still .hcn-reveal__media { position: static; max-width: var(--hcn-wrap); margin-inline: auto; }
.hcn-reveal.hcn-reveal--still .hcn-reveal__media img { display: block; width: auto; max-width: 100%; height: auto; max-height: min(84vh, 860px); margin-inline: auto; border-radius: var(--hcn-radius); filter: none; }
.hcn-reveal--still .hcn-reveal__media::after { content: none; }
.hcn-reveal__quote, .hcn-reveal__logo { text-shadow: 0 2px 30px rgba(20,24,30,.45); }
.hcn-reveal__logo { filter: drop-shadow(0 4px 24px rgba(20,24,30,.5)); }
.hcn-reveal--plain { background: radial-gradient(120% 90% at 50% 40%, #55575d 0%, var(--hcn-ink) 55%, #2f3034 100%); }
.hcn-reveal__stage { display: flex; flex-direction: column; align-items: center; gap: clamp(28px, 4vw, 48px); width: 100%; }
.hcn-reveal__quote { margin: 0; font-family: "Courier Prime", "Courier New", Courier, monospace; font-size: clamp(1.9rem, 1rem + 3.6vw, 4.4rem); font-weight: 700; letter-spacing: -.01em; line-height: 1.15; text-align: center; text-wrap: balance; max-width: 16ch; }
/* Über den Händen: Bühne im oberen Drittel des Bildes */
.hcn-reveal:not(.hcn-reveal--plain) { place-items: start center; padding-top: clamp(40px, 9vh, 96px); }
.hcn-reveal__caret { display: inline-block; width: .55em; height: .09em; margin-left: .04em; vertical-align: -.08em; background: currentColor; animation: hcn-caret .9s steps(1) infinite; }
@keyframes hcn-caret { 50% { opacity: 0; } }
.hcn-reveal__logo { display: block; width: min(78vw, 620px); color: var(--hcn-accent); }
.hcn-reveal__logo .hcn-logo__svg svg { width: 100%; height: auto; }
.hcn-reveal__credit { position: absolute; right: calc(max(16px, var(--hcn-gutter)) + 66px); bottom: 18px; z-index: 1; margin: 0; padding: 4px 10px; border-radius: 999px; background: rgba(20,24,30,.55); color: #fff; font-size: .8rem; font-weight: 600; letter-spacing: .01em; }
@media (prefers-reduced-motion: no-preference) {
	/* site.js setzt is-armed (bereit) und is-in (im Bild): erst der Satz, dann das Logo */
	.hcn-reveal.is-armed .hcn-reveal__stage { display: grid; place-items: center; }
	.hcn-reveal.is-armed .hcn-reveal__quote, .hcn-reveal.is-armed .hcn-reveal__logo { grid-area: 1 / 1; }
	.hcn-reveal.is-armed .hcn-reveal__logo { opacity: 0; }
	.hcn-reveal.is-armed .hcn-reveal__quote { transition: opacity .9s ease, filter .9s ease, transform .9s ease; }
	.hcn-reveal.is-out .hcn-reveal__quote { opacity: 0; filter: blur(10px); transform: translateY(-14px) scale(1.04); }
	.hcn-reveal.is-in .hcn-reveal__media img { animation: hcn-reveal-zoom 9s ease-out both; }
	.hcn-reveal.is-logo .hcn-reveal__logo { animation: hcn-reveal-logo 1.5s cubic-bezier(.2,.9,.25,1.1) both, hcn-reveal-pulse 2.8s ease-in-out 1.7s infinite; }
}
@keyframes hcn-reveal-zoom { from { transform: scale(1.12); } to { transform: scale(1); } }
@keyframes hcn-reveal-quote {
	0% { opacity: 0; transform: translateY(24px); filter: blur(8px); }
	16%, 62% { opacity: 1; transform: none; filter: blur(0); }
	100% { opacity: 0; transform: scale(1.06); filter: blur(12px); }
}
@keyframes hcn-reveal-logo {
	0% { opacity: 0; transform: scale(1.9) translateY(-6%); filter: blur(16px); }
	65% { opacity: 1; transform: scale(.97); filter: blur(0); }
	100% { opacity: 1; transform: scale(1); filter: blur(0); }
}
@keyframes hcn-reveal-pulse {
	0%, 100% { opacity: 1; transform: scale(1); filter: drop-shadow(0 0 0 rgba(196,228,231,0)); }
	50% { opacity: 1; transform: scale(1.035); filter: drop-shadow(0 0 26px rgba(196,228,231,.55)); }
}

/* ------------------------------------------------------------------ Logo: Teile fliegen zusammen (Startseite beim Laden, Fußzeile beim Hinscrollen) */
.hcn-lg path { transform-box: fill-box; transform-origin: center; }
.hcn-lg__b, .hcn-lg__i { transition: transform .45s cubic-bezier(.2,.8,.2,1); transition-delay: calc(var(--i, 0) * 28ms); }
.hcn-logo:hover .hcn-lg__b { transform: translateY(-6%); }
.hcn-logo:hover .hcn-lg__i { transform: translate(8%, -8%); }
@media (prefers-reduced-motion: no-preference) {
	.hcn-logo--intro .hcn-lg__b, .hcn-logo--assemble.is-in .hcn-lg__b { animation: hcn-lg-fly .9s cubic-bezier(.2,.9,.25,1.12) backwards; animation-delay: calc(.2s + var(--i) * 90ms); }
	.hcn-lg__b:nth-child(odd) { --fy: -140%; --fr: -14deg; }
	.hcn-lg__b:nth-child(even) { --fy: 140%; --fr: 12deg; }
	.hcn-logo--intro .hcn-lg__i, .hcn-logo--assemble.is-in .hcn-lg__i { animation: hcn-lg-drop 1s cubic-bezier(.3,1.5,.4,1) .85s backwards; }
	.hcn-logo--intro .hcn-lg__s, .hcn-logo--assemble.is-in .hcn-lg__s { animation: hcn-lg-fade .5s ease backwards; animation-delay: calc(1.05s + var(--i) * 30ms); }
	.hcn-logo--assemble.is-armed:not(.is-in) path { opacity: 0; }
	.hcn-reveal.is-logo .hcn-reveal__logo .hcn-lg__b { animation: hcn-lg-fly .9s cubic-bezier(.2,.9,.25,1.12) backwards; animation-delay: calc(.1s + var(--i) * 90ms); }
	.hcn-reveal.is-logo .hcn-reveal__logo .hcn-lg__i { animation: hcn-lg-drop 1s cubic-bezier(.3,1.5,.4,1) .7s backwards; }
	.hcn-reveal.is-logo .hcn-reveal__logo .hcn-lg__s { animation: hcn-lg-fade .5s ease backwards; animation-delay: calc(.9s + var(--i) * 30ms); }
}
@keyframes hcn-lg-fly { from { opacity: 0; transform: translateY(var(--fy, -140%)) rotate(var(--fr, -12deg)) scale(.7); } }
@keyframes hcn-lg-drop { from { opacity: 0; transform: translate(-160%, -150%) rotate(-28deg); } }
@keyframes hcn-lg-fade { from { opacity: 0; transform: translateX(-30%); } }

/* ------------------------------------------------------------------ Pfeil-Elemente als Begleiter: an den Überschriften und unten rechts */
.hcn-pfeil-mark { display: inline-block; width: .6em; height: .58em; margin-right: .32em; vertical-align: .02em; color: var(--hcn-primary); transition: transform .5s cubic-bezier(.2,.8,.2,1), opacity .5s ease; }
.hcn-pfeil-mark svg { display: block; width: 100%; height: 100%; }
.hcn-cta .hcn-pfeil-mark, .hcn-dark .hcn-pfeil-mark { color: var(--hcn-accent); }
@media (prefers-reduced-motion: no-preference) {
	.hcn-pfeil-mark.is-armed { opacity: 0; transform: translate(-40px, 40px); transition-duration: .9s; }
	.hcn-pfeil-mark.is-armed.is-in { opacity: 1; transform: none; }
	.hcn-sec:hover .hcn-pfeil-mark.is-in { transform: translate(4px, -4px); transition-duration: .4s; }
}
@keyframes hcn-nudge { 0%, 100% { transform: none; } 50% { transform: translate(5px, -5px); } }

.hcn-companion {
	position: fixed; right: max(16px, env(safe-area-inset-right, 0px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 40;
	display: grid; place-items: center; width: 54px; height: 54px; border-radius: 14px; background: var(--hcn-ink); color: var(--hcn-accent);
	box-shadow: 0 14px 30px -14px rgba(38,39,42,.6); opacity: 0; transform: translateY(20px) scale(.9); pointer-events: none;
	transition: opacity .35s ease, transform .45s cubic-bezier(.2,.8,.2,1), background-color .25s ease;
}
.hcn-companion svg { width: 24px; height: auto; transform: rotate(-45deg); overflow: visible; }
.hcn-companion path { transition: transform .4s cubic-bezier(.2,.8,.2,1); }
.hcn-companion.is-on { opacity: 1; transform: none; pointer-events: auto; }
.hcn-companion:hover { background: var(--hcn-primary); }
.hcn-companion:hover .hcn-companion__a { transform: translate(4px, -4px); }
.hcn-companion:hover .hcn-companion__b { transform: translate(-2px, 2px); }
.hcn-companion:focus-visible { outline: 3px solid var(--hcn-primary); outline-offset: 3px; }
@media print { .hcn-companion { display: none; } }
@media (max-width: 560px) {
	.hcn-dirs__tabs { gap: 8px; }
	.hcn-dirs__tab { padding: 16px 14px 18px; }
	.hcn-dirs__name { font-size: clamp(1.15rem, .8rem + 2.4vw, 1.5rem); }
	.hcn-dirs__pfeil { width: 24px; }
}
/* Handy: Bild-mit-Satz-Bereich kürzer, Ausschnitt mit Himmel, Händen und Oberkörper */
@media (max-width: 699px) {
	.hcn-reveal:not(.hcn-reveal--plain) { min-height: 0; aspect-ratio: 4 / 5; max-height: 78vh; padding-top: clamp(28px, 7vw, 44px); padding-bottom: 56px; }
	.hcn-reveal:not(.hcn-reveal--plain) .hcn-reveal__media img { object-position: center 30%; }
	.hcn-reveal__quote { font-size: clamp(1.6rem, 1rem + 4vw, 2.2rem); }
	.hcn-reveal__logo { width: min(80vw, 420px); }
	.hcn-reveal__credit { bottom: 12px; font-size: .72rem; }
	/* Ruhiges Bild am Handy: ganz zeigen, nichts abschneiden */
	.hcn-reveal.hcn-reveal--still:not(.hcn-reveal--plain) { aspect-ratio: auto; max-height: none; padding: 0; }
	.hcn-reveal.hcn-reveal--still .hcn-reveal__media img { width: 100%; max-height: none; border-radius: 0; }
}
/* Referenz-Kacheln mit Link: Schrift weiß wie bei den übrigen Kacheln (sonst erbt der Link die Textfarbe) */
.hcn-site a.hcn-tile { color: #fff; text-decoration: none; }
.hcn-site a.hcn-tile--text:nth-child(3n) { color: var(--hcn-ink); }
.hcn-tile__cap { text-shadow: 0 1px 14px rgba(20,22,26,.55); }
.hcn-tile--text .hcn-tile__cap { text-shadow: none; }

/* Durchgestrichenes Wort in der Überschrift (~~Wort~~): rotes Kreuz, beide Striche ziehen sich durch, nachdem die Zeile erschienen ist */
.hcn-strike { position: relative; text-decoration: none; display: inline-block; --strike: #e5322d; }
.hcn-strike::before, .hcn-strike::after { content: ""; position: absolute; z-index: 2; left: -1%; right: -1%; top: 40%; height: .11em; margin-top: -.055em; border-radius: .05em; background: var(--strike); pointer-events: none; }
.hcn-strike::before { transform: rotate(14deg); }
.hcn-strike::after { transform: rotate(-14deg); }
@media (prefers-reduced-motion: no-preference) {
	.hcn-strike::before { clip-path: inset(0 100% 0 0); animation: hcn-strike-a .5s cubic-bezier(.7,0,.2,1) 1.3s forwards; }
	.hcn-strike::after { clip-path: inset(0 0 0 100%); animation: hcn-strike-b .5s cubic-bezier(.7,0,.2,1) 1.75s forwards; }
	.hcn-hero__title--kinetic > span:nth-child(1) .hcn-strike::before { animation-delay: 2.5s; }
	.hcn-hero__title--kinetic > span:nth-child(1) .hcn-strike::after { animation-delay: 2.95s; }
	.hcn-hero__title--kinetic > span:nth-child(2) .hcn-strike::before { animation-delay: 3.7s; }
	.hcn-hero__title--kinetic > span:nth-child(2) .hcn-strike::after { animation-delay: 4.15s; }
	.hcn-hero__title--kinetic > span:nth-child(3) .hcn-strike::before { animation-delay: 4.9s; }
	.hcn-hero__title--kinetic > span:nth-child(3) .hcn-strike::after { animation-delay: 5.35s; }
	.hcn-hero__title--kinetic > span:nth-child(n+4) .hcn-strike::before { animation-delay: 6.1s; }
	.hcn-hero__title--kinetic > span:nth-child(n+4) .hcn-strike::after { animation-delay: 6.55s; }
}
@keyframes hcn-strike-a { to { clip-path: inset(0 0 0 0); } }
@keyframes hcn-strike-b { to { clip-path: inset(0 0 0 0); } }

/* Balken je Textzeile (site.js), genau so breit wie die Schrift; ohne JavaScript gilt der Balken über die ganze Zeile */
@media (prefers-reduced-motion: no-preference) {
	.hcn-js .hcn-hero__title--kinetic > span:not(.hcn-sticker)::before { display: none; }
	.hcn-js .hcn-hero__title--kinetic > span:not(.hcn-sticker):not(.hcn-kline--bars) { visibility: hidden; }
	.hcn-bar { position: absolute; z-index: 3; margin: -.06em -.1em -.08em; padding: .07em .1em; box-sizing: content-box; background: var(--hcn-accent); border-radius: .06em; pointer-events: none; transform-origin: right center; animation: hcn-unveil 1.5s cubic-bezier(.65,0,.25,1) both; }
}
.hcn-bar { display: none; }
@media (prefers-reduced-motion: no-preference) { .hcn-bar { display: block; } }

/* Video, das sich beim Scrollen öffnet (site.js setzt is-enh und die Einrückung --hcn-cx/--hcn-cy/--hcn-cr) */
.hcn-video__frame.is-enh {
	width: calc(100vw - var(--hcn-sbw, 0px)); max-width: none; margin-left: calc(50% - (100vw - var(--hcn-sbw, 0px)) / 2);
	aspect-ratio: auto; height: min(56.25vw, calc(100vh - 80px)); border-radius: 0;
	clip-path: inset(var(--hcn-cy, 0px) var(--hcn-cx, 0px) round var(--hcn-cr, 0px)); will-change: clip-path;
}
.hcn-video__frame.is-enh video { cursor: pointer; }
.hcn-video__ctrls { position: absolute; left: calc(var(--hcn-cx, 0px) + 18px); bottom: calc(var(--hcn-cy, 0px) + 18px); z-index: 2; display: flex; gap: 8px; }
.hcn-video__btn {
	display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border: 0; border-radius: 999px; background: rgba(38,39,42,.72); color: #fff;
	font: inherit; font-size: .9rem; font-weight: 700; cursor: pointer; backdrop-filter: blur(6px); transition: background-color .2s ease;
}
.hcn-video__btn:hover { background: var(--hcn-primary); }
.hcn-video__btn:focus-visible { outline: 3px solid var(--hcn-accent); outline-offset: 3px; }
.hcn-video__toggle .i-play, .hcn-video__toggle.is-paused .i-pause { display: none; }
.hcn-video__toggle.is-paused .i-play { display: block; }

/* Hinweis im Bild (z. B. „KI-generiert“) */
.hcn-ti__media { position: relative; }
.hcn-img-label { position: absolute; right: 12px; bottom: 12px; padding: 4px 10px; border-radius: 999px; background: rgba(20,24,30,.62); color: #fff; font-size: .75rem; font-weight: 650; letter-spacing: .01em; pointer-events: none; }
.hcn-ti__media:has(figcaption) .hcn-img-label { bottom: calc(12px + 1.6em); }

/* ------------------------------------------------------------------ News Channel: Spotlight, Schnellwahl, Monate, Auftauchen */
.hcn-spot { position: relative; z-index: 2; display: grid; overflow: hidden; margin: calc(-1 * clamp(40px, 7vw, 110px)) 0 clamp(32px, 4vw, 56px); border-radius: var(--hcn-radius); background: var(--hcn-ink); color: #fff; box-shadow: 0 30px 60px -30px rgba(38,39,42,.55); }
@media (min-width: 900px) { .hcn-spot { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); min-height: 420px; } }
.hcn-spot__media { position: relative; display: block; min-height: 260px; overflow: hidden; }
.hcn-spot__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.8,.2,1); }
.hcn-spot:hover .hcn-spot__media img { transform: scale(1.05); }
.hcn-spot__body { display: grid; align-content: center; gap: 12px; padding: clamp(24px, 3.4vw, 48px); }
.hcn-spot__kicker { display: flex; align-items: center; gap: 10px; margin: 0; font-size: .85rem; font-weight: 750; color: var(--hcn-accent); }
.hcn-spot__dot { position: relative; width: 10px; height: 10px; border-radius: 50%; background: var(--hcn-accent); }
.hcn-spot .hcn-rel__meta { color: rgba(255,255,255,.75); margin: 0; }
.hcn-spot .hcn-rel__meta time { color: #fff; }
.hcn-spot__title { margin: 0; font-size: clamp(1.7rem, 1.1rem + 2vw, 2.8rem); line-height: 1.04; letter-spacing: -.03em; text-wrap: balance; }
.hcn-site .hcn-spot__title a { color: #fff; text-decoration: none; background-image: linear-gradient(var(--hcn-accent), var(--hcn-accent)); background-size: 0 3px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size .45s ease; }
.hcn-spot:hover .hcn-spot__title a, .hcn-spot__title a:focus-visible { background-size: 100% 3px; }
.hcn-spot__teaser { margin: 0; color: rgba(255,255,255,.82); line-height: 1.55; font-family: var(--hcn-serif); font-size: 1.05rem; }
.hcn-spot__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin: 8px 0 0; }
.hcn-spot__actions .hcn-btn { background: var(--hcn-accent); border-color: var(--hcn-accent); color: var(--hcn-ink) !important; }
.hcn-spot__actions .hcn-btn:hover { background: #fff; border-color: #fff; }
.hcn-site a.hcn-spot__assets { color: #fff; font-weight: 650; font-size: .95rem; text-underline-offset: .2em; }
@media (prefers-reduced-motion: no-preference) {
	.hcn-spot__dot::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--hcn-accent); animation: hcn-ring 2s ease-out infinite; }
	.hcn-spot { animation: hcn-spot-in .9s cubic-bezier(.2,.8,.2,1) .15s both; }
}
@keyframes hcn-spot-in { from { opacity: 0; transform: translateY(34px); } }

.hcn-quick { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(64,65,69,.12); }
.hcn-quick__label { font-size: .85rem; font-weight: 700; color: var(--hcn-muted); }
.hcn-quick ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.hcn-site a.hcn-quick__chip { display: inline-block; padding: 7px 14px; border-radius: 999px; background: #fff; color: var(--hcn-ink); border: 1px solid rgba(64,65,69,.16); font-size: .88rem; font-weight: 650; text-decoration: none; transition: background-color .2s ease, color .2s ease, transform .2s ease, border-color .2s ease; }
.hcn-site a.hcn-quick__chip:hover { background: var(--hcn-ink); border-color: var(--hcn-ink); color: #fff; transform: translateY(-2px); }

.hcn-month { margin: 28px 0 0; padding: 0 0 10px; font-size: .95rem; font-weight: 800; letter-spacing: .01em; color: var(--hcn-primary); display: flex; align-items: center; gap: 12px; }
.hcn-month::after { content: ""; flex: 1; height: 2px; background: linear-gradient(90deg, var(--hcn-accent), transparent); }
.hcn-rel-wrap:first-child .hcn-month { margin-top: 8px; }
.hcn-rel__media { overflow: hidden; border-radius: 10px; }
.hcn-rel__media img { transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.hcn-rel:hover .hcn-rel__media img { transform: scale(1.06); }
.hcn-rel__title a { transition: color .2s ease; }
.hcn-rel:hover .hcn-rel__title a { color: var(--hcn-primary); }
@media (prefers-reduced-motion: no-preference) {
	.hcn-rise { opacity: 0; transform: translateY(22px); transition: opacity .6s ease, transform .7s cubic-bezier(.2,.8,.2,1); }
	.hcn-rise.is-in { opacity: 1; transform: none; }
}
.hcn-video__ctrls[hidden] { display: none; }

/* Video: Spulen (±10 s, Schieberegler mit Zeit) */
.hcn-video__ctrls { flex-wrap: wrap; align-items: center; right: calc(var(--hcn-cx, 0px) + 86px); }
.hcn-video__skip { padding-inline: 14px; font-variant-numeric: tabular-nums; }
.hcn-video__seek { flex: 1 1 220px; display: flex; align-items: center; gap: 12px; min-width: 0; padding: 8px 16px; border-radius: 999px; background: rgba(38,39,42,.72); backdrop-filter: blur(6px); color: #fff; }
.hcn-video__seek input { flex: 1; min-width: 0; height: 6px; margin: 0; border-radius: 999px; cursor: pointer; appearance: none; -webkit-appearance: none;
	background: linear-gradient(var(--hcn-accent), var(--hcn-accent)) 0 / var(--hcn-seek, 0%) 100% no-repeat, rgba(255,255,255,.28); }
.hcn-video__seek input::-webkit-slider-thumb { -webkit-appearance: none; width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 0; box-shadow: 0 1px 6px rgba(0,0,0,.4); }
.hcn-video__seek input::-moz-range-thumb { width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 0; }
.hcn-video__seek input:focus-visible { outline: 3px solid var(--hcn-accent); outline-offset: 4px; }
.hcn-video__time { font-size: .85rem; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
/* Mobil: Bedienelemente unter dem Video statt im Bild – das Video bleibt vollständig sichtbar */
@media (max-width: 640px) {
	.hcn-video__frame.is-enh { height: auto; clip-path: none; overflow: visible; background: transparent; will-change: auto; }
	.hcn-video__frame.is-enh video { height: min(56.25vw, calc(100vh - 80px)); clip-path: inset(var(--hcn-cy, 0px) var(--hcn-cx, 0px) round var(--hcn-cr, 0px)); will-change: clip-path; }
	.hcn-video__frame.is-enh .hcn-video__ctrls { position: static; gap: 6px; padding: 10px var(--hcn-gutter) 0; }
	.hcn-video__frame.is-enh .hcn-video__btn { flex: 1 1 auto; justify-content: center; padding: 10px 12px; font-size: .8rem; background: var(--hcn-ink); backdrop-filter: none; }
	.hcn-video__frame.is-enh .hcn-video__btn:hover { background: var(--hcn-primary); }
	.hcn-video__frame.is-enh .hcn-video__seek { order: -1; flex-basis: 100%; padding: 8px 14px; background: var(--hcn-ink); backdrop-filter: none; }
}
