/* =============================================================
   SPC About Page — gallery + video styles
   ============================================================= */

/* ---------- ABOUT HERO ---------- */
.about-hero {
  background: var(--concrete-95);
  padding: var(--space-20) 0 var(--space-16);
  border-bottom: 1px solid var(--concrete-80);
  position: relative;
  overflow: hidden;
}
.about-hero-bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--concrete-80) 1px, transparent 1px),
    linear-gradient(90deg, var(--concrete-80) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: 0.3;
  pointer-events: none;
}
.about-hero-inner { position: relative; z-index: 1; }
.about-hero .t-label { color: var(--concrete-40); display: block; margin-bottom: var(--space-3); }
.about-hero h1 { color: var(--concrete-05); margin: 0 0 var(--space-4); }
.about-hero p  { color: var(--concrete-40); margin: 0; max-width: 620px; }

/* ---------- GALLERY SECTION ---------- */
.gallery-section { padding: var(--space-24) 0; background: var(--surface-page); }
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 220px;
  gap: var(--space-4);
  margin-top: var(--space-12);
}

/* Mosaic layout — 6 tiles in a deliberate composition */
.gallery-tile {
  position: relative;
  background: var(--concrete-15);
  border: 1px solid var(--border-hairline);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--dur-normal) var(--ease-out), border-color var(--dur-normal) var(--ease-out);
}
.gallery-tile:hover { border-color: var(--concrete-95); transform: translateY(-2px); }
.gallery-tile--01 { grid-column: span 6; grid-row: span 2; }
.gallery-tile--02 { grid-column: span 6; grid-row: span 1; }
.gallery-tile--03 { grid-column: span 3; grid-row: span 1; }
.gallery-tile--04 { grid-column: span 3; grid-row: span 1; }
.gallery-tile--05 { grid-column: span 4; grid-row: span 1; }
.gallery-tile--06 { grid-column: span 4; grid-row: span 1; }
.gallery-tile--07 { grid-column: span 4; grid-row: span 1; }

.gallery-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  color: var(--concrete-50);
  background:
    linear-gradient(135deg, transparent 49%, var(--concrete-20) 49%, var(--concrete-20) 51%, transparent 51%),
    var(--concrete-15);
  background-size: 24px 24px, auto;
}
.gallery-placeholder svg { opacity: 0.4; }
.gallery-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: var(--space-4) var(--space-5);
  background: linear-gradient(to top, rgba(10,11,13,0.85) 0%, rgba(10,11,13,0) 100%);
  color: #fff;
  z-index: 2;
}
.gallery-caption .t-label { color: rgba(255,255,255,0.7); display: block; margin-bottom: 2px; }
.gallery-caption strong { font-family: var(--font-display); font-size: 15px; font-weight: 600; }

/* ---------- VIDEO SECTION ---------- */
.video-section {
  padding: var(--space-24) 0;
  background: var(--surface-alt);
  border-top: 1px solid var(--border-hairline);
}
.video-wrap {
  max-width: 1080px;
  margin: var(--space-12) auto 0;
}
.video-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  background: var(--concrete-95);
  border: 1px solid var(--concrete-80);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.video-play-btn {
  position: relative;
  z-index: 2;
  width: 88px;
  height: 88px;
  border: none;
  background: var(--spc-red-500);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);
  box-shadow: 0 8px 24px -4px rgba(192, 30, 53, 0.4);
}
.video-play-btn:hover {
  transform: scale(1.06);
  background: var(--spc-red-600);
}
.video-play-btn svg {
  width: 32px;
  height: 32px;
  margin-left: 4px;
}
.video-meta {
  position: absolute;
  bottom: var(--space-6);
  left: var(--space-8);
  z-index: 2;
  color: var(--concrete-30);
}
.video-meta .t-label { color: var(--concrete-40); display: block; margin-bottom: 4px; }
.video-meta strong {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 600;
  color: var(--concrete-05);
}
.video-duration {
  position: absolute;
  top: var(--space-5);
  right: var(--space-5);
  z-index: 2;
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--concrete-30);
  background: rgba(10, 11, 13, 0.7);
  padding: 4px 10px;
  border: 1px solid var(--concrete-70);
}

/* ---------- TIMELINE / MILESTONES (extra credibility) ---------- */
.timeline-section { padding: var(--space-24) 0; }
.timeline {
  position: relative;
  margin-top: var(--space-12);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.timeline::before {
  content: "";
  position: absolute;
  top: 18px;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--border-hairline);
}
.timeline-item {
  position: relative;
  padding: 0 var(--space-5) 0 0;
}
.timeline-item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 13px;
  right: var(--space-3);
  width: 8px;
  height: 8px;
  border-top: 1.5px solid var(--text-tertiary);
  border-right: 1.5px solid var(--text-tertiary);
  transform: rotate(45deg);
}
.timeline-dot {
  width: 14px;
  height: 14px;
  background: var(--spc-red-500);
  border: 3px solid var(--surface-page);
  position: relative;
  z-index: 1;
  margin-bottom: var(--space-4);
}
.timeline-year {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: var(--tracking-tight);
  color: var(--text-primary);
  margin-bottom: 4px;
}
.timeline-title { font-size: 14px; font-weight: 600; margin: 0 0 6px; color: var(--text-primary); }
.timeline-desc { font-size: 13px; color: var(--text-secondary); line-height: 1.5; margin: 0; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1100px) {
  .gallery-grid { grid-auto-rows: 180px; }
  .timeline { grid-template-columns: repeat(2, 1fr); gap: var(--space-8) 0; }
  .timeline::before { display: none; }
  .timeline-item:not(:last-child)::after { display: none; }
}

@media (max-width: 768px) {
  .gallery-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 200px;
  }
  .gallery-tile--01, .gallery-tile--02, .gallery-tile--03, .gallery-tile--04,
  .gallery-tile--05, .gallery-tile--06, .gallery-tile--07 { grid-column: 1; grid-row: span 1; }
  .timeline { grid-template-columns: 1fr; }
  .video-play-btn { width: 64px; height: 64px; }
  .video-play-btn svg { width: 24px; height: 24px; }
  .video-meta { left: var(--space-5); bottom: var(--space-4); }
}
