.ref-hero__lead,
.ref-results__label,
.ref-case p {
-webkit-hyphens: none;
hyphens: none;
}
.ref-hero__grid {
grid-template-columns: minmax(0, 1fr);
}
.ref-hero {
padding-block: 0 var(--space-9);
}
.ref-hero__content {
max-width: 62rem;
margin-inline: auto;
text-align: center;
}
.ref-hero__actions {
justify-content: center;
}
.ref-hero h1 {
max-width: 46rem;
margin-inline: auto;
}
.ref-hero__media {
width: min(100%, 62rem, calc((100svh - 30.25rem) * 1.648));
margin: 0 auto var(--space-4);
aspect-ratio: 1360 / 825;
}
.ref-hero__media picture {
display: block;
width: 100%;
height: 100%;
}
.ref-hero__media img {
width: 100%;
height: 100%;
object-fit: contain;
-webkit-mask-image: linear-gradient(to bottom, #000 88%, transparent 100%);
mask-image: linear-gradient(to bottom, #000 88%, transparent 100%);
}
@media (min-width: 1024px) {
.ref-hero {
min-height: 0;
}
.ref-hero__grid {
grid-template-columns: minmax(0, 1fr);
}
}
.ref-hero__lead {
max-width: 38rem;
margin-inline: auto;
}
.ref-intro--center {
text-align: center;
}
.ref-results {
list-style: none;
display: grid;
gap: var(--space-6);
margin-top: var(--space-7);
}
.ref-results .stat {
align-items: center;
text-align: center;
}
.ref-results .stat__value {
font-size: clamp(2.5rem, 1.6rem + 3.5vw, 4.5rem);
font-weight: var(--font-weight-regular);
color: var(--color-accent-strong);
font-variant-numeric: tabular-nums;
}
@media (min-width: 768px) and (max-width: 1199.98px) {
.ref-results .stat__value {
font-size: clamp(2.25rem, 6.7vw - 0.9rem, 4.15rem);
}
}
.ref-results__label {
display: block;
color: rgb(59 73 86 / 0.75);
font-size: var(--font-size-sm);
line-height: var(--line-height-base);
}
.ref-results__link {
display: flex;
flex-direction: column;
align-items: center;
gap: var(--space-2);
text-decoration: none;
color: inherit;
border-radius: var(--radius-sm);
padding-block: var(--space-3);
transition: transform var(--duration-base) var(--easing-premium);
}
.ref-results__cta {
display: inline-flex;
align-items: center;
gap: var(--space-2);
margin-top: var(--space-2);
font-size: var(--font-size-sm);
font-weight: 500;
color: color-mix(in srgb, var(--color-blue-dark) 85%, black);
border-bottom: 1px solid currentColor;
padding-bottom: 2px;
}
.ref-results__arrow {
width: 1rem;
height: 1rem;
flex-shrink: 0;
fill: none;
stroke: currentColor;
stroke-width: 2;
transition: transform var(--duration-base) var(--easing-premium);
}
.ref-results__link:hover .ref-results__arrow,
.ref-results__link:focus-visible .ref-results__arrow {
transform: translate(3px, -3px);
}
.ref-results__link:hover {
transform: translateY(-2px);
}
.ref-results__link:focus-visible {
outline: 2px solid color-mix(in srgb, var(--color-blue-dark) 85%, black);
outline-offset: 4px;
}
@media (min-width: 768px) {
.ref-results {
grid-template-columns: repeat(3, 1fr);
gap: 0;
}
.ref-results li {
padding-inline: var(--space-6);
border-inline-start: 1px solid rgb(59 73 86 / 0.2);
min-width: 0;
}
.ref-results li:first-child {
border-inline-start: none;
}
}
.ref-quotes {
padding-top: var(--space-4);
}
.ref-quotes__rating {
margin-top: var(--space-5);
}
.ref-quotes__grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--space-5);
margin-top: var(--space-6);
}
@media (min-width: 768px) {
.ref-quotes__grid {
grid-template-columns: repeat(3, 1fr);
}
.ref-quotes__grid > * {
min-width: 0;
}
}
.ref-clients__groups {
list-style: none;
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: var(--space-8);
margin-top: var(--space-7);
}
.ref-clients__group {
min-width: 0;
}
.ref-clients__group-title {
font-size: var(--font-size-md);
font-weight: 500;
color: var(--color-text);
margin-bottom: var(--space-5);
}
.ref-marquee {
overflow: hidden;
-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
mask-image: linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
}
.ref-marquee__track {
display: flex;
width: max-content;
animation: ref-marquee-scroll var(--ref-marquee-duration, 200s) linear infinite;
}
.ref-marquee:hover .ref-marquee__track {
animation-play-state: paused;
}
.ref-marquee__group {
display: flex;
flex-shrink: 0;
align-items: center;
gap: clamp(2.25rem, 3.5vw, 4rem);
padding-right: clamp(2.25rem, 3.5vw, 4rem);
}
@keyframes ref-marquee-scroll {
to { transform: translateX(-50%); }
}
.ref-marquee--objektschutz  { --ref-marquee-duration: 237s; }
.ref-marquee--baustelle     { --ref-marquee-duration: 213s; }
.ref-marquee--veranstaltung { --ref-marquee-duration: 237s; }
.ref-marquee--baustelle .ref-marquee__track {
animation-direction: reverse;
}
.ref-marquee__logo {
height: clamp(2rem, 1rem + 1.5vw, 2.75rem);
max-width: clamp(7rem, 11vw, 9.5rem);
width: auto;
object-fit: contain;
flex-shrink: 0;
opacity: 0.9;
}
.ref-marquee__logo[src*="morelo"],
.ref-marquee__logo[src*="stadt-bamberg"],
.ref-marquee__logo[src*="stadt-coburg"],
.ref-marquee__logo[src*="landkreis-coburg"],
.ref-marquee__logo[src*="stadtwerke-bamberg"],
.ref-marquee__logo[src*="sozialstiftung-bamberg"],
.ref-marquee__logo[src*="buergerspital-bamberg"],
.ref-marquee__logo[src*="bbc-coburg"],
.ref-marquee__logo[src*="ibis-bamberg"],
.ref-marquee__logo[src*="aldi-sued"],
.ref-marquee__logo[src*="heitec-volleys"],
.ref-marquee__logo[src*="landkreis-bamberg"],
.ref-marquee__logo[src*="dach-solar-sg"],
.ref-marquee__logo[src*="postler"],
.ref-marquee__logo[src*="cleantech"] {
height: clamp(2.75rem, 1.4rem + 1.9vw, 3.5rem);
}
.ref-marquee__logo[src*="universitaet-bamberg"],
.ref-marquee__logo[src*="bayerische-bereitschaftspolizei"],
.ref-marquee__logo[src*="bamberg-baskets"],
.ref-marquee__logo[src*="wirtschaftsclub-bamberg"] {
height: clamp(3.25rem, 1.8rem + 2vw, 4.25rem);
}
@media (prefers-reduced-motion: reduce) {
.ref-marquee {
-webkit-mask-image: none;
mask-image: none;
}
.ref-marquee__track {
animation: none;
width: 100%;
}
.ref-marquee__group:not(:first-child) {
display: none;
}
.ref-marquee__group {
flex-wrap: wrap;
flex-shrink: 1;
min-width: 0;
justify-content: flex-start;
padding-right: 0;
row-gap: var(--space-5);
}
}
.ref-clients__links {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: var(--space-4) var(--space-6);
margin-top: var(--space-8);
}
.ref-cases__note {
max-width: 42rem;
margin-top: var(--space-4);
margin-inline: auto;
color: var(--color-text-muted);
}
.ref-cases__grid {
list-style: none;
display: grid;
gap: var(--space-7);
margin-top: var(--space-7);
}
.ref-case {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: var(--space-3);
padding-top: var(--space-5);
border-top: 1px solid var(--color-border);
}
.ref-case__eyebrow {
font-size: var(--font-size-sm);
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--color-accent);
}
.ref-case h3 {
font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem);
font-weight: var(--font-weight-regular);
line-height: var(--line-height-tight);
}
.ref-case p {
color: var(--color-text-muted);
flex: 1 1 auto;
}
.ref-case .service-link {
margin-top: var(--space-2);
}
@media (min-width: 1024px) {
.ref-cases__grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
@media (max-width: 767.98px) {
.ref-hero {
padding-block: var(--space-3) var(--space-8);
}
.ref-marquee__logo {
height: 1.75rem;
max-width: 5.5rem;
}
.ref-marquee__logo[src*="morelo"],
.ref-marquee__logo[src*="stadt-bamberg"],
.ref-marquee__logo[src*="stadt-coburg"],
.ref-marquee__logo[src*="landkreis-coburg"],
.ref-marquee__logo[src*="stadtwerke-bamberg"],
.ref-marquee__logo[src*="sozialstiftung-bamberg"],
.ref-marquee__logo[src*="buergerspital-bamberg"],
.ref-marquee__logo[src*="bbc-coburg"],
.ref-marquee__logo[src*="ibis-bamberg"],
.ref-marquee__logo[src*="aldi-sued"],
.ref-marquee__logo[src*="heitec-volleys"],
.ref-marquee__logo[src*="landkreis-bamberg"],
.ref-marquee__logo[src*="dach-solar-sg"],
.ref-marquee__logo[src*="postler"],
.ref-marquee__logo[src*="cleantech"] {
height: 2.25rem;
}
.ref-marquee__logo[src*="universitaet-bamberg"],
.ref-marquee__logo[src*="bayerische-bereitschaftspolizei"],
.ref-marquee__logo[src*="bamberg-baskets"],
.ref-marquee__logo[src*="wirtschaftsclub-bamberg"] {
height: 2.75rem;
}
.ref-marquee--objektschutz  { --ref-marquee-duration: 162s; }
.ref-marquee--baustelle     { --ref-marquee-duration: 136s; }
.ref-marquee--veranstaltung { --ref-marquee-duration: 167s; }
.ref-results,
.ref-quotes__grid,
.ref-cases__grid {
grid-template-columns: minmax(0, 1fr);
}
.ref-clients__links .service-link,
.ref-case .service-link {
display: inline-flex;
min-height: 44px;
align-items: center;
}
}
.ref-marquee__link {
display: inline-flex;
align-items: center;
flex: none;
border-radius: var(--radius-sm);
transition: opacity var(--duration-base) var(--easing-standard);
}
.ref-marquee__link:hover .ref-marquee__logo,
.ref-marquee__link:focus-visible .ref-marquee__logo {
opacity: 1;
}
.ref-marquee__link:focus-visible {
outline: 2px solid var(--color-focus-ring);
outline-offset: var(--space-2);
}