.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; }
}
Website Design Vancouver WA | Professional Web Design Services | 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(245, 245, 245, 0.95);
backdrop-filter: blur(20px);
border-bottom: 1px solid rgba(43, 43, 43, 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-dark);
}
.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-dark);
}
.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-dark);
transition: var(--transition);
}
/* Breadcrumbs */
.breadcrumbs {
padding: 100px 0 0;
background: var(--cream);
}
.breadcrumbs-inner {
display: flex;
align-items: center;
gap: 8px;
font-size: 0.9rem;
color: var(--text-muted);
}
.breadcrumbs a {
color: var(--primary-dark);
}
.breadcrumbs a:hover {
text-decoration: underline;
}
.breadcrumbs span {
color: var(--text-muted);
}
/* Hero Section */
.hero {
min-height: 100vh;
display: flex;
align-items: center;
padding: 40px 0 80px;
position: relative;
overflow: hidden;
background: var(--cream);
}
.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;
}
.hero-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: center;
}
.hero-content {
position: relative;
z-index: 2;
}
.hero-badge {
display: inline-flex;
align-items: center;
gap: 8px;
background: var(--primary);
color: var(--accent);
padding: 8px 16px;
border-radius: 50px;
font-size: 0.875rem;
font-weight: 600;
margin-bottom: 24px;
animation: fadeInUp 0.6s ease;
}
.hero h1 {
font-size: clamp(2.5rem, 5vw, 3.5rem);
color: var(--accent);
margin-bottom: 24px;
animation: fadeInUp 0.6s ease 0.1s both;
}
.hero h1 span {
color: var(--primary-dark);
}
.hero-text {
font-size: 1.15rem;
color: var(--text-muted);
margin-bottom: 32px;
max-width: 520px;
animation: fadeInUp 0.6s ease 0.2s both;
}
.hero-features {
display: flex;
flex-wrap: wrap;
gap: 16px;
margin-bottom: 32px;
animation: fadeInUp 0.6s ease 0.25s both;
}
.hero-feature {
display: flex;
align-items: center;
gap: 8px;
background: var(--white);
padding: 10px 16px;
border-radius: var(--radius-sm);
font-size: 0.9rem;
font-weight: 500;
box-shadow: var(--shadow-sm);
}
.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: 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: var(--white);
color: var(--primary-dark);
border: 2px solid var(--primary);
}
.btn-secondary:hover {
background: var(--primary);
color: var(--accent);
}
.hero-visual {
position: relative;
animation: fadeInRight 0.8s ease 0.4s both;
}
.hero-image-wrapper {
position: relative;
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-lg);
}
.hero-image-placeholder {
width: 100%;
aspect-ratio: 4/3;
background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: var(--accent);
font-size: 1.25rem;
font-weight: 500;
text-align: center;
padding: 40px;
}
.hero-image-placeholder span {
font-size: 4rem;
margin-bottom: 16px;
}
.floating-badge {
position: absolute;
background: var(--white);
padding: 16px 20px;
border-radius: var(--radius-md);
box-shadow: var(--shadow-md);
animation: float 3s ease-in-out infinite;
}
.floating-badge.top-right {
top: -20px;
right: -20px;
}
.floating-badge.bottom-left {
bottom: 40px;
left: -30px;
}
.floating-badge-icon {
font-size: 1.5rem;
margin-bottom: 4px;
}
.floating-badge-text {
font-size: 0.8rem;
font-weight: 600;
color: var(--accent);
}
.floating-badge-sub {
font-size: 0.7rem;
color: var(--text-muted);
}
@keyframes float {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
/* Section Styles */
.section {
padding: 100px 0;
}
.section-white {
background: var(--white);
}
.section-cream {
background: var(--cream);
}
.section-dark {
background: var(--accent);
color: var(--white);
}
.section-header {
text-align: center;
margin-bottom: 64px;
}
.section-tag {
display: inline-block;
background: rgba(244, 182, 194, 0.3);
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-dark .section-tag {
background: rgba(255, 255, 255, 0.15);
color: var(--white);
}
.section-header h2 {
font-size: clamp(2rem, 4vw, 3rem);
color: var(--accent);
margin-bottom: 16px;
}
.section-dark .section-header h2 {
color: var(--white);
}
.section-header p {
font-size: 1.15rem;
color: var(--text-muted);
max-width: 700px;
margin: 0 auto;
}
.section-dark .section-header p {
color: rgba(255, 255, 255, 0.8);
}
/* Services Overview */
.services-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px;
}
.service-card {
background: var(--cream);
border-radius: var(--radius-lg);
padding: 40px 32px;
text-align: center;
transition: var(--transition);
border: 2px solid transparent;
}
.service-card:hover {
border-color: var(--primary);
transform: translateY(-8px);
box-shadow: var(--shadow-lg);
}
.service-icon {
width: 80px;
height: 80px;
background: var(--primary);
border-radius: var(--radius-md);
display: flex;
align-items: center;
justify-content: center;
font-size: 2.5rem;
margin: 0 auto 24px;
}
.service-card h3 {
font-size: 1.35rem;
color: var(--accent);
margin-bottom: 12px;
}
.service-card p {
color: var(--text-muted);
font-size: 0.95rem;
line-height: 1.7;
}
/* Process Section */
.process-steps {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 24px;
position: relative;
}
.process-step {
text-align: center;
position: relative;
}
.step-number {
width: 72px;
height: 72px;
background: var(--primary);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-family: 'Fraunces', serif;
font-size: 1.75rem;
font-weight: 700;
margin: 0 auto 24px;
position: relative;
z-index: 2;
color: var(--accent);
}
.process-step:not(:last-child)::after {
content: '';
position: absolute;
top: 36px;
left: calc(50% + 48px);
width: calc(100% - 96px);
height: 2px;
background: linear-gradient(90deg, var(--primary), rgba(244, 182, 194, 0.3));
z-index: 1;
}
.process-step h4 {
font-family: 'Outfit', sans-serif;
font-size: 1.1rem;
font-weight: 600;
margin-bottom: 12px;
color: var(--white);
}
.process-step p {
font-size: 0.9rem;
opacity: 0.85;
line-height: 1.6;
}
/* Portfolio Grid */
.portfolio-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px;
}
.portfolio-item {
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-md);
transition: var(--transition);
}
.portfolio-item:hover {
transform: translateY(-8px);
box-shadow: var(--shadow-lg);
}
.portfolio-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(--accent);
font-weight: 500;
text-align: center;
padding: 20px;
}
.portfolio-image span {
font-size: 3rem;
margin-bottom: 12px;
}
.portfolio-content {
padding: 24px;
background: var(--white);
}
.portfolio-content h4 {
font-family: 'Outfit', sans-serif;
font-size: 1.1rem;
font-weight: 600;
color: var(--accent);
margin-bottom: 8px;
}
.portfolio-content p {
font-size: 0.9rem;
color: var(--text-muted);
}
/* Pricing Section */
.pricing-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px;
}
.pricing-card {
background: var(--white);
border-radius: var(--radius-lg);
overflow: hidden;
transition: var(--transition);
border: 2px solid var(--cream-dark);
position: relative;
}
.pricing-card.featured {
border-color: var(--primary);
transform: scale(1.05);
}
.pricing-card.featured::before {
content: 'Most Popular';
position: absolute;
top: 0;
left: 0;
right: 0;
background: var(--primary);
color: var(--accent);
text-align: center;
padding: 8px;
font-size: 0.8rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
}
.pricing-card:hover {
box-shadow: var(--shadow-lg);
}
.pricing-header {
padding: 40px 32px 24px;
text-align: center;
background: var(--cream);
}
.pricing-card.featured .pricing-header {
padding-top: 56px;
}
.pricing-header h3 {
font-size: 1.35rem;
color: var(--accent);
margin-bottom: 8px;
}
.pricing-header p {
font-size: 0.9rem;
color: var(--text-muted);
}
.pricing-price {
padding: 24px 32px;
text-align: center;
border-bottom: 1px solid var(--cream-dark);
}
.pricing-amount {
font-family: 'Fraunces', serif;
font-size: 3rem;
font-weight: 700;
color: var(--accent);
}
.pricing-amount span {
font-size: 1rem;
color: var(--text-muted);
font-family: 'Outfit', sans-serif;
font-weight: 400;
}
.pricing-features {
padding: 32px;
}
.pricing-features ul {
list-style: none;
}
.pricing-features li {
padding: 12px 0;
display: flex;
align-items: center;
gap: 12px;
font-size: 0.95rem;
color: var(--text-dark);
border-bottom: 1px solid var(--cream);
}
.pricing-features li:last-child {
border-bottom: none;
}
.pricing-features li::before {
content: 'β';
color: var(--primary-dark);
font-weight: 700;
}
.pricing-cta {
padding: 0 32px 32px;
}
.pricing-cta .btn {
width: 100%;
justify-content: center;
}
/* Features Grid */
.features-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 60px;
align-items: center;
}
.features-content h2 {
font-size: clamp(2rem, 4vw, 2.75rem);
color: var(--accent);
margin-bottom: 24px;
}
.features-content > p {
font-size: 1.1rem;
color: var(--text-muted);
margin-bottom: 40px;
}
.features-list {
display: flex;
flex-direction: column;
gap: 24px;
}
.feature-item {
display: flex;
gap: 20px;
align-items: flex-start;
}
.feature-icon {
width: 56px;
height: 56px;
background: var(--primary);
border-radius: var(--radius-sm);
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
flex-shrink: 0;
}
.feature-text h4 {
font-family: 'Outfit', sans-serif;
font-size: 1.15rem;
font-weight: 600;
color: var(--accent);
margin-bottom: 4px;
}
.feature-text p {
color: var(--text-muted);
font-size: 0.95rem;
}
.features-image {
position: relative;
}
.features-image-wrapper {
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-lg);
}
.features-placeholder {
width: 100%;
aspect-ratio: 4/5;
background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: var(--accent);
font-size: 1.25rem;
text-align: center;
padding: 40px;
}
.features-placeholder span {
font-size: 5rem;
margin-bottom: 24px;
}
/* Industries Section */
.industries-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
}
.industry-card {
background: var(--cream);
border-radius: var(--radius-md);
padding: 32px 24px;
text-align: center;
transition: var(--transition);
border: 2px solid transparent;
}
.industry-card:hover {
border-color: var(--primary);
transform: translateY(-4px);
}
.industry-icon {
width: 64px;
height: 64px;
background: var(--primary);
border-radius: var(--radius-sm);
display: flex;
align-items: center;
justify-content: center;
font-size: 2rem;
margin: 0 auto 16px;
}
.industry-card h4 {
font-family: 'Outfit', sans-serif;
font-size: 1rem;
font-weight: 600;
color: var(--accent);
margin-bottom: 8px;
}
.industry-card p {
font-size: 0.85rem;
color: var(--text-muted);
}
/* FAQ Section */
.faq-grid {
display: flex;
flex-direction: column;
gap: 16px;
max-width: 800px;
margin: 0 auto;
}
.faq-item {
background: var(--white);
border-radius: var(--radius-md);
overflow: hidden;
border: 1px solid var(--cream-dark);
transition: var(--transition);
}
.faq-item:hover {
box-shadow: var(--shadow-sm);
}
.faq-question {
padding: 24px;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
font-weight: 600;
color: var(--accent);
list-style: none;
width: 100%;
}
.faq-question::-webkit-details-marker {
display: none;
}
.faq-question::after {
content: '+';
font-size: 1.5rem;
color: var(--primary-dark);
transition: var(--transition);
flex-shrink: 0;
margin-left: 16px;
}
.faq-item[open] .faq-question::after {
transform: rotate(45deg);
}
.faq-answer {
padding: 0 24px 24px;
}
.faq-answer p {
color: var(--text-muted);
line-height: 1.7;
}
/* Testimonials */
.testimonials-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 32px;
}
.testimonial-card {
background: var(--white);
border-radius: var(--radius-lg);
padding: 40px;
position: relative;
transition: var(--transition);
}
.testimonial-card:hover {
box-shadow: var(--shadow-md);
}
.testimonial-quote {
font-size: 3rem;
color: var(--primary);
font-family: 'Fraunces', serif;
line-height: 1;
margin-bottom: 16px;
}
.testimonial-text {
font-size: 1.05rem;
color: var(--text-muted);
margin-bottom: 24px;
font-style: italic;
line-height: 1.8;
}
.testimonial-author {
display: flex;
align-items: center;
gap: 16px;
}
.author-avatar {
width: 56px;
height: 56px;
background: var(--primary);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: var(--accent);
font-weight: 600;
font-size: 1.25rem;
}
.author-info h5 {
font-family: 'Outfit', sans-serif;
font-weight: 600;
color: var(--accent);
}
.author-info p {
font-size: 0.875rem;
color: var(--text-muted);
}
/* Map Section */
.map-section {
padding: 100px 0;
background: var(--white);
}
.map-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: center;
}
.map-content h2 {
font-size: clamp(2rem, 4vw, 2.75rem);
color: var(--accent);
margin-bottom: 24px;
}
.map-content > p {
font-size: 1.1rem;
color: var(--text-muted);
margin-bottom: 32px;
}
.contact-info {
display: flex;
flex-direction: column;
gap: 20px;
}
.contact-item {
display: flex;
align-items: center;
gap: 16px;
}
.contact-icon {
width: 48px;
height: 48px;
background: var(--cream);
border-radius: var(--radius-sm);
display: flex;
align-items: center;
justify-content: center;
font-size: 1.25rem;
}
.contact-text h5 {
font-family: 'Outfit', sans-serif;
font-weight: 600;
color: var(--accent);
font-size: 0.875rem;
margin-bottom: 2px;
}
.contact-text p, .contact-text a {
color: var(--text-muted);
font-size: 1rem;
}
.contact-text a:hover {
color: var(--primary-dark);
}
.map-wrapper {
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-lg);
height: 450px;
}
.map-wrapper iframe {
width: 100%;
height: 100%;
border: 0;
}
/* 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;
}
.cta .btn-primary {
background: var(--accent);
font-size: 1.1rem;
padding: 20px 40px;
}
.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 {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px;
}
.related-card {
background: var(--cream);
border-radius: var(--radius-lg);
padding: 32px;
transition: var(--transition);
border: 2px solid transparent;
}
.related-card:hover {
border-color: var(--primary);
transform: translateY(-4px);
}
.related-icon {
font-size: 2.5rem;
margin-bottom: 16px;
}
.related-card h4 {
font-family: 'Outfit', sans-serif;
font-size: 1.15rem;
font-weight: 600;
color: var(--accent);
margin-bottom: 12px;
}
.related-card p {
font-size: 0.9rem;
color: var(--text-muted);
margin-bottom: 16px;
}
.related-link {
display: inline-flex;
align-items: center;
gap: 8px;
color: var(--primary-dark);
font-weight: 600;
font-size: 0.9rem;
}
.related-link:hover {
gap: 12px;
}
/* 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);
}
/* 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);
}
}
/* 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(43, 43, 43, 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);
}
/* Responsive */
@media (max-width: 1024px) {
.hero-grid {
grid-template-columns: 1fr;
gap: 48px;
}
.hero-visual {
order: -1;
}
.services-grid {
grid-template-columns: repeat(2, 1fr);
}
.process-steps {
grid-template-columns: repeat(3, 1fr);
}
.process-step:not(:last-child)::after {
display: none;
}
.portfolio-grid {
grid-template-columns: repeat(2, 1fr);
}
.pricing-grid {
grid-template-columns: 1fr;
max-width: 450px;
margin: 0 auto;
}
.pricing-card.featured {
transform: none;
}
.features-grid {
grid-template-columns: 1fr;
gap: 48px;
}
.features-image {
order: -1;
}
.industries-grid {
grid-template-columns: repeat(2, 1fr);
}
.faq-grid {
grid-template-columns: 1fr;
}
.testimonials-grid {
grid-template-columns: 1fr;
}
.map-grid {
grid-template-columns: 1fr;
gap: 48px;
}
.related-services {
grid-template-columns: 1fr;
}
.footer-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.nav-links {
display: none;
}
.mobile-toggle {
display: flex;
}
.hero {
min-height: auto;
padding: 40px 0 60px;
}
.hero h1 {
font-size: 2rem;
}
.hero-features {
flex-direction: column;
}
.section {
padding: 60px 0;
}
.services-grid {
grid-template-columns: 1fr;
}
.process-steps {
grid-template-columns: 1fr;
}
.portfolio-grid {
grid-template-columns: 1fr;
}
.industries-grid {
grid-template-columns: 1fr;
}
.footer-grid {
grid-template-columns: 1fr;
}
.footer-bottom {
flex-direction: column;
gap: 16px;
text-align: center;
}
.floating-badge {
display: none;
}
}
π¨ Professional Web Design Services
Website Design Vancouver WA That Converts Visitors Into Customers
Looking for a web designer in Vancouver, Washington who builds stunning, high-converting websites? Crocs and Clicks creates custom website designs that look beautiful on every device, load lightning-fast, and are built from the ground up to generate leads and grow your business.
π± Mobile-Responsive
β‘ Fast Loading
π SEO-Optimized
π»
Web Design Hero Image
Recommended: Mockup of website on devices Dimensions: 800Γ600px
β
5-Star Rated
Web Design Agency
π
2-Week Turnaround
Average Project Time
π’
Small Business Website Design
Professional websites designed specifically for small businesses in Vancouver, WA. We create conversion-focused sites that establish credibility, showcase your services, and turn visitors into paying customers.
π§
Contractor Website Design
Specialized website design for HVAC, roofing, plumbing, and electrical contractors. Our contractor websites are built to generate leads, display your work portfolio, and rank in local search results.
π
E-commerce Website Design
Sell products online with a beautifully designed e-commerce website. We build secure, user-friendly online stores with integrated payment processing and inventory management systems.
π
Website Redesign Services
Is your current website outdated or underperforming? Our Vancouver WA website redesign services transform old, slow websites into modern, fast, mobile-responsive platforms that convert.
π
WordPress Website Design
Custom WordPress website design that gives you full control over your content. We build WordPress sites that are easy to update, secure, and optimized for search engines.
π
Landing Page Design
High-converting landing pages designed to capture leads and drive sales. Perfect for marketing campaigns, product launches, and service promotions in the Vancouver area.
1
Discovery Call
We start with a free consultation to understand your business, goals, target audience, and design preferences.
2
Strategy & Planning
We create a detailed sitemap, wireframes, and content strategy tailored to your industry and conversion goals.
3
Design Mockups
You receive custom design mockups for review. We refine the design based on your feedback until it's perfect.
4
Development
Our developers build your responsive, SEO-optimized website with clean code and fast load times.
5
Launch & Support
We launch your site, provide training, and offer ongoing support and maintenance packages.
π
Portfolio Image
HVAC Contractor Website
Pacific Northwest HVAC
Custom website design for a Vancouver HVAC contractor with online booking integration.
π¨
Portfolio Image
Roofing Company Website
Clark County Roofing
Lead-generating website with before/after gallery and instant quote calculator.
πͺ
Portfolio Image
Local Business E-commerce
Vancouver Boutique Shop
E-commerce website with 200+ products, local pickup, and shipping integration.
Up to 5 custom pages
Mobile-responsive design
Basic SEO setup
Contact form integration
Google Analytics setup
2 rounds of revisions
2-week turnaround
Up to 15 custom pages
Advanced responsive design
Complete SEO optimization
Blog/news section
Lead capture forms
Speed optimization
Unlimited revisions
3-week turnaround
Full e-commerce setup
Product catalog design
Payment gateway integration
Inventory management
Shipping calculator
Customer accounts
Security certificate
4-week turnaround
Need a custom solution? Contact us for a personalized quote.
Why Choose Crocs and Clicks for Website Design in Vancouver, WA?
We're not just web designers β we're your digital growth partners. Our Vancouver-based web design agency combines stunning aesthetics with conversion-focused strategy to deliver websites that actually grow your business.
π
Local Vancouver WA Web Designer
We're based right here in Vancouver, Washington. We understand the local market and are available for in-person meetings when you need them.
π
SEO Built Into Every Website
Every website we build is optimized for search engines from day one. We don't just make pretty sites β we make sites that rank and get found.
β‘
Fast Load Times Guaranteed
Slow websites kill conversions. We optimize every element for speed, ensuring your site loads in under 3 seconds on all devices.
π―
Conversion-Focused Design
Beautiful design is just the start. We strategically place calls-to-action, optimize user flow, and design with your business goals in mind.
π
Team/Design Process Image
Recommended: Designer at work or team collaboration Dimensions: 600Γ750px
βοΈ
HVAC Contractors
Websites with online scheduling and service area maps
π
Roofing Companies
Lead gen sites with project galleries and quote forms
π§
Plumbing Services
Emergency contact features and service listings
β‘
Electricians
Professional sites with licensing and certifications
π¨
Painting Contractors
Visual portfolios with before/after galleries
ποΈ
General Contractors
Project showcases and testimonial features
πͺ
Local Retail
E-commerce integration and local SEO focus
πΌ
Professional Services
Credibility-focused designs with booking systems
"
Our new website from Crocs and Clicks has completely changed our business. We went from getting 2-3 leads a month to 15-20. The design is stunning, it loads fast, and our customers constantly compliment it. Best investment we've made.
DT
David T.
HVAC Contractor, Vancouver WA
"
As a small business owner, I was nervous about the website redesign process. Benjamin and team made it so easy. They listened to what I wanted, delivered on time, and the result exceeded my expectations. Highly recommend!
LM
Lisa M.
Boutique Owner, Downtown Vancouver
How much does website design cost in Vancouver WA?
Our website design packages start at $1,500 for basic 5-page websites and range up to $5,000+ for full e-commerce sites. Most Vancouver small businesses invest between $2,500-$4,500 for a professional, conversion-optimized website. We offer transparent pricing with no hidden fees.
How long does it take to build a website?
Most website projects are completed within 2-4 weeks, depending on complexity. A basic 5-page website typically takes 2 weeks, while larger projects with custom features may take 4-6 weeks. We'll provide a detailed timeline during your free consultation.
Will my website be mobile-responsive?
Absolutely! Every website we build is fully responsive and optimized for mobile devices, tablets, and desktops. With over 60% of web traffic coming from mobile devices, we ensure your site looks and functions perfectly on every screen size.
Do you offer website maintenance?
Yes, we offer ongoing website maintenance packages starting at $99/month. This includes security updates, backups, content updates, performance monitoring, and priority support. We recommend maintenance to keep your site secure and performing optimally.
Will my website be SEO-friendly?
Yes! SEO is built into every website we create. We implement proper heading structure, meta tags, image optimization, fast load times, mobile responsiveness, and clean code β all factors that help your site rank in Google. For advanced SEO, check out our SEO services .
Can I update the website myself?
Yes! We build most websites on user-friendly platforms like WordPress that allow you to easily update content, add blog posts, and make changes without technical knowledge. We also provide training after launch to ensure you're comfortable managing your site.
Vancouver, WA Web Design Agency
Located in Vancouver, Washington, Crocs and Clicks is your local web design partner. We serve businesses throughout Clark County, the Portland metro area, and the Pacific Northwest. Whether you're in downtown Vancouver, Salmon Creek, Camas, or Battle Ground, we're here to build your perfect website.
Get Your Free Web Design Quote β
Ready for a Website That Grows Your Business?
Get a free, no-obligation web design consultation. We'll discuss your goals, review your current website, and provide recommendations tailored to your Vancouver, WA business.
.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; }
}