From 6f62082dc460707c1a36f492ea0d95631c651a9c Mon Sep 17 00:00:00 2001 From: "j.foucher" Date: Sat, 9 May 2026 11:49:10 +0200 Subject: [PATCH] feat(child-theme): scaffold asterion-bricks v0.1.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Initial child theme structure inheriting from Bricks parent. Token-driven, RGPD-native, mobile-first foundation ready for component and template work. What's in this commit - style.css: WP theme metadata (Template: bricks, v0.1.0) - functions.php: enqueue cascade tokens -> utilities -> components, defer-loaded main.js, font preload, theme support, image sizes (av-hero 2400x1350, av-card 800x600, av-thumb 400x300), Gutenberg default styles dequeued - theme.json: Gutenberg color/typo palette mirroring tokens - assets/css/tokens.css: full design system per Design Handoff section 2 (brand colors, neutrals, semantics, type scale + line-heights, 8pt spacing, radii, shadows, z-index, motion, prefers-reduced-motion) - assets/css/utilities.css: modern reset + .av-container, .av-skip-link, .av-sr-only, .av-stack, .av-section helpers, opinionated heading scale - assets/css/components.css: index of planned components + buttons (5 variants x 4 sizes per Design Handoff section 3.1) and links - assets/js/main.js: vanilla skeleton with header scroll, IntersectionObserver reveal, count-up, mobile drawer; respects prefers-reduced-motion - inc/cpt.php: register_post_type case_study (slug /customers/) + scenario (slug /scenarios/) + shared 'industry' taxonomy - inc/seo.php: Organization JSON-LD on home; placeholders for Product, Article, FAQPage, BreadcrumbList - assets/fonts/: Inter Variable + Italic WOFF2 self-hosted (RGPD; no Google Fonts CDN). Inter Display @font-face commented — Inter 4+ uses opsz axis from the same file. Out of scope (intentionally deferred) - Component fills: cards, forms, navigation, alerts, modals, tabs (placeholders) - Page templates: home and beyond - Bricks JSON template exports - Schema.org Product / Article / FAQPage / BreadcrumbList implementations Co-Authored-By: Claude Opus 4.7 (1M context) --- wp-content/themes/asterion-bricks/README.md | 53 ++++ .../asterion-bricks/assets/css/components.css | 233 +++++++++++++++++ .../asterion-bricks/assets/css/tokens.css | 234 ++++++++++++++++++ .../asterion-bricks/assets/css/utilities.css | 214 ++++++++++++++++ .../assets/fonts/Inter-Variable-Italic.woff2 | Bin 0 -> 51832 bytes .../assets/fonts/Inter-Variable.woff2 | Bin 0 -> 48256 bytes .../asterion-bricks/assets/fonts/README.md | 39 +++ .../asterion-bricks/assets/img/.gitkeep | 0 .../themes/asterion-bricks/assets/js/main.js | 149 +++++++++++ .../themes/asterion-bricks/functions.php | 157 ++++++++++++ wp-content/themes/asterion-bricks/inc/cpt.php | 123 +++++++++ wp-content/themes/asterion-bricks/inc/seo.php | 60 +++++ wp-content/themes/asterion-bricks/style.css | 18 ++ .../themes/asterion-bricks/templates/.gitkeep | 0 wp-content/themes/asterion-bricks/theme.json | 79 ++++++ 15 files changed, 1359 insertions(+) create mode 100644 wp-content/themes/asterion-bricks/README.md create mode 100644 wp-content/themes/asterion-bricks/assets/css/components.css create mode 100644 wp-content/themes/asterion-bricks/assets/css/tokens.css create mode 100644 wp-content/themes/asterion-bricks/assets/css/utilities.css create mode 100644 wp-content/themes/asterion-bricks/assets/fonts/Inter-Variable-Italic.woff2 create mode 100644 wp-content/themes/asterion-bricks/assets/fonts/Inter-Variable.woff2 create mode 100644 wp-content/themes/asterion-bricks/assets/fonts/README.md create mode 100644 wp-content/themes/asterion-bricks/assets/img/.gitkeep create mode 100644 wp-content/themes/asterion-bricks/assets/js/main.js create mode 100644 wp-content/themes/asterion-bricks/functions.php create mode 100644 wp-content/themes/asterion-bricks/inc/cpt.php create mode 100644 wp-content/themes/asterion-bricks/inc/seo.php create mode 100644 wp-content/themes/asterion-bricks/style.css create mode 100644 wp-content/themes/asterion-bricks/templates/.gitkeep create mode 100644 wp-content/themes/asterion-bricks/theme.json diff --git a/wp-content/themes/asterion-bricks/README.md b/wp-content/themes/asterion-bricks/README.md new file mode 100644 index 0000000..18808fd --- /dev/null +++ b/wp-content/themes/asterion-bricks/README.md @@ -0,0 +1,53 @@ +# Asterion Bricks — Child theme + +Custom WordPress child theme for **asterionvr.com**, built on top of [Bricks Builder](https://bricksbuilder.io). Tactical-cinematic design system for the PROSERVE XR training platform. + +## Structure + +``` +asterion-bricks/ +├── style.css # WP theme metadata only (CSS lives in assets/css/) +├── functions.php # enqueues, theme support, includes +├── theme.json # Gutenberg color/typo palette +├── assets/ +│ ├── css/ +│ │ ├── tokens.css # design tokens — source of truth +│ │ ├── utilities.css # CSS reset + utility classes (.av-container, etc.) +│ │ └── components.css # component styles (buttons, cards, header, footer…) +│ ├── js/ +│ │ └── main.js # vanilla JS, defer-loaded +│ ├── fonts/ # self-hosted Inter (RGPD) +│ └── img/ # static visuals +├── templates/ # Bricks template JSON exports (versioned) +└── inc/ + ├── cpt.php # custom post types: case_study, scenario + └── seo.php # Schema.org JSON-LD overrides +``` + +## Conventions + +- **CSS prefix** : `av-` (asterion-vr) on every custom selector to avoid collision with Bricks classes. +- **BEM-light** naming : `.av-card`, `.av-card--feature`, `.av-card__icon`, `.av-card.is-loading`. +- **Zero hardcoded values** — every color, spacing, radius and duration goes through `tokens.css`. +- **JS** : vanilla, defer-loaded, prefer `IntersectionObserver` over scroll listeners. +- **A11y** : keyboard reachable, `:focus-visible` outline, ARIA where needed, contrast ≥ 4.5:1, `prefers-reduced-motion` respected. + +## Activation + +1. Ensure Bricks parent is installed at `wp-content/themes/bricks/`. +2. WP Admin → Appearance → Themes → activate **Asterion Bricks**. + +## Performance budget (per BRIEF section 9) + +| Asset | Budget | +|-----------------|-------------------------------| +| HTML initial | < 100 KB gzipped | +| CSS total | < 50 KB gzipped | +| JS initial | < 200 KB gzipped | +| Hero video | < 2 MB | +| Hero poster | < 150 KB | +| LCP / CLS / TBT | < 2.5s / < 0.1 / < 200ms | + +## License + +GPL v2 or later. Same as WordPress core. diff --git a/wp-content/themes/asterion-bricks/assets/css/components.css b/wp-content/themes/asterion-bricks/assets/css/components.css new file mode 100644 index 0000000..004b994 --- /dev/null +++ b/wp-content/themes/asterion-bricks/assets/css/components.css @@ -0,0 +1,233 @@ +/** + * Asterion Bricks — Components + * + * Component-level styles, layered on top of tokens + utilities. + * Loaded last in the cascade. + * + * Naming : `.av-` base, `.av---`, + * `.av-__`, `.av-.is-`. + */ + +/* ============================================================================ + Section index (filled progressively as components ship) + + 1. Buttons .av-btn + 2. Links .av-link + 3. Forms .av-input, .av-label, .av-select, .av-textarea + 4. Cards .av-card and variants + 5. Stat callout .av-stat + 6. Navigation header .av-header, .av-nav, .av-megamenu, .av-drawer + 7. Footer .av-footer + 8. Alerts & toasts .av-alert, .av-toast + 9. Modals .av-modal + 10. Tooltips & popovers .av-tooltip + 11. Tabs & accordions .av-tabs, .av-accordion + 12. Tables .av-table + 13. Badges & tags .av-badge + + Reference : Design Handoff Specification, section 3. + ============================================================================ */ + + +/* ============================================================================ + 1. Buttons (Design Handoff section 3.1) + + Variants : primary, secondary, ghost, on-dark, destructive + Sizes : sm (32px), md (44px default), lg (52px), xl (60px hero only) + States : default, hover, focus, active, disabled, loading + Border radius : radius-sm by default (tactical aesthetic — crisp corners). + ============================================================================ */ + +.av-btn { + display: inline-flex; + align-items: center; + justify-content: center; + gap: var(--space-2); + padding: 0 var(--space-5); + height: 44px; + font-family: var(--font-body); + font-size: var(--text-body-md); + font-weight: var(--font-weight-semibold); + line-height: 1; + letter-spacing: 0; + text-decoration: none; + border: var(--border-default) solid transparent; + border-radius: var(--radius-sm); + cursor: pointer; + user-select: none; + white-space: nowrap; + transition: + background-color var(--duration-fast) var(--ease-default), + color var(--duration-fast) var(--ease-default), + transform var(--duration-fast) var(--ease-default), + box-shadow var(--duration-default) var(--ease-default), + border-color var(--duration-fast) var(--ease-default); +} + +.av-btn:disabled, +.av-btn.is-disabled { + opacity: 0.4; + cursor: not-allowed; + pointer-events: none; +} + +.av-btn.is-loading { + cursor: wait; +} + +/* --- Sizes --- */ + +.av-btn--sm { + height: 32px; + padding: 0 var(--space-3); + font-size: var(--text-body-sm); +} + +.av-btn--md { + height: 44px; + padding: 0 var(--space-5); +} + +.av-btn--lg { + height: 52px; + padding: 0 var(--space-7, 1.75rem); + font-size: var(--text-body-lg); +} + +.av-btn--xl { + height: 60px; + padding: 0 var(--space-9, 2.25rem); + font-size: var(--text-h4); + font-weight: var(--font-weight-bold); +} + +/* --- Variant : primary (gold fill, navy text) --- */ + +.av-btn--primary { + background-color: var(--color-brand-gold); + color: var(--color-brand-navy); + border-color: var(--color-brand-gold); +} +.av-btn--primary:hover, +.av-btn--primary:focus-visible { + background-color: var(--color-brand-gold-soft); + border-color: var(--color-brand-gold-soft); + transform: translateY(-1px); + box-shadow: var(--shadow-glow-gold); +} +.av-btn--primary:active { + transform: translateY(0); + filter: brightness(0.92); + box-shadow: none; +} + +/* --- Variant : secondary (outlined, navy text) --- */ + +.av-btn--secondary { + background-color: transparent; + color: var(--color-brand-navy); + border-color: var(--color-brand-navy); +} +.av-btn--secondary:hover, +.av-btn--secondary:focus-visible { + background-color: var(--color-brand-navy); + color: var(--color-text-on-dark); +} + +/* --- Variant : ghost (navy text, no border) --- */ + +.av-btn--ghost { + background-color: transparent; + color: var(--color-brand-navy); + border-color: transparent; +} +.av-btn--ghost:hover, +.av-btn--ghost:focus-visible { + background-color: var(--color-bg-subtle); +} + +/* --- Variant : on-dark (for dark backgrounds — text gold or white) --- */ + +.av-btn--on-dark.av-btn--primary { + background-color: var(--color-brand-gold); + color: var(--color-brand-navy); +} +.av-btn--on-dark.av-btn--secondary { + color: var(--color-text-on-dark); + border-color: var(--color-text-on-dark); +} +.av-btn--on-dark.av-btn--secondary:hover, +.av-btn--on-dark.av-btn--secondary:focus-visible { + background-color: var(--color-text-on-dark); + color: var(--color-brand-navy); +} +.av-btn--on-dark.av-btn--ghost { + color: var(--color-text-on-dark); +} +.av-btn--on-dark.av-btn--ghost:hover, +.av-btn--on-dark.av-btn--ghost:focus-visible { + background-color: var(--color-bg-dark-elevated); +} + +/* --- Variant : destructive --- */ + +.av-btn--destructive { + background-color: var(--color-alert-red); + color: var(--color-text-on-dark); + border-color: var(--color-alert-red); +} +.av-btn--destructive:hover, +.av-btn--destructive:focus-visible { + filter: brightness(1.08); +} + + +/* ============================================================================ + 2. Links (Design Handoff section 3.2) + ============================================================================ */ + +.av-link { + color: var(--color-brand-navy); + text-decoration: none; + transition: color var(--duration-fast) var(--ease-default); +} +.av-link:hover { + color: var(--color-brand-gold); + text-decoration: underline; + text-decoration-thickness: 1px; + text-underline-offset: 4px; +} +.av-link--on-dark { + color: var(--color-text-on-dark); +} +.av-link--on-dark:hover { + color: var(--color-brand-gold); +} + + +/* ============================================================================ + 3. Forms — placeholder + To be filled from Design Handoff section 3.3 when conversion templates are built. + ============================================================================ */ + + +/* ============================================================================ + 4. Cards — placeholder + To be filled from Design Handoff section 3.4 when home solutions/industries + sections are built. + ============================================================================ */ + + +/* ============================================================================ + 5. Stat callout — placeholder + ============================================================================ */ + + +/* ============================================================================ + 6. Navigation (header, mega menu, drawer) — placeholder + ============================================================================ */ + + +/* ============================================================================ + 7. Footer — placeholder + ============================================================================ */ diff --git a/wp-content/themes/asterion-bricks/assets/css/tokens.css b/wp-content/themes/asterion-bricks/assets/css/tokens.css new file mode 100644 index 0000000..6a75164 --- /dev/null +++ b/wp-content/themes/asterion-bricks/assets/css/tokens.css @@ -0,0 +1,234 @@ +/** + * Asterion Bricks — Design tokens + * + * Source of truth for the design system. Every component, every utility, + * every Bricks override references variables defined here. + * + * Reference : Design Handoff Specification (livrable 2/2), section 2. + * + * Hard rule : NEVER hardcode a color, spacing, radius, or duration in any + * other file. If it's not yet a token, add it here first, then use it. + */ + +/* ============================================================================ + Self-hosted fonts (RGPD — no Google Fonts CDN) + Drop the .woff2 files into ../fonts/ and these declarations pick them up. + See ../fonts/README.md for download instructions. + ============================================================================ */ + +@font-face { + font-family: "Inter"; + font-style: normal; + font-weight: 100 900; + font-display: swap; + src: url("../fonts/Inter-Variable.woff2") format("woff2-variations"), + url("../fonts/Inter-Variable.woff2") format("woff2"); +} + +@font-face { + font-family: "Inter"; + font-style: italic; + font-weight: 100 900; + font-display: swap; + src: url("../fonts/Inter-Variable-Italic.woff2") format("woff2-variations"), + url("../fonts/Inter-Variable-Italic.woff2") format("woff2"); +} + +/* + Inter Display is intentionally NOT registered as its own @font-face here. + Since Inter 4.x, "Display" optical sizing is baked into the main variable + font via the `opsz` axis. The CSS stack `"Inter Display", "Inter", ...` + in --font-display falls through to "Inter" (registered above), so headlines + pick up the correct file with no 404 noise. + + If a separate InterDisplay-Variable.woff2 is dropped into ../fonts/ later + (e.g. from the rsms.me extras package), uncomment the block below. + + @font-face { + font-family: "Inter Display"; + font-style: normal; + font-weight: 100 900; + font-display: swap; + src: url("../fonts/InterDisplay-Variable.woff2") format("woff2-variations"), + url("../fonts/InterDisplay-Variable.woff2") format("woff2"); + } +*/ + +/* ============================================================================ + Tokens + ============================================================================ */ + +:root { + + /* ---- BRAND COLORS ---- */ + --color-brand-navy: #0B1F3A; + --color-brand-navy-deep: #081427; + --color-brand-gold: #C9A45A; + --color-brand-gold-soft: #E0C892; + --color-alert-red: #C8102E; + + /* ---- NEUTRALS ---- */ + --color-text-primary: #0B1F3A; + --color-text-secondary: #3E4C5E; + --color-text-muted: #6B7785; + --color-text-on-dark: #FFFFFF; + --color-text-on-dark-muted: #B6BFCC; + + --color-bg-default: #FFFFFF; + --color-bg-subtle: #F5F7FA; + --color-bg-elevated: #FFFFFF; + --color-bg-dark: #0B1F3A; + --color-bg-dark-elevated: #13294B; + + --color-border-default: #CCD3DC; + --color-border-subtle: #E5E9EE; + --color-border-on-dark: #1F3252; + + /* ---- SEMANTIC COLORS ---- */ + --color-success: #1F8B4C; + --color-warning: #C29327; + --color-error: #C8102E; + --color-info: #1E5BA8; + + /* ---- TYPOGRAPHY: families ---- */ + --font-display: "Inter Display", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; + --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; + + /* ---- TYPOGRAPHY: sizes (rem-based, root = 16px) ---- */ + --text-overline: 0.75rem; /* 12px */ + --text-body-sm: 0.875rem; /* 14px */ + --text-body-md: 1rem; /* 16px */ + --text-body-lg: 1.25rem; /* 20px */ + --text-h4: 1.125rem; /* 18px */ + --text-h3: 1.375rem; /* 22px */ + --text-h2: 1.75rem; /* 28px */ + --text-h1: 2.25rem; /* 36px */ + --text-display-md: 2.75rem; /* 44px */ + --text-display-lg: 3.5rem; /* 56px */ + --text-display-xl: 4.5rem; /* 72px */ + + /* ---- TYPOGRAPHY: line heights (per Design Handoff section 2.2) ---- */ + --leading-display-xl: 1.05; + --leading-display-lg: 1.10; + --leading-display-md: 1.15; + --leading-h1: 1.20; + --leading-h2: 1.25; + --leading-h3: 1.30; + --leading-h4: 1.35; + --leading-body-lg: 1.55; + --leading-body-md: 1.60; + --leading-body-sm: 1.50; + --leading-overline: 1.40; + + /* ---- TYPOGRAPHY: weights ---- */ + --font-weight-regular: 400; + --font-weight-medium: 500; + --font-weight-semibold: 600; + --font-weight-bold: 700; + + /* ---- TYPOGRAPHY: tracking ---- */ + --tracking-tight: -0.02em; /* display */ + --tracking-snug: -0.01em; /* headings */ + --tracking-normal: 0; /* body */ + --tracking-overline: 0.08em; /* eyebrows, all-caps */ + + /* ---- SPACING (8-pt grid) ---- */ + --space-0: 0; + --space-1: 0.25rem; /* 4px */ + --space-2: 0.5rem; /* 8px */ + --space-3: 0.75rem; /* 12px */ + --space-4: 1rem; /* 16px */ + --space-5: 1.25rem; /* 20px */ + --space-6: 1.5rem; /* 24px */ + --space-8: 2rem; /* 32px */ + --space-10: 2.5rem; /* 40px */ + --space-12: 3rem; /* 48px */ + --space-16: 4rem; /* 64px */ + --space-20: 5rem; /* 80px */ + --space-24: 6rem; /* 96px */ + --space-32: 8rem; /* 128px */ + + /* ---- LAYOUT: container & grid ---- */ + --container-max: 1280px; + --container-padding-mobile: 1.5rem; /* 24px */ + --container-padding-tablet: 2rem; /* 32px */ + --container-padding-desktop: 4rem; /* 64px */ + + --gutter-mobile: 1rem; /* 16px */ + --gutter-tablet: 1rem; /* 16px */ + --gutter-desktop: 1.5rem; /* 24px */ + + /* ---- BORDER RADIUS ---- */ + --radius-none: 0; + --radius-sm: 2px; + --radius-md: 4px; + --radius-lg: 8px; + --radius-pill: 9999px; + --radius-full: 50%; + + /* ---- BORDER WIDTHS ---- */ + --border-thin: 1px; + --border-default: 2px; + --border-thick: 3px; + + /* ---- SHADOWS ---- */ + --shadow-none: none; + --shadow-xs: 0 1px 2px rgba(11, 31, 58, 0.05); + --shadow-sm: 0 2px 4px rgba(11, 31, 58, 0.08), 0 1px 2px rgba(11, 31, 58, 0.06); + --shadow-md: 0 4px 12px rgba(11, 31, 58, 0.10), 0 2px 4px rgba(11, 31, 58, 0.06); + --shadow-lg: 0 12px 24px rgba(11, 31, 58, 0.14), 0 4px 8px rgba(11, 31, 58, 0.08); + --shadow-glow-gold: 0 0 24px rgba(201, 164, 90, 0.35); + + /* ---- Z-INDEX SCALE ---- */ + --z-base: 1; + --z-dropdown: 1000; + --z-sticky: 1100; + --z-fixed: 1200; + --z-modal-backdrop: 1300; + --z-modal: 1310; + --z-popover: 1400; + --z-toast: 1500; + + /* ---- MOTION: easing ---- */ + --ease-default: cubic-bezier(0.16, 1, 0.3, 1); /* premium snap */ + --ease-in: cubic-bezier(0.4, 0, 1, 1); + --ease-out: cubic-bezier(0, 0, 0.2, 1); + --ease-linear: linear; + + /* ---- MOTION: durations ---- */ + --duration-instant: 100ms; /* micro-interactions */ + --duration-fast: 150ms; /* button hover, focus */ + --duration-default: 250ms; /* card hover, accordion */ + --duration-slow: 400ms; /* modal, drawer */ + --duration-deliberate: 600ms; /* hero animations */ + + /* ---- A11Y / TOUCH ---- */ + --tap-target-min: 44px; /* WCAG AA + Apple HIG */ + --focus-ring-width: 2px; + --focus-ring-offset: 2px; + --focus-ring-color: var(--color-info); + + /* ---- BREAKPOINTS (used in @media; here for reference) ---- + xs: 0 — mobile portrait (375px reference) + sm: 640px — mobile landscape, small tablets + md: 768px — tablet portrait + lg: 1024px — tablet landscape, small laptop + xl: 1280px — desktop default + 2xl: 1536px — large desktop + */ +} + +/* ============================================================================ + Reduced motion — respect user preference (Design Handoff section 5.5) + ============================================================================ */ + +@media (prefers-reduced-motion: reduce) { + *, + *::before, + *::after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.01ms !important; + scroll-behavior: auto !important; + } +} diff --git a/wp-content/themes/asterion-bricks/assets/css/utilities.css b/wp-content/themes/asterion-bricks/assets/css/utilities.css new file mode 100644 index 0000000..dfe7591 --- /dev/null +++ b/wp-content/themes/asterion-bricks/assets/css/utilities.css @@ -0,0 +1,214 @@ +/** + * Asterion Bricks — Utilities + * + * Modern CSS reset + reusable utility classes. + * Loaded after tokens.css, before components.css. + * + * Naming : prefix `av-` on every custom class. + */ + +/* ============================================================================ + Modern CSS reset (inspired by Andy Bell's modern-css-reset, Josh Comeau) + ============================================================================ */ + +*, *::before, *::after { box-sizing: border-box; } + +* { margin: 0; padding: 0; } + +html { + font-size: 100%; + -webkit-text-size-adjust: 100%; + scroll-behavior: smooth; + text-rendering: optimizeLegibility; +} + +body { + font-family: var(--font-body); + font-size: var(--text-body-md); + line-height: var(--leading-body-md); + color: var(--color-text-primary); + background-color: var(--color-bg-default); + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + min-height: 100vh; +} + +img, picture, video, canvas, svg { + display: block; + max-width: 100%; + height: auto; +} + +input, button, textarea, select { font: inherit; color: inherit; } + +p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; } + +a { + color: inherit; + text-decoration: none; +} + +ul, ol { list-style: none; } + +table { border-collapse: collapse; border-spacing: 0; } + +/* ============================================================================ + Heading hierarchy — opinionated defaults consumed when an element + carries no Bricks-specific class. Bricks may override, that's expected. + ============================================================================ */ + +h1 { + font-family: var(--font-display); + font-size: var(--text-h1); + line-height: var(--leading-h1); + font-weight: var(--font-weight-bold); + letter-spacing: var(--tracking-snug); +} +h2 { + font-family: var(--font-display); + font-size: var(--text-h2); + line-height: var(--leading-h2); + font-weight: var(--font-weight-bold); + letter-spacing: var(--tracking-snug); +} +h3 { + font-family: var(--font-display); + font-size: var(--text-h3); + line-height: var(--leading-h3); + font-weight: var(--font-weight-semibold); + letter-spacing: var(--tracking-snug); +} +h4 { + font-family: var(--font-display); + font-size: var(--text-h4); + line-height: var(--leading-h4); + font-weight: var(--font-weight-semibold); +} + +p { + max-width: 72ch; /* prose readability per Design Handoff section 2.2 */ +} + +/* ============================================================================ + Focus visible — keyboard accessibility + Removes outline only when focus came from the mouse; preserves it for keyboard. + ============================================================================ */ + +:focus { outline: none; } + +:focus-visible { + outline: var(--focus-ring-width) solid var(--focus-ring-color); + outline-offset: var(--focus-ring-offset); +} + +/* ============================================================================ + Skip link — first focusable element on every page (a11y) + ============================================================================ */ + +.av-skip-link { + position: absolute; + top: -40px; + left: 0; + padding: var(--space-3) var(--space-4); + background: var(--color-brand-navy); + color: var(--color-text-on-dark); + font-size: var(--text-body-sm); + font-weight: var(--font-weight-semibold); + z-index: var(--z-toast); + border-bottom-right-radius: var(--radius-md); +} +.av-skip-link:focus, +.av-skip-link:focus-visible { + top: 0; +} + +/* ============================================================================ + Visually hidden — content readable by screen readers, hidden visually + ============================================================================ */ + +.av-sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0 0 0 0); + white-space: nowrap; + border: 0; +} + +/* ============================================================================ + Container — centred max-width with responsive padding + ============================================================================ */ + +.av-container { + max-width: var(--container-max); + margin-inline: auto; + padding-inline: var(--container-padding-mobile); + width: 100%; +} + +@media (min-width: 768px) { + .av-container { padding-inline: var(--container-padding-tablet); } +} + +@media (min-width: 1280px) { + .av-container { padding-inline: var(--container-padding-desktop); } +} + +.av-container--narrow { + max-width: 800px; /* article body */ +} + +/* ============================================================================ + Tap target minimum — WCAG AA / Apple HIG (44×44px) + ============================================================================ */ + +.av-tap-target { + min-width: var(--tap-target-min); + min-height: var(--tap-target-min); +} + +/* ============================================================================ + Stack helpers — vertical rhythm via owl-selector + ============================================================================ */ + +.av-stack > * + * { margin-top: var(--av-stack-gap, var(--space-4)); } +.av-stack--sm > * + * { margin-top: var(--space-2); } +.av-stack--md > * + * { margin-top: var(--space-4); } +.av-stack--lg > * + * { margin-top: var(--space-8); } +.av-stack--xl > * + * { margin-top: var(--space-12); } + +/* ============================================================================ + Section padding helpers (vertical rhythm between page sections) + ============================================================================ */ + +.av-section { + padding-block: var(--space-16); +} +@media (min-width: 1024px) { + .av-section { padding-block: var(--space-20); } +} + +.av-section--hero { + padding-block: var(--space-24); +} +@media (min-width: 1024px) { + .av-section--hero { padding-block: var(--space-32); } +} + +.av-section--dark { + background-color: var(--color-bg-dark); + color: var(--color-text-on-dark); +} + +/* ============================================================================ + Print + ============================================================================ */ + +@media print { + .av-skip-link, .av-no-print { display: none !important; } + body { color: #000; background: #fff; } + a::after { content: " (" attr(href) ")"; font-size: 0.8em; } +} diff --git a/wp-content/themes/asterion-bricks/assets/fonts/Inter-Variable-Italic.woff2 b/wp-content/themes/asterion-bricks/assets/fonts/Inter-Variable-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f06c65192b03b43e343717cc24fafb0e36e87a1 GIT binary patch literal 51832 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∾Na#*TBTU(!jF?9zmR-!C*+RdvGrd0&{`| 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 in `functions.php` (`wp_head` action) starts fetching them on page load. + +If a file is missing, the page silently falls back to the system stack (`-apple-system`, `Segoe UI`, `Roboto`, etc.) without any user-visible error. diff --git a/wp-content/themes/asterion-bricks/assets/img/.gitkeep b/wp-content/themes/asterion-bricks/assets/img/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/wp-content/themes/asterion-bricks/assets/js/main.js b/wp-content/themes/asterion-bricks/assets/js/main.js new file mode 100644 index 0000000..1482fd0 --- /dev/null +++ b/wp-content/themes/asterion-bricks/assets/js/main.js @@ -0,0 +1,149 @@ +/** + * Asterion Bricks — main JS + * + * Vanilla JS, defer-loaded. Wraps everything in DOMContentLoaded. + * Performance budget : initial bundle < 200 KB gzipped. + * + * Modules planned : + * - Header scroll behavior (background swap after 80px) + * - Mega menu trigger (hover desktop, click touch, ESC closes) + * - Mobile drawer (full-screen overlay, accordion sections) + * - Scroll-triggered fade-in (IntersectionObserver, threshold 0.15) + * - Stat callouts count-up (1000ms ease-out) + * - Hero video lazy-load + reduced-motion fallback to poster + */ + +(function () { + 'use strict'; + + /** + * Detect reduced motion once and expose a flag for downstream modules. + * Updated reactively if the user toggles the setting mid-session. + */ + const reducedMotionQuery = window.matchMedia('(prefers-reduced-motion: reduce)'); + let prefersReducedMotion = reducedMotionQuery.matches; + reducedMotionQuery.addEventListener('change', (e) => { + prefersReducedMotion = e.matches; + }); + + /** + * Header scroll behavior. + * After 80px scroll, header gets a `is-scrolled` class + * (consumed by .av-header.is-scrolled rule in components.css). + */ + function initHeaderScroll() { + const header = document.querySelector('.av-header'); + if (!header) return; + + let ticking = false; + const onScroll = () => { + if (!ticking) { + window.requestAnimationFrame(() => { + header.classList.toggle('is-scrolled', window.scrollY > 80); + ticking = false; + }); + ticking = true; + } + }; + onScroll(); + window.addEventListener('scroll', onScroll, { passive: true }); + } + + /** + * Scroll-triggered fade-in (Design Handoff section 5.3). + * Sections fade-in + slide-up 16px on entry, threshold 0.15, trigger once. + * Skipped entirely if user prefers reduced motion. + */ + function initScrollReveal() { + if (prefersReducedMotion) return; + + const targets = document.querySelectorAll('[data-av-reveal]'); + if (!targets.length) return; + + const observer = new IntersectionObserver((entries) => { + entries.forEach((entry) => { + if (entry.isIntersecting) { + entry.target.classList.add('is-revealed'); + observer.unobserve(entry.target); + } + }); + }, { threshold: 0.15, rootMargin: '0px 0px -10% 0px' }); + + targets.forEach((target) => observer.observe(target)); + } + + /** + * Stat count-up (Design Handoff section 5.3). + * Element : target + * Animates from 0 to target value over duration ms, ease-out. + */ + function initStatCountUp() { + if (prefersReducedMotion) return; + + const stats = document.querySelectorAll('[data-av-countup]'); + if (!stats.length) return; + + const observer = new IntersectionObserver((entries) => { + entries.forEach((entry) => { + if (!entry.isIntersecting) return; + const el = entry.target; + const target = parseFloat(el.dataset.avCountup) || 0; + const duration = parseInt(el.dataset.avCountupDuration || '1000', 10); + const start = performance.now(); + + const tick = (now) => { + const elapsed = Math.min((now - start) / duration, 1); + // ease-out cubic + const eased = 1 - Math.pow(1 - elapsed, 3); + el.textContent = Math.round(target * eased).toLocaleString(); + if (elapsed < 1) requestAnimationFrame(tick); + }; + requestAnimationFrame(tick); + observer.unobserve(el); + }); + }, { threshold: 0.5 }); + + stats.forEach((s) => observer.observe(s)); + } + + /** + * Mobile drawer toggle. + * Trigger :