/* Capability pages and About: the product as itself, definition first, then how it works. */
.cap-head .res-crumbs { margin-bottom: 6px; }
.cap-stage { margin: 8px 0 0; }
.cap-actions { display: flex; justify-content: center; align-items: center; gap: 22px; margin-top: 28px; }
.cap-link { font-size: 14px; font-weight: 480; text-decoration: underline; text-underline-offset: 6px; text-decoration-color: #a8afbb; }
.cap-link:hover { color: var(--red-dark); text-decoration-color: var(--red); }
.cap-moment { margin: 56px auto 0; }
.cap-moment .moment { width: min(100%, 780px); }
.cap-section { margin: 80px auto 0; max-width: 860px; text-align: left; }
.cap-section > h2 { font-size: clamp(26px, 3vw, 38px); font-weight: 450; line-height: 1.15; letter-spacing: -.032em; color: #000; }
.cap-definition p { margin-top: 16px; font-size: clamp(19px, 2vw, 23px); line-height: 1.45; letter-spacing: -.016em; color: #23262b; text-wrap: pretty; }
.cap-definition .cap-status { margin-top: 14px; font-size: 15px; color: var(--secondary); }
.steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 40px; margin: 28px 0 0; padding: 0; list-style: none; }
.steps li { padding-top: 16px; border-top: 1px solid var(--line); }
.steps__n { display: block; font-size: 13px; font-weight: 560; letter-spacing: .02em; color: #a72135; font-variant-numeric: tabular-nums; }
.steps h3 { margin-top: 8px; font-size: 21px; font-weight: 490; letter-spacing: -.022em; }
.steps p { margin-top: 8px; font-size: 16px; line-height: 1.62; color: #454d58; }
.produces { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 40px; margin: 24px 0 0; padding: 0; list-style: none; }
.produces li { position: relative; padding: 14px 0 0 26px; border-top: 1px solid var(--line); font-size: 17px; line-height: 1.5; color: #23262b; }
.produces li::before { content: ""; position: absolute; left: 0; top: 22px; width: 12px; height: 12px; border-radius: 50%; background: #d92332; }
.cap-permissions p { margin-top: 14px; font-size: 17px; line-height: 1.65; color: #2b2f36; }
.cap-principle { padding: 18px 22px; border-left: 3px solid var(--red); background: #fff; border-radius: 0 14px 14px 0; font-size: 18px !important; letter-spacing: -.012em; color: #23262b !important; }
.cap-all { margin: 80px auto 0; max-width: 980px; text-align: center; }
.cap-all h2 { font-size: 15px; font-weight: 520; color: #5c6675; }
.cap-all ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; margin: 16px 0 0; padding: 0; list-style: none; text-align: left; }
.cap-all li a { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.cap-all li[aria-current="page"] a strong { color: var(--red-dark); }
.cap-all li a:hover strong { color: var(--red-dark); }
.cap-all strong { font-weight: 500; }
/* About */
.founders { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin: 64px auto 0; max-width: 1080px; padding: 0; list-style: none; text-align: center; }
.founders img { width: min(100%, 240px); aspect-ratio: 1; margin: 0 auto 18px; border-radius: 28px; object-fit: cover; box-shadow: 0 5px 0 -1px #bfcbd7, 1px 8px 0 -2px #e1e7ee, 0 22px 30px -24px #42587280; }
.founders h2 { font-size: 24px; font-weight: 480; letter-spacing: -.024em; }
.founders__role { margin-top: 4px; font-size: 13.5px; font-weight: 520; color: #a72135; }
.founders p { margin-top: 10px; font-size: 15px; line-height: 1.6; color: var(--secondary); max-width: 300px; margin-inline: auto; }
.about-section { margin: 96px auto 0; max-width: 860px; text-align: left; }
.about-section > h2 { font-size: clamp(28px, 3.2vw, 42px); font-weight: 450; line-height: 1.14; letter-spacing: -.034em; color: #000; }
.about-section > p { margin-top: 16px; font-size: 17.5px; line-height: 1.68; color: #2b2f36; }
.about-statement { font-size: clamp(20px, 2.2vw, 26px) !important; line-height: 1.4 !important; letter-spacing: -.02em; color: #23262b !important; text-wrap: pretty; }
.about-statement--quiet { margin-top: 32px !important; padding-top: 22px; border-top: 2px solid var(--red); }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 40px; margin-top: 32px; }
.about-grid h3 { font-size: 19px; font-weight: 490; letter-spacing: -.02em; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.about-grid div:nth-child(even) h3 { color: #a72135; }
.about-grid p { margin-top: 10px; font-size: 15.5px; line-height: 1.62; color: #454d58; }
.about-rules { margin: 20px 0 0; padding: 0; list-style: none; }
.about-rules li { padding: 16px 0; border-top: 1px solid var(--line); font-size: 16.5px; line-height: 1.62; color: #2b2f36; }
.about-rules strong { font-weight: 560; color: #23262b; }
.about-facts dl { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 40px; margin: 22px 0 0; }
.about-facts dt { font-size: 12.5px; font-weight: 560; letter-spacing: .02em; color: #7a828f; }
.about-facts dd { margin: 4px 0 0; font-size: 16px; line-height: 1.55; }
.about-facts a { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #a8afbb; }
@media (max-width: 900px) { .steps, .produces, .about-grid, .about-facts dl { grid-template-columns: 1fr; } .cap-all ul { grid-template-columns: 1fr; } .founders { grid-template-columns: 1fr; gap: 44px; } }
@media (max-width: 650px) { .cap-actions { flex-direction: column; gap: 14px; } }
