<!DOCTYPE html><html lang="en"> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="description" content="Cooper Nusbaum web design portfolio."><title>Cooper Nusbaum Web Design Portfolio</title><link rel="stylesheet" href="/_astro/index.D9tMcGPl.css"></head> <body> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event("astro:load"));})();</script><script>(()=>{var g=Object.defineProperty;var w=(c,s,d)=>s in c?g(c,s,{enumerable:!0,configurable:!0,writable:!0,value:d}):c[s]=d;var l=(c,s,d)=>w(c,typeof s!="symbol"?s+"":s,d);var E=new Set(["__proto__","constructor","prototype"]);{let c={0:t=>y(t),1:t=>d(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(d(t)),5:t=>new Set(d(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>Number.POSITIVE_INFINITY*t},s=t=>{let[p,e]=t;return p in c?c[p](e):void 0},d=t=>t.map(s),y=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([p,e])=>[p,s(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,"Component");l(this,"hydrator");l(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let n=this.querySelectorAll("astro-slot"),r={},i=this.querySelectorAll("template[data-astro-template]");for(let o of i){let a=o.closest(this.tagName);a!=null&&a.isSameNode(this)&&(r[o.getAttribute("data-astro-template")||"default"]=o.innerHTML,o.remove())}for(let o of n){let a=o.closest(this.tagName);a!=null&&a.isSameNode(this)&&(r[o.getAttribute("name")||"default"]=o.innerHTML)}let u;try{u=this.hasAttribute("props")?y(JSON.parse(this.getAttribute("props"))):{}}catch(o){let a=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(a+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${a}`,this.getAttribute("props"),o),o}let h;await this.hydrator(this)(this.Component,u,r,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});l(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),n.disconnect(),this.childrenConnectedCallback()},n=new MutationObserver(()=>{var r;((r=this.lastChild)==null?void 0:r.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});n.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}getRetryImportUrl(e){let n=new URL(e,document.baseURI),r=`astro-retry=${Date.now()}`,i=n.hash.replace(/^#/,"");return n.hash=i?`${i}&${r}`:r,n.toString()}async importWithRetry(e){try{return await import(e)}catch(n){return await new Promise(r=>setTimeout(r,1e3)),import(this.getRetryImportUrl(e))}}handleHydrationError(e){let n=this.getAttribute("component-url"),r=new CustomEvent("astro:hydration-error",{cancelable:!0,bubbles:!0,composed:!0,detail:{error:e,componentUrl:n}});this.dispatchEvent(r)&&console.error(`[astro-island] Error hydrating ${n}`,e)}async start(){let e=JSON.parse(this.getAttribute("opts")),n=this.getAttribute("client");if(Astro[n]===void 0){window.addEventListener(`astro:${n}`,()=>this.start(),{once:!0});return}try{await Astro[n](async()=>{let r=this.getAttribute("renderer-url");try{let[i,{default:u}]=await Promise.all([this.importWithRetry(this.getAttribute("component-url")),r?this.importWithRetry(r):Promise.resolve({default:()=>()=>{}})]),h=this.getAttribute("component-export")||"default";if(h.includes(".")){this.Component=i;for(let m of h.split(".")){if(E.has(m)||!this.Component||typeof this.Component!="object"&&typeof this.Component!="function"||!Object.hasOwn(this.Component,m))throw new Error(`Invalid component export path: ${h}`);this.Component=this.Component[m]}}else{if(E.has(h))throw new Error(`Invalid component export path: ${h}`);this.Component=i[h]}return this.hydrator=u,this.hydrate}catch(i){return this.handleHydrationError(i),()=>{}}},e,this)}catch(r){this.handleHydrationError(r)}}attributeChangedCallback(){this.hydrate()}}l(f,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",f)}})();</script><astro-island uid="Z1Iqjbb" prefix="r1" component-url="/_astro/PortfolioApp.CAgnDn7V.js" component-export="default" renderer-url="/_astro/client.CT7_ahLI.js" props="{}" ssr client="load" opts="{&quot;name&quot;:&quot;PortfolioApp&quot;,&quot;value&quot;:true}" await-children><main class="showroom-shell relative min-h-screen overflow-hidden px-4 py-5 text-[#ffe6cb] sm:px-6 lg:px-10"><header class="relative z-10 mx-auto max-w-7xl border-b border-[#ffe6cb]/10 pb-10 pt-8"><div class="max-w-7xl animate-slide-up"><div class="eyebrow mb-6 inline-flex items-center gap-3"><span class="h-1.5 w-1.5 rounded-full bg-[#ffbd38]"></span> Web Design Portfolio</div><div class="flex flex-wrap items-baseline gap-x-4 gap-y-2 sm:gap-x-6"><h1 class="whitespace-nowrap text-[clamp(2.05rem,10.5vw,4.5rem)] font-semibold leading-[0.94] tracking-[-0.055em] text-[#fff8ec] sm:text-6xl lg:text-7xl">Cooper Nusbaum</h1><span class="basis-full whitespace-nowrap text-xs italic tracking-[0.1em] text-[#ffbd38] sm:basis-auto sm:text-sm lg:text-base">Bring Your Business to Life</span></div></div></header><section class="relative z-10 mx-auto grid max-w-7xl gap-5 pb-24"><article data-site-id="pulseforge" role="button" tabindex="0" class="focus-visible-ring group showroom-card relative grid min-h-[24rem] w-full cursor-pointer overflow-hidden text-left transition duration-500 hover:-translate-y-1 hover:border-[#ffe6cb]/24 hover:bg-[#ffe6cb]/[0.045] sm:min-h-[28rem] lg:grid-cols-[21rem_1fr]" style="animation-delay:0ms"><div class="relative z-10 flex flex-col justify-between border-b border-[#ffe6cb]/10 p-6 lg:border-b-0 lg:border-r"><div><div class="mb-5 inline-flex h-11 w-11 items-center justify-center rounded-lg border border-[#ffe6cb]/12 bg-[#ffe6cb]/[0.035]" style="color:#ff2d55"><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dumbbell" aria-hidden="true"><path d="M17.596 12.768a2 2 0 1 0 2.829-2.829l-1.768-1.767a2 2 0 0 0 2.828-2.829l-2.828-2.828a2 2 0 0 0-2.829 2.828l-1.767-1.768a2 2 0 1 0-2.829 2.829z"></path><path d="m2.5 21.5 1.4-1.4"></path><path d="m20.1 3.9 1.4-1.4"></path><path d="M5.343 21.485a2 2 0 1 0 2.829-2.828l1.767 1.768a2 2 0 1 0 2.829-2.829l-6.364-6.364a2 2 0 1 0-2.829 2.829l1.768 1.767a2 2 0 0 0-2.828 2.829z"></path><path d="m9.6 14.4 4.8-4.8"></path></svg></div><p class="text-[0.68rem] font-medium uppercase tracking-[0.24em] text-[#ffe6cb]/44">Performance gym</p><h2 class="mt-3 text-2xl font-semibold tracking-[-0.045em] text-[#fff8ec] sm:text-3xl">PulseForge</h2></div><div class="mt-7 flex items-center justify-start text-[0.68rem] uppercase tracking-[0.16em] text-[#ffe6cb]/45"><span class="trace-button inline-flex items-center gap-2 text-[#fff8ec]">Open <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></span></div></div><div class="preview-mask relative h-[21rem] overflow-hidden sm:h-[27rem] lg:h-auto"><div class="absolute inset-x-0 top-0 origin-top scale-[0.52] sm:scale-[0.72] lg:scale-[0.66] xl:scale-[0.74]"><div class="pointer-events-none h-[70rem] w-[142%] -translate-x-[15%] rounded-xl border border-[#ffe6cb]/10 bg-black shadow-2xl"><div class="site-canvas pulse-site  text-white"><nav class="pulse-nav"><b>PF/06</b><span>Recovery bay</span><span>Barbell floor</span><span>Rack lane</span><span>Power wheels</span><span>Front desk</span><button>Trial pass</button></nav><section class="pulse-hero pulse-walk-hero"><div class="brand-photo pulse-photo"><img src="/brand-images/pulseforge-flythrough-poster.webp" alt="PulseForge brand photography" loading="lazy"/><span class="brand-photo-shade"></span></div><div class="pulse-copy"><p>South Austin performance club</p><h3>Strength. Speed. Return.</h3><div class="pulse-actions"><button>Start 7-day trial</button><button>Tour the gym</button></div></div><div class="pulse-meter"><span>Live class load</span><strong>84%</strong><i></i></div></section><section class="pulse-map"><h4>Tour the club: recovery bay → barbell floor → rack lane → power wheels → front desk.</h4><div><span><b>01</b>warm recovery table + loaded barbell</span><span><b>02</b>open black rubber floor + perimeter light</span><span><b>03</b>squat racks + plates + benches</span><span><b>04</b>red flywheel wall + floor reflections</span><span><b>05</b>PulseForge front desk + trial handoff</span></div></section><section class="pulse-zones"><h4>What the tour passes.</h4><article><span>0<!-- -->1</span><h5>Recovery Bay</h5><p>Warm treatment table, loaded barbell, soft perimeter light, and the first look into the club.</p></article><article><span>0<!-- -->2</span><h5>Barbell Floor</h5><p>Open black floor, heavy bars, low camera movement, and a clear path into the work.</p></article><article><span>0<!-- -->3</span><h5>Rack Lane</h5><p>Squat racks, plate stacks, benches, mirrors, and overhead strip lights in a tight corridor.</p></article><article><span>0<!-- -->4</span><h5>Power Wheels</h5><p>Red flywheels, conditioning energy, brand wall glow, and the approach to the handoff.</p></article></section><section class="pulse-rhythm"><div><h4>Tonight&#x27;s class rhythm.</h4><p>Every block has a coach station, equipment zone, and recovery handoff. Trial members get placed into the safest lane instead of guessing.</p></div><div><article><strong>5:40</strong><h5>Open Gym</h5><p>Strength primer + mobility</p></article><article><strong>6:15</strong><h5>Forge 45</h5><p>Sleds, ropes, rowers, assault bikes</p></article><article><strong>7:10</strong><h5>Hypertrophy</h5><p>Rack work + dumbbell density</p></article><article><strong>8:00</strong><h5>Recovery</h5><p>Compression, breath, cold rinse</p></article></div></section><section class="pulse-programs"><h4>Training method.</h4><article><h5>Strength</h5><p>Rack-led blocks, bar speed notes, spotter rotation.</p></article><article><h5>Conditioning</h5><p>Heart-rate caps, sled track waves, rower intervals.</p></article><article><h5>Hypertrophy</h5><p>Dumbbell wall, tempo sets, form videos after class.</p></article><article><h5>Recovery</h5><p>Mobility table, cold plunge protocol, coach check-out.</p></article></section><section class="pulse-coaches"><div><h4>Coaches who correct you before the rep gets ugly.</h4><p>Book a trial and train with a floor lead, not a sales rep. Every session starts with movement screening and ends with a recovery recommendation.</p></div><span>Mara — Strength mechanics</span><span>Dev — Conditioning engine</span><span>Anika — Mobility + return-to-training</span></section><section class="pulse-pricing"><h4>Settle into the final trial-pass view.</h4><article><h5>Trial week / $0</h5><p>Includes coaching notes, class booking, and recovery access.</p></article><article><h5>Unlimited / $189 mo</h5><p>Includes coaching notes, class booking, and recovery access.</p></article><article><h5>Semi-private / $340 mo</h5><p>Includes coaching notes, class booking, and recovery access.</p></article></section></div></div></div><div class="pointer-events-none absolute inset-x-4 bottom-4 z-20 rounded-lg border border-[#ffe6cb]/12 bg-[#041c1c]/70 px-4 py-3 text-center text-[0.68rem] font-medium uppercase tracking-[0.2em] text-[#ffe6cb]/68 backdrop-blur-xl sm:inset-x-6 sm:bottom-5">Portfolio project</div></div></article><article data-site-id="atlas" role="button" tabindex="0" class="focus-visible-ring group showroom-card relative grid min-h-[24rem] w-full cursor-pointer overflow-hidden text-left transition duration-500 hover:-translate-y-1 hover:border-[#ffe6cb]/24 hover:bg-[#ffe6cb]/[0.045] sm:min-h-[28rem] lg:grid-cols-[21rem_1fr]" style="animation-delay:80ms"><div class="relative z-10 flex flex-col justify-between border-b border-[#ffe6cb]/10 p-6 lg:border-b-0 lg:border-r"><div><div class="mb-5 inline-flex h-11 w-11 items-center justify-center rounded-lg border border-[#ffe6cb]/12 bg-[#ffe6cb]/[0.035]" style="color:#b78342"><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house" aria-hidden="true"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg></div><p class="text-[0.68rem] font-medium uppercase tracking-[0.24em] text-[#ffe6cb]/44">Luxury real estate</p><h2 class="mt-3 text-2xl font-semibold tracking-[-0.045em] text-[#fff8ec] sm:text-3xl">Atlas Estate</h2></div><div class="mt-7 flex items-center justify-start text-[0.68rem] uppercase tracking-[0.16em] text-[#ffe6cb]/45"><span class="trace-button inline-flex items-center gap-2 text-[#fff8ec]">Open <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></span></div></div><div class="preview-mask relative h-[21rem] overflow-hidden sm:h-[27rem] lg:h-auto"><div class="absolute inset-x-0 top-0 origin-top scale-[0.52] sm:scale-[0.72] lg:scale-[0.66] xl:scale-[0.74]"><div class="pointer-events-none h-[70rem] w-[142%] -translate-x-[15%] rounded-xl border border-[#ffe6cb]/10 bg-black shadow-2xl"><div class="site-canvas atlas-site"><nav class="atlas-nav"><span>Atlas Estate</span><span>Private list · Coastal advisory · Buyer concierge</span></nav><section class="atlas-hero"><div class="atlas-title"><p>By-appointment coastal brokerage</p><h3>Homes that rarely reach the open market.</h3><button>Request the private list</button></div><div class="brand-photo atlas-photo"><img src="/brand-images/atlas-estate.webp" alt="Atlas Estate brand photography" loading="lazy"/><span class="brand-photo-shade"></span></div><aside><strong>$4.8M</strong><span>average private transaction</span><strong>37</strong><span>quiet listings this quarter</span></aside></section><section class="atlas-route"><svg class="scroll-draw " viewBox="0 0 900 320" fill="none" aria-hidden="true"><path d="M40 260 C 180 80, 320 240, 450 120 S 680 80, 850 210" stroke="#c7985c" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" style="stroke-dasharray:1;stroke-dashoffset:1"></path><circle cx="450" cy="120" r="8"></circle><circle cx="710" cy="130" r="8"></circle></svg><div><h4>A guided route through neighborhoods, not a feed of listings.</h4><p>We start with schools, shoreline, privacy, guest-house rules, airport time, and the difference between beautiful photos and a livable week.</p></div></section><section class="atlas-process"><h4>Buyer advisory path.</h4><article><span>01</span><h5>Discovery</h5><p>Budget, lifestyle, schools, privacy, non-negotiables.</p></article><article><span>02</span><h5>Route</h5><p>A private driving route ordered by daily life, not price.</p></article><article><span>03</span><h5>Tour</h5><p>One-day tour plan with notes, comps, and seller context.</p></article><article><span>04</span><h5>Offer</h5><p>Quiet offer strategy, due diligence, and terms.</p></article><article><span>05</span><h5>Close</h5><p>Closing calendar, vendors, insurance, and move-in brief.</p></article></section><section class="atlas-listings atlas-listings-wide"><article><div class="brand-photo "><img src="/brand-images/atlas-interior.webp" alt="Glass House No. 8 property photography" loading="lazy"/></div><p>Private residence</p><h5>Glass House No. 8</h5><span>$6.2M · 4 bed</span><em>Ocean path, library wall, morning light</em></article><article><div class="brand-photo "><img src="/brand-images/atlas-cliff-villa.webp" alt="Cliff Road Villa property photography" loading="lazy"/></div><p>Private residence</p><h5>Cliff Road Villa</h5><span>$8.9M · gated bluff</span><em>Bluff view, privacy drive, airport in 22</em></article><article><div class="brand-photo "><img src="/brand-images/atlas-courtyard.webp" alt="Juniper Courtyard property photography" loading="lazy"/></div><p>Private residence</p><h5>Juniper Courtyard</h5><span>$3.7M · retreat</span><em>Internal courtyard, guest casita option</em></article><article><div class="brand-photo "><img src="/brand-images/atlas-guest-house.webp" alt="Pool House Reserve property photography" loading="lazy"/></div><p>Private residence</p><h5>Pool House Reserve</h5><span>$5.4M · guest house</span><em>Pool pavilion, privacy wall, shoreline walk</em></article><article><div class="brand-photo "><img src="/brand-images/atlas-library.webp" alt="Library Bluff House property photography" loading="lazy"/></div><p>Private residence</p><h5>Library Bluff House</h5><span>$7.1M · office wing</span><em>Walnut library, office suite, quiet approach</em></article></section><section class="atlas-intake"><h4>Tell us what should never hit Zillow.</h4><div><span>Budget range</span><span>Timeline</span><span>School / commute</span><span>Guest-house needs</span><span>Privacy threshold</span><span>Airport access</span></div><button>Begin buyer intake</button></section></div></div></div><div class="pointer-events-none absolute inset-x-4 bottom-4 z-20 rounded-lg border border-[#ffe6cb]/12 bg-[#041c1c]/70 px-4 py-3 text-center text-[0.68rem] font-medium uppercase tracking-[0.2em] text-[#ffe6cb]/68 backdrop-blur-xl sm:inset-x-6 sm:bottom-5">Portfolio project</div></div></article><article data-site-id="verdant" role="button" tabindex="0" class="focus-visible-ring group showroom-card relative grid min-h-[24rem] w-full cursor-pointer overflow-hidden text-left transition duration-500 hover:-translate-y-1 hover:border-[#ffe6cb]/24 hover:bg-[#ffe6cb]/[0.045] sm:min-h-[28rem] lg:grid-cols-[21rem_1fr]" style="animation-delay:160ms"><div class="relative z-10 flex flex-col justify-between border-b border-[#ffe6cb]/10 p-6 lg:border-b-0 lg:border-r"><div><div class="mb-5 inline-flex h-11 w-11 items-center justify-center rounded-lg border border-[#ffe6cb]/12 bg-[#ffe6cb]/[0.035]" style="color:#7ba95b"><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-leaf" aria-hidden="true"><path d="M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z"></path><path d="M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12"></path></svg></div><p class="text-[0.68rem] font-medium uppercase tracking-[0.24em] text-[#ffe6cb]/44">Outdoor living</p><h2 class="mt-3 text-2xl font-semibold tracking-[-0.045em] text-[#fff8ec] sm:text-3xl">Verdant Works</h2></div><div class="mt-7 flex items-center justify-start text-[0.68rem] uppercase tracking-[0.16em] text-[#ffe6cb]/45"><span class="trace-button inline-flex items-center gap-2 text-[#fff8ec]">Open <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></span></div></div><div class="preview-mask relative h-[21rem] overflow-hidden sm:h-[27rem] lg:h-auto"><div class="absolute inset-x-0 top-0 origin-top scale-[0.52] sm:scale-[0.72] lg:scale-[0.66] xl:scale-[0.74]"><div class="pointer-events-none h-[70rem] w-[142%] -translate-x-[15%] rounded-xl border border-[#ffe6cb]/10 bg-black shadow-2xl"><div class="site-canvas verdant-site"><header><div><p>Outdoor rooms for real weather</p><h3>Courtyards, patios, and native gardens that settle beautifully.</h3><button>Schedule a yard walk</button></div><div class="brand-photo "><img src="/brand-images/verdant-works.webp" alt="Verdant Works brand photography" loading="lazy"/><span class="brand-photo-shade"></span></div></header><section class="verdant-plan"><div><h4>Site plan → phases → completion.</h4><p>The plan follows the yard: drainage, stone path, planting pockets, then final care.</p></div><svg class="scroll-draw " viewBox="0 0 620 360" fill="none" aria-hidden="true"><path d="M62 290 C150 120 260 295 365 105 S530 80 578 230" stroke="#486b32" stroke-width="6" stroke-linecap="round" stroke-linejoin="round" style="stroke-dasharray:1;stroke-dashoffset:1"></path><path d="M95 175 C190 210 310 110 500 150" stroke="#9c6d3c" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" style="stroke-dasharray:1;stroke-dashoffset:1"></path><circle cx="62" cy="290" r="7"></circle><circle cx="365" cy="105" r="7"></circle><circle cx="578" cy="230" r="7"></circle></svg></section><section class="verdant-wipe"><article><div class="brand-photo "><img src="/brand-images/verdant-before.webp" alt="Before: patchy slope landscaping photography" loading="lazy"/></div><h5>Before: patchy slope</h5></article><article><div class="brand-photo "><img src="/brand-images/verdant-after.webp" alt="After: stone steps + meadow landscaping photography" loading="lazy"/></div><h5>After: stone steps + meadow</h5></article><article><div class="brand-photo "><img src="/brand-images/verdant-care.webp" alt="Care: monthly cutback landscaping photography" loading="lazy"/></div><h5>Care: monthly cutback</h5></article></section><section class="verdant-packages"><h4>Service tiers that match the yard.</h4><article><span>$1.8k design</span><h5>Foundation plan</h5><p>Shade map, drainage notes, material board.</p></article><article><span>$18k–$55k</span><h5>Courtyard build</h5><p>Stone, beds, irrigation, lighting, install crew.</p></article><article><span>$240/mo</span><h5>Seasonal steward</h5><p>Cutback, soil, pruning, storm reset, plant health.</p></article></section><section class="verdant-services"><h4>What homeowners actually need.</h4><span>Outdoor room design</span><span>Native planting</span><span>Stone + water</span><span>Seasonal care plans</span><span>Lighting</span><span>Storm cleanup</span></section><section class="verdant-timeline"><h4>Seasonal care timeline.</h4><span>Spring soil + pruning</span><span>Summer irrigation watch</span><span>Fall cutback + bulbs</span><span>Winter storm reset</span></section><section class="verdant-estimate"><h4>Get a useful estimate.</h4><p>Send yard size, photos, sun exposure, slope/drainage notes, budget range, and the outdoor room you wish existed.</p><button>Start estimate</button></section></div></div></div><div class="pointer-events-none absolute inset-x-4 bottom-4 z-20 rounded-lg border border-[#ffe6cb]/12 bg-[#041c1c]/70 px-4 py-3 text-center text-[0.68rem] font-medium uppercase tracking-[0.2em] text-[#ffe6cb]/68 backdrop-blur-xl sm:inset-x-6 sm:bottom-5">Portfolio project</div></div></article><article data-site-id="orbit" role="button" tabindex="0" class="focus-visible-ring group showroom-card relative grid min-h-[24rem] w-full cursor-pointer overflow-hidden text-left transition duration-500 hover:-translate-y-1 hover:border-[#ffe6cb]/24 hover:bg-[#ffe6cb]/[0.045] sm:min-h-[28rem] lg:grid-cols-[21rem_1fr]" style="animation-delay:240ms"><div class="relative z-10 flex flex-col justify-between border-b border-[#ffe6cb]/10 p-6 lg:border-b-0 lg:border-r"><div><div class="mb-5 inline-flex h-11 w-11 items-center justify-center rounded-lg border border-[#ffe6cb]/12 bg-[#ffe6cb]/[0.035]" style="color:#73f5ff"><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shopping-bag" aria-hidden="true"><path d="M16 10a4 4 0 0 1-8 0"></path><path d="M3.103 6.034h17.794"></path><path d="M3.4 5.467a2 2 0 0 0-.4 1.2V20a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6.667a2 2 0 0 0-.4-1.2l-2-2.667A2 2 0 0 0 17 2H7a2 2 0 0 0-1.6.8z"></path></svg></div><p class="text-[0.68rem] font-medium uppercase tracking-[0.24em] text-[#ffe6cb]/44">Product drop</p><h2 class="mt-3 text-2xl font-semibold tracking-[-0.045em] text-[#fff8ec] sm:text-3xl">Orbit Supply</h2></div><div class="mt-7 flex items-center justify-start text-[0.68rem] uppercase tracking-[0.16em] text-[#ffe6cb]/45"><span class="trace-button inline-flex items-center gap-2 text-[#fff8ec]">Open <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></span></div></div><div class="preview-mask relative h-[21rem] overflow-hidden sm:h-[27rem] lg:h-auto"><div class="absolute inset-x-0 top-0 origin-top scale-[0.52] sm:scale-[0.72] lg:scale-[0.66] xl:scale-[0.74]"><div class="pointer-events-none h-[70rem] w-[142%] -translate-x-[15%] rounded-xl border border-[#ffe6cb]/10 bg-black shadow-2xl"><div class="site-canvas orbit-site text-white"><nav><span>ORBIT SUPPLY / DROP 04</span><button>Cart — 3 items · $332</button></nav><section class="orbit-hero"><div><p>Adaptive carry system</p><h3>AeroShell Pack</h3><p>Weather shell, carbon frame, removable grid pouch, and strap hardware built for commuters who pack like field operators.</p><button>Reserve the drop</button></div><div class="orbit-object"><div class="brand-photo "><img src="/brand-images/orbit-supply.webp" alt="Orbit Supply brand photography" loading="lazy"/></div><div class="three-shell absolute inset-0" aria-hidden="true"></div></div></section><section class="orbit-detail"><div class="brand-photo "><img src="/brand-images/orbit-packaging.webp" alt="Orbit Supply kit packaging and components" loading="lazy"/></div><div><span>Hero item / OS-AERO-42</span><h4>AeroShell Pack detail.</h4><p>Carbon U-frame, roll-top rain shell, magnetic front grid, 16-inch thermal sleeve, removable compression straps, and repairable buckle hardware.</p><div><button style="--swatch:#24262d">Graphite</button><button style="--swatch:#73f5ff">Ion blue</button><button style="--swatch:#9b7b5a">Field clay</button><button style="--swatch:#7d5cff">Night violet</button></div></div></section><section class="orbit-specs"><h4>Material states change with the day.</h4><article><h5>Rain shell beads water</h5><p>Product details stay clear from every angle.</p></article><article><h5>Carbon frame keeps load shape</h5><p>Product details stay clear from every angle.</p></article><article><h5>Grid pouch snaps off</h5><p>Product details stay clear from every angle.</p></article><article><h5>Thermal sleeve protects battery</h5><p>Product details stay clear from every angle.</p></article></section><section class="orbit-filters"><span>All gear</span><span>Packs</span><span>Modular pouches</span><span>Weather</span><span>Accessories</span></section><section class="orbit-catalog"><article><div class="brand-photo orbit-product-photo"><img src="/brand-images/orbit-product-aeroshell-pack.webp" alt="AeroShell Pack product photography" loading="lazy"/></div><small>OS-AERO-42</small><h5>AeroShell Pack</h5><strong>$248</strong><p>42L · carbon frame</p><em>commute / field</em></article><article><div class="brand-photo orbit-product-photo"><img src="/brand-images/orbit-product-grid-pouch.webp" alt="Grid Pouch product photography" loading="lazy"/></div><small>OS-GRID-08</small><h5>Grid Pouch</h5><strong>$48</strong><p>magnetic grid · 180g</p><em>daily carry</em></article><article><div class="brand-photo orbit-product-photo"><img src="/brand-images/orbit-product-rain-skin.webp" alt="Rain Skin product photography" loading="lazy"/></div><small>OS-RAIN-01</small><h5>Rain Skin</h5><strong>$36</strong><p>ripstop shell · taped seam</p><em>storm cover</em></article><article><div class="brand-photo orbit-product-photo"><img src="/brand-images/orbit-product-rail-clips.webp" alt="Rail Clips product photography" loading="lazy"/></div><small>OS-CLIP-04</small><h5>Rail Clips</h5><strong>$18</strong><p>anodized set of 4</p><em>strap mods</em></article><article><div class="brand-photo orbit-product-photo"><img src="/brand-images/orbit-product-thermal-sleeve.webp" alt="Thermal Sleeve product photography" loading="lazy"/></div><small>OS-SLEEVE-16</small><h5>Thermal Sleeve</h5><strong>$64</strong><p>16in · insulated felt</p><em>laptop</em></article><article><div class="brand-photo orbit-product-photo"><img src="/brand-images/orbit-product-vac-bottle.webp" alt="Vac Bottle product photography" loading="lazy"/></div><small>OS-BOTTLE-24</small><h5>Vac Bottle</h5><strong>$42</strong><p>24oz · matte steel</p><em>hydration</em></article><article><div class="brand-photo orbit-product-photo"><img src="/brand-images/orbit-product-pack-cube.webp" alt="Pack Cube product photography" loading="lazy"/></div><small>OS-CUBE-12</small><h5>Pack Cube</h5><strong>$32</strong><p>12L · mesh wall</p><em>clothes</em></article><article><div class="brand-photo orbit-product-photo"><img src="/brand-images/orbit-product-signal-light.webp" alt="Signal Light product photography" loading="lazy"/></div><small>OS-LIGHT-02</small><h5>Signal Light</h5><strong>$58</strong><p>USB-C · amber/red</p><em>night ride</em></article></section><section class="orbit-cart"><div class="brand-photo "><img src="/brand-images/orbit-packaging.webp" alt="Orbit Supply packaging and components" loading="lazy"/></div><h4>Complete the kit.</h4><div><span>AeroShell Pack — $248</span><span>Grid pouch — $48</span><span>Rain skin — $36</span><strong>Total — $332</strong></div><button>Checkout</button></section></div></div></div><div class="pointer-events-none absolute inset-x-4 bottom-4 z-20 rounded-lg border border-[#ffe6cb]/12 bg-[#041c1c]/70 px-4 py-3 text-center text-[0.68rem] font-medium uppercase tracking-[0.2em] text-[#ffe6cb]/68 backdrop-blur-xl sm:inset-x-6 sm:bottom-5">Portfolio project</div></div></article><article data-site-id="margin" role="button" tabindex="0" class="focus-visible-ring group showroom-card relative grid min-h-[24rem] w-full cursor-pointer overflow-hidden text-left transition duration-500 hover:-translate-y-1 hover:border-[#ffe6cb]/24 hover:bg-[#ffe6cb]/[0.045] sm:min-h-[28rem] lg:grid-cols-[21rem_1fr]" style="animation-delay:320ms"><div class="relative z-10 flex flex-col justify-between border-b border-[#ffe6cb]/10 p-6 lg:border-b-0 lg:border-r"><div><div class="mb-5 inline-flex h-11 w-11 items-center justify-center rounded-lg border border-[#ffe6cb]/12 bg-[#ffe6cb]/[0.035]" style="color:#8c2f39"><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-newspaper" aria-hidden="true"><path d="M15 18h-5"></path><path d="M18 14h-8"></path><path d="M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-4 0v-9a2 2 0 0 1 2-2h2"></path><rect width="8" height="4" x="10" y="6" rx="1"></rect></svg></div><p class="text-[0.68rem] font-medium uppercase tracking-[0.24em] text-[#ffe6cb]/44">Magazine</p><h2 class="mt-3 text-2xl font-semibold tracking-[-0.045em] text-[#fff8ec] sm:text-3xl">The Margin</h2></div><div class="mt-7 flex items-center justify-start text-[0.68rem] uppercase tracking-[0.16em] text-[#ffe6cb]/45"><span class="trace-button inline-flex items-center gap-2 text-[#fff8ec]">Open <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></span></div></div><div class="preview-mask relative h-[21rem] overflow-hidden sm:h-[27rem] lg:h-auto"><div class="absolute inset-x-0 top-0 origin-top scale-[0.52] sm:scale-[0.72] lg:scale-[0.66] xl:scale-[0.74]"><div class="pointer-events-none h-[70rem] w-[142%] -translate-x-[15%] rounded-xl border border-[#ffe6cb]/10 bg-black shadow-2xl"><div class="site-canvas margin-site"><section class="margin-mast"><p>Issue 09 / Work, attention, small teams</p><h3>The Margin</h3><div class="brand-photo margin-cover"><img src="/brand-images/the-margin.webp" alt="The Margin brand photography" loading="lazy"/><span class="brand-photo-shade"></span></div></section><section class="margin-lede"><article><span>Cover essay · 11 min</span><h4>The craft hiding in boring tools.</h4><p>Why useful software often looks quiet before it becomes indispensable.</p></article><article><span>Editor letter</span><h4>Build less theater.</h4><p>Notes on useful interfaces, patient distribution, and the kind of polish that survives a Monday morning.</p></article></section><section class="margin-archive"><aside><h4>Current issue</h4><p>No. 09 · Work, attention, small teams</p><span>No. 08 Taste under constraint</span><span>No. 07 The useful internet</span><span>No. 06 Quiet software</span></aside><div><article><span>Essay</span><h5>The craft hiding in boring tools.</h5><small>11 min</small></article><article><span>Interview</span><h5>Small teams, big taste.</h5><small>18 min</small></article><article><span>Field notes</span><h5>What the spreadsheet remembered.</h5><small>7 min</small></article><article><span>Letters</span><h5>Against launch-day theater.</h5><small>5 min</small></article></div></section><section class="margin-rail"><h4>Read the issue</h4><span>Field notes</span><span>Essays</span><span>Interviews</span><span>Archive</span><span>Letters</span></section><section class="margin-layout"><div><h4>A slower place to read about building.</h4><p>Monthly issue, editor notes, research links, printable margins, and a small archive that rewards returning instead of refreshing.</p><button>Subscribe for the next issue</button></div><div class="brand-photo "><img src="/brand-images/margin-spread.webp" alt="The Margin open issue spread" loading="lazy"/></div></section><section class="margin-editor"><h4>Edited by people who still annotate PDFs.</h4><p>Subscribers get the issue, source notes, and one compact editor memo — no daily drip, no engagement bait.</p></section></div></div></div><div class="pointer-events-none absolute inset-x-4 bottom-4 z-20 rounded-lg border border-[#ffe6cb]/12 bg-[#041c1c]/70 px-4 py-3 text-center text-[0.68rem] font-medium uppercase tracking-[0.2em] text-[#ffe6cb]/68 backdrop-blur-xl sm:inset-x-6 sm:bottom-5">Portfolio project</div></div></article><article data-site-id="ember" role="button" tabindex="0" class="focus-visible-ring group showroom-card relative grid min-h-[24rem] w-full cursor-pointer overflow-hidden text-left transition duration-500 hover:-translate-y-1 hover:border-[#ffe6cb]/24 hover:bg-[#ffe6cb]/[0.045] sm:min-h-[28rem] lg:grid-cols-[21rem_1fr]" style="animation-delay:400ms"><div class="relative z-10 flex flex-col justify-between border-b border-[#ffe6cb]/10 p-6 lg:border-b-0 lg:border-r"><div><div class="mb-5 inline-flex h-11 w-11 items-center justify-center rounded-lg border border-[#ffe6cb]/12 bg-[#ffe6cb]/[0.035]" style="color:#ffb347"><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-utensils" aria-hidden="true"><path d="M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2"></path><path d="M7 2v20"></path><path d="M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7"></path></svg></div><p class="text-[0.68rem] font-medium uppercase tracking-[0.24em] text-[#ffe6cb]/44">Restaurant</p><h2 class="mt-3 text-2xl font-semibold tracking-[-0.045em] text-[#fff8ec] sm:text-3xl">Ember Table</h2></div><div class="mt-7 flex items-center justify-start text-[0.68rem] uppercase tracking-[0.16em] text-[#ffe6cb]/45"><span class="trace-button inline-flex items-center gap-2 text-[#fff8ec]">Open <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></span></div></div><div class="preview-mask relative h-[21rem] overflow-hidden sm:h-[27rem] lg:h-auto"><div class="absolute inset-x-0 top-0 origin-top scale-[0.52] sm:scale-[0.72] lg:scale-[0.66] xl:scale-[0.74]"><div class="pointer-events-none h-[70rem] w-[142%] -translate-x-[15%] rounded-xl border border-[#ffe6cb]/10 bg-black shadow-2xl"><div class="site-canvas ember-site text-white"><section class="ember-hero"><div class="brand-photo "><img src="/brand-images/ember-table.webp" alt="Ember Table brand photography" loading="lazy"/><span class="brand-photo-shade"></span></div><nav><span>Ember Table</span><button>Reserve</button></nav><div><p>Wood fire dining · East side</p><h3>Smoke, citrus, and a table close to the hearth.</h3><button>Reserve tonight</button></div></section><section class="ember-courses"><h4>Tonight&#x27;s tasting sequence</h4><article><span>1</span><h5>Hearth bread + cultured butter</h5><p>Warm pull-apart loaf, black salt.</p></article><article><span>2</span><h5>Charred citrus salad</h5><p>Bitter greens, ember oil, orange.</p></article><article><span>3</span><h5>Coal-roasted chicken</h5><p>Fermented chili, winter herbs.</p></article><article><span>4</span><h5>Saffron panna cotta</h5><p>Olive oil, sea salt, smoke.</p></article></section><section class="ember-menu"><h4>À la carte and supplements.</h4><article><h5>Oysters near the coals</h5><span>$22</span><p>shallot smoke mignonette</p></article><article><h5>Charred prawns</h5><span>$28</span><p>calabrian butter</p></article><article><h5>Ribeye for two</h5><span>$86</span><p>bone marrow jus</p></article><article><h5>Wine pairing</h5><span>$58</span><p>four half-pours</p></article></section><section class="ember-room"><div class="brand-photo "><img src="/brand-images/ember-room.webp" alt="Ember Table dining room and hearth" loading="lazy"/></div><div><h4>The room glows differently after 7pm.</h4><p>Counter seats face the fire. Booths are quieter. Private dining takes over the back room for twelve, with a chef note and paired ember courses.</p></div></section><section class="ember-reserve"><h4>Book dinner or private fire-room events.</h4><div><span>Party size</span><span>Preferred time</span><span>Counter / booth / room</span><span>Occasion</span><span>Dietary notes</span></div><button>Find a table</button></section></div></div></div><div class="pointer-events-none absolute inset-x-4 bottom-4 z-20 rounded-lg border border-[#ffe6cb]/12 bg-[#041c1c]/70 px-4 py-3 text-center text-[0.68rem] font-medium uppercase tracking-[0.2em] text-[#ffe6cb]/68 backdrop-blur-xl sm:inset-x-6 sm:bottom-5">Portfolio project</div></div></article><article data-site-id="luma" role="button" tabindex="0" class="focus-visible-ring group showroom-card relative grid min-h-[24rem] w-full cursor-pointer overflow-hidden text-left transition duration-500 hover:-translate-y-1 hover:border-[#ffe6cb]/24 hover:bg-[#ffe6cb]/[0.045] sm:min-h-[28rem] lg:grid-cols-[21rem_1fr]" style="animation-delay:480ms"><div class="relative z-10 flex flex-col justify-between border-b border-[#ffe6cb]/10 p-6 lg:border-b-0 lg:border-r"><div><div class="mb-5 inline-flex h-11 w-11 items-center justify-center rounded-lg border border-[#ffe6cb]/12 bg-[#ffe6cb]/[0.035]" style="color:#72c7ad"><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-waves-horizontal" aria-hidden="true"><path d="M2 12q2.5 2 5 0t5 0 5 0 5 0"></path><path d="M2 19q2.5 2 5 0t5 0 5 0 5 0"></path><path d="M2 5q2.5 2 5 0t5 0 5 0 5 0"></path></svg></div><p class="text-[0.68rem] font-medium uppercase tracking-[0.24em] text-[#ffe6cb]/44">Wellness spa</p><h2 class="mt-3 text-2xl font-semibold tracking-[-0.045em] text-[#fff8ec] sm:text-3xl">Luma Spa</h2></div><div class="mt-7 flex items-center justify-start text-[0.68rem] uppercase tracking-[0.16em] text-[#ffe6cb]/45"><span class="trace-button inline-flex items-center gap-2 text-[#fff8ec]">Open <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></span></div></div><div class="preview-mask relative h-[21rem] overflow-hidden sm:h-[27rem] lg:h-auto"><div class="absolute inset-x-0 top-0 origin-top scale-[0.52] sm:scale-[0.72] lg:scale-[0.66] xl:scale-[0.74]"><div class="pointer-events-none h-[70rem] w-[142%] -translate-x-[15%] rounded-xl border border-[#ffe6cb]/10 bg-black shadow-2xl"><div class="site-canvas luma-site"><section class="luma-hero"><div><p>Skin · sauna · nervous system</p><h3>Leave quieter than you arrived.</h3><p>Guided treatments, warm rooms, practitioner-led rituals, and booking that feels as calm as the visit.</p><button>Find your treatment</button></div><div class="brand-photo "><img src="/brand-images/luma-spa.webp" alt="Luma Spa brand photography" loading="lazy"/></div></section><section class="luma-breathe"><div class="breath-orb"></div><h4>Start with how you want to feel.</h4><div><span>Reset tension</span><span>Calm skin</span><span>Recover deeply</span><span>Gift a ritual</span></div></section><section class="luma-finder"><h4>Ritual finder.</h4><button>I need skin calm</button><button>I need heat + cold</button><button>I need muscle release</button><button>I am booking for someone else</button></section><section class="luma-treatments"><article><div class="brand-photo "><img src="/brand-images/luma-facial.webp" alt="The Quiet Facial ritual photography" loading="lazy"/></div><h5>The Quiet Facial</h5><span>70 min</span><p>Barrier repair, lymphatic massage, warm compress.</p></article><article><div class="brand-photo "><img src="/brand-images/luma-sauna.webp" alt="Sauna + cold rinse ritual photography" loading="lazy"/></div><h5>Sauna + cold rinse</h5><span>45 min</span><p>Private sauna, rinse circuit, mineral towel service.</p></article><article><div class="brand-photo "><img src="/brand-images/luma-stone.webp" alt="Stone table recovery ritual photography" loading="lazy"/></div><h5>Stone table recovery</h5><span>80 min</span><p>Heated stones, shoulder release, breath pacing.</p></article><article><div class="brand-photo "><img src="/brand-images/luma-membership.webp" alt="Monthly glow membership ritual photography" loading="lazy"/></div><h5>Monthly glow membership</h5><span>$118/mo</span><p>One ritual credit, product shelf discount, priority evenings.</p></article></section><section class="luma-practitioners"><h4>Practitioners with notes, not scripts.</h4><article><h5>Mara V.</h5><p>skin barrier + facial massage</p></article><article><h5>Elian S.</h5><p>sauna circuit + recovery</p></article><article><h5>Nora K.</h5><p>stone therapy + breathwork</p></article></section><section class="luma-book"><h4>Book without rushing.</h4><p>Choose pressure, focus, room preference, practitioner, gift card recipient, and whether you want quiet check-in or conversation.</p><button>Open booking</button></section></div></div></div><div class="pointer-events-none absolute inset-x-4 bottom-4 z-20 rounded-lg border border-[#ffe6cb]/12 bg-[#041c1c]/70 px-4 py-3 text-center text-[0.68rem] font-medium uppercase tracking-[0.2em] text-[#ffe6cb]/68 backdrop-blur-xl sm:inset-x-6 sm:bottom-5">Portfolio project</div></div></article></section></main><!--astro:end--></astro-island> </body></html>