Perf: self-host fonts (drop render-blocking Google Fonts) + defer Cal embed + lighter mobile hero

Self-hosted woff2 (8 latin faces, subset, font-display swap), preload H1/body faces; removed Google Fonts link. Cal embed now loads on first interaction, not page load. Re-encoded mobile hero 1.9MB->0.48MB. A11y: eyebrow size up to 0.72rem + amber text -> amber-deep.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-25 19:16:32 -07:00
parent 993eae882c
commit cc6212b5c6
11 changed files with 16 additions and 6 deletions
+11 -2
View File
@@ -1,3 +1,12 @@
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/dmsans-400.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/dmsans-500.woff2') format('woff2')}
@font-face{font-family:'Lora';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/lora-400.woff2') format('woff2')}
@font-face{font-family:'Lora';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/lora-500.woff2') format('woff2')}
@font-face{font-family:'Lora';font-style:italic;font-weight:400;font-display:swap;src:url('assets/fonts/lora-400i.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/playfair-400.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/playfair-700.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400;font-display:swap;src:url('assets/fonts/playfair-400i.woff2') format('woff2')}
:root {
--paper: #f7f4ef;
--paper-2: #efebe3;
@@ -48,8 +57,8 @@ strong { font-weight: 500; color: var(--ink); }
/* Eyebrow with amber dash */
.eyebrow {
font-family: 'DM Sans', sans-serif; font-size: 0.66rem; font-weight: 400;
text-transform: uppercase; letter-spacing: 0.18em; color: var(--amber);
font-family: 'DM Sans', sans-serif; font-size: 0.72rem; font-weight: 400;
text-transform: uppercase; letter-spacing: 0.18em; color: var(--amber-deep);
margin: 0 0 24px; display: flex; align-items: center;
}
.eyebrow::before { content: ""; width: 28px; height: 1.5px; background: var(--amber); margin-right: 18px; flex: none; }