/* Vallico History page — v3 */
.history-hero {
  min-height: 88vh;
  color: white;
  position: relative;
  display: flex;
  flex-direction: column;
  background: url('../images/history-hero-map.jpg') center 54% / cover no-repeat;
}
.history-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(47,24,19,.96) 0%, rgba(76,39,27,.86) 43%, rgba(40,28,21,.48) 78%),
    linear-gradient(0deg, rgba(28,18,14,.52), transparent 45%);
  mix-blend-mode: multiply;
}
.history-hero .wrap { position: relative; z-index: 1; }
.history-hero-copy { margin-top: auto; padding: 5rem 0 7rem; position: relative; z-index: 1; }
.history-hero-copy h1 {
  margin: 0;
  max-width: 1050px;
  font-size: clamp(4rem, 8.7vw, 7.8rem);
  line-height: .88;
  letter-spacing: -.04em;
  font-weight: 500;
}
.history-hero-copy h1 span { color: var(--gold-soft); font-size: .62em; }
.history-deck {
  max-width: 780px;
  margin: 2rem 0 0;
  padding-left: 1rem;
  border-left: 3px solid var(--gold);
  color: rgba(255,255,255,.9);
  font: clamp(1.12rem, 2vw, 1.45rem)/1.5 Georgia, serif;
}

.history-intro { padding: 8rem 0; background: var(--cream); }
.history-intro-grid,
.mysteries-intro-grid,
.history-library-grid,
.war-intro-grid,
.bombing-grid {
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  gap: clamp(3rem, 8vw, 8rem);
  align-items: start;
}
.history-prose-large p {
  margin: 0 0 1.45rem;
  color: #514941;
  font: clamp(1.15rem, 1.7vw, 1.42rem)/1.72 Georgia, serif;
}

.timeline { padding: 7rem 0; background: var(--burgundy-deep); color: white; }
.timeline .eyebrow { color: var(--gold-soft); }
.timeline-grid {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(219,193,105,.42);
}
.timeline-grid article {
  min-height: 220px;
  padding: 2rem 1.5rem;
  border-right: 1px solid rgba(219,193,105,.23);
  border-bottom: 1px solid rgba(219,193,105,.23);
}
.timeline-grid article:nth-child(3n) { border-right: 0; }
.timeline-grid strong { color: var(--gold-soft); font: 500 2.1rem/1 Georgia, serif; }
.timeline-grid p { color: rgba(255,255,255,.67); }

.border-country { padding: 8rem 0; background: #e3d8c8; }
.border-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
}
.border-map img { width: 100%; background: #efe8dc; padding: 1.1rem; box-shadow: 0 18px 50px rgba(63,39,26,.13); }
.image-credit { margin: .8rem 0 0; color: #786b5d; font-size: .8rem; font-style: italic; }
.border-copy p:not(.eyebrow) { color: var(--muted); font-size: 1.06rem; }

.old-village { padding: 8rem 0; background: var(--paper); }
.old-village-heading {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(3rem, 8vw, 8rem);
  align-items: end;
  margin-bottom: 3.5rem;
}
.old-village-heading > p { color: var(--muted); font: 1.1rem/1.7 Georgia, serif; }
.old-village-images {
  display: grid;
  grid-template-columns: 1.2fr .8fr .8fr;
  gap: 1rem;
  align-items: stretch;
}
.old-village-images figure { margin: 0; background: #e7dfd3; }
.old-village-images img { width: 100%; height: 430px; object-fit: cover; }
.old-view img { object-position: center 47%; }
.old-village-images figcaption,
.flora-gallery figcaption,
.ricordi-grid figcaption,
.ricordi-images figcaption {
  padding: .8rem 1rem 1rem;
  color: #75695d;
  font-size: .82rem;
  font-style: italic;
}

.war-intro { padding: 8rem 0; background: #2b332d; color: white; }
.war-intro .eyebrow { color: var(--gold-soft); }
.war-intro-grid > div:last-child p {
  color: rgba(255,255,255,.72);
  font: 1.14rem/1.72 Georgia, serif;
}

.flora { padding: 8rem 0; background: var(--cream); }
.flora-grid {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
}
.flora-copy p:not(.eyebrow) { color: var(--muted); font-size: 1.06rem; }
.flora-gallery {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  grid-template-rows: auto auto;
  gap: 1rem;
}
.flora-gallery figure { margin: 0; background: #e6ddd0; overflow: hidden; }
.flora-gallery img { width: 100%; height: 100%; min-height: 285px; object-fit: cover; display: block; }
.flora-main { grid-row: 1 / span 2; }
.flora-main img { min-height: 650px; object-position: center 42%; }
.flora-gallery figure:nth-child(2) img { object-position: center 45%; }
.flora-gallery figure:nth-child(3) img,
.flora-gallery figure:nth-child(4) img { object-position: center 50%; }

.bombing { padding: 7rem 0; background: #d9cdbd; }
.bombing-grid > div:last-child p { color: #5d5248; font: 1.14rem/1.72 Georgia, serif; }

.stories-feature { padding: 8rem 0; background: var(--paper); }
.stories-title {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(3rem, 8vw, 8rem);
  align-items: end;
  margin-bottom: 3.5rem;
}
.stories-title > p { color: var(--muted); font: 1.1rem/1.7 Georgia, serif; }
.ricordi-grid {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
}
.ricordi-cover { margin: 0; background: #e5dccf; }
.ricordi-cover img { width: 100%; display: block; aspect-ratio: 3 / 4; object-fit: cover; object-position: center 50%; }
.ricordi-copy p { color: var(--muted); font-size: 1.07rem; }
.ricordi-copy .ricordi-note {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #cfc4b2;
  color: var(--burgundy);
  font: italic 1.25rem/1.55 Georgia, serif;
}
.ricordi-images {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 1rem;
  align-items: stretch;
}
.ricordi-images figure { margin: 0; background: #e5dccf; overflow: hidden; }
.ricordi-images img { width: 100%; height: 520px; object-fit: cover; display: block; }
.reunion img { object-position: center 48%; }
.emigration img { object-position: center 50%; }

.mysteries-intro { padding: 8rem 0; background: var(--cream); }
.mysteries-intro-grid > div:last-child p { color: var(--muted); font: 1.14rem/1.72 Georgia, serif; }

.feature-dark { background: #1f2922; color: white; }
.tunnel { padding: 8rem 0; }
.tunnel-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(4rem, 9vw, 9rem);
  align-items: center;
}
.tunnel .eyebrow { color: var(--gold-soft); }
.tunnel-copy p:not(.eyebrow) { color: rgba(255,255,255,.73); font-size: 1.06rem; }
.tunnel-copy strong { color: var(--cream); }
.light-link { color: var(--gold-soft) !important; }
.tunnel-war-note {
  margin-top: 1.8rem !important;
  padding: 1.3rem 1.4rem;
  border-left: 3px solid var(--gold);
  background: rgba(255,255,255,.045);
  font-style: italic;
}
.tunnel-mark {
  min-height: 470px;
  border: 1px solid rgba(219,193,105,.4);
  padding: 3rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(circle at 50% 70%, rgba(88,124,146,.35), transparent 27%),
    linear-gradient(180deg, rgba(255,255,255,.03), transparent);
}
.depth { color: var(--gold-soft); font: 500 clamp(5rem, 10vw, 9rem)/.86 Georgia, serif; }
.depth-label { max-width: 300px; color: rgba(255,255,255,.65); text-transform: uppercase; letter-spacing: .12em; font-size: .69rem; }
.uncertainty { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid rgba(219,193,105,.3); color: rgba(255,255,255,.7); font: italic 1.05rem/1.55 Georgia, serif; }

.rocchetta { padding: 8rem 0; background: #ddd3c3; }
.rocchetta-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
}
.rocchetta-copy p:not(.eyebrow) { color: var(--muted); font-size: 1.06rem; }
.rocchetta-image { position: relative; min-height: 600px; overflow: hidden; }
.rocchetta-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 50%; }
.rocchetta-image span {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 1.1rem 1.3rem;
  background: rgba(34,24,19,.82);
  color: var(--cream);
  font-size: .85rem;
}

.cascaltendine {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  min-height: 760px;
}
.cave-image { background: #050505; overflow: hidden; }
.cave-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 50%; }
.cave-copy {
  padding: clamp(3rem, 7vw, 7rem);
  background: var(--cream);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.cave-copy p:not(.eyebrow) { color: var(--muted); font-size: 1.06rem; }

.ismeno { padding: 8rem 0; background: #241d18; color: white; }
.ismeno .eyebrow { color: var(--gold-soft); }
.ismeno-heading {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: clamp(3rem, 8vw, 8rem);
  align-items: end;
  margin-bottom: 3.5rem;
}
.ismeno-heading > div:last-child p { color: rgba(255,255,255,.72); font: 1.08rem/1.72 Georgia, serif; }
.ismeno-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 1rem;
  align-items: stretch;
}
.ismeno figure { margin: 0; background: #15110f; }
.ismeno figure img { width: 100%; display: block; object-fit: cover; }
.ismeno figcaption { padding: .8rem 1rem 1rem; color: rgba(255,255,255,.58); font-size: .8rem; font-style: italic; }
.ismeno-ladder img { height: 100%; min-height: 540px; object-position: center 45%; }
.ismeno-inscriptions { display: grid; grid-template-rows: 1fr 1fr; gap: 1rem; }
.ismeno-inscriptions figure { display: flex; flex-direction: column; }
.ismeno-inscriptions img { flex: 1; min-height: 235px; }
.ismeno-find {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: 1.12fr .88fr;
  gap: 1rem;
  align-items: stretch;
}
.ismeno-find-copy {
  padding: clamp(2.5rem, 5vw, 5rem);
  border: 1px solid rgba(219,193,105,.28);
  background: rgba(255,255,255,.035);
}
.ismeno-find-copy p { color: rgba(255,255,255,.7); font-size: 1.06rem; }
.ismeno-find-copy .ismeno-punch {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(219,193,105,.3);
  color: var(--gold-soft);
  font: italic 1.35rem/1.55 Georgia, serif;
}
.ismeno-mike img { width: 100%; height: 100%; min-height: 480px; object-fit: cover; object-position: center 45%; }

.evidence { padding: 8rem 0; background: var(--paper); }
.evidence-grid {
  margin-top: 3.5rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid #cfc4b2;
}
.evidence-grid article { padding: 2rem 1.4rem 0; border-right: 1px solid #cfc4b2; }
.evidence-grid article:last-child { border-right: 0; }
.evidence-grid span { color: var(--burgundy); font: 500 1.65rem Georgia, serif; }
.evidence-grid p { color: var(--muted); }

.history-library { padding: 8rem 0; background: var(--forest); color: white; }
.history-library .eyebrow { color: var(--gold-soft); }
.history-library-grid > div:first-child p:not(.eyebrow) { color: rgba(255,255,255,.68); }
.library-links { border-top: 1px solid rgba(219,193,105,.34); }
.library-links a {
  display: block;
  padding: 1.4rem 0;
  border-bottom: 1px solid rgba(219,193,105,.24);
  color: white;
  text-decoration: none;
}
.library-links strong { display: block; color: var(--gold-soft); font: 500 1.35rem Georgia, serif; }
.library-links span { display: block; margin-top: .35rem; color: rgba(255,255,255,.6); }

.history-close { padding: 8rem 0; background: var(--cream); text-align: center; }
.history-close > .wrap > p:not(.eyebrow) { max-width: 760px; margin: 1.3rem auto 2rem; color: var(--muted); font: 1.12rem/1.7 Georgia, serif; }
.close-links { display: flex; justify-content: center; align-items: center; gap: 1.5rem; flex-wrap: wrap; }

@media (max-width: 1000px) {
  .old-village-images { grid-template-columns: 1fr 1fr; }
  .old-village-images .old-view { grid-column: 1 / -1; }
  .evidence-grid { grid-template-columns: repeat(2, 1fr); }
  .evidence-grid article:nth-child(2) { border-right: 0; }
  .ricordi-images img { height: 430px; }
}

@media (max-width: 900px) {
  .history-hero { min-height: 75vh; }
  .history-intro-grid, .mysteries-intro-grid, .history-library-grid,
  .border-grid, .old-village-heading, .tunnel-grid, .rocchetta-grid,
  .ismeno-heading, .ismeno-grid, .ismeno-find, .war-intro-grid,
  .bombing-grid, .flora-grid, .stories-title, .ricordi-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .cascaltendine { grid-template-columns: 1fr; min-height: auto; }
  .cave-image { min-height: 540px; }
  .rocchetta-image { min-height: 520px; }
  .ismeno-inscriptions { grid-template-columns: 1fr 1fr; grid-template-rows: none; }
  .ismeno-ladder img { min-height: 460px; }
  .flora-gallery { max-width: 760px; }
}

@media (max-width: 650px) {
  .timeline-grid, .old-village-images, .evidence-grid,
  .ismeno-inscriptions, .ricordi-images { grid-template-columns: 1fr; }
  .timeline-grid article, .evidence-grid article, .evidence-grid article:nth-child(2) { border-right: 0; }
  .old-village-images .old-view { grid-column: auto; }
  .old-village-images img { height: auto; max-height: 520px; object-fit: contain; }
  .flora-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .flora-main { grid-column: 1 / -1; grid-row: auto; }
  .flora-main img { min-height: 440px; }
  .ricordi-images img { height: auto; max-height: 560px; object-fit: contain; }
}

@media (max-width: 560px) {
  .history-hero-copy h1 { font-size: 3.8rem; }
  .history-intro, .timeline, .border-country, .old-village, .war-intro, .flora,
  .bombing, .stories-feature, .mysteries-intro, .tunnel, .rocchetta, .ismeno,
  .evidence, .history-library, .history-close { padding-top: 5rem; padding-bottom: 5rem; }
  .cave-image, .rocchetta-image { min-height: 390px; }
  .tunnel-mark { min-height: 360px; }
  .flora-gallery { grid-template-columns: 1fr; }
  .flora-main { grid-column: auto; }
  .flora-main img { min-height: 380px; }
}
