AV launch: swap header/footer/schema.org logo to AV Beat SVG + install devDeps so Coolify NODE_ENV=production does not strip autoprefixer

This commit is contained in:
2026-06-02 21:20:36 +00:00
parent d43f78b161
commit 4fd6a88158
6 changed files with 135 additions and 38 deletions

View File

@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 320" width="1200" height="320" role="img" aria-label="AV Beat — Pro AV, Live Production, and Display Tech">
<defs>
<!-- Background gradient: deep navy → near-black -->
<linearGradient id="bg" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#0a0510"/>
<stop offset="100%" stop-color="#02010a"/>
</linearGradient>
<!-- Wide soft halo (outer bloom) -->
<filter id="haloGold" x="-50%" y="-50%" width="200%" height="200%">
<feGaussianBlur stdDeviation="18"/>
</filter>
<filter id="haloRed" x="-50%" y="-50%" width="200%" height="200%">
<feGaussianBlur stdDeviation="18"/>
</filter>
<!-- Tighter glow (inner neon) -->
<filter id="glowGold" x="-30%" y="-30%" width="160%" height="160%">
<feGaussianBlur stdDeviation="3.5"/>
</filter>
<filter id="glowRed" x="-30%" y="-30%" width="160%" height="160%">
<feGaussianBlur stdDeviation="3.5"/>
</filter>
<!-- Tagline subtle glow -->
<filter id="glowSoft" x="-20%" y="-50%" width="140%" height="200%">
<feGaussianBlur stdDeviation="1.6"/>
</filter>
<style>
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@800;900&amp;family=Inter:wght@500;600&amp;display=swap');
.word {
font-family: 'Barlow Condensed', 'Oswald', 'Nimbus Sans Narrow', 'Inter', 'Helvetica Neue', Arial, sans-serif;
font-weight: 900;
font-size: 156px;
letter-spacing: -0.012em;
}
.tm {
font-family: 'Inter', 'Nimbus Sans Narrow', 'Helvetica Neue', Arial, sans-serif;
font-weight: 600;
font-size: 22px;
}
.tag {
font-family: 'Inter', 'Nimbus Sans Narrow', 'Helvetica Neue', Arial, sans-serif;
font-weight: 500;
font-size: 20px;
letter-spacing: 0.34em;
}
</style>
</defs>
<!-- Dark background -->
<rect width="1200" height="320" fill="url(#bg)"/>
<!-- Faint scanline accents -->
<rect width="1200" height="1" y="0" fill="#ffb800" opacity="0.10"/>
<rect width="1200" height="1" y="319" fill="#d60701" opacity="0.10"/>
<!-- ─── AV (gold neon) ────────────────────────────────────────── -->
<g text-anchor="end">
<text class="word" x="500" y="195" fill="#ffb800" opacity="0.85" filter="url(#haloGold)">AV</text>
<text class="word" x="500" y="195" fill="#ffd25a" opacity="0.95" filter="url(#glowGold)">AV</text>
<text class="word" x="500" y="195" fill="#ffffff">AV</text>
</g>
<!-- ─── BEAT (red neon) ──────────────────────────────────────── -->
<g text-anchor="start">
<text class="word" x="530" y="195" fill="#d60701" opacity="0.85" filter="url(#haloRed)">BEAT</text>
<text class="word" x="530" y="195" fill="#ff4035" opacity="0.95" filter="url(#glowRed)">BEAT</text>
<text class="word" x="530" y="195" fill="#ffffff">BEAT</text>
</g>
<!-- ™ mark near end of BEAT, upper right -->
<g>
<text class="tm" x="935" y="92" fill="#ffd45e" filter="url(#glowGold)"></text>
<text class="tm" x="935" y="92" fill="#ffffff"></text>
</g>
<!-- ─── Waveform / signal pulse ──────────────────────────────── -->
<g>
<!-- Halo pass -->
<path d="M 70 230 L 440 230 L 460 230 L 480 210 L 500 252 L 520 164 L 540 286 L 560 210 L 580 238 L 600 230 L 1130 230"
fill="none" stroke="#ffb800" stroke-width="6" stroke-linejoin="round" stroke-linecap="round"
filter="url(#haloGold)" opacity="0.75"/>
<!-- Mid stroke -->
<path d="M 70 230 L 440 230 L 460 230 L 480 210 L 500 252 L 520 164 L 540 286 L 560 210 L 580 238 L 600 230 L 1130 230"
fill="none" stroke="#ffb800" stroke-width="3" stroke-linejoin="round" stroke-linecap="round"
filter="url(#glowGold)"/>
<!-- Crisp white core -->
<path d="M 70 230 L 440 230 L 460 230 L 480 210 L 500 252 L 520 164 L 540 286 L 560 210 L 580 238 L 600 230 L 1130 230"
fill="none" stroke="#ffffff" stroke-width="1.2" stroke-linejoin="round" stroke-linecap="round"/>
</g>
<!-- ─── Tagline ───────────────────────────────────────────────── -->
<g text-anchor="middle">
<text class="tag" x="600" y="294" fill="#ffffff" opacity="0.85" filter="url(#glowSoft)">PRO AV · LIVE PRODUCTION · DISPLAY TECH</text>
<text class="tag" x="600" y="294" fill="#ffffff">PRO AV · LIVE PRODUCTION · DISPLAY TECH</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -1,25 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 320" width="1200" height="320" role="img" aria-label="Broadcast Beat — The Pulse of Production Intelligence">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 320" width="1200" height="320" role="img" aria-label="AV Beat — Pro AV, Live Production, and Display Tech">
<defs>
<!-- Background gradient: deep navy → near-black -->
<linearGradient id="bg" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#050B1E"/>
<stop offset="100%" stop-color="#020613"/>
<stop offset="0%" stop-color="#0a0510"/>
<stop offset="100%" stop-color="#02010a"/>
</linearGradient>
<!-- Wide soft halo (outer bloom) -->
<filter id="haloPink" x="-50%" y="-50%" width="200%" height="200%">
<filter id="haloGold" x="-50%" y="-50%" width="200%" height="200%">
<feGaussianBlur stdDeviation="18"/>
</filter>
<filter id="haloCyan" x="-50%" y="-50%" width="200%" height="200%">
<filter id="haloRed" x="-50%" y="-50%" width="200%" height="200%">
<feGaussianBlur stdDeviation="18"/>
</filter>
<!-- Tighter glow (inner neon) -->
<filter id="glowPink" x="-30%" y="-30%" width="160%" height="160%">
<filter id="glowGold" x="-30%" y="-30%" width="160%" height="160%">
<feGaussianBlur stdDeviation="3.5"/>
</filter>
<filter id="glowCyan" x="-30%" y="-30%" width="160%" height="160%">
<filter id="glowRed" x="-30%" y="-30%" width="160%" height="160%">
<feGaussianBlur stdDeviation="3.5"/>
</filter>
@@ -33,7 +33,7 @@
.word {
font-family: 'Barlow Condensed', 'Oswald', 'Nimbus Sans Narrow', 'Inter', 'Helvetica Neue', Arial, sans-serif;
font-weight: 900;
font-size: 118px;
font-size: 156px;
letter-spacing: -0.012em;
}
.tm {
@@ -53,51 +53,48 @@
<!-- Dark background -->
<rect width="1200" height="320" fill="url(#bg)"/>
<!-- Faint vignette + scanline accents (optional broadcast vibe) -->
<rect width="1200" height="1" y="0" fill="#00d4ff" opacity="0.10"/>
<rect width="1200" height="1" y="319" fill="#ff2188" opacity="0.10"/>
<!-- Faint scanline accents -->
<rect width="1200" height="1" y="0" fill="#ffb800" opacity="0.10"/>
<rect width="1200" height="1" y="319" fill="#d60701" opacity="0.10"/>
<!-- ─── BROADCAST (pink/magenta neon) ─────────────────────────── -->
<!-- ─── AV (gold neon) ────────────────────────────────────────── -->
<g text-anchor="end">
<!-- outer halo -->
<text class="word" x="595" y="180" fill="#ff2188" opacity="0.85" filter="url(#haloPink)">BROADCAST</text>
<!-- mid glow -->
<text class="word" x="595" y="180" fill="#ff58a8" opacity="0.95" filter="url(#glowPink)">BROADCAST</text>
<!-- white core -->
<text class="word" x="595" y="180" fill="#ffffff">BROADCAST</text>
<text class="word" x="500" y="195" fill="#ffb800" opacity="0.85" filter="url(#haloGold)">AV</text>
<text class="word" x="500" y="195" fill="#ffd25a" opacity="0.95" filter="url(#glowGold)">AV</text>
<text class="word" x="500" y="195" fill="#ffffff">AV</text>
</g>
<!-- ─── BEAT (cyan neon) ──────────────────────────────────────── -->
<!-- ─── BEAT (red neon) ──────────────────────────────────────── -->
<g text-anchor="start">
<text class="word" x="615" y="180" fill="#00d4ff" opacity="0.85" filter="url(#haloCyan)">BEAT</text>
<text class="word" x="615" y="180" fill="#5ee5ff" opacity="0.95" filter="url(#glowCyan)">BEAT</text>
<text class="word" x="615" y="180" fill="#ffffff">BEAT</text>
<text class="word" x="530" y="195" fill="#d60701" opacity="0.85" filter="url(#haloRed)">BEAT</text>
<text class="word" x="530" y="195" fill="#ff4035" opacity="0.95" filter="url(#glowRed)">BEAT</text>
<text class="word" x="530" y="195" fill="#ffffff">BEAT</text>
</g>
<!-- ™ mark near end of BEAT, upper right -->
<g>
<text class="tm" x="918" y="90" fill="#7feaff" filter="url(#glowCyan)"></text>
<text class="tm" x="918" y="90" fill="#ffffff"></text>
<text class="tm" x="935" y="92" fill="#ffd45e" filter="url(#glowGold)"></text>
<text class="tm" x="935" y="92" fill="#ffffff"></text>
</g>
<!-- ─── Waveform / heartbeat pulse ────────────────────────────── -->
<!-- ─── Waveform / signal pulse ──────────────────────────────── -->
<g>
<!-- Halo pass -->
<path d="M 70 218 L 460 218 L 480 218 L 500 198 L 520 240 L 540 152 L 560 274 L 580 198 L 600 226 L 620 218 L 1130 218"
fill="none" stroke="#00d4ff" stroke-width="6" stroke-linejoin="round" stroke-linecap="round"
filter="url(#haloCyan)" opacity="0.75"/>
<path d="M 70 230 L 440 230 L 460 230 L 480 210 L 500 252 L 520 164 L 540 286 L 560 210 L 580 238 L 600 230 L 1130 230"
fill="none" stroke="#ffb800" stroke-width="6" stroke-linejoin="round" stroke-linecap="round"
filter="url(#haloGold)" opacity="0.75"/>
<!-- Mid stroke -->
<path d="M 70 218 L 460 218 L 480 218 L 500 198 L 520 240 L 540 152 L 560 274 L 580 198 L 600 226 L 620 218 L 1130 218"
fill="none" stroke="#00d4ff" stroke-width="3" stroke-linejoin="round" stroke-linecap="round"
filter="url(#glowCyan)"/>
<path d="M 70 230 L 440 230 L 460 230 L 480 210 L 500 252 L 520 164 L 540 286 L 560 210 L 580 238 L 600 230 L 1130 230"
fill="none" stroke="#ffb800" stroke-width="3" stroke-linejoin="round" stroke-linecap="round"
filter="url(#glowGold)"/>
<!-- Crisp white core -->
<path d="M 70 218 L 460 218 L 480 218 L 500 198 L 520 240 L 540 152 L 560 274 L 580 198 L 600 226 L 620 218 L 1130 218"
<path d="M 70 230 L 440 230 L 460 230 L 480 210 L 500 252 L 520 164 L 540 286 L 560 210 L 580 238 L 600 230 L 1130 230"
fill="none" stroke="#ffffff" stroke-width="1.2" stroke-linejoin="round" stroke-linecap="round"/>
</g>
<!-- ─── Tagline ───────────────────────────────────────────────── -->
<g text-anchor="middle">
<text class="tag" x="600" y="282" fill="#ffffff" opacity="0.85" filter="url(#glowSoft)">THE PULSE OF PRODUCTION INTELLIGENCE</text>
<text class="tag" x="600" y="282" fill="#ffffff">THE PULSE OF PRODUCTION INTELLIGENCE</text>
<text class="tag" x="600" y="294" fill="#ffffff" opacity="0.85" filter="url(#glowSoft)">PRO AV · LIVE PRODUCTION · DISPLAY TECH</text>
<text class="tag" x="600" y="294" fill="#ffffff">PRO AV · LIVE PRODUCTION · DISPLAY TECH</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB