A website reimagining, without voiding the contract
A CEO’s vision, a site that couldn’t be touched without contractual risk, and a deadline.
Nine changes to one hero
The CEO wanted the look and feel of a newly built site changed, and the site belonged to an agency under contract. Below is a stand-in page carrying CambiumPak’s brand — not the real cambiumpak.com, which was never redesigned and looks nothing like this. It exists here only so the nine changes have a hero to happen to. Every change is a switch. Turn them all off to see what the agency delivered, turn them on one at a time to see what each decision was for. The measurements are the ones in the stylesheet, dated 2 June 2026.
This is what change nine is for. The
two-tier treatment is scoped to p:first-of-type:not(:last-of-type),
so on a page whose hero carries a single paragraph it stands down and the copy
renders as ordinary body text. Switch change nine off and watch a lone
paragraph get promoted to a 26px tagline it was never written to be.
This is a demonstration page, not a website. The site that was actually redesigned is my employer’s and cannot be shown, and the real CambiumPak site was never part of this project, so what you are looking at is a hero built for the sole purpose of switching nine changes on and off. The brand blue in the original stylesheet is identifiably my employer’s, so the accent here is Pine and the copy is invented. What is not invented is the work: every change, every measurement and every reason above is what was actually done, taken from the stylesheet. The hero is the first of the stylesheet’s nine documented sections.
Two ways to win a cascade you don’t own
The site was an agency build under contract, so the whole job lived in one stylesheet loaded after theirs. Below is a page in that situation, running for real: the theme, then my override sheet, in an actual browser cascade. Switch the approach and the rendered page does not change. The file you hand to the next person does.
the rendered page · theme + override, live
the only file I was allowed to write
This page is a fixture, not anybody’s website. The site that was actually reworked is my employer’s and identifying it here would defeat the point of a stand-in. The real cambiumpak.com is a different thing again and was never touched by this work. What is below is a plausible agency build, made to have a cascade you can fight. What is not invented is the shape of the problem: deep descendant selectors in a stylesheet I could not edit, one override file loaded after it, and a contract that put child theme changes on the agency’s side of the line.
the problemtwo bad options
Leadership wanted to change the look and feel of the newly relaunched website, built by an external agency under contract. Both obvious paths were bad: commission the agency, which is slow and expensive, or start editing theme files, which is fast and a possible contract and warranty breach.
the first move was reading the contractthe boundary
Before touching anything I reviewed the agency agreement to establish which layers could be modified in house without voiding the warranty. That set the boundary: presentation-layer changes internally, anything needing child theme modification routed to the agency.
what I delivered3 areas
- Home and About pages reworked — the pages every customer and distributor lands on first.
- Full-bleed banner imagery sourced and produced, plus all new icons.
- A production CSS system versioned to v2.20 covering hero treatment, trust bar and icon columns, footer, solutions tiles and spotlights, industry tiles with floating SVG icons, responsive breakpoints, typography, and a scoped sustainability banner.
the discipline inside the css4 disciplines
- Specificity over force. Force-override declarations cut from roughly two hundred to a handful by using doubled and tripled class selectors instead. Every remaining exception is commented with its justification.
- Structured and changelogged. Nine documented sections with version history in the file header, so it’s maintainable by someone who isn’t me.
- Fragility flagged, not hidden. One selector depends on homepage section order and will break if that order changes. Documented in the handoff and escalated to the agency with a request for a dedicated class.
- Scope boundary held. Child theme files never touched. A running list of required changes compiled and quoted to the agency instead.
then enablement, then measurementclosing the loop
A step-by-step adoption guide so the team could use the new site. And the dashboard from the analytics build closed the loop, so the company can evaluate whether the redesign performed rather than arguing about taste.
outcome
- Delivered on deadline by one person, across design, front end, and agency coordination.
- The agency investment and its warranty stayed intact.
- One of two company-wide recognition awards I received in my first four months.
what I’d do differently
I’d have asked the agency for dedicated hook classes at the start rather than after I found the order-dependent selector. Ten minutes of scoping at kickoff would have removed the one fragile thing in an otherwise durable system.
open to marketing operations, analytics and martech roles
Let’s talk.
Remote, or Albuquerque and hybrid. Happy to walk through the architecture behind any of this.