:root{--paper:#f4f1e9;--ink:#44403c;--line:#d3ccbd;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;width:100%;height:auto}a:focus-visible,button:focus-visible{outline:2px solid #735536;outline-offset:6px}.skip{position:absolute;left:16px;top:-80px}.skip:focus{top:16px;z-index:5}.page-header{position:relative;padding:24px 10% 12px}.languages{position:absolute;right:4%;top:24px;display:flex;gap:12px;font-size:10px;letter-spacing:.15em}.primary{display:flex;align-items:center;justify-content:center;gap:90px}.primary>a:not(.brand){font-size:11px;letter-spacing:.14em;min-width:72px;text-align:center}.primary [aria-current],.languages [aria-current]{text-decoration:underline;text-underline-offset:7px}.brand img{width:80px;height:100px;object-fit:contain;opacity:.65}.eyebrow{display:block;font-size:9px;letter-spacing:.24em;font-weight:400;margin-bottom:22px}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.05;margin:0 0 24px}h1{font-size:clamp(44px,4.2vw,68px)}h2{font-size:clamp(30px,3vw,46px)}p{font-size:15px;line-height:1.8;margin:0}.intro{text-align:center;max-width:720px;margin:80px auto 70px;padding:0 24px}.intro p{max-width:530px;margin:auto}.gallery-grid{max-width:1180px;margin:0 auto;padding:0 40px 80px;display:grid;grid-template-columns:1fr 1fr;gap:64px 38px}.gallery-grid figure{margin:0}.gallery-grid figure:nth-child(even){padding-top:90px}.photo-button{border:0;padding:0;background:#ded7ca;width:100%;display:block;position:relative;cursor:zoom-in;overflow:hidden}.photo-button img{aspect-ratio:4/5;object-fit:cover;transition:transform .6s}.photo-button:hover img{transform:scale(1.025)}.photo-button>span{position:absolute;right:18px;bottom:18px;background:var(--paper);border-radius:50%;padding:10px 14px}.gallery-grid figure:nth-child(n+4) img{aspect-ratio:4/3}figcaption{display:flex;gap:22px;margin-top:17px;font-size:11px;letter-spacing:.08em}figcaption>span{opacity:.5}.closing{text-align:center;padding:90px 24px 110px;border-top:1px solid var(--line)}.closing h2{max-width:600px;margin:0 auto 32px}.text-link{display:inline-block;font-size:11px;letter-spacing:.08em;border-bottom:1px solid var(--ink);padding-bottom:10px}.page-footer{padding:50px 10% 30px;background:#ded8cc;display:flex;flex-wrap:wrap;align-items:center;gap:24px}.footer-wordmark{letter-spacing:.2em;font-size:22px}.page-footer p{font-size:11px}.page-footer nav{margin-left:auto;display:flex;gap:28px;font-size:11px}.page-footer small{flex-basis:100%;font-size:9px;opacity:.6}.shop-feature{max-width:1320px;margin:60px auto 100px;padding:0 7%;display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}.shop-photo img{aspect-ratio:4/5;object-fit:cover}.shop-copy .lead{margin-bottom:36px}.availability{display:inline-block;font-size:9px;letter-spacing:.2em;border:1px solid var(--line);padding:10px 14px;margin-bottom:18px}#commerce-mount{border-top:1px solid var(--line);padding-top:25px;margin-bottom:30px}#commerce-mount p{font-size:13px}.solid-link{display:inline-block;padding:16px 22px;background:var(--ink);color:var(--paper)}.shop-details{padding:65px 10% 90px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.shop-details h2{font-size:32px}.shop-details p{font-size:13px}.gallery-dialog{border:0;padding:48px 24px 20px;background:#282621;color:var(--paper);max-width:95vw;width:max-content;max-height:95svh}.gallery-dialog::backdrop{background:#171613e8}.gallery-dialog img{max-width:85vw;max-height:76svh;object-fit:contain;width:auto}.gallery-dialog p{text-align:center;font-size:12px;padding-top:12px}.close-dialog{position:absolute;right:14px;top:5px;font-size:32px;color:var(--paper);background:none;border:0;cursor:pointer;width:44px;height:40px}@media(max-width:767px){.page-header{padding:30px 20px 0}.languages{top:12px;font-size:9px}.primary{gap:35px}.primary>a:not(.brand){font-size:10px;min-width:55px}.brand img{width:64px;height:85px}.intro{margin:45px auto 45px}.intro p{font-size:13px}.gallery-grid{padding:0 22px 50px;gap:32px;grid-template-columns:1fr}.gallery-grid figure:nth-child(even){padding-top:0}.closing{padding:60px 24px}.shop-feature{margin:35px auto 60px;padding:0 24px;grid-template-columns:1fr;gap:35px}.shop-photo img{aspect-ratio:1}.shop-copy h1{font-size:44px}.shop-details{grid-template-columns:1fr;padding:45px 24px 60px;gap:35px}.page-footer{padding:35px 24px;gap:18px}.page-footer nav{margin-left:0;flex-basis:100%}.page-footer p{font-size:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Two equal-height gallery sections: full image viewer and complete contact sheet. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.gallery-viewer{height:100svh;min-height:360px;background:#000;position:relative;display:flex;align-items:center;justify-content:center;padding:32px 70px 64px;outline-offset:-4px;touch-action:pan-y}
.viewer-image{width:100%;height:100%;object-fit:contain;min-height:0}
.viewer-image.is-logo{background:#f4f1e9;max-width:360px;max-height:360px;padding:40px}
.viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:64px;border:1px solid #ffffff40;color:#fff;background:#0008;font-size:28px;cursor:pointer;opacity:0;transition:opacity .2s}
.viewer-prev{left:18px}.viewer-next{right:18px}
.gallery-viewer:hover .viewer-arrow,.gallery-viewer:focus-within .viewer-arrow{opacity:1}
.viewer-caption{position:absolute;left:30px;right:30px;bottom:22px;color:#e8e3d9;display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.1em}
.gallery-contact-sheet{height:100svh;min-height:360px;display:flex;flex-direction:column;padding:32px 5%;background:#f4f1e9;gap:22px}
.sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}.sheet-heading h2{font-size:30px;margin:0}.sheet-heading>span{font-size:9px;letter-spacing:.15em}
.thumbnail-grid{min-height:0;flex:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:14px}
.gallery-thumb{position:relative;min-width:0;min-height:0;border:0;padding:7px;background:#e3ddd1;cursor:pointer;overflow:hidden}
.gallery-thumb img{width:100%;height:100%;object-fit:contain}.gallery-thumb>span{position:absolute;bottom:7px;left:7px;background:#f4f1e9e8;padding:3px 6px;font-size:9px}
.gallery-thumb[aria-pressed=true]{box-shadow:inset 0 0 0 2px #665441}.gallery-thumb:hover{background:#d4cab9}
@media(max-width:767px){.gallery-viewer{padding:20px 12px 60px}.viewer-arrow{width:44px;height:52px;font-size:24px}.viewer-prev{left:8px}.viewer-next{right:8px}.viewer-caption{left:18px;right:18px;font-size:10px}.gallery-contact-sheet{padding:24px 16px;gap:18px}.sheet-heading h2{font-size:26px}.thumbnail-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:8px}.gallery-thumb{padding:4px}}
@media(hover:none){.viewer-arrow{opacity:1}}
@media(prefers-reduced-motion:reduce){.viewer-arrow{transition:none}}
/* Seamless square contact sheet with the home gallery's hover treatment. */
.gallery-contact-sheet{padding:24px 0;gap:18px;align-items:center}
.sheet-heading{width:90%;height:34px}
.thumbnail-grid{flex:none;width:min(100%,calc((100svh - 100px)*5/3));aspect-ratio:5/3;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:0;margin:auto}
.gallery-thumb{padding:0;aspect-ratio:1;border:0;box-shadow:none!important}
.gallery-thumb img{object-fit:cover;filter:grayscale(20%);transition:transform .7s}
.gallery-thumb::after{content:'';position:absolute;inset:16px;border:1px solid transparent;pointer-events:none;transition:inset .7s,border-color .7s}
.gallery-thumb:hover img,.gallery-thumb:focus-visible img{transform:scale(1.05)}
.gallery-thumb:hover::after,.gallery-thumb:focus-visible::after{inset:12px;border-color:rgba(253,251,247,.5)}
.gallery-thumb>span{display:none}
.gallery-viewer{padding:32px 70px}
.viewer-arrow{border:0;background:transparent;color:rgba(0,0,0,.5);opacity:0!important;box-shadow:none}
.gallery-viewer:hover .viewer-arrow{opacity:1!important}
@media(max-width:767px){.gallery-viewer{padding:20px 12px}.thumbnail-grid{width:min(100%,calc((100svh - 100px)*3/5));aspect-ratio:3/5;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:0}}
@media(prefers-reduced-motion:reduce){.gallery-thumb img,.gallery-thumb::after{transition:none}}
/* Curated gallery shares the warm page canvas. */
.gallery-viewer{background:var(--paper)}
.thumbnail-grid{width:min(100%,calc((100svh - 100px)*4/3));aspect-ratio:4/3;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}
@media(max-width:767px){.thumbnail-grid{width:min(100%,calc((100svh - 100px)*3/4));aspect-ratio:3/4;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr))}}
/* Edge-to-edge squares start directly at the viewer's bottom edge. */
.gallery-contact-sheet{height:auto;min-height:0;padding:0;gap:0;display:block}
.thumbnail-grid{width:100%;max-width:none;aspect-ratio:auto;margin:0;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto;gap:0}
.gallery-thumb{width:100%;aspect-ratio:1;position:relative}
.gallery-thumb img{position:absolute;inset:0;width:100%;height:100%}
.viewer-arrow{filter:drop-shadow(0 0 3px rgba(255,255,255,.85)) drop-shadow(0 0 8px rgba(255,255,255,.4))}
@media(max-width:767px){.thumbnail-grid{width:100%;aspect-ratio:auto;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none}}
/* Transfer the space below the displayed image to below the grid. */
.gallery-viewer{height:calc(100svh - var(--gallery-bottom-space,0px));min-height:0;padding-top:var(--gallery-top-space,32px);padding-bottom:0}
.gallery-viewer .viewer-image{height:var(--gallery-image-height,auto);flex:none;object-position:center bottom}
.gallery-contact-sheet{padding-bottom:var(--gallery-bottom-space,0px)}
/* Restore the viewer spacing; fit a variable number of squares into one screen. */
.gallery-viewer{height:100svh;min-height:360px;padding:32px 70px}
.gallery-viewer .viewer-image{height:100%;object-position:center}
.gallery-contact-sheet{position:relative;height:auto;min-height:0;padding:0 0 var(--gallery-footer-space,32px)}
.thumbnail-grid{width:100%;aspect-ratio:auto;grid-template-columns:repeat(var(--gallery-columns,4),minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto;gap:0}
@media(max-width:767px){.gallery-viewer{padding:20px 12px}.thumbnail-grid{grid-template-columns:repeat(var(--gallery-columns,3),minmax(0,1fr))}}
.gallery-page-heading{padding:64px 24px 0;text-align:center}
.gallery-page-heading h1.eyebrow{font-family:var(--sans);font-size:9px;line-height:1.5;font-weight:400;letter-spacing:.24em;margin:0}
@media(max-width:767px){.gallery-page-heading{padding-top:40px}}
/* Keep gallery and store copy explicitly centered in both languages. */
.gallery-page-heading .eyebrow,.store-intro :is(.eyebrow,h1,p),.store-categories a,.store-collection :is(h2,figcaption,.model-actions a,.model-actions button),.store-category-empty :is(h2,p){text-align:center}
/* Full-width title bands matching Header 1. */
.secondary-page .store-intro{max-width:none;padding-left:0;padding-right:0}
.secondary-page .store-intro h1{padding:0 24px}
.secondary-page .store-intro p{padding:0 24px;max-width:518px}
.gallery-page-heading{padding-left:0;padding-right:0}
.secondary-page .store-intro>.eyebrow,.gallery-page-heading h1.eyebrow{display:flex;align-items:center;justify-content:center;width:100%;height:30px;min-height:30px;padding:0 20px;background:#aa927b;color:#fff;line-height:1;margin-top:0}
.secondary-page .store-intro,.secondary-page .gallery-page-heading{padding-top:0}
