:root {
  --oxblood:#5C1A1A;
  --oxblood-dark:#35100e;
  --parchment:#F2E8D5;
  --paper:#ead8b7;
  --gold:#C9A84C;
  --brass:#8B6914;
  --green:#3D5A3E;
  --ink:#1A1209;
  --muted:#6d5635;
  --line:rgba(26,18,9,.28);
  --shadow:0 18px 50px rgba(26,18,9,.25);
  --max:1120px;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  color:var(--ink);
  font-family:"Libre Baskerville", Georgia, serif;
  line-height:1.55;
  background:
    radial-gradient(circle at 12% 8%, rgba(201,168,76,.16), transparent 24rem),
    radial-gradient(circle at 90% 20%, rgba(92,26,26,.15), transparent 28rem),
    linear-gradient(90deg, rgba(26,18,9,.05) 1px, transparent 1px),
    linear-gradient(0deg, rgba(26,18,9,.035) 1px, transparent 1px),
    var(--parchment);
  background-size:auto, auto, 34px 34px, 34px 34px, auto;
}

body:before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.37;
  mix-blend-mode:multiply;
  background-image:
    repeating-radial-gradient(circle at 20% 30%, rgba(26,18,9,.05) 0 1px, transparent 1px 8px),
    linear-gradient(115deg, transparent 0 48%, rgba(255,255,255,.14) 50%, transparent 52% 100%);
  z-index:0;
}

a { color:inherit; }
img, audio { max-width:100%; }
.skip { position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip:focus { left:1rem; top:1rem; width:auto; height:auto; z-index:999; background:var(--paper); padding:.75rem; border:2px solid var(--ink); }

.site-frame {
  position:relative;
  z-index:1;
  width:min(100%, 1360px);
  margin:0 auto;
  background:
    linear-gradient(90deg, rgba(92,26,26,.07), transparent 9%, transparent 91%, rgba(92,26,26,.07)),
    transparent;
  border-left:1px solid rgba(139,105,20,.24);
  border-right:1px solid rgba(139,105,20,.24);
  min-height:100vh;
}

.nav {
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(53,16,14,.96);
  color:var(--paper);
  border-bottom:2px solid var(--brass);
  box-shadow:0 7px 24px rgba(0,0,0,.25);
}
.nav-inner {
  width:min(var(--max), calc(100% - 2rem));
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.55rem 0;
}
.brand {
  font-family:"IM Fell English", serif;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-size:1rem;
  color:var(--gold);
  white-space:nowrap;
}
.nav-links { display:flex; gap:.25rem; flex-wrap:wrap; justify-content:flex-end; }
.nav a {
  text-decoration:none;
  font-family:"Special Elite", monospace;
  font-size:.74rem;
  letter-spacing:.06em;
  padding:.42rem .62rem;
  border:1px solid transparent;
  color:#f5e4bd;
}
.nav a:hover, .nav a:focus { border-color:rgba(201,168,76,.55); background:rgba(201,168,76,.1); outline:none; }

.hero {
  width:min(var(--max), calc(100% - 2rem));
  margin:1.2rem auto 0;
  min-height:68vh;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:1rem;
  align-items:stretch;
}

.cabinet-panel {
  position:relative;
  background:
    linear-gradient(rgba(242,232,213,.88), rgba(226,204,166,.88)),
    repeating-linear-gradient(1deg, rgba(26,18,9,.035) 0 1px, transparent 1px 5px);
  border:1px solid rgba(26,18,9,.32);
  outline:6px solid rgba(92,26,26,.09);
  box-shadow:var(--shadow);
}
.cabinet-panel:before, .cabinet-panel:after {
  content:"✦";
  position:absolute;
  color:rgba(139,105,20,.5);
  font-size:1rem;
}
.cabinet-panel:before { left:.65rem; top:.42rem; }
.cabinet-panel:after { right:.65rem; bottom:.42rem; }

.intro-card { padding:2rem clamp(1.2rem, 3.2vw, 3.2rem); display:flex; flex-direction:column; justify-content:center; }
.label {
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  gap:.5rem;
  font-family:"Special Elite", monospace;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--muted);
  font-size:.72rem;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:.35rem 0 .28rem;
  margin-bottom:.9rem;
}
h1 {
  margin:.1rem 0 .3rem;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-weight:700;
  font-size:clamp(3.3rem, 9vw, 6.9rem);
  line-height:.78;
  letter-spacing:-.035em;
  color:var(--oxblood-dark);
  text-transform:uppercase;
  text-shadow:1px 1px 0 rgba(201,168,76,.28);
}
.tagline {
  margin:.8rem 0 1rem;
  font-family:"IM Fell English", serif;
  font-size:clamp(1.1rem, 2.1vw, 1.55rem);
  color:var(--green);
  letter-spacing:.16em;
  text-transform:uppercase;
}
.lede { max-width:52ch; margin:0 0 1.1rem; font-size:.98rem; }
.micro {
  font-family:"Special Elite", monospace;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.73rem;
  color:var(--muted);
}
.hero-cta { display:flex; gap:.7rem; flex-wrap:wrap; margin-top:1.2rem; }

.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  min-height:2.65rem;
  padding:.64rem .9rem .55rem;
  background:var(--oxblood);
  color:#f8eac9;
  border:1px solid rgba(201,168,76,.75);
  box-shadow:3px 3px 0 rgba(26,18,9,.18);
  font-family:"Special Elite", monospace;
  font-size:.74rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
}
.btn.secondary { background:var(--green); }
.btn.ghost { background:transparent; color:var(--oxblood-dark); border-color:rgba(92,26,26,.5); }
.btn:hover, .btn:focus { transform:translateY(-1px); outline:2px solid rgba(201,168,76,.5); outline-offset:2px; }

.portrait-case {
  padding:1rem;
  display:grid;
  grid-template-columns:.8fr 1fr;
  gap:.9rem;
  align-items:stretch;
  background:
    linear-gradient(135deg, rgba(61,90,62,.22), transparent 42%),
    linear-gradient(rgba(53,16,14,.94), rgba(36,13,11,.95));
  color:#f4e4c2;
  border-color:rgba(201,168,76,.45);
  outline-color:rgba(53,16,14,.25);
}
.headshot-frame {
  position:relative;
  align-self:center;
  border:2px solid var(--gold);
  padding:.42rem;
  background:#190f0a;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16), 0 14px 30px rgba(0,0,0,.35);
}
.headshot-frame img { display:block; width:100%; aspect-ratio:3/4; object-fit:cover; filter:sepia(.14) contrast(.98) saturate(.86); }
.headshot-frame:after {
  content:"TIM HOLT";
  position:absolute;
  left:50%; bottom:-.85rem;
  transform:translateX(-50%);
  background:var(--paper);
  color:var(--ink);
  border:1px solid var(--brass);
  padding:.16rem .5rem .1rem;
  font-family:"Special Elite", monospace;
  font-size:.65rem;
  letter-spacing:.12em;
  white-space:nowrap;
}
.specimen {
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid rgba(201,168,76,.35);
  padding:1rem;
  background:rgba(0,0,0,.12);
}
.specimen h2 {
  margin:0 0 .3rem;
  font-family:"IM Fell English", serif;
  font-weight:400;
  font-size:1.6rem;
  color:var(--gold);
}
.specimen p { margin:.4rem 0; font-size:.88rem; }
.small-rule { height:1px; background:linear-gradient(90deg, transparent, rgba(201,168,76,.6), transparent); margin:.85rem 0; }

main { width:min(var(--max), calc(100% - 2rem)); margin:1rem auto 0; }

section { scroll-margin-top:4.5rem; margin:1rem 0; }
.section-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.65rem;
  border-bottom:2px solid rgba(92,26,26,.35);
  padding-bottom:.35rem;
}
.section-head h2 {
  margin:0;
  font-family:"IM Fell English", serif;
  color:var(--oxblood-dark);
  font-size:clamp(1.75rem, 4vw, 2.65rem);
  font-weight:400;
  letter-spacing:.02em;
}
.section-head span { font-family:"Special Elite", monospace; font-size:.72rem; color:var(--muted); text-transform:uppercase; letter-spacing:.09em; }

.priority-grid {
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:1rem;
}
.drawer {
  position:relative;
  background:
    linear-gradient(180deg, rgba(255,248,232,.75), rgba(226,205,166,.82)),
    repeating-linear-gradient(90deg, rgba(26,18,9,.025) 0 1px, transparent 1px 6px);
  border:1px solid rgba(26,18,9,.32);
  box-shadow:0 8px 24px rgba(26,18,9,.14);
  padding:1rem;
}
.drawer.dark {
  background:
    radial-gradient(circle at 80% 0, rgba(201,168,76,.12), transparent 18rem),
    linear-gradient(rgba(53,16,14,.96), rgba(49,15,13,.96));
  color:#f3e2bd;
  border-color:rgba(201,168,76,.4);
}
.drawer.green {
  background:
    linear-gradient(rgba(61,90,62,.96), rgba(43,67,45,.96));
  color:#f7e7c4;
  border-color:rgba(201,168,76,.48);
}
.drawer-title {
  margin:0 0 .75rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  font-family:"Special Elite", monospace;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.11em;
  color:var(--oxblood-dark);
}
.drawer.dark .drawer-title, .drawer.green .drawer-title { color:var(--gold); }
.drawer-title:after { content:""; flex:1; height:1px; background:currentColor; opacity:.35; }

.demo-list { display:grid; gap:.75rem; }
.demo {
  display:grid;
  grid-template-columns:minmax(10rem, 1fr) minmax(14rem, 1.4fr);
  gap:.85rem;
  align-items:center;
  padding:.8rem;
  border:1px solid rgba(26,18,9,.24);
  background:rgba(255,248,232,.56);
}
.drawer.dark .demo { background:rgba(255,248,232,.07); border-color:rgba(201,168,76,.32); }
.demo h3 { margin:0 0 .18rem; font-family:"Cormorant Garamond", serif; font-size:1.25rem; line-height:1.1; }
.demo p { margin:0; font-size:.78rem; color:var(--muted); }
.drawer.dark .demo p { color:#d6c195; }
audio { width:100%; height:36px; filter:sepia(.18) saturate(.75); }

.book-card {
  display:grid;
  grid-template-columns:110px 1fr;
  gap:.9rem;
  align-items:center;
}
.book-cover {
  min-height:160px;
  border:2px solid rgba(92,26,26,.72);
  background:
    radial-gradient(circle at 50% 35%, rgba(201,168,76,.22), transparent 35%),
    linear-gradient(150deg, #2d2a1e, #5C1A1A 55%, #21110d);
  color:#f4dc9b;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:.7rem;
  box-shadow:inset 0 0 0 5px rgba(201,168,76,.22);
  font-family:"IM Fell English", serif;
  font-size:1.1rem;
  line-height:1.1;
}
.book-card h3 { margin:0 0 .2rem; font-family:"Cormorant Garamond", serif; font-size:1.65rem; line-height:1; color:var(--oxblood-dark); }
.book-card p { margin:.35rem 0; font-size:.88rem; }
.meta { font-family:"Special Elite", monospace; text-transform:uppercase; letter-spacing:.08em; font-size:.68rem; color:var(--muted); }

.columns { display:grid; grid-template-columns:repeat(3, 1fr); gap:1rem; }
.artifact {
  border:1px solid rgba(26,18,9,.28);
  padding:.9rem;
  min-height:100%;
  background:rgba(255,248,232,.45);
}
.dark .artifact, .green .artifact { background:rgba(255,248,232,.07); border-color:rgba(201,168,76,.28); }
.artifact h3 { margin:0 0 .45rem; font-family:"Cormorant Garamond", serif; font-size:1.35rem; line-height:1.05; }
.artifact ul { margin:.4rem 0 0; padding-left:1rem; }
.artifact li { margin:.25rem 0; font-size:.87rem; }

.about-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:1rem; }
.about-grid p { margin-top:0; font-size:.94rem; }
.quote-strip {
  margin-top:.9rem;
  padding:.6rem .75rem;
  border-left:4px solid var(--brass);
  background:rgba(201,168,76,.16);
  font-family:"IM Fell English", serif;
  font-size:1.05rem;
  color:var(--oxblood-dark);
}

.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:1rem; }
form { display:grid; gap:.65rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; }
label { display:grid; gap:.25rem; font-family:"Special Elite", monospace; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; }
input, textarea, select {
  width:100%;
  border:1px solid rgba(26,18,9,.42);
  background:rgba(255,248,232,.72);
  color:var(--ink);
  padding:.72rem .75rem;
  font:inherit;
  font-size:.9rem;
}
textarea { min-height:8.5rem; resize:vertical; }

footer {
  margin-top:1.2rem;
  background:var(--oxblood-dark);
  color:#ecd7a7;
  text-align:center;
  padding:1.2rem;
  border-top:2px solid var(--brass);
  font-family:"Special Elite", monospace;
  font-size:.72rem;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.ornament { text-align:center; color:var(--brass); font-family:"IM Fell English", serif; margin:.5rem 0; opacity:.9; }
.tags { display:flex; gap:.4rem; flex-wrap:wrap; margin:.65rem 0; }
.tag {
  font-family:"Special Elite", monospace;
  font-size:.65rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  border:1px solid currentColor;
  color:var(--muted);
  padding:.25rem .4rem .18rem;
}
.dark .tag, .green .tag { color:#e6c977; }

@media (max-width:900px) {
  .hero, .priority-grid, .about-grid, .contact-grid { grid-template-columns:1fr; }
  .portrait-case { grid-template-columns:220px 1fr; }
  .columns { grid-template-columns:1fr; }
  .nav-inner { align-items:flex-start; flex-direction:column; }
}
@media (max-width:620px) {
  .hero { min-height:auto; }
  .portrait-case, .demo, .book-card, .form-row { grid-template-columns:1fr; }
  .headshot-frame { max-width:260px; margin:auto; }
  .nav a { font-size:.68rem; padding:.35rem .42rem; }
  .intro-card { padding:1.4rem 1rem; }
  h1 { font-size:3.15rem; }
}


/* --- Curiosity cabinet graphic layer: drawn in HTML/CSS, no external image assets required --- */
.curio-wall {
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
  opacity:.58;
}
.curio-wall svg {
  position:absolute;
  color:rgba(92,26,26,.28);
  filter:sepia(.35) contrast(.9);
}
.curio-moon { width:250px; right:-42px; top:92px; transform:rotate(-10deg); opacity:.42; }
.curio-moth { width:210px; left:-32px; top:42vh; opacity:.30; transform:rotate(8deg); }
.curio-compass { width:230px; right:5%; bottom:3rem; opacity:.23; }
.curio-number { position:absolute; font-family:"Special Elite", monospace; color:rgba(26,18,9,.16); letter-spacing:.16em; font-size:.72rem; transform:rotate(-90deg); left:.8rem; top:34%; }

.cabinet-panel, .drawer {
  position:relative;
  overflow:hidden;
}
.cabinet-panel:before, .drawer:before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.34;
  mix-blend-mode:multiply;
  background:
    radial-gradient(circle at 12% 18%, rgba(92,26,26,.10), transparent 8rem),
    radial-gradient(circle at 88% 88%, rgba(61,90,62,.10), transparent 8rem),
    repeating-linear-gradient(102deg, rgba(26,18,9,.035) 0 1px, transparent 1px 9px),
    repeating-linear-gradient(0deg, transparent 0 11px, rgba(26,18,9,.022) 12px 13px);
}
.drawer:after {
  content:"✦";
  position:absolute;
  right:.72rem;
  top:.42rem;
  color:rgba(139,105,20,.33);
  font-family:"IM Fell English", serif;
  font-size:1.25rem;
  pointer-events:none;
}

.aged-corners { position:absolute; inset:.55rem; pointer-events:none; border:1px solid rgba(139,105,20,.34); }
.aged-corners:before, .aged-corners:after {
  content:""; position:absolute; width:54px; height:54px; border-color:rgba(92,26,26,.44); border-style:solid;
}
.aged-corners:before { left:-1px; top:-1px; border-width:2px 0 0 2px; }
.aged-corners:after { right:-1px; bottom:-1px; border-width:0 2px 2px 0; }

.specimen-strip {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:.55rem;
  margin:.9rem 0 .2rem;
}
.specimen {
  min-height:74px;
  border:1px solid rgba(139,105,20,.45);
  background:rgba(242,232,213,.43);
  display:grid;
  place-items:center;
  position:relative;
  box-shadow:inset 0 0 0 3px rgba(92,26,26,.05);
}
.specimen svg { width:46px; height:46px; color:rgba(92,26,26,.68); }
.specimen span {
  position:absolute;
  left:.35rem;
  bottom:.2rem;
  font-family:"Special Elite", monospace;
  font-size:.52rem;
  letter-spacing:.08em;
  color:rgba(26,18,9,.48);
  text-transform:uppercase;
}

.graphic-title {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  border-bottom:1px solid rgba(201,168,76,.38);
  padding-bottom:.45rem;
  margin-bottom:.75rem;
}
.graphic-title .drawer-title { margin:0; }
.title-plate {
  width:74px;
  height:48px;
  flex:0 0 auto;
  border:1px solid rgba(201,168,76,.42);
  background:rgba(242,232,213,.08);
  display:grid;
  place-items:center;
}
.title-plate svg { width:56px; height:36px; color:rgba(201,168,76,.72); }

.book-card { position:relative; }
.book-card:before {
  content:"";
  position:absolute;
  left:-.55rem; right:-.55rem; bottom:-.55rem; height:18px;
  background:repeating-linear-gradient(90deg, rgba(26,18,9,.17) 0 10px, rgba(139,105,20,.18) 10px 19px, transparent 19px 28px);
  opacity:.45;
}
.book-cover {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 20%, rgba(201,168,76,.55), transparent 2.5rem),
    linear-gradient(145deg, rgba(92,26,26,.92), rgba(53,16,14,.97));
  color:#f0dcae;
  text-shadow:0 1px 0 rgba(0,0,0,.35);
}
.book-cover:before {
  content:"";
  position:absolute;
  inset:.45rem;
  border:1px solid rgba(201,168,76,.58);
  box-shadow:inset 0 0 0 3px rgba(242,232,213,.06);
}
.book-cover:after {
  content:"✶ ✶ ✶";
  position:absolute;
  bottom:.7rem;
  left:0; right:0;
  font-size:.65rem;
  letter-spacing:.2em;
  color:rgba(201,168,76,.85);
}
.book-cover.has-cover-art { padding:0; }
.book-cover.has-cover-art:before, .book-cover.has-cover-art:after { content:none; }
.book-cover.has-cover-art img { display:block; width:100%; height:100%; object-fit:cover; }

.mini-gallery {
  width:min(var(--max), calc(100% - 2rem));
  margin:.95rem auto 0;
  display:grid;
  grid-template-columns:1.15fr .85fr 1fr;
  gap:.75rem;
}
.gallery-card {
  min-height:112px;
  border:1px solid rgba(139,105,20,.42);
  background:
    linear-gradient(rgba(242,232,213,.72), rgba(234,216,183,.62)),
    repeating-linear-gradient(135deg, rgba(92,26,26,.08) 0 1px, transparent 1px 7px);
  box-shadow:0 10px 30px rgba(26,18,9,.14), inset 0 0 0 4px rgba(242,232,213,.35);
  position:relative;
  overflow:hidden;
  padding:.65rem .75rem;
  display:grid;
  grid-template-columns:80px 1fr;
  gap:.7rem;
  align-items:center;
}
.gallery-card svg { width:76px; height:76px; color:rgba(92,26,26,.65); }
.gallery-card strong { display:block; font-family:"IM Fell English", serif; font-size:1.08rem; color:var(--oxblood-dark); line-height:1; }
.gallery-card span { display:block; font-family:"Special Elite", monospace; font-size:.6rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-top:.22rem; }

.section-head { position:relative; }
.section-head:before, .section-head:after {
  content:"";
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(139,105,20,.55), transparent);
  position:absolute;
  bottom:-.33rem;
  width:32%;
}
.section-head:before { left:0; }
.section-head:after { right:0; }

.artifact { background-image:linear-gradient(rgba(255,248,232,.50), rgba(255,248,232,.39)), repeating-linear-gradient(90deg, rgba(26,18,9,.035) 0 1px, transparent 1px 18px); }
.artifact h3:before { content:"▸ "; color:var(--brass); font-size:.78em; }

@media (max-width:900px) { .mini-gallery { grid-template-columns:1fr; } }
@media (max-width:620px) { .specimen-strip { grid-template-columns:1fr; } .gallery-card { grid-template-columns:60px 1fr; } .gallery-card svg { width:56px; height:56px; } }
