/* ==========================================================================
   AArchivesLAne — pages.css
   Page-level dressing: hero, archive stamp, palette card, masonry grid and
   the small extras that belong to collections, about and admin pages.
   ========================================================================== */

/* ---------- hero ------------------------------------------------------------ */
.hero{ position:relative; }
.hero-inner{ position:relative; z-index:1; }
.hero-title{ font-family:var(--serif); font-weight:300; line-height:1.12; letter-spacing:-.005em; }
.hero-word{ position:relative; font-style:italic; font-weight:400; white-space:nowrap; }
.hero-word::after{ content:''; position:absolute; left:.04em; right:.04em; bottom:-.1em; height:3px;
  border-radius:3px; opacity:.8;
  background:linear-gradient(90deg,var(--terracotta),var(--ochre) 55%,var(--olive)); }
.hero-rule{ display:inline-flex; align-items:center; gap:.6rem; }
.hero-rule::before{ content:''; width:3.2rem; height:2px; border-radius:2px;
  background:linear-gradient(90deg,var(--terracotta),var(--ochre)); }
.hero-rule::after{ content:''; width:7px; height:7px; border-radius:50%;
  background:linear-gradient(135deg,var(--olive),var(--olive-deep)); }

/* ---------- archive stamp ---------------------------------------------------- */
.stamp{ position:relative; flex:none; width:108px; height:108px; }
.stamp svg{ width:100%; height:100%; overflow:visible; }
.stamp text{ font-family:var(--sans); font-size:9px; font-weight:600; letter-spacing:1.4px; fill:rgba(102,69,47,.8); }
.stamp-ring{ fill:none; stroke:rgba(140,105,74,.42); stroke-dasharray:2 5; }
.stamp-core{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-size:1.15rem; color:var(--terracotta); }
@media (prefers-reduced-motion:no-preference){
  .stamp svg{ animation:spin 48s linear infinite; }
}
@keyframes spin{ to{ transform:rotate(360deg); } }

/* ---------- palette card ------------------------------------------------------ */
.palette-card{ border:1px solid var(--line-soft); border-radius:var(--r); padding:.95rem 1.05rem;
  background:linear-gradient(160deg, var(--surface-2) 10%, var(--surface) 100%);
  box-shadow:var(--shadow-1), var(--edge); }
.palette-row{ display:flex; align-items:center; flex-wrap:wrap; gap:.55rem .95rem; }
.palette-item{ display:inline-flex; align-items:center; gap:.42rem; font-size:.6rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.palette-item .swatch{ width:12px; height:12px; }
.palette-strip{ display:flex; height:10px; border-radius:999px; overflow:hidden; box-shadow:var(--shadow-1); }
.palette-strip span{ flex:1; }

/* ---------- gallery / masonry -------------------------------------------------- */
.masonry{ column-count:1; column-gap:1.5rem; }
@media (min-width:640px){ .masonry{ column-count:2; } }
@media (min-width:1024px){ .masonry{ column-count:3; column-gap:2rem; } }
@media (min-width:1600px){ .masonry{ column-count:4; } }
.masonry--single{ max-width:700px; }

/* ---------- collections page --------------------------------------------------- */
.collections-grid{ display:grid; gap:3rem 2rem; }
@media (min-width:640px){ .collections-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (min-width:1024px){ .collections-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); } }

/* ---------- about page ---------------------------------------------------------- */
.principle-list{ display:grid; gap:1.5rem; }
@media (min-width:640px){ .principle-list{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
