.upholstery-intro{max-width:830px;padding:65px 0 20px}.upholstery-intro h1{font-size:clamp(40px,5vw,66px);line-height:1.07}.upholstery-intro>p:not(.eyebrow){max-width:660px;color:var(--muted)}.upholstery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.upholstery-card{min-width:0;border:1px solid var(--line);background:#fff;transition:transform .35s,box-shadow .35s}.upholstery-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #26382f12}.upholstery-image{display:block;width:100%;aspect-ratio:4/3;overflow:hidden;padding:0;border:0;background:var(--paper);cursor:zoom-in}.upholstery-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .55s}.upholstery-image:hover img{transform:scale(1.025)}.upholstery-card-copy{padding:21px}.upholstery-card-copy small{color:var(--green);font-size:11px;text-transform:uppercase;letter-spacing:.09em}.upholstery-card-copy h3{font:24px/1.2 Georgia,serif;margin:10px 0}.upholstery-card-copy p{color:var(--muted);font-size:13px;margin-bottom:0}.upholstery-credit{font-size:12px;color:var(--muted);margin:25px 0}.upholstery-credit a{text-decoration:underline;text-underline-offset:3px}.upholstery-bottom{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:26px}.upholstery-bottom p{font-size:13px;color:var(--muted);max-width:600px;margin:0}.upholstery-viewer{width:min(1120px,calc(100% - 24px));padding:20px}.upholstery-viewer .dialog-top{align-items:center;margin-bottom:15px}.upholstery-viewer h2{font-size:25px;margin:0}.upholstery-viewer>img{display:block;width:100%;height:min(62dvh,700px);object-fit:contain;background:var(--paper)}.upholstery-viewer-nav{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:15px}.upholstery-viewer-nav button{background:white;border:1px solid var(--line);padding:8px 18px;color:var(--ink)}.upholstery-viewer .upholstery-bottom{margin-top:18px}.upholstery-photo-credit{font-size:12px;color:var(--muted);margin:12px 0 0}.upholstery-photo-credit a{text-decoration:underline}.upholstery-credit-band{padding:20px 24px;background:var(--paper);border-left:3px solid #b79b72}.upholstery-credit-band p{margin:0;font-size:12px;color:var(--muted)}@media(max-width:950px){.upholstery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.upholstery-intro{padding-top:35px}.upholstery-grid{grid-template-columns:1fr;gap:22px}.upholstery-card-copy h3{font-size:24px}.upholstery-bottom{align-items:start;flex-direction:column}.upholstery-viewer>img{height:50dvh}.upholstery-viewer h2{font-size:22px}.upholstery-viewer .upholstery-bottom{gap:12px}.upholstery-credit-band{padding:16px}}@media(prefers-reduced-motion:reduce){.upholstery-card,.upholstery-image img{transition:none}.upholstery-card:hover,.upholstery-image:hover img{transform:none}}

.upholstery-views{margin-top:12px}.upholstery-view-switch{display:flex;align-items:center;justify-content:center;gap:12px}.upholstery-view-switch p{font-size:12px;color:var(--muted);text-align:center;margin:0;min-width:0}.upholstery-view-switch button{flex:0 0 40px;height:40px;border:1px solid var(--line);background:white;color:var(--ink)}#upholstery-photo-views{display:flex;gap:9px;overflow-x:auto;max-width:100%;padding:5px 2px;margin-top:10px}#upholstery-photo-views button{flex:0 0 86px;height:64px;border:2px solid transparent;border-radius:4px;padding:3px;background:var(--paper)}#upholstery-photo-views button[aria-pressed=true]{border-color:var(--green)}#upholstery-photo-views img{display:block;width:100%;height:100%;object-fit:contain}#upholstery-photo-views button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.upholstery-viewer:has(#upholstery-photo-views:not([hidden]))>img{height:min(49dvh,560px)}.upholstery-viewer-nav{font-size:12px}.upholstery-viewer-nav button{min-width:44px;min-height:40px}@media(max-width:680px){.upholstery-viewer{padding:16px}.upholstery-viewer .dialog-top{gap:12px}.upholstery-viewer .close{flex-shrink:0}.upholstery-viewer:has(#upholstery-photo-views:not([hidden]))>img{height:38dvh}.upholstery-viewer-nav{margin-top:12px}.upholstery-viewer .upholstery-bottom{margin-top:12px}}

html:has(#upholstery-viewer[open]){overflow:hidden}.upholstery-viewer .dialog-top{position:sticky;top:-20px;z-index:3;background:#fff;padding:10px 0}.upholstery-viewer .dialog-top .close{min-width:44px;min-height:44px}@media(max-width:680px){.upholstery-viewer .dialog-top{top:-16px}}
