PageSourceSearch

https://ds-design-studio.com/work/

html ds-design-studio.com collected 2026-09-29 06:24:18 UTC 24,242 bytes, 50 lines download raw bytes

1<!DOCTYPE html><html lang="en"> <head><meta charset="UTF-8"><meta content="width=device-width, initial-scale=1.0" name="viewport"><link href="/svg/web-logo.svg" rel="icon" type="image/svg+xml"><meta content="Astro v6.1.1" name="generator"><title>Selected Work • DS Design Studio</title><link rel="canonical" href="https://ds-design-studio.com/work/"><meta name="description" content="A selection of recent work showcasing the principles that I bring to all of my web design projects."><meta name="robots" content="index, follow"><meta property="og:title" content="Selected Web Design Work by Daniel Saunders"><meta property="og:type" content="website"><meta property="og:image" content="/_astro/ds-design-studio-default-og.CtGE-dq6_Z1azBv2.jpeg"><meta property="og:url" content="https://ds-design-studio.com/work/"><meta property="og:description" content="A selection of recent work showcasing the principles that I bring to all of my web design projects."><meta property="og:image:url" content="/_astro/ds-design-studio-default-og.CtGE-dq6_Z1azBv2.jpeg"><meta property="og:image:type" content="image/jpeg"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><link href="/sitemap-index.xml" rel="sitemap"><link as="font" crossorigin="true" href="/fonts/Body-Grotesque-Fit-Extrabold.woff2" rel="preload" type="font/woff2"><link as="font" crossorigin="true" href="/fonts/Body-Text-Fit-Regular.woff2" rel="preload" type="font/woff2"><link as="font" crossorigin="true" href="/fonts/Body-Text-Fit-Italic.woff2" rel="preload" type="font/woff2"><link as="font" crossorigin="true" href="/fonts/Body-Text-Fit-Bold.woff2" rel="preload" type="font/woff2"><!-- Alpine Plugins -->
1<script defer src="https://unpkg.com/@alpinejs/[email protected]/dist/cdn.min.js"></script>
1<script defer src="https://cdn.jsdelivr.net/npm/@alpinejs/[email protected]/dist/cdn.min.js"></script>
1<script defer src="https://cdn.jsdelivr.net/npm/@alpinejs/[email protected]/dist/cdn.min.js"></script>
1<script defer src="https://cdn.jsdelivr.net/npm/@alpinejs/[email protected]/dist/cdn.min.js"></script>
1<script defer src="https://unpkg.com/@alpinejs/[email protected]/dist/cdn.min.js"></script>
1<!-- Alpine Core -->
1<script defer src="https://unpkg.com/[email protected]/dist/cdn.min.js"></script>
1<!-- Fathom Analytics -->
1<script data-site="IIFOIXEE" defer src="https://cdn.usefathom.com/script.js"></script>
1<style>
2            @font-face {
3                font-family: "Body Grotesque Fit";
4                src: url("/fonts/Body-Grotesque-Fit-Extrabold.woff2")
5                    format("woff2");
6                font-weight: 800;
7                font-style: normal;
8                font-display: swap;
9            }
10            @font-face {
11                font-family: "Body Text Fit";
12                src: url("/fonts/Body-Text-Fit-Regular.woff2") format("woff2");
13                font-weight: 400;
14                font-style: normal;
15                font-display: swap;
16            }
17            @font-face {
18                font-family: "Body Text Fit";
19                src: url("/fonts/Body-Text-Fit-Italic.woff2") format("woff2");
20                font-weight: 400;
21                font-style: italic;
22                font-display: swap;
23            }
24            @font-face {
25                font-family: "Body Text Fit";
26                src: url("/fonts/Body-Text-Fit-Bold.woff2") format("woff2");
27                font-weight: 700;
28                font-style: normal;
29                font-display: swap;
30            }
31            @font-face {
32                font-family: "Fira Code";
33                src: url("/fonts/FiraCode-Regular.woff2") format("woff2");
34                font-weight: 400;
35                font-style: normal;
36                font-display: swap;
37            }
38            [x-cloak] {
39                display: none;
40            }
41        </style><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate">
41<script type="module" src="/_astro/ClientRouter.astro_astro_type_script_index_0_lang.j56hQv-j.js"></script>
41<link rel="stylesheet" href="/_astro/Layout.ZPB0a3H0.css">
42<style>.project[data-astro-cid-mspuyifq].flow{--flow-space:1.25rem}h2[data-astro-cid-mspuyifq]{font-size:var(--step-3)}.text[data-astro-cid-mspuyifq].flow{--flow-space:.75rem}.details[data-astro-cid-mspuyifq]{font-size:var(--step--1)}.details[data-astro-cid-mspuyifq].cluster{--cluster-space:.5rem}.divider[data-astro-cid-mspuyifq]{color:var(--color-primary-5)}@container contentWrapper (width<=768px){h2[data-astro-cid-mspuyifq]{font-size:var(--step-2)}.overlay[data-astro-cid-mspuyifq]{padding:var(--space-m)}}.hero[data-astro-cid-57l5znwr]{text-align:center}.hero[data-astro-cid-57l5znwr] h1[data-astro-cid-57l5znwr]{font-size:var(--step-5)}.hero[data-astro-cid-57l5znwr] p[data-astro-cid-57l5znwr]{max-width:calc(var(--paragraph-measure) * .8);margin-inline:auto}.grid-6[data-astro-cid-57l5znwr]{column-gap:var(--space-l);row-gap:var(--space-xl);margin-block-end:var(--section-spacer)}.grid-6[data-astro-cid-57l5znwr]>[data-astro-cid-57l5znwr]{grid-column:span 3}@media(width<=768px){.hero[data-astro-cid-57l5znwr].inner-spacing{margin-block-start:10rem}.grid-6[data-astro-cid-57l5znwr]>[data-astro-cid-57l5znwr]{grid-column:span 6}.grid-6[data-astro-cid-57l5znwr]>[data-astro-cid-57l5znwr]:nth-child(2n){margin-block-start:0}}
43.cta[data-astro-cid-agu52t7t]{text-align:center;margin-block:var(--section-spacer)}.text[data-astro-cid-agu52t7t]{align-items:center}.text[data-astro-cid-agu52t7t].flow{--flow-space:var(--space-l)}.message[data-astro-cid-agu52t7t] span[data-astro-cid-agu52t7t]{color:var(--color-primary-4);display:inline-block}.change[data-astro-cid-agu52t7t]{animation:.4s ease-out fade-up-long}.cta-bg[data-astro-cid-agu52t7t]{border-block:1px solid var(--color-neutral-2);padding-block:calc(var(--section-spacer) * .5);background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cg fill-rule='evenodd'%3E%3Cg fill='%23cfd7e2' fill-opacity='0.25'%3E%3Cpath opacity='.5' d='M96 95h4v1h-4v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9zm-1 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9z'/%3E%3Cpath d='M6 5V0H5v5H0v1h5v94h1V6h94V5H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");position:relative}@container contentWrapper (width<=768px){.cta[data-astro-cid-agu52t7t]{margin-block:var(--space-l)}}
44</style></head> <body> <header class="site-header" data-position="relative" data-theme="normal" data-astro-cid-ctg3m53h> <div class="content-wrapper | cluster" data-astro-cid-ctg3m53h> <a class="logo" data-theme="normal" href="/" data-astro-cid-tvrurpns><div class="logo-wrapper" data-astro-cid-tvrurpns> <span class="sr-only" data-astro-cid-tvrurpns>DS Design</span><svg id="Layer_10" viewBox="0 0 109.49 107.16" xmlns="http://www.w3.org/2000/svg" data-astro-cid-tvrurpns><defs data-astro-cid-tvrurpns></defs><g data-astro-cid-tvrurpns><path class="logo-fill-2" d="M49.83,0h14.25V46.64h-14.12l.32-7.03-.25-.06c-1.58,2.34-3.44,4.22-5.59,5.62-2.15,1.41-4.74,2.11-7.76,2.11-2.21,0-4.15-.37-5.81-1.12s-3.04-1.85-4.15-3.32c-1.11-1.47-1.94-3.27-2.49-5.4-.55-2.13-.83-4.58-.83-7.35,0-3.19,.38-5.89,1.15-8.08,.77-2.19,1.84-3.95,3.23-5.27,1.38-1.32,3.02-2.27,4.92-2.84,1.89-.58,3.99-.86,6.29-.86,1.66,0,3.17,.17,4.54,.51,1.36,.34,2.58,.85,3.64,1.53,1.06,.68,1.96,1.53,2.68,2.56V0Zm-5.88,21.66c-1.53,0-2.76,.28-3.67,.83-.92,.55-1.58,1.44-1.98,2.65-.41,1.21-.61,2.84-.61,4.89s.2,3.52,.61,4.7c.4,1.17,1.05,2,1.95,2.49,.89,.49,2.11,.73,3.64,.73,1.62,0,2.88-.24,3.77-.73,.89-.49,1.53-1.32,1.92-2.49,.38-1.17,.57-2.76,.57-4.76s-.19-3.67-.57-4.89c-.38-1.21-1.03-2.09-1.95-2.62-.92-.53-2.14-.8-3.67-.8Z" data-astro-cid-tvrurpns></path><path class="logo-fill-2" d="M86.69,47.59c-6.99,0-12.01-.91-15.08-2.72s-4.6-4.87-4.6-9.17h12.84c-.04,1.41,.36,2.39,1.21,2.94,.85,.55,2.47,.83,4.86,.83,2.09,0,3.51-.18,4.28-.54,.77-.36,1.15-.9,1.15-1.63,0-.64-.28-1.08-.83-1.31-.55-.23-1.38-.44-2.49-.61l-8.31-1.15c-3.88-.55-6.79-1.63-8.75-3.23s-2.94-3.95-2.94-7.06c0-3.75,1.51-6.58,4.54-8.5,3.02-1.92,7.5-2.87,13.42-2.87,4.22,0,7.68,.41,10.38,1.21,2.7,.81,4.74,2.07,6.1,3.77,1.36,1.7,2.07,3.92,2.11,6.64h-12.84c.04-1.19-.33-2.03-1.12-2.52-.79-.49-2.12-.73-3.99-.73-1.58,0-2.71,.16-3.39,.48-.68,.32-1.02,.78-1.02,1.37,0,.47,.21,.83,.64,1.09,.42,.26,1.11,.45,2.04,.57l10.35,1.41c3.28,.43,5.81,1.41,7.6,2.94,1.79,1.53,2.68,3.79,2.68,6.77,0,2.64-.71,4.86-2.14,6.64-1.43,1.79-3.54,3.13-6.33,4.02-2.79,.89-6.25,1.34-10.38,1.34Z" data-astro-cid-tvrurpns></path></g><path class="logo-fill-1" d="M15.36,96.41H3V12.59H15.36V96.41Z" data-astro-cid-tvrurpns></path><g data-astro-cid-tvrurpns><path class="logo-fill-1" d="M64.07,92.34c0,3.71-.88,6.64-2.65,8.82-1.77,2.17-4.22,3.72-7.35,4.63-3.13,.92-6.74,1.37-10.83,1.37-6.69,0-11.56-.87-14.63-2.62-3.07-1.75-4.66-4.54-4.79-8.37h14.44c.04,.55,.22,1.02,.54,1.41s.88,.66,1.69,.83c.81,.17,1.92,.26,3.32,.26,2.17,0,3.68-.41,4.54-1.21,.85-.81,1.28-2.13,1.28-3.96v-1.09c.04-.6,.06-1.17,.06-1.73s.01-1.12,.03-1.69c.02-.57,.03-1.14,.03-1.69l-.26-.06c-1.32,2.09-3.03,3.77-5.14,5.05s-4.67,1.92-7.7,1.92c-2.21,0-4.15-.37-5.81-1.12-1.66-.75-3.04-1.82-4.15-3.23-1.11-1.41-1.94-3.15-2.49-5.24-.55-2.09-.83-4.47-.83-7.16,0-3.11,.38-5.72,1.15-7.83,.77-2.11,1.84-3.79,3.23-5.05,1.38-1.26,3.02-2.16,4.92-2.72,1.89-.55,3.99-.83,6.29-.83,2.64,0,4.84,.38,6.61,1.15,1.77,.77,3.18,1.92,4.25,3.45v-3.96h14.25v30.66Zm-20.12-22.87c-1.53,0-2.76,.25-3.67,.73-.92,.49-1.58,1.29-1.98,2.4-.41,1.11-.61,2.6-.61,4.47s.2,3.44,.61,4.57c.4,1.13,1.05,1.94,1.95,2.43,.89,.49,2.11,.73,3.64,.73,1.62,0,2.88-.23,3.77-.7,.89-.47,1.53-1.28,1.92-2.43,.38-1.15,.57-2.7,.57-4.66s-.19-3.35-.57-4.44c-.38-1.09-1.03-1.87-1.95-2.3
446-.92-.49-2.14-.73-3.67-.73Z" data-astro-cid-tvrurpns></path><path class="logo-fill-1" d="M82.79,94.64h-14.25V61.67h13.93l-.32,7.03,.25,.06c1.58-2.6,3.63-4.54,6.17-5.81,2.53-1.28,5.31-1.92,8.34-1.92,3.54,0,6.26,.94,8.18,2.81,1.92,1.87,2.87,4.22,2.87,7.03v23.77h-14.25v-18.53c0-1.45-.31-2.59-.93-3.42-.62-.83-1.97-1.25-4.06-1.25-1.28,0-2.36,.16-3.26,.48s-1.56,.83-2.01,1.53-.67,1.63-.67,2.78v18.4Z" data-astro-cid-tvrurpns></path></g></svg> </div></a> <nav class="desktop-nav | cluster" data-astro-cid-ctg3m53h> <a class="nav-link" href="/services" data-astro-cid-ctg3m53h> Services </a><a class="nav-link" href="/work" data-astro-cid-ctg3m53h> Work </a><a class="nav-link" href="/about" data-astro-cid-ctg3m53h> About </a> <a class="button-link primary" href="/contact" target="_self" data-astro-cid-ctg3m53h="true" data-astro-cid-ewiz6fue>Get in Touch</a> </nav> <div class="mobile-nav | popover" data-theme="normal" x-data x-popover data-astro-cid-37bvxqo4> <button class="menu-button open" x-popover:button data-astro-cid-37bvxqo4> <span class="sr-only" data-astro-cid-37bvxqo4>Open Navigation</span> <svg aria-hidden="true" fill="currentColor" height="1.75rem" viewBox="0 0 24 24" width="1.75rem" xmlns="http://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M3 9a.75.75 0 0 1 .75-.75h16.5a.75.75 0 0 1 0 1.5H3.75A.75.75 0 0 1 3 9Zm0 6.75a.75.75 0 0 1 .75-.75h16.5a.75.75 0 0 1 0 1.5H3.75a.75.75 0 0 1-.75-.75Z" fill-rule="evenodd"></path></svg> </button> <nav class="panel-wrapper" x-popover:panel data-astro-cid-37bvxqo4> <div class="panel" data-astro-cid-37bvxqo4> <button class="menu-button close" x-on:click="$popover.close()" data-astro-cid-37bvxqo4> <span class="sr-only" data-astro-cid-37bvxqo4>Close Navigation</span> <svg aria-hidden="true" fill="currentColor" height="1.5rem" viewBox="0 0 24 24" width="1.5rem" xmlns="http://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M5.47 5.47a.75.75 0 0 1 1.06 0L12 10.94l5.47-5.47a.75.75 0 1 1 1.06 1.06L13.06 12l5.47 5.47a.75.75 0 1 1-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 0 1-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 0 1 0-1.06Z" fill-rule="evenodd"></path></svg> </button>  <div class="flow | with-children" data-astro-cid-37bvxqo4> <div class="small-title" data-astro-cid-37bvxqo4>Studio</div> <a href="/services" data-astro-cid-37bvxqo4>Services</a><a href="/work" data-astro-cid-37bvxqo4>Work</a><a href="/about" data-astro-cid-37bvxqo4>About</a> </div> <a class="button-link primary" href="/contact" target="_self" data-astro-cid-37bvxqo4="true" data-astro-cid-ewiz6fue>Get a Quote</a> </div> </nav> </div> </div> </header> <main data-astro-cid-57l5znwr> <article class="hero | content-wrapper | inner-spacing flow" data-astro-cid-57l5znwr> <h1 data-astro-cid-57l5znwr>Selected Work</h1> <p data-astro-cid-57l5znwr>A selection of recent work showcasing the principles that I bring to all of my web design projects.</p> </article> <div class="grid-6 | content-wrapper" id="projects" data-astro-cid-57l5znwr> <div data-astro-cid-57l5znwr> <article class="project | flow" data-astro-cid-mspuyifq> <a class="image-hover-wrapper" href="/work/st-albans-westwood" data-astro-cid-mspuyifq> <div class="overlay" data-astro-cid-mspuyifq><h2 data-astro-cid-mspuyifq>Increasing outreach visibility for a church near a major college campus.</h2></div> <img src="/_astro/st-albans-body-1.B_omILpz_Z1LPLX2.webp" alt loading="eager" data-astro-cid-mspuyifq="true" decoding="async" width="1200" height="900"> </a> <div class="text | flow" data-astro-cid-mspuyifq> <p class="details | cluster" data-astro-cid-mspuyifq> <span class="small-title" data-astro-cid-mspuyifq>St. Alban’s Episcopal Church</span><span class="divider" data-astro-cid-mspuyifq>•</span><span data-astro-cid-mspuyifq>Faith-Based Website</span> </p> </div> </article> </div><div data-astro-cid-57l5znwr> <article class="project | flow" data-astro-cid-mspuyifq> <a class="image-hover-wrapper" href="/work/sepsf" data-astro-cid-mspuyifq> <div class="overlay" data-astro-cid-mspuyifq><h2 data-astro-cid-mspuyifq>Raising awareness and support for a historic piece of Boston.</h2></div> <img src="/_astro/sepsf-body-1.CelVzvUz_Z1C6a65.webp" alt loading="eager" data-astro-cid-m
44spuyifq="true" decoding="async" width="1200" height="900"> </a> <div class="text | flow" data-astro-cid-mspuyifq> <p class="details | cluster" data-astro-cid-mspuyifq> <span class="small-title" data-astro-cid-mspuyifq>Seven and Eight Park Street</span><span class="divider" data-astro-cid-mspuyifq>•</span><span data-astro-cid-mspuyifq>Non-Profit Website</span> </p> </div> </article> </div><div data-astro-cid-57l5znwr> <article class="project | flow" data-astro-cid-mspuyifq> <a class="image-hover-wrapper" href="/work/haymarket-writing-freedom" data-astro-cid-mspuyifq> <div class="overlay" data-astro-cid-mspuyifq><h2 data-astro-cid-mspuyifq>Elevating the voices of system-impacted creative writers.</h2></div> <img src="/_astro/writing-freedom-body-3.DSB2vbhp_Z153l0E.webp" alt="A laptop and mobile phone showing the Writing Freedom Fellowship website design on each of these screen sizes." loading="eager" data-astro-cid-mspuyifq="true" decoding="async" width="1200" height="900"> </a> <div class="text | flow" data-astro-cid-mspuyifq> <p class="details | cluster" data-astro-cid-mspuyifq> <span class="small-title" data-astro-cid-mspuyifq>Haymarket Books</span><span class="divider" data-astro-cid-mspuyifq>•</span><span data-astro-cid-mspuyifq>Non-Profit Website</span> </p> </div> </article> </div><div data-astro-cid-57l5znwr> <article class="project | flow" data-astro-cid-mspuyifq> <a class="image-hover-wrapper" href="/work/san-marino-cc" data-astro-cid-mspuyifq> <div class="overlay" data-astro-cid-mspuyifq><h2 data-astro-cid-mspuyifq>Expanding the online capabilities of a large and growing church.</h2></div> <img src="/_astro/smcc-body-5.CyFvxeU5_Tf5Jf.webp" alt="A laptop and mobile phone showing the San Marino Community Church website design on each of these screen sizes." loading="eager" data-astro-cid-mspuyifq="true" decoding="async" width="1200" height="900"> </a> <div class="text | flow" data-astro-cid-mspuyifq> <p class="details | cluster" data-astro-cid-mspuyifq> <span class="small-title" data-astro-cid-mspuyifq>San Marino Community Church</span><span class="divider" data-astro-cid-mspuyifq>•</span><span data-astro-cid-mspuyifq>Faith-Based Website</span> </p> </div> </article> </div> </div> <div class="cta-bg" data-astro-cid-agu52t7t> <article class="content-wrapper" data-astro-cid-agu52t7t> <div class="cta callout | dark" x-data="{ messages: ['marketing website', 'non-profit website', 'consulting website', 'coaching website', 'personal website', 'solopreneur website', 'church website', 'business website'] }" data-astro-cid-agu52t7t> <div class="text | flow" x-data="{ currentMessage: null, init() { this.currentMessage = this.messages[0]; setInterval(() => { let array = this.messages; let currentIndex = array.indexOf(this.currentMessage); let next = array[currentIndex === array.length - 1 ? 0 : currentIndex + 1]; this.currentMessage = next }, 4000) } }" x-init="$watch('currentMessage', () => { $refs.text.classList.add('change'); setTimeout(() => $refs.text.classList.remove('change'), 500) })" data-astro-cid-agu52t7t> <h2 class="message" data-astro-cid-agu52t7t>
45Ready to elevate your next <span x-ref="text" x-text="currentMessage" data-astro-cid-agu52t7t></span>?
46</h2> <a class="button-link primary" href="/contact" target="_self" data-astro-cid-agu52t7t="true" data-astro-cid-ewiz6fue> <span data-astro-cid-agu52t7t>Get in Touch</span> <svg aria-hidden="true" fill="currentColor" height="1em" viewBox="0 0 640 640" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M148 290.9L48 48L640 320L48 592L148 349.1L352 320L148 290.9z"></path></svg> </a> </div> <img src="/_astro/shape-pattern-1.CFc-Qisa_2wvaFi.svg" alt loading="lazy" data-astro-cid-agu52t7t="true" decoding="async" width="600" height="900" class="bg-image"> </div> </article> </div> </main> <footer class="site-footer | dark" data-astro-cid-gcn2mc3v> <div class="grid | content-wrapper" data-astro-cid-gcn2mc3v> <div class="brand | flow" data-astro-cid-gcn2mc3v> <a class="logo" data-theme="dark" href="/" data-astro-cid-tvrurpns><div class="logo-wrapper" data-astro-cid-tvrurpns> <span class="sr-only" data-astro-cid-tvrurpns>DS Design</span>
46<svg id="Layer_10" viewBox="0 0 109.49 107.16" xmlns="http://www.w3.org/2000/svg" data-astro-cid-tvrurpns><defs data-astro-cid-tvrurpns></defs><g data-astro-cid-tvrurpns><path class="logo-fill-2" d="M49.83,0h14.25V46.64h-14.12l.32-7.03-.25-.06c-1.58,2.34-3.44,4.22-5.59,5.62-2.15,1.41-4.74,2.11-7.76,2.11-2.21,0-4.15-.37-5.81-1.12s-3.04-1.85-4.15-3.32c-1.11-1.47-1.94-3.27-2.49-5.4-.55-2.13-.83-4.58-.83-7.35,0-3.19,.38-5.89,1.15-8.08,.77-2.19,1.84-3.95,3.23-5.27,1.38-1.32,3.02-2.27,4.92-2.84,1.89-.58,3.99-.86,6.29-.86,1.66,0,3.17,.17,4.54,.51,1.36,.34,2.58,.85,3.64,1.53,1.06,.68,1.96,1.53,2.68,2.56V0Zm-5.88,21.66c-1.53,0-2.76,.28-3.67,.83-.92,.55-1.58,1.44-1.98,2.65-.41,1.21-.61,2.84-.61,4.89s.2,3.52,.61,4.7c.4,1.17,1.05,2,1.95,2.49,.89,.49,2.11,.73,3.64,.73,1.62,0,2.88-.24,3.77-.73,.89-.49,1.53-1.32,1.92-2.49,.38-1.17,.57-2.76,.57-4.76s-.19-3.67-.57-4.89c-.38-1.21-1.03-2.09-1.95-2.62-.92-.53-2.14-.8-3.67-.8Z" data-astro-cid-tvrurpns></path><path class="logo-fill-2" d="M86.69,47.59c-6.99,0-12.01-.91-15.08-2.72s-4.6-4.87-4.6-9.17h12.84c-.04,1.41,.36,2.39,1.21,2.94,.85,.55,2.47,.83,4.86,.83,2.09,0,3.51-.18,4.28-.54,.77-.36,1.15-.9,1.15-1.63,0-.64-.28-1.08-.83-1.31-.55-.23-1.38-.44-2.49-.61l-8.31-1.15c-3.88-.55-6.79-1.63-8.75-3.23s-2.94-3.95-2.94-7.06c0-3.75,1.51-6.58,4.54-8.5,3.02-1.92,7.5-2.87,13.42-2.87,4.22,0,7.68,.41,10.38,1.21,2.7,.81,4.74,2.07,6.1,3.77,1.36,1.7,2.07,3.92,2.11,6.64h-12.84c.04-1.19-.33-2.03-1.12-2.52-.79-.49-2.12-.73-3.99-.73-1.58,0-2.71,.16-3.39,.48-.68,.32-1.02,.78-1.02,1.37,0,.47,.21,.83,.64,1.09,.42,.26,1.11,.45,2.04,.57l10.35,1.41c3.28,.43,5.81,1.41,7.6,2.94,1.79,1.53,2.68,3.79,2.68,6.77,0,2.64-.71,4.86-2.14,6.64-1.43,1.79-3.54,3.13-6.33,4.02-2.79,.89-6.25,1.34-10.38,1.34Z" data-astro-cid-tvrurpns></path></g><path class="logo-fill-1" d="M15.36,96.41H3V12.59H15.36V96.41Z" data-astro-cid-tvrurpns></path><g data-astro-cid-tvrurpns><path class="logo-fill-1" d="M64.07,92.34c0,3.71-.88,6.64-2.65,8.82-1.77,2.17-4.22,3.72-7.35,4.63-3.13,.92-6.74,1.37-10.83,1.37-6.69,0-11.56-.87-14.63-2.62-3.07-1.75-4.66-4.54-4.79-8.37h14.44c.04,.55,.22,1.02,.54,1.41s.88,.66,1.69,.83c.81,.17,1.92,.26,3.32,.26,2.17,0,3.68-.41,4.54-1.21,.85-.81,1.28-2.13,1.28-3.96v-1.09c.04-.6,.06-1.17,.06-1.73s.01-1.12,.03-1.69c.02-.57,.03-1.14,.03-1.69l-.26-.06c-1.32,2.09-3.03,3.77-5.14,5.05s-4.67,1.92-7.7,1.92c-2.21,0-4.15-.37-5.81-1.12-1.66-.75-3.04-1.82-4.15-3.23-1.11-1.41-1.94-3.15-2.49-5.24-.55-2.09-.83-4.47-.83-7.16,0-3.11,.38-5.72,1.15-7.83,.77-2.11,1.84-3.79,3.23-5.05,1.38-1.26,3.02-2.16,4.92-2.72,1.89-.55,3.99-.83,6.29-.83,2.64,0,4.84,.38,6.61,1.15,1.77,.77,3.18,1.92,4.25,3.45v-3.96h14.25v30.66Zm-20.12-22.87c-1.53,0-2.76,.25-3.67,.73-.92,.49-1.58,1.29-1.98,2.4-.41,1.11-.61,2.6-.61,4.47s.2,3.44,.61,4.57c.4,1.13,1.05,1.94,1.95,2.43,.89,.49,2.11,.73,3.64,.73,1.62,0,2.88-.23,3.77-.7,.89-.47,1.53-1.28,1.92-2.43,.38-1.15,.57-2.7,.57-4.66s-.19-3.35-.57-4.44c-.38-1.09-1.03-1.87-1.95-2.36-.92-.49-2.14-.73-3.67-.73Z" data-astro-cid-tvrurpns></path><path class="logo-fill-1" d="M82.79,94.64h-14.25V61.67h13.93l-.32,7.03,.25,.06c1.58-2.6,3.63-4.54,6.17-5.81,2.53-1.28,5.31-1.92,8.34-1.92,3.54,0,6.26,.94,8.18,2.81,1.92,1.87,2.87,4.22,2.87,7.03v23.77h-14.25v-18.53c0-1.45-.31-2.59-.93-3.42-.62-.83-1.97-1.25-4.06-1.25-1.28,0-2.36,.16-3.26,.48s-1.56,.83-2.01,1.53-.67,1.63-.67,2.78v18.4Z" data-astro-cid-tvrurpns></path></g></svg> </div></a><p data-astro-cid-gcn2mc3v>
47DS Design is the Los Angeles-based web design studio practice of
48                Daniel Saunders. Contact me for your next hand-crafted web
49                design and development project.
50</p> <p data-astro-cid-gcn2mc3v> <a href="mailto:[email protected]" data-astro-cid-gcn2mc3v>[email protected]</a> </p> </div> <div class="column | flow" data-astro-cid-gcn2mc3v> <div class="small-title" data-astro-cid-gcn2mc3v>Explore</div> <ul class="flow" data-astro-cid-gcn2mc3v> <li data-astro-cid-gcn2mc3v> <a href="/services" data-astro-cid-gcn2mc3v> Services </a> </li><li data-astro-cid-gcn2mc3v> <a href="/work" data-astro-cid-gcn2mc3v> Work </a> </li><li data-astro-cid-gcn2mc3v> <a href="/about" data-astro-cid-gcn2mc3v> About </a> </li> </ul>  </div><div class="column | flow" data-astro-cid-gcn2mc3v> <div class="small-title" data-astro-cid-gcn2mc3v>Contact</div> <ul class="flow" data-astro-cid-gcn2mc3v> <li data-astro-cid-gcn2mc3v> <a href="/contact" data-astro-cid-gcn2mc3v> Get in Touch </a> </li> </ul> <div class="availability inline" data-status="ready" data-astro-cid-ohiw5iqw> <p data-astro-cid-ohiw5iqw>Available from October 2026</p> </div> </div> </div> <div class="subfooter | content-wrapper cluster" data-astro-cid-gcn2mc3v> <div data-astro-cid-gcn2mc3v>© 2026, Daniel Saunders</div> <div data-astro-cid-gcn2mc3v> <a href="/privacy" data-astro-cid-gcn2mc3v>Privacy Statement</a> </div> </div> </footer> </body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.