AIPDMA B6 – Evening Batch – Feb 2026

Anchor Studio — Web Design & Digital Strategy *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; } :root { --slate: #2C2C2C; --slate-dark: #1E1E1E; --warm: #FCFCFC; --warm-light: #FFFFFF; --olive: #E8B830; --olive-dark: #C9A020; --olive-light: #FCF3D4; --text: #2D3748; --text-muted: #5A6577; --white: #FFFFFF; --shadow-sm: 0 1px 3px rgba(44, 44, 44, 0.08); --shadow-md: 0 4px 16px rgba(44, 44, 44, 0.1); --shadow-lg: 0 12px 40px rgba(44, 44, 44, 0.12); --radius: 14px; --radius-lg: 20px; --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1); } html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; } body { font-family: 'Inter', -apple-system, sans-serif; color: var(--text); background: var(--warm); line-height: 1.7; font-size: 1.0625rem; } h1, h2, h3, h4, h5, h6 { font-family: 'Poppins', sans-serif; line-height: 1.25; color: var(--slate); font-weight: 600; } h1 { font-size: clamp(2.2rem, 5.5vw, 3.6rem); font-weight: 700; } h2 { font-size: clamp(1.8rem, 4vw, 2.6rem); } h3 { font-size: clamp(1.2rem, 2.5vw, 1.5rem); } img { max-width: 100%; height: auto; display: block; } a { text-decoration: none; color: inherit; } .container { max-width: 1180px; margin: 0 auto; padding: 0 24px; } .section { padding: 100px 0; } .section-label { display: inline-block; font-family: 'Poppins', sans-serif; font-size: 0.8rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--olive); margin-bottom: 12px; } .section-title { margin-bottom: 16px; } .section-sub { font-size: 1.1rem; color: var(--text-muted); max-width: 620px; line-height: 1.7; } .btn { display: inline-flex; align-items: center; gap: 8px; font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.95rem; padding: 14px 30px; border-radius: 50px; border: none; cursor: pointer; transition: var(--transition); line-height: 1; } .btn-primary { background: var(--slate); color: var(--white); } .btn-primary:hover { background: var(--slate-dark); transform: translateY(-2px); box-shadow: var(--shadow-md); } .btn-outline { background: transparent; color: var(--slate); border: 2px solid var(--slate); } .btn-outline:hover { background: var(--slate); color: var(--white); transform: translateY(-2px); } .btn-olive { background: var(--olive); color: var(--white); } .btn-olive:hover { background: var(--olive-dark); transform: translateY(-2px); box-shadow: var(--shadow-md); } /* ---------- NAV ---------- */ nav { position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; padding: 18px 0; transition: var(--transition); } nav.scrolled { background: rgba(253, 246, 236, 0.95); backdrop-filter: blur(12px); box-shadow: var(--shadow-sm); padding: 12px 0; } .nav-inner { display: flex; align-items: center; justify-content: space-between; max-width: 1180px; margin: 0 auto; padding: 0 24px; } .logo { font-family: 'Poppins', sans-serif; font-size: 1.5rem; font-weight: 700; color: var(--warm); transition: var(--transition); } .logo span { color: var(--olive); } nav.scrolled .logo { color: var(--slate); } .nav-links { display: flex; align-items: center; gap: 32px; list-style: none; } .nav-links a { font-size: 0.9rem; font-weight: 500; color: var(--warm); transition: var(--transition); position: relative; } .nav-links a::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 2px; background: var(--olive); transition: var(--transition); } .nav-links a:hover::after { width: 100%; } nav.scrolled .nav-links a { color: var(--text); } .nav-cta { background: var(--olive); color: var(--white); padding: 10px 24px; border-radius: 50px; font-size: 0.85rem; font-weight: 500; transition: var(--transition); } .nav-cta:hover { background: var(--olive-dark); transform: translateY(-1px); } nav.scrolled .nav-links a.nav-cta { color: var(--white); } .hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; background: none; border: none; padding: 4px; } .hamburger span { width: 26px; height: 2.5px; background: var(--warm); border-radius: 4px; transition: var(--transition); } nav.scrolled .hamburger span { background: var(--slate); } /* ---------- HERO ---------- */ .hero { min-height: 100vh; display: flex; align-items: center; position: relative; background: url('https://images.unsplash.com/photo-1497366216548-37526070297c?w=1400&q=80') center center / cover no-repeat; padding: 140px 0 80px; } .hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient( 135deg, rgba(44, 44, 44, 0.88) 0%, rgba(44, 44, 44, 0.7) 50%, rgba(232, 184, 48, 0.3) 100% ); z-index: 1; } .hero .container { position: relative; z-index: 2; } .hero-content { max-width: 700px; } .hero h1 { color: var(--white); margin-bottom: 20px; } .hero p { font-size: 1.15rem; color: rgba(253, 246, 236, 0.9); line-height: 1.8; margin-bottom: 36px; max-width: 560px; } .hero-btns { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 50px; } .hero-btns .btn-primary { background: var(--olive); color: var(--white); } .hero-btns .btn-primary:hover { background: var(--olive-dark); } .hero-btns .btn-outline { border-color: var(--warm); color: var(--warm); } .hero-btns .btn-outline:hover { background: var(--warm); color: var(--slate); } .trust-row { display: flex; align-items: center; gap: 32px; flex-wrap: wrap; } .trust-item { display: flex; align-items: center; gap: 8px; color: rgba(253, 246, 236, 0.8); font-size: 0.85rem; } .trust-item svg { flex-shrink: 0; } /* ---------- ABOUT ---------- */ .about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; } .about-image { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-lg); } .about-image img { width: 100%; height: 420px; object-fit: cover; transition: var(--transition); } .about-image:hover img { transform: scale(1.03); } .about-text p { color: var(--text-muted); margin-bottom: 18px; } .about-text p:last-child { margin-bottom: 0; } /* ---------- SERVICES ---------- */ .services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 48px; } .service-card { background: var(--white); padding: 36px 30px; border-radius: var(--radius); box-shadow: var(--shadow-sm); transition: var(--transition); border: 1px solid rgba(44, 44, 44, 0.06); } .service-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: var(--olive-light); } .service-icon { width: 52px; height: 52px; background: var(--olive-light); border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; color: var(--olive); } .service-card h3 { margin-bottom: 12px; } .service-card p { font-size: 0.95rem; color: var(--text-muted); line-height: 1.7; margin-bottom: 20px; } .service-link { font-size: 0.85rem; font-weight: 600; color: var(--olive); display: inline-flex; align-items: center; gap: 6px; transition: var(--transition); } .service-link:hover { gap: 10px; } /* ---------- WHY ---------- */ .why-bg { background: var(--slate); } .why-bg .section-title, .why-bg .section-label { color: var(--warm); } .why-bg .section-sub { color: rgba(253, 246, 236, 0.75); } .why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 48px; } .why-item { padding: 28px; background: rgba(255, 255, 255, 0.06); border-radius: var(--radius); border: 1px solid rgba(253, 246, 236, 0.08); transition: var(--transition); } .why-item:hover { background: rgba(255, 255, 255, 0.1); transform: translateY(-3px); } .why-item h4 { font-family: 'Poppins', sans-serif; color: var(--warm); font-weight: 600; font-size: 1.05rem; margin-bottom: 10px; } .why-item p { font-size: 0.92rem; color: rgba(253, 246, 236, 0.7); line-height: 1.7; } .why-num { font-family: 'Poppins', sans-serif; font-size: 0.75rem; font-weight: 700; color: var(--olive); letter-spacing: 1px; margin-bottom: 8px; } /* ---------- PROCESS ---------- */ .process-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; margin-top: 48px; position: relative; } .process-step { text-align: center; position: relative; } .process-circle { width: 64px; height: 64px; border-radius: 50%; background: var(--olive-light); display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 1.3rem; color: var(--olive); transition: var(--transition); position: relative; z-index: 2; } .process-step:hover .process-circle { background: var(--olive); color: var(--white); transform: scale(1.1); } .process-step h4 { font-size: 1rem; margin-bottom: 8px; } .process-step p { font-size: 0.85rem; color: var(--text-muted); line-height: 1.6; padding: 0 4px; } /* ---------- TESTIMONIALS ---------- */ .testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 48px; } .testimonial-card { background: var(--white); padding: 32px; border-radius: var(--radius); box-shadow: var(--shadow-sm); border: 1px solid rgba(44, 44, 44, 0.06); } .testimonial-card .stars { color: #D4A84B; font-size: 0.95rem; margin-bottom: 14px; } .testimonial-card blockquote { font-size: 0.95rem; color: var(--text-muted); line-height: 1.75; font-style: normal; margin-bottom: 18px; } .testimonial-author { display: flex; align-items: center; gap: 12px; } .testimonial-author img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; } .testimonial-author strong { display: block; font-size: 0.9rem; font-family: 'Poppins', sans-serif; color: var(--slate); } .testimonial-author span { font-size: 0.8rem; color: var(--text-muted); } /* ---------- PORTFOLIO ---------- */ .portfolio-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; } .portfolio-card { border-radius: var(--radius); overflow: hidden; position: relative; box-shadow: var(--shadow-sm); } .portfolio-card img { width: 100%; height: 280px; object-fit: cover; transition: var(--transition); } .portfolio-card:hover img { transform: scale(1.07); } .portfolio-overlay { position: absolute; bottom: 0; left: 0; right: 0; padding: 20px 24px; background: linear-gradient(transparent, rgba(44, 44, 44, 0.85)); color: var(--warm); } .portfolio-overlay span { display: inline-block; font-size: 0.7rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; background: var(--olive); padding: 3px 12px; border-radius: 50px; margin-bottom: 6px; } .portfolio-overlay h4 { color: var(--warm); font-size: 1.05rem; } /* ---------- STATS ---------- */ .stats-bg { background: var(--slate); } .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; text-align: center; } .stat-item h3 { font-size: clamp(2.2rem, 4vw, 3rem); color: var(--warm); font-weight: 700; } .stat-item h3 span { color: var(--olive); } .stat-item p { color: rgba(253, 246, 236, 0.65); font-size: 0.95rem; margin-top: 4px; } /* ---------- PRICING ---------- */ .pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 48px; } .pricing-card { background: var(--white); border-radius: var(--radius); padding: 40px 32px; box-shadow: var(--shadow-sm); border: 1px solid rgba(44, 44, 44, 0.06); transition: var(--transition); display: flex; flex-direction: column; } .pricing-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); } .pricing-card.featured { border-color: var(--olive); border-width: 2px; position: relative; } .pricing-card.featured .badge { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: var(--olive); color: var(--white); font-size: 0.75rem; font-weight: 600; padding: 4px 18px; border-radius: 50px; } .pricing-card h3 { margin-bottom: 8px; } .pricing-card .price { font-family: 'Poppins', sans-serif; font-size: 2.4rem; font-weight: 700; color: var(--slate); margin-bottom: 4px; } .pricing-card .price-sub { font-size: 0.85rem; color: var(--text-muted); margin-bottom: 24px; } .pricing-card ul { list-style: none; margin-bottom: 28px; flex: 1; } .pricing-card ul li { padding: 8px 0; font-size: 0.92rem; color: var(--text-muted); display: flex; align-items: center; gap: 10px; } .pricing-card ul li::before { content: ''; width: 6px; height: 6px; background: var(--olive); border-radius: 50%; flex-shrink: 0; } .pricing-card .btn { width: 100%; justify-content: center; } /* ---------- FAQ ---------- */ .faq-list { max-width: 740px; margin: 48px auto 0; } .faq-item { border-bottom: 1px solid rgba(44, 44, 44, 0.1); padding: 20px 0; } .faq-question { display: flex; justify-content: space-between; align-items: center; cursor: pointer; font-family: 'Poppins', sans-serif; font-weight: 500; font-size: 1.05rem; color: var(--slate); gap: 16px; } .faq-question svg { flex-shrink: 0; transition: var(--transition); } .faq-item.open .faq-question svg { transform: rotate(45deg); } .faq-answer { max-height: 0; overflow: hidden; transition: var(--transition); } .faq-item.open .faq-answer { max-height: 300px; } .faq-answer p { font-size: 0.95rem; color: var(--text-muted); line-height: 1.75; padding-top: 14px; } /* ---------- FINAL CTA ---------- */ .cta-section { background: var(--slate); text-align: center; padding: 100px 0; } .cta-section h2 { color: var(--warm); margin-bottom: 16px; } .cta-section p { color: rgba(253, 246, 236, 0.75); font-size: 1.1rem; max-width: 520px; margin: 0 auto 36px; line-height: 1.7; } .cta-section .btn-primary { background: var(--olive); color: var(--white); } .cta-section .btn-primary:hover { background: var(--olive-dark); } /* ---------- FOOTER ---------- */ footer { background: var(--slate-dark); color: rgba(253, 246, 236, 0.7); padding: 70px 0 30px; } .footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.5fr; gap: 40px; margin-bottom: 48px; } footer .logo { color: var(--warm); font-size: 1.3rem; display: inline-block; margin-bottom: 14px; } .footer-desc { font-size: 0.9rem; line-height: 1.7; margin-bottom: 20px; } .social-links { display: flex; gap: 14px; } .social-links a { width: 38px; height: 38px; border-radius: 50%; background: rgba(253, 246, 236, 0.1); display: flex; align-items: center; justify-content: center; transition: var(--transition); color: var(--warm); } .social-links a:hover { background: var(--olive); transform: translateY(-2px); } footer h4 { font-family: 'Poppins', sans-serif; font-size: 0.95rem; color: var(--warm); margin-bottom: 18px; } footer ul { list-style: none; } footer ul li { margin-bottom: 10px; } footer ul a { font-size: 0.9rem; transition: var(--transition); } footer ul a:hover { color: var(--olive); } .footer-contact li { display: flex; gap: 10px; font-size: 0.9rem; } .newsletter-form { display: flex; gap: 8px; margin-top: 4px; } .newsletter-form input { flex: 1; padding: 12px 16px; border: 1px solid rgba(253, 246, 236, 0.2); border-radius: 50px; background: rgba(253, 246, 236, 0.06); color: var(--warm); font-family: 'Inter', sans-serif; font-size: 0.85rem; outline: none; transition: var(--transition); } .newsletter-form input::placeholder { color: rgba(253, 246, 236, 0.4); } .newsletter-form input:focus { border-color: var(--olive); } .newsletter-form button { padding: 12px 20px; border: none; border-radius: 50px; background: var(--olive); color: var(--white); font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.85rem; cursor: pointer; transition: var(--transition); } .newsletter-form button:hover { background: var(--olive-dark); } .footer-bottom { border-top: 1px solid rgba(253, 246, 236, 0.08); padding-top: 24px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 0.82rem; } /* ---------- RESPONSIVE ---------- */ @media (max-width: 1024px) { .services-grid { grid-template-columns: repeat(2, 1fr); } .testimonial-grid { grid-template-columns: repeat(2, 1fr); } .portfolio-grid { grid-template-columns: repeat(2, 1fr); } .pricing-grid { grid-template-columns: repeat(2, 1fr); } .pricing-card.featured { order: -1; } .process-grid { grid-template-columns: repeat(3, 1fr); } .process-step:nth-child(4), .process-step:nth-child(5) { margin-top: 0; } .footer-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 768px) { .nav-links { position: fixed; top: 0; right: -100%; width: 280px; height: 100vh; background: var(--slate); flex-direction: column; padding: 80px 32px 32px; gap: 20px; transition: var(--transition); box-shadow: -4px 0 20px rgba(0,0,0,0.15); align-items: flex-start; } .nav-links.open { right: 0; } nav.scrolled .nav-links { background: var(--slate); } nav.scrolled .nav-links a { color: var(--warm); } .hamburger { display: flex; z-index: 1001; } .hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); } .hamburger.open span:nth-child(2) { opacity: 0; } .hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); } .hero { padding: 120px 0 60px; } .hero h1 { font-size: clamp(1.8rem, 8vw, 2.4rem); } .hero p { font-size: 1rem; } .section { padding: 70px 0; } .about-grid { grid-template-columns: 1fr; gap: 36px; } .about-image img { height: 280px; } .services-grid { grid-template-columns: 1fr; } .why-grid { grid-template-columns: 1fr; } .testimonial-grid { grid-template-columns: 1fr; } .portfolio-grid { grid-template-columns: 1fr; } .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 28px; } .pricing-grid { grid-template-columns: 1fr; } .process-grid { grid-template-columns: 1fr 1fr; gap: 28px; } .footer-grid { grid-template-columns: 1fr; gap: 32px; } .newsletter-form { flex-direction: column; } .footer-bottom { flex-direction: column; text-align: center; } } @media (max-width: 480px) { .stats-grid { grid-template-columns: 1fr 1fr; gap: 24px; } .process-grid { grid-template-columns: 1fr; } .hero-btns .btn { width: 100%; justify-content: center; } }

Building a better online presence without the usual complexity.

We help small and mid-sized businesses build websites that actually work — clear navigation, modern design, and a strategy that makes sense for your real-world goals. No jargon, no unnecessary features.

5-star on Clutch 50+ projects delivered 90% repeat clients

We started Anchor because we were tired of how most agencies operate.

A few years back, a group of us were working at different digital agencies. Big ones. The kind where you'd spend weeks on meetings about meetings and the client still ended up with a site they didn't really love. We thought there had to be a better way.

So we left and started Anchor. No investors. No strict hierarchy. Just a small team that actually enjoys building things and talking to clients like real people. We work with all sorts of businesses — local shops, professional services, e-commerce brands, nonprofits. The common thread is that they all wanted something honest and functional.

Our approach is pretty simple. We listen first. Then we figure out what actually needs to be built. No upsells, no unnecessary pages, no bloated features. Just clean strategy and solid execution.

Most of our clients have been with us for years. We think that says more than any pitch ever could. If you're looking for someone who treats your project like it matters, we'd love to hear from you.

Small team working together at a wooden table in a bright office

Services designed around your actual needs.

We don't sell packages you didn't ask for. Every service here exists because a client needed it.

Web Design & Redesign

We redesign outdated websites so they load faster, look cleaner, and actually work on mobile. No templates — every layout is built for your specific content and audience.

Learn more →

Custom Development

Need something more than a standard site? We build custom features, membership areas, booking systems, and internal tools that integrate with the tools you already use.

Learn more →

Brand Identity

Logos, color systems, typography, and visual guidelines. We help you build a cohesive brand that looks professional across your site, social media, and print materials.

Learn more →

Content & Copywriting

Words matter more than most people think. We write website copy that actually gets read — clear messaging, genuine tone, and text that helps visitors understand what you do.

Learn more →

SEO & Performance

We optimize sites so search engines can actually find them. Technical SEO, speed improvements, structured data, and ongoing adjustments based on what the data tells us.

Learn more →

Ongoing Maintenance

Websites need care. We handle updates, security patches, backups, and small tweaks so you don't have to worry about things breaking when you least expect it.

Learn more →

Six reasons clients stick with us.

We don't have a secret formula. Just a different way of working that most people seem to appreciate.

01

You talk to the people building your project

No account managers or middlemen. When you reach out, you get a direct reply from a designer or developer who actually knows what's going on.

02

We show you everything as we go

You get access to progress updates, drafts, and preview links from day one. No surprises at the end. If something isn't right, we catch it early.

03

Strategy before design. Always.

We don't open a design tool until we understand your goals, your audience, and what actually needs to happen. Saves everyone time and money.

04

We deliver when we say we will

Deadlines matter. We set realistic timelines and stick to them. If something changes, we communicate it immediately instead of going silent.

05

We're still around after launch

Most agencies hand off the files and disappear. We offer ongoing support, quick fixes, and check-ins to make sure everything keeps running smoothly.

06

We care about the little things

Alignment, spacing, load times, button hover states, the way text breaks on mobile. These details add up. We notice them so your visitors don't have to.

How we work together.

No rigid methodology. Just a clear path from conversation to launch.

01

Discussion

We sit down and talk about where you are now and where you want to be. No pressure, no sales pitch — just a real conversation.

02

Planning

Once we understand the scope, we map out the structure, content, and timeline. You get a clear roadmap before any work begins.

03

Design

We create wireframes and visual mockups. You review, give feedback, and we iterate until it feels right. Simple as that.

04

Launch

After testing everything across devices and browsers, we push it live. You get a walkthrough and all the credentials you need.

05

Support

Launch day isn't the end. We stay available for tweaks, questions, and ongoing improvements whenever you need us.

What clients say about working with us.

We let our work speak — but sometimes clients say nice things, too.

★★★★★
"We had worked with other agencies before, but communication here felt much easier. The updates were clear and the final result matched what we discussed. No last-minute surprises, no scope creep. Just a solid website delivered on time."
Marcus Chen Owner, Northside Coffee Co.
★★★★★
"Honestly, I was a bit nervous about redesigning our site. We'd had the same one for almost six years. But the team made the whole process straightforward. They listened to what we needed and didn't try to sell us extras."
Sarah Okonkwo Founder, Bloom & Spice
★★★★★
"What stood out was how responsive they were. Whenever I had a question, I got an answer within a few hours. Not days. That kind of reliability matters when you're running a business and can't afford downtime."
David Park Director, Park Financial Group

Recent projects we're proud of.

Each one taught us something new.

E-commerce website for a local retail brand
E-commerce

Local Retail Brand

Professional services website
Professional Services

Park Financial Group

Blog and content platform
Content Platform

Bloom & Spice Blog

0+

Projects completed

0%

Repeat clients

0+

Years in business

0%

Client satisfaction

Simple plans. No hidden fees.

Every project is different, but these three structures cover most of what clients ask for.

Starter

$2,800
One-time · Ideal for small projects
  • 5-page responsive website
  • Pre-made layouts, customized
  • Basic SEO setup
  • Contact form integration
  • 2 rounds of revisions
  • 30 days of post-launch support
Get started

Advanced

$9,500
One-time · For complex projects
  • Custom web application or platform
  • Tailored UI & UX design
  • Advanced functionality & integrations
  • Performance optimization
  • Ongoing maintenance plan included
  • Priority support for 6 months
  • Dedicated project lead
Get started

Common questions we hear.

If something's missing, just ask. We prefer real conversations over FAQ pages anyway.

How long does a typical project take?

It depends on the scope, but most sites take between 4 and 8 weeks from start to finish. A simple landing page might take two weeks. A full e-commerce build could take a couple of months. We'll give you a realistic timeline during the planning phase so you know exactly what to expect.

Do you work with existing brands or only startups?

Both, really. We've worked with established companies that needed a complete rebrand and refresh, and we've worked with first-time founders who were building their online presence from scratch. Either way, our approach is the same — understand the business and build something that fits.

What happens if I don't like the design?

It happens sometimes. Design is subjective. We start with low-fidelity wireframes so we can agree on structure before moving to visuals. Once we're both happy with the direction, we build out the final design. If something isn't working, we iterate until it does. Our plans include multiple revision rounds for this reason.

Do you host websites or just build them?

We don't host sites ourselves, but we help you set up hosting with a reliable provider and handle the entire deployment process. We'll make sure everything is configured properly — domain, SSL, email, the works. We can also recommend a hosting plan based on your traffic needs so you're not overpaying.

Can you help with content if I don't have any written yet?

Absolutely. A lot of our clients don't have ready-to-use content. We can help write copy, gather images, and structure everything so it tells a clear story. We've found that most business owners know their stuff but struggle to put it into words. That's where we come in.

Do you require long-term contracts?

Nope. We work on a project basis. No lock-in contracts, no auto-renewing retainers. If you want ongoing maintenance after launch, we can set up a monthly plan. But that's entirely optional. We'd rather have you stay because you want to, not because you're stuck in a contract.

Ready to build something that actually works?

No pressure. No sales pitch. Just a conversation about what you need and whether we're the right fit for each other.

Start a conversation
// Nav scroll const nav = document.getElementById('navbar'); const hamburger = document.getElementById('hamburger'); const navLinks = document.getElementById('navLinks'); window.addEventListener('scroll', () => { if (window.scrollY > 50) { nav.classList.add('scrolled'); } else { nav.classList.remove('scrolled'); } }); hamburger.addEventListener('click', () => { hamburger.classList.toggle('open'); navLinks.classList.toggle('open'); }); document.querySelectorAll('.nav-links a').forEach(link => { link.addEventListener('click', () => { hamburger.classList.remove('open'); navLinks.classList.remove('open'); }); }); // FAQ accordion document.querySelectorAll('.faq-question').forEach(q => { q.addEventListener('click', () => { const item = q.parentElement; item.classList.toggle('open'); }); }); // Counter animation const counters = document.querySelectorAll('.counter'); let counted = false; function animateCounters() { if (counted) return; const stats = document.querySelector('.stats-bg'); const rect = stats.getBoundingClientRect(); if (rect.top 0) { counted = true; counters.forEach(counter => { const target = parseInt(counter.getAttribute('data-target')); const increment = target / 60; let current = 0; const update = () => { current += increment; if (current < target) { counter.textContent = Math.ceil(current); requestAnimationFrame(update); } else { counter.textContent = target; } }; update(); }); } } window.addEventListener('scroll', animateCounters); window.addEventListener('load', animateCounters);