/* 1. Global Styles */
* {
position: relative; // Default position for all elements
}
:root {
// Custom properties for text sizes
--text-size-80: 0.878rem;
--text-size-90: 0.937rem;
--text-size-100: 1rem;
--text-size-200: 1.067rem;
--text-size-300: 1.138rem;
--text-size-400: 1.215rem;
--text-size-500: 1.296rem;
--text-size-600: 1.383rem;
--text-size-700: 1.476rem;
}
/* 2. Base Font and Responsive Sizing */
html {
font-size: 100%; // Restore default scaling for browsers
font-size: 16px; // Fallback px
font-size: 1rem; // Fallback rem
font-size: calc(0.625rem + 0.41666666666666663vw); // Responsive
}
body {
line-height: 1.5;
-webkit-font-smoothing: antialiased; // Better text rendering on WebKit
-moz-osx-font-smoothing: grayscale; // Smoother fonts on macOS
text-rendering: optimizeLegibility;
}
img {
height: auto;
width: 100%; // Responsive images
}
/* Accessibility and Interactivity */
:focus:not(:focus-visible) {
outline: none;
}
[tabindex]:focus-visible,
input[type="file"]:focus-visible {
border: 0.125rem solid rgba(58, 64, 62, 0.75);
}
a {
cursor: pointer;
}
/* 3. Typography */
p,
.dbb_stats {
margin: 0;
letter-spacing: -0.01em;
}
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
margin: 0;
font-weight: 600;
line-height: 1.15;
letter-spacing: -0.022em;
}
strong,
.bold-text {
font-variation-settings: "wght" 650;
}
h1, .h1 { font-size: var(--text-size-700); }
h2, .h2 { font-size: var(--text-size-600); }
h3, .h3 { font-size: var(--text-size-500); }
h4, .h4 { font-size: var(--text-size-400); }
h5, .h5 { font-size: var(--text-size-300); }
h6, .h6 { font-size: var(--text-size-200); }
small, .small {
font-size: var(--text-size-90);
}
/* 4. Mixin for Repeated Styles */
@mixin size-classes($sizes...) {
@each $size in $sizes {
.text-size-#{$size} {
font-size: var(--text-size-#{$size});
}
}
}
@include size-classes(80, 90, 100, 200, 300, 400, 500, 600, 700);
/* 6. Gradient and Arrow Styles */
.gradient-to-green {
z-index: 3;
background: rgb(0, 0, 0);
background: linear-gradient(90deg, rgba(0, 0, 0, 0) 60%, rgba(19, 53, 40, 1) 100%);
}
.left-arrow,
.right-arrow,
.w-slider-arrow-right {
z-index: 4;
}
/* Focus styles */
input:focus,
textarea:focus,
.w-input:focus,
.w-select:focus {
outline: none;
border-color: #00f;
}
/* 7. Media Queries */
@media screen and (max-width: 1920px) {
html {
font-size: calc(0.625rem + 0.41666666666666674vw);
}
}
@media screen and (max-width: 1440px) {
html {
font-size: calc(0.8126951092611863rem + 0.20811654526534862vw);
}
}
@media screen and (max-width: 320px) {
html {
font-size: calc(0.8121077405857741rem + 0.6276150627615062vw);
}
}
Even the plainest thing you sell
Will sound sexy as hell
I craft unignorable words and campaigns your customers can actually relate to. Say bye to late hours marketing your business. Get results that won't bust your budget way faster than with traditional agencies.
Everything under the sun (almost)
Things I can help you with
See for yourself
Explore the work I'm most proud of
Not the skills you were looking for?
There's more I can do
I've worked across industries on everything from communication design to events, exhibitions, and project facilitation (plus more).
Check out my web design and low-code development services or browse my full portfolio to get a feel for what's possible.
Principles
What counts in my work
Truth in marketing
I don't want to lie. I believe in marketing that says what a product does in the most positive but honest way. Ethical marketing communicates value with no need for fine print. That's how I build trust and get results.
Customer-centric
My work is more about helping you build lasting customer relationships than earning you a quick buck. Every word and campaign I present puts your customers first. That's how you build loyalty and long-term success.
Asynchronous first
Limiting synchronous work such as meetings, lets me deliver great results without sacrificing work-life balance. Plus, working remotely means I can partner with top talent and bring in extra expertise whenever needed.
Question everything
Asking questions lets me determine the best way to help each client. Questions make space for better solutions, and real progress happens when we stand in that space willing to rethink what's been done before.
Have a question?
I got answers
It's awkward, isn't, to talk about money and how we do business? I got you. I've taken all those tricky questions and answered them in a page.
Process
How we get from 0 → 1
Align
Made it this far? You brave soul. If you're ready to find out how I can help, book a free informal chat and bring all your questions. No pressure to commit.
Kick off
If we're a good fit, I'll have you fill out a questionnaire to clarify the brief and request a 50% deposit. Then we'll hop on a kick-off meeting to map things out and get started.
Revise
I'll update you as I make progress, and if the work doesn't live up to your vision, I'll make it right with a revision. Every contract includes at least one.
Exhale
The work is done and you can start watching your business grow. Pleased with the results and want to keep working together? You'll get 20% off your first month's retainer.
Need something done?
Book a free introductory call
Let's meet to chat about your project and see if we're a good fit. No strings attached, pinky promise.