.cc-nav {
--cc-blush: #F4B6C2;
--cc-blush-soft: #FCE8EC;
--cc-charcoal: #2B2B2B;
--cc-charcoal-soft: #4A4A4A;
--cc-white: #FFFFFF;
--cc-cream: #F5F5F5;
--cc-border: rgba(43, 43, 43, 0.08);
--cc-font-body: 'Outfit', system-ui, sans-serif;
--cc-font-display: 'Fraunces', Georgia, serif;
position: sticky;
top: 0;
z-index: 100;
background: var(--cc-white);
border-bottom: 1px solid var(--cc-border);
font-family: var(--cc-font-body);
box-shadow: 0 1px 0 rgba(0,0,0,0.02);
}
.cc-nav__inner {
max-width: 1280px;
margin: 0 auto;
padding: 18px 32px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 32px;
}
.cc-nav__brand {
display: flex;
align-items: center;
gap: 10px;
text-decoration: none;
color: var(--cc-charcoal);
font-family: var(--cc-font-display);
font-weight: 600;
font-size: 22px;
letter-spacing: -0.01em;
}
.cc-nav__brand-mark {
width: 44px;
height: 44px;
display: block;
object-fit: contain;
flex-shrink: 0;
}
.cc-nav__links {
list-style: none;
margin: 0;
padding: 0;
display: flex;
align-items: center;
gap: 4px;
}
.cc-nav__link {
position: relative;
display: inline-block;
padding: 10px 14px;
color: var(--cc-charcoal);
text-decoration: none;
font-size: 15px;
font-weight: 500;
border-radius: 8px;
transition: background-color 0.18s ease, color 0.18s ease;
}
.cc-nav__link:hover { background: var(--cc-blush-soft); }
.cc-nav__link[aria-current="page"] {
background: var(--cc-blush-soft);
color: var(--cc-charcoal);
}
/* Services dropdown */
.cc-nav__dropdown { position: relative; }
.cc-nav__dropdown-toggle::after {
content: "";
display: inline-block;
margin-left: 6px;
width: 6px;
height: 6px;
border-right: 1.5px solid currentColor;
border-bottom: 1.5px solid currentColor;
transform: translateY(-2px) rotate(45deg);
transition: transform 0.18s ease;
}
.cc-nav__dropdown:hover .cc-nav__dropdown-toggle::after,
.cc-nav__dropdown:focus-within .cc-nav__dropdown-toggle::after {
transform: translateY(1px) rotate(225deg);
}
.cc-nav__dropdown-menu {
position: absolute;
top: calc(100% + 8px);
left: 0;
min-width: 280px;
background: var(--cc-white);
border: 1px solid var(--cc-border);
border-radius: 12px;
padding: 8px;
box-shadow: 0 12px 32px rgba(43, 43, 43, 0.10);
list-style: none;
margin: 0;
opacity: 0;
visibility: hidden;
transform: translateY(-4px);
transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s ease;
}
.cc-nav__dropdown:hover .cc-nav__dropdown-menu,
.cc-nav__dropdown:focus-within .cc-nav__dropdown-menu {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
.cc-nav__dropdown-link {
display: block;
padding: 10px 12px;
border-radius: 8px;
text-decoration: none;
color: var(--cc-charcoal);
font-size: 14px;
font-weight: 500;
transition: background-color 0.15s ease;
}
.cc-nav__dropdown-link:hover { background: var(--cc-cream); }
.cc-nav__dropdown-link span {
display: block;
font-weight: 400;
font-size: 12.5px;
color: var(--cc-charcoal-soft);
margin-top: 2px;
}
/* CTA */
.cc-nav__cta {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 11px 20px;
background: var(--cc-charcoal);
color: var(--cc-white);
text-decoration: none;
font-size: 14px;
font-weight: 600;
border-radius: 999px;
transition: background-color 0.18s ease, transform 0.18s ease;
white-space: nowrap;
}
.cc-nav__cta:hover { background: #1a1a1a; transform: translateY(-1px); }
/* Mobile toggle */
.cc-nav__toggle {
display: none;
background: none;
border: 1px solid var(--cc-border);
width: 40px;
height: 40px;
border-radius: 8px;
cursor: pointer;
padding: 0;
align-items: center;
justify-content: center;
}
.cc-nav__toggle-bar,
.cc-nav__toggle-bar::before,
.cc-nav__toggle-bar::after {
display: block;
width: 18px;
height: 2px;
background: var(--cc-charcoal);
border-radius: 2px;
position: relative;
transition: transform 0.2s ease, top 0.2s ease;
}
.cc-nav__toggle-bar::before,
.cc-nav__toggle-bar::after {
content: "";
position: absolute;
left: 0;
}
.cc-nav__toggle-bar::before { top: -6px; }
.cc-nav__toggle-bar::after { top: 6px; }
/* Mobile breakpoint */
@media (max-width: 960px) {
.cc-nav__inner { padding: 14px 20px; }
.cc-nav__toggle { display: inline-flex; }
.cc-nav__links {
position: absolute;
top: 100%;
left: 0;
right: 0;
flex-direction: column;
align-items: stretch;
gap: 0;
padding: 12px 16px 20px;
background: var(--cc-white);
border-bottom: 1px solid var(--cc-border);
box-shadow: 0 12px 24px rgba(43,43,43,0.06);
max-height: 0;
overflow: hidden;
transition: max-height 0.25s ease;
}
.cc-nav[data-open="true"] .cc-nav__links { max-height: 80vh; overflow-y: auto; }
.cc-nav__link { padding: 12px 14px; border-radius: 8px; }
.cc-nav__dropdown-menu {
position: static;
box-shadow: none;
border: none;
padding: 0 0 0 12px;
opacity: 1;
visibility: visible;
transform: none;
min-width: 0;
}
.cc-nav__dropdown-toggle::after { display: none; }
.cc-nav__cta { display: none; }
.cc-nav__cta--mobile { display: inline-flex; margin-top: 8px; }
}
@media (min-width: 961px) {
.cc-nav__cta--mobile { display: none; }
}
Digital Marketing Blog | SEO Tips & Contractor Marketing Insights | Crocs and Clicks
:root {
--primary: #F4B6C2;
--primary-light: #F8CDD5;
--primary-dark: #E89BAA;
--accent: #2B2B2B;
--accent-hover: #444444;
--cream: #F5F5F5;
--cream-dark: #EBEBEB;
--text-dark: #2B2B2B;
--text-muted: #666666;
--white: #FFFFFF;
--shadow-sm: 0 2px 8px rgba(43, 43, 43, 0.06);
--shadow-md: 0 8px 24px rgba(43, 43, 43, 0.10);
--shadow-lg: 0 16px 48px rgba(43, 43, 43, 0.14);
--radius-sm: 8px;
--radius-md: 16px;
--radius-lg: 24px;
--transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
font-family: 'Outfit', sans-serif;
background: var(--cream);
color: var(--text-dark);
line-height: 1.7;
overflow-x: hidden;
}
h1, h2, h3, h4 {
font-family: 'Fraunces', serif;
line-height: 1.2;
}
a {
text-decoration: none;
color: inherit;
transition: var(--transition);
}
img {
max-width: 100%;
height: auto;
}
.container {
max-width: 1280px;
margin: 0 auto;
padding: 0 24px;
}
/* Navigation */
.nav {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1000;
background: rgba(253, 248, 243, 0.95);
backdrop-filter: blur(20px);
border-bottom: 1px solid rgba(27, 77, 62, 0.08);
transition: var(--transition);
}
.nav.scrolled {
box-shadow: var(--shadow-sm);
}
.nav-inner {
display: flex;
align-items: center;
justify-content: space-between;
padding: 16px 24px;
max-width: 1280px;
margin: 0 auto;
}
.logo {
display: flex;
align-items: center;
gap: 12px;
font-family: 'Fraunces', serif;
font-size: 1.5rem;
font-weight: 700;
color: var(--primary);
}
.logo-icon {
width: 48px;
height: 48px;
background: var(--primary);
border-radius: var(--radius-sm);
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
}
.nav-links {
display: flex;
align-items: center;
gap: 8px;
list-style: none;
}
.nav-links a {
padding: 10px 16px;
border-radius: var(--radius-sm);
font-weight: 500;
font-size: 0.95rem;
color: var(--text-dark);
}
.nav-links a:hover {
background: var(--primary);
color: var(--white);
}
.nav-links .dropdown {
position: relative;
}
.nav-links .dropdown-content {
position: absolute;
top: 100%;
left: 0;
background: var(--white);
border-radius: var(--radius-md);
box-shadow: var(--shadow-lg);
min-width: 260px;
opacity: 0;
visibility: hidden;
transform: translateY(10px);
transition: var(--transition);
padding: 8px;
}
.nav-links .dropdown:hover .dropdown-content {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
.dropdown-content a {
display: block;
padding: 12px 16px;
border-radius: var(--radius-sm);
}
.dropdown-content a:hover {
background: var(--cream);
color: var(--primary);
}
.nav-cta {
background: var(--primary) !important;
color: var(--accent) !important;
font-weight: 600 !important;
}
.nav-cta:hover {
background: var(--primary-dark) !important;
transform: translateY(-2px);
}
.mobile-toggle {
display: none;
flex-direction: column;
gap: 5px;
cursor: pointer;
padding: 8px;
}
.mobile-toggle span {
width: 24px;
height: 2px;
background: var(--primary);
transition: var(--transition);
}
/* Blog Hero Section */
.blog-hero {
min-height: 100vh;
display: flex;
align-items: center;
padding: 120px 0 80px;
position: relative;
overflow: hidden;
background: linear-gradient(180deg, var(--cream) 0%, var(--white) 100%);
}
.blog-hero::before {
content: '';
position: absolute;
top: -50%;
right: -20%;
width: 80%;
height: 150%;
background: radial-gradient(ellipse, rgba(244, 182, 194, 0.15) 0%, transparent 70%);
pointer-events: none;
}
.blog-hero::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 200px;
background: linear-gradient(to top, var(--white), transparent);
pointer-events: none;
}
.blog-hero-content {
position: relative;
z-index: 2;
text-align: center;
max-width: 900px;
margin: 0 auto;
}
.hero-badge {
display: inline-flex;
align-items: center;
gap: 8px;
background: var(--primary);
color: var(--white);
padding: 10px 20px;
border-radius: 50px;
font-size: 0.9rem;
font-weight: 500;
margin-bottom: 28px;
animation: fadeInUp 0.6s ease;
}
.blog-hero h1 {
font-size: clamp(2.5rem, 5vw, 3.75rem);
color: var(--accent);
margin-bottom: 24px;
animation: fadeInUp 0.6s ease 0.1s both;
}
.blog-hero h1 span {
color: var(--primary-dark);
}
.blog-hero-text {
font-size: 1.2rem;
color: var(--text-muted);
margin-bottom: 40px;
max-width: 700px;
margin-left: auto;
margin-right: auto;
animation: fadeInUp 0.6s ease 0.2s both;
}
/* Search Bar */
.blog-search {
max-width: 600px;
margin: 0 auto;
position: relative;
animation: fadeInUp 0.6s ease 0.3s both;
}
.blog-search input {
width: 100%;
padding: 20px 60px 20px 24px;
border: 2px solid var(--cream-dark);
border-radius: 50px;
font-size: 1rem;
font-family: 'Outfit', sans-serif;
background: var(--white);
transition: var(--transition);
box-shadow: var(--shadow-sm);
}
.blog-search input:focus {
outline: none;
border-color: var(--primary);
box-shadow: var(--shadow-md);
}
.blog-search button {
position: absolute;
right: 8px;
top: 50%;
transform: translateY(-50%);
width: 48px;
height: 48px;
background: var(--primary);
border: none;
border-radius: 50%;
cursor: pointer;
font-size: 1.25rem;
transition: var(--transition);
display: flex;
align-items: center;
justify-content: center;
}
.blog-search button:hover {
background: var(--primary-dark);
transform: translateY(-50%) scale(1.05);
}
/* Category Pills */
.category-pills {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 12px;
margin-top: 40px;
animation: fadeInUp 0.6s ease 0.4s both;
}
.category-pill {
padding: 10px 24px;
background: var(--white);
border: 2px solid var(--cream-dark);
border-radius: 50px;
font-weight: 500;
font-size: 0.9rem;
color: var(--text-muted);
cursor: pointer;
transition: var(--transition);
}
.category-pill:hover,
.category-pill.active {
background: var(--accent);
border-color: var(--accent);
color: var(--white);
}
/* Featured Post Section */
.featured-section {
padding: 80px 0;
background: var(--white);
}
.section-header {
margin-bottom: 48px;
}
.section-tag {
display: inline-block;
background: rgba(244, 182, 194, 0.2);
color: var(--primary-dark);
padding: 8px 20px;
border-radius: 50px;
font-size: 0.875rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
margin-bottom: 16px;
}
.section-header h2 {
font-size: clamp(1.75rem, 3vw, 2.5rem);
color: var(--accent);
}
.featured-post {
display: grid;
grid-template-columns: 1.2fr 1fr;
gap: 48px;
align-items: center;
background: var(--cream);
border-radius: var(--radius-lg);
overflow: hidden;
}
.featured-image {
aspect-ratio: 16/10;
background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: var(--white);
position: relative;
overflow: hidden;
}
.featured-image::before {
content: '';
position: absolute;
inset: 0;
background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.1'%3E%3Ccircle cx='30' cy='30' r='4'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.featured-image span {
font-size: 5rem;
position: relative;
z-index: 2;
}
.featured-image p {
position: relative;
z-index: 2;
margin-top: 16px;
font-weight: 500;
}
.featured-image small {
position: relative;
z-index: 2;
opacity: 0.8;
font-size: 0.875rem;
}
.featured-content {
padding: 48px 48px 48px 0;
}
.post-category {
display: inline-block;
background: var(--primary);
color: var(--accent);
padding: 6px 16px;
border-radius: 50px;
font-size: 0.8rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: 16px;
}
.featured-content h3 {
font-size: 1.75rem;
color: var(--accent);
margin-bottom: 16px;
line-height: 1.3;
}
.featured-content h3 a:hover {
color: var(--primary-dark);
}
.post-excerpt {
color: var(--text-muted);
margin-bottom: 24px;
font-size: 1rem;
line-height: 1.8;
}
.post-meta {
display: flex;
align-items: center;
gap: 20px;
color: var(--text-muted);
font-size: 0.9rem;
margin-bottom: 24px;
}
.post-meta-item {
display: flex;
align-items: center;
gap: 6px;
}
.read-more {
display: inline-flex;
align-items: center;
gap: 8px;
color: var(--accent);
font-weight: 600;
padding: 12px 0;
}
.read-more:hover {
color: var(--primary-dark);
gap: 12px;
}
/* Blog Grid Section */
.blog-grid-section {
padding: 80px 0;
background: var(--cream);
}
.blog-layout {
display: grid;
grid-template-columns: 1fr 340px;
gap: 48px;
}
.blog-main {
display: flex;
flex-direction: column;
gap: 32px;
}
.blog-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 32px;
}
/* Blog Card */
.blog-card {
background: var(--white);
border-radius: var(--radius-lg);
overflow: hidden;
transition: var(--transition);
box-shadow: var(--shadow-sm);
}
.blog-card:hover {
transform: translateY(-8px);
box-shadow: var(--shadow-lg);
}
.blog-card-image {
aspect-ratio: 16/10;
background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: var(--white);
position: relative;
overflow: hidden;
}
.blog-card-image::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(to bottom, transparent 50%, rgba(0,0,0,0.2));
}
.blog-card-image span {
font-size: 3rem;
position: relative;
z-index: 2;
}
.blog-card-image p {
position: relative;
z-index: 2;
margin-top: 8px;
font-size: 0.85rem;
opacity: 0.9;
}
.blog-card-content {
padding: 24px;
}
.blog-card-content .post-category {
font-size: 0.75rem;
padding: 5px 12px;
}
.blog-card-content h3 {
font-size: 1.25rem;
color: var(--accent);
margin-bottom: 12px;
line-height: 1.4;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.blog-card-content h3 a:hover {
color: var(--primary-dark);
}
.blog-card-content .post-excerpt {
font-size: 0.9rem;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
margin-bottom: 16px;
}
.blog-card-content .post-meta {
font-size: 0.8rem;
margin-bottom: 0;
}
/* Sidebar */
.blog-sidebar {
display: flex;
flex-direction: column;
gap: 32px;
}
.sidebar-widget {
background: var(--white);
border-radius: var(--radius-lg);
padding: 28px;
box-shadow: var(--shadow-sm);
}
.sidebar-widget h4 {
font-family: 'Outfit', sans-serif;
font-size: 1.1rem;
font-weight: 700;
color: var(--accent);
margin-bottom: 20px;
padding-bottom: 12px;
border-bottom: 2px solid var(--cream);
}
/* Newsletter Widget */
.newsletter-widget {
background: linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);
color: var(--white);
}
.newsletter-widget h4 {
color: var(--white);
border-bottom-color: rgba(255,255,255,0.2);
}
.newsletter-widget p {
font-size: 0.9rem;
opacity: 0.9;
margin-bottom: 20px;
line-height: 1.6;
}
.newsletter-form input {
width: 100%;
padding: 14px 16px;
border: none;
border-radius: var(--radius-sm);
font-size: 0.9rem;
font-family: 'Outfit', sans-serif;
margin-bottom: 12px;
}
.newsletter-form button {
width: 100%;
padding: 14px 24px;
background: var(--primary);
color: var(--accent);
border: none;
border-radius: var(--radius-sm);
font-size: 0.9rem;
font-weight: 600;
font-family: 'Outfit', sans-serif;
cursor: pointer;
transition: var(--transition);
}
.newsletter-form button:hover {
background: var(--primary-dark);
transform: translateY(-2px);
}
/* Categories Widget */
.categories-list {
list-style: none;
}
.categories-list li {
margin-bottom: 8px;
}
.categories-list a {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 16px;
background: var(--cream);
border-radius: var(--radius-sm);
color: var(--text-dark);
font-weight: 500;
font-size: 0.9rem;
}
.categories-list a:hover {
background: var(--primary);
color: var(--white);
}
.category-count {
background: var(--white);
padding: 4px 10px;
border-radius: 50px;
font-size: 0.8rem;
font-weight: 600;
color: var(--text-muted);
}
.categories-list a:hover .category-count {
background: var(--accent);
color: var(--white);
}
/* Popular Posts Widget */
.popular-posts-list {
display: flex;
flex-direction: column;
gap: 16px;
}
.popular-post-item {
display: flex;
gap: 16px;
align-items: flex-start;
}
.popular-post-thumb {
width: 72px;
height: 72px;
background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
border-radius: var(--radius-sm);
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
flex-shrink: 0;
}
.popular-post-info h5 {
font-family: 'Outfit', sans-serif;
font-size: 0.9rem;
font-weight: 600;
color: var(--accent);
margin-bottom: 4px;
line-height: 1.4;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.popular-post-info h5:hover {
color: var(--primary-dark);
}
.popular-post-info span {
font-size: 0.8rem;
color: var(--text-muted);
}
/* Tags Widget */
.tags-cloud {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.tag {
padding: 8px 14px;
background: var(--cream);
border-radius: 50px;
font-size: 0.8rem;
font-weight: 500;
color: var(--text-muted);
transition: var(--transition);
}
.tag:hover {
background: var(--primary);
color: var(--white);
}
/* Pagination */
.pagination {
display: flex;
justify-content: center;
align-items: center;
gap: 8px;
margin-top: 48px;
}
.pagination-btn {
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center;
background: var(--white);
border: 2px solid var(--cream-dark);
border-radius: var(--radius-sm);
font-weight: 600;
color: var(--text-muted);
cursor: pointer;
transition: var(--transition);
}
.pagination-btn:hover,
.pagination-btn.active {
background: var(--accent);
border-color: var(--accent);
color: var(--white);
}
.pagination-btn.arrow {
font-size: 1.2rem;
}
/* Topics Section */
.topics-section {
padding: 100px 0;
background: var(--white);
}
.topics-section .section-header {
text-align: center;
margin-bottom: 64px;
}
.topics-section .section-header p {
font-size: 1.1rem;
color: var(--text-muted);
max-width: 600px;
margin: 16px auto 0;
}
.topics-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
}
.topic-card {
background: var(--cream);
border-radius: var(--radius-lg);
padding: 32px 24px;
text-align: center;
transition: var(--transition);
border: 2px solid transparent;
}
.topic-card:hover {
border-color: var(--primary);
transform: translateY(-4px);
}
.topic-icon {
width: 72px;
height: 72px;
background: var(--primary);
border-radius: var(--radius-md);
display: flex;
align-items: center;
justify-content: center;
font-size: 2rem;
margin: 0 auto 20px;
}
.topic-card h4 {
font-family: 'Outfit', sans-serif;
font-size: 1.1rem;
font-weight: 700;
color: var(--accent);
margin-bottom: 8px;
}
.topic-card p {
font-size: 0.875rem;
color: var(--text-muted);
margin-bottom: 12px;
line-height: 1.6;
}
.topic-count {
font-size: 0.8rem;
font-weight: 600;
color: var(--primary-dark);
}
/* CTA Section */
.cta {
padding: 100px 0;
background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
text-align: center;
position: relative;
overflow: hidden;
}
.cta::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.08'%3E%3Ccircle cx='30' cy='30' r='4'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.cta-content {
position: relative;
z-index: 2;
max-width: 800px;
margin: 0 auto;
}
.cta h2 {
font-size: clamp(2rem, 4vw, 3rem);
color: var(--accent);
margin-bottom: 16px;
}
.cta p {
font-size: 1.2rem;
color: var(--text-muted);
margin-bottom: 40px;
}
.btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 16px 32px;
border-radius: var(--radius-sm);
font-weight: 600;
font-size: 1rem;
cursor: pointer;
border: none;
transition: var(--transition);
}
.btn-primary {
background: var(--accent);
color: var(--white);
box-shadow: 0 4px 16px rgba(43, 43, 43, 0.2);
}
.btn-primary:hover {
background: var(--accent-hover);
transform: translateY(-3px);
box-shadow: 0 8px 24px rgba(43, 43, 43, 0.25);
}
.btn-secondary {
background: transparent;
color: var(--accent);
border: 2px solid var(--accent);
}
.btn-secondary:hover {
background: var(--accent);
color: var(--white);
}
.cta-buttons {
display: flex;
gap: 16px;
justify-content: center;
flex-wrap: wrap;
}
/* Footer */
.footer {
background: var(--accent);
color: var(--white);
padding: 80px 0 32px;
}
.footer-grid {
display: grid;
grid-template-columns: 2fr 1fr 1fr 1fr;
gap: 48px;
margin-bottom: 48px;
}
.footer-brand {
max-width: 320px;
}
.footer-logo {
display: flex;
align-items: center;
gap: 12px;
font-family: 'Fraunces', serif;
font-size: 1.5rem;
font-weight: 700;
margin-bottom: 20px;
}
.footer-logo .logo-icon {
background: var(--primary);
}
.footer-brand p {
color: rgba(255, 255, 255, 0.7);
margin-bottom: 24px;
line-height: 1.8;
}
.footer-social {
display: flex;
gap: 12px;
}
.social-link {
width: 44px;
height: 44px;
background: rgba(255, 255, 255, 0.1);
border-radius: var(--radius-sm);
display: flex;
align-items: center;
justify-content: center;
transition: var(--transition);
}
.social-link:hover {
background: var(--primary);
}
.footer-col h4 {
font-family: 'Outfit', sans-serif;
font-weight: 600;
font-size: 1.1rem;
margin-bottom: 24px;
}
.footer-col ul {
list-style: none;
}
.footer-col li {
margin-bottom: 12px;
}
.footer-col a {
color: rgba(255, 255, 255, 0.7);
transition: var(--transition);
}
.footer-col a:hover {
color: var(--primary);
padding-left: 4px;
}
.footer-bottom {
border-top: 1px solid rgba(255, 255, 255, 0.1);
padding-top: 32px;
display: flex;
justify-content: space-between;
align-items: center;
color: rgba(255, 255, 255, 0.6);
font-size: 0.875rem;
}
.footer-links {
display: flex;
gap: 24px;
}
.footer-links a {
color: rgba(255, 255, 255, 0.6);
}
.footer-links a:hover {
color: var(--white);
}
/* Mobile Navigation */
.mobile-nav {
display: none;
position: fixed;
top: 80px;
left: 0;
right: 0;
bottom: 0;
background: var(--cream);
z-index: 999;
padding: 24px;
overflow-y: auto;
}
.mobile-nav.active {
display: block;
}
.mobile-nav ul {
list-style: none;
}
.mobile-nav > ul > li {
border-bottom: 1px solid rgba(27, 77, 62, 0.1);
}
.mobile-nav a {
display: block;
padding: 16px 0;
font-weight: 500;
font-size: 1.1rem;
}
.mobile-nav .mobile-dropdown-content {
padding-left: 20px;
display: none;
}
.mobile-nav .mobile-dropdown-content.active {
display: block;
}
.mobile-nav .mobile-dropdown-content a {
font-size: 1rem;
padding: 12px 0;
color: var(--text-muted);
}
/* Animations */
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Responsive */
@media (max-width: 1024px) {
.blog-layout {
grid-template-columns: 1fr;
}
.blog-sidebar {
display: grid;
grid-template-columns: repeat(2, 1fr);
}
.featured-post {
grid-template-columns: 1fr;
}
.featured-content {
padding: 32px;
}
.topics-grid {
grid-template-columns: repeat(2, 1fr);
}
.footer-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.nav-links {
display: none;
}
.mobile-toggle {
display: flex;
}
.blog-hero {
min-height: auto;
padding: 120px 0 60px;
}
.blog-grid {
grid-template-columns: 1fr;
}
.blog-sidebar {
grid-template-columns: 1fr;
}
.topics-grid {
grid-template-columns: 1fr;
}
.category-pills {
gap: 8px;
}
.category-pill {
padding: 8px 16px;
font-size: 0.85rem;
}
.footer-grid {
grid-template-columns: 1fr;
}
.footer-bottom {
flex-direction: column;
gap: 16px;
text-align: center;
}
}
📝 Marketing Insights & Tips
Digital Marketing Blog
Expert tips, strategies, and insights to help your small business or contractor company dominate digital marketing. Learn SEO, PPC, web design, and social media tactics that drive real results.
🔍
All Posts
SEO
PPC
Web Design
Social Media
Contractor Marketing
Local SEO
📊
Featured Image Placeholder
Recommended: 800×500px
Local SEO
Discover the proven strategies that help local businesses in Vancouver, Washington dominate Google Maps and local search results. From optimizing your Google Business Profile to building local citations, this comprehensive guide covers everything you need to know to attract more local customers.
👤 Benjamin Sehayek
📅 December 10, 2025
⏱️ 12 min read
Read Full Article →
SEO
Understanding SEO costs can be confusing. We break down typical pricing models, what's included at different price points, and how to choose the right SEO investment for your business goals.
📅 Dec 8, 2025
⏱️ 8 min
PPC
Comparing the two biggest advertising platforms for contractor lead generation. Learn which platform works best for HVAC, roofing, plumbing, and electrical contractors.
📅 Dec 5, 2025
⏱️ 10 min
Web Design
A transparent look at website design pricing factors, typical turnaround times, and what you should expect when investing in a professional business website.
📅 Dec 2, 2025
⏱️ 7 min
Contractor Marketing
Seasonal fluctuations don't have to hurt your HVAC business. Discover marketing tactics that keep your phone ringing whether it's summer cooling or winter heating season.
📅 Nov 28, 2025
⏱️ 9 min
Social Media
Not sure where to start with social media? This guide walks you through creating a social media strategy that builds brand awareness and drives engagement for local businesses.
📅 Nov 25, 2025
⏱️ 11 min
Local SEO
Your Google Business Profile is often the first impression customers get of your business. Learn how to optimize every section for maximum visibility and conversions.
📅 Nov 22, 2025
⏱️ 8 min
Contractor Marketing
Competing with big roofing companies? Learn the digital marketing strategies that help smaller roofing contractors generate quality leads and win more jobs.
📅 Nov 18, 2025
⏱️ 10 min
SEO
One of the most common questions about SEO. We provide an honest breakdown of how long it takes to see results and what factors influence the timeline.
📅 Nov 15, 2025
⏱️ 6 min
Ready to Put These Strategies Into Action?
Let our team implement these marketing strategies for your business. Get a free consultation and discover how we can help you attract more customers and grow your revenue.
.cc-footer {
--cc-blush: #F4B6C2;
--cc-charcoal: #2B2B2B;
--cc-white: #FFFFFF;
--cc-cream: #F5F5F5;
--cc-font-body: 'Outfit', system-ui, sans-serif;
--cc-font-display: 'Fraunces', Georgia, serif;
background: var(--cc-charcoal);
color: rgba(255,255,255,0.82);
font-family: var(--cc-font-body);
padding: 72px 32px 32px;
margin-top: 80px;
}
.cc-footer__inner {
max-width: 1280px;
margin: 0 auto;
display: grid;
grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
gap: 56px;
}
.cc-footer__brand {
font-family: var(--cc-font-display);
font-weight: 600;
font-size: 26px;
color: var(--cc-white);
margin: 0 0 14px;
letter-spacing: -0.01em;
}
.cc-footer__tagline {
font-size: 15px;
line-height: 1.6;
color: rgba(255,255,255,0.65);
margin: 0 0 24px;
max-width: 320px;
}
.cc-footer__social {
display: flex;
gap: 10px;
list-style: none;
padding: 0;
margin: 0;
}
.cc-footer__social a {
display: inline-flex;
align-items: center;
justify-content: center;
width: 38px;
height: 38px;
border-radius: 50%;
background: rgba(255,255,255,0.06);
color: rgba(255,255,255,0.85);
text-decoration: none;
transition: background-color 0.2s ease, color 0.2s ease;
}
.cc-footer__social a:hover {
background: var(--cc-blush);
color: var(--cc-charcoal);
}
.cc-footer__social svg { width: 16px; height: 16px; fill: currentColor; }
.cc-footer__col-title {
font-size: 13px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--cc-blush);
margin: 0 0 18px;
}
.cc-footer__list { list-style: none; padding: 0; margin: 0; }
.cc-footer__list li { margin-bottom: 10px; }
.cc-footer__list a {
color: rgba(255,255,255,0.78);
text-decoration: none;
font-size: 15px;
transition: color 0.18s ease;
}
.cc-footer__list a:hover { color: var(--cc-white); }
.cc-footer__contact-line {
display: block;
font-size: 15px;
color: rgba(255,255,255,0.78);
margin-bottom: 10px;
text-decoration: none;
transition: color 0.18s ease;
}
.cc-footer__contact-line:hover { color: var(--cc-white); }
.cc-footer__contact-label {
display: block;
font-size: 12px;
text-transform: uppercase;
letter-spacing: 0.08em;
color: rgba(255,255,255,0.45);
margin-bottom: 2px;
}
.cc-footer__bottom {
max-width: 1280px;
margin: 56px auto 0;
padding-top: 24px;
border-top: 1px solid rgba(255,255,255,0.10);
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 16px;
font-size: 13px;
color: rgba(255,255,255,0.55);
}
.cc-footer__bottom a { color: rgba(255,255,255,0.7); text-decoration: none; }
.cc-footer__bottom a:hover { color: var(--cc-white); }
.cc-footer__legal { display: flex; gap: 20px; flex-wrap: wrap; list-style: none; padding: 0; margin: 0; }
@media (max-width: 900px) {
.cc-footer { padding: 56px 20px 28px; }
.cc-footer__inner { grid-template-columns: 1fr 1fr; gap: 40px; }
}
@media (max-width: 540px) {
.cc-footer__inner { grid-template-columns: 1fr; gap: 36px; }
.cc-footer__bottom { justify-content: flex-start; }
}