/* Founder and history chapters. Native details keep the complete content available without JS. */
:is(.founder-page, .history-page) {
    color: var(--ink);
    background: var(--paper);
}
:is(.founder-page, .history-page) .editorial-chapter {
    box-sizing: border-box;
    min-height: calc(100svh - 76px);
    display: flex;
    align-items: center;
    padding-block: clamp(36px, 4vh, 58px) 92px;
    scroll-margin-top: 76px;
}
:is(.founder-page, .history-page) .editorial-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(30px, 4.5vw, 72px);
    align-items: center;
}
:is(.founder-page, .history-page) .editorial-split > * { min-width: 0; }
:is(.founder-page, .history-page) .editorial-top { align-items: start; }
:is(.founder-page, .history-page) .editorial-copy { max-width: 620px; }
:is(.founder-page, .history-page) .display-title {
    max-width: 12ch;
    margin: 0 0 22px;
    font-size: clamp(36px, 4.3vw, 62px);
    line-height: 1.1;
    letter-spacing: -.045em;
}
:is(.founder-page, .history-page) .section-title {
    margin: 0 0 24px;
    font-size: clamp(30px, 3.3vw, 48px);
    line-height: 1.17;
    letter-spacing: -.035em;
}
:is(.founder-page, .history-page) .eyebrow { margin: 0 0 20px; }
:is(.founder-page, .history-page) .lead {
    margin: 0 0 22px;
    max-width: 48ch;
    font-size: clamp(17px, 1.5vw, 20px);
    line-height: 1.65;
}
:is(.founder-page, .history-page) .prose { font-size: 16px; line-height: 1.75; }
:is(.founder-page, .history-page) .prose p { margin: 0 0 18px; }
:is(.founder-page, .history-page) .prose h3 { margin: 22px 0 12px; font-size: 19px; }
:is(.founder-page, .history-page) .editorial-note,
:is(.founder-page, .history-page) .editorial-source {
    margin: 0 0 20px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.65;
}
:is(.founder-page, .history-page) .editorial-source { margin-top: 18px; }
:is(.founder-page, .history-page) .editorial-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 22px;
    margin-top: 26px;
}
:is(.founder-page, .history-page) .editorial-actions .button {
    min-height: 46px;
    padding: 12px 20px;
    justify-content: center;
    gap: 12px;
    font-size: 13px;
}
:is(.founder-page, .history-page) .text-link { font-size: 13px; }
:is(.founder-page, .history-page) .editorial-index {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 26px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
    font-size: 12px;
    line-height: 1.6;
}
:is(.founder-page, .history-page) .editorial-index a {
    padding-block: 3px;
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-color: var(--line);
}
:is(.founder-page, .history-page) .editorial-index a:hover { text-decoration-color: currentColor; }
:is(.founder-page, .history-page) .editorial-media { width: 100%; margin: 0; }
:is(.founder-page, .history-page) .editorial-media > a { display: block; }
:is(.founder-page, .history-page) .editorial-media img {
    display: block;
    width: 100%;
    height: clamp(320px, calc(100svh - 250px), 520px);
    object-fit: cover;
    object-position: center;
    background: #d8e0df;
}
:is(.founder-page, .history-page) figcaption {
    margin-top: 12px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.6;
}
:is(.founder-page, .history-page) .editorial-dark {
    --line: #ffffff2b;
    --muted: #b7c8cf;
    --blue: var(--cyan);
    background: var(--navy);
    color: var(--paper);
}
:is(.founder-page, .history-page) .editorial-dark .eyebrow { color: var(--cyan); }
:is(.founder-page, .history-page) .editorial-dark .button {
    background: var(--cyan);
    border-color: var(--cyan);
    color: var(--navy);
}
:is(.founder-page, .history-page) .editorial-dark .button-outline {
    background: transparent;
    border-color: #ffffff75;
    color: var(--paper);
}
:is(.founder-page, .history-page) .editorial-dark .text-link { color: inherit; }
:is(.founder-page, .history-page) .editorial-dark .editorial-media img { background: #163143; }
:is(.founder-page, .history-page) .editorial-tint { background: #e8f1f3; }

/* Disclosure rows remain in ordinary document flow when expanded. */
:is(.founder-page, .history-page) .editorial-details { border-bottom: 1px solid var(--line); }
:is(.founder-page, .history-page) .editorial-details > summary {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 0;
    cursor: pointer;
    list-style: none;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}
:is(.founder-page, .history-page) summary::-webkit-details-marker { display: none; }
:is(.founder-page, .history-page) .editorial-details > summary::after {
    content: '+';
    flex: 0 0 18px;
    margin-left: auto;
    text-align: center;
    font-size: 22px;
    line-height: 1;
    font-weight: 400;
}
:is(.founder-page, .history-page) .editorial-details[open] > summary::after { content: '−'; }
:is(.founder-page, .history-page) .editorial-details > summary > span:not(:first-child) {
    margin-left: auto;
    color: var(--muted);
    font-size: 11px;
    font-weight: 400;
}
:is(.founder-page, .history-page) .details-body { padding: 4px 0 20px; }
:is(.founder-page, .history-page) .details-body > :last-child { margin-bottom: 0; }
:is(.founder-page, .history-page) summary:focus-visible,
:is(.founder-page, .history-page) a:focus-visible { outline: 2px solid var(--cyan); outline-offset: 5px; }

/* Ramon: the portrait and his professional background share the first chapter. */
.founder-page .founder-role { margin: -8px 0 22px; color: var(--muted); font-size: 14px; }
.founder-page .founder-portrait img {
    height: min(580px, calc(100svh - 232px));
    min-height: 360px;
    object-position: center 34%;
}
.founder-page .founder-credentials {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 26px 0 0;
    padding-top: 18px;
    border-top: 1px solid var(--line);
    font-size: 12px;
    line-height: 1.5;
}
.founder-page .founder-credentials dt { margin-bottom: 4px; font-weight: 700; }
.founder-page .founder-credentials dd { margin: 0; color: var(--muted); }
.founder-page .founder-milestone-list,
.founder-page .founder-training-list,
.founder-page .founder-talk-list,
.founder-page .founder-technical-list {
    padding: 4px 0 20px;
    margin: 0;
    list-style: none;
}
.founder-page :is(.founder-milestone-list, .founder-training-list, .founder-technical-list) > li {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 18px;
    margin: 0;
    padding: 15px 0;
    border-top: 1px solid var(--line);
    font-size: 14px;
    line-height: 1.65;
}
.founder-page :is(.founder-milestone-list, .founder-training-list, .founder-technical-list) > li > span {
    color: var(--muted);
    font-size: 12px;
}
.founder-page .founder-milestone-list h3 { margin: 0 0 8px; font-size: 17px; }
.founder-page :is(.founder-milestone-list, .founder-training-list, .founder-technical-list) p { margin: 6px 0 0; }
.founder-page .founder-career-list { border-top: 1px solid var(--line); }
.founder-page .career-details > summary { gap: 14px; padding-block: 12px; }
.founder-page .career-details > summary > span { flex: 1; min-width: 0; }
.founder-page .career-details > summary strong { display: block; font-family: var(--display); font-size: 16px; line-height: 1.4; }
.founder-page .career-details > summary > span > span { display: block; margin-top: 3px; font-size: 12px; font-weight: 400; }
.founder-page .career-details > summary > time { max-width: 132px; color: var(--muted); font-size: 11px; font-weight: 400; text-align: right; }
.founder-page .career-earlier > summary { font-size: 13px; }
.founder-page .career-earlier > .details-body { padding: 0 0 14px 16px; border-left: 2px solid var(--cyan); }
.founder-page .career-period { color: var(--muted); font-size: 12px; }
.founder-page .founder-public-links { gap: 12px 22px; }
.founder-page .editorial-heading { max-width: 720px; margin-bottom: 26px; }
.founder-page .editorial-heading > p:not(.eyebrow) { margin: 0; font-size: 15px; line-height: 1.7; }
.founder-page .founder-education-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 44px; }
.founder-page .founder-education-card { padding-top: 16px; border-top: 1px solid var(--line); }
.founder-page .founder-education-card > span { color: var(--muted); font-size: 11px; }
.founder-page .founder-education-card h3 { margin: 8px 0 10px; font-size: 19px; line-height: 1.4; letter-spacing: -.02em; }
.founder-page .founder-education-card p { margin: 0 0 8px; font-size: 13px; line-height: 1.65; }
.founder-page .education-work { margin-top: 12px; }
.founder-page .education-work summary { cursor: pointer; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
.founder-page .education-work p { margin-top: 10px; }
.founder-page .founder-training { margin-top: 20px; }
.founder-page .founder-skills-list { margin-top: 26px; }
.founder-page .founder-skills-list .details-body { margin: 0; padding-left: 18px; font-size: 14px; line-height: 1.8; }
.founder-page .founder-sharing-list { border-top: 1px solid var(--line); }
.founder-page .founder-talk-list > li { padding: 16px 0; border-top: 1px solid var(--line); }
.founder-page .founder-talk-list > li > span { color: var(--muted); font-size: 11px; }
.founder-page .founder-talk-list h3 { margin: 8px 0; font-size: 18px; }
.founder-page .founder-talk-list p { margin: 0; font-size: 13px; line-height: 1.65; }
.founder-page .founder-recognition-grid,
.founder-page .founder-program-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 44px; }
.founder-page :is(.founder-recognition-grid, .founder-program-grid) article { padding-top: 16px; border-top: 1px solid var(--line); }
.founder-page :is(.founder-recognition-grid, .founder-program-grid) article > span { color: var(--muted); font-size: 11px; }
.founder-page :is(.founder-recognition-grid, .founder-program-grid) h3 { margin: 8px 0 12px; font-size: 19px; line-height: 1.4; }
.founder-page :is(.founder-recognition-grid, .founder-program-grid) p { margin: 0 0 10px; font-size: 14px; line-height: 1.65; }
.founder-page .founder-recognition-grid .recognition-attribution { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.founder-page .founder-programs { margin-top: 22px; }
.founder-page .founder-program-grid { padding-bottom: 22px; }
.founder-page .founder-band-photo img { object-position: center; }
.founder-page .founder-credit-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; margin: 24px 0 0; }
.founder-page .founder-credit-list dt { font-size: 14px; font-weight: 700; }
.founder-page .founder-credit-list dd { margin: 4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.founder-page .founder-secondary-photo { margin: 0; }
.founder-page .founder-secondary-photo img { width: min(100%, 333px); height: auto; }
.founder-page #cultura .text-link { margin-top: 22px; }
.founder-page .editorial-finish { padding-block: 52px 64px; border-top: 1px solid var(--line); }
.founder-page .editorial-finish .section-title { font-size: clamp(28px, 2.8vw, 40px); }
.founder-page .founder-sources .details-body { padding-left: 18px; font-size: 13px; line-height: 1.8; }
.founder-page .founder-sources a { text-decoration: underline; text-underline-offset: 3px; }

/* Four historical phases; all fifteen dated records remain in native disclosures. */
.history-page .history-chapter .display-title { max-width: 15ch; }
.history-page .history-chapter .section-title { max-width: 17ch; }
.history-page .history-index { margin-bottom: 14px; }
.history-page .history-records { margin-top: 22px; }
.history-page .history-reverse > .editorial-copy { grid-column: 2; grid-row: 1; }
.history-page .history-reverse > .editorial-media { grid-column: 1; grid-row: 1; }
.history-page .history-portrait img { object-position: center 34%; }
.history-page .chronicle-list { margin: 0; padding: 0 0 18px; list-style: none; }
.history-page .chronicle-list > li { margin: 0; scroll-margin-top: 100px; }
.history-page .chronicle-event > summary { gap: 16px; font-size: 13px; }
.history-page .chronicle-event > summary > time { flex: 0 0 66px; color: var(--muted); font-size: 12px; font-weight: 400; }
.history-page .chronicle-event > summary > span { margin-left: 0; color: inherit; font-size: 13px; font-weight: 700; }
.history-page .chronicle-event .details-body { padding-left: 82px; }
.history-page .chronicle-event .prose { font-size: 14px; }
.history-page .chronicle-image { margin: 20px 0; }
.history-page .chronicle-image img { display: block; width: 100%; max-height: 380px; object-fit: contain; object-position: left center; }

@media (max-width: 1000px) {
    :is(.founder-page, .history-page) .editorial-split { gap: 32px; }
    :is(.founder-page, .history-page) .display-title { font-size: clamp(36px, 4.7vw, 52px); }
    :is(.founder-page, .history-page) .section-title { font-size: clamp(30px, 3.8vw, 40px); }
    .founder-page .founder-credentials { gap: 12px; font-size: 11px; }
    .founder-page .career-details > summary > time { max-width: 105px; }
}
@media (max-width: 760px) {
    :is(.founder-page, .history-page) .editorial-chapter { min-height: auto; padding-block: 36px 64px; }
    :is(.founder-page, .history-page) .editorial-split { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    :is(.founder-page, .history-page) .display-title { max-width: 17ch; margin-bottom: 18px; font-size: clamp(34px, 9vw, 46px); }
    :is(.founder-page, .history-page) .section-title { margin-bottom: 20px; font-size: clamp(29px, 7.3vw, 38px); }
    :is(.founder-page, .history-page) .eyebrow { margin-bottom: 16px; font-size: 10px; }
    :is(.founder-page, .history-page) .lead { font-size: 17px; }
    :is(.founder-page, .history-page) .prose { font-size: 15px; }
    :is(.founder-page, .history-page) .editorial-media img { height: auto; max-height: 520px; object-fit: contain; }
    :is(.founder-page, .history-page) .editorial-index { gap: 10px 16px; margin-top: 22px; }
    :is(.founder-page, .history-page) .editorial-actions { gap: 12px 18px; }
    :is(.founder-page, .history-page) .editorial-details > summary { padding-block: 15px; font-size: 13px; }
    .founder-page .founder-portrait img { width: 100%; height: auto; min-height: 0; max-height: 520px; object-fit: cover; }
    .founder-page .founder-credentials { font-size: 12px; }
    .founder-page .founder-education-grid,
    .founder-page .founder-recognition-grid,
    .founder-page .founder-program-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .founder-page .founder-education-card h3,
    .founder-page :is(.founder-recognition-grid, .founder-program-grid) h3 { font-size: 18px; }
    .founder-page .career-details > summary { display: grid; grid-template-columns: minmax(0, 1fr) 18px; gap: 4px 12px; }
    .founder-page .career-details > summary > time { grid-column: 1; grid-row: 2; max-width: none; text-align: left; }
    .founder-page .career-details > summary::after { grid-column: 2; grid-row: 1 / 3; margin-left: 0; }
    .founder-page .career-earlier > summary > span { flex: 0 0 auto; font-size: 10px; }
    .founder-page :is(.founder-milestone-list, .founder-training-list, .founder-technical-list) > li { grid-template-columns: 62px minmax(0, 1fr); gap: 12px; }
    .founder-page .founder-credit-list { gap: 18px; }
    .founder-page .editorial-finish { padding-block: 36px 52px; }
    .history-page .history-reverse > .editorial-copy,
    .history-page .history-reverse > .editorial-media { grid-column: auto; grid-row: auto; }
    .history-page .chronicle-event > summary > time { flex-basis: 56px; font-size: 11px; }
    .history-page .chronicle-event .details-body { padding-left: 0; }
}
@media (max-width: 380px) {
    .founder-page .founder-credentials { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .founder-page .founder-credentials > div { display: flex; gap: 12px; }
    .founder-page .founder-credentials dt { flex: 0 0 84px; margin: 0; }
    .founder-page .founder-credit-list { grid-template-columns: minmax(0, 1fr); }
    :is(.founder-page, .history-page) .editorial-details > summary > span:not(:first-child) { font-size: 10px; }
}
