/* Werbewelle TV-Werbung Landing – minimal, modern */
:root{
  --bg:#0b0f14;
  --card:#111826;
  --txt:#e9f0fb;
  --muted:#a9b6c9;
  --brand1:#ff6a00;
  --brand2:#ff005c;
  --brand3:#7a00ff;
  --accent: linear-gradient(90deg,var(--brand1),var(--brand2),var(--brand3));
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--txt);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
a{color:#9fc3ff;text-decoration:none}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
.site-header{position:sticky;top:0;background:rgba(11,15,20,.85);backdrop-filter:saturate(160%) blur(6px);border-bottom:1px solid #152234;z-index:10}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;height:64px}
.logo{height:36px}
.site-header .nav{display:flex;align-items:center;gap:18px;margin-left:auto;flex-wrap:nowrap}
.site-header .nav a{display:inline-block;margin-left:0}
.nav a{margin-left:18px;opacity:.9}
.nav .cta{padding:.5rem .8rem;border:1px solid #2a3e5c;border-radius:999px}
.hero{padding:60px 0;background:radial-gradient(1200px 500px at 10% -10%,#11233a 0%,transparent 60%)}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}
.hero h1{font-size:42px;line-height:1.1;margin:.2em 0 .3em}
.gradient{background:var(--accent);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800}
.bullets{margin:14px 0 20px;padding-left:18px;color:var(--muted)}
.btn{display:inline-block;background:var(--accent);color:white;padding:.9rem 1.1rem;border:none;border-radius:14px;font-weight:700;text-decoration:none}
.hero-media .frame{background:#060a11;border:1px solid #1a2940;border-radius:18px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.hero-media img{display:block;width:100%;height:auto}
.refs{padding:40px 0}
.refs h2,.benefits h2,.contact h2{font-size:30px;margin:0 0 18px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.card{background:var(--card);border:1px solid #1a2940;border-radius:16px;overflow:hidden}
.card img{display:block;width:100%;height:auto}
.card figcaption{padding:10px 12px;color:var(--muted);font-size:.95rem}
/* Logo Marquee (nahtloses, endloses Scrollen mit Doppel-Gruppe) */
.logo-marquee{padding:24px 0;border-top:1px solid #1a2940;border-bottom:1px solid #1a2940;background:radial-gradient(800px 300px at 50% 0%,rgba(26,42,58,.25) 0%,transparent 65%)}
.logo-marquee h2{font-size:26px;margin:0 0 14px;text-align:center}
.logo-marquee .marquee{position:relative;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%)}
.logo-marquee .marquee-track{display:flex;align-items:center;gap:36px;flex-wrap:nowrap;width:max-content;will-change:transform}
.logo-marquee .marquee-track.animate{animation:marquee 30s linear infinite}
.logo-marquee img{height:56px;width:auto;flex:0 0 auto;filter:grayscale(10%);opacity:.9;transition:transform .3s ease, filter .3s ease, opacity .3s ease}
.logo-marquee img:hover{transform:scale(1.05);filter:grayscale(0%);opacity:1}

@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@media (max-width:860px){
  .logo-marquee img{height:44px}
}

/* Slideshow kompakt & sauber */
.slideshow{padding:40px 0}
.slideshow h2{font-size:30px;margin:0 0 18px}
.slider{position:relative;background:var(--card);border:1px solid #1a2940;border-radius:16px;overflow:hidden}
.slider.small{max-width:820px;margin:0 auto}
.slides{display:flex;transition:transform .6s ease}
.slide{min-width:100%;position:relative}
.slide img{display:block;width:100%;height:240px;object-fit:contain;background:#0d1624;transition:transform .5s ease, filter .5s ease}
.slide:hover img{transform:scale(1.03);filter:brightness(1.06)}
.slideshow .nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.35);border:1px solid #2a3e5c;color:#fff;width:40px;height:40px;border-radius:999px;display:grid;place-items:center;font-size:22px;cursor:pointer;backdrop-filter:blur(4px)}
.slideshow .nav:hover{background:rgba(0,0,0,.5)}
.slideshow .nav.prev{left:10px}
.slideshow .nav.next{right:10px}
.slideshow .dots{position:absolute;left:0;right:0;bottom:10px;display:flex;gap:8px;justify-content:center}
.slideshow .dots button{width:8px;height:8px;border-radius:999px;border:1px solid #2a3e5c;background:#0d1624;opacity:.65;cursor:pointer}
.slideshow .dots button.active{background:var(--brand1);opacity:1}
@media (max-width:860px){
  .slide img{height:180px}
}
/* Storytelling Section */
.storytelling{
  padding:60px 0;
  background:radial-gradient(800px 400px at 50% 0%,#1a2a3a 0%,transparent 70%);
  border-top:1px solid #1a2940;
  border-bottom:1px solid #1a2940;
}
.story-title{
  font-size:36px;
  text-align:center;
  margin:0 0 40px;
  line-height:1.2;
}
.story-content{
  max-width:800px;
  margin:0 auto;
}
.story-problem, .story-solution{
  display:flex;
  align-items:flex-start;
  gap:20px;
  margin-bottom:30px;
  padding:24px;
  background:rgba(17,24,38,0.6);
  border:1px solid #1a2940;
  border-radius:20px;
  backdrop-filter:blur(10px);
}
.story-solution{
  background:rgba(26,42,58,0.4);
  border-color:#2a3e5c;
}
.story-icon{
  font-size:32px;
  flex-shrink:0;
  margin-top:4px;
}
.story-text{
  flex:1;
}
.story-intro{
  color:var(--brand1);
  font-size:18px;
  margin:0 0 12px;
  font-weight:700;
}
.story-text p{
  margin:0 0 12px;
  line-height:1.6;
  color:var(--txt);
}
.story-text p:last-child{
  margin-bottom:0;
}

/* Why TV Section */
.why-tv{
  padding:60px 0;
  background:linear-gradient(135deg, #0d1624 0%, #1a2a3a 100%);
  border-top:1px solid #1a2940;
}
.why-tv h2{
  text-align:center;
  font-size:32px;
  margin:0 0 16px;
}
.why-intro{
  text-align:center;
  font-size:18px;
  color:var(--muted);
  margin:0 0 40px;
  font-style:italic;
}
.why-points{
  max-width:700px;
  margin:0 auto 40px;
}
.why-point{
  display:flex;
  align-items:flex-start;
  gap:16px;
  margin-bottom:20px;
  padding:20px;
  background:rgba(17,24,38,0.4);
  border:1px solid #1a2940;
  border-radius:16px;
  transition:all 0.3s ease;
}
.why-point:hover{
  background:rgba(26,42,58,0.6);
  border-color:#2a3e5c;
  transform:translateY(-2px);
}
.check-icon{
  color:var(--brand1);
  font-size:20px;
  font-weight:bold;
  flex-shrink:0;
  margin-top:2px;
}
.why-point p{
  margin:0;
  line-height:1.6;
  color:var(--txt);
}
.why-point strong{
  color:var(--brand1);
  font-weight:700;
}
.why-cta{
  text-align:center;
}

/* Process Section */
.process{
  padding:60px 0;
  background:var(--bg);
  border-top:1px solid #1a2940;
}
.process h2{
  text-align:center;
  font-size:32px;
  margin:0 0 16px;
}
.process-intro{
  text-align:center;
  font-size:18px;
  color:var(--muted);
  margin:0 0 50px;
  font-style:italic;
}
.process-steps{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:30px;
  max-width:1000px;
  margin:0 auto;
}
.process-step{
  display:flex;
  align-items:flex-start;
  gap:20px;
  padding:30px;
  background:var(--card);
  border:1px solid #1a2940;
  border-radius:20px;
  transition:all 0.3s ease;
  position:relative;
}
.process-step:hover{
  transform:translateY(-5px);
  border-color:#2a3e5c;
  box-shadow:0 10px 30px rgba(0,0,0,0.3);
}
.step-number{
  background:var(--accent);
  color:white;
  width:50px;
  height:50px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  font-weight:800;
  flex-shrink:0;
}
.step-content h3{
  color:var(--brand1);
  font-size:20px;
  margin:0 0 12px;
  font-weight:700;
}
.step-content p{
  margin:0;
  line-height:1.6;
  color:var(--txt);
}

/* Final CTA Section */
.final-cta{
  padding:80px 0;
  background:radial-gradient(1000px 600px at 50% 50%,#1a2a3a 0%,transparent 60%);
  border-top:1px solid #1a2940;
  text-align:center;
}
.final-cta h2{
  font-size:42px;
  margin:0 0 20px;
  background:var(--accent);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  font-weight:800;
}
.final-cta p{
  font-size:20px;
  color:var(--muted);
  margin:0;
  max-width:600px;
  margin:0 auto;
  line-height:1.6;
}

.benefits{padding:10px 0 40px}
.benefit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.benefit{background:var(--card);border:1px solid #1a2940;border-radius:16px;padding:16px}
.contact{padding:30px 0 60px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.field label{display:block;margin:0 0 6px;color:#bcd0ea;font-size:.92rem}
.field input,.field textarea,.field select{width:100%;padding:.8rem .9rem;background:#0d1624;border:1px solid #1a2940;border-radius:12px;color:var(--txt)}
.field.full{grid-column:1/-1}
.form-actions{
  text-align:center;
  margin-top:30px;
  padding-top:20px;
  border-top:1px solid #1a2940;
}
.checkbox-container{
  display:flex;
  justify-content:center;
  max-width:500px;
  margin:0 auto;
}
.checkbox{display:flex;align-items:flex-start;gap:12px;text-align:left}
.checkbox input{
  margin-top:2px;
  flex-shrink:0;
  width:18px;
  height:18px;
  accent-color:var(--brand1);
  cursor:pointer;
}
.checkbox span{font-size:14px;line-height:1.4;color:var(--muted)}
.checkbox a{color:var(--brand1);text-decoration:underline}
.checkbox a:hover{color:var(--brand2)}
.status{margin-top:12px;color:#a8ffc1}
.hp{display:none !important}

/* Fehlermeldungen für Formularvalidierung */
.field-error {
  color: #ff4444 !important;
  font-size: 14px !important;
  margin-top: 5px !important;
  display: block;
  font-weight: 500;
}

/* Fehlerhafte Felder markieren */
.field input.error,
.field textarea.error {
  border-color: #ff4444 !important;
  background-color: rgba(255, 68, 68, 0.1) !important;
}

/* Status-Meldungen */
#formStatus {
  margin-top: 1rem;
  padding: 0.75rem 1rem;
  border-radius: 12px;
  font-weight: 500;
  text-align: center;
}

#formStatus.status.success {
  background-color: rgba(76, 175, 80, 0.2);
  color: #4caf50;
  border: 1px solid rgba(76, 175, 80, 0.3);
}

#formStatus.status.error {
  background-color: rgba(244, 67, 54, 0.2);
  color: #f44336;
  border: 1px solid rgba(244, 67, 54, 0.3);
}

/* Footer Styles - identisch mit Hauptseite */
footer {
  background: linear-gradient(135deg, #0d1624 0%, #1a1a2e 100%);
  color: #ffffff;
  padding: 2.5rem 1.5rem;
  text-align: center;
  border-top: 3px solid #a8ffc1;
}

footer .footer-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 1200px;
  margin: 0 auto;
  gap: 1rem;
}

footer .footer-content p:first-child {
  font-weight: 600;
  color: #f8f9fa;
  margin-bottom: 0.5rem;
}

footer .footer-links {
  display: flex;
  gap: 0;
  align-items: center;
  justify-content: center;
}

footer .footer-links a {
  color: #e9ecef;
  text-decoration: none;
  font-weight: 500;
  padding: 0.5rem 1rem;
  transition: all 0.3s ease;
}

footer .footer-links a:not(:last-child)::after {
  content: '|';
  color: #666666;
  font-weight: 300;
  margin-left: 1.9rem;
  margin-right: 0.5rem;
}

footer .footer-links a:hover {
  color: #a8ffc1;
}

footer .footer-note {
  margin-top: 1rem;
  font-size: 0.85rem;
  color: #a0a0a0;
  font-style: italic;
}

footer .footer-note strong {
  color: #a8ffc1;
  font-weight: 600;
}

footer .footer-note a {
  color: #a8ffc1;
  text-decoration: none;
  transition: all 0.3s ease;
}

footer .footer-note a:hover {
  color: #ffffff;
  text-decoration: underline;
}

/* Mobile Footer */
@media (max-width: 768px) {
  footer {
    padding: 2rem 1rem;
  }
  
  footer .footer-content {
    gap: 0.8rem;
  }
  
  footer .footer-links {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
  }
  
  footer .footer-links a {
    padding: 0.4rem 0.8rem;
    font-size: 0.9rem;
  }
}

@media (max-width:860px){
  .hero-inner{grid-template-columns:1fr}
}
