@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,500;0,9..144,600;1,9..144,500&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  --ink:#151110;
  --walnut:#1d1712;
  --walnut-2:#241c15;
  --parchment:#efe6cf;
  --parchment-2:#e6dab9;
  --brass:#b6893f;
  --brass-light:#d9b26a;
  --oxblood:#6e2a2f;
  --sage:#5d6a54;
  --hair:rgba(182,137,63,0.35);
}

* { box-sizing: border-box; }

body{
  background:var(--walnut);
  background-image: radial-gradient(circle at 20% 0%, #2a2118 0%, var(--walnut) 55%);
  font-family:'Inter', sans-serif;
  color:var(--parchment);
  min-height:100vh;
  margin:0;
}

.display{ font-family:'Fraunces', serif; }
.mono{ font-family:'JetBrains Mono', monospace; letter-spacing:0.04em; }
.hair-rule{ border-top:1px solid var(--hair); }

.container{ max-width:1024px; margin:0 auto; padding:0 20px; }

/* NAV */
header.nav{
  position:sticky; top:0; z-index:40;
  backdrop-filter: blur(6px);
  background: rgba(29,23,18,0.85);
  border-bottom:1px solid var(--hair);
}
.nav-inner{ display:flex; align-items:center; justify-content:space-between; padding:12px 20px; max-width:1024px; margin:0 auto; }
.nav-brand{ font-weight:600; letter-spacing:0.02em; font-size:16px; }
.nav-brand .dot{ color:var(--brass-light); }
nav.links{ display:none; gap:24px; font-size:12px; text-transform:uppercase; opacity:0.8; }
nav.links a{ color:var(--parchment); text-decoration:none; }
nav.links a:hover{ color:#fff; }
@media (min-width:640px){ nav.links{ display:flex; } }

/* HERO */
.hero{ max-width:1024px; margin:0 auto; padding:64px 20px 80px; text-align:center; }
.hero-photo{ max-width:560px; width:100%; margin:0 auto 24px; display:block; border-radius:4px; box-shadow:0 18px 40px -18px rgba(0,0,0,0.6); }
.hero-name{
  font-weight:500; color:var(--brass-light);
  font-size: clamp(2.75rem, 6vw, 5.625rem);
  line-height:1.1;
}
.hero-sub{
  font-weight:500; opacity:0.9;
  font-size: clamp(2.2rem, 4.8vw, 4.5rem);
  line-height:1.15; margin-top:8px;
}
.hero-sub em{ font-style:italic; color:var(--brass-light); }
.hero-contact{
  font-family:'JetBrains Mono', monospace;
  opacity:0.95; margin-top:20px;
  font-size: clamp(1.05rem, 2vw, 1.5rem);
  color:var(--brass-light); letter-spacing:0.02em;
}
.hero-tag{ font-size:12px; text-transform:uppercase; opacity:0.6; margin-top:16px; letter-spacing:0.04em;}
.hero-desc{ max-width:560px; margin:24px auto 0; opacity:0.8; font-size:15px; line-height:1.6; }
.hero-actions{ display:flex; align-items:center; justify-content:center; gap:12px; margin-top:32px; }

.btn-brass{ background:var(--brass); color:#1d1712; font-weight:600; padding:10px 20px; border-radius:4px; text-decoration:none; display:inline-block; font-size:14px; border:none; cursor:pointer; }
.btn-brass:hover{ background:var(--brass-light); }
.btn-ghost{ border:1px solid var(--hair); color:var(--parchment); padding:10px 20px; border-radius:4px; text-decoration:none; display:inline-block; font-size:14px; background:none; cursor:pointer; }
.btn-ghost:hover{ border-color:var(--brass-light); color:var(--brass-light); }

/* ABOUT / EXPERTISE */
section.page-section{ max-width:1024px; margin:0 auto; padding:48px 20px; }
.section-title{ font-weight:500; font-size:24px; margin-bottom:16px; text-align:center; }
.section-label{ font-size:12px; text-transform:uppercase; opacity:0.6; margin-bottom:8px; text-align:center; }
.about-body{ max-width:720px; margin:0 auto; }
.about-body p{ font-size:15px; line-height:1.7; opacity:0.9; margin-bottom:16px; }

.expertise-grid{ display:grid; gap:24px; grid-template-columns:1fr; margin-top:24px;}
@media (min-width:640px){ .expertise-grid{ grid-template-columns:repeat(3,1fr); } }
.expertise-col .label{ font-size:12px; text-transform:uppercase; opacity:0.6; margin-bottom:8px; }
.expertise-col ul{ list-style:none; padding:0; margin:0; font-size:14px; opacity:0.9; }
.expertise-col ul li{ margin-bottom:4px; }
.expertise-col.objects ul{ columns:2; gap:16px; }

/* USEFUL LINKS */
.links-grid{ display:grid; gap:24px; grid-template-columns:1fr; margin-top:24px; }
@media (min-width:640px){ .links-grid{ grid-template-columns:repeat(2,1fr); } }
.link-card{
  display:block; text-decoration:none; color:inherit;
  background: linear-gradient(180deg, var(--parchment) 0%, var(--parchment-2) 100%);
  border-radius:2px; overflow:hidden;
  box-shadow: 0 18px 40px -18px rgba(0,0,0,0.6);
  transition: transform .2s ease;
}
.link-card:hover{ transform:translateY(-3px); }
.link-thumb-wrap{ position:relative; width:100%; aspect-ratio:16/9; background:#000; overflow:hidden; }
.link-thumb-wrap img{ width:100%; height:100%; object-fit:cover; display:block; }
.link-play{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:52px; height:52px; border-radius:50%;
  background:rgba(29,23,18,0.65); color:#efe6cf;
  display:flex; align-items:center; justify-content:center; font-size:20px;
}
.link-body{ padding:14px 16px; color:var(--ink); }
.link-title{ font-weight:600; font-size:15px; margin-bottom:4px; }
.link-note{ font-size:12px; opacity:0.7; font-family:'JetBrains Mono', monospace; }

/* LOT CARDS */
.lot-grid{ display:grid; gap:24px; grid-template-columns:1fr; }
@media (min-width:640px){ .lot-grid{ grid-template-columns:repeat(2,1fr); } }

.lot-card{
  background: linear-gradient(180deg, var(--parchment) 0%, var(--parchment-2) 100%);
  color: var(--ink);
  position:relative;
  box-shadow: 0 18px 40px -18px rgba(0,0,0,0.6);
  border-radius:2px;
}
.lot-card-inner{ position:relative; margin:6px; border:1px solid rgba(21,17,16,0.15); }
.lot-image-wrap{ position:relative; width:100%; aspect-ratio:4/3; overflow:hidden; background:rgba(0,0,0,0.05); }
.lot-image-wrap img{ width:100%; height:100%; object-fit:contain; display:block; }
.carousel-btn{
  position:absolute; top:50%; transform:translateY(-50%);
  width:32px; height:32px; border-radius:50%; border:none;
  background:rgba(29,23,18,0.55); color:#efe6cf; font-size:18px; line-height:1;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
}
.carousel-btn:hover{ background:rgba(29,23,18,0.8); }
.carousel-prev{ left:10px; }
.carousel-next{ right:10px; }
.carousel-count{
  position:absolute; bottom:10px; right:10px;
  background:rgba(29,23,18,0.6); color:#efe6cf; font-size:11px;
  padding:2px 8px; border-radius:10px; font-family:'JetBrains Mono', monospace;
}
.lot-seal{
  position:absolute; top:10px; left:10px; width:38px; height:38px; border-radius:50%;
  background: radial-gradient(circle at 35% 30%, var(--brass-light), var(--brass) 70%);
  color:#241c15; font-family:'JetBrains Mono', monospace; font-weight:600; font-size:12px;
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4), inset 0 0 0 1px rgba(0,0,0,0.15);
}
.lot-body{ padding:16px; }
.lot-title{ font-family:'Fraunces', serif; font-weight:600; font-size:16px; margin-bottom:4px; }
.lot-meta{ font-size:11px; text-transform:uppercase; letter-spacing:0.05em; opacity:0.6; margin-bottom:8px; }
.lot-note{ font-size:13px; line-height:1.55; opacity:0.85; }
.lot-footer{ margin-top:12px; padding-top:10px; border-top:1px solid rgba(21,17,16,0.15); }
.lot-status{ display:block; font-size:12px; font-style:italic; letter-spacing:0.01em; opacity:0.75; line-height:1.4; }
.category-heading{ font-family:'Fraunces', serif; font-weight:500; font-size:20px; margin:40px 0 20px; color:var(--brass-light); text-align:left; }
.category-heading:first-child{ margin-top:0; }

/* CONTACT */
.contact-section{ text-align:center; }
.contact-loc{ display:flex; align-items:center; justify-content:center; gap:8px; font-family:'JetBrains Mono', monospace; font-size:12px; opacity:0.7; margin-bottom:24px; }

footer{ text-align:center; padding:32px 0; font-family:'JetBrains Mono', monospace; font-size:10px; opacity:0.4; }

/* --- mobile menu (kept from previous build, per request) --- */
.nav-toggle{
  display:flex; flex-direction:column; justify-content:center; gap:5px;
  width:34px; height:34px; padding:0; border:none; background:none; cursor:pointer; flex-shrink:0;
}
.nav-toggle span{ display:block; width:100%; height:2px; background:var(--parchment); border-radius:1px; transition:transform 0.2s ease, opacity 0.2s ease; }
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.nav-inner{ position:relative; gap:16px; }
.nav-brand{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
nav.links.open{
  display:flex; flex-direction:column; gap:0; font-size:13px;
  position:absolute; top:100%; left:0; right:0;
  background:rgba(20,16,12,0.98); border-bottom:1px solid var(--hair);
  padding:6px 20px 14px;
}
nav.links.open a{ padding:12px 2px; border-top:1px solid var(--hair); }
@media (min-width:640px){
  nav.links.open{ position:static; background:none; border:none; flex-direction:row; padding:0; }
  nav.links.open a{ padding:0; border:none; }
  .nav-toggle{ display:none; }
}
