/* Public-page layout audit: balanced measures, bounded imagery, and consistent rhythm. */
:root{--section-space:clamp(52px,5.2vw,80px)}
.section{padding-block:var(--section-space)}
.section-heading:last-child{margin-bottom:0}
.section-heading>.eyebrow{margin-bottom:0}
.section-heading h2{line-height:1.2}
.section-heading>div>p .text-link{display:flex;width:fit-content;margin-top:16px}
.section-heading>div>p:last-child{margin-bottom:0}
.section>.small:only-child{margin-top:0}
.section:has(>.small:only-child){padding-block:28px}
.section>.criteria-grid+.measure{margin-top:32px}
.iq-coverage{margin-bottom:40px}
.iq-coverage>.small{margin-top:16px}
.iq-coverage>.criteria-grid{margin-top:24px}

/* Desktop introductions use both columns instead of leaving a blank half-page. */
@media(min-width:1001px){
 main>.section>.section-heading>div:has(>h2+p){display:grid;max-width:none;width:100%;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px clamp(40px,5vw,80px);align-items:start}
 main>.section>.section-heading>div:has(>h2+p)>h2{grid-column:1;grid-row:1;max-width:25ch;margin:0}
 main>.section>.section-heading>div:has(>h2+p)>p{grid-column:2;margin:0;max-width:66ch}
 main>.section>.section-heading>div:has(>p+p)>h2{grid-row:1/span 2}
}

/* Portraits support the copy without dictating an oversized text row. */
.image-copy-row{gap:clamp(32px,4.5vw,64px);margin-bottom:36px}
.image-copy-row:has(>.editorial-photo--portrait){grid-template-columns:minmax(0,1fr) clamp(230px,23vw,300px);align-items:start}
.image-copy-row:has(>.editorial-photo--portrait)>.editorial-photo{align-self:start}
.image-copy-text .section-heading p:not(.eyebrow){max-width:66ch}
.page-leadership .people-section{padding-top:var(--section-space)}
.page-leadership .image-copy-row{grid-template-columns:minmax(0,1fr) 240px}
.image-copy-row>.editorial-photo--empty{aspect-ratio:auto;min-height:210px;max-height:240px}
.page-alterra-iq main>.section:has(>.image-copy-row){padding-block:44px}
.page-alterra-iq .image-copy-row--left{grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr)}
.section-hero--empty{min-height:480px;padding-block:56px;gap:32px}

/* Headshot slots remain above their positions, at a realistic portrait scale. */
.core-team-headshot{max-width:180px;margin-bottom:20px}
.core-team-list h3{min-height:2.9em;margin-bottom:12px}
.core-team-list{row-gap:40px}
.senior-leadership-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.senior-leadership-grid .core-team-headshot{max-width:none;aspect-ratio:4/3;border:1px solid var(--line)}
.advisory-board-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px;margin-top:48px;padding-top:32px;border-top:1px solid var(--line)}
.advisory-board-row h3{font:500 1.25rem/1.4 var(--heading);letter-spacing:-.02em;margin:0 0 12px}
.advisory-board-row p{font-size:1rem;line-height:1.75;color:var(--muted);margin:0}
.advisory-board-row .core-team-placeholder{font-size:.875rem}

/* Publication summaries and their download links align across each row. */
.paper-card>div{display:flex;flex-direction:column;align-items:flex-start;height:100%;min-width:0}
.paper-card>div>a{margin-top:auto}
.paper-card h3{line-height:1.3;overflow-wrap:break-word}
.iq-section-top{align-items:center}

/* Utility pages follow the same readable text measure and compact heading gap. */
.plain-head{padding-top:56px;padding-bottom:28px}
.plain-head h1{margin:16px 0 20px}
.plain-head+.legal-copy{padding-top:16px;max-width:none}
.legal-copy>h2:first-child{margin-top:0}
.legal-copy>p,.legal-copy>ul,.legal-copy>ol{max-width:78ch}
.page-404 .plain-head+.section{padding-top:8px}
.app-download{max-width:none;margin:0}
.app-download>.lede{font-size:1rem;line-height:1.8;max-width:66ch}
.app-install-card{max-width:720px;gap:24px;margin-block:32px}
.app-install-card>img{flex:0 0 88px;width:88px;height:88px;object-fit:contain}
.app-install-card>div{min-width:0}
.app-install-card h2{font-size:1.5rem;line-height:1.3}
.install-grid{max-width:1100px;gap:28px}
.install-grid article{min-width:0}
.install-grid h2{font-size:1.4rem;line-height:1.3;margin-bottom:16px}
.install-grid p,.install-grid li{font-size:1rem;line-height:1.65}
.availability{max-width:none;padding:32px}

@media(max-width:1000px){
 .paper-grid{grid-template-columns:1fr}
 .paper-card{grid-template-columns:110px minmax(0,1fr);gap:24px}
 .paper-card>img{width:110px}
 .section-heading>div>p{max-width:68ch}
}
@media(max-width:760px){
 .senior-leadership-grid{grid-template-columns:minmax(0,1fr)}
 .senior-leadership-grid .core-team-headshot{max-width:360px}
 .advisory-board-row{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:36px;padding-top:28px}
 .platform-row{grid-template-columns:28px minmax(0,1fr) 32px}
 .platform-row>div{min-width:0;overflow-wrap:break-word}
 .image-copy-row,.image-copy-row--left,.image-copy-row:has(>.editorial-photo--portrait),.page-leadership .image-copy-row,.page-alterra-iq .image-copy-row--left{grid-template-columns:minmax(0,1fr);gap:28px}
 .image-copy-row>.editorial-photo--portrait{max-width:280px;aspect-ratio:4/5;justify-self:start}
 .page-leadership .image-copy-row>.editorial-photo--portrait{max-width:240px}
 .image-copy-row>.editorial-photo--empty{min-height:180px}
 .page-alterra-iq .image-copy-row>.editorial-photo--wide{aspect-ratio:2/1}
 .section-hero--empty{min-height:0;padding-block:40px;gap:28px}
 .plain-head{padding-top:44px;padding-bottom:24px}
 .plain-head+.legal-copy{padding-top:12px}
 .iq-section-top{align-items:flex-start}
 .core-team-headshot{max-width:150px}
 .core-team-list h3{min-height:0}
 .availability{padding:24px}
}
@media(max-width:400px){
 .platform-row{grid-template-columns:24px minmax(0,1fr);gap:16px}
 .platform-arrow{grid-column:1;grid-row:2;justify-self:start;font-size:24px}
}
@media(max-width:560px){
 .core-team-headshot{max-width:120px}
 .core-team-list article+article{padding-top:28px;border-top:1px solid var(--line)}
 .core-team-list{gap:28px}
 .app-install-card{gap:18px}
 .app-install-card>img{flex-basis:72px;width:72px;height:72px}
 .install-grid article{padding:24px}
 .paper-card{grid-template-columns:80px minmax(0,1fr);gap:18px}
 .paper-card>img{width:80px}
 .paper-card h3{font-size:1.2rem}
 .paper-card p{font-size:1rem}
 .paper-card .paper-meta{font-size:.75rem;letter-spacing:.04em}
}

/* Align the homepage action to the full content width and supporting copy. */
.page-index .hero-bottom{max-width:none;width:100%;align-items:center}
.page-index .hero-bottom>.hero-discover{flex-shrink:0;margin:0 0 0 auto}
@media(max-width:760px){
 .advisory-board-row{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:36px;padding-top:28px}
 .page-index .hero-bottom{display:flex;flex-direction:column;align-items:stretch;gap:24px}
 .page-index .hero-bottom>.hero-discover{align-self:flex-end;margin:0}
}
