/* About, workshop, team, certificate */

.about-intro { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: 48px; align-items: start; }
.about-intro figure { margin: 0; border: 1px solid var(--line); background: #fff; padding: 12px; }
.about-intro figure img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; }
.about-intro figcaption { padding-top: 12px; font-size: 0.8rem; color: var(--muted); }
.about-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin: 12px 0 0; }
.about-stats div { padding: 22px 20px; border-left: 1px solid var(--line); }
.about-stats div:first-child { border-left: 0; padding-left: 0; }
.about-stats dt { font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.about-stats dd { margin: 6px 0 0; font-size: 1.5rem; font-weight: 700; letter-spacing: -0.02em; }
.about-stats dd span { font-size: 0.9rem; font-weight: 600; color: var(--brand); margin-left: 2px; }

.culture { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.culture article { border: 1px solid var(--line); border-top: 3px solid var(--brand); background: #fff; padding: 26px 22px; }
.culture h3 { margin-top: 0; font-size: 0.94rem; letter-spacing: 0.06em; text-transform: uppercase; }
.culture p { margin: 0; color: var(--muted); font-size: 0.92rem; }

.gallery-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 26px; }
.gallery-head .section-head { margin-bottom: 0; }

.about-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 12px; }
.about-link {
  display: grid; gap: 6px; border: 1px solid var(--line); background: #fff; padding: 20px 22px;
  transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}
.about-link:hover { border-color: var(--brand); transform: translateY(-2px); box-shadow: var(--shadow-md); }
.about-link strong { font-size: 1rem; }
.about-link span { font-size: 0.84rem; color: var(--muted); }

@media (max-width: 1024px) {
  .about-intro { grid-template-columns: 1fr; gap: 28px; }
  .culture { grid-template-columns: 1fr; }
  .about-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-stats div:nth-child(odd) { border-left: 0; padding-left: 0; }
  .about-links { grid-template-columns: 1fr; }
}
