:root{--bg: #f7f4ef;--ink: #1a1a1a;--muted: #8a8278;--line: #d8d1c6;--paper: #fffdf9}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Jost,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}.site-header,.site-footer{display:flex;justify-content:center;padding:28px 24px;letter-spacing:.35em;text-transform:uppercase;font-size:11px;color:var(--muted)}.brand{display:flex;flex-direction:column;align-items:center;gap:8px}.mark{font-family:Cormorant Garamond,serif;font-size:42px;letter-spacing:.12em;color:var(--ink);line-height:1}.name{letter-spacing:.42em;font-size:11px;padding-left:.42em}.catalog,.detail,.empty{width:min(1080px,calc(100% - 48px));margin:0 auto 64px}.empty{text-align:center;padding-top:48px}.empty h1,.detail h1,.card h2{font-family:Cormorant Garamond,serif;font-weight:400}.eyebrow,.status{letter-spacing:.32em;text-transform:uppercase;font-size:11px;color:var(--muted);text-align:center}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:36px 28px;margin-top:36px}.card{display:flex;flex-direction:column;gap:8px}.card h2{margin:12px 0 0;font-size:28px;font-weight:400}.frame{position:relative;aspect-ratio:4 / 5;background:#efeae3;display:flex;align-items:center;justify-content:center;overflow:hidden}.badge{position:absolute;top:12px;left:12px;z-index:1;background:var(--ink);color:var(--bg);font-size:10px;letter-spacing:.22em;text-transform:uppercase;padding:7px 9px 6px 11px}.frame img{width:100%;height:100%;object-fit:cover}.no-photo{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;font-size:11px}.price{margin:0;letter-spacing:.08em}.price.large{font-size:18px}.avail{margin:0;color:var(--ink);font-size:14px}.avail span{display:block}.muted{color:var(--muted)}.text-link{letter-spacing:.22em;text-transform:uppercase;font-size:11px;color:var(--muted)}.detail-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:48px;margin-top:28px}.detail h1{margin:0 0 8px;font-size:clamp(40px,5vw,64px);font-weight:400}.detail h2{margin:32px 0 12px;font-size:12px;font-weight:400;letter-spacing:.28em;text-transform:uppercase}.description{line-height:1.7}.detail .description h1,.detail .description h2,.detail .description h3{font-family:Cormorant Garamond,serif;font-weight:400;letter-spacing:0;text-transform:none;margin:.7em 0 .25em}.detail .description h1{font-size:34px}.detail .description h2{font-size:26px}.detail .description h3{font-size:20px}.description p{margin:0 0 .8em}.description ul{margin:.4em 0 .8em;padding-left:1.2em}.description li:has(input[type=checkbox]){list-style:none;margin-left:-1.2em}.description input[type=checkbox]{margin-right:8px;accent-color:var(--ink)}.description strong{font-weight:500}.gallery{display:flex;flex-direction:column;gap:16px;outline:none}.gallery-frame{touch-action:pan-y}.gallery-track{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;height:100%;transition:transform .65s cubic-bezier(.22,1,.36,1)}.gallery-track img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.gallery-nav{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:42px;height:42px;margin-top:-21px;padding:0;border:0;border-radius:50%;background:#fffdf9eb;color:var(--ink);letter-spacing:0;text-transform:none;box-shadow:0 8px 24px #1a1a1a1f;transition:transform .25s ease,background .25s ease}.gallery-nav.prev{left:14px}.gallery-nav.next{right:14px}.gallery-nav:hover{transform:translateY(-1px);background:#fffdf9}.gallery-count{position:absolute;right:14px;bottom:14px;z-index:2;margin:0;padding:6px 9px 5px;background:#fffdf9eb;font-size:11px;letter-spacing:.16em}.gallery-dots{display:flex;justify-content:center;align-items:center;gap:7px}.gallery-dots button{width:28px;height:3px;padding:0;border:0;border-radius:0;background:#cfc6ba;letter-spacing:0;text-transform:none;transition:width .35s ease,background .35s ease}.gallery-dots button[aria-current=true]{width:44px;background:var(--ink)}@media (prefers-reduced-motion: reduce){.gallery-track,.gallery-nav,.gallery-dots button{transition:none}}.groups{list-style:none;margin:0;padding:0}.groups li{display:flex;justify-content:space-between;gap:24px;padding:12px 0;border-top:1px solid var(--line)}@media (max-width: 800px){.detail-layout{grid-template-columns:1fr;gap:24px}}
