@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; }
}
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.
Client Retention
Avg. ROI Increase
Projects Delivered
Services built for
real results.
Every service is crafted with intention. We focus on what moves the needle.
Search Engine Optimization
We craft data-driven SEO strategies that rank your website higher, attract organic traffic, and convert visitors into loyal customers.
Web Design & Development
Premium, conversion-focused websites built to perform. Clean code, stunning design, and experiences your users will remember.
Digital Marketing
Full-funnel marketing strategies across paid search, social media, and content — all aligned to your business goals and KPIs.
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.
Content Creation
SEO-rich articles, landing pages, and copy that informs, engages, and converts — written by experts who understand your industry.
Analytics & Reporting
Clear, actionable reporting that shows exactly where you stand and what to do next. Decisions backed by real data, not guesswork.
Questions
we get a lot.
Can’t find what you’re looking for? We’re always happy to have a conversation.
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’);
}