<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Haven Tax & Financial Services offers individual and self-employed tax preparation, bookkeeping, QuickBooks setup, and bookkeeping cleanup. Less paperwork. More peace of mind.">
<meta name="theme-color" content="#F8F5EF">
<title>Haven Tax & Financial Services | Tax Preparation & Bookkeeping</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=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap" rel="stylesheet">
<style>
:root {
--cream: #F8F5EF;
--sage: #78816B;
--clay: #A77B65;
--mocha: #59483F;
--champagne: #C4A77D;
--white: #FFFFFF;
--soft-sage: #E9EBE4;
--text: #51483F;
--muted: #776F67;
--border: #E6DED3;
--serif: "Playfair Display", Georgia, serif;
--sans: "DM Sans", Arial, sans-serif;
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html {
scroll-behavior: smooth;
scroll-padding-top: 95px;
}
body {
background: var(--cream);
color: var(--text);
font-family: var(--sans);
line-height: 1.7;
}
a {
color: inherit;
text-decoration: none;
}
button, input, textarea, select {
font: inherit;
}
button, a {
-webkit-tap-highlight-color: transparent;
}
:focus-visible {
outline: 3px solid var(--champagne);
outline-offset: 4px;
}
.container {
width: min(1120px, 90%);
margin: auto;
}
.announcement {
background: var(--mocha);
color: var(--cream);
text-align: center;
padding: 8px 15px;
font-size: 12px;
letter-spacing: 1px;
}
header {
position: sticky;
top: 0;
z-index: 100;
background: rgba(248,245,239,.97);
border-bottom: 1px solid var(--border);
backdrop-filter: blur(12px);
}
.navbar {
min-height: 82px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
}
.brand {
display: flex;
align-items: center;
gap: 12px;
flex-shrink: 0;
}
.brand-mark {
width: 43px;
height: 43px;
border: 1px solid var(--sage);
border-radius: 50% 50% 50% 8px;
display: grid;
place-items: center;
color: var(--sage);
font-family: var(--serif);
font-size: 25px;
transform: rotate(-8deg);
}
.brand-name {
font-family: var(--serif);
color: var(--mocha);
font-size: 19px;
line-height: 1.2;
}
.brand-subtitle {
color: var(--sage);
text-transform: uppercase;
letter-spacing: 2px;
font-size: 9px;
margin-top: 4px;
}
.nav-links {
display: flex;
align-items: center;
justify-content: flex-end;
flex-wrap: wrap;
gap: 17px;
}
.nav-links a {
font-size: 12px;
color: var(--mocha);
transition: color .2s;
}
.nav-links a:hover {
color: var(--clay);
}
.nav-links .nav-cta {
background: var(--sage);
color: white;
padding: 10px 15px;
border-radius: 3px;
}
.menu-toggle {
display: none;
background: transparent;
border: 1px solid var(--border);
border-radius: 4px;
padding: 8px 12px;
color: var(--mocha);
cursor: pointer;
}
.hero {
min-height: 610px;
display: flex;
align-items: center;
position: relative;
overflow: hidden;
background:
radial-gradient(ellipse at 85% 35%, rgba(196,167,125,.18), transparent 36%),
var(--cream);
}
.hero::after {
content: "❧";
position: absolute;
right: 4%;
top: 8%;
font-family: var(--serif);
font-size: clamp(180px, 30vw, 390px);
color: rgba(120,129,107,.13);
transform: rotate(-25deg);
pointer-events: none;
}
.hero-content {
position: relative;
z-index: 1;
max-width: 690px;
padding: 95px 0;
}
.eyebrow {
color: var(--clay);
text-transform: uppercase;
letter-spacing: 3px;
font-size: 11px;
font-weight: 700;
margin-bottom: 20px;
}
h1, h2, h3 {
font-family: var(--serif);
font-weight: 500;
color: var(--mocha);
line-height: 1.2;
}
h1 {
font-size: clamp(44px, 7vw, 76px);
max-width: 720px;
margin-bottom: 22px;
}
h1 span {
color: var(--sage);
font-style: italic;
}
.hero p {
max-width: 540px;
color: var(--muted);
font-size: 17px;
margin-bottom: 30px;
}
.button-row {
display: flex;
flex-wrap: wrap;
gap: 12px;
align-items: center;
}
.button {
display: inline-block;
border: 1px solid var(--sage);
background: var(--sage);
color: white;
padding: 13px 23px;
border-radius: 3px;
font-size: 13px;
font-weight: 600;
transition: .2s ease;
cursor: pointer;
}
.button:hover {
background: var(--mocha);
border-color: var(--mocha);
transform: translateY(-2px);
}
.button.secondary {
background: transparent;
color: var(--mocha);
border-color: var(--border);
}
.button.secondary:hover {
background: var(--soft-sage);
border-color: var(--sage);
}
.tagline {
margin-top: 27px;
color: var(--sage);
font-family: var(--serif);
font-style: italic;
font-size: 20px;
}
section {
padding: 90px 0;
}
.section-heading {
max-width: 680px;
margin-bottom: 40px;
}
.section-heading h2 {
font-size: clamp(34px, 5vw, 48px);
margin-bottom: 16px;
}
.section-heading p {
color: var(--muted);
}
.center {
text-align: center;
margin-left: auto;
margin-right: auto;
}
.center .section-heading {
margin-left: auto;
margin-right: auto;
}
.intro {
background: var(--white);
}
.intro-grid {
display: grid;
grid-template-columns: 1fr 1fr;
align-items: center;
gap: 65px;
}
.intro-art {
min-height: 340px;
border-radius: 48% 48% 4px 4px;
background:
radial-gradient(ellipse at 50% 80%, rgba(120,129,107,.25), transparent 55%),
var(--soft-sage);
display: grid;
place-items: center;
color: var(--sage);
font-family: var(--serif);
font-size: 115px;
}
.intro-copy h2 {
font-size: clamp(33px, 4vw, 46px);
margin-bottom: 18px;
}
.intro-copy p {
color: var(--muted);
margin-bottom: 18px;
}
.services {
background: var(--cream);
}
.service-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
.service-card {
padding: 30px 25px;
background: var(--white);
border: 1px solid var(--border);
border-radius: 5px;
transition: transform .2s, box-shadow .2s;
}
.service-card:hover {
transform: translateY(-4px);
box-shadow: 0 12px 30px rgba(89,72,63,.08);
}
.service-icon {
width: 45px;
height: 45px;
border-radius: 50%;
background: var(--soft-sage);
color: var(--sage);
display: grid;
place-items: center;
font-family: var(--serif);
font-size: 22px;
margin-bottom: 20px;
}
.service-card h3 {
font-size: 23px;
margin-bottom: 12px;
}
.service-card p {
color: var(--muted);
font-size: 14px;
margin-bottom: 18px;
}
.learn-link {
color: var(--clay);
font-size: 13px;
font-weight: 700;
}
.soft-section {
background: var(--soft-sage);
}
.service-detail {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 50px;
align-items: start;
margin-top: 38px;
}
.detail-panel {
background: rgba(255,255,255,.7);
padding: 32px;
border-radius: 4px;
}
.detail-panel h3 {
font-size: 25px;
margin-bottom: 15px;
}
.detail-panel p, .detail-panel li {
color: var(--muted);
font-size: 14px;
}
.detail-panel ul {
padding-left: 20px;
margin-top: 14px;
}
.detail-panel li {
margin-bottom: 8px;
}
.forms-section {
background: var(--white);
}
.forms-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 35px;
}
.form-card {
background: var(--cream);
border: 1px solid var(--border);
border-radius: 5px;
padding: 30px;
}
.form-card h3 {
font-size: 25px;
margin-bottom: 10px;
}
.form-card > p {
font-size: 14px;
color: var(--muted);
margin-bottom: 22px;
}
.field {
margin-bottom: 16px;
}
.field label {
display: block;
font-size: 13px;
font-weight: 600;
margin-bottom: 6px;
color: var(--mocha);
}
.field input, .field textarea, .field select {
width: 100%;
border: 1px solid var(--border);
border-radius: 3px;
background: white;
padding: 12px;
color: var(--text);
}
.field textarea {
min-height: 110px;
resize: vertical;
}
.privacy-note {
color: var(--muted);
font-size: 12px;
margin: 14px 0;
}
.form-status {
margin-top: 12px;
font-size: 13px;
color: var(--sage);
}
.about-section {
background: var(--cream);
}
.about-content {
max-width: 760px;
margin: auto;
text-align: center;
}
.about-content h2 {
font-size: clamp(35px, 5vw, 50px);
margin-bottom: 22px;
}
.about-content p {
color: var(--muted);
margin-bottom: 17px;
}
.quote {
font-family: var(--serif);
font-size: 26px;
color: var(--sage);
font-style: italic;
margin: 35px auto;
}
.blog-section {
background: var(--white);
}
.blog-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
.blog-card {
border: 1px solid var(--border);
border-radius: 4px;
overflow: hidden;
background: var(--cream);
}
.blog-image {
height: 145px;
display: grid;
place-items: center;
background: var(--soft-sage);
color: var(--sage);
font-family: var(--serif);
font-size: 48px;
}
.blog-copy {
padding: 22px;
}
.blog-copy small {
color: var(--clay);
text-transform: uppercase;
letter-spacing: 1px;
font-size: 10px;
}
.blog-copy h3 {
font-size: 21px;
margin: 9px 0;
}
.blog-copy p {
color: var(--muted);
font-size: 13px;
margin-bottom: 15px;
}
.appointment-section {
background: var(--mocha);
color: var(--cream);
text-align: center;
}
.appointment-section h2 {
color: var(--cream);
font-size: clamp(35px, 5vw, 48px);
margin-bottom: 17px;
}
.appointment-section p {
color: #E5DCD2;
max-width: 570px;
margin: 0 auto 27px;
}
.appointment-section .button {
background: var(--champagne);
border-color: var(--champagne);
color: var(--mocha);
}
.appointment-section .button:hover {
background: var(--cream);
border-color: var(--cream);
}
.portal-section {
background: var(--soft-sage);
text-align: center;
}
.portal-section h2 {
font-size: 39px;
margin-bottom: 15px;
}
.portal-section p {
color: var(--muted);
max-width: 580px;
margin: 0 auto 25px;
}
.contact-section {
background: var(--cream);
}
.contact-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
}
.contact-grid h2 {
font-size: 40px;
margin-bottom: 17px;
}
.contact-grid p {
color: var(--muted);
margin-bottom: 12px;
}
.contact-detail {
margin-top: 25px;
line-height: 2;
}
footer {
background: var(--mocha);
color: var(--cream);
padding: 40px 0 20px;
}
.footer-grid {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
gap: 35px;
padding-bottom: 30px;
}
footer h3 {
color: var(--cream);
font-size: 21px;
margin-bottom: 13px;
}
footer p, footer a {
color: #DED4C9;
font-size: 13px;
}
footer a:hover {
color: var(--champagne);
}
.footer-links {
display: grid;
gap: 8px;
}
.copyright {
border-top: 1px solid rgba(255,255,255,.16);
padding-top: 18px;
text-align: center;
font-size: 11px;
color: #CFC3B8;
}
.disclaimer {
font-size: 11px;
color: #CFC3B8;
text-align: center;
margin: 12px auto 0;
max-width: 800px;
}
@media (max-width: 1050px) {
.nav-links {
gap: 10px;
}
.nav-links a {
font-size: 11px;
}
}
@media (max-width: 850px) {
.menu-toggle {
display: block;
}
.nav-links {
display: none;
position: absolute;
top: 82px;
left: 0;
right: 0;
padding: 20px 5%;
background: var(--cream);
border-bottom: 1px solid var(--border);
flex-direction: column;
align-items: stretch;
gap: 0;
}
.nav-links.open {
display: flex;
}
.nav-links a {
padding: 11px 0;
font-size: 14px;
}
.nav-links .nav-cta {
text-align: center;
margin-top: 8px;
}
.intro-grid, .service-detail, .contact-grid {
grid-template-columns: 1fr;
gap: 30px;
}
.service-grid {
grid-template-columns: repeat(2, 1fr);
}
.intro-art {
min-height: 240px;
}
}
@media (max-width: 600px) {
section {
padding: 65px 0;
}
.hero {
min-height: 540px;
}
.hero-content {
padding: 75px 0;
}
.service-grid, .forms-grid, .blog-grid, .footer-grid {
grid-template-columns: 1fr;
}
.form-card, .detail-panel {
padding: 23px;
}
.brand-name {
font-size: 16px;
}
.brand-subtitle {
letter-spacing: 1.2px;
font-size: 8px;
}
.brand-mark {
width: 38px;
height: 38px;
}
}
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
*, *::before, *::after {
transition-duration: .01ms !important;
animation-duration: .01ms !important;
}
}
</style>
</head>
<body>
<div class="announcement">
WELCOME TO HAVEN — YOUR FINANCES, IN GOOD HANDS
</div>
<header>
<div class="container navbar">
<a class="brand" href="#home" aria-label="Haven Tax and Financial Services home">
<div class="brand-mark" aria-hidden="true">H</div>
<div>
<div class="brand-name">Haven Tax & Financial</div>
<div class="brand-subtitle">Tax Preparation & Bookkeeping</div>
</div>
</a>
<button class="menu-toggle" id="menuToggle"
aria-label="Open navigation menu" aria-expanded="false">
Menu ☰
</button>
<nav class="nav-links" id="navLinks" aria-label="Main navigation">
<a href="#home">Home</a>
<a href="#tax">Tax Preparation</a>
<a href="#bookkeeping">Bookkeeping</a>
<a href="#forms">Forms</a>
<a href="#about">About</a>
<a href="#blog">Blog</a>
<a href="#appointments">Book Appointments</a>
<a href="#contact">Contact</a>
<a class="nav-cta" href="#portal">Client Portal</a>
</nav>
</div>
</header>
<main>
<!-- HOME -->
<section class="hero" id="home">
<div class="container">
<div class="hero-content">
<div class="eyebrow">A calmer approach to your finances</div>
<h1>Your finances deserve a place to <span>feel at home.</span></h1>
<p>
You have a business to run. Let us handle the numbers.
Haven provides thoughtful tax preparation and organized
bookkeeping support for individuals and small businesses.
</p>
<div class="button-row">
<a class="button" href="#appointments">Request a Consultation</a>
<a class="button secondary" href="#services">Explore Our Services</a>
</div>
<div class="tagline">Less paperwork. More peace of mind.</div>
</div>
</div>
</section>
<!-- INTRO -->
<section class="intro">
<div class="container intro-grid">
<div class="intro-art" aria-hidden="true">❧</div>
<div class="intro-copy">
<div class="eyebrow">Welcome to Haven</div>
<h2>A little more clarity. A lot less overwhelm.</h2>
<p>
Keeping up with taxes and bookkeeping can take time away from
the things that matter most. Haven is here to make the process
feel more manageable, organized, and personal.
</p>
<p>
Whether you're filing an individual return, working for
yourself, or managing a growing business, we're here to help
you stay on top of the numbers.
</p>
<a class="button" href="#about">Get to Know Haven</a>
</div>
</div>
</section>
<!-- SERVICES -->
<section class="services" id="services">
<div class="container">
<div class="section-heading center">
<div class="eyebrow">What we can help with</div>
<h2>Support for every step of your financial routine.</h2>
<p>
Practical services, thoughtful attention, and a process
designed to help you feel more organized.
</p>
</div>
<div class="service-grid">
<article class="service-card" id="tax">
<div class="service-icon">✦</div>
<h3>Individual Tax Preparation</h3>
<p>
Individual federal income tax preparation for eligible
taxpayers, including common W-2 and personal income situations.
</p>
<a class="learn-link" href="#forms">Request information →</a>
</article>
<article class="service-card">
<div class="service-icon">⌂</div>
<h3>Self-Employed Tax Preparation</h3>
<p>
Support for freelancers, independent contractors, and
sole proprietors reporting business activity on Schedule C.
</p>
<a class="learn-link" href="#forms">Request information →</a>
</article>
<article class="service-card">
<div class="service-icon">◇</div>
<h3>Small-Business Tax Support</h3>
<p>
Tax organization and preparation support within our current
service scope. Business entity returns may require a referral
to another qualified professional.
</p>
<a class="learn-link" href="#forms">Request information →</a>
</article>
<article class="service-card" id="bookkeeping">
<div class="service-icon">⌁</div>
<h3>Monthly Bookkeeping</h3>
<p>
Ongoing transaction categorization, account reconciliations,
and monthly financial reports to help you stay organized.
</p>
<a class="learn-link" href="#forms">Let's get organized →</a>
</article>
<article class="service-card">
<div class="service-icon">✧</div>
<h3>QuickBooks Setup</h3>
<p>
Get started with QuickBooks Online, organize your accounts,
and build a bookkeeping foundation that fits your business.
</p>
<a class="learn-link" href="#forms">Request information →</a>
</article>
<article class="service-card">
<div class="service-icon">❋</div>
<h3>Bookkeeping Cleanup</h3>
<p>
Catch-up and cleanup support for disorganized books,
uncategorized transactions, and accounts needing reconciliation.
</p>
<a class="learn-link" href="#forms">Let's get organized →</a>
</article>
</div>
</div>
</section>
<!-- BOOKKEEPING DETAILS -->
<section class="soft-section">
<div class="container">
<div class="section-heading">
<div class="eyebrow">A little more breathing room</div>
<h2>Make room to focus on what you do best.</h2>
<p>
Your books should help you understand your business, not
become another job on your to-do list.
</p>
</div>
<div class="service-detail">
<div class="detail-panel">
<h3>Monthly bookkeeping</h3>
<p>Depending on your agreed service package, monthly support may include:</p>
<ul>
<li>Transaction categorization</li>
<li>Bank and credit card reconciliations</li>
<li>Profit and loss reports</li>
<li>Balance sheet reports, where applicable</li>
<li>Monthly bookkeeping check-ins</li>
</ul>
</div>
<div class="detail-panel">
<h3>QuickBooks and cleanup</h3>
<p>Get your bookkeeping system into a more manageable place with:</p>
<ul>
<li>QuickBooks Online setup assistance</li>
<li>Chart of accounts organization</li>
<li>Historical transaction cleanup</li>
<li>Catch-up bookkeeping</li>
<li>Account reconciliation support</li>
</ul>
</div>
</div>
</div>
</section>
<!-- FORMS -->
<section class="forms-section" id="forms">
<div class="container">
<div class="section-heading">
<div class="eyebrow">Let's get started</div>
<h2>A simple first step.</h2>
<p>
Tell us a little about what you're looking for. We'll follow up
about next steps and whether our services are a good fit.
</p>
</div>
<div class="forms-grid">
<div class="form-card">
<h3>Request a consultation</h3>
<p>Share your contact information and the type of help you need.</p>
<!-- Replace the action with your form provider's secure endpoint. -->
<form id="consultationForm" action="YOUR_FORM_ENDPOINT" method="POST">
<div class="field">
<label for="fullName">Full name</label>
<input id="fullName" name="name" autocomplete="name" required>
</div>
<div class="field">
<label for="email">Email address</label>
<input id="email" name="email" type="email"
autocomplete="email" required>
</div>
<div class="field">
<label for="service">What can we help with?</label>
<select id="service" name="service" required>
<option value="">Choose a service</option>
<option>Individual tax preparation</option>
<option>Self-employed tax preparation</option>
<option>Small-business support</option>
<option>Monthly bookkeeping</option>
<option>QuickBooks setup</option>
<option>Bookkeeping cleanup</option>
<option>Not sure yet</option>
</select>
</div>
<div class="field">
<label for="message">A little more about what you need</label>
<textarea id="message" name="message"
placeholder="Please do not include Social Security numbers, account numbers, or tax documents."></textarea>
</div>
<p class="privacy-note">
Please do not submit sensitive tax or financial information
through this form. We will provide secure document-upload
instructions when needed.
</p>
<button class="button" type="submit">Send Consultation Request</button>
<p class="form-status" id="formStatus" role="status"></p>
</form>
</div>
<div class="form-card">
<h3>Helpful client forms</h3>
<p>
Existing clients can access the forms and information
provided by Haven here.
</p>
<div class="detail-panel">
<h3>Tax preparation</h3>
<p>Tax organizers and intake instructions will be provided securely to clients.</p>
<br>
<h3>Bookkeeping</h3>
<p>New bookkeeping clients will receive a checklist for account access, statements, and business information.</p>
<br>
<h3>New client information</h3>
<p>Start with a consultation so we can determine the right onboarding steps.</p>
<br>
<a class="button" href="#appointments">Book a Consultation</a>
</div>
</div>
</div>
</div>
</section>
<!-- ABOUT -->
<section class="about-section" id="about">
<div class="container about-content">
<div class="eyebrow">The heart behind Haven</div>
<h2>Financial support that feels a little more personal.</h2>
<p>
Haven Tax & Financial Services was created around a simple idea:
managing your finances shouldn't feel overwhelming. We believe
in approachable service, clear communication, and helping clients
feel more confident about their financial organization.
</p>
<p>
We work with individuals, self-employed professionals, and
small businesses looking for dependable tax preparation and
bookkeeping support.
</p>
<div class="quote">"Less paperwork. More peace of mind."</div>
<a class="button" href="#contact">Connect with Haven</a>
</div>
</section>
<!-- BLOG -->
<section class="blog-section" id="blog">
<div class="container">
<div class="section-heading">
<div class="eyebrow">The Haven journal</div>
<h2>Simple guidance for your financial to-do list.</h2>
<p>
Helpful reminders and educational articles for individuals
and small-business owners.
</p>
</div>
<div class="blog-grid">
<article class="blog-card">
<div class="blog-image" aria-hidden="true">❧</div>
<div class="blog-copy">
<small>Tax preparation</small>
<h3>Getting organized before tax season</h3>
<p>
A simple overview of common documents to start gathering
before preparing your tax return.
</p>
<a class="learn-link" href="#contact">Read more →</a>
</div>
</article>
<article class="blog-card">
<div class="blog-image" aria-hidden="true">✧</div>
<div class="blog-copy">
<small>Small business</small>
<h3>Why monthly bookkeeping matters</h3>
<p>
Learn how keeping your books current can make it easier
to understand your business activity.
</p>
<a class="learn-link" href="#contact">Read more →</a>
</div>
</article>
<article class="blog-card">
<div class="blog-image" aria-hidden="true">⌂</div>
<div class="blog-copy">
<small>QuickBooks</small>
<h3>Starting with a clean bookkeeping system</h3>
<p>
A few basics to consider when setting up your bookkeeping
workflow for the first time.
</p>
<a class="learn-link" href="#contact">Read more →</a>
</div>
</article>
</div>
</div>
</section>
<!-- APPOINTMENTS -->
<section class="appointment-section" id="appointments">
<div class="container">
<div class="eyebrow" style="color:var(--champagne)">Your next step starts here</div>
<h2>Let's make things a little easier.</h2>
<p>
Have questions about tax preparation or bookkeeping?
Schedule a consultation to talk through what you need.
</p>
<!-- Replace this URL with your booking provider's appointment link. -->
<a class="button" href="YOUR_BOOKING_LINK" target="_blank" rel="noopener">
Book an Appointment
</a>
</div>
</section>
<!-- CLIENT PORTAL -->
<section class="portal-section" id="portal">
<div class="container">
<div class="eyebrow">A secure space for clients</div>
<h2>Your Haven client portal</h2>
<p>
Existing clients can use the secure portal to exchange documents,
review requests, and access available tax or bookkeeping files.
Please do not email sensitive tax documents.
</p>
<!-- Replace this URL with your secure tax portal login link. -->
<a class="button" href="YOUR_CLIENT_PORTAL_LINK"
target="_blank" rel="noopener">
Access Client Portal
</a>
</div>
</section>
<!-- CONTACT -->
<section class="contact-section" id="contact">
<div class="container contact-grid">
<div>
<div class="eyebrow">We're happy to hear from you</div>
<h2>Let's connect.</h2>
<p>
Whether you're looking for tax preparation, ongoing bookkeeping,
or simply have a question, we'd love to hear from you.
</p>
<div class="contact-detail">
<p><strong>Email</strong><br>
<a href="mailto:info@yourdomain.com">info@yourdomain.com</a>
</p>
<p><strong>Service area</strong><br>
Florida and remote services where available
</p>
</div>
</div>
<div class="detail-panel">
<h3>Ready for a little more peace of mind?</h3>
<p>
Start with a consultation request. We'll discuss your needs,
our services, and the next steps.
</p>
<a class="button" href="#forms">Request a Consultation</a>
</div>
</div>
</section>
</main>
<footer>
<div class="container">
<div class="footer-grid">
<div>
<h3>Haven Tax & Financial Services</h3>
<p>Less paperwork. More peace of mind.</p>
<p style="margin-top:12px">
Thoughtful tax preparation and bookkeeping support
for individuals and small businesses.
</p>
</div>
<div>
<h3>Explore</h3>
<div class="footer-links">
<a href="#tax">Tax Preparation</a>
<a href="#bookkeeping">Bookkeeping</a>
<a href="#about">About Haven</a>
<a href="#blog">Blog</a>
</div>
</div>
<div>
<h3>Client resources</h3>
<div class="footer-links">
<a href="#forms">Forms</a>
<a href="#appointments">Book an Appointment</a>
<a href="#portal">Client Portal</a>
<a href="#contact">Contact</a>
</div>
</div>
</div>
<div class="copyright">
© <span id="year"></span> Haven Tax & Financial Services. All rights reserved.
</div>
<p class="disclaimer">
Tax preparation services are subject to eligibility, engagement terms,
and applicable law. No specific tax refund or outcome is guaranteed.
Website information is educational and is not legal or tax advice.
</p>
</div>
</footer>
<script>
// Mobile navigation
const menuToggle = document.getElementById("menuToggle");
const navLinks = document.getElementById("navLinks");
menuToggle.addEventListener("click", () => {
const isOpen = navLinks.classList.toggle("open");
menuToggle.setAttribute("aria-expanded", String(isOpen));
menuToggle.textContent = isOpen ? "Close ✕" : "Menu ☰";
});
// Close menu after selecting a navigation link
navLinks.querySelectorAll("a").forEach(link => {
link.addEventListener("click", () => {
navLinks.classList.remove("open");
menuToggle.setAttribute("aria-expanded", "false");
menuToggle.textContent = "Menu ☰";
});
});
// Automatically update copyright year
document.getElementById("year").textContent = new Date().getFullYear();
// Consultation form validation.
// Connect a real form provider before publishing.
const consultationForm = document.getElementById("consultationForm");
const formStatus = document.getElementById("formStatus");
consultationForm.addEventListener("submit", function(event) {
if (consultationForm.action.includes("YOUR_FORM_ENDPOINT")) {
event.preventDefault();
formStatus.textContent =
"The form is designed, but it still needs to be connected to a form service before it can send your request.";
}
});
</script>
</body>
</html>