/* IK SOLS About page - v1.7.1. Scoped so it can be applied safely over v1.7.0. */
.about-page { overflow: clip; }
.about-page h2 { max-width: 16ch; }
.about-page h3 { margin: 0; color: var(--text-strong); }
.about-page p { text-wrap: pretty; }

.about-hero { position: relative; padding-bottom: 88px; }
.about-hero::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: min(1120px, calc(100% - 40px));
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(var(--accent-rgb),.18), transparent);
}
.about-hero-grid {
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr);
  gap: clamp(54px,8vw,110px);
  align-items: end;
}
.about-hero-copy h1 { max-width: 12ch; }
.about-hero-lead { max-width: 760px; color: var(--muted); font-size: clamp(18px,2vw,22px); line-height: 1.6; }
.about-identity-line { margin: 30px 0 0; color: #a1a9b8; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }

.about-system-map {
  display: grid;
  gap: 8px;
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: linear-gradient(155deg, rgba(255,255,255,.025), rgba(255,255,255,.005));
  box-shadow: var(--shadow-soft);
}
.about-system-map > div {
  min-height: 50px;
  display: grid;
  place-items: center;
  border: 1px solid #252d39;
  border-radius: 12px;
  background: #0b0e14;
  color: #cdd4de;
  font-size: 15px;
  font-weight: 650;
}
.about-system-map > span { color: #4e5868; text-align: center; font: 12px/1 "IBM Plex Mono", monospace; }
.about-system-map .about-system-map-core { border-color: rgba(var(--accent-rgb),.32); color: var(--accent); }
.about-system-map .about-system-map-profit { border-color: rgba(243,198,79,.34); color: #efd582; box-shadow: inset 0 0 24px rgba(243,198,79,.035); }

.about-editorial-grid { display: grid; grid-template-columns: minmax(280px,.78fr) minmax(0,1.22fr); gap: clamp(50px,8vw,110px); align-items: start; }
.about-prose { max-width: 760px; }
.about-prose p { margin: 0 0 22px; color: var(--muted); font-size: 19px; line-height: 1.78; }
.about-prose .about-prose-lead { color: #d5dbe4; font-size: 22px; line-height: 1.5; }
.about-prose .about-emphasis { color: var(--accent); font-size: 20px; font-weight: 650; }

.about-section-heading { max-width: 850px; margin-bottom: 42px; }
.about-section-heading h2 { max-width: 18ch; }

.about-sols-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid var(--border); border-radius: 18px; overflow: hidden; background: rgba(255,255,255,.006); }
.about-sols-grid article { min-height: 250px; padding: 26px; border-right: 1px solid var(--border); transition: background .22s ease, border-color .22s ease; }
.about-sols-grid article:last-child { border-right: 0; }
.about-sols-grid article:hover { background: rgba(var(--accent-rgb),.045); }
.about-sols-grid article > span { display: inline-grid; width: 34px; height: 34px; place-items: center; margin-bottom: 34px; border: 1px solid rgba(var(--accent-rgb),.22); border-radius: 50%; color: var(--accent); font-size: 14px; }
.about-sols-grid h3 { margin-bottom: 12px; font-size: 21px; }
.about-sols-grid p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.65; }
.about-statement { margin: 32px 0 0; color: #b9c1cd; font-size: clamp(20px,2.3vw,28px); line-height: 1.45; }
.about-statement strong { color: #a79bff; font-weight: 620; }

.about-outcome-chain { display: grid; gap: 8px; }
.about-outcome-chain > div { display: grid; grid-template-columns: 44px 1fr; align-items: center; min-height: 58px; padding: 0 18px; border: 1px solid #242c37; border-radius: 12px; background: #0a0d12; }
.about-outcome-chain span { color: #a1a9b8; font-size: 12px; }
.about-outcome-chain strong { color: #cbd2dc; font-size: 16px; font-weight: 590; }
.about-outcome-chain > div:last-child { border-color: rgba(241,199,88,.3); background: linear-gradient(90deg, rgba(241,199,88,.055), #0a0d12 64%); }
.about-outcome-chain > div:last-child strong { color: #ead27e; }
.about-commercial-line { max-width: 980px; margin: 70px auto 0; color: #d8dee7; font-size: clamp(28px,4vw,50px); line-height: 1.18; letter-spacing: -.025em; text-align: center; }
.about-commercial-line span { color: var(--accent); }

.about-method-grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--border); border-radius: 18px; overflow: hidden; }
.about-method-grid article { min-height: 300px; padding: 28px; border-right: 1px solid var(--border); background: linear-gradient(160deg, rgba(255,255,255,.012), transparent); }
.about-method-grid article:last-child { border-right: 0; }
.about-method-grid span { display: block; margin-bottom: 54px; color: #a1a9b8; font-size: 12px; }
.about-method-grid h3 { margin-bottom: 14px; font-size: 22px; }
.about-method-grid p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.7; }
.about-method-grid article:hover { background: linear-gradient(160deg, rgba(var(--accent-rgb),.05), transparent 72%); }

.about-capability-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 12px; }
.about-capability-grid article { grid-column: span 2; min-height: 285px; padding: 26px; border: 1px solid var(--border); border-radius: 16px; background: linear-gradient(155deg, rgba(255,255,255,.018), rgba(255,255,255,.004)); }
.about-capability-grid article:nth-child(4), .about-capability-grid article:nth-child(5) { grid-column: span 3; min-height: 250px; }
.about-capability-grid h3 { margin-bottom: 22px; font-size: 20px; }
.about-capability-grid ul { margin: 0; padding: 0; list-style: none; columns: 1; }
.about-capability-grid li { position: relative; margin: 0 0 9px; padding-left: 18px; color: var(--muted); font-size: 16px; line-height: 1.45; }
.about-capability-grid li::before { content: ""; position: absolute; left: 0; top: .7em; width: 6px; height: 1px; background: rgba(var(--accent-rgb),.72); }
.about-capability-action { margin-top: 26px; }

.about-principles-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.about-principles-grid article { min-height: 190px; padding: 24px; border: 1px solid var(--border); border-radius: 15px; background: rgba(255,255,255,.006); }
.about-principles-grid span { color: #a1a9b8; font-size: 12px; }
.about-principles-grid h3 { margin: 28px 0 10px; font-size: 19px; }
.about-principles-grid p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.65; }

.about-founder-section { position: relative; }
.about-founder-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(260px,.7fr) minmax(0,1.3fr); gap: clamp(60px,10vw,140px); }
.about-founder-title h2 { margin-bottom: 12px; font-size: clamp(54px,7vw,92px); letter-spacing: -.05em; }
.about-founder-role { color: #a1a9b8; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.about-founder-copy { max-width: 780px; }
.about-founder-copy p { margin: 0 0 23px; color: var(--muted); font-size: 19px; line-height: 1.76; }
.about-founder-copy p:first-child { color: #d6dce5; font-size: 21px; line-height: 1.58; }

.about-founder-led-section { padding-top: 0; }
.about-founder-led-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.about-founder-led-grid article { min-height: 180px; padding: 26px; border-top: 1px solid rgba(var(--accent-rgb),.24); background: linear-gradient(180deg, rgba(var(--accent-rgb),.025), transparent 72%); }
.about-founder-led-grid h3 { margin-bottom: 14px; font-size: 20px; }
.about-founder-led-grid p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.65; }

.about-company-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(50px,8vw,100px); align-items: start; }
.about-company-grid h2 { margin-bottom: 8px; font-size: clamp(48px,6vw,76px); }
.about-company-subtitle { color: var(--accent); }
.about-company-grid dl { margin: 0; border-top: 1px solid var(--border); }
.about-company-grid dl > div { display: grid; grid-template-columns: 160px 1fr; gap: 22px; padding: 17px 0; border-bottom: 1px solid var(--border); }
.about-company-grid dt { color: #a1a9b8; font: 10px/1.5 "IBM Plex Mono", monospace; text-transform: uppercase; letter-spacing: .08em; }
.about-company-grid dd { margin: 0; color: #c7ced8; font-size: 16px; }
.about-company-grid a { color: var(--accent); }

.about-final-cta { padding-top: 105px; padding-bottom: 120px; text-align: center; }
.about-final-cta .container { max-width: 900px; }
.about-final-cta h2 { max-width: none; margin-left: auto; margin-right: auto; font-size: clamp(44px,7vw,82px); letter-spacing: -.045em; }
.about-final-cta p:not(.eyebrow) { max-width: 720px; margin: 0 auto 30px; color: var(--muted); font-size: 18px; line-height: 1.65; }
.about-final-cta .actions { justify-content: center; }

@media (max-width: 1040px) {
  .about-hero-grid { grid-template-columns: 1fr; }
  .about-system-map { grid-template-columns: repeat(9,auto); align-items: center; }
  .about-system-map > div { min-height: 52px; padding: 0 14px; }
  .about-sols-grid { grid-template-columns: repeat(2,1fr); }
  .about-sols-grid article:nth-child(2) { border-right: 0; }
  .about-sols-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .about-method-grid { grid-template-columns: repeat(2,1fr); }
  .about-method-grid article:nth-child(2) { border-right: 0; }
  .about-method-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .about-capability-grid { grid-template-columns: repeat(2,1fr); }
  .about-capability-grid article,
  .about-capability-grid article:nth-child(4),
  .about-capability-grid article:nth-child(5) { grid-column: span 1; }
  .about-capability-grid article:last-child { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .about-hero { padding-bottom: 64px; }
  .about-editorial-grid,
  .about-founder-grid,
  .about-company-grid { grid-template-columns: 1fr; gap: 38px; }
  .about-system-map { grid-template-columns: 1fr; }
  .about-system-map > span { transform: rotate(90deg); }
  .about-sols-grid,
  .about-method-grid,
  .about-capability-grid,
  .about-principles-grid,
  .about-founder-led-grid { grid-template-columns: 1fr; }
  .about-sols-grid article,
  .about-sols-grid article:nth-child(2),
  .about-method-grid article,
  .about-method-grid article:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--border); }
  .about-sols-grid article:last-child,
  .about-method-grid article:last-child { border-bottom: 0; }
  .about-capability-grid article:last-child { grid-column: auto; }
  .about-commercial-line { margin-top: 54px; text-align: left; }
  .about-company-grid dl > div { grid-template-columns: 1fr; gap: 6px; }
  .about-final-cta { text-align: left; }
  .about-final-cta .actions { justify-content: flex-start; }
}

