:root{
  --paper:#f4efe3;       /* warm ivory */
  --paper-2:#efe8d9;
  --ink:#2a2420;         /* warm near-black */
  --ink-soft:#6b5f52;    /* muted sepia */
  --rule:#cabfa8;        /* faint line */
  --mat:#fbf8f1;         /* print mat */
  --accent:#7a2e22;      /* oxblood */
  --serif:"EB Garamond", Georgia, "Times New Roman", serif;
  --display:"Playfair Display", Georgia, serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--serif);
  font-size:19px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  background-image:radial-gradient(circle at 50% 0,rgba(0,0,0,.015),transparent 60%);
}
.wrap{max-width:1040px;margin:0 auto;padding:0 24px 72px}
a{color:var(--accent)}

/* ===== Top bar / brand / nav ===== */
.topbar{border-bottom:1px solid var(--rule);text-align:center;padding:26px 24px 0}
.brand{display:inline-block}
.brand a{
  font-family:var(--display);font-weight:600;font-size:30px;letter-spacing:.01em;
  color:var(--ink);text-decoration:none;display:block;line-height:1}
.brand .brand-sub{
  display:block;font-style:italic;color:var(--ink-soft);font-size:15px;margin-top:4px}
.site-nav{
  display:flex;flex-wrap:wrap;justify-content:center;gap:6px 30px;
  margin:18px 0 0;padding:14px 0 16px}
.site-nav a{
  font-variant:small-caps;letter-spacing:.2em;font-size:14px;text-transform:lowercase;
  color:var(--ink-soft);text-decoration:none;padding-bottom:3px;border-bottom:1px solid transparent}
.site-nav a:hover{color:var(--ink)}
.site-nav a.current{color:var(--accent);border-bottom-color:var(--accent)}

/* ===== Home: hero ===== */
.hero{text-align:center;padding:62px 0 8px}
.hero .eyebrow{
  font-variant:small-caps;letter-spacing:.32em;text-transform:lowercase;
  font-size:14px;color:var(--ink-soft);margin:0 0 16px}
.hero h1{
  font-family:var(--display);font-weight:600;font-size:clamp(34px,6.5vw,56px);
  line-height:1.08;margin:0;max-width:16ch;margin-inline:auto}
.hero .lede{max-width:600px;margin:24px auto 0;font-style:italic;color:var(--ink-soft);font-size:19px}
.hero .cta{margin-top:30px}
.btn{
  display:inline-block;font-variant:small-caps;letter-spacing:.16em;font-size:15px;
  color:var(--accent);text-decoration:none;border:1px solid var(--accent);
  border-radius:2px;padding:9px 22px;transition:background .15s,color .15s}
.btn:hover{background:var(--accent);color:var(--paper)}

/* ===== Section heading (shared) ===== */
.sec-head{text-align:center;margin-top:70px}
.sec-head h2{font-family:var(--display);font-weight:600;font-size:27px;margin:0}
.sec-head .meta{
  font-variant:small-caps;letter-spacing:.2em;color:var(--ink-soft);font-size:14px;margin:8px 0 0}
.divider{height:1px;background:var(--rule);max-width:220px;margin:20px auto 40px;position:relative}
.divider::after{content:"";position:absolute;left:50%;top:-3px;width:7px;height:7px;transform:translateX(-50%) rotate(45deg);background:var(--paper);border:1px solid var(--rule)}

/* ===== Plates / gallery ===== */
.collection{margin-top:14px}
.plates{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px 34px;align-items:start}
figure.plate{margin:0;text-align:center}
.frame{
  background:var(--mat);padding:16px 16px 18px;border:1px solid #e4dcc9;
  box-shadow:0 2px 2px rgba(60,45,25,.06),0 14px 30px rgba(60,45,25,.11);
  display:inline-block;max-width:100%}
.frame img{display:block;max-width:100%;height:auto;border:1px solid #d8cfb9}
figcaption{margin:14px 4px 0}
figcaption .title{font-style:italic;font-size:19px}
figcaption .cap-meta{font-variant:small-caps;letter-spacing:.14em;font-size:13px;color:var(--ink-soft);margin-top:4px}
figcaption .tags{margin-top:7px}
figcaption .tags a,figcaption .tags span{
  display:inline-block;font-size:12.5px;color:var(--accent);text-decoration:none;
  border:1px solid #e0d2bf;border-radius:2px;padding:1px 8px;margin:2px 2px 0;
  font-variant:small-caps;letter-spacing:.08em}

/* ===== About (home) ===== */
.about{max-width:680px;margin:0 auto}
.about p{margin:0 0 18px}
.about p:first-of-type::first-letter{
  font-family:var(--display);font-size:3.1em;line-height:.8;float:left;
  padding:4px 10px 0 0;color:var(--accent)}

/* ===== Footer ===== */
footer{margin-top:80px;border-top:1px solid var(--rule);padding-top:26px;text-align:center;color:var(--ink-soft)}
footer .note{font-style:italic;max-width:620px;margin:0 auto;font-size:16px}
footer .fine{font-variant:small-caps;letter-spacing:.2em;font-size:12.5px;margin-top:18px}

/* ===== Support: counters ===== */
.counts{display:flex;flex-wrap:wrap;justify-content:center;gap:44px 80px;margin:6px auto 4px}
.count{text-align:center;min-width:180px}
.count .num{font-family:var(--display);font-weight:600;font-size:clamp(46px,9vw,76px);line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}
.count .lab{font-variant:small-caps;letter-spacing:.2em;font-size:14px;color:var(--ink-soft);margin-top:12px}
.count .sub{font-style:italic;font-size:14px;color:var(--ink-soft);margin-top:6px}

@media (max-width:560px){ body{font-size:18px} .hero{padding-top:44px} .site-nav{gap:4px 18px} .counts{gap:34px} }
