Home

@import url(‘https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,600;1,9..144,300&family=DM+Sans:wght@300;400;500&display=swap’);

:root {
–cream: #F7F4EF;
–ink: #1A1814;
–muted: #6B6760;
–accent: #C8A96E;
–border: #E2DDD6;
–white: #FFFFFF;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
font-family: ‘DM Sans’, sans-serif;
background: var(–cream);
color: var(–ink);
overflow-x: hidden;
}

/* ── NAV ── */
.hp-nav {
display: flex;
justify-content: space-between;
align-items: center;
padding: 24px 60px;
background: var(–cream);
border-bottom: 1px solid var(–border);
position: sticky;
top: 0;
z-index: 100;
}
.hp-nav-logo {
font-family: ‘Fraunces’, serif;
font-size: 22px;
font-weight: 600;
color: var(–ink);
letter-spacing: -0.5px;
}
.hp-nav-links {
display: flex;
gap: 36px;
list-style: none;
}
.hp-nav-links a {
font-size: 14px;
font-weight: 400;
color: var(–muted);
text-decoration: none;
letter-spacing: 0.02em;
transition: color 0.2s;
}
.hp-nav-links a:hover { color: var(–ink); }
.hp-nav-cta {
background: var(–ink);
color: var(–cream) !important;
padding: 10px 22px;
border-radius: 4px;
font-size: 13px !important;
font-weight: 500 !important;
transition: background 0.2s !important;
}
.hp-nav-cta:hover { background: #333 !important; color: var(–cream) !important; }

/* ── HERO ── */
.hp-hero {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 88vh;
align-items: center;
}
.hp-hero-left {
padding: 80px 60px 80px 60px;
display: flex;
flex-direction: column;
justify-content: center;
}
.hp-hero-eyebrow {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 12px;
font-weight: 500;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(–accent);
margin-bottom: 28px;
}
.hp-hero-eyebrow::before {
content: ”;
display: block;
width: 28px;
height: 1px;
background: var(–accent);
}
.hp-hero-h1 {
font-family: ‘Fraunces’, serif;
font-size: clamp(42px, 5vw, 68px);
font-weight: 300;
line-height: 1.08;
letter-spacing: -1.5px;
color: var(–ink);
margin-bottom: 28px;
}
.hp-hero-h1 em {
font-style: italic;
color: var(–accent);
}
.hp-hero-sub {
font-size: 16px;
line-height: 1.7;
color: var(–muted);
max-width: 400px;
margin-bottom: 44px;
font-weight: 300;
}
.hp-hero-actions {
display: flex;
align-items: center;
gap: 24px;
}
.hp-btn-primary {
background: var(–ink);
color: var(–cream);
padding: 15px 32px;
border-radius: 4px;
font-size: 14px;
font-weight: 500;
text-decoration: none;
letter-spacing: 0.02em;
transition: background 0.2s, transform 0.2s;
display: inline-block;
}
.hp-btn-primary:hover { background: #333; transform: translateY(-1px); }
.hp-btn-ghost {
font-size: 14px;
color: var(–muted);
text-decoration: none;
font-weight: 400;
display: inline-flex;
align-items: center;
gap: 6px;
transition: color 0.2s;
}
.hp-btn-ghost:hover { color: var(–ink); }
.hp-btn-ghost::after { content: ‘→’; }

.hp-hero-right {
background: var(–ink);
height: 100%;
min-height: 88vh;
position: relative;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
}
.hp-hero-visual {
position: relative;
width: 320px;
height: 320px;
}
.hp-circle-outer {
width: 320px;
height: 320px;
border-radius: 50%;
border: 1px solid rgba(200,169,110,0.3);
position: absolute;
top: 0; left: 0;
animation: rotate 18s linear infinite;
}
.hp-circle-inner {
width: 220px;
height: 220px;
border-radius: 50%;
border: 1px solid rgba(200,169,110,0.15);
position: absolute;
top: 50px; left: 50px;
animation: rotate 12s linear infinite reverse;
}
.hp-circle-dot {
width: 8px;
height: 8px;
background: var(–accent);
border-radius: 50%;
position: absolute;
top: -4px;
left: 50%;
transform: translateX(-50%);
}
.hp-hero-stat {
position: absolute;
background: rgba(247,244,239,0.06);
border: 1px solid rgba(200,169,110,0.2);
border-radius: 8px;
padding: 16px 20px;
color: var(–cream);
backdrop-filter: blur(4px);
}
.hp-hero-stat-num {
font-family: ‘Fraunces’, serif;
font-size: 28px;
font-weight: 300;
color: var(–accent);
display: block;
line-height: 1;
margin-bottom: 4px;
}
.hp-hero-stat-label {
font-size: 11px;
letter-spacing: 0.08em;
color: rgba(247,244,239,0.5);
text-transform: uppercase;
font-weight: 400;
}
.hp-hero-stat:nth-child(1) { top: 60px; left: 40px; }
.hp-hero-stat:nth-child(2) { bottom: 80px; right: 40px; }
.hp-hero-stat:nth-child(3) { bottom: 60px; left: 30px; }

@keyframes rotate { to { transform: rotate(360deg); } }

.hp-hero-bg-text {
position: absolute;
font-family: ‘Fraunces’, serif;
font-size: 180px;
font-weight: 300;
color: rgba(255,255,255,0.03);
letter-spacing: -8px;
user-select: none;
line-height: 1;
}

/* ── SERVICES ── */
.hp-services {
padding: 100px 60px;
background: var(–white);
}
.hp-section-header {
display: flex;
justify-content: space-between;
align-items: flex-end;
margin-bottom: 60px;
padding-bottom: 32px;
border-bottom: 1px solid var(–border);
}
.hp-section-label {
font-size: 11px;
font-weight: 500;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(–accent);
margin-bottom: 12px;
}
.hp-section-title {
font-family: ‘Fraunces’, serif;
font-size: clamp(32px, 3.5vw, 48px);
font-weight: 300;
letter-spacing: -1px;
color: var(–ink);
line-height: 1.1;
}
.hp-section-title em { font-style: italic; color: var(–accent); }
.hp-section-desc {
font-size: 15px;
color: var(–muted);
max-width: 280px;
line-height: 1.7;
font-weight: 300;
text-align: right;
}

.hp-services-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1px;
background: var(–border);
border: 1px solid var(–border);
}
.hp-service-card {
background: var(–white);
padding: 44px 40px;
transition: background 0.25s;
position: relative;
overflow: hidden;
}
.hp-service-card:hover { background: var(–cream); }
.hp-service-card::after {
content: ”;
position: absolute;
bottom: 0; left: 0;
width: 0; height: 2px;
background: var(–accent);
transition: width 0.3s ease;
}
.hp-service-card:hover::after { width: 100%; }
.hp-service-num {
font-family: ‘Fraunces’, serif;
font-size: 13px;
color: var(–accent);
margin-bottom: 24px;
display: block;
font-weight: 400;
}
.hp-service-icon {
width: 44px;
height: 44px;
margin-bottom: 20px;
color: var(–ink);
}
.hp-service-title {
font-family: ‘Fraunces’, serif;
font-size: 22px;
font-weight: 400;
color: var(–ink);
margin-bottom: 14px;
letter-spacing: -0.3px;
line-height: 1.2;
}
.hp-service-desc {
font-size: 14px;
color: var(–muted);
line-height: 1.75;
font-weight: 300;
}
.hp-service-link {
display: inline-flex;
align-items: center;
gap: 6px;
margin-top: 24px;
font-size: 13px;
color: var(–ink);
text-decoration: none;
font-weight: 500;
letter-spacing: 0.02em;
transition: gap 0.2s;
}
.hp-service-link:hover { gap: 10px; }

/* ── FAQ ── */
.hp-faq {
padding: 100px 60px;
background: var(–cream);
display: grid;
grid-template-columns: 1fr 1.5fr;
gap: 80px;
align-items: start;
}
.hp-faq-left { position: sticky; top: 100px; }
.hp-faq-badge {
display: inline-block;
background: var(–ink);
color: var(–cream);
font-size: 11px;
letter-spacing: 0.12em;
text-transform: uppercase;
padding: 6px 14px;
border-radius: 2px;
margin-bottom: 24px;
font-weight: 500;
}
.hp-faq-title {
font-family: ‘Fraunces’, serif;
font-size: clamp(34px, 3.5vw, 50px);
font-weight: 300;
letter-spacing: -1px;
line-height: 1.1;
color: var(–ink);
margin-bottom: 20px;
}
.hp-faq-title em { font-style: italic; color: var(–accent); }
.hp-faq-sub {
font-size: 15px;
color: var(–muted);
line-height: 1.7;
font-weight: 300;
margin-bottom: 36px;
}
.hp-faq-contact {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 13px;
font-weight: 500;
color: var(–ink);
text-decoration: none;
border-bottom: 1px solid var(–ink);
padding-bottom: 2px;
transition: color 0.2s, border-color 0.2s;
}
.hp-faq-contact:hover { color: var(–accent); border-color: var(–accent); }

.hp-faq-list { display: flex; flex-direction: column; }
.hp-faq-item {
border-bottom: 1px solid var(–border);
}
.hp-faq-question {
width: 100%;
background: none;
border: none;
padding: 26px 0;
display: flex;
justify-content: space-between;
align-items: center;
cursor: pointer;
text-align: left;
gap: 20px;
}
.hp-faq-question-text {
font-family: ‘Fraunces’, serif;
font-size: 18px;
font-weight: 400;
color: var(–ink);
letter-spacing: -0.2px;
line-height: 1.3;
}
.hp-faq-icon {
flex-shrink: 0;
width: 28px;
height: 28px;
border: 1px solid var(–border);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 18px;
color: var(–muted);
transition: all 0.25s;
font-weight: 300;
line-height: 1;
}
.hp-faq-item.open .hp-faq-icon {
background: var(–ink);
border-color: var(–ink);
color: var(–cream);
transform: rotate(45deg);
}
.hp-faq-answer {
max-height: 0;
overflow: hidden;
transition: max-height 0.35s ease, padding 0.25s ease;
}
.hp-faq-item.open .hp-faq-answer { max-height: 300px; }
.hp-faq-answer-inner {
padding-bottom: 26px;
font-size: 15px;
color: var(–muted);
line-height: 1.75;
font-weight: 300;
}

/* ── FOOTER ── */
.hp-footer {
background: var(–ink);
color: var(–cream);
padding: 48px 60px;
display: flex;
justify-content: space-between;
align-items: center;
}
.hp-footer-logo {
font-family: ‘Fraunces’, serif;
font-size: 20px;
font-weight: 400;
letter-spacing: -0.5px;
}
.hp-footer-copy {
font-size: 13px;
color: rgba(247,244,239,0.4);
font-weight: 300;
}
.hp-footer-links {
display: flex;
gap: 28px;
list-style: none;
}
.hp-footer-links a {
font-size: 13px;
color: rgba(247,244,239,0.5);
text-decoration: none;
transition: color 0.2s;
font-weight: 300;
}
.hp-footer-links a:hover { color: var(–accent); }

@media (max-width: 900px) {
.hp-nav { padding: 20px 24px; }
.hp-nav-links { display: none; }
.hp-hero { grid-template-columns: 1fr; }
.hp-hero-right { display: none; }
.hp-hero-left { padding: 60px 24px; }
.hp-services { padding: 60px 24px; }
.hp-services-grid { grid-template-columns: 1fr; }
.hp-section-header { flex-direction: column; align-items: flex-start; gap: 16px; }
.hp-section-desc { text-align: left; }
.hp-faq { grid-template-columns: 1fr; padding: 60px 24px; gap: 40px; }
.hp-faq-left { position: static; }
.hp-footer { flex-direction: column; gap: 24px; text-align: center; padding: 36px 24px; }
}

Digital Excellence

We build things
that matter.

A premium digital agency crafting refined experiences for brands that demand the best. Strategy, design, and growth — all under one roof.

SEO
98%
Client Retention
3.2×
Avg. ROI Increase
500+
Projects Delivered

Services built for
real results.

Every service is crafted with intention. We focus on what moves the needle.

01

Search Engine Optimization

We craft data-driven SEO strategies that rank your website higher, attract organic traffic, and convert visitors into loyal customers.

Learn more →

02

Web Design & Development

Premium, conversion-focused websites built to perform. Clean code, stunning design, and experiences your users will remember.

Learn more →

03

Digital Marketing

Full-funnel marketing strategies across paid search, social media, and content — all aligned to your business goals and KPIs.

Learn more →

04

Brand Strategy

We help you define who you are, who you serve, and how you communicate — building a brand that stands apart from the noise.

Learn more →

05

Content Creation

SEO-rich articles, landing pages, and copy that informs, engages, and converts — written by experts who understand your industry.

Learn more →

06

Analytics & Reporting

Clear, actionable reporting that shows exactly where you stand and what to do next. Decisions backed by real data, not guesswork.

Learn more →

FAQ

Questions
we get a lot.

Can’t find what you’re looking for? We’re always happy to have a conversation.

Talk to us →

SEO is a long-term investment. Most websites begin to see meaningful improvements in rankings and traffic within 3 to 6 months. For newer domains or highly competitive industries, it may take 6 to 12 months. We set realistic expectations from day one and provide monthly reports to track progress.

We combine strategic thinking with premium execution. Every client gets a dedicated team, transparent communication, and a strategy built around their specific goals — not a cookie-cutter package. Our 98% client retention speaks for itself.

Absolutely. We work with businesses of all sizes — from early-stage startups to established enterprises. We tailor our scope and pricing to fit your stage of growth so you get the most value at every level.

We define success through metrics that matter to your business — organic traffic growth, keyword rankings, conversion rates, and ROI. Every engagement begins with defining clear KPIs and we report on them consistently, so you always know where your investment stands.

Yes — in fact, our bundled services often deliver better results because everything works together cohesively. For example, combining SEO with content creation and web design ensures your strategy is unified across all touchpoints.

Onboarding is smooth and straightforward. After an initial discovery call, we conduct a full audit of your current digital presence, identify opportunities, and present a tailored strategy within two weeks. From there, we hit the ground running with weekly check-ins throughout the first month.

function toggleFaq(btn) {
const item = btn.closest(‘.hp-faq-item’);
const isOpen = item.classList.contains(‘open’);
document.querySelectorAll(‘.hp-faq-item.open’).forEach(i => i.classList.remove(‘open’));
if (!isOpen) item.classList.add(‘open’);
}