/* Release-candidate polish: real photography, clear paths, native scrolling. */
/* Reading stays in normal document flow. No wheel interception, pinning or timed reveals. */
html { scrollbar-gutter: stable; }
body:has(dialog[open]) { overflow: hidden; }
dialog { overscroll-behavior: contain; }
.sc-grain { overflow: hidden; }
.hero-copy, .hero-specimen { will-change: auto; transition: none; }
.buying-notes { padding: 4rem var(--lodge-gutter); }
.buying-notes h2 { max-width: 22ch; font-size: clamp(2.5rem,4.2vw,4.5rem); }
.buying-notes-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; margin-top: 2rem; }
.buying-notes-grid article { min-width: 0; padding: 1.5rem; border: 1px solid var(--line); border-radius: .3rem; background: var(--soft); }
.buying-notes-grid h3 { font: 600 1.6rem/1.15 var(--sc-font-display); margin: .75rem 0; }
.buying-notes-grid p { margin: 0; }
.note-number { color: var(--accent); font-size: .875rem; }
.note-ask { background: none; border: 0; padding: .75rem 0; color: inherit; text-decoration: underline; cursor: pointer; font: inherit; font-weight: 600; }
.bench-delivery { display: inline-block; margin-top: 1.5rem; color: var(--ink); }
html { scroll-padding-top: 2rem; }
[hidden] { display: none !important; }
input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.shop-label, .index-links a, .inventory-tools label, .product-kicker, .care-sources { font-size: .875rem; }
.index-links { gap: 1.25rem; min-height: 0; overflow-y: auto; scrollbar-width: thin; }
.index-links a { flex-shrink: 0; }
.index-mark small { font-size: .75rem; }
.menu-toggle { display: none; }
.hero { min-height: min(900px, 100svh); grid-template-columns: 1.05fr 1fr; gap: clamp(2rem,4vw,5rem); padding: 5rem var(--lodge-gutter) 6rem; background: radial-gradient(ellipse at 80% 20%,var(--soft),transparent 60%),var(--soft); }
.hero::after { display: none; }
.hero-copy { width: auto; min-width: 0; margin: 0; padding: 0; transform: none !important; }
.hero h1 { max-width: 12ch; font-size: clamp(3.2rem,5.7vw,6.7rem); line-height: 1.02; }
.hero-lede { max-width: 36ch; margin: 1.5rem 0; font-size: 1.15rem; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin: 1.8rem 0; font-size: 1rem; }
.primary-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: .9rem 1.35rem; border-radius: 99rem; background: var(--accent); color: var(--accent-ink); text-decoration: none; font-weight: 600; }
.primary-link:hover { background: var(--accent); }
.hero .text-action { font-size: .875rem; }
.hero-specimen { position: relative; inset: auto; width: 100%; height: min(67svh,650px); min-height: 380px; transform: none !important; padding: .6rem; border: 1px solid var(--line); border-radius: 48% 48% .5rem .5rem; background: var(--soft); }
.hero-specimen > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 58%; border-radius: inherit; filter: none; }
.hero-tag { right: -1rem; bottom: 1.5rem; width: 15rem; height: 9.5rem; }
.hero-tag .tag-face b { font-size: .75rem; }
.hero-tag .tag-face small { font-size: .85rem; }
.concept-note { bottom: 1.4rem; left: var(--lodge-gutter); right: auto; font-size: .875rem; }
.inventory { padding-top: 6rem; padding-bottom: 6rem; }
.inventory-grid, .inventory-grid[data-count="4"] { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; border: 0; background: transparent; }
.product-card { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: .5rem; }
.product-photo { aspect-ratio: 1/1.15; }
.product-photo img { display: block; object-fit: cover; }
.product-body { padding: 1.1rem; flex: 1; display: flex; flex-direction: column; align-items: flex-start; }
.product-card h3 { font-size: 1.5rem; line-height: 1.15; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.product-kicker { font-size: .8rem; flex-wrap: wrap; }
.product-card .product-condition { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.product-card .product-note { display: none; }
.product-card .demo-chip { font-size: .75rem !important; text-transform: none; letter-spacing: 0; }
.product-open { margin-top: auto; translate: 0 .4rem; border-radius: .3rem; font-size: .875rem; width: 100%; }
.product-body p:last-of-type { margin-bottom: 1.3rem; }
.catalog-pagination { display: flex; justify-content: center; gap: 1rem; }
.catalog-pagination .inventory-more { margin: 1.5rem 0 0; }
.product-dialog .dialog-close { position: sticky; top: .5rem; display: block; margin: .5rem .5rem .5rem auto; background: var(--paper); color: var(--paper); border-radius: 99rem; }
.product-dialog-copy .primary-link { color: var(--accent-ink); margin-top: 1rem; }
.product-dialog-copy h2 { font-size: clamp(2rem,3vw,3.8rem); }
.story { min-height: 0; padding-block: 6rem; }
.story-figure { min-height: 0; border-radius: .5rem; max-width: 31rem; justify-self: center; }
.story-figure img { display: block; width: 100%; height: auto; object-fit: contain; }
.story-figure figcaption { position: static; padding: .8rem; font-size: .875rem; text-transform: none; letter-spacing: 0; }
.care { padding-block: 6rem; }
.care-grid a { display: inline-block; margin-top: .8rem; color: var(--accent); font-weight: 600; }
.care h2 em { color: var(--accent); }
.lodge-letters { display: grid; grid-template-columns: 1.1fr 1fr; gap: 4rem; padding: 6rem var(--lodge-gutter); background: var(--soft); }
.lodge-letters h2 { font-size: clamp(3rem,5vw,5.7rem); }
.lodge-letters p { max-width: 44ch; color: var(--ink-soft); }
.letters-card { padding: 2rem; border: 1px solid var(--line); border-radius: .5rem; background: var(--paper); }
.letters-card h3 { font-family: var(--sc-font-display); font-size: 2rem; line-height: 1.2; }
.letters-card > a { display: flex; margin-top: 1.1rem; width: fit-content; }
.shipping { padding-block: 6rem; }
.counter { min-height: 0; padding-top: 6rem; }
.site-footer { flex-wrap: wrap; }
.care-page main { padding: 3rem max(1.25rem,calc((100vw - 75rem)/2)); }
.care-page .page-nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding: 1.2rem max(1.25rem,calc((100vw - 75rem)/2)); border-bottom: 1px solid var(--line); }
.care-page h1 { font-size: clamp(3rem,6vw,5.5rem); max-width: 17ch; }
.care-page .article-intro { max-width: 60ch; font-size: 1.2rem; color: var(--ink-soft); }
.care-page .article-nav { display: flex; flex-wrap: wrap; gap: 1rem; margin-block: 2rem; }
.care-page article { background: var(--soft); color: var(--ink); padding: clamp(1.5rem,4vw,3.5rem); margin-block: 2rem; border-radius: .5rem; }
.care-page article h2 { font-size: clamp(2.1rem,4vw,3.3rem); line-height: 1.1; }
.care-page article .shop-label { color: var(--accent); }
.care-page article p,.care-page article li { max-width: 75ch; }
.care-page article li { margin-block: .7rem; }
.care-page .article-source { font-size: .875rem; border-top: 1px solid var(--ink-soft); padding-top: 1rem; }
@media(min-width:1600px) { .hero { max-height: 1000px; } }
@media(max-width:1200px) { .inventory-grid,.inventory-grid[data-count="4"] { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:900px) {
 html { scroll-padding-top: 6rem; }
 .collection-index { min-height: 4.7rem; padding: .65rem 1.2rem; gap: 1rem; flex-wrap: wrap; }
 .index-mark small { font-size:.75rem; }
 .menu-toggle { display: block; margin-left: auto; border: 1px solid var(--line); background: none; padding: .5rem .8rem; border-radius:.3rem; font:inherit; }
 .index-links { display: none; position:absolute; top:100%; left:0; right:0; width:100%; max-height:calc(100svh - 5rem); height:auto; flex-direction:column; gap:.25rem; align-items:stretch; padding:1rem 1.2rem; margin:0; background:var(--paper); border-bottom:1px solid var(--line); overflow-y:auto; }
 .index-links.is-open { display: flex; }
 .index-links a { display: block; width:100%; writing-mode:horizontal-tb; transform:none; padding:.5rem; font-size:1rem; white-space:normal; }
 .hero { margin-top:4.7rem; min-height:0; grid-template-columns:1fr 1fr; padding: 3rem 1.5rem 5rem; gap:1.5rem; }
 .hero h1 { font-size:clamp(2.8rem,6vw,4.2rem); }
 .hero-specimen { min-height:370px; height:55svh; }
 .hero-tag { right:-.3rem; width:13.5rem; }
 .concept-note { left:1.5rem; max-width:calc(100% - 3rem); }
 .lodge-letters { grid-template-columns:1fr; gap:2rem; }
 .care-page main { padding-top: 2rem; }
}
@media(max-width:600px) {
 .inventory { padding-top: 2.5rem; }
 .inventory-head { gap: 1rem; }
 .hero { grid-template-columns:1fr; padding-top:2.5rem; }
 .hero h1 { font-size:clamp(3rem,11.5vw,4.4rem); max-width:13ch; }
 .hero-lede { font-size:1rem; }
 .hero-specimen { height:440px; min-height:0; margin: .5rem 0 1rem; width:calc(100% - .7rem); justify-self:center; }
 .hero-tag { right:-.7rem; bottom:1rem; }
 .hero-actions { align-items:flex-start; flex-direction:column; }
 .inventory-grid,.inventory-grid[data-count="4"] { grid-template-columns:1fr; }
 .product-photo { aspect-ratio:1; }
 .product-card h3 { font-size:1.8rem; }
 .letters-card { padding:1.3rem; }
 .collection-index .index-ask { font-size:.875rem; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; } }
@media print { .page-nav,.article-nav,.care-page .primary-link { display:none; } .care-page { background:white; color:black; } .care-page main { padding:0; } .care-page article { break-inside:avoid; border:1px solid #ccc; } }

/* Keep the photo-led opening compact, then let useful information set the pace. */
.inventory-head, .care-head { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 1.5rem 3rem; }
.story { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.story-figure { width: 100%; }
.shipping-ledger { margin-top: 2.5rem; }
.care-grid { margin-top: 2.5rem; }
.hero .text-action { margin-top: .5rem; }
main h1, main h2, main h3, .shop-label, .primary-link { overflow-wrap: anywhere; }
main p, main a, .tag-face { overflow-wrap: anywhere; }
.inventory-head > *, .care-head > *, .story > *, .lodge-letters > *, .inventory-tools > * { min-width: 0; }
.inventory-tools input { min-width: 0; width: 100%; }
.collection-tabs { flex-wrap: wrap; }
@media(max-width:900px) {
 html { scroll-padding-top: calc(var(--nav-height, 4.7rem) + 1rem); }
 .collection-index { position: sticky; height: auto; top: 0; padding: .65rem 16px; gap: .5rem 12px; }
 .hero { margin-top: 0; }
 .index-links { max-height: calc(100svh - var(--nav-height, 4.7rem)); }
 .inventory-head, .care-head, .story, .lodge-letters { grid-template-columns: minmax(0,1fr); }
 .story-figure { width: 100%; }
 .buying-notes-grid { grid-template-columns: 1fr; gap: 1rem; }
 .buying-notes { padding: 3rem 1.5rem; }
 .buying-notes-grid article { padding: 1.2rem; }
 .inventory, .story, .care, .lodge-letters, .shipping, .counter { padding-top: 3.5rem; padding-bottom: 3.5rem; }
 .inventory h2, .story h2, .care h2, .lodge-letters h2, .shipping h2, .counter h2 { font-size: clamp(2.5rem,7vw,4rem); }
 .story { gap: 2rem; }
 .story-figure { max-width: 22rem; }
 .inventory-tools { margin-top: 1.5rem; }
 .shipping-ledger article { grid-template-columns: 2rem minmax(0,1fr); gap: .75rem; }
}
@media(max-width:600px) {
 .hero { grid-template-columns: minmax(0,1fr); padding: 1.75rem 1.25rem 3.5rem; gap: 1rem; }
 .hero-specimen, .hero-specimen > img { min-width: 0; }
 .hero-actions > a, .letters-card > a { max-width: 100%; }
 .hero h1 { font-size: clamp(2.65rem,10.2vw,3.8rem); max-width: 15ch; }
 .hero-lede { margin: 1rem 0; line-height: 1.5; }
 .hero-actions { margin: 1rem 0 0; gap: .8rem; }
 .hero .text-action { display: none; }
 .hero-specimen { display: grid; grid-template-columns: minmax(0,1fr); height: auto; margin: .5rem 0; border-radius: 5rem .5rem .5rem .5rem; }
 .hero-specimen > img { height: 250px; object-position: center 43%; }
 .hero-tag { position: relative; display: grid; grid-template-columns: minmax(0,1fr); justify-self: end; width: min(12.5rem,100%); height: auto; min-height: 8.75rem; margin-top: -9rem; bottom: auto; right: 0; }
 .hero-tag .tag-face { min-width: 0; }
 .hero-tag .tag-face { position: relative; grid-area: 1/1; padding: .9rem; }
 .hero-tag .tag-face strong { font-size: 1.45rem; }
 .concept-note { bottom: .8rem; left: 1.25rem; line-height: 1.35; }
 .inventory-head > p:last-child, .care-head > p:last-child { font-size: 1rem; }
 .inventory h2, .care h2 { line-height: 1.08; }
 .demo-notice { margin-top: 1.5rem; padding: 1rem; }
 .inventory-tools { gap: .75rem; }
 .inventory-tools p { margin: 0; }
 .product-card h3 { font-size: 1.5rem; }
 .product-photo { aspect-ratio: 1.3; }
 .product-body { padding: 1rem; }
 .product-card .product-condition { margin-top: .5rem; }
 .lodge-letters { gap: 1rem; }
 .letters-card h3 { font-size: 1.6rem; }
 .care-grid { gap: 1rem; }
 .care-grid article { padding: 1.5rem; }
 .site-footer { margin-top: 2.5rem; }
}
