<x-dc> <helmet> <link rel="stylesheet" href="../../_ds/trh-furniture-design-system-7b7af6a9-5a44-4cd9-a7e1-794a5b0d3e6e/tokens/fonts.css"> <link rel="stylesheet" href="../../_ds/trh-furniture-design-system-7b7af6a9-5a44-4cd9-a7e1-794a5b0d3e6e/tokens/colors.css"> <link rel="stylesheet" href="../../_ds/trh-furniture-design-system-7b7af6a9-5a44-4cd9-a7e1-794a5b0d3e6e/tokens/typography.css"> <link rel="stylesheet" href="../../_ds/trh-furniture-design-system-7b7af6a9-5a44-4cd9-a7e1-794a5b0d3e6e/tokens/spacing.css"> <link rel="stylesheet" href="../../_ds/trh-furniture-design-system-7b7af6a9-5a44-4cd9-a7e1-794a5b0d3e6e/styles.css"> <script src="../../_ds/trh-furniture-design-system-7b7af6a9-5a44-4cd9-a7e1-794a5b0d3e6e/_ds_bundle.js"></script> <script src="../../image-slot.js"></script> <style> html{scroll-behavior:smooth} body{margin:0;background:#161311} a{color:#8A6F45;text-decoration:none} a:hover{color:#141210} @keyframes navMenuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}} @keyframes navRowIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}} @keyframes veilIn{from{opacity:0}to{opacity:1}} @keyframes emberFadeIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}} @keyframes drawerIn{from{transform:translateX(24px);opacity:0}to{transform:translateX(0);opacity:1}} [data-screen-label="Mobile menu"]>*{flex-shrink:0} @media (max-width:980px){[data-m~="desk"]{display:none!important}[data-m~="mob"]{display:flex!important}} @media (max-width:760px){ [data-m~="stack"]{grid-template-columns:minmax(0,1fr)!important;row-gap:clamp(24px,7vw,40px)!important} [data-m~="nogap"]{row-gap:0!important} [data-m~="colm"]{flex-direction:column!important;align-items:flex-start!important;gap:6px!important} [data-m~="img-m"]{height:58vh!important;min-height:320px!important} [data-m~="m-imgbox"]{min-height:0!important;padding:8px 0 40px!important;display:block!important} [data-m~="m-img"]{position:relative!important;left:auto!important;top:auto!important;transform:none!important;margin:0 auto!important;width:84%!important;max-width:84%!important;display:block!important} [data-m~="dusk-img"]{width:100%!important;height:56%!important;object-position:30% 50%!important;-webkit-mask-image:linear-gradient(to bottom,#000 70%,transparent)!important;mask-image:linear-gradient(to bottom,#000 70%,transparent)!important} [data-m~="dusk-ov"]{background:linear-gradient(to bottom,rgba(19,17,22,0) 30%,rgba(19,17,22,.7) 56%,rgba(19,17,22,.92) 100%)!important} [data-m~="dusk-sp"]{min-height:44vh!important} [data-m~="stone-img"]{height:320px!important;width:auto!important;max-width:none!important;right:-12%!important;bottom:-60px!important} [data-m~="stone-sp"]{min-height:260px!important} [data-m~="span1"]{grid-column:auto!important} [style*="position: sticky"]{position:relative!important;top:auto!important} } </style> </helmet> <div style="min-height:100vh;background:var(--surface-sheet);font-family:var(--font-sans)"> <a href="#main" style="position:absolute;left:-9999px;top:12px;z-index:300;padding:12px 18px;background:#161311;color:#F4F1EC;font-size:11px;font-weight:500;letter-spacing:.22em" style-focus="left:12px;color:#F4F1EC">SKIP TO CONTENT</a> <div aria-hidden="true" style="position:fixed;inset:0;z-index:200;pointer-events:none;background-image:url(../../assets/texture/grain.png);background-repeat:repeat;background-size:180px 180px;opacity:.12"></div> <svg style="display:none" aria-hidden="true"><symbol id="rohn-icon" viewBox="0 0 144 225"><path fill="currentColor" d="M90.45,144h24.55c16.01,0,29,12.99,29,29v52h-53.55v-81h0Z"></path><rect fill="currentColor" x="62.59" y="-33.11" width="45" height="111.21" transform="translate(62.59 107.59) rotate(-90)"></rect><rect fill="currentColor" x="41.44" y="68.44" width="54.6" height="78.52" transform="translate(-38.96 176.44) rotate(-90)"></rect><path fill="currentColor" d="M29,0h25v196c0,16.01-12.99,29-29,29H0V29C0,12.99,12.99,0,29,0Z"></path><path fill="currentColor" d="M93.57,0h50.43v106c0,16.01-12.99,29-29,29h-21.43c-1.72,0-3.12-1.4-3.12-3.12V3.12c0-1.72,1.4-3.12,3.12-3.12Z"></path></symbol></svg> <header ref="{{ headerRef }}" data-screen-label="Header" style="position:fixed;top:0;left:0;right:0;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:18px clamp(20px,5vw,56px);background:transparent;border-bottom:1px solid transparent;transition:background .18s linear,border-color .18s linear"> <a href="/" aria-label="ROHN Studio home" style="display:flex;align-items:center;gap:13px"> <svg viewBox="0 0 144 225" style="width:15px;height:23px;color:var(--logo-accent,var(--trh-ivory));transition:color .18s linear"><use href="#rohn-icon"></use></svg> <span style="font-family:var(--font-mark);font-size:19px;line-height:1;letter-spacing:.06em;color:var(--trh-ivory)">ROHN</span> <span style="font-weight:500;font-size:10px;line-height:1;letter-spacing:.42em;color:var(--logo-accent,var(--trh-ivory));padding-top:3px;transition:color .18s linear">STUDIO</span> </a> <nav data-m="desk" style="display:flex;align-items:center;gap:32px"> <a href="/about/" style="font-size:11px;font-weight:500;letter-spacing:var(--track-label);color:var(--trh-ivory)" style-hover="color:var(--trh-bronze)">ABOUT</a> <a href="/for-designers/" style="font-size:11px;font-weight:500;letter-spacing:var(--track-label);color:var(--trh-ivory)" style-hover="color:var(--trh-bronze)">FOR DESIGNERS</a> <div ref="{{ menuRef }}" style="position:relative;display:flex;align-items:center"> <a href="/#collections" style="display:flex;align-items:center;gap:7px;font-size:11px;font-weight:500;letter-spacing:var(--track-label);color:var(--trh-ivory)" style-hover="color:var(--trh-bronze)">COLLECTIONS<span style="display:block;width:4px;height:4px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-bottom:2px"></span></a> <sc-if value="{{ menuOpen }}" hint-placeholder-val="{{ false }}"> <div style="position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:20px;z-index:90"> <div style="min-width:272px;background:rgba(22,19,17,.97);border:1px solid rgba(200,168,120,.3);overflow:hidden;animation:navMenuIn .34s cubic-bezier(.22,.68,.24,1) both;box-shadow:0 18px 44px rgba(13,11,10,.45)"> <sc-for list="{{ collections }}" as="col" hint-placeholder-count="6"> <a href="{{ col.href }}" style="display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 22px;color:var(--trh-ivory);background-image:{{ col.rowBg }};background-size:cover;background-position:center;border-bottom:1px solid rgba(13,11,10,.5);text-shadow:0 1px 7px rgba(13,11,10,.9);transition:filter .35s ease;animation:navRowIn .34s cubic-bezier(.22,.68,.24,1) both;animation-delay:{{ col.delay }}" style-hover="background-image:{{ col.rowBgHover }};filter:brightness(1.16) saturate(1.06)"> <span style="font-size:11px;font-weight:500;letter-spacing:var(--track-label);line-height:1">{{ col.name }}</span> <span style="font-size:10px;font-weight:300;letter-spacing:.08em;line-height:1;color:rgba(244,241,236,.74)">{{ col.note }}</span> </a> </sc-for> <a href="/#collections" style="display:block;padding:13px 22px;font-size:10px;font-weight:500;letter-spacing:var(--track-label);color:var(--trh-bronze)" style-hover="color:var(--trh-ivory)">ALL COLLECTIONS</a> </div> </div> </sc-if> </div> <a href="/blog/" style="font-size:11px;font-weight:500;letter-spacing:var(--track-label);color:var(--trh-ivory)" style-hover="color:var(--trh-bronze)">BLOG</a> <button type="button" onClick="{{ openCart }}" aria-label="Open cart" style="display:flex;align-items:center;gap:9px;padding:0;background:transparent;border:0;cursor:pointer;font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:var(--track-label);color:var(--trh-ivory)" style-hover="color:var(--trh-bronze)"> <svg width="16" height="16" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M3.6 5.8h12.8l-1.1 9.7a1.7 1.7 0 0 1-1.7 1.5H6.4a1.7 1.7 0 0 1-1.7-1.5z"></path><path d="M7.3 8.2V5.6a2.7 2.7 0 0 1 5.4 0v2.6"></path></svg> <span>CART</span> <sc-if value="{{ hasCart }}" hint-placeholder-val="{{ false }}"> <span style="min-width:19px;height:19px;padding:0 6px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--trh-bronze);color:#161311;font-size:10px;font-weight:600;letter-spacing:0">{{ cartCount }}</span> </sc-if> </button> <span style="width:1px;height:16px;background:rgba(244,241,236,.25)"></span> <div style="display:flex;align-items:center;gap:16px"> <a href="https://www.facebook.com/ROHN.Studio" target="_blank" rel="noopener" aria-label="Facebook" style="display:flex;color:rgba(244,241,236,.7)" style-hover="color:var(--trh-bronze)"><svg width="17" height="17" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M13.5 2.5h-2.6a3.4 3.4 0 0 0-3.4 3.4v2.6H5v3h2.5v6h3v-6h2.6l.4-3h-3V6.1c0-.6.4-1 1-1h2z"></path></svg></a> <a href="https://www.instagram.com/rohn.studio/" target="_blank" rel="noopener" aria-label="Instagram" style="display:flex;color:rgba(244,241,236,.7)" style-hover="color:var(--trh-bronze)"><svg width="17" height="17" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.3"><rect x="2.8" y="2.8" width="14.4" height="14.4" rx="4"></rect><circle cx="10" cy="10" r="3.4"></circle><circle cx="14.6" cy="5.4" r="0.6" fill="currentColor" stroke="none"></circle></svg></a> <a href="https://www.youtube.com/@ROHN.Studio" target="_blank" rel="noopener" aria-label="YouTube" style="display:flex;color:rgba(244,241,236,.7)" style-hover="color:var(--trh-bronze)"><svg width="18" height="17" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.3"><rect x="1.8" y="4.5" width="16.4" height="11" rx="2.6"></rect><path d="M8.4 7.6l4 2.4-4 2.4z" fill="currentColor" stroke="none"></path></svg></a> </div> </nav> <div data-m="mob" style="display:none;align-items:center;gap:4px;margin-right:-10px"> <button type="button" onClick="{{ openCart }}" aria-label="Open cart" style="display:flex;align-items:center;justify-content:center;gap:6px;min-width:44px;height:44px;padding:0 4px;background:transparent;border:0;cursor:pointer;color:var(--trh-ivory)"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M3.6 5.8h12.8l-1.1 9.7a1.7 1.7 0 0 1-1.7 1.5H6.4a1.7 1.7 0 0 1-1.7-1.5z"></path><path d="M7.3 8.2V5.6a2.7 2.7 0 0 1 5.4 0v2.6"></path></svg><sc-if value="{{ hasCart }}" hint-placeholder-val="{{ false }}"><span style="min-width:18px;height:18px;padding:0 5px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:var(--trh-bronze);color:#161311;font-size:10px;font-weight:600;letter-spacing:0">{{ cartCount }}</span></sc-if></button> <button type="button" onClick="{{ toggleMobileNav }}" aria-label="{{ menuLabel }}" style="width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:0;background:transparent;border:0;cursor:pointer"> <span style="display:block;width:22px;height:1px;background:var(--trh-ivory);transition:transform .25s ease;transform:{{ burgerTop }}"></span> <span style="display:block;width:22px;height:1px;background:var(--trh-ivory);transition:transform .25s ease;transform:{{ burgerBot }}"></span> </button> </div> </header> <sc-if value="{{ mobileNavOpen }}" hint-placeholder-val="{{ false }}"> <div data-screen-label="Mobile menu" style="position:fixed;inset:0;z-index:79;background:#161311;padding:92px clamp(20px,5vw,56px) 40px;display:flex;flex-direction:column;overflow-y:auto"> <div style="padding:0 0 10px;font-size:10px;font-weight:500;letter-spacing:var(--track-label);color:var(--trh-bronze)">COLLECTIONS</div> <div style="border:1px solid rgba(200,168,120,.3);overflow:hidden"> <sc-for list="{{ collections }}" as="col" hint-placeholder-count="6"> <a href="{{ col.href }}" onClick="{{ closeMobileNav }}" style="display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:0 18px;color:var(--trh-ivory);background-image:{{ col.rowBg }};background-size:cover;background-position:center;border-bottom:1px solid rgba(13,11,10,.5);text-shadow:0 1px 7px rgba(13,11,10,.9);transition:filter .35s ease;animation:navRowIn .34s cubic-bezier(.22,.68,.24,1) both;animation-delay:{{ col.delay }}" style-active="background-image:{{ col.rowBgHover }};filter:brightness(1.16) saturate(1.06)"> <span style="font-size:12px;font-weight:500;letter-spacing:var(--track-label);line-height:1">{{ col.name }}</span> <span style="font-size:11px;font-weight:300;letter-spacing:.08em;line-height:1;color:rgba(244,241,236,.74)">{{ col.note }}</span> </a> </sc-for> </div> <a href="/#collections" onClick="{{ closeMobileNav }}" style="display:block;padding:14px 0 28px;font-size:10px;font-weight:500;letter-spacing:var(--track-label);color:var(--trh-bronze)">ALL COLLECTIONS</a> <a href="/about/" onClick="{{ closeMobileNav }}" style="display:block;padding:18px 0;border-bottom:1px solid rgba(200,168,120,.2);font-size:12px;font-weight:500;letter-spacing:var(--track-label);color:var(--trh-ivory);border-top:1px solid rgba(200,168,120,.2)">ABOUT</a> <a href="/for-designers/" onClick="{{ closeMobileNav }}" style="display:block;padding:18px 0;border-bottom:1px solid rgba(200,168,120,.2);font-size:12px;font-weight:500;letter-spacing:var(--track-label);color:var(--trh-ivory)">FOR DESIGNERS</a> <a href="/blog/" onClick="{{ closeMobileNav }}" style="display:block;padding:18px 0;border-bottom:1px solid rgba(200,168,120,.2);font-size:12px;font-weight:500;letter-spacing:var(--track-label);color:var(--trh-ivory)">BLOG</a> <div style="margin-top:28px;display:flex"><div style="display:flex;align-items:center;gap:24px"> <a href="https://www.facebook.com/ROHN.Studio" target="_blank" rel="noopener" aria-label="Facebook" style="display:flex;color:rgba(244,241,236,.7)" style-hover="color:var(--trh-bronze)"><svg width="17" height="17" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M13.5 2.5h-2.6a3.4 3.4 0 0 0-3.4 3.4v2.6H5v3h2.5v6h3v-6h2.6l.4-3h-3V6.1c0-.6.4-1 1-1h2z"></path></svg></a> <a href="https://www.instagram.com/rohn.studio/" target="_blank" rel="noopener" aria-label="Instagram" style="display:flex;color:rgba(244,241,236,.7)" style-hover="color:var(--trh-bronze)"><svg width="17" height="17" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.3"><rect x="2.8" y="2.8" width="14.4" height="14.4" rx="4"></rect><circle cx="10" cy="10" r="3.4"></circle><circle cx="14.6" cy="5.4" r="0.6" fill="currentColor" stroke="none"></circle></svg></a> <a href="https://www.youtube.com/@ROHN.Studio" target="_blank" rel="noopener" aria-label="YouTube" style="display:flex;color:rgba(244,241,236,.7)" style-hover="color:var(--trh-bronze)"><svg width="18" height="17" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.3"><rect x="1.8" y="4.5" width="16.4" height="11" rx="2.6"></rect><path d="M8.4 7.6l4 2.4-4 2.4z" fill="currentColor" stroke="none"></path></svg></a> </div></div> </div> </sc-if> <sc-if value="{{ cartOpen }}" hint-placeholder-val="{{ false }}"> <div data-screen-label="Cart drawer" style="position:fixed;inset:0;z-index:190;display:flex;justify-content:flex-end"> <div onClick="{{ closeCart }}" style="position:absolute;inset:0;background:rgba(13,11,10,.58);animation:veilIn .28s ease both"></div> <aside style="position:relative;display:flex;flex-direction:column;width:min(452px,100%);height:100%;background:var(--surface-sheet);box-shadow:-20px 0 56px rgba(13,11,10,.34);animation:drawerIn .4s cubic-bezier(.22,.68,.24,1) both"> <div style="display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 28px;border-bottom:1px solid var(--border-default)"> <div style="font-size:11px;font-weight:500;letter-spacing:var(--track-wide);color:var(--trh-ink)">YOUR CART</div> <button type="button" onClick="{{ closeCart }}" aria-label="Close cart" style="width:44px;height:44px;margin:-11px -14px -11px 0;display:flex;align-items:center;justify-content:center;background:transparent;border:0;cursor:pointer;color:var(--trh-umber)" style-hover="color:var(--trh-ink)"> <svg width="16" height="16" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M5 5l10 10M15 5L5 15"></path></svg> </button> </div> <sc-if value="{{ cartEmpty }}" hint-placeholder-val="{{ true }}"> <div style="flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:40px 34px;text-align:center"> <div style="font-family:var(--font-display);font-weight:600;font-size:22px;line-height:1.2;color:var(--trh-ink)">Nothing here yet</div> <div style="font-weight:300;font-size:13px;line-height:1.7;color:var(--text-body);max-width:290px">Every piece is cut and finished to order in Brighton. Start with a collection.</div> <a href="/#collections" onClick="{{ closeCart }}" style="margin-top:8px;min-height:46px;display:inline-flex;align-items:center;padding:0 24px;border:1px solid var(--trh-ink);color:var(--trh-ink);font-size:11px;font-weight:500;letter-spacing:var(--track-label)" style-hover="background:var(--trh-ink);color:var(--trh-ivory)">BROWSE COLLECTIONS</a> </div> </sc-if> <sc-if value="{{ hasCart }}" hint-placeholder-val="{{ false }}"> <div style="flex:1;min-height:0;display:flex;flex-direction:column"> <div style="flex:1;min-height:0;overflow-y:auto;padding:4px 28px 18px"> <sc-for list="{{ cartItems }}" as="it" hint-placeholder-count="0"> <div style="display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--border-subtle)"> <a href="{{ it.href }}" onClick="{{ closeCart }}" style="flex:0 0 82px"> <img src="{{ it.img }}" alt="{{ it.name }}" style="width:82px;height:96px;object-fit:cover;display:block;background:var(--surface-inset)"> </a> <div style="flex:1;min-width:0;display:flex;flex-direction:column;gap:5px"> <div style="display:flex;align-items:baseline;justify-content:space-between;gap:12px"> <div style="font-family:var(--font-display);font-weight:600;font-size:16px;line-height:1.25;color:var(--trh-ink)">{{ it.name }}</div> <div style="font-size:13px;color:var(--trh-ink);white-space:nowrap">{{ it.priceLabel }}</div> </div> <div style="font-size:10px;font-weight:500;letter-spacing:var(--track-wide);color:var(--text-label)">{{ it.collection }} · {{ it.variant }}</div> <sc-if value="{{ it.hasOpts }}" hint-placeholder-val="{{ false }}"> <div style="font-weight:300;font-size:12px;line-height:1.5;color:var(--text-body)">{{ it.opts }}</div> </sc-if> <div style="display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px"> <div style="display:flex;align-items:center;border:1px solid var(--border-default)"> <button type="button" aria-label="Decrease quantity" onClick="{{ it.dec }}" style="width:38px;height:40px;border:0;background:transparent;color:var(--trh-ink);font-size:15px;cursor:pointer;font-family:var(--font-sans)">−</button> <span style="min-width:26px;text-align:center;font-size:13px;color:var(--trh-ink)">{{ it.qty }}</span> <button type="button" aria-label="Increase quantity" onClick="{{ it.inc }}" style="width:38px;height:40px;border:0;background:transparent;color:var(--trh-ink);font-size:15px;cursor:pointer;font-family:var(--font-sans)">+</button> </div> <button type="button" onClick="{{ it.remove }}" style="min-height:40px;padding:0;background:transparent;border:0;cursor:pointer;font-family:var(--font-sans);font-size:10px;font-weight:500;letter-spacing:var(--track-label);color:var(--text-label)" style-hover="color:var(--trh-ink)">REMOVE</button> </div> </div> </div> </sc-for> </div> <div style="border-top:1px solid var(--border-default);background:var(--surface-inset);padding:22px 28px 26px;display:flex;flex-direction:column;gap:11px"> <div style="display:flex;align-items:baseline;justify-content:space-between;gap:16px"> <span style="font-size:10px;font-weight:500;letter-spacing:var(--track-wide);color:var(--text-label)">SUBTOTAL</span> <span style="font-size:14px;color:var(--trh-ink)">{{ subtotalLabel }}</span> </div> <div style="display:flex;align-items:baseline;justify-content:space-between;gap:16px"> <span style="font-size:10px;font-weight:500;letter-spacing:var(--track-wide);color:var(--text-label)">{{ shipTierLabel }}</span> <span style="font-size:14px;color:var(--trh-ink)">{{ shipLabel }}</span> </div> <div style="font-weight:300;font-size:11px;line-height:1.65;color:var(--text-label)">Shipping is free nationwide; remote locations are quoted and invoiced before shipping.</div> <a href="/checkout/" onClick="{{ closeCart }}" style="margin-top:4px;min-height:50px;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--trh-char);color:var(--trh-ivory);font-size:11px;font-weight:500;letter-spacing:var(--track-label)" style-hover="background:var(--trh-bronze-deep);color:var(--trh-ivory)">CHECKOUT · {{ totalLabel }}</a> </div> </div> </sc-if> </aside> </div> </sc-if> <main id="main"> <sc-if value="{{ isProduct }}" hint-placeholder-val="{{ false }}"> <div style="background:var(--surface-sheet);padding-top:72px"> <div data-screen-label="Product detail" style="max-width:1360px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(28px,4vw,64px);padding:clamp(20px,3vw,40px) clamp(20px,4vw,56px) 0;align-items:start"> <div data-screen-label="Product gallery" style="display:flex;flex-direction:column;gap:12px"> <sc-if value="{{ p.focusedEmpty }}" hint-placeholder-val="{{ false }}"> <image-slot id="{{ p.focusedMainId }}" placeholder="{{ p.focusedMainHint }}" style="display:block;width:100%;height:clamp(420px,72vh,760px)"></image-slot> <div style="display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px"> <sc-for list="{{ p.focusedSlots }}" as="fs" hint-placeholder-count="3"> <image-slot id="{{ fs.id }}" placeholder="{{ fs.placeholder }}" style="display:block;width:100%;height:clamp(110px,14vh,150px)"></image-slot> </sc-for> </div> </sc-if> <sc-if value="{{ p.hasMain }}" hint-placeholder-val="{{ true }}"> <button type="button" onClick="{{ p.main.open }}" aria-label="Enlarge photo" style="display:block;width:100%;padding:0;border:0;background:var(--surface-inset);cursor:zoom-in"> <img src="{{ p.main.src }}" alt="{{ p.main.alt }}" style="width:100%;height:clamp(420px,72vh,760px);object-fit:cover;display:block"> </button> </sc-if> <div style="display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px"> <sc-for list="{{ p.thumbs }}" as="t" hint-placeholder-count="3"> <button type="button" onClick="{{ t.open }}" aria-label="Enlarge photo" style="display:block;width:100%;padding:0;border:0;background:var(--surface-inset);cursor:zoom-in;overflow:hidden" style-hover="opacity:.86"> <img src="{{ t.src }}" alt="{{ t.alt }}" loading="lazy" style="width:100%;height:clamp(110px,14vh,150px);object-fit:cover;display:block"> </button> </sc-for> <sc-for list="{{ p.slotThumbs }}" as="st" hint-placeholder-count="0"> <image-slot id="{{ st.id }}" placeholder="{{ st.placeholder }}" style="display:block;width:100%;height:clamp(110px,14vh,150px)"></image-slot> </sc-for> </div> </div> <div data-screen-label="Product info" style="display:flex;flex-direction:column;gap:18px;padding-bottom:8px"> <a href="{{ p.collectionHref }}" style="display:inline-flex;align-items:center;gap:10px;font-size:10px;font-weight:500;letter-spacing:var(--track-wide);color:var(--trh-bronze-deep)" style-hover="color:var(--trh-ink)">{{ p.collectionLabel }}</a> <h1 style="margin:0;font-family:var(--font-display);font-weight:600;font-size:clamp(32px,3.4vw,46px);line-height:1.12;color:var(--trh-ink);text-wrap:pretty">{{ p.name }}</h1> <div style="display:flex;align-items:baseline;gap:14px"> <span style="font-family:var(--font-display);font-size:26px;color:var(--trh-ink)">{{ p.price }}</span> <span style="font-weight:300;font-size:12px;letter-spacing:.06em;color:var(--text-label)">{{ p.priceNote }}</span> </div> <sc-if value="{{ p.hasNotice }}" hint-placeholder-val="{{ false }}"> <div style="font-size:11px;font-weight:500;letter-spacing:var(--track-label);color:var(--trh-ink)">{{ p.notice }}</div> </sc-if> <div style="height:1px;background:var(--border-default);margin:2px 0"></div> <div style="display:flex;flex-direction:column;gap:20px"> <sc-for list="{{ p.options }}" as="opt" hint-placeholder-count="1"> <div style="display:flex;flex-direction:column;gap:10px"> <div style="font-size:10px;font-weight:500;letter-spacing:var(--track-wide);color:var(--text-label)">{{ opt.label }}</div> <div style="display:flex;gap:10px;flex-wrap:wrap"> <sc-for list="{{ opt.choices }}" as="ch" hint-placeholder-count="3"> <sc-if value="{{ ch.selected }}" hint-placeholder-val="{{ false }}"> <button type="button" onClick="{{ ch.select }}" style="min-height:44px;padding:0 18px;border:1px solid var(--trh-ink);background:var(--trh-ink);color:var(--trh-ivory);font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:var(--track-label);cursor:pointer">{{ ch.name }}</button> </sc-if> <sc-if value="{{ ch.unselected }}" hint-placeholder-val="{{ true }}"> <button type="button" onClick="{{ ch.select }}" style="min-height:44px;padding:0 18px;border:1px solid var(--border-default);background:transparent;color:var(--trh-umber);font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:var(--track-label);cursor:pointer" style-hover="border-color:var(--trh-ink);color:var(--trh-ink)">{{ ch.name }}</button> </sc-if> </sc-for> </div> <sc-if value="{{ opt.hasHint }}" hint-placeholder-val="{{ false }}"> <div style="font-weight:300;font-size:12px;line-height:1.65;color:var(--text-body);max-width:440px">{{ opt.hint }}</div> </sc-if> </div> </sc-for> </div> <div style="display:flex;gap:12px;align-items:stretch;margin-top:6px;flex-wrap:wrap"> <div style="display:flex;align-items:center;border:1px solid var(--border-default)"> <button type="button" aria-label="Decrease quantity" onClick="{{ dec }}" style="width:46px;height:48px;border:0;background:transparent;color:var(--trh-ink);font-size:16px;cursor:pointer;font-family:var(--font-sans)">−</button> <span style="min-width:34px;text-align:center;font-size:14px;color:var(--trh-ink)">{{ qty }}</span> <button type="button" aria-label="Increase quantity" onClick="{{ inc }}" style="width:46px;height:48px;border:0;background:transparent;color:var(--trh-ink);font-size:16px;cursor:pointer;font-family:var(--font-sans)">+</button> </div> <button type="button" onClick="{{ addToCart }}" style="flex:1;min-width:220px;min-height:48px;border:0;background:var(--trh-char);color:var(--trh-ivory);font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:var(--track-label);cursor:pointer" style-hover="background:var(--trh-bronze-deep)">ADD TO CART · {{ p.price }}</button> </div> <button type="button" onClick="{{ emailShop }}" style="min-height:48px;border:1px solid var(--trh-ink);background:transparent;color:var(--trh-ink);font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:var(--track-label);cursor:pointer" style-hover="background:var(--trh-ink);color:var(--trh-ivory)">REQUEST A CUSTOM PIECE</button> <div style="display:flex;align-items:center;gap:9px;color:var(--text-label)"> <svg width="14" height="14" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.3"><rect x="3.5" y="8.5" width="13" height="8.5"></rect><path d="M6.8 8.5V6a3.2 3.2 0 0 1 6.4 0v2.5"></path></svg> <span style="font-weight:300;font-size:12px;letter-spacing:.04em">Secure checkout by Stripe · Apple Pay and Google Pay accepted</span> </div> <div style="display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)"> <sc-for list="{{ p.badges }}" as="b" hint-placeholder-count="3"> <div style="display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;color:var(--trh-ink)"> <sc-if value="{{ b.truck }}" hint-placeholder-val="{{ false }}"> <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2"><path d="M2.5 6.5h11v9h-11z"></path><path d="M13.5 9.5h4l3 3v3h-7z"></path><circle cx="6.5" cy="17.5" r="1.6"></circle><circle cx="17" cy="17.5" r="1.6"></circle></svg> </sc-if> <sc-if value="{{ b.check }}" hint-placeholder-val="{{ false }}"> <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2"><circle cx="12" cy="12" r="8.5"></circle><path d="M8.2 12.2l2.6 2.6 5-5.4"></path></svg> </sc-if> <sc-if value="{{ b.clock }}" hint-placeholder-val="{{ false }}"> <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2"><rect x="3.5" y="5" width="17" height="15"></rect><path d="M3.5 9.5h17M8 3v4M16 3v4"></path></svg> </sc-if> <span style="font-size:10px;font-weight:500;letter-spacing:var(--track-label);line-height:1.4;color:var(--trh-ink)">{{ b.label }}</span> </div> </sc-for> </div> <div style="font-weight:300;font-size:15px;line-height:1.85;color:var(--text-body);margin-top:14px;text-wrap:pretty">{{ p.description }}</div> <sc-if value="{{ p.hasWhat }}" hint-placeholder-val="{{ true }}"> <div style="font-family:var(--font-display);font-style:italic;font-size:17px;line-height:1.5;color:var(--trh-ink)">{{ p.what }}</div> </sc-if> <div style="font-weight:300;font-size:13px;line-height:1.6;color:var(--trh-ink)">A finish sample will be sent to you with your selection.</div> <div style="font-weight:300;font-size:12px;line-height:1.7;color:var(--text-label)">Details, wood characteristics, care, measurements, and shipping are below. For full terms, <a href="#/policies" style="color:var(--trh-ink);text-decoration:underline;text-underline-offset:3px">read our policies</a>.</div> <div style="margin-top:18px;border-top:1px solid var(--border-default)"> <sc-for list="{{ p.sections }}" as="sec" hint-placeholder-count="4"> <div style="border-bottom:1px solid var(--border-default)"> <button type="button" onClick="{{ sec.toggle }}" style="width:100%;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 2px;background:transparent;border:0;cursor:pointer;text-align:left;font-family:var(--font-sans)"> <span style="font-size:16px;font-weight:500;letter-spacing:.02em;color:var(--trh-ink)">{{ sec.title }}</span> <sc-if value="{{ sec.isOpen }}" hint-placeholder-val="{{ false }}"> <svg width="18" height="18" viewBox="0 0 20 20" fill="none" stroke="var(--trh-ink)" stroke-width="1.2"><path d="M4.5 12.5 10 7l5.5 5.5"></path></svg> </sc-if> <sc-if value="{{ sec.isClosed }}" hint-placeholder-val="{{ true }}"> <svg width="18" height="18" viewBox="0 0 20 20" fill="none" stroke="var(--trh-ink)" stroke-width="1.2"><path d="M4.5 7.5 10 13l5.5-5.5"></path></svg> </sc-if> </button> <sc-if value="{{ sec.isOpen }}" hint-placeholder-val="{{ false }}"> <div style="padding:0 2px 26px;display:flex;flex-direction:column;gap:14px"> <sc-if value="{{ sec.hasText }}" hint-placeholder-val="{{ true }}"> <div style="font-weight:300;font-size:14px;line-height:1.8;color:var(--text-body);text-wrap:pretty">{{ sec.text }}</div> </sc-if> <sc-for list="{{ sec.paras }}" as="pa" hint-placeholder-count="0"> <div style="display:flex;flex-direction:column;gap:5px"> <span style="font-size:10px;font-weight:500;letter-spacing:var(--track-wide);color:var(--text-label)">{{ pa.label }}</span> <span style="font-weight:300;font-size:14px;line-height:1.75;color:var(--text-body);text-wrap:pretty">{{ pa.text }}</span> </div> </sc-for> <sc-for list="{{ sec.rows }}" as="row" hint-placeholder-count="0"> <div style="display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid var(--border-subtle)"> <span style="font-size:10px;font-weight:500;letter-spacing:var(--track-wide);color:var(--text-label)">{{ row.label }}</span> <span style="font-weight:300;font-size:13px;color:var(--trh-ink);text-align:right">{{ row.value }}</span> </div> </sc-for> <sc-if value="{{ sec.hasSketch }}" hint-placeholder-val="{{ false }}"> <image-slot id="{{ sec.sketchId }}" placeholder="Dimension sketch: all angles" style="display:block;width:100%;height:280px;margin-top:6px"></image-slot> </sc-if> </div> </sc-if> </div> </sc-for> </div> <button type="button" onClick="{{ share }}" style="display:flex;align-items:center;gap:12px;min-height:48px;padding:0;background:transparent;border:0;cursor:pointer;font-family:var(--font-sans);color:var(--trh-ink)" style-hover="color:var(--trh-bronze-deep)"> <svg width="17" height="17" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.2"><path d="M10 13V3.5"></path><path d="M6.5 6.8 10 3.3l3.5 3.5"></path><path d="M4 11.5v4A1.5 1.5 0 0 0 5.5 17h9a1.5 1.5 0 0 0 1.5-1.5v-4"></path></svg> <span style="font-size:14px;font-weight:300">{{ shareLabel }}</span> </button> </div> </div> <section data-screen-label="Product also" style="padding:clamp(72px,10vh,120px) clamp(20px,4vw,56px) clamp(64px,8vh,96px)"> <div style="max-width:1280px;margin:0 auto"> <div style="display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:36px"> <x-import component-from-global-scope="TRHFurnitureDesignSystem_7b7af6.Eyebrow" rules="{{ false }}" hint-size="auto,20px">MORE FROM THIS COLLECTION</x-import> <a href="{{ p.collectionHref }}" style="font-size:11px;font-weight:500;letter-spacing:var(--track-label);color:var(--trh-bronze-deep)" style-hover="color:var(--trh-ink)">VIEW COLLECTION</a> </div> <div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:28px"> <sc-for list="{{ p.siblings }}" as="sib" hint-placeholder-count="2"> <a href="{{ sib.href }}" style="display:flex;flex-direction:column;border:1px solid var(--border-default);color:var(--trh-ink)" style-hover="border-color:var(--trh-bronze);color:var(--trh-ink)"> <img src="{{ sib.img }}" alt="{{ sib.name }}" loading="lazy" style="width:100%;height:300px;object-fit:cover;display:block;background:var(--surface-inset)"> <div style="border-top:1px solid var(--border-default);background:var(--surface-inset);padding:18px 20px;display:flex;flex-direction:column;gap:7px"> <div style="font-family:var(--font-display);font-weight:600;font-size:18px;line-height:1.25">{{ sib.name }}</div> <div style="display:flex;align-items:baseline;justify-content:space-between;gap:16px"> <span style="font-weight:300;font-size:12px;color:var(--text-body)">{{ sib.dims }}</span> <span style="font-size:11px;font-weight:500;letter-spacing:var(--track-label);color:var(--trh-bronze-deep)">{{ sib.price }}</span> </div> </div> </a> </sc-for> </div> </div> </section> </div> </sc-if> <sc-if value="{{ showCustomCta }}" hint-placeholder-val="{{ true }}"> <section id="custom" data-screen-label="Custom order CTA" style="background:var(--surface-dark);padding:clamp(64px,14vw,110px) clamp(20px,5vw,56px);display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center"> <div data-reveal=""> <svg viewBox="0 0 144 225" style="width:26px;height:41px;color:var(--trh-bronze)"><use href="#rohn-icon"></use></svg> </div> <div data-reveal="80" style="font-family:var(--font-display);font-weight:600;font-size:clamp(34px,3.4vw,48px);line-height:1.2;color:var(--trh-ivory);max-width:640px;text-wrap:pretty">Have a piece in mind?</div> <div data-reveal="160" style="font-weight:300;font-size:15px;line-height:1.7;color:var(--trh-smoke);max-width:540px">Tell us what you are imagining, and we will build it to last generations.</div> <div data-reveal="240" style="display:flex;flex-wrap:wrap;justify-content:center;gap:12px 16px;margin-top:12px"> <x-import component-from-global-scope="TRHFurnitureDesignSystem_7b7af6.Button" variant="bronze" on-click="{{ emailShop }}" hint-size="auto,46px">Request a quote</x-import> <x-import component-from-global-scope="TRHFurnitureDesignSystem_7b7af6.Button" variant="outline-dark" on-click="{{ callShop }}" hint-size="auto,46px">(810) 887 9950</x-import> </div> </section> </sc-if> <sc-if value="{{ lbOpen }}" hint-placeholder-val="{{ false }}"> <div data-screen-label="Lightbox" role="dialog" aria-modal="true" style="position:fixed;inset:0;z-index:200;background:rgba(13,11,10,.94);display:flex;align-items:center;justify-content:center;animation:veilIn .24s ease both"> <div onClick="{{ lbClose }}" style="position:absolute;inset:0;cursor:zoom-out"></div> <div style="position:absolute;top:26px;left:32px;display:flex;flex-direction:column;gap:8px;pointer-events:none"> <div style="font-size:10px;font-weight:500;letter-spacing:var(--track-wide);color:var(--trh-bronze)">{{ lb.collection }}</div> <div style="font-family:var(--font-display);font-weight:600;font-size:24px;line-height:1.15;color:var(--trh-ivory)">{{ lb.piece }}</div> </div> <img src="{{ lb.src }}" alt="{{ lb.alt }}" style="position:relative;max-width:min(88vw,1600px);max-height:76vh;object-fit:contain;display:block;box-shadow:0 24px 64px rgba(0,0,0,.5)"> <button type="button" onClick="{{ lbClose }}" aria-label="Close" style="position:absolute;top:20px;right:24px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--trh-ivory);cursor:pointer" style-hover="color:var(--trh-bronze)"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M4 4l12 12M16 4L4 16"></path></svg></button> <sc-if value="{{ lb.multi }}" hint-placeholder-val="{{ true }}"> <button type="button" onClick="{{ lbPrev }}" aria-label="Previous photo" style="position:absolute;left:16px;top:50%;transform:translateY(-50%);width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--trh-ivory);cursor:pointer" style-hover="color:var(--trh-bronze)"><svg width="22" height="22" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M12.5 4l-6 6 6 6"></path></svg></button> <button type="button" onClick="{{ lbNext }}" aria-label="Next photo" style="position:absolute;right:16px;top:50%;transform:translateY(-50%);width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--trh-ivory);cursor:pointer" style-hover="color:var(--trh-bronze)"><svg width="22" height="22" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M7.5 4l6 6-6 6"></path></svg></button> <div style="position:absolute;bottom:24px;left:0;right:0;text-align:center;font-size:11px;font-weight:500;letter-spacing:var(--track-label);color:rgba(244,241,236,.78)">{{ lb.count }}</div> </sc-if> </div> </sc-if> </main> <footer data-screen-label="Footer" style="background:var(--surface-dark);border-top:1px solid rgba(200,168,120,.25);padding:44px clamp(20px,5vw,56px) 48px"> <div style="display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap"> <div style="display:flex;align-items:center;gap:12px"> <svg viewBox="0 0 144 225" style="width:13px;height:20px;color:var(--trh-bronze)"><use href="#rohn-icon"></use></svg> <span style="font-family:var(--font-mark);font-size:16px;line-height:1;letter-spacing:.06em;color:var(--trh-ivory)">ROHN</span> <span style="font-weight:400;font-size:11px;letter-spacing:.3em;color:var(--trh-smoke)">STUDIO</span> </div> <nav style="display:flex;align-items:center;gap:14px 26px;flex-wrap:wrap"> <a href="/about/" style="font-size:10px;font-weight:500;letter-spacing:var(--track-label);color:var(--trh-smoke)" style-hover="color:var(--trh-bronze)">ABOUT</a> <a href="/for-designers/" style="font-size:10px;font-weight:500;letter-spacing:var(--track-label);color:var(--trh-smoke)" style-hover="color:var(--trh-bronze)">FOR DESIGNERS</a> <a href="/#collections" style="font-size:10px;font-weight:500;letter-spacing:var(--track-label);color:var(--trh-smoke)" style-hover="color:var(--trh-bronze)">SHOP</a> <a href="/#collections" style="font-size:10px;font-weight:500;letter-spacing:var(--track-label);color:var(--trh-smoke)" style-hover="color:var(--trh-bronze)">COLLECTIONS</a> <a href="/blog/" style="font-size:10px;font-weight:500;letter-spacing:var(--track-label);color:var(--trh-smoke)" style-hover="color:var(--trh-bronze)">BLOG</a> <a href="/contact/" style="font-size:10px;font-weight:500;letter-spacing:var(--track-label);color:var(--trh-smoke)" style-hover="color:var(--trh-bronze)">CONTACT</a> </nav> <div style="display:flex;align-items:center;gap:18px"> <a href="https://www.facebook.com/ROHN.Studio" target="_blank" rel="noopener" aria-label="Facebook" style="display:flex;color:var(--trh-bronze)" style-hover="color:var(--trh-ivory)"><svg width="17" height="17" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M13.5 2.5h-2.6a3.4 3.4 0 0 0-3.4 3.4v2.6H5v3h2.5v6h3v-6h2.6l.4-3h-3V6.1c0-.6.4-1 1-1h2z"></path></svg></a> <a href="https://www.instagram.com/rohn.studio/" target="_blank" rel="noopener" aria-label="Instagram" style="display:flex;color:var(--trh-bronze)" style-hover="color:var(--trh-ivory)"><svg width="17" height="17" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.3"><rect x="2.8" y="2.8" width="14.4" height="14.4" rx="4"></rect><circle cx="10" cy="10" r="3.4"></circle><circle cx="14.6" cy="5.4" r="0.6" fill="currentColor" stroke="none"></circle></svg></a> <a href="https://www.youtube.com/@ROHN.Studio" target="_blank" rel="noopener" aria-label="YouTube" style="display:flex;color:var(--trh-bronze)" style-hover="color:var(--trh-ivory)"><svg width="18" height="17" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.3"><rect x="1.8" y="4.5" width="16.4" height="11" rx="2.6"></rect><path d="M8.4 7.6l4 2.4-4 2.4z" fill="currentColor" stroke="none"></path></svg></a> </div> </div> <div style="margin-top:30px;display:flex;align-items:center;justify-content:space-between;gap:14px 28px;flex-wrap:wrap;font-size:11px;font-weight:300;letter-spacing:.08em;color:var(--trh-smoke)"> <div>© 2026 ROHN Studio · Based in Brighton, Michigan · <span style="font-family: var(--font-display); font-style: italic;">Where rustic meets modern design</span></div> <div style="display:flex;align-items:center;gap:8px;flex-wrap:wrap"> <span>Site design by</span> <a href="https://leveretdrive.com" target="_blank" rel="noopener" style="display:flex;align-items:center;gap:7px;color:var(--trh-smoke)" style-hover="color:var(--trh-bronze)"><img src="../../assets/img/LD-Icon-white-web.webp" alt="" width="16" height="16" style="display:block;width:16px;height:16px">Leveret Drive</a> </div> </div> </footer> </div> </x-dc>