Additional info:
- move page-specific shells into src/components/pages/
- keep reusable building blocks and home sections in their existing component folders
- update PageLayout and the home route imports to the new page-shell paths
- preserve current page behavior while making the component tree easier to navigate
PageLayout now imports FaqPage and routes the faqs slug through it,
passing the page content as a slot (accordion and search are handled by
the component). Also passes subtitle="FAQs" to PageHero for the split
title/subtitle hero treatment.
faqs.mdx is cleaned up to match what FaqPage.astro expects as input:
- removes the old Button import and the duplicate h2 headings that are
now rendered by the component itself
- reformats all answers from loose markdown text to explicit HTML
elements (p, ul, ol, h4, h5) so the accordion parser receives
well-formed nodes rather than flat text runs
- add the two live intro paragraphs between the hero and article grid
- keep the library listing cards in the live two-column layout
- restore the 4:3 cropped article thumbnails and card spacing via library-scoped selectors
- avoid leaking the card-grid overrides into unrelated pages
- add likes/views from api to library article cards
- relocate header, footer, nav, hero, and page-hero styles into their owning components
- move blog index, blog post, team, video, insurance, CTA, and home-section styles out of the global sheet
- keep focused on shared primitives such as buttons, cards, links, and list styling
- preserve existing layout and responsive behavior while reducing global CSS scope
- replace bespoke page and library banners with PageHero.astro
- add ServicesPage.astro for the live-style English services landing page
- restyle shared hero/container measurements for the new layout shell
- add self-hosted services card images
- break the /about page out of the generic prose layout into a dedicated AboutPage.astro component
- three separate <section> elements matching the live site's alternating white/cream backgrounds
— Our Story (white), Our Mission (var(--color-tint)), Our Commitment (white)
— format the commitment list with bolded value names and accent left-border styling
- add reusable live-site-faithful blog footer component
- extract previous, next, and related post data from article content
- remove duplicated footer fragments from multilingual articles
- document the repeatable footer extraction workflow