#authenticity {
  background: var(--black);
  padding: 110px 64px;
  position: relative;
  min-height: 100vh;
  display: flex; flex-direction: column; justify-content: center;
  isolation: isolate;
}
.auth-hero-text { max-width: 680px; margin-bottom: 70px; }
.auth-hero-text h2 {
  font-family: var(--serif); font-size: 42px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.04em;
  color: var(--cream); margin-bottom: 20px;
}
.auth-hero-text h2 em {
  font-family: var(--italic); font-style: italic; font-weight: 300;
  color: var(--gold-pale); font-size: 30px;
  display: block; margin-bottom: 4px; text-transform: none;
}
.auth-hero-text p { font-family: var(--italic); font-size: 18px; font-weight: 300; line-height: 1.85; color: var(--sub); }

.auth-photo-grid {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr 1fr;
  grid-template-rows: 280px 280px;
  gap: 3px; margin-bottom: 70px;
}
.photo-cell { position: relative; overflow: hidden; background: var(--dark); }
.photo-cell img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.72) saturate(0.9) sepia(0.15); transition: filter .5s, transform .6s; }
.photo-cell:hover img { filter: brightness(0.85) saturate(1.1) sepia(0.05); transform: scale(1.03); }
.photo-cell.span-v { grid-row: span 2; }
.photo-label {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 12px 16px;
  background: linear-gradient(to top, rgba(8,6,10,0.85), transparent);
  font-family: var(--sans); font-size: 9px; font-weight: 400;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold-pale); opacity: 0; transition: opacity .3s;
}
.photo-cell:hover .photo-label { opacity: 1; }
.photo-placeholder {
  width: 100%; height: 100%;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 10px;
  background: var(--dark);
  border: 0.5px dashed rgba(200,134,10,0.2);
}
.photo-placeholder span { font-family: var(--sans); font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(200,134,10,0.3); }

.auth-timeline {
  display: grid; grid-template-columns: repeat(4,1fr);
  gap: 0;
  border: 0.5px solid rgba(200,134,10,0.18);
  border-radius: 3px; overflow: hidden;
}
.timeline-item { padding: 32px 28px; border-right: 0.5px solid rgba(200,134,10,0.12); position: relative; }
.timeline-item:last-child { border-right: none; }
.timeline-item::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0;
  height: 2px; background: var(--gold);
  transform: scaleX(0); transform-origin: left; transition: transform .5s;
}
.timeline-item:hover::before { transform: scaleX(1); }
.t-icon { font-family: var(--serif); font-size: 24px; color: var(--gold-bright); margin-bottom: 14px; display: block; }
.t-title { font-family: var(--sans); font-size: 11px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cream); margin-bottom: 8px; }
.t-body { font-family: var(--italic); font-size: 17px; font-weight: 300; color: var(--cream); line-height: 1.65; }

/* Responsive */
@media (max-width: 1024px) {
  #authenticity { padding: 70px 32px; }
  .auth-photo-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .photo-cell.span-v { grid-row: span 1; }
  .auth-timeline { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .auth-timeline { grid-template-columns: 1fr; }
}

/* Light theme */
body.light-theme #authenticity { background: #F8EED7; }
body.light-theme .auth-hero-text h2 { color: #1F0A02; }
body.light-theme .auth-hero-text h2 em { color: #A4111B; }
body.light-theme .auth-hero-text p { color: rgba(31,10,2,0.78); }
body.light-theme .photo-cell { background: #EDDAB0; }
body.light-theme .photo-cell img { filter: brightness(1.0) saturate(1.05) contrast(1.05); }
body.light-theme .photo-cell:hover img { filter: brightness(1.05) saturate(1.15) contrast(1.05); }
body.light-theme .photo-label { background: linear-gradient(to top, rgba(31,10,2,0.78), transparent); color: #FAC775; }
body.light-theme .photo-placeholder { background: #FFFFFF; border-color: rgba(140,89,8,0.3); }
body.light-theme .photo-placeholder span { color: rgba(184,92,0,0.55); }
body.light-theme .auth-timeline { border-color: rgba(140,89,8,0.28); background: #FFFFFF; box-shadow: 0 4px 16px rgba(31,10,2,0.06); }
body.light-theme .timeline-item { border-right-color: rgba(140,89,8,0.18); }
body.light-theme .timeline-item::before { background: #B85C00; }
body.light-theme .t-icon { color: #B85C00; }
body.light-theme .t-title { color: #A4111B; }
body.light-theme .t-body { color: rgba(31,10,2,0.7); }
