/* =========================================================================
   About page — Vladyslav Ovod
   Reuses shared/case.css (tokens) + home.css (.navpills, .contact footer).
   ========================================================================= */

a { color: inherit; text-decoration: none; }

.about-wrap { max-width: 1440px; margin: 0 auto; padding: 0 89px; }

/* nav: centered via .site-nav (defined in shared/case.css) */

/* shared text bits */
.about-kicker { font-family: var(--mono); font-weight: 400; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: #585858; }
.about-kicker--inv { color: #e4e4e4; }
.about-lead { font-family: var(--sans); font-weight: 500; font-size: 24px; line-height: 1.33; letter-spacing: -0.02em; color: #585858; }
.about-lead .ink { color: #0a0a0a; }

/* ---------- hero (text left, tall portrait right) ---------- */
.about-hero { display: flex; gap: 48px; align-items: stretch; padding-top: 71px; }
.about-hero__text { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 64px; }
.about-hero__title { font-family: var(--sans); font-weight: 600; font-size: 56px; line-height: 1.04; letter-spacing: -0.03em; color: #0a0a0a; }
.about-hero__title .accent { color: var(--accent); }
.about-hero__intro { margin-top: 22px; max-width: 751px; }
.about-block__body { margin-top: 14px; max-width: 751px; }
.about-hero__portrait { width: 436px; flex: none; border-radius: 12px; overflow: hidden; }
.about-hero__portrait img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---------- blue band (How I work + Teaching) ---------- */
.about-band { width: 100%; background: var(--accent); margin-top: 70px; }
.about-band__inner { max-width: 1440px; margin: 0 auto; padding: 75px 89px; display: flex; flex-direction: column; gap: 70px; }
.about-band__group { display: flex; flex-direction: column; gap: 24px; }

/* how I work — numbered rows */
.howiwork-list { display: flex; flex-direction: column; }
.howiwork-row { display: flex; gap: 22px; align-items: baseline; padding: 18px 0; border-bottom: 1px solid #fff; }
.howiwork-row:last-child { border-bottom: none; }
.howiwork-row__n { width: 28px; flex: none; font-family: var(--mono); font-weight: 400; font-size: 13px; color: #fff; }
.howiwork-row__t { font-family: var(--sans); font-weight: 500; font-size: 20px; line-height: 1.35; color: #fff; }

/* teaching & recognition — 2x2 grid (black gridlines) */
.teaching { background: #000; border-radius: 14px; overflow: hidden; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; }
.teaching__cell { background: #fff; padding: 22px 24px; display: flex; flex-direction: column; gap: 7px; }
.teaching__label { font-family: var(--mono); font-weight: 400; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: #a3a3a3; }
.teaching__value { font-family: var(--sans); font-weight: 500; font-size: 16px; line-height: 1.375; color: #000; }

/* ---------- beyond the screen ---------- */
.about-beyond { margin-top: 70px; display: flex; flex-direction: column; gap: 32px; }
.beyond {
  display: grid;
  grid-template-columns: 313fr 344fr 581fr;
  grid-template-rows: 281px 281px;
  gap: 12px;
}
.beyond__candid { grid-column: 1; grid-row: 1 / 3; }
.beyond__a { grid-column: 2; grid-row: 1; }
.beyond__b { grid-column: 2; grid-row: 2; }
.beyond__text { grid-column: 3; grid-row: 1; }
.beyond__br { grid-column: 3; grid-row: 2; display: flex; gap: 12px; }
.beyond__br .beyond-photo { flex: 1 1 0; min-width: 0; }
.beyond-photo { border: 1px solid #0a0a0a; border-radius: 12px; overflow: hidden; background: #f5f5f5; }
.beyond-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* details list (Based in / Currently / Always up for) */
.about-details { margin-top: 24px; display: flex; flex-direction: column; }
.detail-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 13px 0; border-bottom: 1px solid #0a0a0a; font-family: var(--mono); font-weight: 400; font-size: 13.5px; color: #0a0a0a; }
.detail-row:last-child { border-bottom: none; }
.detail-row span:last-child { text-align: right; }

/* ---------- CTA ---------- */
.about-cta { margin-top: 60px; padding-bottom: 0; font-family: var(--sans); font-weight: 600; font-size: 28px; letter-spacing: -0.018em; color: #0a0a0a; }
.about-cta a { color: var(--accent); }
.about-cta a:hover { text-decoration: none; }
.about-foot-gap { height: 70px; }

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width: 1080px) {
  .about-wrap { padding: 0 48px; }
  .about-band__inner { padding: 56px 48px; }

  .about-hero { flex-direction: column; gap: 40px; align-items: stretch; }
  .about-hero__portrait { width: 100%; height: 460px; }

  .beyond { grid-template-columns: 1fr 1fr; grid-template-rows: auto; gap: 12px; }
  .beyond__candid { grid-column: 1 / 3; grid-row: auto; height: 360px; }
  .beyond__a, .beyond__b { grid-column: auto; grid-row: auto; height: 240px; }
  .beyond__text { grid-column: 1 / 3; grid-row: auto; order: -1; }
  .beyond__br { grid-column: 1 / 3; grid-row: auto; }
  .beyond__br .beyond-photo { height: 240px; }
}

@media (max-width: 680px) {
  .about-wrap { padding: 0 20px; }
  .about-band__inner { padding: 48px 20px; }
  .about-hero__title { font-size: 40px; }
  .about-lead { font-size: 20px; }
  .teaching { grid-template-columns: 1fr; }
  .beyond { grid-template-columns: 1fr; }
  .beyond__candid { grid-column: 1; }
  .beyond__text { grid-column: 1; }
  .beyond__br { grid-column: 1; flex-direction: column; }
  .about-cta { font-size: 22px; }
}
