Backend Aug 22-25: AI analysis, welcome-packet templating, LetterStream, DocuSeal, staff RBAC + tier gate

- analysis.py: deterministic claim scorer + /analyze /approve /letter /advance-tier endpoints (auto-runs on intake)
- packet.py + packet_fields.json: welcome-packet templating engine (6 onboarding docs, field catalog)
- letterstream.py + letters.py: certified-mail send pipeline + letter lifecycle (webhook verified)
- docuseal.py: DocuSeal signing integration
- staff.py/models.py/schema.sql/auth.py: approval actor from staff key, tier gate (APPROVED+ACTIVE+onboarding docs), onboarding_docs table
- frontend/: dependency-free static portal (intake, magic-link login/verify, dashboard)
- landing-mockups/: 4 design-stance mockups + favicons
- legal/: aup/privacy/sms-terms/terms HTML
- docs/: letter-queue scope, letterstream API contract, 6 welcome-packet templates
- review-dre-landing-2026-08-21.md: 3-variant landing feedback sprint
- compliance/DRE_Compliance_Manual.md: updated

Source synced from deployed /opt/dre-portal/app/ (was 4 days ahead of git).
This commit is contained in:
root
2026-08-26 02:26:33 -04:00
parent 7a5603b495
commit 7a62b0b340
46 changed files with 11004 additions and 35 deletions
@@ -0,0 +1,913 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Debt Recovery Experts - Texas Debt Recovery, Handled Properly</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600;8..60,700&family=Inter:wght@400;500;600&display=swap" rel="stylesheet">
<style>
:root {
--navy-950: #10192b;
--navy-900: #16213a;
--navy-800: #1f2d4a;
--navy-700: #2b3d5f;
--navy-600: #3d5378;
--slate-500: #64748b;
--slate-400: #8593a8;
--slate-300: #b3bdcc;
--slate-200: #d8dee7;
--slate-100: #eceff4;
--paper: #faf9f6;
--paper-alt: #f2f0ea;
--line: #dcdfe6;
--gold: #9c7c3f;
--white: #ffffff;
--radius: 3px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
margin: 0;
font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
color: var(--navy-900);
background: var(--paper);
line-height: 1.6;
font-size: 16px;
}
h1, h2, h3, h4 {
font-family: 'Source Serif 4', Georgia, 'Times New Roman', serif;
font-weight: 600;
color: var(--navy-950);
margin: 0 0 0.5em 0;
letter-spacing: -0.01em;
}
p { margin: 0 0 1em 0; }
a { color: inherit; text-decoration: none; }
.container {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px;
}
.eyebrow {
font-size: 0.78rem;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--gold);
font-weight: 600;
margin-bottom: 14px;
display: block;
}
/* ---------- Top compliance strip ---------- */
.top-strip {
background: var(--navy-950);
color: var(--slate-300);
font-size: 0.82rem;
padding: 8px 0;
border-bottom: 1px solid rgba(255,255,255,0.08);
}
.top-strip .container {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 8px;
}
.top-strip a:hover { color: var(--white); }
.top-strip .divider { opacity: 0.4; margin: 0 10px; }
/* ---------- Header / nav ---------- */
header.main {
background: var(--white);
border-bottom: 1px solid var(--line);
position: sticky;
top: 0;
z-index: 50;
}
.nav-wrap {
display: flex;
align-items: center;
justify-content: space-between;
padding: 20px 0;
}
.brand {
display: flex;
align-items: center;
gap: 12px;
}
.brand-mark {
width: 42px;
height: 42px;
border: 1.5px solid var(--navy-900);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-family: 'Source Serif 4', serif;
font-weight: 600;
font-size: 1.05rem;
color: var(--navy-900);
flex-shrink: 0;
}
.brand-text {
font-family: 'Source Serif 4', serif;
font-size: 1.28rem;
font-weight: 600;
color: var(--navy-950);
line-height: 1.1;
}
.brand-text small {
display: block;
font-family: 'Inter', sans-serif;
font-weight: 500;
font-size: 0.66rem;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--slate-500);
margin-top: 3px;
}
nav.primary-nav {
display: flex;
align-items: center;
gap: 36px;
}
nav.primary-nav a.nav-link {
font-size: 0.94rem;
font-weight: 500;
color: var(--navy-800);
padding: 4px 0;
border-bottom: 2px solid transparent;
transition: border-color 0.15s ease, color 0.15s ease;
}
nav.primary-nav a.nav-link:hover {
color: var(--gold);
border-bottom-color: var(--gold);
}
.header-ctas {
display: flex;
align-items: center;
gap: 14px;
}
.btn {
display: inline-block;
padding: 12px 26px;
font-size: 0.92rem;
font-weight: 600;
border-radius: var(--radius);
border: 1.5px solid transparent;
cursor: pointer;
transition: all 0.15s ease;
text-align: center;
white-space: nowrap;
}
.btn-primary {
background: var(--navy-950);
color: var(--white);
border-color: var(--navy-950);
}
.btn-primary:hover { background: var(--navy-800); border-color: var(--navy-800); }
.btn-secondary {
background: transparent;
color: var(--navy-900);
border-color: var(--navy-700);
}
.btn-secondary:hover { background: var(--navy-900); color: var(--white); }
.btn-ghost {
background: transparent;
color: var(--navy-800);
border-color: var(--line);
}
.btn-ghost:hover { border-color: var(--navy-700); }
.btn-sm { padding: 9px 18px; font-size: 0.85rem; }
.btn-block { display: block; width: 100%; }
/* mobile nav toggle (css-only) */
.nav-toggle { display: none; }
.nav-toggle-label {
display: none;
cursor: pointer;
padding: 8px;
}
.nav-toggle-label span,
.nav-toggle-label span::before,
.nav-toggle-label span::after {
display: block;
width: 24px;
height: 2px;
background: var(--navy-900);
position: relative;
transition: all 0.2s ease;
}
.nav-toggle-label span::before,
.nav-toggle-label span::after {
content: "";
position: absolute;
}
.nav-toggle-label span::before { top: -7px; }
.nav-toggle-label span::after { top: 7px; }
/* ---------- Hero ---------- */
.hero {
background: linear-gradient(180deg, var(--navy-950) 0%, var(--navy-900) 65%, var(--navy-800) 100%);
color: var(--white);
padding: 96px 0 84px;
position: relative;
overflow: hidden;
}
.hero::after {
content: "";
position: absolute;
right: -10%;
top: -20%;
width: 560px;
height: 560px;
border: 1px solid rgba(255,255,255,0.06);
border-radius: 50%;
}
.hero::before {
content: "";
position: absolute;
right: 4%;
bottom: -30%;
width: 380px;
height: 380px;
border: 1px solid rgba(255,255,255,0.05);
border-radius: 50%;
}
.hero .container { position: relative; z-index: 2; }
.hero-inner {
max-width: 700px;
}
.hero .eyebrow { color: var(--slate-300); }
.hero h1 {
color: var(--white);
font-size: 2.9rem;
line-height: 1.18;
margin-bottom: 22px;
}
.hero .subhead {
font-size: 1.15rem;
color: var(--slate-200);
max-width: 560px;
margin-bottom: 38px;
font-weight: 400;
}
.hero-ctas {
display: flex;
gap: 16px;
flex-wrap: wrap;
margin-bottom: 40px;
}
.hero .btn-primary {
background: var(--white);
color: var(--navy-950);
border-color: var(--white);
}
.hero .btn-primary:hover { background: var(--slate-200); border-color: var(--slate-200); }
.hero .btn-secondary {
color: var(--white);
border-color: rgba(255,255,255,0.4);
}
.hero .btn-secondary:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.7); }
.hero-trust-row {
display: flex;
gap: 28px;
flex-wrap: wrap;
padding-top: 30px;
border-top: 1px solid rgba(255,255,255,0.14);
}
.hero-trust-item {
display: flex;
align-items: center;
gap: 10px;
font-size: 0.85rem;
color: var(--slate-300);
}
.hero-trust-item .dot {
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--gold);
flex-shrink: 0;
}
/* ---------- Section shell ---------- */
section { padding: 88px 0; }
.section-head {
max-width: 660px;
margin: 0 auto 56px;
text-align: center;
}
.section-head h2 { font-size: 2.1rem; }
.section-head p { color: var(--slate-500); font-size: 1.05rem; }
.bg-alt { background: var(--paper-alt); }
.bg-navy { background: var(--navy-950); color: var(--slate-200); }
.bg-navy h2, .bg-navy h3, .bg-navy h4 { color: var(--white); }
/* ---------- Who we serve ---------- */
.audience-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
}
.audience-card {
background: var(--white);
border: 1px solid var(--line);
border-top: 3px solid var(--navy-900);
border-radius: var(--radius);
padding: 44px 40px;
}
.audience-card.debtor-card { border-top-color: var(--gold); }
.audience-icon {
width: 52px;
height: 52px;
border: 1.5px solid var(--navy-800);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 22px;
color: var(--navy-800);
}
.debtor-card .audience-icon { border-color: var(--gold); color: var(--gold); }
.audience-card h3 { font-size: 1.4rem; margin-bottom: 12px; }
.audience-card .tag {
display: inline-block;
font-size: 0.72rem;
letter-spacing: 0.1em;
text-transform: uppercase;
font-weight: 600;
color: var(--slate-500);
margin-bottom: 16px;
}
.audience-card ul {
list-style: none;
padding: 0;
margin: 0 0 28px 0;
}
.audience-card li {
padding: 9px 0 9px 26px;
position: relative;
color: var(--navy-800);
font-size: 0.96rem;
border-bottom: 1px solid var(--slate-100);
}
.audience-card li:last-child { border-bottom: none; }
.audience-card li::before {
content: "";
position: absolute;
left: 0;
top: 17px;
width: 8px;
height: 8px;
border: 1.5px solid var(--navy-700);
transform: rotate(45deg);
}
.debtor-card li::before { border-color: var(--gold); }
/* ---------- How it works ---------- */
.steps {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 0;
position: relative;
}
.step {
padding: 0 26px;
position: relative;
}
.step:not(:first-child)::before {
content: "";
position: absolute;
left: 0;
top: 26px;
width: 1px;
height: calc(100% - 40px);
background: var(--line);
}
.step-num {
font-family: 'Source Serif 4', serif;
font-size: 2.4rem;
font-weight: 600;
color: var(--slate-300);
margin-bottom: 14px;
line-height: 1;
}
.step h4 { font-size: 1.08rem; margin-bottom: 10px; }
.step p { color: var(--slate-500); font-size: 0.93rem; margin-bottom: 0; }
/* ---------- Compliance section ---------- */
.compliance-grid {
display: grid;
grid-template-columns: 1.1fr 1fr;
gap: 64px;
align-items: start;
}
.compliance-copy .eyebrow { color: var(--gold); }
.compliance-copy h2 { font-size: 2.1rem; margin-bottom: 20px; }
.compliance-copy p { color: var(--slate-300); font-size: 1.02rem; }
.compliance-list {
display: flex;
flex-direction: column;
gap: 0;
}
.compliance-item {
display: flex;
gap: 20px;
padding: 24px 0;
border-bottom: 1px solid rgba(255,255,255,0.1);
}
.compliance-item:first-child { padding-top: 0; }
.compliance-badge {
flex-shrink: 0;
width: 46px;
height: 46px;
border: 1px solid rgba(255,255,255,0.25);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-family: 'Source Serif 4', serif;
font-weight: 600;
font-size: 0.82rem;
color: var(--white);
letter-spacing: 0.02em;
}
.compliance-item h4 {
font-size: 1.02rem;
margin-bottom: 6px;
}
.compliance-item p {
color: var(--slate-400);
font-size: 0.9rem;
margin: 0;
}
/* ---------- CTA band ---------- */
.cta-band {
background: var(--paper-alt);
border-top: 1px solid var(--line);
border-bottom: 1px solid var(--line);
}
.cta-band-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0;
}
.cta-band-col {
padding: 56px 48px;
}
.cta-band-col:first-child {
border-right: 1px solid var(--line);
}
.cta-band-col .eyebrow { margin-bottom: 10px; }
.cta-band-col h3 { font-size: 1.5rem; margin-bottom: 10px; }
.cta-band-col p { color: var(--slate-500); margin-bottom: 22px; font-size: 0.96rem; }
/* ---------- Footer ---------- */
footer {
background: var(--navy-950);
color: var(--slate-400);
padding: 64px 0 28px;
font-size: 0.9rem;
}
.footer-grid {
display: grid;
grid-template-columns: 1.4fr 1fr 1fr 1fr;
gap: 40px;
padding-bottom: 44px;
border-bottom: 1px solid rgba(255,255,255,0.1);
}
.footer-brand .brand-text { color: var(--white); }
.footer-brand p {
color: var(--slate-400);
margin-top: 16px;
max-width: 320px;
font-size: 0.88rem;
}
.footer-col h5 {
color: var(--white);
font-size: 0.78rem;
letter-spacing: 0.1em;
text-transform: uppercase;
font-weight: 600;
margin-bottom: 18px;
font-family: 'Inter', sans-serif;
}
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col li { margin-bottom: 12px; }
.footer-col a:hover { color: var(--white); }
.footer-bottom {
padding-top: 28px;
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 24px;
flex-wrap: wrap;
}
.footer-legal {
font-size: 0.8rem;
color: var(--slate-500);
max-width: 720px;
line-height: 1.7;
}
.footer-legal p { margin-bottom: 10px; }
.footer-links-inline {
display: flex;
gap: 20px;
flex-wrap: wrap;
font-size: 0.82rem;
}
.footer-links-inline a:hover { color: var(--white); }
/* ---------- Responsive ---------- */
@media (max-width: 900px) {
.audience-grid { grid-template-columns: 1fr; }
.steps { grid-template-columns: 1fr 1fr; row-gap: 40px; }
.step:nth-child(3)::before, .step:nth-child(1)::before { display: none; }
.compliance-grid { grid-template-columns: 1fr; gap: 40px; }
.cta-band-grid { grid-template-columns: 1fr; }
.cta-band-col:first-child { border-right: none; border-bottom: 1px solid var(--line); }
.footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
.top-strip .container { flex-direction: column; align-items: flex-start; gap: 4px; }
.nav-toggle-label { display: block; }
nav.primary-nav {
position: absolute;
top: 100%;
left: 0;
right: 0;
background: var(--white);
flex-direction: column;
align-items: flex-start;
gap: 0;
border-bottom: 1px solid var(--line);
max-height: 0;
overflow: hidden;
transition: max-height 0.25s ease;
}
.nav-toggle:checked ~ nav.primary-nav { max-height: 320px; }
nav.primary-nav a.nav-link {
width: 100%;
padding: 16px 32px;
border-bottom: 1px solid var(--slate-100);
border-left: none;
}
.header-ctas .btn-secondary { display: none; }
.hero { padding: 64px 0 56px; }
.hero h1 { font-size: 2.1rem; }
.hero-trust-row { flex-direction: column; gap: 12px; }
section { padding: 60px 0; }
.steps { grid-template-columns: 1fr; }
.step::before { display: none !important; }
.footer-grid { grid-template-columns: 1fr; gap: 32px; }
.footer-bottom { flex-direction: column; }
}
</style>
</head>
<body>
<!-- Top compliance strip -->
<div class="top-strip">
<div class="container">
<div>
Licensed Texas debt recovery firm operating under FDCPA and TDCPA guidelines
</div>
<div>
<a href="tel:+15555555555">[Phone number]</a>
<span class="divider">|</span>
<a href="https://pay.debtrecoveryexperts.com">Make a payment</a>
</div>
</div>
</div>
<!-- Header -->
<header class="main">
<div class="container">
<div class="nav-wrap">
<a href="#top" class="brand">
<span class="brand-mark">DRE</span>
<span class="brand-text">Debt Recovery Experts<small>Texas Debt Recovery Counsel</small></span>
</a>
<input type="checkbox" id="nav-toggle" class="nav-toggle">
<label for="nav-toggle" class="nav-toggle-label" aria-label="Toggle navigation"><span></span></label>
<nav class="primary-nav">
<a class="nav-link" href="#services">Services</a>
<a class="nav-link" href="#how-it-works">How It Works</a>
<a class="nav-link" href="#creditors">For Creditors</a>
<a class="nav-link" href="#debtors">For Debtors</a>
<a class="nav-link" href="#contact">Contact</a>
</nav>
<div class="header-ctas">
<a href="https://my.debtrecoveryexperts.com" class="btn btn-secondary btn-sm">Client Login</a>
<a href="https://portal.debtrecoveryexperts.com" class="btn btn-primary btn-sm">Submit a Claim</a>
</div>
</div>
</div>
</header>
<!-- Hero -->
<section class="hero" id="top">
<div class="container">
<div class="hero-inner">
<span class="eyebrow">Texas Debt Recovery, Handled Properly</span>
<h1>Recover what you are owed, without cutting corners on compliance.</h1>
<p class="subhead">
Debt Recovery Experts represents Texas businesses in the recovery of commercial and consumer debt,
under the same regulatory discipline we would want applied to our own accounts. Deliberate process,
documented compliance, and clear communication at every stage.
</p>
<div class="hero-ctas">
<a href="https://portal.debtrecoveryexperts.com" class="btn btn-primary">Submit a Claim</a>
<a href="https://pay.debtrecoveryexperts.com" class="btn btn-secondary">Make a Payment</a>
</div>
<div class="hero-trust-row">
<div class="hero-trust-item"><span class="dot"></span> FDCPA compliant procedures</div>
<div class="hero-trust-item"><span class="dot"></span> TDCPA compliant, Texas licensed</div>
<div class="hero-trust-item"><span class="dot"></span> Secure handling of account data</div>
</div>
</div>
</div>
</section>
<!-- Who we serve -->
<section id="services">
<div class="container">
<div class="section-head">
<span class="eyebrow">Who We Serve</span>
<h2>Two sides of every account, one standard of conduct</h2>
<p>Whether you are owed money or working through a balance you owe, our process is built to be clear,
fair, and fully documented.</p>
</div>
<div class="audience-grid">
<div class="audience-card" id="creditors">
<div class="audience-icon">C</div>
<span class="tag">For Creditors</span>
<h3>Place an account for recovery</h3>
<p>For businesses seeking to recover outstanding commercial or consumer receivables through a
structured, compliant process.</p>
<ul>
<li>Submit claims through a secure intake portal</li>
<li>Track case status and correspondence in one place</li>
<li>Work with a firm that documents every contact attempt</li>
<li>Portfolio placement for single accounts or batches</li>
</ul>
<a href="https://portal.debtrecoveryexperts.com" class="btn btn-primary btn-block">Submit a Claim</a>
</div>
<div class="audience-card debtor-card" id="debtors">
<div class="audience-icon">D</div>
<span class="tag">For Debtors</span>
<h3>Resolve an outstanding balance</h3>
<p>If you have received correspondence from our office regarding an account, you have options and
you have rights under federal and state law.</p>
<ul>
<li>Review your account and verify the balance owed</li>
<li>Make a secure payment or set up arrangements</li>
<li>Understand your rights under the FDCPA and TDCPA</li>
<li>Reach a representative directly with questions</li>
</ul>
<a href="https://pay.debtrecoveryexperts.com" class="btn btn-secondary btn-block">Make a Payment</a>
</div>
</div>
</div>
</section>
<!-- How it works -->
<section class="bg-alt" id="how-it-works">
<div class="container">
<div class="section-head">
<span class="eyebrow">How It Works</span>
<h2>A deliberate, documented process</h2>
<p>From claim submission to resolution, each step is tracked and each communication is recorded.</p>
</div>
<div class="steps">
<div class="step">
<div class="step-num">01</div>
<h4>Submit the claim</h4>
<p>A creditor submits account details through the secure intake portal, including balance and
supporting documentation.</p>
</div>
<div class="step">
<div class="step-num">02</div>
<h4>Review and verification</h4>
<p>Our team reviews the account for completeness and confirms it meets requirements before
placement.</p>
</div>
<div class="step">
<div class="step-num">03</div>
<h4>Compliant contact and negotiation</h4>
<p>The debtor is contacted in accordance with FDCPA and TDCPA requirements to verify and resolve
the balance.</p>
</div>
<div class="step">
<div class="step-num">04</div>
<h4>Resolution and reporting</h4>
<p>Payments are processed and the creditor receives status updates through their client
dashboard.</p>
</div>
</div>
</div>
</section>
<!-- Compliance -->
<section class="bg-navy">
<div class="container">
<div class="compliance-grid">
<div class="compliance-copy">
<span class="eyebrow">Compliance First</span>
<h2>Recovery conducted within the letter of the law</h2>
<p>
Debt recovery is a regulated activity, and we treat it that way. Our procedures are built around
the Fair Debt Collection Practices Act and the Texas Debt Collection Act, with internal controls
designed to keep every contact, disclosure, and payment within bounds.
</p>
<p>
This is not a marketing claim, it is how the office is structured to operate day to day.
</p>
</div>
<div class="compliance-list">
<div class="compliance-item">
<div class="compliance-badge">FDCPA</div>
<div>
<h4>Federal Fair Debt Collection Practices Act</h4>
<p>Governs communication frequency, disclosure requirements, and prohibited practices in
consumer debt collection.</p>
</div>
</div>
<div class="compliance-item">
<div class="compliance-badge">TDCPA</div>
<div>
<h4>Texas Debt Collection Act</h4>
<p>State-level requirements for licensing, bonding, and conduct for debt collectors operating
in Texas.</p>
</div>
</div>
<div class="compliance-item">
<div class="compliance-badge">SEC</div>
<div>
<h4>Secure data handling</h4>
<p>Account and payment information is handled through encrypted channels with access limited
to authorized personnel.</p>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- CTA band -->
<section class="cta-band" style="padding: 0;">
<div class="container" style="padding: 0;">
<div class="cta-band-grid">
<div class="cta-band-col">
<span class="eyebrow">New Creditor</span>
<h3>Ready to place an account?</h3>
<p>Submit claim details through our secure intake portal and a member of our team will confirm
receipt.</p>
<a href="https://portal.debtrecoveryexperts.com" class="btn btn-primary">Submit a Claim</a>
</div>
<div class="cta-band-col">
<span class="eyebrow">Existing Client</span>
<h3>Track your recovery</h3>
<p>Log in to your client dashboard to review case status, correspondence, and reporting on
placed accounts.</p>
<a href="https://my.debtrecoveryexperts.com" class="btn btn-secondary">Client Login</a>
</div>
</div>
</div>
</section>
<!-- Footer -->
<footer id="contact">
<div class="container">
<div class="footer-grid">
<div class="footer-col footer-brand">
<a href="#top" class="brand">
<span class="brand-mark" style="border-color: var(--white); color: var(--white);">DRE</span>
<span class="brand-text">Debt Recovery Experts</span>
</a>
<p>A Texas-based debt recovery firm serving creditors and debtors under FDCPA and TDCPA
compliance standards.</p>
</div>
<div class="footer-col">
<h5>Firm</h5>
<ul>
<li><a href="#services">Services</a></li>
<li><a href="#how-it-works">How It Works</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div>
<div class="footer-col">
<h5>Portals</h5>
<ul>
<li><a href="https://portal.debtrecoveryexperts.com">Submit a Claim</a></li>
<li><a href="https://my.debtrecoveryexperts.com">Client Login</a></li>
<li><a href="https://pay.debtrecoveryexperts.com">Make a Payment</a></li>
</ul>
</div>
<div class="footer-col">
<h5>Contact</h5>
<ul>
<li>[Office address], Texas</li>
<li>[Phone number]</li>
<li>[Email address]</li>
</ul>
</div>
</div>
<div class="footer-bottom">
<div class="footer-legal">
<p>
Debt Recovery Experts is a debt collection firm. This communication is an attempt to collect a
debt and any information obtained will be used for that purpose, where applicable. You have
rights under the federal Fair Debt Collection Practices Act and the Texas Debt Collection Act,
including the right to dispute a debt and request verification.
</p>
<p>[Licensing and bond information placeholder]. [Registered agent / legal entity placeholder].</p>
</div>
<div class="footer-links-inline">
<a href="#">Privacy Policy</a>
<a href="#">Terms of Use</a>
<a href="#">Consumer Rights Notice</a>
</div>
</div>
</div>
</footer>
</body>
</html>
+737
View File
@@ -0,0 +1,737 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Debt Recovery Experts - Get Unpaid Debts Recovered</title>
<style>
:root{
--navy:#0b1b33;
--navy-2:#11274a;
--accent:#ff5a1f;
--accent-dark:#d94512;
--green:#0f9d58;
--gray-bg:#f4f5f7;
--gray-line:#dfe3e8;
--text:#1b1f27;
--text-mid:#4a5261;
--text-light:#7a8291;
--white:#ffffff;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
color:var(--text);
background:var(--white);
line-height:1.5;
}
h1,h2,h3,h4{
font-weight:800;
letter-spacing:-0.02em;
line-height:1.1;
}
a{color:inherit;text-decoration:none;}
.container{
max-width:1180px;
margin:0 auto;
padding:0 24px;
}
.eyebrow{
display:inline-block;
font-size:12px;
font-weight:800;
text-transform:uppercase;
letter-spacing:0.08em;
color:var(--accent);
background:rgba(255,90,31,0.1);
padding:5px 12px;
border-radius:3px;
margin-bottom:14px;
}
/* Buttons */
.btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
font-weight:800;
font-size:15px;
padding:14px 26px;
border-radius:4px;
border:2px solid transparent;
cursor:pointer;
transition:transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
white-space:nowrap;
}
.btn-primary{
background:var(--accent);
color:var(--white);
box-shadow:0 4px 0 var(--accent-dark);
}
.btn-primary:hover{
background:var(--accent-dark);
transform:translateY(2px);
box-shadow:0 2px 0 var(--accent-dark);
}
.btn-secondary{
background:transparent;
color:var(--white);
border-color:rgba(255,255,255,0.55);
}
.btn-secondary:hover{
background:rgba(255,255,255,0.12);
border-color:var(--white);
}
.btn-dark{
background:var(--navy);
color:var(--white);
box-shadow:0 4px 0 #060f1e;
}
.btn-dark:hover{
background:#060f1e;
transform:translateY(2px);
box-shadow:0 2px 0 #060f1e;
}
.btn-outline-navy{
background:transparent;
color:var(--navy);
border-color:var(--navy);
}
.btn-outline-navy:hover{
background:var(--navy);
color:var(--white);
}
.btn-block{width:100%;}
.btn-sm{padding:10px 18px;font-size:13px;}
/* Header */
header{
position:sticky;
top:0;
z-index:100;
background:var(--white);
border-bottom:1px solid var(--gray-line);
}
.nav-bar{
display:flex;
align-items:center;
justify-content:space-between;
height:68px;
}
.logo{
display:flex;
align-items:center;
gap:10px;
font-size:18px;
font-weight:800;
color:var(--navy);
}
.logo .mark{
background:var(--navy);
color:var(--white);
font-size:14px;
font-weight:800;
padding:7px 9px;
border-radius:4px;
letter-spacing:0.02em;
}
nav.main-nav{
display:flex;
align-items:center;
gap:28px;
}
nav.main-nav a{
font-size:14px;
font-weight:600;
color:var(--text-mid);
}
nav.main-nav a:hover{color:var(--navy);}
.nav-cta{display:flex;align-items:center;gap:12px;}
.nav-cta .link-login{
font-size:14px;
font-weight:700;
color:var(--navy);
}
.menu-toggle{
display:none;
background:none;
border:none;
font-size:26px;
cursor:pointer;
color:var(--navy);
}
/* Hero */
.hero{
background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);
color:var(--white);
padding:64px 0 56px;
position:relative;
overflow:hidden;
}
.hero::after{
content:"";
position:absolute;
right:-120px;
top:-120px;
width:420px;
height:420px;
border-radius:50%;
background:radial-gradient(circle,rgba(255,90,31,0.25) 0%,rgba(255,90,31,0) 70%);
}
.hero-grid{
display:grid;
grid-template-columns:1.15fr 0.85fr;
gap:48px;
align-items:center;
position:relative;
z-index:2;
}
.hero h1{
font-size:44px;
margin-bottom:18px;
}
.hero h1 span{color:var(--accent);}
.hero p.sub{
font-size:18px;
color:#c6cede;
max-width:560px;
margin-bottom:30px;
}
.hero-ctas{
display:flex;
flex-wrap:wrap;
gap:14px;
margin-bottom:22px;
}
.hero-note{
font-size:13px;
color:#93a0b8;
}
.hero-side{
background:rgba(255,255,255,0.06);
border:1px solid rgba(255,255,255,0.14);
border-radius:10px;
padding:26px;
}
.hero-side h3{
font-size:15px;
text-transform:uppercase;
letter-spacing:0.06em;
color:#c6cede;
margin-bottom:16px;
}
.hero-checklist{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:20px;}
.hero-checklist li{
display:flex;
align-items:flex-start;
gap:10px;
font-size:14.5px;
color:#e4e8f0;
}
.hero-checklist li .chk{
flex:0 0 18px;
width:18px;
height:18px;
border-radius:50%;
background:var(--green);
color:var(--white);
font-size:11px;
display:flex;
align-items:center;
justify-content:center;
margin-top:2px;
}
.hero-stats{
display:grid;
grid-template-columns:1fr 1fr;
gap:10px;
border-top:1px solid rgba(255,255,255,0.15);
padding-top:16px;
}
.hero-stats .stat-box{
background:rgba(255,255,255,0.05);
border-radius:6px;
padding:12px;
text-align:center;
}
.hero-stats .stat-box .num{
font-size:14px;
font-weight:800;
color:var(--accent);
display:block;
}
.hero-stats .stat-box .label{
font-size:11px;
color:#a9b3c6;
}
/* Ticker / trust strip */
.trust-strip{
background:var(--gray-bg);
border-bottom:1px solid var(--gray-line);
padding:14px 0;
}
.trust-strip .container{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:28px;
font-size:13px;
font-weight:700;
color:var(--text-mid);
}
.trust-strip span{display:flex;align-items:center;gap:8px;}
.trust-strip .dot{width:6px;height:6px;border-radius:50%;background:var(--green);}
/* Section basics */
section{padding:64px 0;}
.section-head{
max-width:680px;
margin-bottom:40px;
}
.section-head h2{
font-size:32px;
color:var(--navy);
margin-bottom:12px;
}
.section-head p{
font-size:16px;
color:var(--text-mid);
}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
/* Who we serve */
.serve-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:24px;
}
.serve-card{
border:2px solid var(--gray-line);
border-radius:10px;
padding:32px;
position:relative;
}
.serve-card.primary{
border-color:var(--navy);
background:var(--navy);
color:var(--white);
}
.serve-card .tag{
display:inline-block;
font-size:11px;
font-weight:800;
text-transform:uppercase;
letter-spacing:0.06em;
padding:4px 10px;
border-radius:3px;
margin-bottom:16px;
}
.serve-card.primary .tag{background:var(--accent);color:var(--white);}
.serve-card.secondary .tag{background:var(--gray-bg);color:var(--text-mid);}
.serve-card h3{font-size:24px;margin-bottom:10px;}
.serve-card.primary h3{color:var(--white);}
.serve-card.secondary h3{color:var(--navy);}
.serve-card p{font-size:15px;margin-bottom:20px;}
.serve-card.primary p{color:#c6cede;}
.serve-card.secondary p{color:var(--text-mid);}
.serve-list{list-style:none;margin-bottom:24px;display:flex;flex-direction:column;gap:10px;}
.serve-list li{
display:flex;
gap:10px;
font-size:14px;
align-items:flex-start;
}
.serve-card.primary .serve-list li{color:#e4e8f0;}
.serve-card.secondary .serve-list li{color:var(--text-mid);}
.serve-list li::before{
content:"\2192";
font-weight:800;
color:var(--accent);
flex:0 0 auto;
}
/* How it works */
.steps-wrap{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
}
.step-card{
background:var(--gray-bg);
border-radius:10px;
padding:26px 22px;
position:relative;
border-top:4px solid var(--accent);
}
.step-card .step-num{
font-size:34px;
font-weight:800;
color:var(--navy);
opacity:0.15;
position:absolute;
top:12px;
right:16px;
}
.step-card h4{
font-size:17px;
color:var(--navy);
margin-bottom:8px;
position:relative;
z-index:1;
}
.step-card p{
font-size:14px;
color:var(--text-mid);
position:relative;
z-index:1;
}
/* Compliance */
.compliance{
background:var(--navy);
color:var(--white);
}
.compliance .section-head h2,
.compliance .section-head p{color:var(--white);}
.compliance .section-head p{color:#c6cede;}
.compliance-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
}
.compliance-card{
background:rgba(255,255,255,0.06);
border:1px solid rgba(255,255,255,0.14);
border-radius:10px;
padding:26px;
}
.compliance-card .icon{
width:42px;
height:42px;
border-radius:8px;
background:var(--accent);
display:flex;
align-items:center;
justify-content:center;
font-weight:800;
font-size:16px;
color:var(--white);
margin-bottom:16px;
}
.compliance-card h4{font-size:17px;margin-bottom:8px;}
.compliance-card p{font-size:14px;color:#c6cede;}
/* CTA band */
.cta-band{
background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);
color:var(--white);
padding:56px 0;
}
.cta-band-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:24px;
}
.cta-panel{
background:rgba(255,255,255,0.12);
border:1px solid rgba(255,255,255,0.3);
border-radius:10px;
padding:30px;
}
.cta-panel h3{font-size:22px;margin-bottom:10px;}
.cta-panel p{font-size:14.5px;margin-bottom:20px;color:rgba(255,255,255,0.92);}
/* Footer */
footer{
background:#060f1e;
color:#a9b3c6;
padding:48px 0 24px;
font-size:13.5px;
}
.footer-grid{
display:grid;
grid-template-columns:1.4fr 1fr 1fr 1fr;
gap:32px;
margin-bottom:32px;
}
.footer-grid h4{
color:var(--white);
font-size:14px;
margin-bottom:16px;
text-transform:uppercase;
letter-spacing:0.05em;
}
.footer-grid ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.footer-grid ul a:hover{color:var(--white);}
.footer-brand .logo{color:var(--white);margin-bottom:14px;}
.footer-brand p{max-width:280px;color:#7f8ba3;margin-bottom:16px;}
.footer-legal{
border-top:1px solid rgba(255,255,255,0.1);
padding-top:20px;
display:flex;
flex-wrap:wrap;
justify-content:space-between;
gap:12px;
color:#7f8ba3;
font-size:12.5px;
}
.footer-legal a{color:#a9b3c6;}
.compliance-notice{
background:rgba(255,255,255,0.04);
border:1px solid rgba(255,255,255,0.08);
border-radius:8px;
padding:16px 20px;
font-size:12.5px;
color:#8a96ac;
margin-bottom:24px;
line-height:1.6;
}
/* Responsive */
@media (max-width:960px){
nav.main-nav{display:none;}
.menu-toggle{display:block;}
.hero-grid{grid-template-columns:1fr;}
.hero h1{font-size:34px;}
.serve-grid{grid-template-columns:1fr;}
.steps-wrap{grid-template-columns:1fr 1fr;}
.compliance-grid{grid-template-columns:1fr;}
.cta-band-grid{grid-template-columns:1fr;}
.footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
.steps-wrap{grid-template-columns:1fr;}
.hero-stats{grid-template-columns:1fr 1fr;}
.footer-grid{grid-template-columns:1fr;}
.hero-ctas .btn{width:100%;}
}
</style>
</head>
<body>
<header>
<div class="container nav-bar">
<a href="#top" class="logo">
<span class="mark">DRE</span>
Debt Recovery Experts
</a>
<nav class="main-nav">
<a href="#services">Services</a>
<a href="#how-it-works">How It Works</a>
<a href="#creditors">For Creditors</a>
<a href="#debtors">For Debtors</a>
<a href="#contact">Contact</a>
</nav>
<div class="nav-cta">
<a class="link-login" href="https://my.debtrecoveryexperts.com">Client Login</a>
<a class="btn btn-primary btn-sm" href="https://portal.debtrecoveryexperts.com">Submit a Claim</a>
</div>
<button class="menu-toggle" aria-label="Open menu">&#9776;</button>
</div>
</header>
<section class="hero" id="top">
<div class="container hero-grid">
<div class="hero-main">
<span class="eyebrow">Texas Commercial Debt Recovery</span>
<h1>Stop chasing unpaid invoices. <span>Get them recovered.</span></h1>
<p class="sub">Submit your claim in minutes and let a licensed Texas recovery team pursue payment on your behalf, so you can get back to running your business.</p>
<div class="hero-ctas">
<a class="btn btn-primary" href="https://portal.debtrecoveryexperts.com">Submit a Claim Now</a>
<a class="btn btn-secondary" href="https://pay.debtrecoveryexperts.com">I Need to Make a Payment</a>
</div>
<p class="hero-note">No upfront retainer required to start a claim review. FDCPA and TDCPA compliant process, every case.</p>
</div>
<div class="hero-side">
<h3>What happens when you submit a claim</h3>
<ul class="hero-checklist">
<li><span class="chk">&#10003;</span> Your claim is reviewed by a recovery specialist</li>
<li><span class="chk">&#10003;</span> We contact the debtor through compliant channels</li>
<li><span class="chk">&#10003;</span> You track progress from your client dashboard</li>
<li><span class="chk">&#10003;</span> Recovered funds are remitted to you</li>
</ul>
<div class="hero-stats">
<div class="stat-box">
<span class="num">[Recovery rate]</span>
<span class="label">Placeholder metric</span>
</div>
<div class="stat-box">
<span class="num">[Avg. time to contact]</span>
<span class="label">Placeholder metric</span>
</div>
</div>
</div>
</div>
</section>
<div class="trust-strip">
<div class="container">
<span><span class="dot"></span> FDCPA Compliant</span>
<span><span class="dot"></span> TDCPA Compliant (Texas)</span>
<span><span class="dot"></span> Secure Data Handling</span>
<span><span class="dot"></span> Licensed Texas Recovery Firm</span>
</div>
</div>
<section id="services">
<div class="container">
<div class="section-head">
<h2>Built for one outcome: getting you paid.</h2>
<p>DRE handles commercial and consumer debt recovery for Texas businesses that need results without the hassle of DIY collections or expensive litigation.</p>
</div>
<div class="serve-grid" id="creditors">
<div class="serve-card primary">
<span class="tag">For Creditors</span>
<h3>Owed money by a customer or client?</h3>
<p>Submit your outstanding invoice or account and let our team pursue recovery through documented, compliant channels while you stay focused on your business.</p>
<ul class="serve-list">
<li>Fast intake through a simple online claim form</li>
<li>Status updates through your client dashboard</li>
<li>Compliant collection practices under FDCPA and TDCPA</li>
<li>No claim is too small or too complex to review</li>
</ul>
<a class="btn btn-primary btn-block" href="https://portal.debtrecoveryexperts.com">Submit a Claim</a>
</div>
<div class="serve-card secondary" id="debtors">
<span class="tag">For Debtors</span>
<h3>Received a notice from DRE?</h3>
<p>If you owe a debt that has been placed with our office, you have options and rights. Resolve your account quickly and securely online.</p>
<ul class="serve-list">
<li>Make a secure payment toward your balance</li>
<li>Review your account details and balance owed</li>
<li>Understand your rights under the FDCPA and TDCPA</li>
<li>Contact us to discuss payment arrangements</li>
</ul>
<a class="btn btn-outline-navy btn-block" href="https://pay.debtrecoveryexperts.com">Make a Payment</a>
</div>
</div>
</div>
</section>
<section id="how-it-works" style="background:var(--gray-bg);">
<div class="container">
<div class="section-head center" style="margin-left:auto;margin-right:auto;">
<h2>From unpaid invoice to resolved claim.</h2>
<p>A straightforward process designed to move your claim forward quickly and keep you informed at every step.</p>
</div>
<div class="steps-wrap">
<div class="step-card">
<span class="step-num">01</span>
<h4>Submit your claim</h4>
<p>Complete the online intake form with debtor and invoice details. Takes just a few minutes.</p>
</div>
<div class="step-card">
<span class="step-num">02</span>
<h4>Claim review</h4>
<p>A recovery specialist reviews the account and determines the appropriate recovery approach.</p>
</div>
<div class="step-card">
<span class="step-num">03</span>
<h4>Compliant outreach</h4>
<p>We contact the debtor through FDCPA and TDCPA compliant channels to pursue resolution.</p>
</div>
<div class="step-card">
<span class="step-num">04</span>
<h4>Track and get paid</h4>
<p>Monitor progress in your dashboard. Recovered funds are remitted to you per your agreement.</p>
</div>
</div>
</div>
</section>
<section class="compliance" id="compliance">
<div class="container">
<div class="section-head">
<h2>Recovery done the right way.</h2>
<p>Every account we work is handled under strict federal and state compliance standards, protecting your business and the consumer.</p>
</div>
<div class="compliance-grid">
<div class="compliance-card">
<div class="icon">FD</div>
<h4>FDCPA Compliant</h4>
<p>All collection activity follows the federal Fair Debt Collection Practices Act.</p>
</div>
<div class="compliance-card">
<div class="icon">TX</div>
<h4>TDCPA Compliant</h4>
<p>Recovery practices also adhere to the Texas Debt Collection Practices Act.</p>
</div>
<div class="compliance-card">
<div class="icon">SEC</div>
<h4>Secure Handling</h4>
<p>Claim and account data is handled through secure systems built for sensitive financial information.</p>
</div>
</div>
</div>
</section>
<section class="cta-band">
<div class="container">
<div class="cta-band-grid">
<div class="cta-panel">
<h3>Ready to submit a claim?</h3>
<p>Start the recovery process today. Claim submission takes just a few minutes and gets your account into review.</p>
<a class="btn btn-dark btn-block" href="https://portal.debtrecoveryexperts.com">Submit a Claim</a>
</div>
<div class="cta-panel">
<h3>Already a DRE client?</h3>
<p>Log in to your dashboard to check claim status, view recovered funds, and manage your account.</p>
<a class="btn btn-dark btn-block" href="https://my.debtrecoveryexperts.com">Go to Client Login</a>
</div>
</div>
</div>
</section>
<footer id="contact">
<div class="container">
<div class="footer-grid">
<div class="footer-brand">
<a href="#top" class="logo">
<span class="mark">DRE</span>
Debt Recovery Experts
</a>
<p>Texas-based commercial debt recovery, built for business owners who need unpaid debts resolved efficiently and compliantly.</p>
</div>
<div>
<h4>Company</h4>
<ul>
<li><a href="#services">Services</a></li>
<li><a href="#how-it-works">How It Works</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div>
<div>
<h4>For Creditors</h4>
<ul>
<li><a href="https://portal.debtrecoveryexperts.com">Submit a Claim</a></li>
<li><a href="https://my.debtrecoveryexperts.com">Client Login</a></li>
</ul>
</div>
<div>
<h4>For Debtors</h4>
<ul>
<li><a href="https://pay.debtrecoveryexperts.com">Make a Payment</a></li>
<li><a href="#debtors">Know Your Rights</a></li>
</ul>
</div>
</div>
<div class="compliance-notice">
Debt Recovery Experts is a debt collector. This communication is an attempt to collect a debt, and any information obtained will be used for that purpose, where applicable. Consumers have rights under the federal Fair Debt Collection Practices Act (FDCPA) and the Texas Debt Collection Practices Act (TDCPA). [Company address, phone, and licensing details placeholder.]
</div>
<div class="footer-legal">
<span>&copy; [Year] Debt Recovery Experts. All rights reserved.</span>
<span>
<a href="#">Privacy Policy</a> &nbsp; | &nbsp;
<a href="#">Terms of Use</a> &nbsp; | &nbsp;
<a href="#">Debtor Rights Notice</a>
</span>
</div>
</div>
</footer>
</body>
</html>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,948 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Debt Recovery Experts - Texas Debt Recovery, Handled Properly</title>
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="icon" href="/favicon-32.png" type="image/png" sizes="32x32">
<link rel="apple-touch-icon" href="/favicon-180.png">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600;8..60,700&family=Inter:wght@400;500;600&display=swap" rel="stylesheet">
<style>
:root {
--navy-950: #10192b;
--navy-900: #16213a;
--navy-800: #1f2d4a;
--navy-700: #2b3d5f;
--navy-600: #3d5378;
--slate-500: #64748b;
--slate-400: #8593a8;
--slate-300: #b3bdcc;
--slate-200: #d8dee7;
--slate-100: #eceff4;
--paper: #faf9f6;
--paper-alt: #f2f0ea;
--line: #dcdfe6;
--gold: #9c7c3f;
--white: #ffffff;
--radius: 3px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
margin: 0;
font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
color: var(--navy-900);
background: var(--paper);
line-height: 1.6;
font-size: 16px;
}
h1, h2, h3, h4 {
font-family: 'Source Serif 4', Georgia, 'Times New Roman', serif;
font-weight: 600;
color: var(--navy-950);
margin: 0 0 0.5em 0;
letter-spacing: -0.01em;
}
p { margin: 0 0 1em 0; }
a { color: inherit; text-decoration: none; }
.container {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px;
}
.eyebrow {
font-size: 0.78rem;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--gold);
font-weight: 600;
margin-bottom: 14px;
display: block;
}
/* ---------- Top compliance strip ---------- */
.top-strip {
background: var(--navy-950);
color: var(--slate-300);
font-size: 0.82rem;
padding: 8px 0;
border-bottom: 1px solid rgba(255,255,255,0.08);
}
.top-strip .container {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 8px;
}
.top-strip a:hover { color: var(--white); }
.top-strip .divider { opacity: 0.4; margin: 0 10px; }
/* ---------- Header / nav ---------- */
header.main {
background: var(--white);
border-bottom: 1px solid var(--line);
position: sticky;
top: 0;
z-index: 50;
}
.nav-wrap {
display: flex;
align-items: center;
justify-content: space-between;
padding: 14px 0;
}
.brand {
display: flex;
align-items: center;
gap: 12px;
}
.brand-mark {
width: 42px;
height: 42px;
border: 1.5px solid var(--navy-900);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-family: 'Source Serif 4', serif;
font-weight: 600;
font-size: 1.05rem;
color: var(--navy-900);
flex-shrink: 0;
}
.brand-text {
font-family: 'Source Serif 4', serif;
font-size: 1.18rem;
font-weight: 600;
color: var(--navy-950);
line-height: 1.1;
}
.brand-text small {
display: block;
font-family: 'Inter', sans-serif;
font-weight: 500;
font-size: 0.66rem;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--slate-500);
margin-top: 3px;
}
nav.primary-nav {
display: flex;
align-items: center;
gap: 26px;
}
nav.primary-nav a.nav-link {
font-size: 0.9rem;
font-weight: 500;
color: var(--navy-800);
padding: 4px 0;
white-space: nowrap;
border-bottom: 2px solid transparent;
transition: border-color 0.15s ease, color 0.15s ease;
}
nav.primary-nav a.nav-link:hover {
color: var(--gold);
border-bottom-color: var(--gold);
}
.header-ctas {
display: flex;
align-items: center;
gap: 10px;
}
.btn {
display: inline-block;
padding: 12px 26px;
font-size: 0.92rem;
font-weight: 600;
border-radius: var(--radius);
border: 1.5px solid transparent;
cursor: pointer;
transition: all 0.15s ease;
text-align: center;
white-space: nowrap;
}
.btn-primary {
background: var(--navy-950);
color: var(--white);
border-color: var(--navy-950);
}
.btn-primary:hover { background: var(--navy-800); border-color: var(--navy-800); }
.btn-secondary {
background: transparent;
color: var(--navy-700);
border-color: var(--slate-300);
}
.btn-secondary:hover { background: var(--slate-100); border-color: var(--navy-600); color: var(--navy-900); }
.btn-ghost {
background: transparent;
color: var(--navy-800);
border-color: var(--line);
}
.btn-ghost:hover { border-color: var(--navy-700); }
.btn-sm { padding: 9px 18px; font-size: 0.85rem; }
.btn-block { display: block; width: 100%; }
/* mobile nav toggle (css-only) */
.nav-toggle { display: none; }
.nav-toggle-label {
display: none;
cursor: pointer;
padding: 8px;
}
.nav-toggle-label span,
.nav-toggle-label span::before,
.nav-toggle-label span::after {
display: block;
width: 24px;
height: 2px;
background: var(--navy-900);
position: relative;
transition: all 0.2s ease;
}
.nav-toggle-label span::before,
.nav-toggle-label span::after {
content: "";
position: absolute;
}
.nav-toggle-label span::before { top: -7px; }
.nav-toggle-label span::after { top: 7px; }
/* ---------- Hero ---------- */
.hero {
background: linear-gradient(180deg, var(--navy-950) 0%, var(--navy-900) 65%, var(--navy-800) 100%);
color: var(--white);
padding: 96px 0 84px;
position: relative;
overflow: hidden;
}
.hero::after {
content: "";
position: absolute;
right: -10%;
top: -20%;
width: 560px;
height: 560px;
border: 1px solid rgba(255,255,255,0.06);
border-radius: 50%;
}
.hero::before {
content: "";
position: absolute;
right: 4%;
bottom: -30%;
width: 380px;
height: 380px;
border: 1px solid rgba(255,255,255,0.05);
border-radius: 50%;
}
.hero .container { position: relative; z-index: 2; }
.hero-inner {
max-width: 700px;
}
.hero .eyebrow { color: var(--slate-300); }
.hero h1 {
color: var(--white);
font-size: 2.9rem;
line-height: 1.18;
margin-bottom: 22px;
}
.hero .subhead {
font-size: 1.15rem;
color: var(--slate-200);
max-width: 560px;
margin-bottom: 38px;
font-weight: 400;
}
.hero-ctas {
display: flex;
align-items: center;
gap: 16px;
flex-wrap: wrap;
margin-bottom: 40px;
}
.hero .btn-primary {
background: var(--white);
color: var(--navy-950);
border-color: var(--white);
}
.hero .btn-primary:hover { background: var(--slate-200); border-color: var(--slate-200); }
.hero .btn-text {
display: inline-block;
padding: 12px 4px;
font-size: 0.92rem;
font-weight: 500;
color: var(--slate-200);
border-bottom: 1px solid rgba(255,255,255,0.3);
border-radius: 0;
}
.hero .btn-text:hover { color: var(--white); border-bottom-color: var(--white); }
.hero-trust-row {
display: flex;
gap: 28px;
flex-wrap: wrap;
padding-top: 30px;
border-top: 1px solid rgba(255,255,255,0.14);
}
.hero-trust-item {
display: flex;
align-items: center;
gap: 10px;
font-size: 0.85rem;
color: var(--slate-300);
}
.hero-trust-item .dot {
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--gold);
flex-shrink: 0;
}
/* ---------- Section shell ---------- */
section { padding: 88px 0; }
.section-head {
max-width: 660px;
margin: 0 auto 56px;
text-align: center;
}
.section-head h2 { font-size: 2.1rem; }
.section-head p { color: var(--slate-500); font-size: 1.05rem; }
.bg-alt { background: var(--paper-alt); }
.bg-navy { background: var(--navy-950); color: var(--slate-200); }
.bg-navy h2, .bg-navy h3, .bg-navy h4 { color: var(--white); }
/* ---------- Who we serve ---------- */
.audience-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
}
.audience-card {
background: var(--white);
border: 1px solid var(--line);
border-top: 3px solid var(--navy-900);
border-radius: var(--radius);
padding: 44px 40px;
}
.audience-card.debtor-card { border-top-color: var(--gold); }
.audience-icon {
width: 52px;
height: 52px;
border: 1.5px solid var(--navy-800);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 22px;
color: var(--navy-800);
}
.debtor-card .audience-icon { border-color: var(--gold); color: var(--gold); }
.audience-card h3 { font-size: 1.4rem; margin-bottom: 12px; }
.audience-card .tag {
display: inline-block;
font-size: 0.72rem;
letter-spacing: 0.1em;
text-transform: uppercase;
font-weight: 600;
color: var(--slate-500);
margin-bottom: 16px;
}
.audience-card ul {
list-style: none;
padding: 0;
margin: 0 0 28px 0;
}
.audience-card li {
padding: 9px 0 9px 26px;
position: relative;
color: var(--navy-800);
font-size: 0.96rem;
border-bottom: 1px solid var(--slate-100);
}
.audience-card li:last-child { border-bottom: none; }
.audience-card li::before {
content: "";
position: absolute;
left: 0;
top: 17px;
width: 8px;
height: 8px;
border: 1.5px solid var(--navy-700);
transform: rotate(45deg);
}
.debtor-card li::before { border-color: var(--gold); }
/* ---------- How it works ---------- */
.steps {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 0;
position: relative;
}
.step {
padding: 0 26px;
position: relative;
}
.step:not(:first-child)::before {
content: "";
position: absolute;
left: 0;
top: 26px;
width: 1px;
height: calc(100% - 40px);
background: var(--line);
}
.step-num {
font-family: 'Source Serif 4', serif;
font-size: 2.4rem;
font-weight: 600;
color: var(--slate-300);
margin-bottom: 14px;
line-height: 1;
}
.step h4 { font-size: 1.08rem; margin-bottom: 10px; }
.step p { color: var(--slate-500); font-size: 0.93rem; margin-bottom: 0; }
/* ---------- Compliance section ---------- */
.compliance-grid {
display: grid;
grid-template-columns: 1.1fr 1fr;
gap: 64px;
align-items: start;
}
.compliance-copy .eyebrow { color: var(--gold); }
.compliance-copy h2 { font-size: 2.1rem; margin-bottom: 20px; }
.compliance-copy p { color: var(--slate-300); font-size: 1.02rem; }
.compliance-list {
display: flex;
flex-direction: column;
gap: 0;
}
.compliance-item {
display: flex;
gap: 20px;
padding: 24px 0;
border-bottom: 1px solid rgba(255,255,255,0.1);
}
.compliance-item:first-child { padding-top: 0; }
.compliance-badge {
flex-shrink: 0;
width: 46px;
height: 46px;
border: 1px solid rgba(255,255,255,0.25);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-family: 'Source Serif 4', serif;
font-weight: 600;
font-size: 0.82rem;
color: var(--white);
letter-spacing: 0.02em;
}
.compliance-item h4 {
font-size: 1.02rem;
margin-bottom: 6px;
}
.compliance-item p {
color: var(--slate-400);
font-size: 0.9rem;
margin: 0;
}
/* ---------- CTA band ---------- */
.cta-band {
background: var(--paper-alt);
border-top: 1px solid var(--line);
border-bottom: 1px solid var(--line);
}
.cta-band-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0;
}
.cta-band-col {
padding: 56px 48px;
}
.cta-band-col:first-child {
border-right: 1px solid var(--line);
}
.cta-band-col .eyebrow { margin-bottom: 10px; }
.cta-band-col h3 { font-size: 1.5rem; margin-bottom: 10px; }
.cta-band-col p { color: var(--slate-500); margin-bottom: 22px; font-size: 0.96rem; }
/* ---------- Footer ---------- */
footer {
background: var(--navy-950);
color: var(--slate-400);
padding: 64px 0 28px;
font-size: 0.9rem;
}
.footer-grid {
display: grid;
grid-template-columns: 1.4fr 1fr 1fr 1fr;
gap: 40px;
padding-bottom: 44px;
border-bottom: 1px solid rgba(255,255,255,0.1);
}
.footer-brand .brand-text { color: var(--white); }
.footer-brand p {
color: var(--slate-400);
margin-top: 16px;
max-width: 320px;
font-size: 0.88rem;
}
.footer-col h5 {
color: var(--white);
font-size: 0.78rem;
letter-spacing: 0.1em;
text-transform: uppercase;
font-weight: 600;
margin-bottom: 18px;
font-family: 'Inter', sans-serif;
}
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col li { margin-bottom: 12px; }
.footer-col a:hover { color: var(--white); }
.footer-bottom {
padding-top: 28px;
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 24px;
flex-wrap: wrap;
}
.footer-legal {
font-size: 0.8rem;
color: var(--slate-500);
max-width: 720px;
line-height: 1.7;
}
.footer-legal p { margin-bottom: 10px; }
.footer-links-inline {
display: flex;
gap: 20px;
flex-wrap: wrap;
font-size: 0.82rem;
}
.footer-links-inline a:hover { color: var(--white); }
/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
.nav-toggle-label { display: block; }
nav.primary-nav {
position: absolute;
top: 100%;
left: 0;
right: 0;
background: var(--white);
flex-direction: column;
align-items: flex-start;
gap: 0;
border-bottom: 1px solid var(--line);
max-height: 0;
overflow: hidden;
transition: max-height 0.25s ease;
}
.nav-toggle:checked ~ nav.primary-nav { max-height: 320px; }
nav.primary-nav a.nav-link {
width: 100%;
padding: 16px 32px;
border-bottom: 1px solid var(--slate-100);
border-left: none;
}
}
@media (max-width: 900px) {
.audience-grid { grid-template-columns: 1fr; }
.steps { grid-template-columns: 1fr 1fr; row-gap: 40px; }
.step:nth-child(3)::before, .step:nth-child(1)::before { display: none; }
.compliance-grid { grid-template-columns: 1fr; gap: 40px; }
.cta-band-grid { grid-template-columns: 1fr; }
.cta-band-col:first-child { border-right: none; border-bottom: 1px solid var(--line); }
.footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
.top-strip .container { flex-direction: column; align-items: flex-start; gap: 4px; }
.nav-toggle-label { display: block; }
nav.primary-nav {
position: absolute;
top: 100%;
left: 0;
right: 0;
background: var(--white);
flex-direction: column;
align-items: flex-start;
gap: 0;
border-bottom: 1px solid var(--line);
max-height: 0;
overflow: hidden;
transition: max-height 0.25s ease;
}
.nav-toggle:checked ~ nav.primary-nav { max-height: 320px; }
nav.primary-nav a.nav-link {
width: 100%;
padding: 16px 32px;
border-bottom: 1px solid var(--slate-100);
border-left: none;
}
.header-ctas .btn-secondary { display: none; }
.hero { padding: 64px 0 56px; }
.hero h1 { font-size: 2.1rem; }
.hero-trust-row { flex-direction: column; gap: 12px; }
section { padding: 60px 0; }
.steps { grid-template-columns: 1fr; }
.step::before { display: none !important; }
.footer-grid { grid-template-columns: 1fr; gap: 32px; }
.footer-bottom { flex-direction: column; }
}
</style>
</head>
<body>
<!-- Top compliance strip -->
<div class="top-strip">
<div class="container">
<div>
Licensed Texas debt recovery firm operating under FDCPA and TDCPA guidelines
</div>
<div>
<a href="#contact">Contact us</a>
<span class="divider">|</span>
<a href="https://pay.debtrecoveryexperts.com">Make a payment</a>
</div>
</div>
</div>
<!-- Header -->
<header class="main">
<div class="container">
<div class="nav-wrap">
<a href="#top" class="brand">
<span class="brand-mark">DRE</span>
<span class="brand-text">Debt Recovery Experts</span>
</a>
<input type="checkbox" id="nav-toggle" class="nav-toggle">
<label for="nav-toggle" class="nav-toggle-label" aria-label="Toggle navigation"><span></span></label>
<nav class="primary-nav">
<a class="nav-link" href="#services">Services</a>
<a class="nav-link" href="#how-it-works">How It Works</a>
<a class="nav-link" href="#creditors">For Creditors</a>
<a class="nav-link" href="#debtors">For Debtors</a>
<a class="nav-link" href="#contact">Contact</a>
</nav>
<div class="header-ctas">
<a href="https://my.debtrecoveryexperts.com" class="btn btn-secondary btn-sm">Client Login</a>
<a href="https://my.debtrecoveryexperts.com/start" class="btn btn-primary btn-sm">Submit a Claim</a>
</div>
</div>
</div>
</header>
<!-- Hero -->
<section class="hero" id="top">
<div class="container">
<div class="hero-inner">
<span class="eyebrow">Texas Debt Recovery, Handled Properly</span>
<h1>Recover what you are owed, without cutting corners on compliance.</h1>
<p class="subhead">
Debt Recovery Experts represents Texas businesses in the recovery of commercial and consumer debt,
under the same regulatory discipline we would want applied to our own accounts. Deliberate process,
documented compliance, and clear communication at every stage.
</p>
<div class="hero-ctas">
<a href="https://my.debtrecoveryexperts.com/start" class="btn btn-primary">Submit a Claim</a>
<a href="https://pay.debtrecoveryexperts.com" class="btn-text">Make a Payment</a>
</div>
<div class="hero-trust-row">
<div class="hero-trust-item"><span class="dot"></span> FDCPA compliant procedures</div>
<div class="hero-trust-item"><span class="dot"></span> TDCPA compliant, Texas licensed</div>
<div class="hero-trust-item"><span class="dot"></span> Secure handling of account data</div>
</div>
</div>
</div>
</section>
<!-- Who we serve -->
<section id="services">
<div class="container">
<div class="section-head">
<span class="eyebrow">Who We Serve</span>
<h2>Two sides of every account, one standard of conduct</h2>
<p>Whether you are owed money or working through a balance you owe, our process is built to be clear,
fair, and fully documented.</p>
</div>
<div class="audience-grid">
<div class="audience-card" id="creditors">
<div class="audience-icon">C</div>
<span class="tag">For Creditors</span>
<h3>Place an account for recovery</h3>
<p>For businesses seeking to recover outstanding commercial or consumer receivables through a
structured, compliant process.</p>
<ul>
<li>Submit claims through a secure intake portal</li>
<li>Track case status and correspondence in one place</li>
<li>Work with a firm that documents every contact attempt</li>
<li>Portfolio placement for single accounts or batches</li>
</ul>
<a href="https://my.debtrecoveryexperts.com/start" class="btn btn-primary btn-block">Submit a Claim</a>
</div>
<div class="audience-card debtor-card" id="debtors">
<div class="audience-icon">D</div>
<span class="tag">For Debtors</span>
<h3>Resolve an outstanding balance</h3>
<p>If you have received correspondence from our office regarding an account, you have options and
you have rights under federal and state law.</p>
<ul>
<li>Review your account and verify the balance owed</li>
<li>Make a secure payment or set up arrangements</li>
<li>Understand your rights under the FDCPA and TDCPA</li>
<li>Reach a representative directly with questions</li>
</ul>
<a href="https://pay.debtrecoveryexperts.com" class="btn btn-secondary btn-block">Make a Payment</a>
</div>
</div>
</div>
</section>
<!-- How it works -->
<section class="bg-alt" id="how-it-works">
<div class="container">
<div class="section-head">
<span class="eyebrow">How It Works</span>
<h2>A deliberate, documented process</h2>
<p>From claim submission to resolution, each step is tracked and each communication is recorded.</p>
</div>
<div class="steps">
<div class="step">
<div class="step-num">01</div>
<h4>Submit the claim</h4>
<p>A creditor submits account details through the secure intake portal, including balance and
supporting documentation.</p>
</div>
<div class="step">
<div class="step-num">02</div>
<h4>Review and verification</h4>
<p>Our team reviews the account for completeness and confirms it meets requirements before
placement.</p>
</div>
<div class="step">
<div class="step-num">03</div>
<h4>Compliant contact and negotiation</h4>
<p>The debtor is contacted in accordance with FDCPA and TDCPA requirements to verify and resolve
the balance.</p>
</div>
<div class="step">
<div class="step-num">04</div>
<h4>Resolution and reporting</h4>
<p>Payments are processed and the creditor receives status updates through their client
dashboard.</p>
</div>
</div>
</div>
</section>
<!-- Compliance -->
<section class="bg-navy">
<div class="container">
<div class="compliance-grid">
<div class="compliance-copy">
<span class="eyebrow">Compliance First</span>
<h2>Recovery conducted within the letter of the law</h2>
<p>
Debt recovery is a regulated activity, and we treat it that way. Our procedures are built around
the Fair Debt Collection Practices Act and the Texas Debt Collection Act, with internal controls
designed to keep every contact, disclosure, and payment within bounds.
</p>
<p>
This is not a marketing claim, it is how the office is structured to operate day to day.
</p>
</div>
<div class="compliance-list">
<div class="compliance-item">
<div class="compliance-badge">FDCPA</div>
<div>
<h4>Federal Fair Debt Collection Practices Act</h4>
<p>Governs communication frequency, disclosure requirements, and prohibited practices in
consumer debt collection.</p>
</div>
</div>
<div class="compliance-item">
<div class="compliance-badge">TDCPA</div>
<div>
<h4>Texas Debt Collection Act</h4>
<p>State-level requirements for licensing, bonding, and conduct for debt collectors operating
in Texas.</p>
</div>
</div>
<div class="compliance-item">
<div class="compliance-badge">SEC</div>
<div>
<h4>Secure data handling</h4>
<p>Account and payment information is handled through encrypted channels with access limited
to authorized personnel.</p>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- CTA band -->
<section class="cta-band" style="padding: 0;">
<div class="container" style="padding: 0;">
<div class="cta-band-grid">
<div class="cta-band-col">
<span class="eyebrow">New Creditor</span>
<h3>Ready to place an account?</h3>
<p>Submit claim details through our secure intake portal and a member of our team will confirm
receipt.</p>
<a href="https://my.debtrecoveryexperts.com/start" class="btn btn-primary">Submit a Claim</a>
</div>
<div class="cta-band-col">
<span class="eyebrow">Existing Client</span>
<h3>Track your recovery</h3>
<p>Log in to your client dashboard to review case status, correspondence, and reporting on
placed accounts.</p>
<a href="https://my.debtrecoveryexperts.com" class="btn btn-secondary">Client Login</a>
</div>
</div>
</div>
</section>
<!-- Footer -->
<footer id="contact">
<div class="container">
<div class="footer-grid">
<div class="footer-col footer-brand">
<a href="#top" class="brand">
<span class="brand-mark" style="border-color: var(--white); color: var(--white);">DRE</span>
<span class="brand-text">Debt Recovery Experts</span>
</a>
<p>A Texas-based debt recovery firm serving creditors and debtors under FDCPA and TDCPA
compliance standards.</p>
</div>
<div class="footer-col">
<h5>Firm</h5>
<ul>
<li><a href="#services">Services</a></li>
<li><a href="#how-it-works">How It Works</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div>
<div class="footer-col">
<h5>Portals</h5>
<ul>
<li><a href="https://my.debtrecoveryexperts.com/start">Submit a Claim</a></li>
<li><a href="https://my.debtrecoveryexperts.com">Client Login</a></li>
<li><a href="https://pay.debtrecoveryexperts.com">Make a Payment</a></li>
</ul>
</div>
<div class="footer-col">
<h5>Contact</h5>
<ul>
<li>Serving all of Texas</li>
<li>Licensed in the State of Texas</li>
<li><a href="https://my.debtrecoveryexperts.com/start">Submit a Claim</a></li>
</ul>
</div>
</div>
<div class="footer-bottom">
<div class="footer-legal">
<p>
Debt Recovery Experts is a debt collection firm. This communication is an attempt to collect a
debt and any information obtained will be used for that purpose, where applicable. You have
rights under the federal Fair Debt Collection Practices Act and the Texas Debt Collection Act,
including the right to dispute a debt and request verification.
</p>
<p>Licensed in the State of Texas. Licensing, bonding, and registration details are available upon request.</p>
</div>
<div class="footer-links-inline">
<a href="/privacy.html">Privacy Policy</a>
<a href="/terms.html">Terms of Use</a>
<a href="/aup.html">Acceptable Use Policy</a>
</div>
</div>
</div>
</footer>
</body>
</html>
Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

+5
View File
@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512">
<rect width="512" height="512" rx="112" fill="#16213a"/>
<rect x="10" y="10" width="492" height="492" rx="102" fill="none" stroke="#9c7c3f" stroke-width="6"/>
<text x="256" y="268" font-family="Georgia, 'Times New Roman', serif" font-size="180" font-weight="700" fill="#9c7c3f" text-anchor="middle" dominant-baseline="central" letter-spacing="4">DRE</text>
</svg>

After

Width:  |  Height:  |  Size: 458 B