/* ACF-Blöcke (sst/*) – Figma: Startseite, Leistungen, Kontakt */

.fuz-block-placeholder { padding: var(--fuz-space-6); border: 1px dashed var(--fuz-line-strong); border-radius: var(--fuz-radius-s); font-size: var(--fuz-fs-body-s); }

/* Intro mit Kennzahlen */
.fuz-intro__grid { display: grid; gap: var(--fuz-space-6) var(--fuz-gutter); }
@media (min-width: 1000px) { .fuz-intro__grid { grid-template-columns: minmax(0, 300px) minmax(0, 980px); justify-content: space-between; } }
.fuz-intro__label { margin: 0; color: var(--fuz-text-secondary); }
.fuz-intro__body { display: grid; gap: var(--fuz-space-7); }
.fuz-intro__text { text-wrap: pretty; }
.fuz-intro__copy { display: grid; gap: var(--fuz-space-6); justify-items: start; }
.fuz-intro__text-2 { max-width: 860px; margin: 0; }
.fuz-kennzahlen { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--fuz-space-5) var(--fuz-gutter); grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }

/* Kennzahl (Figma: SST Kennzahl) – auch in single.css genutzt */
.fuz-kennzahl { display: grid; gap: var(--fuz-space-2); padding-top: var(--fuz-space-5); border-top: 1px solid var(--fuz-line-strong); }
.fuz-kennzahl__text { font-size: var(--fuz-fs-body-s); color: var(--fuz-text-secondary); }

/* Leistungs-Card: Bild vollflächig, Text unten, Pfeil-Button */
.fuz-service-card { position: relative; isolation: isolate; display: flex; min-height: 0; aspect-ratio: 3 / 4; overflow: hidden; border-radius: var(--fuz-radius-m); background: var(--fuz-c-basalt-800); color: var(--fuz-c-weiss); }
.fuz-service-card__media { position: absolute; inset: 0; z-index: -1; }
.fuz-service-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgb(0 0 0 / .78), rgb(0 0 0 / .15) 60%, rgb(0 0 0 / 0)); }
.fuz-service-card__media img { transition: transform .6s var(--fuz-ease); }
.fuz-service-card__body { position: relative; display: grid; gap: var(--fuz-space-3); align-content: end; width: 100%; padding: var(--fuz-space-6); }
.fuz-service-card__body .fuz-label { color: var(--fuz-c-granit-300); }
.fuz-service-card__body .fuz-body-s { color: var(--fuz-c-kalk-100); max-width: 34ch; }
.fuz-card-arrow--static { position: static; margin-top: var(--fuz-space-2); opacity: 1; transform: none; justify-self: end; }
@media (hover: hover) {
	.fuz-service-card:hover img { transform: scale(1.04); }
	.fuz-service-card:hover .fuz-card-arrow--static { background: var(--fuz-c-porphyr-600); }
}

/* Spalten (Zielgruppen, Schritte, Ansprechpartner) */
.fuz-columns { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--fuz-space-7) var(--fuz-gutter); grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.fuz-columns--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.fuz-column { display: grid; gap: var(--fuz-space-4); align-content: start; justify-items: start; padding-top: var(--fuz-space-5); border-top: 1px solid var(--fuz-line-strong); }
.fuz-column__kicker { color: var(--fuz-text-secondary); }
.fuz-step__nr { font-size: var(--fuz-fs-kennzahl); font-weight: 800; line-height: 1; letter-spacing: -.01em; color: var(--fuz-accent); }

/* Video */
.fuz-video__figure { display: grid; gap: var(--fuz-space-6); margin: 0; }
.fuz-video__frame { position: relative; overflow: hidden; border-radius: var(--fuz-radius-m); aspect-ratio: 16 / 9; background: var(--fuz-c-basalt-900); }
.fuz-video__frame > * { position: absolute; inset: 0; }
.fuz-video__play { inset: auto; top: 50%; left: 50%; display: grid; place-items: center; width: clamp(72px, 7vw, 102px); height: clamp(72px, 7vw, 102px); border-radius: var(--fuz-radius-rund); background: var(--fuz-c-porphyr-500); color: var(--fuz-c-weiss); transform: translate(-50%, -50%); transition: background-color var(--fuz-dur) var(--fuz-ease), transform var(--fuz-dur) var(--fuz-ease); }
.fuz-video__play:hover { background: var(--fuz-c-porphyr-600); transform: translate(-50%, -50%) scale(1.05); }
.fuz-video__play .fuz-icon { width: 36%; height: 36%; }
.fuz-video__caption { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: var(--fuz-space-3) var(--fuz-space-6); }

/* Cover */
.fuz-cover-block { position: relative; isolation: isolate; padding-block: var(--fuz-space-12); }
.fuz-cover-block__media { position: absolute; inset: 0; z-index: -1; }
.fuz-cover-block__media::after { content: ""; position: absolute; inset: 0; background: rgb(0 0 0 / .55); }
.fuz-cover-block__inner { display: grid; gap: var(--fuz-space-6); justify-items: start; }
.fuz-cover-block__title { max-width: 1100px; text-wrap: balance; }
.fuz-cover-block__text { max-width: 760px; color: var(--fuz-text-secondary); }
.fuz-cover-block--image .fuz-cover-block__text { color: var(--fuz-c-kalk-100); }
.fuz-cover-block__buttons { margin-top: var(--fuz-space-3); }

/* Bild + Text */
.fuz-split { display: grid; gap: var(--fuz-space-8) var(--fuz-space-9); align-items: center; }
@media (min-width: 900px) {
	.fuz-split { grid-template-columns: minmax(0, 640px) minmax(0, 580px); justify-content: space-between; }
	.fuz-split--reverse .fuz-split__media { order: 2; }
}
.fuz-split__media { overflow: hidden; border-radius: var(--fuz-radius-m); background: var(--fuz-placeholder); aspect-ratio: 10 / 9; }
.fuz-split__text { display: grid; gap: var(--fuz-space-5); justify-items: start; }
.fuz-split__text .fuz-button-row { margin-top: var(--fuz-space-3); }
@media (min-width: 900px) { .fuz-split--text { grid-template-columns: minmax(0, 860px); } }

/* FAQ (Figma: SST FAQ) */
.fuz-faq { display: grid; gap: var(--fuz-space-8); }
.fuz-faq__head { display: grid; gap: var(--fuz-space-5); }
.fuz-faq__list { border-top: 1px solid var(--fuz-line-strong); }
.fuz-faq__item { border-bottom: 1px solid var(--fuz-line); }
.fuz-faq__item summary { display: flex; justify-content: space-between; align-items: center; gap: var(--fuz-space-5); padding-block: var(--fuz-space-6); cursor: pointer; list-style: none; }
.fuz-faq__item summary::-webkit-details-marker { display: none; }
.fuz-faq__icon { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border: 1px solid var(--fuz-line-strong); border-radius: var(--fuz-radius-rund); transition: transform var(--fuz-dur) var(--fuz-ease), background-color var(--fuz-dur) var(--fuz-ease); }
.fuz-faq__item[open] .fuz-faq__icon { transform: rotate(45deg); background: var(--fuz-text-primary); color: var(--fuz-bg-section); }
.fuz-faq__answer { padding-bottom: var(--fuz-space-6); max-width: 860px; color: var(--fuz-text-secondary); }

/* Karte */
.fuz-map { position: relative; min-height: 560px; display: grid; }
.fuz-map__frame { width: 100%; height: 560px; border: 0; }
.fuz-map__placeholder { display: grid; place-content: center; justify-items: center; gap: var(--fuz-space-5); padding: var(--fuz-space-8) var(--fuz-rand); text-align: center; background: var(--fuz-bg-surface); }
.fuz-map__placeholder .fuz-caption { max-width: 48ch; }
.fuz-map__placeholder a { color: inherit; }

/* Intro als Zitat */
.fuz-intro__quote { display: grid; gap: var(--fuz-space-5); margin: 0; }
.fuz-intro__quote blockquote { margin: 0; }
.fuz-intro__quote blockquote p { margin: 0; }
