// sections.jsx — Page sections for the STEINWERK onepager.

const Marker = ({ children }) => (
  <span style={{
    fontFamily:'"JetBrains Mono", ui-monospace, monospace',
    fontSize:11, letterSpacing:'.18em', textTransform:'uppercase',
    opacity:.6, fontWeight:500
  }}>{children}</span>
);

const Rule = ({ color='currentColor' }) => (
  <div style={{ height:1, background:color, opacity:.18, width:'100%' }} />
);

// ─── Top nav ─────────────────────────────────────────────────────────────────
function Nav({ accent }){
  return (
    <header style={{
      position:'absolute', top:0, left:0, right:0, zIndex:5,
      padding:'24px 40px', display:'flex', alignItems:'center', justifyContent:'space-between',
      color:'#f3efe6', mixBlendMode:'difference'
    }}>
      <div style={{ display:'flex', alignItems:'center', gap:14 }}>
        <div style={{
          width:22, height:22, background:accent,
          clipPath:'polygon(0 30%, 30% 0, 100% 0, 100% 70%, 70% 100%, 0 100%)'
        }} />
        <strong style={{ fontFamily:'"Space Grotesk", sans-serif', fontSize:16, letterSpacing:'.04em' }}>
          STEINWERK
        </strong>
        <span style={{ fontFamily:'"JetBrains Mono", monospace', fontSize:11, opacity:.55, marginLeft:6 }}>
          EST. 1974 · MEISTERBETRIEB
        </span>
      </div>
      <nav style={{ display:'flex', gap:28, fontSize:13, fontWeight:500 }}>
        {['Leistungen','Prozess','Referenzen','Kontakt'].map(n =>
          <a key={n} href={`#${n.toLowerCase()}`} style={{ color:'inherit', textDecoration:'none' }}>{n}</a>
        )}
      </nav>
      <a href="#kontakt" style={{
        color:'inherit', textDecoration:'none', fontSize:13, fontWeight:600,
        padding:'10px 18px', border:'1px solid currentColor', borderRadius:999,
        display:'inline-flex', alignItems:'center', gap:8
      }}>
        Angebot anfragen <span aria-hidden style={{ fontSize:14 }}>→</span>
      </a>
    </header>
  );
}

// ─── HERO ────────────────────────────────────────────────────────────────────
function Hero({ accent, shaderProps }){
  return (
    <section style={{ position:'relative', height:'100vh', minHeight:720, color:'#f3efe6', overflow:'hidden' }}>
      <div style={{ position:'absolute', inset:0 }}>
        <ShaderHero {...shaderProps} />
      </div>
      {/* readability scrim */}
      <div style={{
        position:'absolute', inset:0,
        background:'linear-gradient(180deg, rgba(15,14,11,.45) 0%, rgba(15,14,11,.05) 35%, rgba(15,14,11,.6) 100%)'
      }} />

      <Nav accent={accent} />

      <div style={{
        position:'absolute', left:40, right:40, bottom:80,
        display:'grid', gridTemplateColumns:'1.2fr 1fr', gap:60, alignItems:'end'
      }}>
        <div>
          <Marker>① Mauerwerk · Putz · Sanierung</Marker>
          <h1 style={{
            fontFamily:'"Space Grotesk", sans-serif',
            fontSize:'clamp(56px, 8.4vw, 148px)',
            lineHeight:.92, letterSpacing:'-0.035em',
            margin:'18px 0 0', fontWeight:500
          }}>
            Stein für Stein.<br/>
            <span style={{ color:accent, fontStyle:'italic', fontWeight:400 }}>Halt für </span>
            <span style={{ fontWeight:500 }}>Generationen.</span>
          </h1>
        </div>
        <div style={{ display:'flex', flexDirection:'column', gap:18, paddingBottom:14 }}>
          <p style={{
            fontSize:17, lineHeight:1.5, maxWidth:420, margin:0, opacity:.85,
            textWrap:'pretty'
          }}>
            Seit 1974 bauen wir Häuser, die nicht zur Mode werden. Mauerwerk in Sicht, Putz mit Geduld, Fundamente die halten — Handwerk ohne Show.
          </p>
          <div style={{ display:'flex', gap:12, flexWrap:'wrap' }}>
            <a href="#kontakt" style={{
              padding:'14px 22px', background:accent, color:'#0d0c09',
              borderRadius:999, fontWeight:600, fontSize:14, textDecoration:'none',
              display:'inline-flex', alignItems:'center', gap:10
            }}>Projekt besprechen <span>→</span></a>
            <a href="#leistungen" style={{
              padding:'14px 22px', border:'1px solid rgba(243,239,230,.4)',
              color:'#f3efe6', borderRadius:999, fontWeight:600, fontSize:14, textDecoration:'none'
            }}>Was wir bauen</a>
          </div>
        </div>
      </div>

      {/* corner ticker */}
      <div style={{
        position:'absolute', bottom:24, left:40, right:40,
        display:'flex', justifyContent:'space-between',
        fontFamily:'"JetBrains Mono", monospace', fontSize:11, opacity:.55, letterSpacing:'.12em'
      }}>
        <span>50° 06′ N · 8° 41′ E</span>
        <span>RHEIN-MAIN · DE</span>
        <span>SCROLL ↓</span>
      </div>
    </section>
  );
}

// ─── STATS STRIP ─────────────────────────────────────────────────────────────
function Stats({ accent }){
  const items = [
    ['52', 'Jahre im Handwerk'],
    ['340+', 'Abgeschlossene Projekte'],
    ['18', 'Mitarbeiter im Team'],
    ['0', 'Kompromisse beim Fundament'],
  ];
  return (
    <section style={{
      background:'var(--bg-2)', color:'var(--fg)',
      padding:'56px 40px', borderTop:'1px solid var(--rule)', borderBottom:'1px solid var(--rule)'
    }}>
      <div style={{ display:'grid', gridTemplateColumns:'repeat(4, 1fr)', gap:40 }}>
        {items.map(([n, l], i) => (
          <div key={i} style={{ display:'flex', flexDirection:'column', gap:6 }}>
            <span style={{
              fontFamily:'"Space Grotesk", sans-serif',
              fontSize:64, fontWeight:500, lineHeight:1, letterSpacing:'-0.03em'
            }}>{n}</span>
            <span style={{ fontSize:13, opacity:.7 }}>{l}</span>
            {i === 0 && <span style={{ width:32, height:2, background:accent, marginTop:6 }} />}
          </div>
        ))}
      </div>
    </section>
  );
}

// ─── LEISTUNGEN ──────────────────────────────────────────────────────────────
function Leistungen({ accent }){
  const items = [
    {
      n:'01', title:'Mauerwerk',
      desc:'Tragende und nicht-tragende Wände in Kalksandstein, Ziegel und Naturstein. Sichtmauerwerk auf Wunsch.',
      tags:['Hochbau','Sichtmauerwerk','Naturstein']
    },
    {
      n:'02', title:'Putz & Glättung',
      desc:'Innen- und Außenputz, Sanierputz, mineralische Glättputze. Diffusionsoffen, langlebig, schön altert.',
      tags:['Innen','Außen','Sanier']
    },
    {
      n:'03', title:'Fundament & Keller',
      desc:'Streifenfundamente, Bodenplatten, Kellerwände in WU-Beton. Trocken bleibt trocken — versprochen.',
      tags:['WU-Beton','Bodenplatte','Abdichtung']
    },
    {
      n:'04', title:'Altbau-Sanierung',
      desc:'Wir sanieren Substanz statt sie zu kaschieren. Mauerwerkstrocknung, Risssanierung, Aufstockung.',
      tags:['Trocknung','Risse','Statik']
    },
    {
      n:'05', title:'Schornstein & Kamin',
      desc:'Klassischer Schornsteinbau, Sanierung, Edelstahleinzüge. Vom Sockel bis zur Mütze.',
      tags:['Neu','Sanierung','Aufmaß']
    },
    {
      n:'06', title:'Gewerbe & Hallenbau',
      desc:'Lager-, Werkstatt- und Hallenmauerwerk. Brandschutz und Wärmebrücken haben wir im Schlaf.',
      tags:['Industriebau','Brandschutz','EnEV']
    },
  ];
  return (
    <section id="leistungen" style={{
      background:'var(--bg-1)', color:'var(--fg)', padding:'120px 40px 100px',
      position:'relative'
    }}>
      <div style={{
        display:'grid', gridTemplateColumns:'1fr 2fr', gap:60, alignItems:'start',
        marginBottom:60
      }}>
        <div>
          <Marker>② Leistungen</Marker>
          <h2 style={{
            fontFamily:'"Space Grotesk", sans-serif',
            fontSize:'clamp(40px, 5vw, 84px)', lineHeight:.95, letterSpacing:'-0.03em',
            margin:'14px 0 0', fontWeight:500
          }}>Was wir<br/>bauen.</h2>
        </div>
        <p style={{
          fontSize:18, lineHeight:1.55, maxWidth:560, marginTop:60, opacity:.78, textWrap:'pretty'
        }}>
          Sechs Disziplinen — eine Hand. Vom ersten Spatenstich bis zum letzten Fugenstrich bleiben wir auf der Baustelle, nicht im Backoffice. Anrufen, hingehen, anpacken.
        </p>
      </div>

      <div style={{
        display:'grid', gridTemplateColumns:'repeat(3, 1fr)',
        border:'1px solid var(--rule)', borderRadius:2,
        overflow:'hidden'
      }}>
        {items.map((it, i) => (
          <article key={it.n} style={{
            padding:'36px 32px 32px',
            borderRight: ((i+1) % 3 === 0) ? 'none' : '1px solid var(--rule)',
            borderBottom: i < 3 ? '1px solid var(--rule)' : 'none',
            background:'var(--bg-1)',
            display:'flex', flexDirection:'column', gap:18, minHeight:280,
            position:'relative'
          }}>
            <div style={{ display:'flex', justifyContent:'space-between', alignItems:'baseline' }}>
              <Marker>{it.n}</Marker>
              <span style={{
                width:8, height:8, background:accent, borderRadius:0,
                transform:'rotate(45deg)', display:'inline-block'
              }} />
            </div>
            <h3 style={{
              fontFamily:'"Space Grotesk", sans-serif',
              fontSize:32, lineHeight:1, letterSpacing:'-0.02em', margin:0, fontWeight:500
            }}>{it.title}</h3>
            <p style={{ fontSize:14, lineHeight:1.55, margin:0, opacity:.72, flex:1, textWrap:'pretty' }}>
              {it.desc}
            </p>
            <div style={{ display:'flex', flexWrap:'wrap', gap:6 }}>
              {it.tags.map(t =>
                <span key={t} style={{
                  fontFamily:'"JetBrains Mono", monospace',
                  fontSize:10, letterSpacing:'.08em',
                  padding:'4px 8px', border:'1px solid var(--rule)',
                  borderRadius:999, opacity:.7
                }}>{t}</span>
              )}
            </div>
          </article>
        ))}
      </div>
    </section>
  );
}

// ─── PROZESS ─────────────────────────────────────────────────────────────────
function Prozess({ accent }){
  const steps = [
    { n:'01', t:'Anruf & Termin',  d:'Sie rufen an, wir kommen vorbei. Kein Vertriebler — der Meister selbst.' },
    { n:'02', t:'Aufmaß & Angebot',d:'Wir messen, rechnen, prüfen Statik & Untergrund. Festpreis schwarz auf weiß.' },
    { n:'03', t:'Bauphase',         d:'Eigenes Team, klare Bauleitung, wöchentliches Update. Saubere Baustelle.' },
    { n:'04', t:'Übergabe',         d:'Nicht "fertig" sondern fertig. Inkl. 5 Jahren Gewährleistung — gesetzlich, plus zwei.' },
  ];
  return (
    <section id="prozess" style={{
      background:'var(--bg-2)', color:'var(--fg)', padding:'120px 40px',
      borderTop:'1px solid var(--rule)'
    }}>
      <div style={{ display:'grid', gridTemplateColumns:'1fr 2fr', gap:60, marginBottom:60 }}>
        <div>
          <Marker>③ Prozess</Marker>
          <h2 style={{
            fontFamily:'"Space Grotesk", sans-serif',
            fontSize:'clamp(40px, 5vw, 84px)', lineHeight:.95, letterSpacing:'-0.03em',
            margin:'14px 0 0', fontWeight:500
          }}>Vom Anruf<br/>bis zur Wand.</h2>
        </div>
        <p style={{ fontSize:18, lineHeight:1.55, maxWidth:560, marginTop:60, opacity:.78, textWrap:'pretty' }}>
          Vier Schritte. Keine Schleife, keine versteckten Kosten, keine "Überraschungen" am Ende. So arbeiten wir seit dem ersten Tag.
        </p>
      </div>

      <ol style={{
        listStyle:'none', margin:0, padding:0,
        display:'grid', gridTemplateColumns:'repeat(4, 1fr)', gap:0,
        borderTop:'1px solid var(--rule)'
      }}>
        {steps.map((s, i) => (
          <li key={s.n} style={{
            padding:'32px 28px 36px',
            borderRight: i < 3 ? '1px solid var(--rule)' : 'none',
            display:'flex', flexDirection:'column', gap:16, position:'relative'
          }}>
            <div style={{
              position:'absolute', top:-1, left:0, height:3, width:'40%', background:accent
            }} />
            <Marker>{s.n}</Marker>
            <h3 style={{
              fontFamily:'"Space Grotesk", sans-serif',
              fontSize:24, lineHeight:1.05, letterSpacing:'-0.02em', margin:0, fontWeight:500
            }}>{s.t}</h3>
            <p style={{ fontSize:14, lineHeight:1.55, margin:0, opacity:.72, textWrap:'pretty' }}>{s.d}</p>
          </li>
        ))}
      </ol>
    </section>
  );
}

// ─── REFERENZEN ──────────────────────────────────────────────────────────────
function Referenzen({ accent }){
  const projects = [
    { ref:'PRJ-2024-117', loc:'Bad Soden', type:'Einfamilienhaus · Sichtziegel', y:'2024', size:'KSL 240 · 320 m²', tone:'#3a342c' },
    { ref:'PRJ-2024-093', loc:'Frankfurt-Sachsenhausen', type:'Altbausanierung Gründerzeit', y:'2024', size:'5 WE · 1.140 m²', tone:'#5a4a36' },
    { ref:'PRJ-2023-204', loc:'Königstein', type:'Naturstein-Stützmauer', y:'2023', size:'Quarzit · 78 lfm', tone:'#322e26' },
    { ref:'PRJ-2023-156', loc:'Eschborn', type:'Gewerbehalle', y:'2023', size:'Stahlbeton · 1.800 m²', tone:'#2c2a24' },
  ];
  return (
    <section id="referenzen" style={{
      background:'var(--bg-1)', color:'var(--fg)', padding:'120px 40px',
      borderTop:'1px solid var(--rule)'
    }}>
      <div style={{ display:'flex', justifyContent:'space-between', alignItems:'end', marginBottom:48 }}>
        <div>
          <Marker>④ Referenzen</Marker>
          <h2 style={{
            fontFamily:'"Space Grotesk", sans-serif',
            fontSize:'clamp(40px, 5vw, 84px)', lineHeight:.95, letterSpacing:'-0.03em',
            margin:'14px 0 0', fontWeight:500
          }}>Ausgewählte<br/>Bauten.</h2>
        </div>
        <a href="#" style={{
          fontSize:13, fontWeight:600, color:'inherit', textDecoration:'none',
          borderBottom:`2px solid ${accent}`, paddingBottom:4
        }}>Alle 340+ ansehen →</a>
      </div>

      <div style={{ display:'grid', gridTemplateColumns:'2fr 1fr 1fr', gridTemplateRows:'repeat(2, 320px)', gap:16 }}>
        {projects.map((p, i) => (
          <article key={p.ref} style={{
            gridColumn: i === 0 ? '1 / 2' : 'auto',
            gridRow:    i === 0 ? '1 / 3' : 'auto',
            background:p.tone,
            borderRadius:2, overflow:'hidden', position:'relative',
            color:'#f3efe6', display:'flex', flexDirection:'column', justifyContent:'space-between',
            padding:24,
            backgroundImage:`
              repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 2px, transparent 2px 14px),
              radial-gradient(circle at 70% 20%, rgba(255,255,255,.06), transparent 50%),
              linear-gradient(180deg, ${p.tone}, ${p.tone})
            `
          }}>
            <div style={{ display:'flex', justifyContent:'space-between', alignItems:'start' }}>
              <Marker>{p.ref}</Marker>
              <span style={{ fontFamily:'"JetBrains Mono", monospace', fontSize:11, opacity:.7 }}>{p.y}</span>
            </div>
            {/* Placeholder image area */}
            <div style={{
              position:'absolute', inset:0, opacity:.15,
              background:`repeating-linear-gradient(45deg, #fff 0 1px, transparent 1px 18px)`,
              pointerEvents:'none'
            }} />
            <div style={{ position:'relative' }}>
              <div style={{
                fontFamily:'"JetBrains Mono", monospace',
                fontSize:10, letterSpacing:'.18em', opacity:.55, marginBottom:8
              }}>// PROJEKTBILD · PLATZHALTER</div>
              <h3 style={{
                fontFamily:'"Space Grotesk", sans-serif',
                fontSize: i === 0 ? 32 : 22, lineHeight:1.05, margin:'0 0 8px',
                letterSpacing:'-0.02em', fontWeight:500
              }}>{p.type}</h3>
              <div style={{ display:'flex', justifyContent:'space-between', fontSize:12, opacity:.75 }}>
                <span>{p.loc}</span>
                <span>{p.size}</span>
              </div>
            </div>
          </article>
        ))}
      </div>
    </section>
  );
}

// ─── TRUST / MEISTER ─────────────────────────────────────────────────────────
function Trust({ accent }){
  return (
    <section style={{
      background:'var(--bg-2)', color:'var(--fg)', padding:'100px 40px',
      borderTop:'1px solid var(--rule)'
    }}>
      <div style={{ display:'grid', gridTemplateColumns:'1.4fr 1fr', gap:80, alignItems:'center' }}>
        <blockquote style={{ margin:0 }}>
          <Marker>⑤ Worauf Sie sich verlassen können</Marker>
          <p style={{
            fontFamily:'"Space Grotesk", sans-serif',
            fontSize:'clamp(28px, 3.4vw, 52px)', lineHeight:1.15, letterSpacing:'-0.02em',
            margin:'18px 0 0', fontWeight:400, textWrap:'balance'
          }}>
            "Ein Haus ist kein Produkt. Es ist ein Versprechen, das vierzig Winter halten muss.
            Deswegen bauen wir nicht <em style={{ color:accent }}>schnell</em> — wir bauen <em style={{ color:accent }}>richtig</em>."
          </p>
          <footer style={{ marginTop:24, fontSize:13, opacity:.65 }}>
            — Markus Lenz, Maurermeister & Geschäftsführer
          </footer>
        </blockquote>

        <ul style={{ listStyle:'none', margin:0, padding:0, display:'flex', flexDirection:'column', gap:0 }}>
          {[
            ['Meisterbetrieb HWK', 'Eintrag Nr. M-2014-3402'],
            ['Mitglied Bauinnung', 'Rhein-Main-Taunus'],
            ['Sachkunde nach TRGS 519', 'Asbestsanierung'],
            ['EnEV-Fachbetrieb', 'Energetische Sanierung'],
            ['QM nach DIN EN ISO 9001','Auditiert 2024'],
          ].map(([t, s], i) => (
            <li key={t} style={{
              display:'flex', justifyContent:'space-between', alignItems:'center',
              padding:'18px 0', borderBottom:'1px solid var(--rule)'
            }}>
              <div>
                <div style={{ fontSize:15, fontWeight:600 }}>{t}</div>
                <div style={{ fontSize:12, opacity:.6, marginTop:2 }}>{s}</div>
              </div>
              <span style={{
                width:10, height:10, borderRadius:999, background:accent,
                boxShadow:`0 0 0 4px color-mix(in oklab, ${accent} 25%, transparent)`
              }} />
            </li>
          ))}
        </ul>
      </div>
    </section>
  );
}

// ─── KONTAKT ─────────────────────────────────────────────────────────────────
function Kontakt({ accent, shaderProps }){
  const [form, setForm] = React.useState({ name:'', kind:'Neubau', tel:'', msg:'' });
  const [sent, setSent] = React.useState(false);

  return (
    <section id="kontakt" style={{
      position:'relative', color:'#f3efe6', overflow:'hidden',
      borderTop:'1px solid var(--rule)'
    }}>
      <div style={{ position:'absolute', inset:0 }}>
        <ShaderHero {...shaderProps} scale={(shaderProps.scale||14)*1.6} />
      </div>
      <div style={{
        position:'absolute', inset:0,
        background:'linear-gradient(180deg, rgba(15,14,11,.7) 0%, rgba(15,14,11,.55) 100%)'
      }} />

      <div style={{ position:'relative', padding:'120px 40px', display:'grid', gridTemplateColumns:'1fr 1fr', gap:80 }}>
        <div>
          <Marker>⑥ Kontakt</Marker>
          <h2 style={{
            fontFamily:'"Space Grotesk", sans-serif',
            fontSize:'clamp(44px, 6vw, 96px)', lineHeight:.95, letterSpacing:'-0.03em',
            margin:'14px 0 28px', fontWeight:500
          }}>Anrufen.<br/>Schreiben.<br/><span style={{ color:accent, fontStyle:'italic' }}>Vorbeikommen.</span></h2>

          <div style={{ display:'flex', flexDirection:'column', gap:24, fontSize:16 }}>
            <a href="tel:+4969000000" style={{
              fontFamily:'"Space Grotesk", sans-serif', color:'inherit', textDecoration:'none',
              fontSize:36, fontWeight:500, letterSpacing:'-0.01em'
            }}>+49 69 00 00 00</a>
            <a href="mailto:bau@steinwerk.de" style={{ color:'inherit' }}>bau@steinwerk.de</a>
            <div style={{ opacity:.75, lineHeight:1.5 }}>
              Gewerbestraße 14<br/>
              65760 Eschborn<br/>
              Mo–Fr · 7:00–17:00
            </div>
          </div>
        </div>

        <form onSubmit={(e) => { e.preventDefault(); setSent(true); }} style={{
          background:'rgba(20,18,14,.55)',
          border:'1px solid rgba(243,239,230,.18)',
          borderRadius:4, padding:32,
          display:'flex', flexDirection:'column', gap:18,
          backdropFilter:'blur(12px)', WebkitBackdropFilter:'blur(12px)',
          alignSelf:'start'
        }}>
          <div style={{ display:'flex', justifyContent:'space-between', alignItems:'center' }}>
            <Marker>Anfrage · 90s</Marker>
            <span style={{ fontFamily:'"JetBrains Mono", monospace', fontSize:11, opacity:.6 }}>FORM_v3</span>
          </div>

          <Field label="Name" value={form.name} onChange={v=>setForm({...form, name:v})} />
          <div style={{ display:'flex', flexDirection:'column', gap:8 }}>
            <span style={{ fontSize:11, letterSpacing:'.12em', textTransform:'uppercase', opacity:.65 }}>Vorhaben</span>
            <div style={{ display:'flex', gap:6, flexWrap:'wrap' }}>
              {['Neubau','Sanierung','Putz','Sonstiges'].map(k => (
                <button type="button" key={k} onClick={() => setForm({...form, kind:k})} style={{
                  padding:'10px 14px', borderRadius:999, fontSize:13,
                  border:`1px solid ${form.kind===k ? accent : 'rgba(243,239,230,.3)'}`,
                  background: form.kind===k ? accent : 'transparent',
                  color: form.kind===k ? '#0d0c09' : '#f3efe6',
                  cursor:'pointer', fontWeight: form.kind===k ? 600 : 500
                }}>{k}</button>
              ))}
            </div>
          </div>
          <Field label="Telefon" value={form.tel} onChange={v=>setForm({...form, tel:v})} />
          <Field label="Kurze Beschreibung" value={form.msg} onChange={v=>setForm({...form, msg:v})} multi />

          <button type="submit" disabled={sent} style={{
            marginTop:8, padding:'16px 24px', background: sent ? 'transparent' : accent,
            border: sent ? `1px solid ${accent}` : 'none',
            color: sent ? accent : '#0d0c09',
            borderRadius:999, fontWeight:600, fontSize:14, cursor:'pointer',
            display:'inline-flex', alignItems:'center', justifyContent:'center', gap:10
          }}>
            {sent ? '✓ Anfrage gesendet — wir melden uns binnen 24h' : <>Anfrage senden <span>→</span></>}
          </button>
        </form>
      </div>
    </section>
  );
}

function Field({ label, value, onChange, multi }){
  const Tag = multi ? 'textarea' : 'input';
  return (
    <label style={{ display:'flex', flexDirection:'column', gap:6 }}>
      <span style={{ fontSize:11, letterSpacing:'.12em', textTransform:'uppercase', opacity:.65 }}>{label}</span>
      <Tag
        value={value}
        onChange={(e) => onChange(e.target.value)}
        rows={multi ? 4 : undefined}
        style={{
          background:'transparent', border:'none', borderBottom:'1px solid rgba(243,239,230,.3)',
          color:'#f3efe6', fontSize:16, padding:'8px 0', outline:'none',
          fontFamily:'inherit', resize:'vertical'
        }}
      />
    </label>
  );
}

// ─── FOOTER ──────────────────────────────────────────────────────────────────
function Footer({ accent }){
  return (
    <footer style={{
      background:'var(--bg-1)', color:'var(--fg)', padding:'40px 40px 24px',
      borderTop:'1px solid var(--rule)',
      display:'flex', justifyContent:'space-between', alignItems:'center',
      fontSize:12, opacity:.7, fontFamily:'"JetBrains Mono", monospace', letterSpacing:'.08em'
    }}>
      <span>© 1974—2026 STEINWERK GMBH · MEISTERBETRIEB DER HWK FRANKFURT</span>
      <span style={{ display:'flex', gap:24 }}>
        <a href="#" style={{ color:'inherit' }}>Impressum</a>
        <a href="#" style={{ color:'inherit' }}>Datenschutz</a>
        <a href="#" style={{ color:'inherit' }}>AGB</a>
      </span>
    </footer>
  );
}

Object.assign(window, { Hero, Stats, Leistungen, Prozess, Referenzen, Trust, Kontakt, Footer });
