/* ==================== About hero ==================== */
.about-hero {
  padding: 70px 0 40px;
}
.about-hero .container {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 56px;
  align-items: center;
}
.about-hero .lead {
  font-size: 1.1rem;
  color: var(--ink-soft);
  max-width: 520px;
}
.about-photo {
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-md);
  background: var(--paper-deep);
  aspect-ratio: 11/10;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px;
}
.about-photo img { width: 100%; height: 100%; object-fit: contain; }

/* ==================== Story block ==================== */
.story-block {
  max-width: 760px;
}
.story-block p {
  font-size: 1.04rem;
}
.story-block p:first-of-type::first-letter {
  font-family: var(--font-display);
  font-size: 2.6rem;
  font-weight: 600;
  color: var(--blue-deep);
  float: left;
  line-height: 0.85;
  margin: 6px 8px 0 0;
}

/* ==================== What we build ==================== */
.build-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
}
.build-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.build-card .thumb {
  aspect-ratio: 16/10;
  overflow: hidden;
  background: var(--paper-deep);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}
.build-card .thumb img { width: 100%; height: 100%; object-fit: contain; }
.build-card .content { padding: 26px; }
.build-card .pill { margin-bottom: 12px; }
.build-card h3 { margin-bottom: 8px; }
.build-card p { font-size: 0.93rem; margin-bottom: 0; }

/* ==================== Values ==================== */
.values-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}
.value-card { padding: 4px; }
.value-card .num {
  font-family: var(--font-mono);
  color: var(--pink);
  font-size: 0.8rem;
  display: block;
  margin-bottom: 12px;
}
.value-card h4 { margin-bottom: 8px; }
.value-card p { font-size: 0.92rem; margin-bottom: 0; }

/* ==================== Location strip ==================== */
.location-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  background: var(--ink-900);
  border-radius: var(--radius-lg);
  padding: 44px 50px;
  color: #fff;
  flex-wrap: wrap;
}
.location-strip .addr { font-size: 1.02rem; color: #d3d7e3; }
.location-strip .addr strong { color: #fff; display:block; font-family: var(--font-display); font-size: 1.2rem; margin-bottom: 6px; }
.location-strip .addr-lines { font-family: var(--font-mono); font-size: 0.88rem; color: #99a0b3; line-height: 1.8; margin-top: 10px; }

@media (max-width: 940px) {
  .about-hero .container { grid-template-columns: 1fr; }
  .build-grid { grid-template-columns: 1fr; }
  .values-grid { grid-template-columns: 1fr; }
  .location-strip { flex-direction: column; align-items: flex-start; }
}
