/* Facetten-Variante: vorhandene Markenfarben, keine neue Farbpalette. */
.services--facets .fa { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1rem; padding-top: clamp(2.5rem, 5vw, 4.5rem); border-top: 2px solid var(--ink); }
.services--facets .fa-mark { grid-column: 1 / span 5; position: sticky; top: calc(var(--header-height) + 1rem); align-self: start; margin-left: -1.2rem; }
.services--facets .fa-svg { width: 100%; height: auto; overflow: visible; }
.services--facets .fa-facet { cursor: pointer; }
.services--facets .fa-face { fill: var(--ink); transition: fill 260ms ease; }
.services--facets .fa-ghost { fill: none; stroke: var(--ink-soft); stroke-width: 1.4; stroke-dasharray: 4 5; opacity: 0; transition: opacity 300ms ease; }
.services--facets .fa-grid { stroke: var(--ink-soft); }
.services--facets .fa-facet text { fill: var(--white); font-family: var(--font); font-size: 15px; font-weight: 620; letter-spacing: .01em; text-anchor: middle; dominant-baseline: middle; pointer-events: none; transition: fill 260ms ease; }
.services--facets .fa-lift { transition: transform 600ms cubic-bezier(.22, 1, .36, 1); }
.services--facets .fa-facet.is-hover .fa-face { fill: var(--ink-soft); }
.services--facets .fa-facet.is-active .fa-face { fill: var(--accent); }
.services--facets .fa-facet.is-active text { fill: var(--ink); }
.services--facets .fa-facet.is-active .fa-lift { transform: translate(13px, -22.5px); }
.services--facets .fa-facet.is-active .fa-ghost { opacity: .5; }
.services--facets .fa-enter { transition: transform 800ms cubic-bezier(.22, 1, .36, 1) calc(var(--i) * 70ms), opacity 400ms ease calc(var(--i) * 70ms); }
.services--facets .fa-mark.is-armed .fa-enter { transform: translate(-46px, 80px); opacity: 0; }
.services--facets .fa-mark.is-armed.is-in .fa-enter { transform: none; opacity: 1; }
.services--facets .fa-body { grid-column: 6 / -1; min-width: 0; padding-left: clamp(0rem, 2.5vw, 3rem); }
.services--facets .fa-tabs { display: flex; flex-wrap: wrap; gap: 0 clamp(1rem, 2.2vw, 2.2rem); border-bottom: 1px solid var(--line); }
.services--facets .fa-tab { position: relative; display: inline-flex; align-items: baseline; gap: .4rem; min-height: 54px; padding: .9rem 0 1rem; border: 0; background: none; color: var(--muted); cursor: pointer; font-size: clamp(.95rem, 1.2vw, 1.08rem); font-weight: 620; white-space: nowrap; }
.services--facets .fa-tab small { color: inherit; font-size: .72rem; font-weight: 650; opacity: .7; }
.services--facets .fa-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--ink); clip-path: polygon(2.3px 0, 100% 0, calc(100% - 2.3px) 100%, 0 100%); transform: scaleX(0); transform-origin: left; transition: transform 320ms cubic-bezier(.22, 1, .36, 1); }
.services--facets .fa-tab:hover, .services--facets .fa-tab.is-hover, .services--facets .fa-tab[aria-selected="true"] { color: var(--ink); }
.services--facets .fa-tab[aria-selected="true"]::after { transform: scaleX(1); }
.services--facets .fa-tab:focus-visible { outline-offset: -3px; }
.services--facets .fa-scroll-hint { display: none; }
.services--facets .fa-panel { padding-top: clamp(2.2rem, 4vw, 3.6rem); }
.services--facets .fa-panel[hidden] { display: none; }
.services--facets .fa-panel__head { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 2rem; align-items: end; padding-bottom: clamp(1.8rem, 3vw, 2.6rem); }
.services--facets .fa-panel__head h3 { font-size: clamp(2.4rem, 4.3vw, 4.7rem); font-stretch: 78%; font-weight: 560; letter-spacing: -.05em; line-height: .9; text-wrap: balance; }
.services--facets .fa-panel__head p { max-width: 38ch; color: var(--ink-soft); font-size: 1.02rem; line-height: 1.5; }
.services--facets .fa-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.6rem; border-top: 1px solid var(--ink); }
.services--facets .fa-links a { display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; align-items: center; gap: 1rem; min-height: 78px; padding: .9rem .2rem .9rem 0; border-bottom: 1px solid var(--line); }
.services--facets .fa-links strong { display: block; font-size: clamp(1rem, 1.25vw, 1.12rem); font-weight: 620; letter-spacing: -.01em; }
.services--facets .fa-links small { display: block; margin-top: .22rem; color: var(--muted); font-size: .86rem; line-height: 1.35; }
.services--facets .fa-links .icon-arrow { opacity: 0; transform: translate(-6px, 6px); transition: opacity 200ms ease, transform 200ms ease; }
.services--facets .fa-slash { width: 4px; height: 1.1rem; margin-left: 4px; background: var(--accent); transform: skewX(-30deg); transition: box-shadow 300ms ease, translate 300ms ease, background-color 200ms ease; }
.services--facets .fa-links a:is(:hover, :focus-visible) .fa-slash { background: var(--ink); box-shadow: 7px 0 0 var(--accent); translate: -3px 0; }
.services--facets .fa-links a:is(:hover, :focus-visible) .icon-arrow { opacity: 1; transform: none; }
.services--facets .fa-panel.is-entering .fa-panel__head, .services--facets .fa-panel.is-entering li { animation: fa-in 440ms cubic-bezier(.22, 1, .36, 1) both; }
.services--facets .fa-panel.is-entering li { animation-delay: calc(var(--k) * 35ms); }
.services--facets .fa:not(.is-ready) .fa-panel[hidden] { display: block; }
.services--facets .fa:not(.is-ready) .fa-tabs { display: none; }
@keyframes fa-in { from { opacity: 0; transform: translate(-7px, 12px); } }
@media (max-width: 1000px) {
    .services--facets .fa { display: block; }
    .services--facets .fa-mark { position: static; width: min(100%, 400px); margin: 0 auto 1.5rem; }
    .services--facets .fa-body { padding-left: 0; }
    .services--facets .fa-panel__head { grid-template-columns: 1fr; gap: 1rem; }
}
@media (max-width: 640px) {
    .services--facets .fa-mark { width: min(100%, 350px); margin-inline: auto; }
    .services--facets .fa-tabs { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; gap: 1.4rem; padding: 4px 0 0; scrollbar-width: none; overscroll-behavior-x: contain; scroll-padding-inline: 4px; }
    .services--facets .fa-tabs::-webkit-scrollbar { display: none; }
    .services--facets .fa-tab { flex: 0 0 auto; }
    .services--facets .fa.is-ready .fa-scroll-hint:not([hidden]) { display: flex; align-items: center; justify-content: flex-end; gap: .5rem; margin-top: .6rem; color: var(--muted); font-size: .78rem; line-height: 1.4; }
    .services--facets .fa-scroll-hint svg { flex: 0 0 auto; width: 22px; height: 16px; }
    .services--facets .fa-links { grid-template-columns: 1fr; }
    .services--facets .fa-links .icon-arrow { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    .services--facets .fa *, .services--facets .fa *::after { animation: none !important; transition: none !important; }
    .services--facets .fa-mark.is-armed .fa-enter { transform: none; opacity: 1; }
}
