
:root {
  --green: #3E5641;
  --green-deep: #2A3B2C;
  --green-tint: #E8EDE8;
  --warm: #F5F2ED;
  --paper: #FCFAF6;
  --ink: #1F211F;
  --muted: #6B6E6A;
  --brass: #B08D57;
  --border: #D6D1C7;
  --shadow: 0 20px 55px rgba(42,59,44,.11);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { background: var(--green-deep); scroll-behavior: smooth; }
body {
  background: var(--warm);
  color: var(--ink);
  font-family: Inter, system-ui, sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; }
a { color: inherit; }
.archive-header {
  background: var(--green);
  color: var(--warm);
  padding: 1.35rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.header-inner {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.wordmark {
  text-decoration: none;
  font-family: Fraunces, Georgia, serif;
  font-size: 1.2rem;
  font-weight: 500;
}
.back-link {
  color: #d6ded6;
  font-size: .88rem;
  text-decoration: none;
}
.back-link:hover { color: var(--warm); }
.archive-hero {
  background: var(--green);
  color: var(--warm);
  padding: clamp(4rem, 9vw, 7.5rem) 1.5rem;
}
.archive-hero .inner, .section-inner, .profile-main {
  width: min(1180px, 100%);
  margin: 0 auto;
}
.eyebrow {
  color: var(--brass);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .25em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.archive-hero h1, .profile-title, .section-title {
  font-family: Fraunces, Georgia, serif;
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -.02em;
}
.archive-hero h1 { font-size: clamp(2.6rem, 7vw, 5.3rem); max-width: 850px; }
.archive-hero .lead {
  max-width: 720px;
  color: #d6ded6;
  font-size: clamp(1.05rem, 2vw, 1.28rem);
  margin-top: 1.5rem;
}
.archive-note {
  margin-top: 2rem;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: #ccd5cd;
  font-size: .88rem;
}
.archive-note::before {
  content: "";
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--brass);
}
.dogs-section { padding: clamp(3.5rem, 8vw, 7rem) 1.5rem; }
.section-head {
  display: flex; align-items: end; justify-content: space-between; gap: 2rem;
  margin-bottom: 2.2rem;
}
.section-title { color: var(--green-deep); font-size: clamp(2rem, 4vw, 3.2rem); }
.section-copy { max-width: 480px; color: var(--muted); }
.dog-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: clamp(1.2rem,3vw,2rem);
}
.dog-card {
  display: grid;
  grid-template-columns: minmax(150px,.85fr) minmax(0,1.15fr);
  min-height: 310px;
  background: var(--paper);
  border: 1px solid var(--border);
  text-decoration: none;
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease;
}
.dog-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.dog-card img { width:100%; height:100%; min-height:310px; object-fit:cover; display:block; }
.dog-card-copy { padding: clamp(1.35rem,3vw,2.2rem); display:flex; flex-direction:column; justify-content:center; }
.status {
  display:inline-flex; align-self:flex-start;
  border:1px solid var(--border); color:var(--muted);
  padding:.32rem .65rem; font-size:.7rem; letter-spacing:.13em; text-transform:uppercase;
  margin-bottom:1.2rem;
}
.dog-card h2 { font-family: Fraunces,Georgia,serif; font-size:clamp(1.75rem,3vw,2.45rem); line-height:1.03; font-weight:500; }
.registered { color:var(--muted); margin-top:.65rem; font-size:.92rem; }
.card-link { margin-top:1.5rem; color:var(--green); font-size:.86rem; }
.archive-footer {
  background: var(--green-deep); color:#b9c4ba; text-align:center; padding:2.25rem 1.5rem; font-size:.85rem;
}
.archive-footer a { color:var(--warm); text-decoration:none; font-family:Fraunces,Georgia,serif; font-size:1rem; }

/* Profile */
.profile-hero {
  background: var(--green);
  color: var(--warm);
  padding: clamp(3.2rem,7vw,6rem) 1.5rem;
}
.profile-hero-grid {
  width:min(1180px,100%); margin:0 auto;
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr); gap:clamp(2rem,6vw,5rem); align-items:center;
}
.profile-title { font-size:clamp(3.1rem,8vw,6rem); }
.profile-registered { color:#d6ded6; font-size:clamp(1rem,2vw,1.25rem); margin-top:.6rem; }
.profile-titles { color:var(--brass); margin-top:1.2rem; font-family:Fraunces,Georgia,serif; font-style:italic; font-size:1.08rem; }
.profile-intro { color:#d6ded6; max-width:650px; margin-top:1.5rem; }
.profile-cover {
  aspect-ratio: 4/4.5; width:100%; object-fit:cover; border:1px solid rgba(255,255,255,.18); box-shadow:0 25px 70px rgba(0,0,0,.2);
}
.profile-main { padding: clamp(3.5rem,8vw,7rem) 1.5rem; }
.fact-grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px;
  background:var(--border); border:1px solid var(--border); margin-bottom:clamp(4rem,8vw,7rem);
}
.fact { background:var(--paper); padding:1.2rem 1.35rem; }
.fact dt { color:var(--muted); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.fact dd { margin-top:.25rem; font-family:Fraunces,Georgia,serif; font-size:1.12rem; color:var(--green-deep); }
.content-section { margin-bottom: clamp(4rem,8vw,7rem); }
.content-section h2 { font-family:Fraunces,Georgia,serif; color:var(--green-deep); font-size:clamp(2rem,4vw,3.1rem); font-weight:500; line-height:1.05; margin-bottom:1.5rem; }
.results-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; }
.result-panel { background:var(--paper); border:1px solid var(--border); padding:clamp(1.4rem,3vw,2rem); }
.result-panel h3 { font-family:Fraunces,Georgia,serif; font-size:1.5rem; font-weight:500; color:var(--green-deep); margin-bottom:.9rem; }
.result-panel ul { padding-left:1.15rem; }
.result-panel li + li { margin-top:.58rem; }
.parents { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); }
.parent { background:var(--green-tint); padding:1.4rem; }
.parent small { display:block; color:var(--muted); text-transform:uppercase; letter-spacing:.13em; font-size:.68rem; margin-bottom:.35rem; }
.parent strong { font-family:Fraunces,Georgia,serif; color:var(--green-deep); font-size:1.2rem; font-weight:500; }
.pedigree-note { color:var(--muted); margin-top:1rem; }
.gallery {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem;
}
.gallery a { display:block; background:#ddd; overflow:hidden; aspect-ratio:4/3; border:1px solid var(--border); }
.gallery img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .25s ease; }
.gallery a:hover img { transform:scale(1.025); }
.original-profile {
  background:var(--green-tint); border:1px solid var(--border); padding:clamp(1.2rem,3vw,2rem);
}
.original-profile p { color:var(--muted); max-width:760px; }
.pdf-actions { display:flex; gap:.8rem; flex-wrap:wrap; margin:1.1rem 0 1.4rem; }
.button {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; padding:.65rem 1rem;
  border:1px solid var(--green); color:var(--green-deep); text-decoration:none; font-size:.88rem;
}
.button.primary { background:var(--green); color:var(--warm); }
.pdf-frame { width:100%; height:min(78vh,820px); border:1px solid var(--border); background:white; }
.lightbox {
  position:fixed; inset:0; z-index:100; background:rgba(15,20,16,.94); display:none; place-items:center; padding:2rem;
}
.lightbox.open { display:grid; }
.lightbox img { max-height:90vh; max-width:94vw; object-fit:contain; }
.lightbox button { position:absolute; top:1rem; right:1rem; border:0; background:white; color:#111; width:42px; height:42px; border-radius:50%; font-size:1.4rem; cursor:pointer; }
@media (max-width: 920px) {
  .dog-grid { grid-template-columns:1fr; }
  .profile-hero-grid { grid-template-columns:1fr; }
  .profile-cover { max-height:560px; aspect-ratio:16/10; }
}
@media (max-width: 680px) {
  .header-inner { align-items:flex-start; }
  .archive-hero { padding-top:4rem; }
  .section-head { display:block; }
  .section-copy { margin-top:.8rem; }
  .dog-card { grid-template-columns:1fr; }
  .dog-card img { min-height:260px; max-height:380px; }
  .fact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .results-grid, .parents { grid-template-columns:1fr; }
  .gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pdf-frame { height:520px; }
}
@media (max-width: 420px) {
  .gallery { grid-template-columns:1fr; }
  .fact-grid { grid-template-columns:1fr; }
}


/* Added archive profiles and historical documents */
.gallery-empty {
  display:grid; grid-template-columns:minmax(180px,320px) minmax(0,1fr); gap:clamp(1.2rem,3vw,2rem); align-items:center;
  background:var(--paper); border:1px solid var(--border); padding:clamp(1rem,3vw,1.6rem);
}
.gallery-empty img { width:100%; aspect-ratio:1/1; object-fit:cover; display:block; }
.gallery-empty p, .source-note p { color:var(--muted); }
.source-note { background:var(--green-tint); border:1px solid var(--border); padding:1.4rem; max-width:820px; }
.document-section { padding:0 1.5rem clamp(4rem,8vw,7rem); }
.document-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.document-card { background:var(--paper); border:1px solid var(--border); padding:1.4rem; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease; }
.document-card:hover { transform:translateY(-2px); box-shadow:var(--shadow); }
.document-card span { display:block; color:var(--brass); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; margin-bottom:.6rem; }
.document-card strong { display:block; font-family:Fraunces,Georgia,serif; font-size:1.35rem; font-weight:500; color:var(--green-deep); }
.document-card small { display:block; color:var(--muted); font-size:.86rem; margin-top:.65rem; line-height:1.55; }
@media (max-width:800px) { .document-grid { grid-template-columns:1fr; } }
@media (max-width:680px) { .gallery-empty { grid-template-columns:1fr; } }
