<!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 &amp; 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>

Uncategorized

  • Hello world!

    Welcome to WordPress. This is your first post. Edit or delete it, then start writing!

    read more