Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
Hello world!
Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>The Buck Shed — Hand-Crafted Wood Art</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=Fraunces:opsz,[email protected],300;9..144,400;9..144,500;9..144,600;9..144,700;9..144,900&family=Work+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap" rel="stylesheet">
<style>
:root{
--walnut-dark:#241a13;
--walnut:#4a3627;
--walnut-mid:#6b4f38;
--oak:#c89b6c;
--oak-light:#dab588;
--parchment:#efe6d3;
--parchment-light:#f8f3e7;
--forget-me-not:#6e8fbf;
--forget-me-not-deep:#4c6d9e;
--charcoal:#2b2420;
--sawdust:#d9c7a8;
--line:rgba(43,36,32,0.14);
--shadow:0 10px 30px rgba(36,26,19,0.18);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
margin:0;
font-family:'Work Sans', sans-serif;
color:var(--charcoal);
background:var(--parchment-light);
line-height:1.6;
-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
font-family:'Fraunces', serif;
font-weight:600;
margin:0 0 .4em 0;
letter-spacing:-0.01em;
}
.eyebrow{
font-family:'IBM Plex Mono', monospace;
font-size:.72rem;
letter-spacing:.14em;
text-transform:uppercase;
color:var(--walnut-mid);
display:inline-flex;
align-items:center;
gap:.55em;
}
.eyebrow::before{
content:"";
width:22px;height:1px;
background:var(--walnut-mid);
display:inline-block;
}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{
max-width:1160px;
margin:0 auto;
padding:0 32px;
}
section{position:relative;}
.reveal{opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease;}
.reveal.is-visible{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){
.reveal{opacity:1; transform:none; transition:none;}
html{scroll-behavior:auto;}
}
.site-header{
position:sticky; top:0; z-index:50;
background:rgba(36,26,19,0.96);
backdrop-filter:blur(6px);
border-bottom:1px solid rgba(200,155,108,0.25);
}
.header-inner{
display:flex; align-items:center; justify-content:space-between;
padding:16px 32px;
max-width:1160px; margin:0 auto;
}
.logo{
display:flex; align-items:center; gap:12px;
font-family:'Fraunces', serif;
color:var(--parchment);
font-size:1.28rem;
font-weight:600;
text-decoration:none;
}
.logo svg{width:34px;height:34px;flex-shrink:0;}
.logo .tag{
display:block;
font-family:'IBM Plex Mono', monospace;
font-size:.6rem;
letter-spacing:.13em;
text-transform:uppercase;
color:var(--oak-light);
font-weight:400;
margin-top:2px;
}
nav.primary-nav{display:flex; gap:30px; align-items:center;}
nav.primary-nav a{
color:var(--parchment);
text-decoration:none;
font-size:.92rem;
font-weight:500;
position:relative;
padding:4px 0;
}
nav.primary-nav a::after{
content:"";
position:absolute; left:0; bottom:-2px;
width:0; height:1px;
background:var(--oak);
transition:width .25s ease;
}
nav.primary-nav a:hover::after{width:100%;}
.nav-cta{
background:var(--forget-me-not);
color:#fff !important;
padding:9px 18px;
border-radius:3px;
font-size:.85rem !important;
}
.nav-cta::after{display:none;}
.menu-toggle{
display:none;
background:none; border:none; cursor:pointer;
width:32px; height:24px; position:relative;
}
.menu-toggle span{
position:absolute; left:0; width:100%; height:2px; background:var(--parchment);
}
.menu-toggle span:nth-child(1){top:0;}
.menu-toggle span:nth-child(2){top:11px;}
.menu-toggle span:nth-child(3){top:22px;}
@media (max-width:860px){
nav.primary-nav{
position:fixed; top:66px; left:0; right:0;
background:var(--walnut-dark);
flex-direction:column; align-items:flex-start;
padding:24px 32px; gap:18px;
transform:translateY(-140%);
transition:transform .3s ease;
border-bottom:1px solid rgba(200,155,108,0.25);
}
nav.primary-nav.open{transform:translateY(0);}
.menu-toggle{display:block;}
}
.hero{
background:
radial-gradient(ellipse at 20% 15%, rgba(200,155,108,0.12), transparent 55%),
repeating-linear-gradient(100deg, #2c2015 0px, #2c2015 3px, #261c12 3px, #261c12 7px, #2e2116 7px, #2e2116 11px),
var(--walnut-dark);
color:var(--parchment);
padding:110px 0 90px;
overflow:hidden;
}
.hero-inner{
display:grid;
grid-template-columns:1.1fr .9fr;
gap:56px;
align-items:center;
}
.hero h1{
font-size:clamp(2.6rem, 5.2vw, 4.2rem);
color:var(--parchment-light);
line-height:1.02;
}
.hero h1 em{
font-style:italic;
color:var(--oak-light);
}
.hero p.lede{
font-size:1.13rem;
max-width:46ch;
color:var(--sawdust);
margin-bottom:2em;
}
.btn-row{display:flex; gap:16px; flex-wrap:wrap;}
.btn{
display:inline-flex; align-items:center; gap:8px;
padding:14px 26px;
border-radius:3px;
font-weight:600;
font-size:.95rem;
text-decoration:none;
border:1px solid transparent;
transition:transform .2s ease, background .2s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--oak); color:var(--walnut-dark);}
.btn-primary:hover{background:var(--oak-light);}
.btn-ghost{border-color:rgba(239,230,211,0.4); color:var(--parchment-light);}
.btn-ghost:hover{border-color:var(--parchment-light);}
.rings{width:100%; max-width:380px; margin:0 auto; display:block;}
.mission-ribbon{
background:var(--forget-me-not);
color:#fff;
padding:34px 0;
}
.mission-inner{
display:flex; align-items:center; gap:22px;
max-width:1160px; margin:0 auto; padding:0 32px;
}
.mission-inner svg{flex-shrink:0; width:52px; height:52px;}
.mission-inner p{margin:0; font-size:1.02rem;}
.mission-inner strong{font-family:'Fraunces', serif; font-weight:600;}
.about{padding:96px 0;}
.about-grid{
display:grid;
grid-template-columns:.85fr 1.15fr;
gap:64px;
align-items:center;
}
.about-photo{
aspect-ratio:4/5;
border-radius:6px;
background:
repeating-linear-gradient(115deg, #7a5a3c 0px, #7a5a3c 6px, #6b4f38 6px, #6b4f38 13px),
linear-gradient(160deg, var(--walnut-mid), var(--walnut));
box-shadow:var(--shadow);
display:flex; align-items:center; justify-content:center;
position:relative;
overflow:hidden;
}
.about-photo::after{
content:"Photo coming soon";
font-family:'IBM Plex Mono', monospace;
font-size:.72rem;
letter-spacing:.08em;
text-transform:uppercase;
color:rgba(239,230,211,0.85);
background:rgba(36,26,19,0.55);
padding:6px 12px;
border-radius:3px;
position:absolute;
bottom:18px; left:18px;
}
.about-photo svg{width:34%; opacity:.85;}
.about h2{font-size:2.1rem;}
.about p{color:var(--walnut); max-width:56ch;}
.about p + p{margin-top:1em;}
.signature{
font-family:'Fraunces', serif;
font-style:italic;
font-size:1.15rem;
color:var(--walnut-mid);
margin-top:1.6em;
}
.foundation-note{
display:inline-block;
margin-top:1.4em;
padding:10px 16px;
background:rgba(110,143,191,0.12);
border:1px dashed var(--forget-me-not-deep);
border-radius:5px;
font-family:'IBM Plex Mono', monospace;
font-size:.78rem;
color:var(--forget-me-not-deep);
}
.gallery{
background:var(--parchment);
padding:96px 0;
border-top:1px solid var(--line);
border-bottom:1px solid var(--line);
}
.section-head{
display:flex; justify-content:space-between; align-items:flex-end;
margin-bottom:46px; gap:24px; flex-wrap:wrap;
}
.section-head h2{font-size:2.1rem; max-width:16ch;}
.section-head p{max-width:40ch; color:var(--walnut-mid); margin:0;}
.gallery-grid{
display:grid;
grid-template-columns:repeat(3, 1fr);
gap:26px;
}
.gallery-card{
border-radius:6px;
overflow:hidden;
box-shadow:var(--shadow);
background:var(--parchment-light);
}
.gallery-thumb{
aspect-ratio:1/1;
display:flex; align-items:center; justify-content:center;
position:relative;
}
.gallery-thumb svg{width:38%; height:38%; opacity:.92;}
.wood-a{background:repeating-linear-gradient(95deg,#b78a5c 0px,#b78a5c 5px,#a67a4d 5px,#a67a4d 10px);}
.wood-b{background:repeating-linear-gradient(85deg,#8a6642 0px,#8a6642 6px,#77552f 6px,#77552f 12px);}
.wood-c{background:repeating-linear-gradient(100deg,#c9a06e 0px,#c9a06e 4px,#b78a5c 4px,#b78a5c 9px);}
.wood-d{background:repeating-linear-gradient(78deg,#6b4f38 0px,#6b4f38 5px,#5a4029 5px,#5a4029 11px);}
.wood-e{background:repeating-linear-gradient(110deg,#d3b083 0px,#d3b083 6px,#c29a68 6px,#c29a68 12px);}
.wood-f{background:repeating-linear-gradient(90deg,#7a5a3c 0px,#7a5a3c 5px,#684b30 5px,#684b30 10px);}
.gallery-thumb .tag{
position:absolute; top:12px; right:12px;
font-family:'IBM Plex Mono', monospace;
font-size:.62rem; letter-spacing:.08em; text-transform:uppercase;
background:rgba(36,26,19,0.6); color:var(--parchment-light);
padding:4px 9px; border-radius:3px;
}
.gallery-info{padding:18px 20px 22px;}
.gallery-info h4{font-size:1.08rem; margin-bottom:.15em;}
.gallery-info span{
font-family:'IBM Plex Mono', monospace;
font-size:.72rem; color:var(--walnut-mid); letter-spacing:.03em;
}
.gallery-note{
text-align:center; margin-top:38px; color:var(--walnut-mid); font-size:.95rem;
}
.gallery-note a{color:var(--forget-me-not-deep); font-weight:600; text-decoration:underline;}
.process{padding:96px 0;}
.process-grid{
display:grid;
grid-template-columns:repeat(4, 1fr);
gap:28px;
margin-top:50px;
}
.step{
padding-top:24px;
border-top:2px solid var(--oak);
}
.step .num{
font-family:'IBM Plex Mono', monospace;
font-size:.78rem; color:var(--forget-me-not-deep); font-weight:500;
}
.step h4{font-size:1.15rem; margin:.5em 0 .3em;}
.step p{color:var(--walnut-mid); font-size:.94rem; margin:0;}
.contact{
background:var(--walnut-dark);
color:var(--parchment);
padding:100px 0;
}
.contact-grid{
display:grid;
grid-template-columns:.9fr 1.1fr;
gap:64px;
}
.contact h2{color:var(--parchment-light); font-size:2.1rem;}
.contact-details{margin-top:28px; display:flex; flex-direction:column; gap:18px;}
.contact-details div{display:flex; gap:14px; align-items:flex-start;}
.contact-details svg{width:22px; height:22px; flex-shrink:0; margin-top:2px; color:var(--oak);}
.contact-details strong{display:block; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--oak-light); font-family:'IBM Plex Mono', monospace; font-weight:500;}
.contact-details a{color:var(--parchment-light); text-decoration:none; font-size:1.02rem;}
.socials{display:flex; gap:14px; margin-top:32px;}
.socials a{
width:42px; height:42px; border-radius:50%;
border:1px solid rgba(239,230,211,0.3);
display:flex; align-items:center; justify-content:center;
text-decoration:none;
transition:border-color .2s ease, background .2s ease;
}
.socials a svg{width:19px; height:19px; color:var(--parchment-light);}
.socials a:hover{border-color:var(--oak); background:rgba(200,155,108,0.12);}
form.custom-form{
background:var(--parchment-light);
color:var(--charcoal);
border-radius:8px;
padding:34px;
box-shadow:var(--shadow);
}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
.field{display:flex; flex-direction:column; gap:6px; margin-bottom:16px;}
.field label{
font-family:'IBM Plex Mono', monospace;
font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--walnut-mid);
}
.field input, .field textarea, .field select{
font-family:'Work Sans', sans-serif;
font-size:.98rem;
padding:11px 13px;
border:1px solid rgba(43,36,32,0.2);
border-radius:4px;
background:#fff;
color:var(--charcoal);
}
.field textarea{resize:vertical; min-height:100px;}
.field input:focus, .field textarea:focus, .field select:focus{
outline:2px solid var(--forget-me-not);
outline-offset:1px;
}
form.custom-form .btn-primary{width:100%; justify-content:center; border:none; cursor:pointer;}
form.custom-form .btn-primary:disabled{opacity:.6; cursor:not-allowed;}
.form-note{
font-size:.78rem; color:var(--walnut-mid); margin-top:14px; text-align:center;
}
.form-success, .form-error{
display:none;
padding:14px 16px; border-radius:5px;
font-size:.9rem; margin-bottom:16px;
}
.form-success{background:#eaf1e6; border:1px solid #9ec28c; color:#33531f;}
.form-error{background:#f6e6e4; border:1px solid #d99a92; color:#7a2e24;}
.form-success.show, .form-error.show{display:block;}
footer{
background:#1b130d;
color:var(--sawdust);
padding:36px 0;
font-size:.85rem;
}
.footer-inner{
display:flex; justify-content:space-between; align-items:center;
flex-wrap:wrap; gap:12px;
}
.footer-inner a{color:var(--oak-light); text-decoration:none;}
@media (max-width:900px){
.hero-inner, .about-grid, .contact-grid{grid-template-columns:1fr;}
.rings{max-width:260px;}
.gallery-grid{grid-template-columns:repeat(2,1fr);}
.process-grid{grid-template-columns:repeat(2,1fr);}
.form-row{grid-template-columns:1fr;}
}
@media (max-width:560px){
.gallery-grid{grid-template-columns:1fr;}
.process-grid{grid-template-columns:1fr;}
.wrap{padding:0 20px;}
.header-inner{padding:14px 20px;}
}
</style>
</head>
<body>
<header class="site-header">
<div class="header-inner">
<a href="#top" class="logo">
<svg viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8 40V20L24 8L40 20V40" stroke="#dab588" stroke-width="2.4" stroke-linejoin="round"/>
<path d="M18 40V26H30V40" stroke="#c89b6c" stroke-width="2.4" stroke-linejoin="round"/>
<circle cx="24" cy="19" r="2.4" fill="#6e8fbf"/>
</svg>
<span>The Buck Shed<span class="tag">Hand-Crafted Wood Art</span></span>
</a>
<button class="menu-toggle" id="menuToggle" aria-label="Toggle navigation" aria-expanded="false">
<span></span><span></span><span></span>
</button>
<nav class="primary-nav" id="primaryNav">
<a href="#about">About Us</a>
<a href="#gallery">Gallery</a>
<a href="#custom">Custom Orders</a>
<a href="#contact" class="nav-cta">Get in Touch</a>
</nav>
</div>
</header>
<section class="hero" id="top">
<div class="wrap hero-inner">
<div>
<span class="eyebrow">Family Workshop · Since the Shed Out Back</span>
<h1>Wood, worked <em>by hand</em>,<br>given with purpose.</h1>
<p class="lede">Every piece that leaves The Buck Shed is cut, sanded, and finished one at a time — and half of what it sells for goes toward dementia support and research, in honor of the family members we've walked that road with.</p>
<div class="btn-row">
<a href="#gallery" class="btn btn-primary">View the Gallery</a>
<a href="#custom" class="btn btn-ghost">Request a Custom Piece</a>
</div>
</div>
<div>
<svg class="rings" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
<circle cx="150" cy="150" r="140" fill="none" stroke="#3a2b1c" stroke-width="1"/>
<circle cx="150" cy="150" r="122" fill="none" stroke="#4a3627" stroke-width="1.4"/>
<circle cx="150" cy="150" r="103" fill="none" stroke="#5a4029" stroke-width="1"/>
<circle cx="150" cy="150" r="86" fill="none" stroke="#6b4f38" stroke-width="1.8"/>
<circle cx="150" cy="150" r="68" fill="none" stroke="#c89b6c" stroke-width="1"/>
<circle cx="150" cy="150" r="50" fill="none" stroke="#6e8fbf" stroke-width="2.4"/>
<circle cx="150" cy="150" r="33" fill="none" stroke="#8a6642" stroke-width="1"/>
<circle cx="150" cy="150" r="16" fill="#dab588"/>
<text x="150" y="280" text-anchor="middle" font-family="IBM Plex Mono, monospace" font-size="10" fill="#c9b797" letter-spacing="1">EVERY RING TELLS A STORY</text>
</svg>
</div>
</div>
</section>
<section class="mission-ribbon reveal">
<div class="mission-inner">
<svg viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M24 40C24 40 8 30.5 8 19.5C8 13.7 12.7 9 18.5 9C21.3 9 23.8 10.4 24 12.6C24.2 10.4 26.7 9 29.5 9C35.3 9 40 13.7 40 19.5C40 30.5 24 40 24 40Z" fill="#ffffff" opacity="0.92"/>
</svg>
<p><strong>Half of every sale</strong> is donated directly to <strong>[FOUNDATION NAME]</strong> to support dementia research and care. Dementia has touched our family closely, and we built this shed hoping your custom piece can help another family too.</p>
</div>
</section>
<section class="about reveal" id="about">
<div class="wrap about-grid">
<div class="about-photo">
<svg viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg" stroke="#efe6d3" stroke-width="1.6">
<path d="M12 52V26L32 10L52 26V52" stroke-linejoin="round"/>
<path d="M24 52V34H40V52" stroke-linejoin="round"/>
<path d="M8 52H56" stroke-linecap="round"/>
</svg>
</div>
<div>
<span class="eyebrow">About Us</span>
<h2>A shed, a saw, and a reason to build.</h2>
<p>The Buck Shed started the way most good things do — out back, in a workshop that was supposed to just hold tools. Our dad has spent years turning offcuts and rough boards into furniture, wall art, and one-of-a-kind custom pieces, mostly because he can't sit still and always needed somewhere to put his hands to work.</p>
<p>When dementia entered our family's life, it changed how we saw that time in the shed — quieter, more deliberate, worth protecting. We decided that if people were going to bring a piece of his work into their home, it should carry that meaning too. So now, half of every sale goes straight to <strong>[FOUNDATION NAME]</strong>, for the families still finding their way through it.</p>
<p class="signature">— With gratitude, The Buck Shed family</p>
<span class="foundation-note">⚠ Replace [FOUNDATION NAME] with the exact legal name of the charity in all 3 spots on this page</span>
</div>
</div>
</section>
<section class="gallery reveal" id="gallery">
<div class="wrap">
<div class="section-head">
<h2>From the workshop</h2>
<p>Photos of finished pieces are on their way — here's a look at the kinds of work that come out of The Buck Shed.</p>
</div>
<div class="gallery-grid">
<div class="gallery-card">
<div class="gallery-thumb wood-a">
<span class="tag">Furniture</span>
<svg viewBox="0 0 64 64" fill="none" stroke="#241a13" stroke-width="2.2"><path d="M14 14v36M50 14v36M14 32h36M14 50h36" stroke-linecap="round"/></svg>
</div>
<div class="gallery-info"><h4>Farmhouse Side Table</h4><span>RECLAIMED OAK</span></div>
</div>
<div class="gallery-card">
<div class="gallery-thumb wood-b">
<span class="tag">Wall Art</span>
<svg viewBox="0 0 64 64" fill="none" stroke="#efe6d3" stroke-width="2.2"><rect x="12" y="12" width="40" height="40" rx="2"/><path d="M20 40l8-10 6 6 6-9 6 9" stroke-linejoin="round" stroke-linecap="round"/></svg>
</div>
<div class="gallery-info"><h4>Mountain Ridge Panel</h4><span>WALNUT & MAPLE</span></div>
</div>
<div class="gallery-card">
<div class="gallery-thumb wood-c">
<span class="tag">Home Decor</span>
<svg viewBox="0 0 64 64" fill="none" stroke="#241a13" stroke-width="2.2"><path d="M24 14c-6 6-6 20 0 26M40 14c6 6 6 20 0 26" stroke-linecap="round"/><ellipse cx="32" cy="46" rx="12" ry="4"/></svg>
</div>
<div class="gallery-info"><h4>Hand-Turned Bowl Set</h4><span>CHERRY WOOD</span></div>
</div>
<div class="gallery-card">
<div class="gallery-thumb wood-d">
<span class="tag">Custom Signs</span>
<svg viewBox="0 0 64 64" fill="none" stroke="#efe6d3" stroke-width="2.2"><rect x="10" y="20" width="44" height="24" rx="2"/><path d="M18 32h28" stroke-linecap="round"/></svg>
</div>
<div class="gallery-info"><h4>Family Name Sign</h4><span>ROUTED PINE</span></div>
</div>
<div class="gallery-card">
<div class="gallery-thumb wood-e">
<span class="tag">Furniture</span>
<svg viewBox="0 0 64 64" fill="none" stroke="#241a13" stroke-width="2.2"><path d="M16 44V22h32v22M16 44l-4 8M48 44l4 8" stroke-linejoin="round" stroke-linecap="round"/></svg>
</div>
<div class="gallery-info"><h4>Rustic Bench</h4><span>RECLAIMED BARNWOOD</span></div>
</div>
<div class="gallery-card">
<div class="gallery-thumb wood-f">
<span class="tag">Custom Requests</span>
<svg viewBox="0 0 64 64" fill="none" stroke="#efe6d3" stroke-width="2.2"><path d="M32 12v10M12 32h10M42 32h10M32 42v10" stroke-linecap="round"/><circle cx="32" cy="32" r="8"/></svg>
</div>
<div class="gallery-info"><h4>Your Idea, Built to Order</h4><span>ANY SPECIES ON REQUEST</span></div>
</div>
</div>
<p class="gallery-note">Follow along as new pieces are finished — <a href="#" target="_blank" rel="noopener">see more on Pinterest →</a></p>
</div>
</section>
<section class="process reveal" id="custom">
<div class="wrap">
<div class="section-head">
<h2>Custom orders, start to finish</h2>
<p>Have something specific in mind? Most custom pieces follow this path from idea to delivery.</p>
</div>
<div class="process-grid">
<div class="step">
<span class="num">01</span>
<h4>Share your idea</h4>
<p>Send a photo, sketch, or description through the form below — dimensions and wood preferences help, but aren't required to get started.</p>
</div>
<div class="step">
<span class="num">02</span>
<h4>Get a quote</h4>
<p>You'll hear back with a price, timeline, and any questions, usually within a few days.</p>
</div>
<div class="step">
<span class="num">03</span>
<h4>We build it</h4>
<p>Each piece is cut, sanded, and finished by hand in the shed — no shortcuts, no rush.</p>
</div>
<div class="step">
<span class="num">04</span>
<h4>Delivered to you</h4>
<p>Ready for pickup, local delivery, or shipping, depending on the piece and where you're located.</p>
</div>
</div>
</div>
</section>
<section class="contact reveal" id="contact">
<div class="wrap contact-grid">
<div>
<span class="eyebrow" style="color:var(--oak-light)">Get in Touch</span>
<h2>Let's build something together.</h2>
<p style="color:var(--sawdust); max-width:42ch;">Reach out about a custom piece, a question on a gallery item, or just to say hello. Every message is read by the family, not a call center.</p>
<div class="contact-details">
<div>
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8"><path d="M3 5h18v14H3z"/><path d="M3 6l9 7 9-7"/></svg>
<div><strong>Email</strong><a href="mailto:[email protected]">[email protected]</a></div>
</div>
<div>
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8"><path d="M6.6 10.8c1.4 2.8 3.8 5.2 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.9 21 3 13.1 3 4c0-.6.4-1 1-1h3.2c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.4 0 .8-.2 1z"/></svg>
<div><strong>Phone</strong><a href="tel:+15551234567">(555) 123-4567</a></div>
</div>
<div>
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8"><path d="M12 21s-7-6.1-7-11.5C5 5.9 8.1 3 12 3s7 2.9 7 6.5C19 14.9 12 21 12 21z"/><circle cx="12" cy="9.5" r="2.3"/></svg>
<div><strong>Workshop</strong><span style="color:var(--parchment-light)">By appointment · local pickup available</span></div>
</div>
</div>
<div class="socials">
<a href="#" target="_blank" rel="noopener" aria-label="Pinterest">
<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 2C6.5 2 2 6.5 2 12c0 4.2 2.6 7.8 6.3 9.3-.1-.8-.2-2 0-2.9l1.3-5.6s-.3-.7-.3-1.6c0-1.5.9-2.7 2-2.7.9 0 1.4.7 1.4 1.6 0 .9-.6 2.3-.9 3.6-.3 1.1.5 2 1.6 2 2 0 3.4-2.5 3.4-5.5 0-2.3-1.5-4-4.4-4-3.2 0-5.1 2.4-5.1 4.9 0 1 .4 2 .8 2.6.1.1.1.2.1.3-.1.4-.3 1.1-.3 1.3-.1.2-.2.3-.4.2-1.4-.7-2.3-2.7-2.3-4.4 0-3.6 2.6-6.9 7.6-6.9 4 0 7.1 2.9 7.1 6.6 0 3.9-2.5 7.1-5.9 7.1-1.2 0-2.3-.6-2.6-1.3l-.7 2.7c-.3 1-1 2.3-1.4 3.1.9.3 1.9.4 2.9.4 5.5 0 10-4.5 10-10S17.5 2 12 2z"/></svg>
</a>
<a href="#" target="_blank" rel="noopener" aria-label="Instagram">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7"><rect x="3" y="3" width="18" height="18" rx="5"/><circle cx="12" cy="12" r="4"/><circle cx="17.2" cy="6.8" r="1"/></svg>
</a>
<a href="#" target="_blank" rel="noopener" aria-label="Facebook">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7"><path d="M15 8h2V4h-2c-2.2 0-4 1.8-4 4v2H9v4h2v6h4v-6h2.5l.5-4H15V8c0-.6.4-1 1-1z"/></svg>
</a>
</div>
</div>
<form class="custom-form" id="customForm" action="https://formspree.io/f/YOUR_FORM_ID" method="POST">
<div class="form-success" id="formSuccess">Thanks — your message is on its way. We'll get back to you soon. (In the meantime, feel free to email or call directly.)</div>
<div class="form-error" id="formError">Something went wrong sending that. Please try again, or email us directly at [email protected].</div>
<div class="form-row">
<div class="field">
<label for="fname">Name</label>
<input type="text" id="fname" name="name" required>
</div>
<div class="field">
<label for="femail">Email</label>
<input type="email" id="femail" name="email" required>
</div>
</div>
<div class="form-row">
<div class="field">
<label for="fphone">Phone (optional)</label>
<input type="tel" id="fphone" name="phone">
</div>
<div class="field">
<label for="ftype">What are you after?</label>
<select id="ftype" name="type">
<option>Custom order</option>
<option>Question about the gallery</option>
<option>Something else</option>
</select>
</div>
</div>
<div class="field">
<label for="fmessage">Tell us about it</label>
<textarea id="fmessage" name="message" required placeholder="Dimensions, wood type, inspiration photos — whatever you've got."></textarea>
</div>
<button type="submit" class="btn btn-primary" id="formSubmit">Send Message</button>
<p class="form-note">Prefer to skip the form? Email [email protected] or call (555) 123-4567 directly.</p>
</form>
</div>
</section>
<footer>
<div class="wrap footer-inner">
<span>© <span id="year"></span> The Buck Shed. Half of every sale supports <strong>[FOUNDATION NAME]</strong>.</span>
<span><a href="#top">Back to top ↑</a></span>
</div>
</footer>
<script>
document.getElementById('year').textContent = new Date().getFullYear();
const menuToggle = document.getElementById('menuToggle');
const primaryNav = document.getElementById('primaryNav');
menuToggle.addEventListener('click', () => {
const isOpen = primaryNav.classList.toggle('open');
menuToggle.setAttribute('aria-expanded', isOpen);
});
primaryNav.querySelectorAll('a').forEach(link => {
link.addEventListener('click', () => {
primaryNav.classList.remove('open');
menuToggle.setAttribute('aria-expanded', 'false');
});
});
const form = document.getElementById('customForm');
const success = document.getElementById('formSuccess');
const errorBox = document.getElementById('formError');
const submitBtn = document.getElementById('formSubmit');
form.addEventListener('submit', async (e) => {
e.preventDefault();
success.classList.remove('show');
errorBox.classList.remove('show');
submitBtn.disabled = true;
submitBtn.textContent = 'Sending...';
try {
const response = await fetch(form.action, {
method: 'POST',
body: new FormData(form),
headers: { 'Accept': 'application/json' }
});
if (response.ok) {
success.classList.add('show');
form.reset();
success.scrollIntoView({behavior:'smooth', block:'center'});
} else {
errorBox.classList.add('show');
}
} catch (err) {
errorBox.classList.add('show');
} finally {
submitBtn.disabled = false;
submitBtn.textContent = 'Send Message';
}
});
if ('IntersectionObserver' in window) {
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('is-visible');
observer.unobserve(entry.target);
}
});
}, {threshold:0.12});
document.querySelectorAll('.reveal').forEach(el => observer.observe(el));
} else {
document.querySelectorAll('.reveal').forEach(el => el.classList.add('is-visible'));
}
</script>
</body>
</html>
Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
Comments
One response
Hi, this is a comment.
To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard.
Commenter avatars come from Gravatar.