/* Rocky's Ride archive pages: Stories, Routes, Films, Published */

.archive-hero{
  background:var(--char);
  color:var(--offwhite);
  padding:64px 0 58px;
  border-bottom:1px solid var(--char-soft);
}
.archive-hero.hero{
  position:relative;
  min-height:70vh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  padding:0;
}
.archive-hero.hero .hero-content{
  width:100%;
  padding-bottom:58px;
  padding-top:64px;
}
/* Films archive — Maluti sunrise: anchor above center so the light sits in frame, not on the top edge */
.films-archive-hero.hero .hero-bg--focus-sunrise{
  object-position:center 38%;
}
.films-archive-hero.hero .hero-content h1{
  letter-spacing:.01em;
}
@media(max-width:720px){
  .films-archive-hero.hero .hero-bg--focus-sunrise{object-position:center 36%;}
}
/* Solid-band archive heroes — h1 scale in style.css */
.archive-hero p{
  max-width:760px;
  font-size:19px;
  line-height:1.6;
  color:#e3dfd3;
}

.archive-main{padding:70px 0 88px;background:var(--offwhite);}
.archive-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:26px;
}
.archive-toolbar .count{
  font-family:var(--label);
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:12px;
  color:var(--mute);
}
.archive-filters{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.archive-filters span{
  border:1px solid var(--line);
  background:#fff;
  padding:6px 10px;
  font-family:var(--label);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:11px;
  color:var(--char);
}

.archive-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}

.archive-card{
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  background:#fff;
}
.archive-card-hit{
  display:block;
  flex:1;
  text-decoration:none;
  color:inherit;
}
.archive-card-hit:hover .archive-title{color:var(--jacket);}
.archive-thumb{
  position:relative;
  aspect-ratio:3/2;
  overflow:hidden;
}
.archive-thumb .placeholder{
  width:100%;
  height:100%;
}
.archive-badge{
  position:absolute;
  left:10px;
  top:10px;
  background:rgba(20,17,15,.82);
  color:#fff;
  font-family:var(--label);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:10.5px;
  padding:4px 8px;
}
.archive-body{padding:14px 14px 10px;}
.archive-card .archive-links{
  padding:0 14px 16px;
  margin-top:auto;
}
.archive-meta{
  font-family:var(--label);
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:11px;
  color:var(--mute);
  margin-bottom:8px;
}
.archive-title{
  font-family:var(--display);
  font-size:30px;
  line-height:1.1;
  color:var(--char);
  margin-bottom:8px;
}
.archive-hook{
  font-size:16px;
  line-height:1.58;
  color:var(--ink);
  margin-bottom:12px;
}
.archive-links{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.archive-links span{
  font-family:var(--label);
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:10.5px;
  color:var(--jacket);
  border:1px solid var(--line);
  padding:4px 7px;
}
.archive-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.archive-links a{
  color:inherit;
  text-decoration:none;
}
.archive-links a:hover{color:var(--char);}

@media(max-width:1060px){
  .archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:720px){
  .archive-hero h1{font-size:40px;}
  .archive-hero p{font-size:16px;}
  .archive-main{padding-top:56px;}
  .archive-grid{grid-template-columns:1fr;}
  .archive-title{font-size:27px;}
}
