/* An editorial portrait: the supplied photograph stays the centre of the composition. */
.founder { padding-block: clamp(5rem, 8vw, 9rem); }
.founder__layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); grid-template-areas: 'portrait heading' 'portrait story'; column-gap: clamp(3rem, 6vw, 7rem); align-items: start; }
.founder__heading { grid-area: heading; min-width: 0; }
.founder .founder__heading h2 { font-size: clamp(3rem, 5.15vw, 5.8rem); }
.founder__subtitle { margin: 2rem 0 3rem; color: #59574f; font-size: clamp(1.05rem, 1.5vw, 1.35rem); line-height: 1.55; letter-spacing: -.02em; }
.founder__portrait { grid-area: portrait; margin: 0; min-width: 0; align-self: start; }
.founder__portrait-frame { position: relative; isolation: isolate; aspect-ratio: 4 / 5; overflow: clip; background: var(--paper); }
.founder__portrait-frame::before { content: ''; position: absolute; inset: 14% 0 0; z-index: -1; background: linear-gradient(130deg, #e8e3d8, #d9d0bf); clip-path: polygon(0 25%, 100% 0, 100% 100%, 0 100%); }
.founder__portrait-frame::after { content: ''; position: absolute; inset: auto 0 0; height: 1px; background: #9c865c; }
.founder__portrait img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; filter: grayscale(1) contrast(1.025); mix-blend-mode: multiply; }
.founder__portrait figcaption { margin-top: 1.5rem; color: #625d51; font-size: clamp(.875rem, 1.15vw, 1.05rem); line-height: 1.6; white-space: nowrap; }
.founder__story { grid-area: story; min-width: 0; max-width: 660px; }
.founder__story > p { margin: 0 0 1.5rem; color: #55544d; font-size: clamp(1rem, 1.15vw, 1.125rem); line-height: 1.8; }
.founder__story > .founder__opening { color: #282923; font-size: clamp(1.12rem, 1.45vw, 1.3rem); line-height: 1.65; letter-spacing: -.015em; }
.founder__conviction { margin-block: clamp(2.5rem, 4vw, 4rem) 2rem; padding-top: 1.5rem; border-top: 1px solid #c6bfae; }
.founder__conviction > p { margin: 0 0 1rem; color: #59574f; font-size: 1rem; line-height: 1.7; }
.founder__conviction blockquote { margin: 0; }
.founder__conviction blockquote p { margin: 0; color: #735b31; font: italic 400 clamp(1.8rem, 2.6vw, 2.8rem)/1.2 var(--serif); letter-spacing: -.03em; }
.founder__story > .founder__closing { margin-bottom: 0; color: #282923; font-size: clamp(1.08rem, 1.3vw, 1.2rem); line-height: 1.6; }
@media (min-width: 1001px) and (min-height: 800px) {
 .founder__portrait { position: sticky; top: 3rem; }
 .founder__portrait-frame { max-height: calc(100svh - 9rem); }
}
@media (max-width: 1000px) {
 .founder__layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'heading' 'portrait' 'story'; }
 .founder .founder__heading h2 { font-size: clamp(2.7rem, 7.5vw, 4.75rem); }
 .founder__subtitle { margin-block: 1.6rem 2.75rem; }
 .founder__portrait { width: min(100%, 560px); margin: 0 0 3rem; }
 .founder__story { max-width: 680px; }
 .founder__conviction blockquote p { font-size: clamp(1.85rem, 4.5vw, 2.7rem); }
}
@media (max-width: 600px) {
 .founder { padding-block: 4.5rem; }
 .founder .founder__heading h2 { font-size: clamp(2.5rem, 11.1vw, 3.7rem); }
 .founder__portrait figcaption { margin-top: 1.1rem; }
 .founder__story > p { line-height: 1.75; }
}
@media (prefers-reduced-motion: reduce) {
 .founder__portrait { position: static; }
}
@media (forced-colors: active) {
 .founder__portrait-frame::before { display: none; }
 .founder__portrait-frame::after { background: CanvasText; }
 .founder__conviction { border-color: CanvasText; }
 .founder__conviction blockquote p { color: CanvasText; }
}
