<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Outbound Frame</title>
<style>
:root {
--bg: #07090d;
--bg-soft: #0d1117;
--panel: #10161f;
--panel-2: #0c1219;
--line: rgba(255, 255, 255, 0.08);
--text: #f3f5f7;
--muted: #9aa4b2;
--soft: #c7d0db;
--accent: #dbe7ff;
--max: 1120px;
--radius: 24px;
}
* { box-sizing: border-box; }
html {
scroll-behavior: smooth;
}
body {
margin: 0;
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
background:
radial-gradient(circle at top, rgba(255,255,255,0.05), transparent 20%),
linear-gradient(180deg, #06080c 0%, #0a0d12 100%);
color: var(--text);
line-height: 1.6;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
.container {
width: min(calc(100% - 40px), var(--max));
margin: 0 auto;
}
.nav {
padding: 24px 0;
}
.nav-inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
border: 1px solid var(--line);
background: rgba(255,255,255,0.03);
border-radius: 18px;
padding: 14px 18px;
backdrop-filter: blur(10px);
}
.brand {
display: flex;
align-items: center;
gap: 10px;
font-weight: 600;
letter-spacing: 0.01em;
}
.brand-mark {
width: 11px;
height: 11px;
border-radius: 999px;
background: #f3f5f7;
box-shadow: 0 0 24px rgba(255,255,255,0.25);
}
.nav-link {
color: var(--muted);
font-size: 0.95rem;
}
.hero {
padding: 40px 0 72px;
}
.hero-wrap {
display: grid;
grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
gap: 22px;
align-items: stretch;
}
.panel {
background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
border: 1px solid var(--line);
border-radius: var(--radius);
}
.hero-main {
padding: 44px;
}
.eyebrow {
display: inline-flex;
align-items: center;
gap: 8px;
border: 1px solid var(--line);
border-radius: 999px;
padding: 8px 12px;
color: var(--soft);
font-size: 0.85rem;
margin-bottom: 18px;
background: rgba(255,255,255,0.02);
}
h1 {
margin: 0 0 18px;
font-size: clamp(2.7rem, 7vw, 5.4rem);
line-height: 0.97;
letter-spacing: -0.05em;
max-width: 10ch;
}
.hero-copy {
color: var(--muted);
font-size: 1.08rem;
max-width: 58ch;
margin-bottom: 28px;
}
.actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-bottom: 24px;
}
.button {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 48px;
padding: 0 18px;
border-radius: 14px;
font-weight: 600;
transition: transform 0.15s ease, opacity 0.15s ease, background 0.15s ease;
}
.button:hover { transform: translateY(-1px); }
.button-primary {
background: #f3f5f7;
color: #07090d;
}
.button-secondary {
border: 1px solid var(--line);
color: var(--text);
background: rgba(255,255,255,0.02);
}
.hero-note {
color: var(--muted);
font-size: 0.94rem;
}
.hero-side {
padding: 20px;
display: grid;
gap: 14px;
}
.mini {
padding: 18px;
border-radius: 18px;
background: rgba(255,255,255,0.025);
border: 1px solid rgba(255,255,255,0.06);
}
.mini-label {
color: var(--soft);
font-size: 0.8rem;
letter-spacing: 0.02em;
text-transform: uppercase;
margin-bottom: 8px;
}
.mini-title {
margin: 0 0 8px;
font-size: 1rem;
}
.mini p {
margin: 0;
color: var(--muted);
font-size: 0.95rem;
}
.section {
padding: 0 0 20px;
}
.section-card {
padding: 34px;
}
.section-kicker {
color: var(--soft);
font-size: 0.82rem;
text-transform: uppercase;
letter-spacing: 0.08em;
margin-bottom: 10px;
}
h2 {
margin: 0 0 14px;
font-size: clamp(1.8rem, 4vw, 2.8rem);
letter-spacing: -0.04em;
line-height: 1.02;
}
.section-text {
color: var(--muted);
max-width: 68ch;
margin-bottom: 22px;
}
.feature-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
}
.feature {
padding: 22px;
border-radius: 18px;
background: rgba(255,255,255,0.02);
border: 1px solid rgba(255,255,255,0.06);
min-height: 180px;
}
.feature-number {
color: var(--soft);
font-size: 0.85rem;
margin-bottom: 18px;
}
.feature h3 {
margin: 0 0 10px;
font-size: 1.05rem;
}
.feature p {
margin: 0;
color: var(--muted);
}
.split {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}
.list-card {
padding: 28px;
}
.list-card h3 {
margin: 0 0 14px;
font-size: 1.08rem;
}
.list {
display: grid;
gap: 10px;
padding: 0;
margin: 0;
list-style: none;
}
.list li {
color: var(--muted);
padding-left: 18px;
position: relative;
}
.list li::before {
content: "";
width: 6px;
height: 6px;
border-radius: 999px;
background: #f3f5f7;
position: absolute;
left: 0;
top: 11px;
opacity: 0.9;
}
.contact {
padding: 10px 0 70px;
}
.contact-card {
padding: 42px 34px;
text-align: center;
}
.contact-card p {
color: var(--muted);
max-width: 60ch;
margin: 0 auto 20px;
}
.mail {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 14px 18px;
border-radius: 14px;
border: 1px solid var(--line);
background: rgba(255,255,255,0.03);
font-weight: 600;
}
footer {
padding: 0 0 40px;
text-align: center;
color: var(--muted);
font-size: 0.92rem;
}
@media (max-width: 920px) {
.hero-wrap,
.feature-grid,
.split {
grid-template-columns: 1fr;
}
.hero-main,
.hero-side,
.section-card,
.list-card,
.contact-card {
padding: 24px;
}
h1 {
max-width: none;
}
}
</style>
</head>
<body>
<nav class="nav">
<div class="container">
<div class="nav-inner">
<div class="brand"><span class="brand-mark"></span>Outbound Frame</div>
<a class="nav-link" href="mailto:hello@outboundframe.co">hello@outboundframe.co</a>
</div>
</div>
</nav>
<header class="hero">
<div class="container">
<div class="hero-wrap">
<div class="panel hero-main">
<div class="eyebrow">Outbound systems for B2B tech firms</div>
<h1>Cleaner outbound. Less manual chaos.</h1>
<p class="hero-copy">
Outbound Frame helps small B2B tech and IT service firms build a more usable outbound foundation through better target account research, clearer segmentation, and more structured first-touch messaging.
</p>
<div class="actions">
<a class="button button-primary" href="mailto:hello@outboundframe.co">Discuss a pilot</a>
<a class="button button-secondary" href="#pilot">View Pilot Sprint</a>
</div>
<div class="hero-note">Built for small technical teams that want a cleaner outbound starting point.</div>
</div>
<div class="panel hero-side">
<div class="mini">
<div class="mini-label">01</div>
<h3 class="mini-title">Target account research</h3>
<p>Identify companies that are actually worth approaching instead of relying on broad, low-fit prospect lists.</p>
</div>
<div class="mini">
<div class="mini-label">02</div>
<h3 class="mini-title">Messaging structure</h3>
<p>Create a cleaner base for first-touch messages and follow-ups without overcomplicating the process.</p>
</div>
<div class="mini">
<div class="mini-label">03</div>
<h3 class="mini-title">Lightweight systems</h3>
<p>Set up a practical workflow for segmentation, tracking, and response handling that a small team can actually use.</p>
</div>
</div>
</div>
</div>
</header>
<section class="section">
<div class="container">
<div class="panel section-card">
<div class="section-kicker">What we do</div>
<h2>A focused outbound foundation for small B2B tech teams.</h2>
<p class="section-text">
Many technical service firms have a strong offer but an inconsistent outbound process. Outbound Frame focuses on the structure behind better outbound execution: research, fit, segmentation, messaging, and a simple workflow that reduces friction.
</p>
<div class="feature-grid">
<div class="feature">
<div class="feature-number">Research</div>
<h3>Better-fit accounts</h3>
<p>Target account selection, company qualification, and contact identification based on relevance rather than guesswork.</p>
</div>
<div class="feature">
<div class="feature-number">Messaging</div>
<h3>Clearer first touch</h3>
<p>Personalized first-touch structure and follow-up logic that feels more deliberate and less generic.</p>
</div>
<div class="feature">
<div class="feature-number">Process</div>
<h3>Usable workflow</h3>
<p>Lightweight systems for segmentation, tracking, and response handling that are easy to maintain internally.</p>
</div>
</div>
</div>
</div>
</section>
<section class="section" id="pilot">
<div class="container split">
<div class="panel list-card">
<div class="section-kicker">Pilot Sprint</div>
<h2>A compact 7-day starting point.</h2>
<p class="section-text">
Designed for small B2B tech firms that want to create a more structured outbound base before investing in a larger internal process.
</p>
</div>
<div class="panel list-card">
<h3>Included</h3>
<ul class="list">
<li>Up to 100 qualified target accounts</li>
<li>Structured company and contact research</li>
<li>Segmentation by fit and relevance</li>
<li>3 first-touch outreach variants</li>
<li>2 follow-up templates</li>
<li>1 simple tracking sheet</li>
<li>Lightweight response-handling process</li>
</ul>
</div>
</div>
</section>
<section class="section">
<div class="container split">
<div class="panel list-card">
<div class="section-kicker">Best fit</div>
<h2>Who this is for.</h2>
<ul class="list">
<li>IT service firms</li>
<li>Software implementation teams</li>
<li>Cloud, automation or AI service providers</li>
<li>Technical consulting firms</li>
<li>Niche B2B technology agencies</li>
</ul>
</div>
<div class="panel list-card">
<div class="section-kicker">Why smaller first</div>
<h2>Enough structure to be useful.</h2>
<p class="section-text">
The goal is not to make outbound feel heavy. The goal is to create a clearer base that a small technical team can test, use, and improve over time without adding unnecessary complexity.
</p>
</div>
</div>
</section>
<section class="contact">
<div class="container">
<div class="panel contact-card">
<div class="section-kicker">Contact</div>
<h2>If this is relevant, send a short email.</h2>
<p>
If your team wants a cleaner outbound starting point, reach out and we can share a concise outline of what a focused pilot could look like in your case.
</p>
<a class="mail" href="mailto:hello@outboundframe.co">hello@outboundframe.co</a>
</div>
</div>
</section>
<footer>
Outbound Frame — outbound systems for small B2B tech firms.
</footer>
</body>
</html>