.hero { display: flex; align-items: center; justify-content: center; position: relative; overflow: visible; text-align: center; padding: 140px 0 60px 0; margin: 0; border: none; outline: none; box-sizing: border-box; } @media (max-width: 600px) { .hero { padding-top: 100px; padding-bottom: calc(60px + var(--dock-content-space)); } .hero-photo { width: 140px; height: 140px; margin-bottom: 16px; } .hero h1 { font-size: 2.25rem; margin-bottom: 8px; } .hero-roles { font-size: 1rem; margin-bottom: 12px; } .hero-subtext { font-size: 1rem; line-height: 1.45; margin-bottom: 24px; } .hero-actions { flex-wrap: nowrap; gap: 10px; } .hero-actions .primary-button, .hero-actions .secondary-button { padding: 12px 18px; font-size: 0.95rem; } } .hero-content { position: relative; z-index: 10; max-width: 900px; animation: fadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) forwards; } .hero-photo { width: 160px; height: 160px; border-radius: 50%; object-fit: cover; margin-bottom: 24px; border: 3px solid rgba(var(--accent-color-rgb), 0.3); box-shadow: 0 0 30px rgba(var(--accent-color-rgb), 0.15); } .hero h1 { font-size: clamp(2.5rem, 6vw, 4.5rem); margin-bottom: 16px; } .hero-roles { font-size: 1.1rem; color: var(--accent-color); margin-bottom: 24px; font-weight: var(--font-weight-semibold); } .hero-subtext { font-size: clamp(1.1rem, 2vw, 1.3rem); color: var(--text-secondary); max-width: 700px; margin: 0 auto 40px auto; line-height: 1.6; } .hero-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-bottom: 0; } /* Photo Band — full width scrolling images */ .photo-band { width: 100%; overflow: hidden; padding: 40px 0; mask-image: linear-gradient(to right, transparent, black 3%, black 97%, transparent); -webkit-mask-image: linear-gradient(to right, transparent, black 3%, black 97%, transparent); } .photo-band-track { display: flex; width: max-content; will-change: transform; animation: photoBandScroll 10s linear infinite; } .photo-band-track img { height: 207px; width: 311px; aspect-ratio: 3 / 2; margin-right: 12px; border-radius: var(--radius-md); object-fit: cover; flex-shrink: 0; filter: brightness(0.8); transition: filter 0.3s ease; } .photo-band-track img:hover { filter: brightness(1); } @keyframes photoBandScroll { from { transform: translateX(0); } to { transform: translateX(-50%); } } /* Positioning — Mein Ansatz */ .positioning-section { padding: 60px 20px; } .positioning-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; } .positioning-card { padding: 40px; text-align: center; transition: transform var(--transition-smooth), border-color var(--transition-fast); } .positioning-card:hover { transform: translateY(-4px); border-color: var(--accent-color); } .positioning-card h3 { font-size: 1.2rem; margin-bottom: 12px; } .positioning-icon-wrapper { display: flex; align-items: center; justify-content: center; } .positioning-icon-svg { color: var(--accent-color); transition: opacity 0.3s ease, transform 0.3s ease; } .positioning-icon-svg.dissolving { opacity: 0.3; transform: scale(0.95); } .positioning-card p { color: var(--text-secondary); margin: 0; line-height: 1.6; } /* Audiences */ .audiences-section { padding: 60px 20px; } .audiences-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; } .audience-card { padding: 32px; transition: transform var(--transition-smooth), border-color var(--transition-fast); } .audience-card:hover { transform: translateY(-4px); border-color: var(--accent-color); } .audience-card h3 { font-size: 1.1rem; margin-bottom: 8px; font-weight: var(--font-weight-semibold); } .audience-card p { color: var(--text-secondary); font-size: 0.95rem; margin: 0; }