diff --git a/app/globals.css b/app/globals.css index 5d7c8c3..0b8fe18 100644 --- a/app/globals.css +++ b/app/globals.css @@ -1,3 +1,35 @@ +@font-face { + font-family: 'Aspekta'; + src: url('/fonts/Aspekta-400.woff2') format('woff2'); + font-weight: 400; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: 'Aspekta'; + src: url('/fonts/Aspekta-500.woff2') format('woff2'); + font-weight: 500; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: 'Aspekta'; + src: url('/fonts/Aspekta-600.woff2') format('woff2'); + font-weight: 600; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: 'Aspekta'; + src: url('/fonts/Aspekta-700.woff2') format('woff2'); + font-weight: 700; + font-style: normal; + font-display: swap; +} + @import 'tailwindcss'; @import 'tw-animate-css'; @@ -144,25 +176,24 @@ ============================================================================= */ @theme inline { - /* Typography - Using CSS variables from Next.js font loading */ - --font-sans: 'Inter', 'Outfit', ui-sans-serif, system-ui, sans-serif; - --font-serif: "Tiempos Text", var(--font-source-serif), 'Source Serif 4', serif; + /* Typography - Calibrated to Slides 19-24 */ + --font-serif: 'Source Serif Pro', 'Source Serif 4', 'Georgia', serif; + --font-sans: 'Aspekta', ui-sans-serif, system-ui, sans-serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; - /* Institutional Type Scale - Hard-Calibrated to Slide 22 (150px target) */ - --type-display: clamp(4.5rem, 12vw, 9.375rem); /* 150px Display */ - --type-h1: clamp(3rem, 10vw, 6.25rem); /* 100px Institutional Header */ - --type-h2: clamp(2.25rem, 6vw, 4.6875rem); /* 75px Section Header */ - --type-h3: clamp(1.5rem, 4vw, 3.75rem); /* 60px Subheader */ - --type-h4: clamp(1.25rem, 2vw, 2.25rem); /* 36px Label */ - --type-body-lg: 1.25rem; /* 20px - Secondary Body */ - --type-body: 1.0625rem; /* 17px - Primary Body */ - --type-caption: 0.8125rem; /* 13px - Meta */ + /* Institutional Type Scale - Hard-Calibrated to Slide 22 Scale Table */ + --type-display: clamp(4rem, 12vw, 9.375rem); /* 150px Display */ + --type-h1: clamp(2.5rem, 10vw, 6.25rem); /* 100px H1 */ + --type-h2: clamp(2rem, 6vw, 4.6875rem); /* 75px H2 */ + --type-h3: clamp(1.5rem, 4vw, 3.75rem); /* 60px H3 */ + --type-h4: clamp(1.25rem, 2vw, 2.25rem); /* 36px H4 */ + --type-body-lg: 1.125rem; /* 18px Body */ + --type-body: 0.9375rem; /* 15px Body SM */ + --type-caption: 10px; /* 10pt/px exact fallback */ - /* Specified Tracking - Slide 22 (-2%) */ - --type-tracking-heading: -0.02em; - --type-tracking-display: -0.04em; - --type-tracking-body: 0.01em; + /* Tracking - Slide 22 Table Definitions */ + --type-tracking-heading: -0.01em; /* -1% for Display/H1/H2/H3/H4 */ + --type-tracking-body: 0.02em; /* +2% for Body/Caption */ /* Institutional Spacing & Construction */ --border-institutional: 0.5px; @@ -210,7 +241,11 @@ h1, h2, h3, h4 { letter-spacing: var(--type-tracking-heading); - font-weight: 500; /* Tiempos Medium fallback */ + font-weight: 500; /* Medium weight matching Slide 19 */ + } + + p, span, li { + letter-spacing: var(--type-tracking-body); } } diff --git a/app/layout.tsx b/app/layout.tsx index 79deeae..951bd9b 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -39,12 +39,7 @@ export default function RootLayout({ }>) { return ( -
- - + {children} diff --git a/public/fonts/Aspekta-400.woff2 b/public/fonts/Aspekta-400.woff2 new file mode 100644 index 0000000..764b50c Binary files /dev/null and b/public/fonts/Aspekta-400.woff2 differ diff --git a/public/fonts/Aspekta-500.woff2 b/public/fonts/Aspekta-500.woff2 new file mode 100644 index 0000000..ba95918 Binary files /dev/null and b/public/fonts/Aspekta-500.woff2 differ diff --git a/public/fonts/Aspekta-600.woff2 b/public/fonts/Aspekta-600.woff2 new file mode 100644 index 0000000..ea5728e Binary files /dev/null and b/public/fonts/Aspekta-600.woff2 differ diff --git a/public/fonts/Aspekta-700.woff2 b/public/fonts/Aspekta-700.woff2 new file mode 100644 index 0000000..b9342d8 Binary files /dev/null and b/public/fonts/Aspekta-700.woff2 differ