.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-checkbox {
position: absolute;
opacity: 0;
width: 0;
height: 0;
pointer-events: none;
}
.cc-nav__dropdown-toggle {
cursor: pointer;
user-select: none;
}
.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-checkbox {
position: absolute;
opacity: 0;
width: 0;
height: 0;
pointer-events: none;
}
.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; }
/* Hamburger -> X when open */
.cc-nav__toggle-checkbox:checked ~ .cc-nav__inner .cc-nav__toggle .cc-nav__toggle-bar {
background: transparent;
}
.cc-nav__toggle-checkbox:checked ~ .cc-nav__inner .cc-nav__toggle .cc-nav__toggle-bar::before {
top: 0;
transform: rotate(45deg);
}
.cc-nav__toggle-checkbox:checked ~ .cc-nav__inner .cc-nav__toggle .cc-nav__toggle-bar::after {
top: 0;
transform: rotate(-45deg);
}
/* 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: 0 16px;
background: var(--cc-white);
border-bottom: 0 solid var(--cc-border);
box-shadow: none;
max-height: 0;
overflow: hidden;
transition: max-height 0.25s ease, padding 0.25s ease;
}
.cc-nav__toggle-checkbox:checked ~ .cc-nav__inner .cc-nav__links {
max-height: 80vh;
overflow-y: auto;
padding: 12px 16px 20px;
border-bottom: 1px solid var(--cc-border);
box-shadow: 0 12px 24px rgba(43,43,43,0.06);
}
.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;
max-height: 0;
overflow: hidden;
transition: max-height 0.25s ease;
}
.cc-nav__dropdown-checkbox:checked ~ .cc-nav__dropdown-menu {
max-height: 60vh;
}
.cc-nav__dropdown-toggle::after {
display: inline-block;
transition: transform 0.18s ease;
}
.cc-nav__dropdown-checkbox:checked ~ .cc-nav__dropdown-toggle::after {
transform: translateY(1px) rotate(225deg);
}
.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; }
.cc-nav__call { display: none; }
}
/* Always-visible mobile click-to-call (separate from menu) */
.cc-nav__call {
display: none;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
margin-right: 8px;
border-radius: 999px;
background: var(--cc-blush-soft);
color: var(--cc-charcoal);
text-decoration: none;
transition: background-color 0.18s ease;
}
.cc-nav__call:hover, .cc-nav__call:focus { background: var(--cc-blush); }
.cc-nav__call svg { width: 18px; height: 18px; fill: currentColor; }
@media (max-width: 960px) {
.cc-nav__call { display: inline-flex; }
}
.cc-nav__mobile-actions {
display: none;
align-items: center;
gap: 4px;
}
@media (max-width: 960px) {
.cc-nav__mobile-actions { display: inline-flex; }
}
SEO Services Vancouver WA | Search Engine Optimization Company | 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;
--text-light: #999999;
--white: #FFFFFF;
--border: #E5E5E5;
--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;
-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 {
font-family: 'Fraunces', serif;
line-height: 1.15;
letter-spacing: -0.01em;
}
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;
}
/* Eyebrow Label - reusable uppercase tracked label */
.eyebrow {
display: inline-block;
font-family: 'Outfit', sans-serif;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.15em;
color: var(--primary-dark);
}
/* Navigation */
.nav {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1000;
background: rgba(245, 245, 245, 0.92);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
border-bottom: 1px solid transparent;
transition: var(--transition);
}
.nav.scrolled {
border-bottom-color: var(--border);
box-shadow: var(--shadow-sm);
}
.nav-inner {
display: flex;
align-items: center;
justify-content: space-between;
padding: 20px 24px;
max-width: 1280px;
margin: 0 auto;
}
.logo {
font-family: 'Fraunces', serif;
font-size: 1.5rem;
font-weight: 600;
color: var(--accent);
letter-spacing: -0.02em;
}
.logo span {
color: var(--primary-dark);
}
.nav-links {
display: flex;
align-items: center;
gap: 4px;
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 {
color: var(--primary-dark);
}
.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;
border: 1px solid var(--border);
}
.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-dark);
}
.nav-cta {
background: var(--accent) !important;
color: var(--white) !important;
font-weight: 600 !important;
padding: 12px 22px !important;
}
.nav-cta:hover {
background: var(--accent-hover) !important;
color: var(--white) !important;
transform: translateY(-1px);
}
.mobile-toggle {
display: none;
flex-direction: column;
gap: 5px;
cursor: pointer;
padding: 8px;
background: none;
border: none;
}
.mobile-toggle span {
width: 24px;
height: 2px;
background: var(--accent);
transition: var(--transition);
}
/* Hero Section */
.hero {
min-height: 100vh;
display: flex;
align-items: center;
padding: 80px 0 100px;
position: relative;
overflow: hidden;
background: linear-gradient(135deg, var(--cream) 0%, var(--white) 100%);
}
.hero::before {
content: '';
position: absolute;
top: -40%;
right: -20%;
width: 80%;
height: 140%;
background: radial-gradient(ellipse, rgba(244, 182, 194, 0.18) 0%, transparent 70%);
pointer-events: none;
}
.hero-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: center;
}
.hero-content {
position: relative;
z-index: 2;
}
.hero-eyebrow {
display: flex;
align-items: center;
gap: 14px;
margin-bottom: 28px;
animation: fadeInUp 0.6s ease;
}
.hero-eyebrow::before {
content: '';
width: 32px;
height: 1px;
background: var(--primary-dark);
}
.hero-eyebrow span {
font-family: 'Outfit', sans-serif;
font-size: 0.8rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.18em;
color: var(--primary-dark);
}
.hero h1 {
font-size: clamp(2.5rem, 5vw, 3.75rem);
font-weight: 500;
color: var(--accent);
margin-bottom: 28px;
animation: fadeInUp 0.6s ease 0.1s both;
}
.hero h1 em {
font-style: italic;
font-weight: 400;
color: var(--primary-dark);
}
.hero-text {
font-size: 1.15rem;
color: var(--text-muted);
margin-bottom: 40px;
max-width: 540px;
animation: fadeInUp 0.6s ease 0.2s both;
}
.hero-buttons {
display: flex;
gap: 16px;
flex-wrap: wrap;
animation: fadeInUp 0.6s ease 0.3s both;
}
.btn {
display: inline-flex;
align-items: center;
gap: 10px;
padding: 16px 32px;
border-radius: var(--radius-sm);
font-weight: 600;
font-size: 1rem;
cursor: pointer;
border: none;
transition: var(--transition);
font-family: 'Outfit', sans-serif;
}
.btn-primary {
background: var(--accent);
color: var(--white);
box-shadow: 0 4px 16px rgba(43, 43, 43, 0.18);
}
.btn-primary:hover {
background: var(--accent-hover);
transform: translateY(-2px);
box-shadow: 0 8px 24px rgba(43, 43, 43, 0.25);
}
.btn-secondary {
background: transparent;
color: var(--accent);
border: 1.5px solid var(--accent);
}
.btn-secondary:hover {
background: var(--accent);
color: var(--white);
}
.btn-arrow {
display: inline-block;
transition: transform 0.3s ease;
}
.btn:hover .btn-arrow {
transform: translateX(4px);
}
.hero-visual {
position: relative;
animation: fadeInRight 0.8s ease 0.4s both;
}
.hero-image-wrapper {
position: relative;
border-radius: var(--radius-sm);
overflow: hidden;
background: var(--accent);
border: 1px solid rgba(43, 43, 43, 0.12);
box-shadow: 0 4px 12px rgba(43, 43, 43, 0.05), 0 24px 60px rgba(43, 43, 43, 0.12);
}
.hero-video-wrapper {
position: relative;
width: 100%;
aspect-ratio: 16 / 9;
background: #000;
}
.hero-video-wrapper iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
display: block;
}
.hero-features {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px;
margin-top: 56px;
padding-top: 32px;
border-top: 1px solid var(--border);
animation: fadeInUp 0.6s ease 0.5s both;
}
.hero-feature-number {
font-family: 'Fraunces', serif;
font-size: 1.75rem;
font-weight: 600;
color: var(--primary-dark);
line-height: 1;
margin-bottom: 10px;
}
.hero-feature-text {
font-size: 0.9rem;
font-weight: 500;
color: var(--text-dark);
line-height: 1.4;
}
/* Breadcrumbs */
.breadcrumbs {
padding: 20px 0;
background: var(--white);
border-bottom: 1px solid var(--border);
}
.breadcrumbs-inner {
display: flex;
align-items: center;
gap: 10px;
font-size: 0.875rem;
color: var(--text-muted);
}
.breadcrumbs a {
color: var(--primary-dark);
}
.breadcrumbs a:hover {
text-decoration: underline;
}
.breadcrumbs span.sep {
color: var(--text-light);
}
/* Section Styles */
.section {
padding: 120px 0;
}
.section-header {
text-align: center;
margin-bottom: 80px;
max-width: 720px;
margin-left: auto;
margin-right: auto;
}
.section-tag {
display: inline-block;
font-family: 'Outfit', sans-serif;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.18em;
color: var(--primary-dark);
margin-bottom: 20px;
padding-bottom: 14px;
position: relative;
}
.section-tag::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 32px;
height: 1px;
background: var(--primary-dark);
}
.section-header h2 {
font-size: clamp(2rem, 4vw, 3rem);
font-weight: 500;
color: var(--accent);
margin-bottom: 20px;
}
.section-header p {
font-size: 1.1rem;
color: var(--text-muted);
max-width: 640px;
margin: 0 auto;
}
/* Why SEO Section */
.why-seo {
background: var(--white);
}
.why-seo-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 100px;
align-items: center;
}
.why-seo-content h2 {
font-size: clamp(2rem, 4vw, 2.75rem);
font-weight: 500;
color: var(--accent);
margin-bottom: 28px;
}
.why-seo-content > p {
font-size: 1.1rem;
color: var(--text-muted);
margin-bottom: 24px;
line-height: 1.8;
}
.seo-stats-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 24px;
margin-top: 40px;
}
.seo-stat {
background: var(--cream);
padding: 32px 24px;
border-radius: var(--radius-md);
transition: var(--transition);
border: 1px solid transparent;
}
.seo-stat:hover {
border-color: var(--primary);
transform: translateY(-4px);
box-shadow: var(--shadow-md);
}
.seo-stat-number {
font-family: 'Fraunces', serif;
font-size: 2.75rem;
font-weight: 600;
color: var(--primary-dark);
line-height: 1;
margin-bottom: 12px;
letter-spacing: -0.02em;
}
.seo-stat-label {
font-size: 0.9rem;
color: var(--text-muted);
line-height: 1.5;
}
.why-seo-image {
position: relative;
}
.why-seo-card {
position: relative;
aspect-ratio: 4/3;
background: var(--accent);
border-radius: var(--radius-lg);
padding: 48px;
color: var(--white);
display: flex;
flex-direction: column;
justify-content: space-between;
box-shadow: var(--shadow-lg);
overflow: hidden;
}
.why-seo-card::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 200px;
height: 200px;
background: radial-gradient(circle, rgba(244, 182, 194, 0.25) 0%, transparent 70%);
pointer-events: none;
}
.why-seo-card .card-number {
font-family: 'Fraunces', serif;
font-size: 1rem;
font-weight: 500;
color: var(--primary);
letter-spacing: 0.1em;
text-transform: uppercase;
}
.why-seo-card .card-headline {
font-family: 'Fraunces', serif;
font-size: clamp(1.75rem, 3vw, 2.25rem);
font-weight: 500;
line-height: 1.2;
margin-top: auto;
}
.why-seo-card .card-headline em {
font-style: italic;
color: var(--primary);
}
.why-seo-card .card-meta {
margin-top: 24px;
padding-top: 24px;
border-top: 1px solid rgba(255, 255, 255, 0.15);
font-size: 0.875rem;
color: rgba(255, 255, 255, 0.7);
letter-spacing: 0.05em;
}
/* Reusable video frame */
.video-frame {
position: relative;
border-radius: var(--radius-sm);
overflow: hidden;
background: var(--accent);
border: 1px solid rgba(43, 43, 43, 0.12);
box-shadow: 0 4px 12px rgba(43, 43, 43, 0.05), 0 24px 60px rgba(43, 43, 43, 0.12);
}
.video-frame-inner {
position: relative;
width: 100%;
aspect-ratio: 16 / 9;
background: #000;
}
.video-frame-inner iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
display: block;
}
/* SEO Services Section */
.seo-services {
background: var(--cream);
}
.services-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 28px;
}
.service-card {
background: var(--white);
border-radius: var(--radius-lg);
padding: 44px 36px;
transition: var(--transition);
position: relative;
overflow: hidden;
border: 1px solid var(--border);
}
.service-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--primary);
transform: scaleX(0);
transform-origin: left;
transition: transform 0.4s ease;
}
.service-card:hover {
transform: translateY(-6px);
box-shadow: var(--shadow-lg);
border-color: transparent;
}
.service-card:hover::before {
transform: scaleX(1);
}
.service-number {
font-family: 'Fraunces', serif;
font-size: 3rem;
font-weight: 500;
color: var(--primary-dark);
line-height: 1;
margin-bottom: 28px;
letter-spacing: -0.02em;
}
.service-card h3 {
font-size: 1.5rem;
font-weight: 500;
color: var(--accent);
margin-bottom: 16px;
}
.service-card p {
color: var(--text-muted);
font-size: 0.95rem;
line-height: 1.7;
margin-bottom: 24px;
}
.service-features {
list-style: none;
}
.service-features li {
display: flex;
align-items: flex-start;
gap: 12px;
padding: 10px 0;
font-size: 0.9rem;
color: var(--text-dark);
border-top: 1px solid var(--cream);
}
.service-features li::before {
content: '';
display: inline-block;
width: 6px;
height: 6px;
background: var(--primary-dark);
border-radius: 50%;
margin-top: 9px;
flex-shrink: 0;
}
/* Local SEO Section */
.local-seo {
background: var(--accent);
color: var(--white);
position: relative;
overflow: hidden;
}
.local-seo::before {
content: '';
position: absolute;
top: -200px;
right: -200px;
width: 600px;
height: 600px;
background: radial-gradient(circle, rgba(244, 182, 194, 0.12) 0%, transparent 70%);
pointer-events: none;
}
.local-seo .section-tag {
color: var(--primary);
}
.local-seo .section-tag::after {
background: var(--primary);
}
.local-seo .section-header h2 {
color: var(--white);
}
.local-seo .section-header p {
color: rgba(255, 255, 255, 0.75);
}
.local-seo-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 28px;
position: relative;
z-index: 2;
}
.local-seo-card {
padding: 36px 28px;
border-top: 1px solid rgba(255, 255, 255, 0.15);
transition: var(--transition);
position: relative;
}
.local-seo-card::before {
content: '';
position: absolute;
top: -1px;
left: 0;
width: 0;
height: 1px;
background: var(--primary);
transition: width 0.4s ease;
}
.local-seo-card:hover::before {
width: 100%;
}
.local-seo-number {
font-family: 'Fraunces', serif;
font-size: 1rem;
font-weight: 500;
color: var(--primary);
letter-spacing: 0.1em;
margin-bottom: 24px;
display: block;
}
.local-seo-card h4 {
font-family: 'Fraunces', serif;
font-size: 1.25rem;
font-weight: 500;
margin-bottom: 14px;
line-height: 1.3;
}
.local-seo-card p {
font-size: 0.9rem;
color: rgba(255, 255, 255, 0.7);
line-height: 1.6;
}
/* Process Section */
.process {
background: var(--white);
}
.process-timeline {
position: relative;
max-width: 920px;
margin: 0 auto;
}
.process-timeline::before {
content: '';
position: absolute;
left: 50%;
top: 0;
bottom: 0;
width: 1px;
background: var(--border);
transform: translateX(-50%);
}
.process-step {
display: grid;
grid-template-columns: 1fr 80px 1fr;
gap: 32px;
align-items: center;
margin-bottom: 56px;
}
.process-step:last-child {
margin-bottom: 0;
}
.process-step:nth-child(odd) .step-content {
text-align: right;
}
.process-step:nth-child(even) .step-content {
grid-column: 3;
}
.process-step:nth-child(even) .step-number {
grid-column: 2;
grid-row: 1;
}
.step-number {
width: 64px;
height: 64px;
background: var(--white);
border: 2px solid var(--primary);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-family: 'Fraunces', serif;
font-size: 1.5rem;
font-weight: 500;
color: var(--primary-dark);
position: relative;
z-index: 2;
margin: 0 auto;
transition: var(--transition);
}
.process-step:hover .step-number {
background: var(--primary);
color: var(--accent);
}
.step-content h4 {
font-family: 'Fraunces', serif;
font-size: 1.35rem;
font-weight: 500;
color: var(--accent);
margin-bottom: 10px;
}
.step-content p {
color: var(--text-muted);
font-size: 0.95rem;
line-height: 1.6;
}
/* Pricing Section */
.pricing {
background: var(--cream);
}
.pricing-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 32px;
max-width: 1100px;
margin: 0 auto;
}
.pricing-card {
background: var(--white);
border-radius: var(--radius-lg);
padding: 48px 44px;
position: relative;
transition: var(--transition);
border: 1px solid var(--border);
display: flex;
flex-direction: column;
}
.pricing-card::before {
content: '';
position: absolute;
top: 0;
left: 24px;
right: 24px;
height: 3px;
background: var(--primary);
border-radius: 0 0 3px 3px;
}
.pricing-card:hover {
box-shadow: var(--shadow-lg);
transform: translateY(-4px);
}
.pricing-option-label {
font-family: 'Outfit', sans-serif;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.18em;
color: var(--primary-dark);
margin-bottom: 16px;
}
.pricing-header {
padding-bottom: 28px;
margin-bottom: 28px;
border-bottom: 1px solid var(--border);
}
.pricing-header h3 {
font-family: 'Fraunces', serif;
font-size: 1.5rem;
font-weight: 500;
color: var(--accent);
line-height: 1.25;
margin-bottom: 0;
}
.pricing-tier {
margin-bottom: 28px;
}
.pricing-tier + .pricing-tier {
padding-top: 24px;
border-top: 1px solid var(--border);
}
.pricing-tier-label {
font-family: 'Outfit', sans-serif;
font-size: 0.7rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.18em;
color: var(--text-muted);
margin-bottom: 8px;
}
.pricing-price {
font-family: 'Fraunces', serif;
font-size: 3.5rem;
font-weight: 600;
color: var(--primary-dark);
line-height: 1;
letter-spacing: -0.02em;
margin-bottom: 8px;
}
.pricing-unit {
font-size: 0.9rem;
color: var(--text-muted);
}
.pricing-callout {
background: var(--cream);
padding: 14px 18px;
border-radius: var(--radius-sm);
font-size: 0.875rem;
color: var(--text-dark);
margin-top: 18px;
}
.pricing-features {
list-style: none;
margin-bottom: 28px;
}
.pricing-features li {
display: flex;
align-items: flex-start;
gap: 14px;
padding: 14px 0;
font-size: 0.95rem;
color: var(--text-dark);
border-bottom: 1px solid var(--cream-dark);
}
.pricing-features li:last-child {
border-bottom: none;
}
.pricing-features li::before {
content: '→';
display: inline-block;
color: var(--primary-dark);
font-weight: 500;
flex-shrink: 0;
line-height: 1.5;
}
.pricing-minimum {
display: inline-block;
background: var(--cream);
padding: 8px 18px;
border-radius: 50px;
font-family: 'Outfit', sans-serif;
font-size: 0.7rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.15em;
color: var(--text-dark);
margin-bottom: 28px;
align-self: flex-start;
}
.pricing-card .btn {
width: 100%;
justify-content: center;
margin-top: auto;
}
/* Industries Section */
.industries {
background: var(--white);
}
.industries-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 0;
border-top: 1px solid var(--border);
border-left: 1px solid var(--border);
}
.industry-card {
background: var(--white);
padding: 40px 28px;
text-align: left;
transition: var(--transition);
border-right: 1px solid var(--border);
border-bottom: 1px solid var(--border);
position: relative;
display: block;
overflow: hidden;
}
.industry-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--primary);
transform: scaleX(0);
transform-origin: left;
transition: transform 0.4s ease;
}
.industry-card:hover {
background: var(--cream);
}
.industry-card:hover::before {
transform: scaleX(1);
}
.industry-number {
font-family: 'Fraunces', serif;
font-size: 0.875rem;
font-weight: 500;
color: var(--primary-dark);
letter-spacing: 0.1em;
margin-bottom: 16px;
display: block;
}
.industry-card h4 {
font-family: 'Fraunces', serif;
font-size: 1.25rem;
font-weight: 500;
color: var(--accent);
margin-bottom: 8px;
}
.industry-card p {
font-size: 0.875rem;
color: var(--text-muted);
line-height: 1.5;
}
/* Results Section */
.results {
background: var(--cream);
}
.results-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 28px;
}
.result-card {
background: var(--white);
border-radius: var(--radius-lg);
padding: 40px 36px;
transition: var(--transition);
border: 1px solid var(--border);
display: flex;
flex-direction: column;
}
.result-card:hover {
transform: translateY(-6px);
box-shadow: var(--shadow-lg);
border-color: transparent;
}
.result-tag {
font-family: 'Outfit', sans-serif;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.15em;
color: var(--primary-dark);
margin-bottom: 24px;
padding-bottom: 16px;
border-bottom: 1px solid var(--border);
}
.result-content h4 {
font-family: 'Fraunces', serif;
font-size: 1.25rem;
font-weight: 500;
color: var(--accent);
margin-bottom: 14px;
}
.result-content p {
color: var(--text-muted);
font-size: 0.95rem;
margin-bottom: 28px;
line-height: 1.6;
}
.result-stats {
display: flex;
gap: 32px;
margin-top: auto;
padding-top: 24px;
border-top: 1px solid var(--border);
}
.result-stat-number {
font-family: 'Fraunces', serif;
font-size: 1.75rem;
font-weight: 600;
color: var(--primary-dark);
line-height: 1;
margin-bottom: 4px;
letter-spacing: -0.02em;
}
.result-stat-label {
font-size: 0.75rem;
color: var(--text-muted);
text-transform: uppercase;
letter-spacing: 0.08em;
}
/* FAQ Section */
.faq {
background: var(--white);
}
.faq-grid {
display: flex;
flex-direction: column;
max-width: 820px;
margin: 0 auto;
border-top: 1px solid var(--border);
}
.faq-item {
border-bottom: 1px solid var(--border);
transition: var(--transition);
}
.faq-question {
padding: 28px 4px;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
font-family: 'Fraunces', serif;
font-size: 1.15rem;
font-weight: 500;
color: var(--accent);
list-style: none;
width: 100%;
}
.faq-question::-webkit-details-marker {
display: none;
}
.faq-question::after {
content: '+';
font-family: 'Outfit', sans-serif;
font-size: 1.75rem;
font-weight: 300;
color: var(--primary-dark);
transition: var(--transition);
flex-shrink: 0;
margin-left: 24px;
line-height: 1;
}
.faq-item[open] .faq-question::after {
transform: rotate(45deg);
}
.faq-answer {
padding: 0 4px 28px;
}
.faq-answer p {
color: var(--text-muted);
font-size: 0.975rem;
line-height: 1.75;
}
/* Map Section */
.map-section {
background: var(--cream);
}
.map-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: center;
}
.map-content h2 {
font-size: clamp(2rem, 4vw, 2.75rem);
font-weight: 500;
color: var(--accent);
margin-bottom: 28px;
}
.map-content > p {
font-size: 1.1rem;
color: var(--text-muted);
margin-bottom: 40px;
line-height: 1.8;
}
.contact-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 28px 24px;
padding-top: 32px;
border-top: 1px solid var(--border);
}
.contact-item h5 {
font-family: 'Outfit', sans-serif;
font-size: 0.7rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.18em;
color: var(--primary-dark);
margin-bottom: 8px;
}
.contact-item p, .contact-item a {
color: var(--text-dark);
font-size: 1rem;
font-weight: 500;
}
.contact-item a:hover {
color: var(--primary-dark);
}
.map-wrapper {
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-lg);
height: 480px;
}
.map-wrapper iframe {
width: 100%;
height: 100%;
border: 0;
filter: grayscale(20%) contrast(0.95);
}
/* CTA Section */
.cta {
padding: 120px 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: -100px;
left: -100px;
width: 400px;
height: 400px;
background: radial-gradient(circle, rgba(255, 255, 255, 0.15) 0%, transparent 70%);
pointer-events: none;
}
.cta::after {
content: '';
position: absolute;
bottom: -100px;
right: -100px;
width: 400px;
height: 400px;
background: radial-gradient(circle, rgba(43, 43, 43, 0.08) 0%, transparent 70%);
pointer-events: none;
}
.cta-content {
position: relative;
z-index: 2;
max-width: 760px;
margin: 0 auto;
}
.cta h2 {
font-size: clamp(2.25rem, 4vw, 3rem);
font-weight: 500;
color: var(--accent);
margin-bottom: 20px;
}
.cta p {
font-size: 1.15rem;
color: rgba(43, 43, 43, 0.75);
margin-bottom: 44px;
max-width: 600px;
margin-left: auto;
margin-right: auto;
}
.cta .btn-primary {
background: var(--accent);
font-size: 1rem;
padding: 18px 36px;
}
.cta .btn-secondary {
background: transparent;
color: var(--accent);
border-color: var(--accent);
}
.cta .btn-secondary:hover {
background: var(--accent);
color: var(--white);
}
/* Related Services */
.related-services {
background: var(--white);
padding: 100px 0;
}
.related-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
}
.related-card {
background: var(--cream);
border-radius: var(--radius-md);
padding: 32px 24px;
transition: var(--transition);
border: 1px solid transparent;
position: relative;
overflow: hidden;
}
.related-card::after {
content: '→';
position: absolute;
top: 24px;
right: 24px;
font-size: 1.25rem;
color: var(--primary-dark);
opacity: 0;
transform: translateX(-8px);
transition: var(--transition);
}
.related-card:hover {
background: var(--white);
border-color: var(--primary);
transform: translateY(-4px);
box-shadow: var(--shadow-md);
}
.related-card:hover::after {
opacity: 1;
transform: translateX(0);
}
.related-card h4 {
font-family: 'Fraunces', serif;
font-size: 1.15rem;
font-weight: 500;
color: var(--accent);
margin-bottom: 8px;
}
.related-card p {
font-size: 0.875rem;
color: var(--text-muted);
}
/* Footer */
.footer {
background: var(--accent);
color: var(--white);
padding: 100px 0 32px;
}
.footer-grid {
display: grid;
grid-template-columns: 2fr 1fr 1fr 1fr;
gap: 64px;
margin-bottom: 64px;
padding-bottom: 48px;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.footer-brand {
max-width: 360px;
}
.footer-logo {
font-family: 'Fraunces', serif;
font-size: 1.5rem;
font-weight: 600;
color: var(--white);
margin-bottom: 24px;
letter-spacing: -0.02em;
display: block;
}
.footer-logo span {
color: var(--primary);
}
.footer-brand p {
color: rgba(255, 255, 255, 0.65);
margin-bottom: 32px;
line-height: 1.8;
font-size: 0.95rem;
}
.footer-social {
display: flex;
gap: 24px;
}
.social-link {
color: rgba(255, 255, 255, 0.7);
font-size: 0.875rem;
font-weight: 500;
position: relative;
padding-bottom: 4px;
}
.social-link::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 1px;
background: var(--primary);
transition: width 0.3s ease;
}
.social-link:hover {
color: var(--white);
}
.social-link:hover::after {
width: 100%;
}
.footer-col h4 {
font-family: 'Outfit', sans-serif;
font-weight: 600;
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.18em;
color: var(--primary);
margin-bottom: 24px;
}
.footer-col ul {
list-style: none;
}
.footer-col li {
margin-bottom: 14px;
}
.footer-col a, .footer-col li {
color: rgba(255, 255, 255, 0.7);
transition: var(--transition);
font-size: 0.95rem;
}
.footer-col a:hover {
color: var(--primary);
}
.footer-bottom {
display: flex;
justify-content: space-between;
align-items: center;
color: rgba(255, 255, 255, 0.5);
font-size: 0.85rem;
}
.footer-links {
display: flex;
gap: 28px;
}
.footer-links a {
color: rgba(255, 255, 255, 0.5);
}
.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(--white);
z-index: 999;
padding: 32px 24px;
overflow-y: auto;
}
.mobile-nav.active {
display: block;
}
.mobile-nav ul {
list-style: none;
}
.mobile-nav > ul > li {
border-bottom: 1px solid var(--border);
}
.mobile-nav a {
display: block;
padding: 18px 0;
font-weight: 500;
font-size: 1.05rem;
color: var(--text-dark);
}
.mobile-nav .mobile-dropdown-content {
padding-left: 20px;
display: none;
padding-bottom: 12px;
}
.mobile-nav .mobile-dropdown-content.active {
display: block;
}
.mobile-nav .mobile-dropdown-content a {
font-size: 0.95rem;
padding: 10px 0;
color: var(--text-muted);
}
/* Animations */
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fadeInRight {
from {
opacity: 0;
transform: translateX(50px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
/* Responsive */
@media (max-width: 1024px) {
.hero-grid {
grid-template-columns: 1fr;
gap: 60px;
}
.hero-visual {
order: -1;
}
.why-seo-grid {
grid-template-columns: 1fr;
gap: 60px;
}
.services-grid {
grid-template-columns: repeat(2, 1fr);
}
.local-seo-grid {
grid-template-columns: repeat(2, 1fr);
}
.process-timeline::before {
left: 32px;
}
.process-step {
grid-template-columns: 64px 1fr;
gap: 24px;
}
.process-step .step-content,
.process-step:nth-child(odd) .step-content,
.process-step:nth-child(even) .step-content {
text-align: left;
grid-column: 2;
}
.process-step .step-number,
.process-step:nth-child(even) .step-number {
grid-column: 1;
}
.pricing-grid {
grid-template-columns: 1fr;
max-width: 480px;
margin: 0 auto;
}
.industries-grid {
grid-template-columns: repeat(2, 1fr);
}
.results-grid {
grid-template-columns: 1fr;
}
.map-grid {
grid-template-columns: 1fr;
gap: 60px;
}
.related-grid {
grid-template-columns: repeat(2, 1fr);
}
.footer-grid {
grid-template-columns: repeat(2, 1fr);
gap: 48px;
}
}
@media (max-width: 768px) {
.nav-links {
display: none;
}
.mobile-toggle {
display: flex;
}
.hero {
min-height: auto;
padding: 60px 0 80px;
}
.hero-features {
grid-template-columns: 1fr;
gap: 24px;
}
.section {
padding: 80px 0;
}
.services-grid {
grid-template-columns: 1fr;
}
.local-seo-grid {
grid-template-columns: 1fr;
}
.industries-grid {
grid-template-columns: 1fr;
}
.seo-stats-grid {
grid-template-columns: 1fr;
}
.contact-grid {
grid-template-columns: 1fr;
}
.related-grid {
grid-template-columns: 1fr;
}
.footer-grid {
grid-template-columns: 1fr;
gap: 40px;
}
.footer-bottom {
flex-direction: column;
gap: 16px;
text-align: center;
}
.footer-links {
flex-wrap: wrap;
justify-content: center;
}
}
SEO Agency · Vancouver, WA
Expert SEO Services in Vancouver, WA That Drive Real Results
Looking for a search engine optimization company that actually delivers? Our Vancouver, Washington SEO agency helps local businesses and contractors rank higher on Google, attract more qualified traffic, and convert visitors into paying customers. We combine technical expertise with proven strategies to grow your online presence.
150%
Average Traffic Increase
100%
Transparent Reporting
Why SEO Matters
Why Search Engine Optimization Matters for Vancouver WA Businesses
In today's digital landscape, your potential customers are searching for your services on Google right now. Without proper search engine optimization, you're invisible to the 93% of online experiences that begin with a search engine. Our Vancouver Washington SEO strategies ensure your business appears when local customers need you most.
Whether you're a contractor, local service provider, or small business in Clark County, SEO is the most cost-effective way to generate consistent, high-quality leads. Unlike paid advertising that stops the moment you stop paying, SEO builds long-term visibility and authority that continues to drive results month after month.
93%
Online experiences start with search
75%
Users never scroll past page 1
14.6%
SEO leads close rate
01
Local SEO Vancouver WA
Dominate local search results and Google Maps with our local SEO services. We optimize your Google Business Profile, build local citations, and implement location-specific strategies that put your business in front of customers searching in Vancouver and Clark County.
Google Business Profile Optimization
Local Citation Building
Local Keyword Targeting
Review Generation Strategy
NAP Consistency Audit
02
Technical SEO
Our technical SEO company in Vancouver, WA ensures your website is built for search engine success. We fix crawl errors, improve site speed, implement structured data, and resolve technical issues that prevent your site from ranking as high as it should.
Site Speed Optimization
Mobile-First Optimization
Schema Markup Implementation
XML Sitemap & Robots.txt
Core Web Vitals Improvement
03
On-Page SEO
Maximize the ranking potential of every page on your website with our on-page SEO services. We optimize your content, meta tags, internal linking, and page structure to ensure Google understands and rewards your content with higher rankings.
Keyword Research & Mapping
Meta Title & Description Optimization
Header Tag Optimization
Content Optimization
Internal Linking Strategy
04
Off-Page SEO & Link Building
Build domain authority and trust with our ethical off-page SEO strategies. We earn high-quality backlinks through outreach, guest posting, and digital PR that strengthen your website's credibility and improve your search rankings.
Quality Link Acquisition
Guest Posting Outreach
Digital PR Campaigns
Competitor Backlink Analysis
Brand Mention Monitoring
05
SEO Content Strategy
Attract and engage your target audience with content optimized for both search engines and humans. Our SEO content services include keyword-driven blog posts, service pages, and cornerstone content that establishes your expertise and drives organic traffic.
Content Gap Analysis
SEO Blog Writing
Service Page Optimization
Content Calendar Planning
Competitor Content Analysis
06
SEO Audits & Analysis
Know exactly where you stand with comprehensive SEO audits from our digital SEO agency. We analyze your current performance, identify opportunities, and create a roadmap for improvement with detailed recommendations you can actually implement.
Complete Website SEO Audit
Competitor Analysis
Keyword Opportunity Report
Technical Health Check
Monthly Performance Reports
01 / 04
Google Maps Optimization
Appear in the coveted Google Maps 3-pack when customers search for your services in Vancouver and surrounding areas.
02 / 04
Review Management
Build trust and improve rankings with strategies to generate and manage customer reviews across platforms.
03 / 04
Citation Building
Establish consistent business listings across directories to strengthen your local SEO presence and authority.
04 / 04
Geo-Targeted Content
Create location-specific content that resonates with Vancouver residents and ranks for "near me" searches.
Discovery & SEO Audit
We begin with a comprehensive audit of your current website, competitive landscape, and target keywords. This reveals exactly where you stand and what opportunities exist.
1
2
Strategy Development
Based on our findings, we create a customized SEO strategy targeting the keywords that will drive the most valuable traffic to your business with realistic timelines and KPIs.
On-Site Optimization
We implement technical fixes, optimize your existing content, improve site structure, and ensure every page is positioned for maximum search visibility.
3
4
Content & Link Building
We create SEO-optimized content targeting valuable keywords and build authoritative backlinks that strengthen your domain and improve rankings.
Monitor, Report & Refine
SEO is ongoing. We continuously monitor rankings, traffic, and conversions, providing detailed monthly reports and refining strategies based on performance data.
5
Option A
One-Time Research Fee
$22,000
per market
+ $8,000 refresh every 9 months
Then Monthly
$2,600
per month · per location
4× weekly Google Business Profile posts
2× monthly website blog posts
1× weekly off-page post
4 website page refreshes per location
Backlink management & analysis
Full strategy included
Get Started
Option B
Research Bundled Into Monthly
$3,800
per month · per location
4× weekly Google Business Profile posts
2× monthly website blog posts
1× weekly off-page post
4 website page refreshes per location
Market research & analysis included
Backlink management & analysis
Full strategy included
12-Month Minimum Contract
Get Started
Case Study 01
HVAC Contractor — Vancouver, WA
Achieved first-page rankings for 15 target keywords within 6 months, dramatically increasing organic lead generation.
Case Study 02
Roofing Company — Clark County
From page 5 to the Google Maps 3-pack for "roofing contractor near me", generating consistent roofing leads.
Case Study 03
Plumbing Services — Portland Metro
Comprehensive local SEO campaign that positioned this plumber as the go-to choice in their service area.
How long does SEO take to show results?
SEO is a long-term strategy. Most businesses begin seeing improvements in 3-4 months, with significant results typically appearing within 6-12 months. However, the timeline depends on your starting point, competition, and the aggressiveness of your strategy. Local SEO for less competitive keywords often shows faster results than broader national campaigns.
How much does SEO cost in Vancouver, WA?
Pricing is structured per location. You can either pay a one-time research fee of $22,000 per market with a lower monthly of $2,600 per location, or roll the research into a higher monthly of $3,800 per location with no upfront cost. The right choice depends on your cash flow preferences and how many markets or locations you're targeting. During our free consultation, we'll walk through both options and recommend what fits your situation.
What's the difference between SEO and PPC?
SEO (organic search) builds long-term visibility through content optimization and link building, so you don't pay for clicks. PPC (paid search) provides immediate visibility through paid ads. Most businesses benefit from both, but SEO typically delivers better long-term ROI while PPC provides immediate results.
Do you guarantee first-page rankings?
No ethical SEO company can guarantee specific rankings because Google's algorithm is controlled by Google. What we do guarantee is implementing proven strategies, transparent reporting, and working tirelessly to improve your visibility. Our track record speaks for itself, with most clients achieving first-page rankings for their target keywords.
Why should I choose a local SEO agency?
As a Vancouver-based SEO company, we understand the local market, competition, and customer behavior in the Pacific Northwest. We can meet face-to-face, respond quickly to your needs, and bring local expertise that national agencies simply can't match.
What industries do you specialize in?
We specialize in SEO for contractors (HVAC, roofing, plumbing, electrical) and local service businesses in Vancouver, WA and the Portland metro area. Our industry expertise means we understand your customers, competition, and the keywords that drive real business results.
Ready to Rank Higher on Google?
Get a free SEO audit and discover exactly what's holding your website back from reaching its full potential. Our Vancouver SEO experts will analyze your site and show you the path to first-page rankings.
.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.7);
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; }
}