Internal reference

Design system

Every color, font, button, card, and pattern currently in use across the DayTimeOwl site — homepage, shop, our story, spice rack, wholesale, blog, and checkout — pulled from the actual token files and component CSS, not redrawn from memory. Last reviewed against the live site to remove fonts/colors that are no longer actually used anywhere.

Foundations

Color

From tokens/colors.css. The purple scale is the page/surface background system; lime and orange are the two brand accents; cream is text and light surfaces.

Purple scale (backgrounds & surfaces)
purple-950
#1c1530
purple-900 — page bg
#2b2242
purple-850
#332a4d
purple-800 — surface
#3a3050
purple-700 — raised
#453863
purple-600
#5a4a7c
purple-tile
#401268
Brand accents
lime-500 — accent
#c6f200
lime-400 — strong/hover
#d9ff4d
orange-500 — accent
#ff751f
orange-600
#e3672a
coral-500 — owl mascot pink
#ff9999
coral-300
#ffc2c2
Cream / text
cream-50
#f7f1e2
cream-100 — primary text
#efe3ca
cream-200
#e4d5b3
Founder story panel colors (homepage "Where it all started")
founder-purple — section bg
#9333ea
founder-lime — Pune panel
#a3e635
founder-orange — London panel
#f97316
founder-coral — Today panel
#ff6f59
Foundations

Typography

Two system fonts carry the whole site; three self-hosted accent fonts (all Fontshare, ITF Free Font License) and two Google Fonts (Love Light, Rozha One — both OFL) are used sparingly for specific headlines and flourishes. Cabinet Grotesk, Boska, and League Script Number One were part of earlier iterations and are no longer applied anywhere live.

Playfair Display
--font-display
Every headline on the site
Quicksand
--font-sans — all body copy, and now also nav links & the Signature Blends tags (◎ 4 blends etc.)
All body copy, labels, and buttons
Chillax 300
Nav links site-wide; section headlines (Where every blend, Four blends, Where it all, Join the)
Where every blend
Chillax 600
All buttons site-wide (Cart, Add, Shop chai, checkout); product-card & blend-caption titles; story-card numbers/titles; "Blends" in Signature Blends
Add to cart
Melodrama 700 (Bold)
Homepage hero headline ("Chai the way it was / always meant to")
Chai the way it was
Melodrama 400
Signature Blends stat title, "The Discovery Set" label
Signature Blends
Windsong
Hero eyebrow
Indian roots, made in London
Love Light (Google Fonts)
Italic/script accent words (replaced Ballet/Cookie from earlier iterations) — always 1.15–1.5em over the surrounding text with a small +vertical-align nudge; also used for place names (Assam/India blend captions, Pune/London/Today founder-story kickers) and blog post dates
Where every blend begins.
Rozha One (Google Fonts, OFL)
Marathi/Devanagari text — spice/sweetener names in the Spice Rack detail panel, founder flip-card names (शुभम / कश्यप), and "पुणे" in the founder-story kicker — always the fixed lime or orange accent, not the surrounding color, for contrast
दालचिनी · वेलदोडा · गूळ
Components

Buttons

All buttons hover to brand orange, regardless of their resting color — the one consistent interaction rule across the whole site. The Cart button's specular cursor-tracking shine effect (built earlier, via cart-shine.js) was removed site-wide — buttons are plain now, no hover glow beyond the color change.

Shop chai
Components

Product card

Used on the homepage products grid and the shop page's Chai section — photo, title, origin, ingredient tags, price, Add button.

Original Chai Latte
Original Chai Latte
Assam black tea Chai spices
£11.00
Components

Glassmorphism

From tokens/glass.css. Three tiers — .glass-light (background level, high blur), .glass (primary panels), .glass-heavy (nav, elevated) — always placed over a photo or gradient orb so the blur has something to distort.

glass-light
glass
glass-heavy
Components

Full-bleed photo + glass CTA

The Wholesale page's pattern: a full-viewport photo slideshow (crossfades every 10s), a hover-to-reveal nav that stays off-screen until the cursor nears the top, and one centered glass card with a lime button that opens a floating glass enquiry form. No page scroll, no footer — the whole thing is one screen. The enquiry form now submits real leads via Formspree.

Do you own a cafe or run a business which consumes a lot of chai?

Components

Hover-expand filmstrip

Ported from a Framer Motion component (Skiper 52 HoverExpand_001) to plain CSS width transitions. Used for the homepage Stat Badge blends and the Spice Rack carousel — click/hover a narrow panel and it widens, others narrow back down. The Stat Badge version also adds a click-triggered blurred description reveal, sliding in from the trailing edge of the panel, plus a "Click to explore" hint on hover.

Golden
Cardamom
Ginger
Clove
Components

Founder story scroll panels

Homepage "Where it all started" section: a horizontal-scroll filmstrip pinned for 3 viewport-heights, one solid-color panel per beat (see founder-purple/lime/orange/coral above) instead of a glass card. Each panel's text sweeps in and out at its own speed, independent of the background's scroll-linked translateX — the last panel gets an explicit hold so it stays on screen longer before handing off.

01 · Pune
02 · London
03 · Today
Components

Cart & checkout

cart.js is the shared cart store (localStorage-backed) loaded on every page; cart-drawer.js injects the slide-in drawer and wires every .cart-btn to open it. checkout.html reads from the same store and shows a device-aware payment picker — Card and PayPal always shown, Apple Pay only where window.ApplePaySession exists (Safari), Google Pay only where the Payment Request API exists and Apple Pay doesn't (Chromium). Checkout currently completes with a mock flow pending a real Stripe/PayPal integration.

→ opens the drawer on any page
Components

Blog post article

Shared template for all real posts (blog-post-*.html): a sticky, full-bleed hero photo the article body scrolls up and over — the body needs its own opaque background and a higher z-index than the hero, or it silently paints underneath it. Nav/heading pinning across the site depends on no ancestor having overflow: hidden; several pages had that bug from decorative glass-orb clipping and needed the orbs moved into their own absolutely-positioned clipping layer instead.

Founder Notes
My idea of food
Components

Category row

From the shop page — one category per row, a lime "shop now" pill for what's live, a muted outline pill for what's launching soon.

Chai Shop now
Coffee Launching soon
Foundations

Radius & shadow

From tokens/effects.css.

sm 10px
md 18px
lg 28px
xl 40px
pill