Living in [City] Page Template
Reference Guide -- based on the Living in Durham page structure
Last updated: 2026-08-20
· Source file: src/pages/living-in-durham.astro
Intended for building pages like Chapel Hill, Hillsborough, Fuquay-Varina, etc.
25-Section Template Structure
Sections alternate between navy (#0A2436), white, off-white (#EDECEA), and dark navy (#061726) backgrounds. Zigzag rows alternate image left / image right. Total page length: ~3,900+ lines.
- 1. Hero (full-width bg image, overlay, H1, subtitle, 2 CTAs, stats bar)
- 2. Opening Overview (white bg, 3-paragraph intro, styled links)
- 3. What's Inside This Guide (off-white, 22-item jump-to menu in grid)
- 4. Market Snapshot (white, data table + Phil quote box)
- 5. Why People Are Moving (navy, 6 numbered reasons + difference box + Phil quote)
- 6. Homes for Sale (white, IDX iframe embed)
- 7. Housing Guide (off-white, 5 zigzag housing cards + builders + pro tip)
- 8. Neighborhoods (white bg, 10 full-width cards + honorable mentions + tips + CTA)
- 9. Triangle Areas Map (white, interactive JS image map)
- 10. How [City] Compares (navy heading box, comparison table, 3-5 cards)
- 11. Cost of Living (off-white, tax rates, monthly breakdown table, rent ranges)
- 12. Schools (dark navy #061726, 3 rules, feeder patterns, DPS banner, cards)
- 13. Parks & Outdoor Living (dark navy, 4 zigzag sections)
- 14. Amenities & Community Services (dark navy, 5 zigzag sections)
- 15. Dining & Entertainment (dark navy, 4 zigzag sections)
- 16. Weather & Climate (dark navy, 5-stat bar + 2 zigzag sections + best time box)
- 17. Location & Commute (dark navy, commute table with color badges + 5 cards)
- 18. Future Growth (dark navy, 3 zigzag sections)
- 19. Awards & Recognition (dark navy, 2 zigzag sections + snapshot grid + Phil quote)
- 20. What Salary Do You Need (off-white, expense table)
- 21. Pros & Cons (dark navy, zigzag, 9 pros / 6 cons + diagnostic cards + CTA)
- 22. People Also Ask (FAQ bg, 10 accordion questions, JSON-LD FAQPage)
- 23. FAQs (FAQ bg, 5 accordion questions, JSON-LD FAQPage + CTA banner)
- 24. Phil's Perspective (off-white, quote + cut-out portrait + headshot card)
- 25. CTA / Next Steps (navy, 3-step grid + 2 CTAs + Phil quote)
+ Footer: Standard site footer (shared Layout) with EHO badge, brokerage info, legal links, bottom bar.
+ Override styles: Dark navy section text color overrides at the bottom of the page (before closing Layout).
Related Template: Neighborhood Sub-Page Template — for building the neighborhood sub-pages that attach to each city page.
Quick Reference
Color Tokens
- navy: #0A2436 (dark bg sections, header, hero overlay)
- gold: #EEBE64 (stat values in data bars)
- offWhite: #EDECEA (alternating section bg)
- lime: #D0FF14 (accent links, badges, borders, numbers)
- darkNavy: #061726 (Schools, Amenities, Dining, Weather, etc.)
- faqBg: #081726 (People Also Ask + FAQs sections)
- blueAccent: #38bdf8 (feature boxes, school subheadings)
- primaryBlue: #205bfe (Phil quote borders, link color)
Frontmatter Variables
- dateModified = today's ISO date
- siteURL = canonical site URL
- Color tokens: navy, gold, offWhite, white, lime, darkNavy
- heroImage, headshotUrl, siteLogo
- jumpLinks array (22 items) for "What's Inside" menu
- communityDropdown array (22 Triangle communities)
Background Pattern
- Sec 1: navy gradient overlay
- Sec 2, 4, 6: white (#FFFFFF)
- Sec 3, 7, 11, 20, 24: offWhite (#EDECEA)
- Sec 5: navy (#0A2436)
- Sec 8, 9, 10: white
- Sec 12-19, 21: darkNavy (#061726)
- Sec 22-23: faqBg (#081726)
- Sec 25: navy (#0A2436)
Hero Section
Title Tag Format
"Living in [City], NC | 2026 Relocation Guide"
H1 Format
"Living in [City], NC (2026 Guide)"
Meta Description Template
"Thinking about moving to [City], NC? Our 2026 guide covers home prices, neighborhoods, schools, commute times, and the honest truth about living in the Triangle's [descriptor] from a real estate agent for Raleigh NC and the Triangle."
Length: 150-175 characters
HTML Structure
- Section: relative overflow-hidden, navy background
- Absolute position img with dark overlay (rgba(0,0,0,0.75))
- H1: font-display text-4xl sm:text-5xl lg:text-7xl font-bold, max-w-5xl mx-auto
- Subtitle: text-xl sm:text-2xl font-semibold text-white/80
- Description: text-base sm:text-lg text-white/60
- Two CTA buttons: gold bg + lime border-outlined
- Stats bar below: 4-column grid (2 on mobile), gold values, uppercase labels
- Stats: Population | Median Home Price | Metro People | Key Feature
- Padding: py-24 sm:py-32 (content) + py-10 sm:py-12 (stats bar)
Opening Overview (Intro)
- Background: white (#FFFFFF)
- Section ID: living-in-[city]-intro
- Heading: H2, "Living in [City], NC — The Complete Package"
- Content: 3 paragraphs. First paragraph links key city assets (university, RTP, etc.) with target="_blank" external links. Second paragraph covers schools, neighborhoods, commuting. Third paragraph covers culture, amenities, walkability.
- Style: Inline style tag overrides link colors to #205bfe with underline + hover state. Max-width: max-w-4xl. Text: text-base sm:text-lg leading-relaxed, color #333.
What's Inside This Guide (Jump Menu)
- Background: offWhite (#EDECEA)
- Section ID: whats-inside
- Heading: H2, "What's Inside This Guide" (text-2xl sm:text-3xl)
- Grid: grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3
- Items: 22 jump links rendered from a JavaScript array of { label, href } objects
- Card style: rounded-xl px-5 py-4, navy background, gold chevron-right icon, white text. Hover shadow.
- Source array: defined in frontmatter as
jumpLinks
Market Snapshot Table
- Background: white (#FFFFFF)
- Section ID: market-snapshot
- Heading: H2, "[City] Real Estate Market Snapshot (Month Year)"
- Table columns: Metric | Current Month | Previous Year | Change
- Rows: Median Sales Price, Closed Sales, Median DOM, List Price Received, Median Sold $/Sq Ft, New Listings
- Change colors: green (#16a34a) for positive, red (#dc2626) for negative
- Phil's Quote box: Bottom of section: rounded-2xl p-8 sm:p-10, bg #f1f5f9, left border 6px solid #205bfe. Includes quote icon, text, and attribution.
Why People Are Moving to [City]
- Background: navy (#0A2436)
- Section ID: why-moving
- Heading: H2 white, "Why People Are Moving to [City], NC"
- Subtitle: text-lg sm:text-xl, color #d1d5db, max-w-3xl
- 6 reasons: Numbered (1-6) with lime circles (w-12 h-12 sm:w-14 sm:h-14, #D0FF14 bg, navy text). Each has H4 heading + body text in #d1d5db.
- City Difference Box: Titled "[City] Difference". 2-column grid: left card (light) vs right card (navy with lime accent). Vibe description paragraph below.
- Phil's Perspective: Flex row with headshot (w-14 h-14 sm:w-16 sm:h-16 rounded-full object-cover object-top) + quote text. bg #f1f5f9, left border 6px solid #205bfe.
Homes for Sale (IDX Iframe)
- Background: white (#FFFFFF)
- Section ID: homes-for-sale
- Heading: H2, "Homes for Sale in [City], NC"
- Content: Subtitle text + RealScout IDX iframe embed
- Iframe: aspect-video w-full max-w-full overflow-hidden container. Iframe: h-full w-full, border: 0, loading="lazy", allow="geolocation".
- Source: Unique RealScout shared search URL (per-city)
Housing Guide (Zigzag, 5 Housing Types)
- Background: offWhite (#EDECEA)
- Section ID: housing-guide
- Heading: H2, "[City] Housing Guide: New Construction or Resale"
- New Construction callout: Blue left-border box with map-pin icon. Describes where new construction is happening.
- Types of Homes heading: H3, font-size: 2rem (32px), font-weight: 800, text-center. Bigger than other headings.
- 5 Housing Cards: Each is flex flex-col sm:flex-row rounded-[16px], navy bg. Image left (w-full sm:w-1/2, min-h-[200px]), text right (p-6 sm:p-8).
- Card content: H4 with type name + price range span, description in #d1d5db.
- Builders box: Rounded-2xl p-8, bg #f1f5f9, border. Builder names as lime badges on navy bg.
- Pro Tip: Blue left-border box with star icon.
Neighborhoods (10 Full-Width Cards)
- Background: white (#FFFFFF) for section wrapper
- Section ID: neighborhoods
- Heading: H2, "[City] Neighborhoods — Finding Your Right Fit"
- 10 neighborhoods: Alternating navy (#0A2436) and white backgrounds
- Card structure: .neighborhood-block (full-width, mb-20, rounded-[20px], p-10). Each has hero image (h-[420px], rounded-[16px]), H3 with price range, Overview/What to Know/Housing Styles/Why People Move Here/Tips from Phil sections.
- Phil tips box: .phil-tips-box with amber left-border (6px #f59e0b). Navy or white version depending on card bg.
- Honorable Mentions: H3 at 2rem font-size. 2-column grid (1 on mobile) with photos and descriptions.
- Selection Tips from Phil: .tips-wrapper: dark navy bg, 3px lime border, rounded-[16px], p-8. Bullet list with lime headings.
- Critical Warning box: .critical-card: lime bg (#ccff00), black text, rounded-[16px], p-6. School verification warning.
- CTA Section: .cta-section: dark bg (#0f172a), white text, centered, deep-dive links to neighborhood sub-pages.
- CSS defined: Inline style tag before the section with custom class names for all cards.
Triangle Areas Interactive Map
- Background: white (#FFFFFF)
- Section ID: nearby-relocation-guides
- Structure: Full-width section with custom inline CSS (overflow-x: hidden). Contains a complex JavaScript-driven interactive image map.
- Map image: Community map PNG (huzi-cdn URL). Imagemap with coordinates for each Triangle community.
- JS logic: Canvas overlay on top of map image for hover highlighting. City grid (left sidebar) linked to map areas. Dynamic title/description boxes that update on hover.
- Styling: Uses class names like .map-container, .map-inner, .map-main-heading, .map-dynamic-title, .map-city-grid, .map-city-link. Defined in a custom style tag.
- Functionality: Hovering over a city name in the grid highlights the corresponding region on the map canvas. Clicking navigates to that city's living-in page.
How [City] Compares
- Background: white (#FFFFFF)
- Section ID: [city]-vs-cities (e.g. durham-vs-cities)
- Navy heading box: Navy bg, rounded-2xl, p-8, centered H2 in white
- Comparison table: County tax rates table with 4 columns (City, County, Tax Rate, Mill Rate)
- 3-5 comparison cards: Each titled "Choose [City] Over [Target] If:" with bullet list. Blue left-border boxes.
- Phil's Perspective: Rounded-2xl box with headshot + quote, left border 6px solid #205bfe
Cost of Living
- Background: offWhite (#EDECEA)
- Section ID: cost-of-living
- Heading: H2, "Cost of Living in [City], NC (2026)"
- Tax info: Property tax rates table (Durham County example). NC Tax Advantages section (lime-bordered box on navy bg).
- Monthly breakdown: Table with Expense Category + Estimated Monthly Cost columns. Rows: Mortgage, Property Tax, Insurance, HOA, Groceries, Utilities, Transportation, Dining, Healthcare. Total row with blue top border.
- Rent ranges: Section with typical rent ranges for 1BR ($1,200-$1,500), 2BR ($1,400-$2,200), 3BR ($1,800-$2,800)
- CTA banner: Navy bg, lime text, button to search homes
- Phil's Perspective: Blue left-border box with quote
Schools (Dark Navy Background)
- Background: dark navy (#061726)
- Section ID: schools
- DPS/County banner callout: Top of section, navy bg with lime badge, text white (#e2e8f0), links to school district website
- Hero image: Full-width rounded-2xl image (h-[400px] on desktop, h-[260px] on mobile)
- 3 Rules for School Research: H3 + 3 numbered cards with lime circles (w-10 h-10, bg #cef, navy text). Each rule has heading + description.
- Feeder Patterns: Two-column grid. Key Elementary Schools + Middle School Feeder Notes. Blue sub-headings (#38bdf8), white body text.
- High Schools card: Dark bg box with school names and details
- Charter/Private card: Dark bg box with charter and private school options
- Detailed Charter/Private section: Two more charter/private sections with individual school details
- Critical Warning box: Yellow-amber bg, black text, bold warning about verifying school assignments
- Phil's School Advisory: Headshot + quote box
- CSS overrides: Extensive style block forcing white text inside the schools section
Parks & Outdoor Living (Zigzag)
- Background: dark navy (#061726)
- Section ID: parks
- 4 zigzag sub-sections:
- • Piedmont Crown Jewels (image right) -- flex flex-col lg:flex-row-reverse. H3 + 2 sub-locations with H4 headings.
- • Expansive Forests & Family Attractions (image left) -- flex flex-col lg:flex-row. 4 sub-locations with H4 + text.
- • Greenways & Urban Trail Systems (image right) -- 4 sub-locations.
- • Regional Lake Access & Water Recreation (image left) -- Jordan Lake + Falls Lake.
- Phil's Outdoor Perspective: Headshot + quote box at bottom, lime border.
- Image pattern: w-full h-[320px] object-cover rounded-[14px], border 1px solid #1e3a5f.
- Section text containers: rounded-2xl p-6 sm:p-8, bg #0b1f31, border 1px solid #1e3a5f.
Amenities & Community Services (Zigzag)
- Background: dark navy (#061726)
- Section ID: amenities
- 5 zigzag sub-sections:
- • Commercial & Cultural Anchor (image right) -- Major commercial/cultural district
- • Downtown & District (image left) -- Downtown area + historic district
- • Healthcare Network (image right) -- Major hospitals and medical facilities
- • Event Calendar (full-width, horizontal scroll grid of 4 event cards)
- • Buyer Consideration (Phil's quote box)
- Event card grid: grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 with individual venue cards
- CSS overrides: #amenities h2,h3,h4,p,li color white
Dining & Entertainment (Zigzag)
- Background: dark navy (#061726)
- Section ID: dining
- 4 zigzag sub-sections:
- • Michelin/Bib Gourmand Recognized (image right) -- Award-winning restaurants
- • Chef-Driven Local Icons (image left) -- Downtown independent restaurants
- • District Corridors & Casual Favorites (image right) -- Neighborhood dining corridors
- • Arts, Culture & Entertainment Anchors (image left) -- Performing arts, sports, museums
- Restaurant cards: Grid layout with individual venue cards showing name, cuisine type, price indicator
- Phil's Dining Insight: Headshot + quote box at bottom
Weather & Climate
- Background: dark navy (#061726)
- Section ID: weather-climate
- 5-stat bar: grid grid-cols-2 sm:grid-cols-5 gap-6. Stats: Average High, Average Low, Annual Rainfall, Sunny Days/Year, Annual Snowfall. Values in lime (#ccff00). Container: rounded-2xl, bg #0b1f31, border #1e3a5f.
- Spring & Summer (image right): flex flex-col lg:flex-row-reverse. Text panel: bg #0b1f31, border #1e3a5f.
- Fall & Winter (image left): flex flex-col lg:flex-row. Same text panel styling.
- Best Time to Move box: bg #0b1f31, border 2px solid #38bdf8 (blue accent).
- Phil's Weather Insight: Headshot + multi-paragraph quote box.
- Disclaimer: Small text at bottom about NWS data source.
Location & Commute
- Background: dark navy (#061726)
- Section ID: commute
- Zigzag row with map image: Image left (map photo), text right with location description
- Detailed commute table: 4 columns: Destination | Distance | Typical Drive Time | Badge (Green/Yellow/Red based on traffic).
- Color badges: Green bg (#16a34a) for 10-15 min, Yellow bg (#ca8a04) for 20-30 min, Red bg (#dc2626) for 35-45 min
- Drive Time Key: Explanation of color coding
- Peak Hour Warning Box: Blue-bordered box (#38bdf8) warning about I-40/Rush hour
- Surrounding Geography: Map image + description of nearby cities
- Triangle Hierarchy Cards: 3 cards: Raleigh (primary city), Durham (secondary anchor), smaller suburbs
- Phil's Geographic Advice: Headshot + quote box
Future Growth & Development
- Background: dark navy (#061726)
- Section ID: future-growth
- 3 zigzag sub-sections:
- • Major Catalyst Investments (image right) -- Large-scale development projects
- • Tech Expansion & Innovation (image left) -- Tech hub developments
- • Neighborhood Revitalization & Transit (image right) -- Transit and urban renewal
- Phil's Growth Advisory: Headshot + quote box at bottom
Awards & Recognition
- Background: dark navy (#061726)
- Section ID: awards
- 2 zigzag sub-sections:
- • Culinary Capital (image right) -- Restaurant/awards achievements
- • Economic Engine (image left) -- Economic development awards
- Summary Snapshot Grid: 6 cards in grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4. Each card has icon + title + description. Purple (not lime) accent for variety.
- Phil's Market Perspective: Headshot + quote box with lime heading
What Salary Do You Need
- Background: offWhite (#EDECEA)
- Section ID: salary
- Heading: H2, "What Salary Do You Need to Live in [City], NC (2026)?"
- Subtitle: Target salary range (e.g. "$120K-$140K per year")
- Table: Expense Category + Estimated Monthly Cost. 10 rows + Total row. Total row has blue top border (#205bfe).
- Disclaimer: Small text at bottom about variable costs
Pros & Cons
- Background: dark navy (#061726)
- Section ID: pros-cons
- The Pros (image right): 9 pros in 3-column grid (1 on mobile). Each pro: green bg (#16a34a) left border, H4 heading, body text. Container: bg #0b1f31.
- The Cons (image left): 6 cons in 2-column grid (1 on mobile). Each con: yellow bg (#ca8a04/amber) left border, H4 heading, body text.
- Market Fit Diagnostic: 4 cards in 2-column grid. Two headed "Right For [City] If:" (lime bg, white text), two headed "Not Right For [City] If:" (darker bg, gray text).
- CTA Banner: Full-width centered CTA with button
- Phil's Market Guidance: Headshot + quote box
People Also Ask (10 Accordion Questions)
- Background: #081726 (faqBg)
- Section ID: people-also-ask
- Heading: H2 white, "People Also Ask"
- Accordion pattern: 10 <details> elements with group class. Summary: flex px-6 sm:px-8 py-5, white font-bold, blue (#3b82f6) chevron icon. Answer panel: px-6 sm:px-8 pb-6, text #cbd5e1. Links: #38b8df.
- Styling: Each details: bg #0e2238, border #1e3752, rounded-xl. First one open by default.
- JSON-LD: FAQPage schema with 10 questions and accepted answers -- defined in frontmatter
- Internal links: Neighborhood answers link to sub-pages (e.g. /living-in-durham/hope-valley/)
FAQs (5 Accordion Questions + CTA)
- Background: #081726 (faqBg)
- Section ID: faq
- 5 basic questions: Zip codes, property tax, public transit, median price, distance to beach/mountains
- Same accordion pattern: <details> elements with group class, blue chevron, white text
- CTA Banner: After the accordion -- full-width centered section, navy bg, heading "Still Have Questions?", button to contact page
- JSON-LD: Included in the main page FAQPage schema (merged with PAA questions)
- Phil's Perspective link: At bottom, headshot + link to #phils-perspective section
Phil's Perspective (Quote + Headshot)
- Background: offWhite (#EDECEA)
- Section ID: phils-perspective
- Heading: H2, "Phil's Perspective on [City]"
- Layout: flex flex-col lg:flex-row items-center gap-10 lg:gap-16
- Left column: Cut-out portrait image (h-[400px] lg:h-[500px] w-auto max-w-none object-contain object-bottom drop-shadow-2xl) -- generated with background removal
- Right column: Quote box: rounded-2xl p-8 sm:p-10, white bg, blue left border 6px solid #205bfe, box-shadow. Quote icon from tabler:quote, 2 paragraphs of Phil's personal perspective, attribution.
CTA / Next Steps
- Background: navy (#0A2436)
- Section ID: next-steps
- Heading: H2 white, "Ready to Make Your Move to [City]?"
- 3-step grid: grid grid-cols-1 md:grid-cols-3 gap-6. Each card: rounded-2xl p-8, bg rgba(255,255,255,0.08), border 1px solid rgba(255,255,255,0.12). Hover lift effect.
- Card 1: Calendar icon, "Schedule a 15-Minute Strategy Call", button linking to booking URL
- Card 2: Search icon, "Search Homes Now", button linking to RealScout
- Card 3: Download icon, "Get a Free Relocation Guide", button linking to buyer-guide
- Bottom row: Two centered CTA buttons: gold bg for booking + lime border for buyer guide. Phil's quote below with headshot.
SEO / AEO Metadata & Structured Data
Layout Head Tags
- title: "Living in [City], NC | 2026 Relocation Guide"
- description: 150-175 char meta with city name + key topics
- image: heroImage URL for Open Graph
- type: "article"
- modifiedDate: dateModified variable
- Canonical: /living-in-[city]/
JSON-LD Schema Types
- RealEstateAgent (#agent) -- with sameAs, areaServed, memberOf
- WebSite (#website) -- with SearchAction
- Person (#person) -- with sameAs, worksFor
- WebPage (#webpage) -- with dateModified, about, author, mainEntity
- BreadcrumbList (#breadcrumb) -- Home > [City]
- FAQPage (#faq) -- 10 (PAA) + 5 (FAQ) questions
- Place (#place) -- city name, description, address, containedInPlace
Page-Level HTML Elements
- One H1 per page (in hero section)
- H2 for each major section heading
- H3 + H4 for sub-sections and neighborhood names
- Ordered heading hierarchy throughout
- Semantic landmarks: header, nav, main, section, footer
- All images have descriptive alt text
Internal Linking Strategy
- Neighborhood names link to sub-pages: /living-in-[city]/[neighborhood]/
- City comparison cards link to other city pages
- Buyer guide link in CTA: /buyer-guide/
- Contact link: /contact/
- External links: target="_blank" rel="noopener noreferrer"
- School links: dpsnc.net or county school website
CSS & Style Pattern Reference
Neighborhood Section Classes
.durham-neighborhoods-v2 max-width: 960px; margin: 0 auto; .neighborhood-block width: 100%; mb: 5rem; rounded-[20px]; p-10 .neighborhood-block.navy-card bg: #0A2436 .neighborhood-block.white-card bg: white; border: #e2e8f0 .neighborhood-hero-img h-[420px]; object-fit: cover; rounded-[16px]; mb: 1.75rem .phil-tips-box rounded-[16px]; p-6 .phil-tips-box.navy-tips bg: #162c3d; left-border: 6px solid #f59e0b .phil-tips-box.white-tips bg: #eef2ff; left-border: 6px solid #f59e0b .honorable-list grid-cols-2 (1 on mobile); gap: 20px .tips-wrapper bg: #0b1e2d; border: 3px solid #ccff00; rounded-[16px]; p-8 .critical-card bg: #ccff00; color: black; rounded-[16px]; p-6 .cta-section bg: #0f172a; color: white; rounded-[16px]; p-10; text-center
Override Style Blocks
Each dark navy section (#schools, #amenities, #dining, #weather-climate, #future-growth, #people-also-ask, #faq) has its own inline style block forcing white text on all child elements. These go at the bottom of the page before the closing Layout tag.
The pattern: #schools h2, #schools h3, #schools h4, #schools p, #schools li, #schools span, #schools strong, #schools summary { color: #ffffff !important; }
Dark navy text elements with inline bg colors also get overridden: #schools div[style*="background: #f1f5f9"] { background: rgba(255,255,255,0.07) !important; border-left-color: #ccff00 !important; }
Zigzag Pattern (Dark Navy Sections)
Used in sections 13-19 and 21. Each sub-section is a flex container:
flex flex-col lg:flex-row[-reverse] items-center gap-8 lg:gap-12
Image wrapper: w-full lg:w-1/2, overflow-hidden rounded-[14px] h-[320px], border 1px solid #1e3a5f
Text panel: rounded-2xl p-6 sm:p-8, bg #0b1f31, border 1px solid #1e3a5f
Image left: flex-col lg:flex-row (image first). Image right: flex-col lg:flex-row-reverse (text first visually).
Phil's Perspective / Quote Boxes
Standard quote pattern across all sections:
Flex row with headshot (w-14 h-14 sm:w-16 sm:h-16, rounded-full, object-cover object-top) + text
Container: bg rgba(255,255,255,0.07) or #f1f5f9, left border 6px solid #205bfe or #ccff00
Headings in lime (#ccff00), body text in white/#cbd5e1, attribution at bottom
Responsive Breakpoints Reference
- sm: 640px -- 2-column grids active
- md: 768px -- 3-column grids, zigzag switches from vertical to horizontal
- lg: 1024px -- Desktop layouts, more columns, larger text
- Mobile (default): Single column, smaller text (text-sm, text-base), condensed padding
- Neighborhood hero images: h-[260px] on mobile, h-[420px] on desktop
Frontmatter Setup Checklist
Required Imports
- import Layout from '../../layouts/Layout.astro'
- import { Icon } from 'astro-icon/components'
Required Constants
- dateModified = ISO date string
- siteURL = 'https://livinginraleightriangle.com'
- navy, gold, offWhite, white, lime, darkNavy, blueAccent, primaryBlue, faqBg
- siteLogo, headshotUrl, heroImage URL constants
Required Arrays
- jumpLinks: 22 items with { label, href } for the "What's Inside" menu
- communityDropdown: 22 Triangle communities for the nav dropdown
JSON-LD Checklist
- Copy RealEstateAgent, WebSite, Person from an existing page (same for all cities)
- Update WebPage: title, description, url, breadcrumb for the specific city
- Update BreadcrumbList: city name and URL
- Update FAQPage: city-specific questions and answers
- Update Place: city name, description, address
Page Construction Steps
- 1. Copy all the frontmatter + head section from an existing city page
- 2. Update title, description, H1, and meta for the new city
- 3. Update hero image + stats bar values for the new city
- 4. Copy the full header + navigation + mobile menu (no changes needed)
- 5. Update each section's city-specific content (prices, neighborhoods, schools, etc.)
- 6. Replace image URLs with city-appropriate photos
- 7. Update RealScout IDX iframe with the city's shared search URL
- 8. Update JSON-LD with city-specific data
- 9. Copy the footer from the Layout (auto-included)
- 10. Copy the override style blocks (no changes needed)