/* ============================================================
   about-aniket-bhardwaj.css
   Page-specific components for the long-form biography page.
   Everything else comes from the shared ab-* library in site.css.
   Prefix: .abt-  (about)
   ============================================================ */

/* ---------- hero: text column + portrait medallion ---------- */
.abt-hero .ab-hero__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(34px, 4vw, 56px);
  align-items: center;
}
@media (min-width: 980px) {
  .abt-hero .ab-hero__panel { grid-template-columns: minmax(0, 1fr) minmax(0, 296px); }
}

.abt-hero__text { min-width: 0; }
.abt-hero .ab-hero__title { max-width: 20ch; }

.abt-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}

.abt-hero__photo {
  margin: 0;
  justify-self: center;
  width: min(296px, 74vw);
  border-radius: 50%;
  overflow: hidden;
  background: var(--navy-deep);
  border: 1px solid rgba(255, 255, 255, .18);
  box-shadow: 0 0 0 7px rgba(201, 168, 76, .14), 0 24px 60px rgba(0, 0, 0, .40);
}
.abt-hero__photo img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center;
  transform: scale(1.045);
}

/* ---------- headline stats, directly under the hero ---------- */
.abt-stats { margin-top: clamp(30px, 4vw, 48px); }

/* ---------- timeline stage meta (04) ---------- */
.abt-stage__year {
  display: block;
  font-family: var(--font-mono);
  font-size: 12.5px;
  font-weight: 600;
  font-style: normal;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 5px;
}
.abt-stage__where {
  display: block;
  font-family: var(--font-nav);
  font-size: 13.5px;
  font-style: normal;
  line-height: 1.6;
  color: var(--muted);
  margin: -2px 0 11px;
}

/* ---------- numbered principle cards (05) ---------- */
.abt-num {
  font-family: var(--font-mono);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .08em;
  color: var(--navy);
}

/* ---------- degree cards (07) ---------- */
.abt-card__period {
  display: block;
  font-family: var(--font-mono);
  font-size: 11.5px;
  font-weight: 600;
  font-style: normal;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 9px;
}
.abt-card__where {
  display: block;
  font-family: var(--font-nav);
  font-size: 13px;
  font-style: normal;
  line-height: 1.6;
  color: var(--muted);
  margin: -4px 0 12px;
}

/* ---------- books feature panel (07) ---------- */
.abt-feature {
  margin-top: 44px;
  border-radius: var(--radius);
  overflow: hidden;
  padding: clamp(28px, 4vw, 52px);
  color: rgba(255, 255, 255, .8);
  border: 1px solid rgba(201, 168, 76, .22);
  background:
    radial-gradient(90% 80% at 90% 0%, rgba(30, 65, 118, .5), transparent 60%),
    linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%);
}
.abt-feature__eyebrow {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold-soft);
}
.abt-feature__title {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(22px, 2.7vw, 31px);
  line-height: 1.25;
  color: #fff;
  margin: 12px 0 0;
  max-width: 26ch;
}
.abt-feature p {
  color: rgba(255, 255, 255, .78);
  font-size: 15.5px;
  line-height: 1.75;
  margin: 0 0 1em;
}
.abt-feature p:last-child { margin-bottom: 0; }
.abt-feature strong { color: #fff; }

.abt-fg {
  display: grid;
  gap: 28px;
  margin-top: 30px;
}
.abt-fg > * { min-width: 0; }
@media (min-width: 860px) {
  .abt-fg { grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; }
}

.abt-isbn {
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: .03em;
  line-height: 2.2;
  color: rgba(255, 255, 255, .7);
  overflow-wrap: anywhere;
  margin-top: 20px;
}
.abt-nb { white-space: nowrap; }

.abt-formula {
  background: linear-gradient(160deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .03));
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 14px;
  padding: clamp(20px, 3vw, 30px);
  font-family: var(--font-mono);
  text-align: center;
  overflow: hidden;
}
.abt-formula .m {
  margin: 0;
  font-size: clamp(17px, 4.5vw, 22px);
  line-height: 1.4;
  letter-spacing: .02em;
  color: #fff;
  overflow-wrap: break-word;
}
.abt-frac {
  display: inline-flex;
  flex-direction: column;
  vertical-align: middle;
  text-align: center;
  margin: 0 2px;
}
.abt-frac span { display: block; padding: 0 6px; }
.abt-frac .n { border-bottom: 1px solid rgba(255, 255, 255, .6); line-height: 1.5; }
.abt-frac .d { line-height: 1.5; }

.abt-eg {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, .12);
  font-size: 13px;
  line-height: 1.9;
  color: rgba(255, 255, 255, .72);
  overflow-wrap: break-word;
}
.abt-eg b { color: var(--gold-soft); font-weight: 600; }

/* ---------- registrations (09) ---------- */
.abt-reg {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(298px, 1fr));
  gap: 22px;
  margin-top: 34px;
}
.abt-rg {
  display: flex;
  align-items: flex-start;
  gap: 18px;
}
.abt-rg > div { min-width: 0; }
.abt-rg h3 { margin: 0 0 8px; }
.abt-seal {
  flex: none;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  border: 1px solid var(--gold-soft);
  background: linear-gradient(160deg, var(--paper), var(--card));
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.1;
  text-align: center;
  color: var(--navy);
}
.abt-rg em {
  display: block;
  font-family: var(--font-nav);
  font-size: 13px;
  font-style: normal;
  line-height: 1.65;
  color: var(--muted);
}
.abt-rg em + em { margin-top: 8px; color: var(--body-c); }
