/* Page-level structure and editorial compositions */
.container { width: 100%; max-width: calc(var(--container) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
.container.narrow { max-width: calc(var(--container-narrow) + 2 * var(--gutter)); }
.section { padding-block: var(--s-8); }
.section.tight { padding-block: var(--s-7); }
.section.sand { background: var(--pale); }
.section.plum { background: var(--plum); color: var(--ivory); }
.section.plum h2, .section.plum h3 { color: var(--ivory); }
.section.plum .eyebrow { color: var(--brass); }
.section-head { max-width: 640px; margin-bottom: var(--s-6); }
.section-head.row { max-width: none; display: flex; justify-content: space-between; align-items: flex-end; gap: var(--s-5); }
.section-head p { margin-top: var(--s-3); color: #54504b; }
.center { text-align: center; margin-inline: auto; }

/* ---------- home hero ---------- */
.hero { padding-block: clamp(2.5rem, 6vw, 5rem) clamp(5rem, 9vw, 8rem); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 46fr) minmax(0, 54fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; min-height: min(calc(100vh - var(--header-h) - 8rem), 760px); }
.hero h1 { margin-block: 0 var(--s-4); }
.hero h1 em { font-style: italic; color: var(--maroon); }
.hero .lead { margin-bottom: var(--s-5); }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s-3) var(--s-5); margin-bottom: var(--s-6); }
.trust-line { display: flex; gap: .9rem; align-items: center; font-size: .86rem; color: var(--grey); padding-top: var(--s-4); border-top: var(--line); max-width: 46ch; }
.trust-line::before { content: ''; flex: none; width: 8px; height: 8px; border: 1px solid var(--brass); transform: rotate(45deg); }
.hero-art { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .42fr); gap: clamp(.8rem, 2vw, 1.6rem); align-items: end; }
.hero-art .main { grid-row: 1; }
.hero-art .main .img-box { aspect-ratio: 4 / 5.1; max-height: 72vh; width: 100%; }
.hero-art .side { display: flex; flex-direction: column; gap: var(--s-3); padding-bottom: 28px; }
.hero-art .side .img-box { aspect-ratio: 2 / 3.1; }
.hero-art .caption { border-top: 1px solid var(--brass); padding-top: var(--s-2); }
.hero-art .img-box img { object-position: 50% 30%; }
.hero-art .main .img-box img { object-position: 52% 40%; }

.search-panel-wrap { margin-top: calc(var(--s-8) * -.5); position: relative; z-index: 2; margin-bottom: var(--s-7); }
.search-panel { background: var(--white); border: var(--line); box-shadow: var(--shadow); padding: var(--s-5); display: grid; grid-template-columns: 1fr 1fr 1.2fr 1fr auto; gap: var(--s-4); align-items: end; }
.search-panel .panel-title { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: -.4rem; }
.search-panel .panel-title h2 { font-size: 1.7rem; }

.principles { display: grid; grid-template-columns: repeat(3, 1fr); }
.principle { padding: var(--s-4) var(--s-6); }
.principle + .principle { border-inline-start: 1px solid #d6cbb8; }
.principle:first-child { padding-inline-start: 0; } .principle:last-child { padding-inline-end: 0; }
.principle h3 { font-size: clamp(2rem, 3vw, 2.6rem); font-style: italic; color: var(--maroon); margin-bottom: var(--s-2); }
.principle p { color: #54504b; }

.profiles-editorial { display: grid; grid-template-columns: 1fr 1fr 1.05fr; gap: var(--s-5); align-items: end; }

.compat { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.compat-list { position: relative; padding-inline-start: var(--s-6); }
.compat-list::before { content: ''; position: absolute; inset: .6rem auto .6rem .4rem; width: 1px; background: var(--brass); }
.compat-item { position: relative; padding-block: var(--s-4); border-top: var(--line); }
.compat-item:first-child { border-top: 0; padding-top: 0; }
.compat-item::before { content: ''; position: absolute; left: calc(-1 * var(--s-6) + 1px); top: calc(var(--s-4) + .55rem); width: 9px; height: 9px; background: var(--ivory); border: 1px solid var(--brass); transform: rotate(45deg); }
.compat-item:first-child::before { top: .55rem; }
.compat-item h3 { font-size: 1.7rem; margin-bottom: .3rem; }
.compat-item p { color: #54504b; font-size: .95rem; max-width: 50ch; }

.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-6); }
.step { border-top: 1px solid var(--plum); padding-top: var(--s-4); }
.step .num { display: block; font: 400 clamp(3.4rem, 6vw, 5.2rem)/1 var(--font-display); color: var(--brass); margin-bottom: var(--s-4); }
.step h3 { margin-bottom: var(--s-2); } .step p { color: #54504b; max-width: 36ch; }

.feature-story { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.feature-story h2 { margin-bottom: var(--s-4); }
.feature-story .where { font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; color: var(--grey); margin-bottom: var(--s-4); display: block; }
.feature-story p { color: #54504b; margin-bottom: var(--s-5); }

.plans-grid { display: grid; grid-template-columns: 1fr 1.12fr 1fr; gap: var(--s-4); align-items: stretch; }
.cta-final { text-align: center; position: relative; }
.cta-final h2 { max-width: 16ch; margin-inline: auto; margin-bottom: var(--s-4); }
.cta-final p { color: #d9cdc5; max-width: 42ch; margin: 0 auto var(--s-5); }
.cta-final .rule { max-width: 160px; margin-inline: auto; margin-bottom: var(--s-5); }
.cta-final .actions { display: flex; justify-content: center; gap: var(--s-3); flex-wrap: wrap; }

/* ---------- inner page header ---------- */
.page-head { padding-block: var(--s-7) var(--s-6); border-bottom: var(--line); }
.page-head.compact { padding-block: var(--s-6) var(--s-5); }
.page-head h1 { font-size: clamp(2.4rem, 5vw, 4rem); margin-bottom: var(--s-3); }
.page-head p { color: #54504b; max-width: 54ch; }
.crumbs { font-size: .82rem; color: var(--grey); margin-bottom: var(--s-3); } .crumbs a { color: var(--grey); } .crumbs a:hover { color: var(--maroon); }
.page-body { padding-block: var(--s-7); }

/* ---------- discover ---------- */
.discover-bar { display: grid; grid-template-columns: 1.4fr 1fr auto; gap: var(--s-3); align-items: end; margin-top: var(--s-5); max-width: 860px; }
.discover-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3.2fr); gap: var(--s-6); align-items: start; }
.filters { position: sticky; top: calc(var(--header-h) + 1.5rem); }
.filters-head { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: var(--s-3); border-bottom: 1px solid var(--plum); }
.filters-head h2 { font-size: 1.7rem; }
.filter-group { border-bottom: var(--line); }
.filter-group summary { list-style: none; cursor: pointer; padding: .95rem 0; font-size: .92rem; font-weight: 500; display: flex; justify-content: space-between; }
.filter-group summary::-webkit-details-marker { display: none; }
.filter-group summary::after { content: '+'; color: var(--maroon); font-size: 1.15rem; line-height: 1; }
.filter-group[open] summary::after { content: '\2212'; }
.filter-group .group-body { padding-bottom: var(--s-4); display: grid; gap: .6rem; }
.two-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.results-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--s-3); margin-bottom: var(--s-5); }
.results-head .sort { display: flex; align-items: center; gap: .7rem; } .results-head .sort label { margin: 0; white-space: nowrap; } .results-head select { width: auto; min-width: 180px; }
.directory { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-5) var(--s-4); }
.pager { display: flex; justify-content: space-between; align-items: center; margin-top: var(--s-7); padding-top: var(--s-4); border-top: var(--line); font-size: .9rem; color: var(--grey); }
.pager a { font-weight: 500; }

/* ---------- profile ---------- */
.profile-top { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; padding-block: var(--s-6) var(--s-7); }
.gallery .thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-2); margin-top: var(--s-3); }
.gallery .thumbs .img-box { aspect-ratio: 1; }
.profile-intro h1 { font-size: clamp(2.8rem, 5vw, 4.4rem); margin-bottom: var(--s-2); }
.profile-intro .facts { color: var(--grey); margin-bottom: var(--s-4); }
.profile-intro .quote { font: italic 500 1.5rem/1.4 var(--font-display); color: var(--plum); padding-inline-start: var(--s-4); border-inline-start: 2px solid var(--brass); margin-block: var(--s-4); }
.status-row { display: flex; gap: var(--s-4); flex-wrap: wrap; align-items: center; padding-block: var(--s-3); border-block: var(--line); margin-bottom: var(--s-5); font-size: .88rem; }
.actions-row { display: flex; gap: var(--s-3); flex-wrap: wrap; }
.profile-sections { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--s-6); padding-bottom: var(--s-8); }
.psec { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); grid-column: 1 / -1; gap: var(--s-6); padding-block: var(--s-5); border-top: var(--line); }
.psec h2 { font-size: 1.9rem; }
.facts-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4) var(--s-5); }
.facts-list dt { font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; color: var(--grey); }
.facts-list dd { font-weight: 500; margin-top: .15rem; }
.privacy-note { background: var(--pale); padding: var(--s-4); font-size: .9rem; display: flex; gap: var(--s-3); }
.privacy-note::before { content: ''; flex: none; width: 8px; height: 8px; margin-top: .5rem; border: 1px solid var(--maroon); transform: rotate(45deg); }

/* ---------- auth ---------- */
.auth { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: calc(100vh - var(--header-h)); }
.auth-art { position: relative; background: var(--plum); color: var(--ivory); display: flex; align-items: flex-end; padding: var(--s-7) clamp(1.5rem, 5vw, 4.5rem); isolation: isolate; }
.auth-art > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.auth-art::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(57,37,45,.15) 25%, rgba(57,37,45,.9)); z-index: -1; }
.auth-art h2 { color: var(--ivory); font-size: clamp(2rem, 3.6vw, 3.2rem); max-width: 14ch; margin-bottom: var(--s-3); }
.auth-art p { color: #e5dad2; max-width: 38ch; }
.auth-form { display: flex; align-items: center; justify-content: center; padding: var(--s-7) var(--gutter); }
.auth-box { width: min(420px, 100%); }
.auth-box h1 { font-size: clamp(2.4rem, 4vw, 3.2rem); margin-bottom: var(--s-2); }
.auth-box .field { margin-bottom: var(--s-4); }
.row-split { display: flex; justify-content: space-between; align-items: center; gap: var(--s-3); flex-wrap: wrap; font-size: .88rem; margin-bottom: var(--s-5); }
.alt-line { margin-top: var(--s-5); padding-top: var(--s-4); border-top: var(--line); font-size: .92rem; color: var(--grey); text-align: center; }

.register { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; padding-block: var(--s-7); }
.register-aside { position: sticky; top: calc(var(--header-h) + 1.5rem); }
.register-aside h1 { font-size: clamp(2.6rem, 4.4vw, 4rem); margin-bottom: var(--s-4); }
.register-aside .img-box { margin-top: var(--s-5); aspect-ratio: 4 / 4.4; }

/* ---------- member area ---------- */
.app-header .header-inner { max-width: none; }
.app-header .nav-actions { margin-inline-start: auto; }
.app { display: grid; grid-template-columns: 230px minmax(0, 1fr); min-height: calc(100vh - var(--header-h)); }
.sidebar { position: sticky; top: var(--header-h); align-self: start; height: calc(100vh - var(--header-h)); overflow-y: auto; padding: var(--s-5) var(--s-4); border-right: var(--line); background: var(--white); }
.sidebar .who { display: flex; gap: .8rem; align-items: center; padding-bottom: var(--s-4); margin-bottom: var(--s-3); border-bottom: var(--line); }
.sidebar .who .img-box { width: 48px; height: 48px; border-radius: 50%; flex: none; }
.sidebar .who strong { display: block; font: 500 1.25rem/1.1 var(--font-display); color: var(--plum); } .sidebar .who span { font-size: .78rem; color: var(--grey); }
.side-link { display: flex; align-items: center; gap: .7rem; padding: .62rem .8rem; margin-inline: -.8rem; font-size: .9rem; color: var(--ink); border-inline-start: 2px solid transparent; transition: background .2s, border-color .2s; }
.side-link::before { content: ''; width: 5px; height: 5px; border: 1px solid var(--brass); transform: rotate(45deg); flex: none; }
.side-link:hover { background: var(--ivory); color: var(--maroon); }
.side-link[aria-current] { background: var(--ivory); border-inline-start-color: var(--maroon); color: var(--maroon); font-weight: 500; }
.side-link[aria-current]::before { background: var(--maroon); border-color: var(--maroon); }
.side-link .count { margin-inline-start: auto; font-size: .72rem; color: var(--grey); }
.side-sep { border: 0; border-top: var(--line); margin-block: var(--s-3); }
.app-main { padding: var(--s-6) clamp(1.25rem, 3.5vw, 3.5rem) var(--s-8); min-width: 0; }
.app-title { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--s-4); flex-wrap: wrap; margin-bottom: var(--s-6); }
.app-title h1 { font-size: clamp(2.2rem, 4vw, 3.3rem); margin-bottom: .4rem; } .app-title p { color: var(--grey); max-width: 52ch; }
.completion { max-width: 520px; padding: var(--s-4) 0; margin-bottom: var(--s-5); }
.completion .line { display: flex; justify-content: space-between; align-items: baseline; font-size: .9rem; margin-bottom: .6rem; } .completion strong { font: 500 1.9rem/1 var(--font-display); color: var(--maroon); }
.meter { height: 3px; background: var(--sand); } .meter i { display: block; height: 100%; background: var(--maroon); }
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); border-block: var(--line); margin-bottom: var(--s-7); }
.metric { padding: var(--s-4) var(--s-4); } .metric + .metric { border-inline-start: var(--line); } .metric:first-child { padding-inline-start: 0; }
.metric strong { display: block; font: 500 3.2rem/1 var(--font-display); color: var(--plum); } .metric span { font-size: .84rem; color: var(--grey); }
.dash-cols { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: var(--s-7); align-items: start; }
.dash-block { margin-bottom: var(--s-7); }
.dash-block > h2 { font-size: 1.9rem; margin-bottom: var(--s-3); display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.dash-block > h2 a { font: 500 .85rem var(--font-ui); }
.activity li { display: flex; gap: var(--s-3); padding: .9rem 0; border-top: var(--line); font-size: .92rem; }
.activity li:last-child { border-bottom: var(--line); }
.activity time { margin-inline-start: auto; color: var(--grey); font-size: .8rem; white-space: nowrap; }
.mini-profile { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: var(--s-3); align-items: center; padding: var(--s-3) 0; border-top: var(--line); }
.mini-profile:last-of-type { border-bottom: var(--line); }
.mini-profile .img-box { width: 64px; height: 80px; } .mini-profile strong { font: 500 1.35rem/1.1 var(--font-display); color: var(--plum); display: block; } .mini-profile span { font-size: .85rem; color: var(--grey); }
.summary-box { border: var(--line); background: var(--white); padding: var(--s-5); margin-bottom: var(--s-4); }
.summary-box h3 { margin-bottom: var(--s-2); } .summary-box p { color: #54504b; font-size: .92rem; margin-bottom: var(--s-3); }

.edit-layout { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: var(--s-6); align-items: start; }
.section-nav { position: sticky; top: calc(var(--header-h) + 1.5rem); }
.section-nav a { display: block; padding: .5rem 0 .5rem .9rem; border-inline-start: 1px solid var(--sand); font-size: .88rem; color: var(--grey); }
.section-nav a:hover { color: var(--maroon); border-color: var(--maroon); }
.form-block { scroll-margin-top: calc(var(--header-h) + 1rem); }

.chat-shell { display: grid; grid-template-columns: 320px minmax(0, 1fr); border: var(--line); background: var(--white); height: min(700px, calc(100vh - 230px)); min-height: 520px; }
.convos { border-right: var(--line); overflow-y: auto; }
.convo { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: .8rem; padding: var(--s-3) var(--s-4); border-bottom: var(--line); color: var(--ink); align-items: center; }
.convo:hover { background: var(--ivory); color: var(--ink); } .convo[aria-current] { background: var(--ivory); box-shadow: inset 2px 0 0 var(--maroon); }
.convo .img-box { width: 52px; height: 52px; border-radius: 50%; }
.convo strong { display: flex; justify-content: space-between; gap: .5rem; font: 500 1.2rem/1.2 var(--font-display); color: var(--plum); } .convo strong time { font: 400 .72rem var(--font-ui); color: var(--grey); }
.convo span { display: block; font-size: .84rem; color: var(--grey); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chat { display: flex; flex-direction: column; min-width: 0; }
.chat-head { display: flex; align-items: center; gap: var(--s-3); padding: var(--s-3) var(--s-4); border-bottom: var(--line); }
.chat-head .img-box { width: 44px; height: 44px; border-radius: 50%; } .chat-head strong { font: 500 1.35rem/1 var(--font-display); color: var(--plum); display: block; } .chat-head span { font-size: .8rem; color: var(--grey); }
.chat-log { flex: 1; overflow-y: auto; padding: var(--s-4); display: flex; flex-direction: column; gap: var(--s-2); background: var(--ivory); }
.bubble { max-width: min(70%, 460px); padding: .75rem 1rem; background: var(--white); border: var(--line); font-size: .93rem; }
.bubble time { display: block; margin-top: .2rem; font-size: .7rem; color: var(--grey); }
.bubble.me { align-self: flex-end; background: var(--maroon); border-color: var(--maroon); color: #fff; } .bubble.me time { color: #e0c9cf; }
.day { align-self: center; font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: var(--grey); }
.chat-form { display: flex; gap: var(--s-2); padding: var(--s-3) var(--s-4); border-top: var(--line); }

/* ---------- content pages ---------- */
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-6); }
.pillar { border-top: 1px solid var(--plum); padding-top: var(--s-4); } .pillar h3 { margin-bottom: var(--s-2); } .pillar p { color: #54504b; }
.stories-list > article { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; padding-block: var(--s-7); border-top: var(--line); }
.stories-list > article:nth-child(even) .frame { order: 2; }
.stories-list h2 { font-size: clamp(2rem, 3.4vw, 2.8rem); margin-bottom: var(--s-3); } .stories-list p { color: #54504b; margin-bottom: var(--s-4); }
.article { max-width: 720px; margin-inline: auto; } .article p { font-size: 1.08rem; color: #3f3b38; margin-bottom: 1.3em; }
.article p:first-of-type::first-letter { font: 500 4.4rem/.8 var(--font-display); float: left; padding: .35rem .6rem 0 0; color: var(--maroon); }
.pullquote { font: italic 500 clamp(1.8rem, 3vw, 2.5rem)/1.25 var(--font-display); color: var(--plum); text-align: center; max-width: 24ch; margin: var(--s-7) auto; }
.contact-layout { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 6rem); }
.contact-layout dl > div { padding-block: var(--s-3); border-top: var(--line); } .contact-layout dt { font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; color: var(--grey); }
.legal { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: var(--s-7); align-items: start; }
.toc { position: sticky; top: calc(var(--header-h) + 1.5rem); } .toc a { display: block; padding: .4rem 0; font-size: .9rem; color: var(--grey); border-bottom: var(--line); } .toc a:hover { color: var(--maroon); }
.prose { max-width: 720px; } .prose h2 { font-size: 2rem; margin: var(--s-6) 0 var(--s-3); scroll-margin-top: calc(var(--header-h) + 1rem); } .prose h2:first-of-type { margin-top: 0; }
.prose p, .prose li { color: #3f3b38; } .prose ul { list-style: none; margin-bottom: 1em; } .prose li { padding-inline-start: 1.4rem; position: relative; margin-bottom: .45rem; }
.prose li::before { content: ''; position: absolute; left: 0; top: .75rem; width: 6px; height: 6px; border: 1px solid var(--brass); transform: rotate(45deg); }
.notice { border-inline-start: 2px solid var(--brass); background: var(--pale); padding: var(--s-4); margin-bottom: var(--s-6); font-size: .92rem; }
.tips { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-6) var(--s-5); }
.tip { border-top: 1px solid var(--plum); padding-top: var(--s-4); } .tip .num { font: 400 2.6rem/1 var(--font-display); color: var(--brass); display: block; margin-bottom: var(--s-2); } .tip p { color: #54504b; font-size: .95rem; }

/* ---------- people split (front-page photograph + introductions) ---------- */
.people-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: var(--ivory); }
.people-photo { position: relative; min-height: 640px; overflow: hidden; background: var(--pale); }
.people-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 52% 40%; }
.people-photo .caption { position: absolute; inset: auto 0 0; padding: var(--s-5) var(--s-5) var(--s-4); color: var(--ivory); background: linear-gradient(180deg, transparent, rgba(57,37,45,.78)); }
.people-text { padding: var(--s-8) var(--gutter) var(--s-7) clamp(2rem, 6vw, 6rem); max-width: 720px; }
.people-text > p { color: #54504b; margin-top: var(--s-3); max-width: 44ch; }
.people-list { margin-top: var(--s-6); }
.person { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-3) var(--s-4); align-items: end; padding-block: var(--s-4); border-top: var(--line); }
.person:last-child { border-bottom: var(--line); }
.person h3 { font-size: 1.9rem; margin-bottom: .1rem; }
.person .facts { font-size: .9rem; color: var(--grey); margin-bottom: var(--s-2); }
.person .quote { font: italic 500 1.2rem/1.35 var(--font-display); color: var(--plum); max-width: 40ch; }
.person .acts { display: flex; flex-direction: column; align-items: flex-end; gap: var(--s-2); }
.people-text .small { margin-top: var(--s-4); }

.card-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-5); }
@media (max-width: 1023px) { .card-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .card-row { grid-template-columns: 1fr; max-width: 440px; margin-inline: auto; } }
