Media in the Middle is a two-person marketing agency in Orcutt, California, serving Central Coast small businesses and organizations. This document specifies a one-page marketing website delivered as a single self-contained, responsive HTML file (HTML, CSS, and vanilla JavaScript, no framework) that the agency can preview locally and then move to its host.
The site's purpose is to explain, in plain words for busy owners and nonprofit directors, what the agency does (social media, email newsletters, websites, and local ad planning run as one coordinated plan), why it is credible (campaign-tested, local, two senior people with no junior hand-offs), how it works (peer partner, fixed packages, clear scope, written approvals), and to convert visitors into a free 20-minute call request through a contact form. The audience is Central Coast small businesses and organizations in Orcutt, Santa Maria, Nipomo, and Lompoc first. Copy must avoid agency jargon and spell out acronyms.
The site is anonymous and public: there is no account, login, or application-owned identity. The only visitor-submitted data is the contact form, whose action remains the placeholder [FORM ENDPOINT] with an explanatory comment for the agency to connect.
The product is a single public web page. All content — navigation, hero, service-area strip, problem statement, services, proof points, process timeline, packages, about, contact form, and footer — lives in one HTML document with embedded CSS and vanilla JavaScript. There is no server-side application logic, no database-backed feature, no authentication, and no multi-page routing. The page is anonymous and publicly reachable; every visitor sees the same content.
Delivery is a static file the agency hosts. The contact form is intentionally left unconnected: its action attribute is the literal placeholder [FORM ENDPOINT], accompanied by an HTML comment explaining that the agency must replace it with a real form-handling endpoint (for example, a form service or mail handler) before launch. Until that endpoint is connected, form submission behavior is governed by the placeholder and the client-side validation and success-state logic described below.
The provisioned scaffold (a shared FastAPI backend, a MariaDB database, and a React frontend) is infrastructure inventory only. It does not add product requirements: this product is a static HTML file, so no backend API, database entity, or React UI is required by the accepted behavior. The static file is the deliverable; the scaffold services remain available but are not exercised by this product's accepted scope.
Removed from scope: none. No concept from the authoritative requirement thread was removed or superseded.
Not applicable — no reference directive with content_source was supplied.
The single page is the anonymous public entry surface. It is organized into the following in-page sections, each reachable from the sticky navigation where applicable.
Global page shell
<title> and <meta name="description"> that both mention Orcutt, Santa Maria, Nipomo, and Lompoc; LocalBusiness JSON-LD schema markup; lang attribute; viewport meta for mobile-first rendering.Sticky glass navigation bar
[placeholder]; links to Services / Why Us / How We Work / Packages / Contact; glowing "Book a free call" button.Hero
Service-area strip
The problem
What we do (Services)
Why us
How we work
Packages
[PLACEHOLDERS] and must not be invented; each card has a "Start here" button.About
[placeholder] and one line each.Contact form (main CTA, repeated at the bottom)
action is [FORM ENDPOINT] with an explanatory comment.Footer
Back-to-top control
FR-1 — Single self-contained HTML file. As a site owner, I should receive the entire website as one self-contained, responsive HTML file using HTML, CSS, and vanilla JavaScript with no framework, so that I can preview it and move it to my host. (explicit)
FR-2 — Plain-language copy for busy owners and directors. As a busy Central Coast owner or nonprofit director, I should read plain words with no agency jargon and spelled-out acronyms, so that I understand the offer quickly. (explicit)
FR-3 — One coordinated plan framing. As a visitor, I should see social media, email newsletters, websites, and local ad planning presented as one coordinated plan rather than separate vendors. (explicit)
FR-4 — Why-us proof. As a visitor, I should see why the agency is credible: it ran a congressional campaign's content on deadline with approvals, compliance, and paid media; it is local; it is two senior people with no junior hand-offs. (explicit)
FR-5 — How-we-work statement. As a visitor, I should see how the agency works: peer partner not order-taker, fixed packages, clear scope, written approvals. (explicit)
FR-6 — Navigation. As a visitor, I should use a nav with a logo placeholder, links to Services / Why Us / How We Work / Packages / Contact, and a glowing "Book a free call" button. (explicit)
FR-7 — Hero content and CTAs. As a visitor, I should see the headline "Your marketing, finally run by someone.", the subhead "Social, email, website and local ads, run as one plan by two senior people in Orcutt.", a primary CTA "Book a free 20-minute call", and a secondary CTA "See packages". (explicit)
FR-8 — Service-area strip. As a visitor, I should see "Orcutt · Santa Maria · Nipomo · Lompoc". (explicit)
FR-9 — The problem paragraph. As a visitor, I should read one short paragraph about needing to show up consistently with nobody having time to run it. (explicit)
FR-10 — Four service cards with connector. As a visitor, I should see four glass cards (Social Media, Email Newsletters, Websites, Local Ad Planning), each with a one-line outcome, connected by a glowing line showing one coordinated plan. (explicit)
FR-11 — Three numbered proof cards. As a visitor, I should see three numbered proof cards: campaign-tested (deadlines, approvals, compliance, paid media), local, and two senior people with no hand-offs. (explicit)
FR-12 — Three-step timeline. As a visitor, I should see a three-step horizontal timeline that draws on scroll: Peer partner → Fixed package and clear scope → Written approvals. (explicit)
FR-13 — Three fixed-package cards with placeholders. As a visitor, I should see three fixed-package cards whose names, prices, and inclusions are placeholders (not invented), each with a "Start here" button that jumps to the form. (explicit)
FR-14 — About section. As a visitor, I should see Sam (social media) and Morgan (email and website) with photo placeholders and one line each. (explicit)
FR-15 — Contact form fields. As a visitor, I should complete a contact form with Name, Business or organization, Email, Phone (optional), Town (Orcutt / Santa Maria / Nipomo / Lompoc / Other), What do you need? (checkboxes: Social, Email, Website, Local ads, Not sure yet), Message, and Best way to reach you. (explicit)
FR-16 — Visible labels, inline validation, friendly success state. As a visitor, I should see visible labels, receive inline validation, and get a friendly success state after submit. (explicit)
FR-17 — Form endpoint placeholder. As a site owner, I should find the form action left as [FORM ENDPOINT] with a comment explaining what to connect. (explicit)
FR-18 — Footer. As a visitor, I should see "125 N. 1st St., Orcutt, CA · [contact email] · 'Proudly made in Orcutt, California' · © 2026". (explicit)
FR-19 — No phone number displayed. As a visitor, I should not see a phone number anywhere on the page. (explicit)
FR-20 — Mobile-first at 375px. As a visitor on a phone, I should get a layout that works at 375px with no sideways scrolling. (explicit)
FR-21 — WCAG AA, focus, keyboard form. As a visitor, I should get WCAG AA contrast, visible focus states, and a keyboard-usable form. (explicit)
FR-22 — Local SEO. As a site owner, I should have a page title and meta description that mention the four towns, plus LocalBusiness schema markup. (explicit)
<title> and <meta name="description"> mention Orcutt, Santa Maria, Nipomo, and Lompoc; JSON-LD LocalBusiness present.FR-23 — Clear CTA within one scroll. As a visitor, I should see a clear CTA within one scroll on every screen size. (explicit)
FR-24 — Night studio look and feel. As a visitor, I should experience the specified night-studio visual system: near-black navy background (#05070C to #0B0F18) with ~5% hex/grain texture; crescent moon at top and stars at bottom; frosted glass panels with thin light-blue hairline borders; Lexend only with large 300-weight headlines and tight letter spacing; small uppercase tracked labels in outlined pill tags; single accent electric blue #4D8BFF for glow, links, and primary button (solid #1F56D8, white text); no other accent colors; editorial, roomy layout with oversized headline, bento-style card grids, numbered section markers 01, 02, 03. (explicit)
FR-25 — Motion behavior. As a visitor, I should experience: quick fade in from black on load; hero layered scroll parallax (moon slowest, stars faster, text in front, moon scrolling away); once-only scroll reveal fading up from slight blur; heading underline drawing in then catching a slow shine every few seconds; hover cards lifting 2px with soft blue glow halo; buttons glowing brighter; pressed/focused fields getting a tighter darker glow; sticky glass nav; round back-to-top button after scrolling. (explicit)
FR-26 — Reduced motion and performance. As a visitor with reduced-motion preference, I should get parallax, reveals, and shine turned off; parallax simplified on phones; only transform and opacity animated, kept fast. (explicit)
prefers-reduced-motion, no parallax/reveal/shine; animations limited to transform and opacity.[FORM ENDPOINT] is connected).Muse and headline: Night studio glass after Michal Malewicz — "a quiet studio lit by one blue light."
Color tokens (dark mode):
#05070C rising to #0B0F18 in a soft vertical wash.rgba(11,15,24,0.55) with backdrop-filter: blur(...).1px rgba(77,139,255,0.22).#E8EEFB; secondary text: #8C9AB8 (AA at 16px+).#1F56D8 with #FFFFFF text.#4D8BFF — underlines, links, glows, star field, timeline line, focus halos.Typography: Lexend only. Display headlines weight 300, letter-spacing -0.03em, sentence case. Small uppercase labels 11–12px, weight 500, letter-spacing 0.18em inside outlined pill tags. Scale (1.333 modular): hero clamp(44px, 9vw, 104px); section heads clamp(32px, 5vw, 60px); card titles 20px; body 17px; labels 11px tracked. Line-height 1.05 display, 1.6 body.
Shape language: Frosted glass rectangles with 20–24px radii and 1px light-blue hairlines; pill tags at full radius; soft blue glow halos instead of hard shadows; 24–32px panel padding; a single luminous 1px connector line threading the four service cards.
Layout rhythm: Mobile-first single column opening into a bento grid at 768px and 1280px; hero text left-weighted with the moon bleeding off the top-right; full-width town strip; asymmetric card grids; huge negative space between blocks; numbered markers 01–03 beside major headings.
Imagery style: No photography of people or stock offices. Imagery is the night sky: a thin crescent moon drawn in CSS/SVG with a soft blue rim glow at the top of the hero, a scattered star field (1–2px dots at varying opacity) drifting up from the bottom, a 5% hex/grain texture, and glowing hairline connectors. Sam and Morgan photo slots are labelled glass placeholders, not fake portraits.
The public entry is a full-viewport night scene, not a centered SaaS stack. The oversized Lexend 300 headline "Your marketing, finally run by someone." sits flush-left on a 9-column measure at clamp(44px, 9vw, 104px), its final word underlined by a drawn blue rule. The subhead sits at 20px in #8C9AB8 beneath, with two CTAs stacked left: a solid #1F56D8 "Book a free 20-minute call" and a glass-outline "See packages". To the upper right, a thin crescent moon (~180px, blue rim glow) bleeds past the container edge and floats over the deep navy; the star field begins low and center. A tracked uppercase pill tag "Orcutt · Santa Maria · Nipomo · Lompoc" sits above the headline. On scroll, the moon drifts up and out slowest, stars move faster, and the text stays put. The four service cards are threaded by a single 1px luminous blue connector line that draws itself across the bento grid on scroll, physically showing "one coordinated plan." Every section heading carries a thin blue underline that draws in, then catches a slow travelling shine every few seconds. Readable text and controls stay whole at every viewport; the moon and stars may bleed and crop as decoration.
Interaction Model: Animated Motion Tempo: expressive Hero Dimensionality: layered_2d
Landing Hero Motion Brief
#4D8BFF rim glow) bleeding off the hero's top-right, with a star field rising from the bottom.LocalBusiness JSON-LD schema.prefers-reduced-motion by disabling parallax, reveals, and shine; simplify parallax on phones.[FORM ENDPOINT] with an explanatory comment.[FORM ENDPOINT]; not implemented in this deliverable. (explicit)[FORM ENDPOINT]. (required_inference — the source leaves the endpoint as a placeholder.)[FORM ENDPOINT] with an explanatory comment. (explicit)#4D8BFF; primary button #1F56D8 with white text; no other accent colors. (explicit)prefers-reduced-motion; animate only transform and opacity. (explicit)[FORM ENDPOINT]: the placeholder form action the agency must replace with a real form-handling endpoint.prefers-reduced-motion: a user OS/browser setting the site honors by disabling parallax, reveals, and shine.No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No comments yet. Be the first!