oreilly.com website design: fonts, colors and UI patterns
4 featured captures from oreilly.com, with sourced design evidence from Fudge.
How is oreilly.com designed? Show me the visual system I can use as a reference.
Captured pages
Pricing hero with blue-to-purple gradient, three white plan cards, and blue CTA buttons
Dark gradient awards banner with 3D trophy illustration and blue action button
Feature comparison table with blue inclusion indicators and alternating row backgrounds
Footer with blue-to-purple gradient CTA bar, multi-column links, and red O'Reilly wordmark
Overview
The O'Reilly Media design system presents a mature, trustworthy visual language built for a technology and business learning platform. The aesthetic balances editorial authority with approachable clarity through a restrained palette anchored by vibrant blue action elements, generous white space, and confident sans-serif typography. The system employs dramatic gradient hero sections that shift from deep blue through purple, creating visual energy without overwhelming the content-heavy pages. Component surfaces are predominantly clean white with subtle gray alternation for tabular data, ensuring readability across dense feature comparisons and pricing information. The overall impression is one of established expertise—professional without being stiff, modern without chasing trends. Visual hierarchy is established through scale contrast between large display headings and compact functional labels, with color reserved primarily for calls-to-action and gradient atmospheric moments rather than decorative flourishes.
Colors
The color system operates across three distinct modes: light interface surfaces, vibrant gradient atmospheres, and dark dramatic banners. The primary action blue serves as the consistent thread throughout, appearing in buttons, indicators, and gradient origins.
| token | value | use |
|---|---|---|
| action | #0074D9 | Primary buttons, filled indicators, link text, gradient start |
| action-hover | #0056A6 | Button hover states, active link emphasis |
| ink | #1A1A1A | Primary headings, body text, logo wordmark |
| muted-ink | #666666 | Secondary descriptions, table column headers, pricing subtext |
| canvas | #FFFFFF | Page background, card surfaces, button text on dark |
| surface | #F5F5F5 | Alternating table rows, subtle section backgrounds |
| surface-alt | #E8E8E8 | Deeper neutral for hover states or nested containers |
| border | #D0D0D0 | Card outlines, table dividers, subtle separators |
| gradient-start | #0074D9 | Hero gradient origin, left/top of atmospheric bands |
| gradient-end | #7B2CBF | Hero gradient destination, purple atmospheric conclusion |
| dark-surface | #2D2D3A | Dark banner base, awards section background |
| dark-gradient-start | #1A1A2E | Deep navy edge of dark gradient banners |
| dark-gradient-end | #3D3D5C | Lighter violet edge of dark gradient banners |
| brand-red | #D30000 | O'Reilly wordmark, brand identifier in footer |
The light mode dominates functional pages: white cards on white canvas with gray alternating rows for scannable tables. The blue-to-purple gradient appears in hero sections and footer call-to-action bars, creating visual rhythm at page boundaries. Dark gradient banners serve promotional moments, providing dramatic contrast for featured content like awards announcements. The brand red appears exclusively for the O'Reilly wordmark, maintaining brand recognition without competing with the blue action system.
Typography
The typographic system relies on Guardian Text Sans Web across all functional roles, with Lora available for editorial or long-form contexts. The hierarchy is established through weight and scale rather than family change, creating a cohesive, utilitarian feel appropriate for a learning platform.
| token | family | size | weight | leading | tracking | use |
|---|---|---|---|---|---|---|
| hero-display | Guardian Text Sans Web | 3rem | 700 | 1.1 | -0.02em | Page headlines, pricing hero |
| section-display | Guardian Text Sans Web | 2rem | 700 | 1.2 | -0.01em | Section headings, table titles |
| body | Guardian Text Sans Web | 1rem | 400 | 1.5 | 0em | Descriptions, feature lists |
| body-medium | Guardian Text Sans Web | 1rem | 500 | 1.5 | 0em | Emphasized body, pricing terms |
| label | Guardian Text Sans Web | 1rem | 500 | 1.25 | 0.01em | Buttons, navigation, tags |
| navigation | Guardian Text Sans Web | 1rem | 400 | 1.25 | 0em | Footer links, header menu |
| legal-copy | Guardian Text Sans Web | 0.75rem | 400 | 1.5 | 0em | Copyright, policy links |
| price-display | Guardian Text Sans Web | 2.5rem | 700 | 1 | -0.02em | Pricing amounts, large numerals |
The design facts identify three font sources: Guardian Text Sans Web, Lora, and a file labeled By Christian Schwartz And Paul Barnes-5806047193025609741 that serves the Guardian Text Sans Regular Web font. Guardian Text Sans Web is designed by Christian Schwartz and Paul Barnes, available from Commercial Type Inc. Lora is designed by Olga Karpushina, Alexei Vanyashin, and Cyrillic, available from Cyreal. Verify licensing for these families before production use.
The type scale uses a 4px relative unit, with sizes stepping at 12px (0.75rem), 16px (1rem), 32px (2rem), 40px (2.5rem), and 48px (3rem). Display sizes employ tight negative tracking for editorial density, while body and label sizes maintain neutral or slightly positive tracking for screen readability.
Layout
The layout system follows a centered container model with generous horizontal padding and clear section demarcation through background changes rather than heavy borders. Page sections stack vertically with consistent rhythm, alternating between white canvas and gradient or gray surfaces to create visual pacing.
The pricing page demonstrates a classic three-column layout for plan comparison, with cards of equal width distributed across a centered container. Feature tables below expand to full container width, with column headers aligned to plan tiers and row labels left-aligned for scannability. The footer employs a multi-column link grid, with primary navigation grouped into semantic categories and promotional content (app downloads, streaming platforms) occupying right-aligned columns.
Spacing follows a 4px base unit. Section vertical padding typically measures 4rem (64px) for major boundaries, with component internal padding at 1.5rem (24px) for cards and 1rem (16px) for table rows. Tight spacing of 0.5rem (8px) handles inline elements and compact label groups. The gradient hero sections appear to use greater vertical padding, approximately 6rem (96px), to create atmospheric breathing room around centered headlines.
Container width appears constrained to a maximum readable measure, with pricing cards and feature tables sharing the same central alignment. The gradient banners break to full viewport width, creating edge-to-edge visual moments that interrupt the contained content flow.
Visual language
The visual language communicates established expertise through restraint and clarity. Photography and illustration appear purposeful rather than decorative—the 3D awards trophies in the dark banner serve as content-relevant hero imagery, while interface chrome remains minimal.
Iconography uses simple geometric forms: filled blue circles for positive indicators, empty circles for absent features. These read immediately without requiring legend consultation. The chevron-right character appears consistently after action labels, suggesting forward momentum without adding visual weight.
Gradients are the primary expressive element, deployed horizontally across hero and footer sections. The blue-to-purple transition reads as technological and forward-looking without the aggression of pure purple or the ubiquity of pure blue. Dark gradient banners invert this energy for promotional moments, using deep navy-violet tones that let white typography and colorful imagery stand forward.
Shadows are minimal or absent; depth is created through background color contrast and subtle borders rather than elevation effects. The overall flatness reinforces the utilitarian, content-first philosophy.
The O'Reilly wordmark in brand red provides the sole warm accent in an otherwise cool system, creating instant brand recognition in footer and header contexts.
Components
Primary Action Button - Anatomy: Text label with right chevron, no icon - Surface: Solid action blue background with white text - Typography: label token, 1rem, weight 500 - Shape: 0.25rem border radius, sharp enough to feel utilitarian, soft enough for digital comfort - Spacing: 0.75rem vertical padding, 1.5rem horizontal padding - Composition: Centered text, chevron tightly spaced after final word - Variants: On dark gradient backgrounds, the same blue maintains consistency; a secondary variant uses white background with dark border and ink text
Pricing Card - Anatomy: Plan name, subtitle with member count, price display, billing terms, description, action button - Surface: White canvas with 1px border in neutral gray - Typography: Plan name in section-display, price in price-display, terms in body, description in body - Shape: 0.5rem border radius - Spacing: 2rem internal padding, generous vertical rhythm between price and action - Composition: Centered alignment for all elements, creating clear comparison across three cards - Variants: The enterprise card replaces price with "Ask for pricing" text, maintaining visual height through description text
Feature Comparison Table - Anatomy: Section title with plan column headers, alternating rows with feature name and inclusion indicators - Surface: Alternating white and surface gray rows, no vertical borders - Typography: Section title in section-display, row labels in body, column headers in label - Shape: No border radius on rows; section container may use subtle rounding - Spacing: 1rem vertical padding per row, 1.5rem horizontal padding - Composition: Left-aligned feature names, centered indicators under plan columns - Variants: Legend above table explains filled versus empty circle semantics
Gradient Hero Banner - Anatomy: Optional eyebrow label, large headline, supporting description - Surface: Linear gradient from action blue through purple, full viewport width - Typography: Headline in hero-display white, description in body white - Shape: No border radius; sharp edges to viewport - Spacing: Generous vertical padding, approximately 6rem, centered content - Composition: Centered text alignment, constrained maximum width for readability
Dark Gradient Banner - Anatomy: Optional icon, headline, description, action button - Surface: Deep navy-to-violet gradient, full viewport width - Typography: White text across all elements - Shape: No border radius - Spacing: Similar to light gradient, with content typically left-aligned when paired with illustrative imagery - Composition: Two-column implied layout with text left and imagery right
Footer - Anatomy: Gradient CTA bar, social links, multi-column link grid, app store badges, brand wordmark, legal text - Surface: White canvas with gradient bar at top - Typography: Navigation token for link columns, legal-copy for copyright - Shape: No special rounding - Spacing: Generous section padding, clear hierarchy between link groups and legal footer - Composition: Left-aligned link columns, right-aligned promotional content
Responsive behavior
The design should maintain single-column stacking for pricing cards on narrow viewports, with feature tables becoming horizontally scrollable or converting to accordion sections. The three-column plan comparison is the most likely breakpoint-sensitive element; cards should stack with full width and maintained internal spacing below approximately 768px.
Gradient hero text should scale down proportionally, with hero-display reducing to section-display size on mobile. The tight negative tracking on display sizes may require slight loosening at small sizes to maintain legibility.
Footer link columns should collapse to two-column then single-column grids, with app store badges stacking vertically. The gradient CTA bar should remain full-width with centered text and stacked buttons below approximately 480px.
Feature table indicators may benefit from row-based repetition of plan names on mobile, converting the columnar comparison to a card-based or accordion presentation where each feature shows all three plan states inline.
Practical implementation guidance
Preserve - The blue-to-purple gradient as a signature atmospheric element; it differentiates the brand while remaining professionally restrained - The alternating gray-white table row pattern for scannable feature comparisons - The consistent right-chevron on all action buttons as a subtle motion cue - The tight display typography with negative tracking for editorial authority - The minimal shadow approach; rely on color contrast and spacing for hierarchy
Avoid - Adding decorative shadows or elevation effects that contradict the flat, content-first aesthetic - Introducing additional accent colors beyond the blue action and red brand mark - Using border-radius larger than 0.5rem for functional containers; the system favors sharp utility - Centering body text outside of hero contexts; left alignment dominates for readability - Mixing multiple font families within functional UI; reserve Lora for long editorial passages
Recommended build order 1. Establish the 4px spacing unit and type scale with Guardian Text Sans Web 2. Implement gradient hero and dark banner components as full-width atmospheric foundations 3. Build primary and secondary button variants with consistent chevron pattern 4. Create pricing card with centered composition and price-display typography 5. Develop feature comparison table with alternating row surfaces and circle indicators 6. Assemble footer with multi-column link grid and gradient CTA bar
Accessibility - Ensure gradient text meets contrast ratios; the blue-to-purple background with white text should be verified at all gradient positions, particularly the mid-tone purple transition - Provide visible focus indicators for keyboard navigation; the minimal chrome requires deliberate focus styling - Consider motion sensitivity for the gradient backgrounds; static fallbacks should maintain equivalent information hierarchy - Feature table circle indicators require text alternatives or aria-labels for screen reader users - Price display numerals should use semantic markup to distinguish currency, amount, and billing period
Scope note
This guide covers the pricing page and homepage footer surfaces visible in the supplied images, including gradient hero systems, pricing cards, feature comparison tables, and footer architecture. Navigation header, mobile layouts, form interactions, search functionality, account dashboards, and content player interfaces are not represented. Motion behavior, hover states, and loading patterns are not documented. Measurements are practical adaptation targets derived from visible relationships in the supplied images.