Use Patiun icons, motifs, seal logo and gold accents across the site

- Icons: Patiun stroke icon set (13 approved + 73 new) in src/lib/brand-icons.ts;
  Icon.astro and a React BrandIcon resolve mdi names to brand icons, keeping
  mdi only for third-party logos. Inline island icons (mobile menu, carousel,
  form success, board game shelf, product tile) switched too.
- Motifs: layered seal turns in the hero corner; astrolabe on the Professional
  hero; Starlight recolors of the transmutation seal and tria prima array
  behind light sections (outlined ring text, no fonts needed). Removed the
  generic sacred-geometry and astrolabe drawings.
- Gold accents: image frames and corner stars, quote bars, dividers (new
  star-line divider), nav group divider, scrolled nav rule, footer rule.
- Nav and footer use the Patiun seal; nav tagline back to "Developer. Maker.
  Storyteller."; "Web Development · a Patiun LLC company" moved to the
  footer copyright line.
- Mobile menu: Midnight drawer, visible close button.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012aSbo2D1qP8cMFQCykf7kx
This commit is contained in:
Claude
2026-10-11 02:20:55 +00:00
parent 01431468e4
commit 9ecd4d0e59
35 changed files with 528 additions and 420 deletions
+5 -5
View File
@@ -3,11 +3,11 @@
* Footer.astro
* ---------------------------------------------------------------------------
* Minimal footer on a deep night-sky surface: a faint static starfield accent,
* the Patiun glyph as a maker's mark beside the name, social links (mdi icons), copyright, and
* the Patiun seal beside the name, social links, the copyright with the
* "a Patiun LLC company" line, and
* the spec microcopy "Built with intention. Powered by caffeine." No emojis.
*/
import Icon from '@components/Icon.astro';
import PatiunGlyph from '@components/brand/PatiunGlyph.astro';
import StarField from '@components/mystic/StarField.astro';
import { socials, footerMicrocopy, siteIdentity } from '@lib/site';
const year = new Date().getFullYear();
@@ -16,7 +16,7 @@ const socialList = Object.values(socials);
<footer
class="relative overflow-hidden border-t"
style="border-color: var(--color-border); background: var(--color-surface-sunken);"
style="border-color: color-mix(in srgb, var(--color-gold) 55%, transparent); background: var(--color-surface-sunken);"
>
{/* Faint static starfield — carries the night-sky treatment into the footer. */}
<StarField
@@ -26,7 +26,7 @@ const socialList = Object.values(socials);
/>
<div class="container-prose relative z-10 flex flex-col items-center gap-6 py-10 text-center sm:flex-row sm:justify-between sm:text-left">
<div class="flex items-center gap-3">
<PatiunGlyph class="h-6 w-auto shrink-0" />
<img src="/brand/patiun-seal.svg" alt="" width="48" height="48" class="h-12 w-12 shrink-0" />
<div class="flex flex-col gap-1">
<p class="font-display text-sm font-bold uppercase tracking-[0.14em]" style="color: var(--color-text);">
{siteIdentity.name}
@@ -56,6 +56,6 @@ const socialList = Object.values(socials);
</ul>
</div>
<div class="container-prose relative z-10 pb-8 text-center text-xs" style="color: var(--color-text-subtle);">
&copy; {year} {siteIdentity.name}. All rights reserved.
&copy; {year} {siteIdentity.name} · {siteIdentity.lockupLine}. All rights reserved.
</div>
</footer>
+4 -4
View File
@@ -84,7 +84,7 @@ const {
<Reveal delay={140}>
<p
class="max-w-xl border-l-2 pl-4 font-sans text-base italic sm:text-lg"
style="border-color: var(--color-accent); color: var(--color-starlight); opacity: 0.92;"
style="border-color: var(--color-gold); color: var(--color-starlight); opacity: 0.92;"
>
{tagline}
</p>
@@ -97,7 +97,7 @@ const {
<Reveal delay={80} class="w-full">
<figure
class="relative w-full overflow-hidden rounded-2xl border"
style="border-color: color-mix(in srgb, var(--color-accent) 40%, transparent);"
style="border-color: color-mix(in srgb, var(--color-gold) 70%, transparent);"
>
<img
src={image}
@@ -107,8 +107,8 @@ const {
class="aspect-[4/3] w-full object-cover"
/>
<StarBurst
class="pointer-events-none absolute left-3 top-3 h-5 w-5 drop-shadow-[0_0_6px_color-mix(in_srgb,var(--color-accent)_60%,transparent)]"
style="color: var(--color-accent);"
class="pointer-events-none absolute left-3 top-3 h-5 w-5 drop-shadow-[0_0_6px_color-mix(in_srgb,var(--color-gold)_60%,transparent)]"
style="color: var(--color-gold);"
/>
</figure>
</Reveal>