:root {
  color-scheme: dark;
  --bg: #131615;
  --panel: #202421;
  --panel-soft: #191d1b;
  --ink: #f1f0e9;
  --muted: #b5b8ae;
  --accent: #d5a269;
  --accent-bright: #ecc492;
  --line: #3a4039;
  --measure: 68ch;
}

* { box-sizing: border-box; }
html { max-width: 100%; overflow-x: hidden; overflow-x: clip; scroll-behavior: smooth; scroll-padding-top: 2rem; }
body { width: 100%; max-width: 100%; margin: 0; overflow-x: hidden; overflow-x: clip; background: var(--bg); color: var(--ink); font: 17px/1.62 Arial, sans-serif; }
body.modal-open { overflow: hidden; }
a { color: inherit; text-underline-offset: .28em; }
button, a { touch-action: manipulation; }
button { min-height: 44px; font: inherit; cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .64; }
img { display: block; width: 100%; height: auto; object-fit: cover; }
figure { margin: 0; }
p { margin: 0 0 1em; }

.skip-link { position: fixed; z-index: 100; left: 1rem; top: 1rem; transform: translateY(-180%); padding: .75rem 1rem; background: var(--ink); color: var(--bg); }
.skip-link:focus { transform: none; }
.site-header, main, footer { width: min(100%, 1440px); min-width: 0; margin-inline: auto; }
.site-header > *, main > *, section > *, footer > * { min-width: 0; }
.site-header { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.4rem 5%; border-bottom: 1px solid var(--line); }
.brand { color: var(--ink); font-size: 1.65rem; font-weight: 900; letter-spacing: .09em; line-height: 1; text-decoration: none; }
.brand span { color: var(--accent); }
.brandmark { display: flex; align-items: center; gap: .8rem; }
.brandmark > img { width: 58px; height: 58px; flex: none; object-fit: contain; }
.wordmark small { display: block; margin-top: .55rem; color: var(--muted); font-size: .68rem; font-weight: 400; letter-spacing: .14em; }
nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .25rem 1.5rem; }
nav a { min-height: 44px; display: inline-flex; align-items: center; font-size: .9rem; text-decoration: none; }
nav a:hover { color: var(--accent-bright); }
.nav-shop { color: var(--accent-bright); font-weight: 700; }
.nav-shop span { margin-left: .3rem; }

section { padding: clamp(3.8rem, 8vw, 7.5rem) 5%; }
.eyebrow, .status, .tag { color: var(--accent); font-size: .74rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
h1, h2, h3, h4 { margin: .35em 0 .55em; font-family: Georgia, serif; font-weight: 400; line-height: 1.08; }
h1 { max-width: 9ch; font-size: clamp(3.25rem, 7vw, 6.4rem); letter-spacing: -.055em; }
h1 em { color: var(--accent); font-weight: 400; }
h2 { font-size: clamp(2.35rem, 4.6vw, 4.4rem); letter-spacing: -.035em; }
h3 { font-size: clamp(1.65rem, 2.7vw, 2.35rem); }
h4 { font-size: 1.45rem; }
.hero { display: grid; grid-template: "heading media" auto "actions media" 1fr / minmax(0, 1fr) minmax(320px, .9fr); align-items: center; gap: 1.5rem 6%; padding-top: clamp(3rem, 6vw, 5rem); }
.hero-heading { grid-area: heading; align-self: end; }
.hero-media { grid-area: media; min-width: 0; }
.hero-media img { aspect-ratio: 4 / 5; padding: clamp(.45rem, 1.4vw, 1rem); background: #0f1211; object-fit: contain; object-position: center; }
.hero-media figcaption, figcaption { margin-top: .7rem; color: var(--muted); font-size: .82rem; }
.hero-actions { grid-area: actions; align-self: start; max-width: 41rem; color: var(--muted); font-size: 1.08rem; }
.button-row { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem 1.2rem; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: .75rem 1.1rem; border: 1px solid var(--accent); background: var(--accent); color: #141714; font-weight: 700; text-decoration: none; }
.button:hover:not(:disabled) { background: var(--accent-bright); }
.button.secondary { background: transparent; color: var(--ink); }
.text-link { display: inline-flex; min-height: 44px; align-items: center; gap: .35rem; color: var(--ink); }

.work-intro { display: grid; grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; background: var(--panel-soft); }
.work-copy > p:not(.eyebrow) { max-width: var(--measure); color: var(--muted); }
.process-note { padding-left: 1rem; border-left: 2px solid var(--accent); }
.work-image img { aspect-ratio: 4 / 5; background: #101311; object-fit: contain; object-position: center; }

.available-section { border-top: 1px solid var(--line); }
.sectionhead { display: flex; align-items: end; justify-content: space-between; gap: 2rem 5rem; margin-bottom: 1rem; }
.sectionhead > p { max-width: 29rem; margin-bottom: .7rem; color: var(--muted); }
.availability-note { max-width: 56rem; }
.pricing-note { max-width: 68rem; margin: 1rem 0 0; padding: 1rem 1.15rem; border-left: 2px solid var(--accent); background: var(--panel-soft); color: var(--muted); font-size: .93rem; }
.shop-bridge { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); align-items: end; gap: 1.5rem 3rem; margin: 2rem 0 1.25rem; padding: clamp(1.25rem, 3vw, 2.25rem); border: 1px solid var(--line); border-left: 3px solid var(--accent); background: var(--panel); }
.shop-bridge h3 { margin-top: .2em; }
.shop-bridge p:not(.eyebrow) { max-width: var(--measure); margin-bottom: 0; color: var(--muted); }
.shop-bridge .button-row { justify-content: flex-start; }
.note { color: var(--muted); font-size: .9rem; }
.group-title { margin-top: 3.5rem; padding-top: 1.25rem; border-top: 1px solid var(--line); font-size: 1.4rem; }
.products { display: grid; gap: 2.25rem 1rem; margin-top: 1.5rem; }
.products-small { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.products-large { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 1.5rem; }
.products-three { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 1.25rem; }
.card { min-width: 0; background: var(--panel-soft); }
.card > img { aspect-ratio: 1; background: var(--panel); object-fit: cover; }
.card > img.object-contain, .full-object-card > img { padding: .35rem; background: #101311; object-fit: contain; }
.products-large .card > img { aspect-ratio: 1; }
.card-copy { padding: 1rem 1rem 1.15rem; }
.card-copy .status { margin-bottom: .35rem; }
.card-copy h4 { margin-top: 0; }
.card-copy > p:not(.status, .price) { color: var(--muted); font-size: .9rem; }
.price { color: var(--accent-bright); font-family: Georgia, serif; font-size: 1.25rem; }
.price-inquiry { font-size: 1.03rem; }
.view { min-height: 44px; padding: .4rem 0; border: 0; background: transparent; color: var(--ink); text-decoration: underline; text-underline-offset: .35em; }
.view:hover { color: var(--accent-bright); }
.js .catalog-list .catalog-extra { display: none; }
.js .catalog-list.catalog-expanded .catalog-extra { display: block; }
.catalog-toggle { margin-top: 1.25rem; }
.market-note { max-width: 68rem; margin-top: 1.25rem; padding: 1rem 1.15rem; border-left: 2px solid var(--accent); background: var(--panel-soft); color: var(--muted); font-size: .93rem; }
.market-note a { color: var(--ink); }
.noscript { margin-top: 1.5rem; padding: 1rem; border: 1px solid var(--line); color: var(--muted); }

.commissions { border-block: 1px solid var(--line); background: var(--panel); }
.commission-lead { max-width: 54rem; }
.commission-lead > p:not(.eyebrow) { max-width: var(--measure); color: var(--muted); }
.commission-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 3.5rem; background: var(--line); border: 1px solid var(--line); }
.commission-groups article { padding: clamp(1.5rem, 3vw, 2.6rem); background: var(--bg); }
.commission-groups .index { color: var(--accent); font: 1rem Georgia, serif; }
.commission-groups h3 { font-size: 1.55rem; }
.commission-groups p, .commission-footnote { color: var(--muted); }
.commission-footnote { max-width: 60rem; margin-top: 1.5rem; font-size: .9rem; }

.portfolio { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 1.5rem; }
.portfolio figure { min-width: 0; }
.portfolio img { aspect-ratio: 4 / 5; background: var(--panel); object-fit: cover; object-position: center; }
.portfolio figcaption { display: flex; align-items: flex-start; flex-direction: column; gap: .35rem; }
.portfolio strong { color: var(--ink); font: 1.35rem Georgia, serif; }
.portfolio figcaption > span:not(.tag) { color: var(--muted); }
.portfolio figcaption a { margin-top: .45rem; }
.selected-subhead { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .8fr); align-items: end; gap: 1rem 3rem; margin: 4rem 0 1.5rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.selected-subhead h3 { margin: .2em 0 0; font-size: clamp(1.7rem, 3vw, 2.35rem); }
.selected-subhead > p { max-width: var(--measure); margin: 0; color: var(--muted); }
.portfolio-more { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 1.25rem; }
.portfolio-more strong { font-size: 1.18rem; }
.portfolio-more img { aspect-ratio: 4 / 5; }
.selected-toggle { display: none; margin-top: 1.25rem; }
.restoration-note { display: grid; grid-template-columns: minmax(190px, .52fr) minmax(0, 1fr); align-items: center; gap: 1.25rem 2rem; max-width: 68rem; margin-top: 3rem; padding: 1.5rem; border-left: 2px solid var(--accent); background: var(--panel-soft); color: var(--muted); }
.restoration-note > img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 20%; }
.restoration-note > div { min-width: 0; }
.restoration-note .eyebrow { margin-bottom: 0; }
.restoration-note h3 { margin: .2em 0; color: var(--ink); }
.restoration-note p:not(.eyebrow) { margin: .35rem 0 .75rem; }

.maker { display: grid; grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr); gap: .5rem clamp(2rem, 7vw, 7rem); background: var(--panel); }
.maker > .eyebrow { grid-column: 1 / -1; }
.maker > div { max-width: var(--measure); color: var(--muted); }
.practical { display: grid; grid-template-columns: minmax(250px, .85fr) minmax(0, 1.15fr); gap: 2rem clamp(2rem, 7vw, 7rem); }
.practical-copy { max-width: var(--measure); color: var(--muted); }

footer { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem 2rem; padding: 2.2rem 5%; border-top: 1px solid var(--line); }
footer p { margin: 0; color: var(--muted); font-size: .85rem; }
footer div { display: flex; flex-wrap: wrap; gap: .55rem; font-size: .85rem; }
.social-link { display: inline-flex; align-items: center; gap: .45rem; }
.social-icon { width: 1.1em; height: 1.1em; flex: none; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.social-icon.fill-icon, .social-icon .fill-icon { fill: currentColor; stroke: none; }
.footer-socials a { min-height: 44px; padding: .45rem .65rem; border: 1px solid var(--line); text-decoration: none; }
.footer-socials a:hover { border-color: var(--accent); color: var(--accent-bright); }

dialog { width: min(1050px, calc(100vw - 1rem)); max-width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); margin: auto; overflow: auto; padding: clamp(1.25rem, 4vw, 2.75rem); border: 1px solid var(--line); background: var(--panel); color: var(--ink); }
dialog::backdrop { background: rgb(0 0 0 / .78); }
.close { position: absolute; z-index: 2; top: .45rem; right: .6rem; width: 46px; padding: 0; border: 0; background: var(--panel); color: var(--ink); font-size: 2rem; line-height: 1; }
.dialoggrid, .detail-gallery, .detailcopy { min-width: 0; }
.dialoggrid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr); gap: clamp(1.5rem, 4vw, 3rem); }
.detail-gallery > img { aspect-ratio: 1; background: #101311; object-fit: contain; }
.thumbs { display: flex; max-width: 100%; flex-wrap: wrap; gap: .55rem; margin-top: .75rem; }
.thumbs button { width: 72px; height: 72px; min-height: 72px; padding: 0; overflow: hidden; border: 1px solid var(--line); background: var(--bg); }
.thumbs button[aria-current="true"] { border: 2px solid var(--accent-bright); }
.thumbs img { height: 100%; object-fit: cover; }
.detailcopy h2 { margin-top: .15em; }
.detailcopy > p:not(.eyebrow, .price) { color: var(--muted); }
.detailcopy .note, .detailcopy .detail-shipping { font-size: .9rem; }
label { display: block; margin-bottom: .35rem; font-size: .85rem; }
textarea { width: 100%; max-width: 100%; min-height: 9rem; resize: vertical; overflow-wrap: anywhere; padding: .75rem; border: 1px solid var(--line); border-radius: 0; background: var(--bg); color: var(--ink); font: 16px/1.5 Arial, sans-serif; }
.dialog-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem; margin-top: .75rem; }
#copy-status { min-height: 1.6em; margin-top: .75rem; font-size: .85rem; }
:focus-visible { outline: 3px solid var(--accent-bright); outline-offset: 4px; }

@media (max-width: 980px) {
  .products-small { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .products-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .portfolio { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .portfolio-more { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .site-header { align-items: flex-start; flex-direction: column; gap: .5rem; padding-block: 1rem; }
  nav { justify-content: flex-start; gap: 0 1.05rem; }
  section { padding: 3.6rem 5%; }
  .hero { grid-template: "heading" auto "media" auto "actions" auto / 1fr; gap: 1.1rem; padding-top: 2.6rem; }
  .hero-media img { max-height: 70vh; aspect-ratio: 4 / 5; object-fit: contain; background: #0f1211; }
  .hero-actions { font-size: 1rem; }
  .work-intro, .maker, .practical { grid-template-columns: 1fr; gap: 1.5rem; }
  .work-image img { max-height: 72vh; aspect-ratio: 4 / 5; object-fit: contain; }
  .sectionhead { display: block; }
  .sectionhead > p { max-width: var(--measure); }
  .shop-bridge { grid-template-columns: 1fr; align-items: start; }
  .products-small { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .products-large, .products-three { grid-template-columns: 1fr; }
  .commission-groups { grid-template-columns: 1fr; }
  .portfolio { grid-template-columns: 1fr; }
  .selected-subhead { grid-template-columns: 1fr; align-items: start; }
  .restoration-note { grid-template-columns: 1fr; }
  .restoration-note > img { max-height: 68vh; }
  .maker > .eyebrow { grid-column: auto; }
  footer { align-items: flex-start; flex-direction: column; }
  dialog { width: calc(100vw - 1rem); max-width: calc(100vw - 1rem); padding: 3.1rem 1rem 1.2rem; }
  .dialoggrid { grid-template-columns: 1fr; }
  .detail-gallery > img { max-height: 46vh; }
}

@media (max-width: 430px) {
  .js .products-small.catalog-expanded .catalog-extra { display: grid; }
  .js .portfolio-more .portfolio-more-extra { display: none; }
  .js .portfolio-more.selected-expanded .portfolio-more-extra { display: block; }
  .js .selected-toggle { display: inline-flex; }
  .products-small { grid-template-columns: 1fr; gap: 1rem; }
  .products-small .card { display: grid; grid-template-columns: 42% minmax(0, 1fr); }
  .products-small .card > img { height: 100%; min-height: 190px; aspect-ratio: auto; }
  .products-small .card-copy > p:not(.status, .price) { display: none; }
  .card-copy { padding: .85rem; }
  .card-copy h4 { font-size: 1.25rem; }
  .button-row, .dialog-actions { align-items: stretch; flex-direction: column; }
  .button-row > *, .dialog-actions > * { width: 100%; max-width: 100%; }
  .social-link { justify-content: center; }
  .thumbs { gap: .4rem; }
}

@media (max-width: 370px) {
  .brandmark > img { width: 50px; height: 50px; }
  h1 { font-size: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
/* V14 multi-page architecture, extending the V13 workshop palette. */
html {scroll-padding-top:1.5rem}
body {overflow-x:clip}
.site-header {position:relative;z-index:20;background:var(--bg)}
.site-header nav {align-items:center;gap:.15rem 1.2rem}
.site-header nav a {font-size:.84rem;white-space:nowrap}
.menu-toggle {display:none;min-height:44px;padding:.45rem .8rem;border:1px solid var(--line);background:transparent;color:var(--ink)}
.hero {grid-template:"heading media" auto / minmax(0,1fr) minmax(0,.85fr);min-height:0}
.hero-heading {align-self:center}
.hero-heading>p:not(.eyebrow),.page-intro>p:not(.eyebrow),.home-tail p:not(.eyebrow) {max-width:58ch;color:var(--muted)}
.hero h1 {font-size:clamp(3.2rem,6.2vw,5.8rem)}
.hero-media img {max-height:650px}
.work-intro {padding-block:clamp(3rem,6vw,5rem)}
.work-image img {max-height:600px}
.featured,.catalog-section,.portfolio-section {padding-block:clamp(3rem,6vw,5rem)}
.sectionhead h2 {font-size:clamp(2.3rem,4vw,3.8rem)}
.products-featured {grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.products-catalog {grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.card {border:1px solid var(--line)}
.card-image {display:block;overflow:hidden;background:#101311}
.card-image img {aspect-ratio:1;object-fit:contain;transition:transform .25s ease}
.card-image:hover img {transform:scale(1.025)}
.card-copy h3 {font-size:1.35rem;margin:.15rem 0 .5rem}
.card-copy h3 a {text-decoration:none}
.card-copy h3 a:hover {text-decoration:underline}
.card-copy .price {font-size:1.18rem;margin:.1rem 0 .6rem}
.price small {font:normal .72rem/1.3 Arial,sans-serif;color:var(--muted)}
.card-copy>p:not(.status,.price) {line-height:1.45}
.section-end {margin-top:2rem}
.home-tail {display:grid;grid-template-columns:1fr 1fr;gap:3rem;background:var(--panel)}
.home-tail h2 {font-size:clamp(2rem,3vw,3rem)}
.page-intro {padding-block:clamp(3rem,7vw,6rem) 2rem}
.page-intro h1,.contact-page h1,.about-page h1,.commissions h1 {max-width:none;font-size:clamp(3rem,6vw,5.5rem)}
.page-intro>p:not(.eyebrow) {font-size:1.08rem}
.category-nav {display:flex;flex-wrap:wrap;gap:.4rem 1.3rem;margin-top:2rem}
.category-nav a {display:inline-flex;align-items:center;min-height:44px;color:var(--accent-bright)}
.catalog-section {border-top:1px solid var(--line)}
.catalog-section h2 {margin-top:0}
.catalog-section .market-note {margin:.5rem 0 1.5rem}
.product-page {padding-top:2rem}
.back-link {display:inline-flex;align-items:center;min-height:44px;margin-bottom:1.25rem;color:var(--accent-bright)}
.product-layout {display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.detail-gallery {min-width:0}
.detail-image {width:100%;aspect-ratio:1;object-fit:contain;background:#101311;border:1px solid var(--line)}
.thumbs {display:flex;gap:.55rem;overflow-x:auto;margin-top:.7rem;padding-bottom:.4rem;scroll-snap-type:x mandatory}
.thumbs button {flex:none;width:clamp(72px,8vw,100px);height:clamp(72px,8vw,100px);padding:3px;border:2px solid var(--line);background:var(--panel);scroll-snap-align:start}
.thumbs button[aria-current="true"] {border-color:var(--accent)}
.thumbs img {width:100%;height:100%;object-fit:contain}
.detailcopy h1 {max-width:14ch;font-size:clamp(2.5rem,4.5vw,4.7rem)}
.detailcopy .price {font-size:1.5rem;margin:0 0 1.1rem}
.detailcopy>p:not(.eyebrow,.price) {color:var(--muted)}
.detail-note {border-left:2px solid var(--accent);padding-left:1rem}
.detailcopy .button-row {align-items:stretch;margin:1.5rem 0 1rem}
.commerce-note {font-size:.91rem}
.portfolio-section {padding-top:1rem}
.portfolio {grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5rem 1rem}
.portfolio img {aspect-ratio:4/5}
.portfolio strong {font-size:1.2rem}
.restoration-story {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:1.5rem 3rem;background:var(--panel-soft)}
.restoration-heading {grid-column:1;align-self:center}
.restoration-heading p:not(.eyebrow) {color:var(--muted)}
.restoration-finished {grid-column:2;grid-row:1/3}
.restoration-finished img {max-height:780px;object-fit:contain;background:#101311}
.restoration-history {grid-column:1;display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-self:end}
.restoration-history img {height:200px;object-fit:contain;background:#101311}
.restoration-history figcaption,.restoration-finished figcaption {font-size:.83rem}
.about-page {min-height:75vh}
.contact-page {min-height:75vh}
.contact-page .practical-copy {max-width:45rem}
@media(max-width:1050px){.site-header {gap:.7rem;padding-inline:4%}.site-header nav {gap:.1rem .7rem}.site-header nav a {font-size:.77rem}.products-featured,.portfolio {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
 .site-header {padding:1rem 5%;flex-wrap:wrap}.brandmark>img {width:44px;height:44px}.brand {font-size:1.35rem}
 .menu-toggle {display:inline-flex;align-items:center;justify-content:center;margin-left:auto}
 .site-header nav {display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding:.5rem 0 0}
 .site-header:has(.menu-toggle[aria-expanded="true"]) nav {display:flex}
 .site-header nav a {font-size:1rem;padding:.5rem .25rem;border-top:1px solid var(--line)}
 section {padding-inline:5%}
 .hero {display:flex;flex-direction:column;align-items:stretch;gap:1.5rem;padding-top:2.5rem}
 .hero-heading {order:0}.hero-media {order:1}.hero h1 {max-width:10ch;font-size:clamp(3rem,11vw,4.6rem)}
 .hero-media img {max-height:440px}.work-intro {grid-template-columns:1fr;gap:1.5rem}.work-image img {max-height:420px}
 .sectionhead {display:block}.sectionhead>p {max-width:55ch}
 .products-featured,.products-catalog {grid-template-columns:1fr;gap:1.25rem}
 .products-featured .card,.products-catalog .card {display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr)}
 .card-image img {height:100%;min-height:210px}.card-copy {padding:.9rem}.card-copy h3 {font-size:1.2rem}
 .home-tail,.product-layout,.restoration-story {grid-template-columns:1fr}
 .detailcopy {grid-row:1}.detail-gallery {grid-row:2}.detailcopy h1 {max-width:none;font-size:clamp(2.55rem,9vw,4rem)}
 .detailcopy .button-row {display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.detailcopy .button {text-align:center;padding:.6rem}
 .portfolio {grid-template-columns:repeat(2,minmax(0,1fr))}
 .restoration-heading,.restoration-finished,.restoration-history {grid-column:1;grid-row:auto}.restoration-finished img {max-height:550px}
 .contact-page,.about-page {min-height:0}
}
@media(max-width:460px){
 body {font-size:16px}.wordmark small {font-size:.58rem}.hero h1 {font-size:clamp(2.75rem,11vw,3.75rem)}
 .products-featured .card,.products-catalog .card {display:block}.card-image img {height:auto;min-height:0;aspect-ratio:1.15}
 .card-copy h3 {font-size:1.35rem}.portfolio {grid-template-columns:1fr}
 .detailcopy .button-row {grid-template-columns:1fr}
 .restoration-history img {height:145px}
 .category-nav {gap:0 .75rem}.category-nav a {font-size:.86rem}
}
/* V15 focused refinements */
.work-image {min-width:0;max-width:580px;justify-self:center;width:100%}
.work-image img {width:100%;height:auto;max-height:none;aspect-ratio:3 / 4;object-fit:cover;object-position:center;background:none}
.work-image figcaption {margin-top:.55rem;text-align:center}
.work-intro {grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(1.5rem,5vw,5rem)}
.home-tail {gap:1.25rem;padding-block:clamp(2.5rem,4vw,4rem);align-items:stretch}
.home-tail-card {display:flex;flex-direction:column;min-width:0;padding:clamp(1.25rem,2.5vw,2rem);border:1px solid var(--line);background:var(--panel-soft)}
.home-tail-card .eyebrow {margin:0 0 .5rem}
.home-tail-card h2 {margin:.1em 0 .5em}
.home-tail-card p:not(.eyebrow) {margin-bottom:1.35rem}
.home-tail-card .button {align-self:flex-start;margin-top:auto}
.restoration-teaser {display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.45fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;padding-block:clamp(2.2rem,4vw,3.5rem);border-top:1px solid var(--line)}
.restoration-teaser h2 {font-size:clamp(2rem,3vw,3rem);max-width:18ch}
.restoration-teaser p:not(.eyebrow) {max-width:55ch;color:var(--muted)}
.restoration-teaser figure {width:100%;max-width:350px;justify-self:end}
.restoration-teaser img {width:100%;height:clamp(230px,26vw,320px);object-fit:cover;object-position:center 20%}
.restoration-teaser figcaption {text-align:center}
.restoration-case {background:var(--panel-soft);padding-block:clamp(3rem,5vw,5rem)}
.case-heading {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 2rem;align-items:start;margin-bottom:1.5rem}
.case-heading .eyebrow {grid-column:1/-1;margin-bottom:0}
.case-heading h2 {grid-column:1;grid-row:2/4;margin-top:.1em;font-size:clamp(2.3rem,4vw,3.8rem)}
.case-heading p:not(.eyebrow) {grid-column:2;grid-row:2;color:var(--muted)}
.case-heading a {grid-column:2;grid-row:3;align-self:start}
.case-sequence {display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.55fr);grid-template-rows:1fr 1fr;gap:.8rem 1rem;align-items:stretch}
.case-step,.case-result {min-width:0;margin:0;background:#101311}
.case-step {display:flex;flex-direction:column}
.case-step img {width:100%;height:clamp(205px,20vw,270px);object-fit:cover;object-position:center 55%}
.case-result {grid-column:2;grid-row:1/3;display:flex;flex-direction:column}
.case-result img {width:100%;height:100%;max-height:590px;min-height:430px;object-fit:cover;object-position:center 24%;flex:1}
.case-sequence figcaption {margin:0;padding:.7rem .8rem;color:var(--ink);font-size:.9rem;background:var(--panel)}
.case-sequence figcaption span {color:var(--accent);margin-right:.5rem;font-weight:700}
.social-icon {display:block;flex:none;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.social-icon .fill-icon,.social-icon.fill-icon {fill:currentColor;stroke:none}
.etsy-icon {stroke:none}
.etsy-icon text {font:700 23px Georgia,serif;fill:currentColor}
.footer-socials a,.social-link {display:inline-flex;align-items:center;gap:.5rem;min-height:44px}
.footer-socials a span {white-space:nowrap}
.contact-actions {gap:.65rem;margin:1.35rem 0}
.contact-actions .button,.social-actions .button {display:inline-flex;align-items:center;gap:.55rem}
.about-page {min-height:0}
.about-notes {display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,5rem);border-top:1px solid var(--line)}
.about-notes>div {min-width:0}
.about-notes h2 {font-size:clamp(2rem,3.5vw,3.1rem)}
.about-notes p:not(.eyebrow) {max-width:58ch;color:var(--muted)}
.about-social {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.7fr);gap:2rem;align-items:center;background:var(--panel);border-top:1px solid var(--line)}
.about-social p:not(.eyebrow),.future-media p:not(.eyebrow) {color:var(--muted)}
.social-actions {display:flex;flex-wrap:wrap;gap:.6rem}
.future-media {padding:1.5rem;border-left:2px solid var(--accent);background:var(--panel-soft)}
@media(max-width:720px){
 .work-intro {grid-template-columns:1fr}.work-image {max-width:520px}.work-image img {max-height:560px}
 .home-tail {display:block}.home-tail-card+.home-tail-card {margin-top:1rem}.home-tail-card .button {margin-top:.1rem}
 .restoration-teaser {grid-template-columns:minmax(0,1fr) minmax(150px,.4fr);gap:1rem}
 .case-heading {display:block}.case-heading h2 {margin:.2em 0}.case-heading p {max-width:60ch}
 .case-sequence {grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
 .case-step img {height:210px}.case-result img {min-height:410px;max-height:520px}
 .about-notes,.about-social {grid-template-columns:1fr}.future-media {max-width:36rem}
}
@media(max-width:460px){
 .work-image img {aspect-ratio:3 / 4;max-height:none}
 .restoration-teaser {grid-template-columns:1fr}.restoration-teaser figure {justify-self:start;max-width:100%;display:grid;grid-template-columns:minmax(0,130px) 1fr;align-items:center;gap:1rem}.restoration-teaser img {height:140px}.restoration-teaser figcaption {text-align:left}
 .case-sequence {display:flex;flex-direction:column;height:auto}.case-step img {height:260px}.case-result img {min-height:0;height:430px;max-height:none}
 .contact-actions,.social-actions {display:grid;grid-template-columns:1fr}.contact-actions .button,.social-actions .button {justify-content:center}
}
.thumbs:has(>button:only-child) {display:none}

/* V16 desktop polish: common card baselines and a readable restoration sequence. */
.products .card {display:flex;flex-direction:column;min-height:0}
.products .card-image {flex:none}
.products .card-copy {display:flex;flex:1;flex-direction:column;min-width:0}
.products .card-copy .view {align-self:flex-start;margin-top:auto}
.portfolio figure {display:flex;flex-direction:column}
.portfolio figure > img {flex:none}
.portfolio figcaption {flex:1}
.portfolio figcaption a {margin-top:auto;padding-top:.6rem;min-height:44px;display:inline-flex;align-items:center}
.case-sequence {height:clamp(560px,50vw,680px);grid-template-rows:repeat(2,minmax(0,1fr));align-items:stretch}
.case-step {display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0}
.case-step img {display:block;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center;background:#191d1a}
.case-result img {min-height:0;max-height:none;object-position:center 24%}
.case-sequence figcaption {min-height:3rem;display:flex;align-items:center}
.contact-page {grid-template-columns:minmax(0,1fr);gap:1.25rem;min-height:0}
.contact-page .practical-copy {max-width:56rem}
.contact-actions {display:flex;flex-wrap:nowrap;align-items:stretch;gap:.65rem}
.contact-actions .button {white-space:nowrap;min-height:48px;justify-content:center}
.about-social {grid-template-columns:minmax(0,1fr)}
@media (max-width:850px) {
 .contact-actions {flex-wrap:wrap}
}
@media (max-width:720px) {
 .products .card {display:grid}
 .case-sequence {height:540px;grid-template-rows:repeat(2,minmax(0,1fr))}
 .case-step img {height:100%}
 .case-result img {min-height:410px;max-height:none}
}
@media (max-width:460px) {
 .products .card {display:block}
 .case-sequence {display:flex;flex-direction:column;height:auto}
 .case-step img {height:300px;min-height:0}
 .case-result img {min-height:0;height:430px;max-height:none}
 .contact-actions {display:grid;grid-template-columns:1fr}
 .contact-actions .button {white-space:normal}
}

/* V17: compact catalogue introduction, social panel, and restoration framing. */
.page-intro:has(.category-nav) {
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
 grid-template-rows:auto auto auto auto;
 align-items:start;
 gap:.25rem clamp(2rem,5vw,5rem);
 padding-block:clamp(2rem,3.6vw,3.25rem) 1.35rem;
}
.page-intro:has(.category-nav) > .eyebrow {grid-column:1;grid-row:1;margin:0}
.page-intro:has(.category-nav) > h1 {grid-column:1;grid-row:2;margin:.12em 0 .28em}
.page-intro:has(.category-nav) > p:not(.eyebrow,.pricing-note) {grid-column:1;grid-row:3;margin:.25rem 0;max-width:52ch}
.page-intro:has(.category-nav) > .pricing-note {grid-column:2;grid-row:1/4;align-self:center;margin:0;max-width:none}
.page-intro:has(.category-nav) > .category-nav {grid-column:1/-1;grid-row:4;justify-content:flex-start;gap:.1rem 1.5rem;margin:.8rem 0 0;padding-top:.6rem;border-top:1px solid var(--line)}
#axes .market-note {margin:1.15rem 0 0;max-width:68rem}
.about-social {padding-block:clamp(2rem,3.5vw,3.25rem)}
.about-social > div {display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;column-gap:clamp(1.5rem,4vw,4rem);align-items:start}
.about-social .eyebrow {grid-column:1;grid-row:1;margin:0}
.about-social h2 {grid-column:1;grid-row:2;margin:.12em 0 .3em}
.about-social p:not(.eyebrow) {grid-column:1;grid-row:3;margin:.3rem 0}
.about-social .social-actions {grid-column:2;grid-row:1/4;align-self:center;justify-content:flex-end}
.case-result img {object-position:center 8%}
@media(max-width:950px) {
 .about-social > div {display:block}
 .about-social .social-actions {justify-content:flex-start;margin-top:1.15rem}
}
@media(max-width:760px) {
 .page-intro:has(.category-nav) {display:block;padding-block:2.4rem 1.25rem}
 .page-intro:has(.category-nav) > .pricing-note {margin:1rem 0 0}
 .page-intro:has(.category-nav) > .category-nav {margin-top:1rem}
}
/* V18: three focused desktop composition adjustments. */
.hero-media figcaption {text-align:center}
.commissions {padding-block:clamp(2.75rem,4vw,4rem) clamp(2.75rem,4vw,4rem)}
.commission-lead {display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-rows:auto auto auto;gap:.2rem clamp(2rem,5vw,5rem);max-width:none;align-items:start}
.commission-lead > .eyebrow {grid-column:1;grid-row:1;margin:0}
.commission-lead > h1 {grid-column:1;grid-row:2/4;margin:.1em 0 0}
.commission-lead > p:not(.eyebrow) {grid-column:2;grid-row:2;margin:.3rem 0 1rem}
.commission-lead > .button-row {grid-column:2;grid-row:3;justify-content:flex-start}
.commission-groups {margin-top:clamp(1.75rem,3vw,2.5rem)}
.about-social > div {grid-template-columns:minmax(0,28rem) max-content;column-gap:clamp(1rem,2.5vw,2rem);justify-content:start}
.about-social .social-actions {justify-content:flex-start;flex-wrap:nowrap}
@media(max-width:1020px) {
 .about-social > div {display:block}
 .about-social .social-actions {margin-top:1.15rem;flex-wrap:wrap}
}
@media(max-width:760px) {
 .commission-lead {display:block}
 .commission-lead > h1 {margin:.35em 0 .55em}
 .commission-lead > p:not(.eyebrow) {margin:0 0 1rem}
 .commission-groups {margin-top:2rem}
}
/* V19: use the available note width and center the social cluster as a unit. */
.commission-footnote {max-width:none}
.about-social > div {width:min(100%,68rem);margin-inline:auto;justify-content:center}
@media(max-width:1080px) {
 .about-social > div {display:block}
 .about-social .social-actions {margin-top:1.15rem;flex-wrap:wrap}
}
/* V20: mobile product pages lead with the object, following status and title. */
@media(max-width:720px) {
 .product-layout {display:flex;flex-direction:column;gap:0}
 .product-layout .detailcopy {display:contents}
 .product-layout .detailcopy > .eyebrow {order:1}
 .product-layout .detailcopy > h1 {order:2}
 .product-layout .detail-gallery {order:3;width:100%;margin-bottom:1.15rem}
 .product-layout .detailcopy > .price {order:4}
 .product-layout .detailcopy > p:not(.eyebrow,.price,.detail-note,.commerce-note,.market-note) {order:5}
 .product-layout .detailcopy > .detail-note {order:6}
 .product-layout .detailcopy > .commerce-note,
 .product-layout .detailcopy > .market-note {order:7}
 .product-layout .detailcopy > .button-row {order:8}
}
