/* Site-wide catalog system: real photography, restrained type and visible actions. */
html body.bg-site-catalog { --bg-ink:#000; --bg-paper:#fff; --bg-muted:#555; }
html body.bg-site-catalog :is(#qodef-footer-newsletter,#qodef-footer-image) { display:none!important; }
html body.bg-site-catalog :is(#qodef-page-footer-top-area,#qodef-page-footer-bottom-area) { background:#000!important; color:#ddd!important; }
html body.bg-site-catalog #qodef-page-footer :is(a,h2,h3,h4,h5) { color:#fff!important; }
html body.bg-site-catalog #qodef-page-footer a.qodef-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 24px; border:1px solid #888; border-radius:999px; background:transparent; }
html body.bg-site-catalog #qodef-page-footer a.qodef-button .qodef-m-strip { display:none; }
html body.bg-site-catalog :is(.bg-detail,.bg-site-archive,.bg-case) { box-sizing:border-box; width:min(calc(100% - 64px),1200px); margin:0 auto; padding:32px 0 64px; color:#000; font-family:'Work Sans',sans-serif; }
html body.bg-site-catalog :is(.bg-detail,.bg-site-archive,.bg-case) * { box-sizing:border-box; }
html body.bg-site-catalog :is(.bg-site-archive,.bg-case) .bg-perfection-breadcrumb { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; margin:0 0 26px; color:#666; font-size:13px; line-height:1.5; }
html body.bg-site-catalog :is(.bg-site-archive,.bg-case) .bg-perfection-breadcrumb a { color:#000; text-decoration:none; }
html body.bg-site-catalog :is(.bg-site-archive,.bg-case) .bg-perfection-breadcrumb a:hover { text-decoration:underline; text-underline-offset:4px; }
html body.bg-site-catalog.bg-detail-page .qodef-page-title { display:none!important; }
html body.bg-site-catalog.bg-detail-page #qodef-page-inner { width:100%!important; padding:0!important; }
html body.bg-site-catalog .bg-detail h1 { overflow-wrap:anywhere; text-wrap:balance; }
html body.bg-site-catalog.single-product .bg-detail { width:100%; padding-top:0; }
html body.bg-site-catalog .bg-perfection-facts dd { overflow-wrap:anywhere; }
html body.bg-site-catalog .bg-detail .bg-perfection-heading { margin:8px 0 0; }
html body.bg-site-catalog .bg-detail .bg-detail-text-hero { display:flex; flex-direction:column; align-items:flex-start; gap:28px; max-width:900px; margin:0 auto; padding:40px; border-radius:24px; background:#f5f5f5; }
html body.bg-site-catalog .bg-detail-text-hero .bg-perfection-summary { width:100%; max-width:600px; }
html body.bg-site-catalog .bg-detail .bg-perfection-visual { height:480px; padding:28px; }
html body.bg-site-catalog .bg-detail .bg-perfection-intro p { margin:0 0 16px; }
html body.bg-site-catalog .bg-detail :is(p,li,td,th) { font-family:'Work Sans',sans-serif; font-size:16px; line-height:1.75; }
html body.bg-site-catalog .bg-detail-no-photo p { max-width:25ch; color:#666; text-align:center; }
html body.bg-site-catalog .bg-detail-content { max-width:900px; margin:48px auto 0; overflow-wrap:anywhere; }
html body.bg-site-catalog .bg-detail-content h2 { margin:0 0 24px; font:600 36px/1.2 'Cormorant Garamond',serif; color:#000; }
html body.bg-site-catalog .bg-detail-content :is(p,ul,ol) { margin:0 0 20px; }
html body.bg-site-catalog .bg-detail-content p br { display:none; }
html body.bg-site-catalog .bg-detail-content img { max-width:100%; height:auto; }
html body.bg-site-catalog .bg-detail-content table { width:100%; border-collapse:collapse; }
html body.bg-site-catalog .bg-detail-content :is(th,td) { padding:12px; text-align:left; border-bottom:1px solid #ddd; overflow-wrap:anywhere; }
html body.bg-site-catalog .bg-detail-document { display:inline-block; margin-top:20px; text-decoration:underline; text-underline-offset:4px; color:#000; }
html body.bg-site-catalog .bg-detail-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:40px; }
html body.bg-site-catalog .bg-detail-gallery a { display:block; padding:20px; background:#f5f5f5; border-radius:20px; }
html body.bg-site-catalog .bg-detail-gallery img { display:block; width:100%; height:280px; object-fit:contain; }
html body.bg-site-catalog .bg-site-related { margin-top:56px; }
html body.bg-site-catalog .bg-site-section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
html body.bg-site-catalog .bg-site-section-heading h2 { margin:0; font:600 36px/1.2 'Cormorant Garamond',serif; }
html body.bg-site-catalog .bg-site-section-heading>a { color:#000; text-decoration:underline; text-underline-offset:5px; }
html body.bg-site-catalog .bg-site-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
html body.bg-site-catalog .bg-site-related .bg-site-card-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
html body.bg-site-catalog .bg-site-card { display:flex; flex-direction:column; overflow:hidden; min-width:0; border:1px solid #ddd; border-radius:24px; background:#fff; color:#000; text-decoration:none; transition:border-color .2s ease; }
html body.bg-site-catalog .bg-site-card:hover { border-color:#000; }
html body.bg-site-catalog .bg-site-card-photo { display:flex; align-items:center; justify-content:center; aspect-ratio:4/3; background:#f5f5f5; color:#777; font-size:14px; }
html body.bg-site-catalog .bg-site-card-photo img { display:block; width:100%; height:100%; padding:20px; object-fit:contain; }
html body.bg-site-catalog .bg-site-card-copy { display:flex; flex-direction:column; flex:1; padding:22px; }
html body.bg-site-catalog .bg-site-card-copy h2 { margin:0 0 22px; color:#000; font:600 26px/1.2 'Cormorant Garamond',serif; overflow-wrap:anywhere; }
html body.bg-site-catalog .bg-site-card-copy span { margin-top:auto; color:#000; font-size:13px; text-decoration:underline; text-underline-offset:4px; }
html body.bg-site-catalog .bg-site-archive-heading { max-width:800px; margin:32px 0 48px; }
html body.bg-site-catalog .bg-site-archive h1 { margin:0 0 20px; color:#000; font:600 clamp(40px,5vw,64px)/1.08 'Cormorant Garamond',serif; overflow-wrap:anywhere; }
html body.bg-site-catalog .bg-site-archive p { max-width:65ch; color:#555; font-size:16px; line-height:1.75; }
html body.bg-site-catalog .bg-site-archive .nav-links { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:40px; }
html body.bg-site-catalog .bg-site-archive .page-numbers { display:inline-flex; align-items:center; justify-content:center; padding:10px 16px; min-height:44px; border:1px solid #ddd; border-radius:999px; color:#000; }
html body.bg-site-catalog .bg-site-archive .page-numbers.current { background:#000; border-color:#000; color:#fff; }
html body.bg-site-catalog .bg-site-empty { max-width:600px; padding:36px; border-radius:24px; background:#f5f5f5; }
html body.bg-site-catalog .bg-site-empty a { display:block; margin-top:20px; color:#000; }
html body.bg-site-catalog .bg-site-unavailable { padding-top:64px; min-height:65svh; }
html body.bg-site-catalog .bg-site-unavailable .bg-site-card-grid { grid-template-columns:repeat(4,minmax(0,1fr)); margin:32px 0; }
html body.bg-site-catalog .bg-site-unavailable .bg-site-card-grid>a { padding:24px; background:#f5f5f5; border-radius:20px; color:#000; font-size:16px; }
html body.bg-site-catalog .bg-site-unavailable .bg-perfection-button { display:inline-flex; padding:14px 28px; border-radius:999px; background:#000; color:#fff; min-height:48px; }
html body.bg-site-catalog .bg-site-eyebrow { font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
html body.bg-site-catalog .bg-case header { max-width:900px; margin:0 auto 32px; }
html body.bg-site-catalog .bg-case h1 { margin:12px 0 20px; font:600 clamp(40px,5vw,64px)/1.08 'Cormorant Garamond',serif; color:#000; text-wrap:balance; }
html body.bg-site-catalog .bg-case-meta { color:#555; font-size:12px; }
html body.bg-site-catalog .bg-case-gallery { margin-top:32px; columns:3; column-gap:20px; }
html body.bg-site-catalog .bg-case-gallery figure { border-radius:20px; overflow:hidden; margin-bottom:20px; }
html body.bg-site-catalog .bg-case-gallery img { width:100%; height:auto; display:block; }
html body.bg-site-catalog .bg-case-back { display:inline-flex; align-items:center; padding:14px 26px; min-height:48px; border-radius:999px; background:#000; color:#fff; }
html body.bg-site-catalog.single-portfolio-item .qodef-e-title { font:600 clamp(40px,5vw,60px)/1.1 'Cormorant Garamond',serif; color:#000; }
html body.bg-site-catalog.single-portfolio-item :is(.qodef-info-item.qodef-e-info-date,.qodef-e-info-social-share,.qodef-e-info-item.qodef-e-info-date,.qodef-e-info-item.qodef-e-info-category) { display:none!important; }
html body.bg-site-catalog.single-portfolio-item .qodef-media img { max-height:480px; width:100%; object-fit:contain; border-radius:20px; background:#f5f5f5; }
html body.bg-site-catalog.bg-document-page #qodef-page-inner { width:min(calc(100% - 64px),900px)!important; padding:48px 0 64px!important; }
html body.bg-site-catalog.bg-document-page .qodef-page-title { display:none!important; }
html body.bg-site-catalog.bg-document-page :is(p,li) { font:400 16px/1.8 'Work Sans',sans-serif; color:#333; }
html body.bg-site-catalog.bg-document-page :is(h1,h2,h3) { color:#000; line-height:1.2; font-family:'Cormorant Garamond',serif; }
html body.bg-site-catalog.bg-document-page h1 { font-size:48px; }
html body.bg-site-catalog.bg-document-page :is(img,iframe) { max-width:100%; }
html body.bg-site-catalog.bg-document-page .bg-perfection-button { display:inline-flex; align-items:center; justify-content:center; padding:14px 26px; min-height:48px; background:#000; color:#fff; border-radius:999px; text-decoration:none; }
html body.bg-site-catalog a:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
@media(max-width:1100px) { html body.bg-site-catalog:not(.home):not(.bg-inner-page) #qodef-page-outer { margin-top:72px!important; } }
@media(max-width:1024px) { html body.bg-site-catalog:not(.home):not(.bg-inner-page) #qodef-page-outer { margin-top:0!important; } }
@media(max-width:900px) {
 html body.bg-site-catalog .bg-site-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 html body.bg-site-catalog .bg-site-related .bg-site-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 html body.bg-site-catalog .bg-case-gallery { columns:2; }
}
@media(max-width:767px) {
 html body.bg-site-catalog :is(.bg-detail,.bg-site-archive,.bg-case) { width:calc(100% - 40px); padding-top:24px; padding-bottom:48px; }
 html body.bg-site-catalog .bg-detail .bg-perfection-visual { height:320px; padding:22px; }
 html body.bg-site-catalog .bg-detail h1 { font-size:40px!important; max-width:none!important; }
 html body.bg-site-catalog .bg-detail .bg-detail-text-hero { padding:28px 20px; }
 html body.bg-site-catalog .bg-detail-content { margin-top:36px; }
 html body.bg-site-catalog .bg-detail-content h2 { font-size:30px; }
 html body.bg-site-catalog .bg-detail-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
 html body.bg-site-catalog .bg-detail-gallery img { height:180px; }
 html body.bg-site-catalog .bg-site-card-grid { gap:16px; grid-template-columns:minmax(0,1fr); }
 html body.bg-site-catalog .bg-site-card-copy { padding:20px; }
 html body.bg-site-catalog .bg-site-related .bg-site-card-copy { padding:16px 12px; }
 html body.bg-site-catalog .bg-site-related .bg-site-card-copy h2 { font-size:22px; }
 html body.bg-site-catalog .bg-site-section-heading { align-items:flex-start; flex-direction:column; }
 html body.bg-site-catalog .bg-site-archive-heading { margin:20px 0 32px; }
 html body.bg-site-catalog .bg-site-unavailable .bg-site-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 html body.bg-site-catalog .bg-site-unavailable .bg-site-card-grid>a { padding:20px 16px; }
 html body.bg-site-catalog.bg-document-page #qodef-page-inner { width:calc(100% - 40px)!important; padding-top:32px!important; }
 html body.bg-site-catalog.bg-document-page h1 { font-size:40px; }
}
@media(max-width:480px) { html body.bg-site-catalog .bg-case-gallery { columns:1; } }
@media(prefers-reduced-motion:reduce) { .bg-site-card { transition:none!important; } }
