
:root {
  --ink:#2b1b15;
  --brown:#70432d;
  --tan:#d8c1a5;
  --cream:#f6f0e7;
  --paper:#fffdf9;
  --muted:#765743;
  --shadow:0 10px 30px rgba(63,37,23,.12);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  color:var(--ink);
  background:var(--cream);
  font-family:Georgia,"Times New Roman",serif;
}
a { color:var(--brown); }
.site-header {
  padding:58px 24px 38px;
  text-align:center;
  background:linear-gradient(#fffaf2,#f6f0e7);
}
.site-header h1 {
  margin:0 0 12px;
  font-size:clamp(2.3rem,6vw,4.7rem);
  font-weight:500;
}
.site-header p {
  max-width:760px;
  margin:0 auto;
  color:#684b3b;
  font-size:1.15rem;
  line-height:1.55;
}
.controls { max-width:760px; margin:26px auto 0; }
.controls input,
.controls select {
  width:100%;
  padding:15px 18px;
  border:1px solid var(--tan);
  border-radius:999px;
  background:white;
  font:1rem Arial,sans-serif;
}
.control-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:12px;
}
.control {
  display:block;
  text-align:left;
  font:600 .85rem Arial,sans-serif;
  color:var(--muted);
}
.control select { margin-top:6px; border-radius:14px; }
@media(max-width:600px) {
  .control-row { grid-template-columns:1fr; }
}
main { max-width:1380px; margin:auto; padding:24px; }
.catalog {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
  gap:28px;
  align-items:start;
}
.card {
  overflow:hidden;
  background:var(--paper);
  border:1px solid var(--tan);
  border-radius:22px;
  box-shadow:var(--shadow);
}
.photo-wrap {
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#e9e0d4;
}
.photo-wrap img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.card-body { padding:28px 28px 30px; }
.catalog-id {
  color:var(--brown);
  font:700 .96rem Arial,sans-serif;
  letter-spacing:.13em;
}
.card h2, .entry h1 {
  margin:18px 0;
  font-size:2rem;
  line-height:1.08;
}
.meta { color:var(--muted); font-size:1.14rem; }
.value { font-size:1.5rem; font-weight:700; }
.details-link { font-weight:700; text-decoration:none; }
.details-link::before { content:"▸ "; }
.entry {
  max-width:1280px;
  margin:0 auto;
  padding:34px 0 60px;
}
.back { display:inline-block; margin-bottom:22px; font-weight:700; text-decoration:none; }
.entry-grid {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  gap:44px;
}
.gallery { display:grid; gap:18px; }
.gallery img {
  width:100%;
  max-height:760px;
  object-fit:contain;
  background:#eee4d7;
  border-radius:16px;
  box-shadow:var(--shadow);
}
.entry-copy {
  align-self:start;
  position:sticky;
  top:18px;
  padding:34px;
  background:var(--paper);
  border:1px solid var(--tan);
  border-radius:20px;
}
.entry-copy h3 { margin:30px 0 8px; color:var(--brown); }
.entry-copy p { font-size:1.08rem; line-height:1.65; }
dl { margin:0; }
dl div {
  display:grid;
  grid-template-columns:125px 1fr;
  padding:10px 0;
  border-bottom:1px solid #eadfd2;
}
dt { font-weight:700; }
dd { margin:0; }
.site-footer { padding:50px 20px; text-align:center; color:var(--muted); }
@media(max-width:800px) {
  main { padding:16px; }
  .site-header { padding-top:42px; }
  .entry-grid { grid-template-columns:1fr; }
  .entry-copy { position:static; }
  .card h2 { font-size:1.75rem; }
}
@media print {
  .site-header,.controls,.site-footer,.back { display:none; }
  body { background:white; }
  main { max-width:none; padding:0; }
  .entry-grid { display:block; }
  .entry-copy { border:0; padding:0; position:static; }
  .gallery img { max-height:5.8in; box-shadow:none; }
}
