.institutional-hero { position: relative; overflow: clip; padding: var(--space-16) 0 var(--space-24); background: var(--paper); }
.institutional-hero::after { content: '30+'; position: absolute; right: -1.5rem; top: -1.5rem; color: rgba(127,29,116,.038); font: 700 clamp(12rem, 25vw, 24rem)/1 var(--font-display); letter-spacing: -.1em; pointer-events: none; }
.institutional-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.15fr .85fr; gap: var(--space-12); align-items: end; }
.institutional-title { padding-left: clamp(1.25rem, 3vw, 3rem); border-left: 1px solid var(--brand); }
.institutional-title h1 { max-width: 11ch; font-size: clamp(3.1rem, 5.4vw, 5.9rem); }
.institutional-title h1 em { display: block; color: var(--brand); font-weight: 650; }
.institutional-intro { padding-bottom: .6rem; }
.institutional-intro p { max-width: 36rem; color: var(--ink-soft); font-size: var(--step-1); line-height: 1.62; }
.institutional-intro > span { display: block; margin-top: var(--space-6); padding-top: var(--space-4); border-top: 1px solid var(--line); color: var(--brand); font-size: .63rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.institutional-photo { position: relative; grid-column: 1 / -1; margin-top: var(--space-10); padding: 1.1rem 1.1rem 0 0; }
.institutional-photo::before { content: ''; position: absolute; inset: 0 0 1.1rem 1.1rem; border: 1px solid var(--brand-light); }
.institutional-photo::after { content: ''; position: absolute; z-index: 2; top: 1.1rem; bottom: 0; left: 34%; width: 1px; background: rgba(255,255,255,.58); }
.institutional-photo img { position: relative; z-index: 1; width: 100%; height: clamp(27rem, 45vw, 41rem); object-fit: cover; object-position: center 42%; filter: saturate(.52) contrast(1.05); }
.institutional-photo > p { position: absolute; z-index: 3; right: 0; bottom: 0; display: flex; align-items: center; gap: var(--space-4); padding: var(--space-6) var(--space-8); border-top: 3px solid var(--brand); background: rgba(255,253,250,.96); box-shadow: var(--shadow-sm); backdrop-filter: blur(8px); }
.institutional-photo strong { color: var(--brand); font: 700 3.2rem/1 var(--font-display); letter-spacing: -.08em; }
.institutional-photo span { color: var(--ink-soft); font-size: .7rem; font-weight: 740; letter-spacing: .07em; line-height: 1.45; text-transform: uppercase; }
.institutional-photo > small { position: absolute; z-index: 3; top: 2.5rem; left: 2.6rem; padding: .6rem .8rem; background: rgba(45,13,43,.88); color: white; font-size: .58rem; font-weight: 780; letter-spacing: .14em; text-transform: uppercase; }

.founder-section { overflow: clip; }
.founder-grid { display: grid; grid-template-columns: minmax(22rem, .84fr) minmax(0, 1.16fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.founder-profile { position: relative; display: flex; min-height: 40rem; flex-direction: column; justify-content: flex-start; overflow: hidden; padding: clamp(2rem, 5vw, 4rem); background: linear-gradient(145deg, #35102f 0%, var(--brand-deep) 70%); color: white; box-shadow: 0 30px 70px rgba(45,13,43,.18); }
.founder-profile::before { content: ''; position: absolute; inset: 1.2rem; border: 1px solid rgba(255,255,255,.15); pointer-events: none; }
.founder-profile::after { content: ''; position: absolute; right: -5rem; bottom: -5rem; width: 17rem; height: 17rem; border: 1px solid rgba(215,166,209,.12); border-radius: 50%; box-shadow: 0 0 0 3rem rgba(215,166,209,.025); pointer-events: none; }
.founder-monogram { display: none; }
.founder-portrait { position: relative; z-index: 1; width: min(100%, 12.5rem); margin: .5rem 0 var(--space-12); border: 1px solid rgba(255,255,255,.28); background: var(--paper); box-shadow: 1rem 1rem 0 rgba(127,29,116,.3); }
.founder-portrait::after { content: ''; position: absolute; inset: .65rem -.65rem -.65rem .65rem; z-index: -1; border: 1px solid rgba(215,166,209,.32); pointer-events: none; }
.founder-portrait img { display: block; width: 100%; height: auto; aspect-ratio: 144 / 220; object-fit: cover; }
.founder-identity { position: relative; z-index: 1; margin-top: auto; }
.founder-identity h2 { max-width: 9ch; margin-bottom: var(--space-6); color: white; font-size: clamp(3rem, 4.6vw, 4.6rem); }
.founder-identity > p { max-width: 27rem; color: #ddd0dc; font-size: .95rem; }
.founder-signature { position: absolute; z-index: 1; top: 2rem; right: 2rem; color: #dab3d5; font-size: .58rem; font-weight: 820; letter-spacing: .14em; }
.founder-story h2 { max-width: 12ch; margin-bottom: var(--space-8); font-size: clamp(2.5rem, 4vw, 4.3rem); }
.founder-story > p:not(.eyebrow) { max-width: 43rem; margin-top: var(--space-5); color: var(--ink-soft); }
.publisher-history { margin-top: var(--space-10); padding-top: var(--space-6); border-top: 1px solid var(--line); }
.publisher-history > span { display: block; margin-bottom: var(--space-5); color: var(--brand); font-size: .63rem; font-weight: 820; letter-spacing: .14em; text-transform: uppercase; }
.publisher-history ul { display: grid; grid-template-columns: repeat(2, 1fr); list-style: none; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.publisher-history li { padding: .9rem 1rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--ink); font-size: .82rem; font-weight: 720; }
.publisher-history li::before { content: '—'; margin-right: .55rem; color: var(--brand); }

.mission-section { position: relative; overflow: clip; padding-block: var(--space-30); background: var(--brand-deep); color: white; }
.mission-section::after { content: 'ALGO MAIS'; position: absolute; right: -1rem; bottom: -2.2rem; color: rgba(255,255,255,.03); font: 700 clamp(7rem, 14vw, 14rem)/1 var(--font-display); letter-spacing: -.08em; white-space: nowrap; }
.mission-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .5fr 1.05fr .95fr; gap: clamp(2rem, 5vw, 5rem); align-items: end; }
.mission-year { align-self: start; color: #d7a6d1; font: 700 clamp(4rem, 7vw, 7rem)/.85 var(--font-display); letter-spacing: -.08em; writing-mode: vertical-rl; transform: rotate(180deg); }
.mission-grid h2 { max-width: 15ch; color: white; font-size: clamp(2.3rem, 3.8vw, 4rem); }
.mission-copy { display: grid; gap: var(--space-8); color: #d9cfd8; }
.mission-copy strong { padding-top: var(--space-6); border-top: 1px solid rgba(255,255,255,.2); color: white; font: 650 1.35rem/1.35 var(--font-display); letter-spacing: -.03em; }

.expertise-section { position: relative; overflow: clip; padding-block: var(--space-30); background: var(--paper); }
.expertise-section::after { content: '09'; position: absolute; right: 1rem; top: 1rem; color: rgba(127,29,116,.045); font: 700 12rem/1 var(--font-display); }
.expertise-section .container { position: relative; z-index: 1; }
.expertise-list { counter-reset: expertise; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.expertise-list li { position: relative; display: flex; min-height: 13rem; flex-direction: column; align-items: flex-start; overflow: hidden; padding: var(--space-8); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,253,250,.55); transition: background var(--transition), color var(--transition), transform var(--transition); }
.expertise-list li::after { content: '+'; position: absolute; right: 1rem; bottom: .3rem; color: rgba(127,29,116,.08); font: 700 4rem/1 var(--font-display); }
.expertise-list li:hover { z-index: 1; background: var(--brand); color: white; transform: translateY(-4px); }
.expertise-list li:hover::after { color: rgba(255,255,255,.14); }
.expertise-list span { margin-bottom: auto; color: var(--brand); font-size: .62rem; font-weight: 830; letter-spacing: .14em; }
.expertise-list li:hover span, .expertise-list li:hover p { color: #eaddea; }
.expertise-list strong { max-width: 18ch; margin-top: var(--space-6); font: 650 1.3rem/1.18 var(--font-display); letter-spacing: -.035em; }
.expertise-list p { margin-top: .4rem; color: var(--ink-soft); font-size: .72rem; }
.expertise-action { display: flex; align-items: center; justify-content: space-between; gap: var(--space-8); margin-top: var(--space-10); padding-top: var(--space-8); border-top: 1px solid var(--line); }
.expertise-action > p { max-width: 24rem; font: 650 1.3rem var(--font-display); letter-spacing: -.03em; }

.values-list { display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; border-top: 1px solid var(--line); }
.values-list li { position: relative; display: grid; min-height: 17rem; align-content: start; overflow: hidden; padding: var(--space-10) var(--space-8); border-right: 1px solid var(--line); transition: background var(--transition), color var(--transition), transform var(--transition); }
.values-list li::after { content: attr(data-value); position: absolute; right: -1rem; bottom: -2rem; color: rgba(127,29,116,.04); font: 700 6rem/1 var(--font-display); }
.values-list li:hover { z-index: 1; background: var(--brand); color: white; transform: translateY(-4px); }
.values-list li:hover span, .values-list li:hover p { color: #eadcea; }
.values-list li:first-child { border-left: 1px solid var(--line); }
.values-list span { margin-bottom: var(--space-10); color: var(--brand); font-size: .7rem; font-weight: 820; }
.values-list strong { font: 650 1.55rem var(--font-display); letter-spacing: -.035em; }
.values-list p { margin-top: var(--space-3); color: var(--ink-soft); font-size: .83rem; }

.institutional-book-row { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); align-items: end; gap: var(--space-6); padding: var(--space-12) var(--space-10) 0; border-bottom: .8rem solid var(--brand-dark); background: var(--paper); perspective: 900px; }
.institutional-book-row figure { min-width: 0; }
.institutional-book-row img { width: 100%; max-height: 20rem; object-fit: contain; object-position: bottom; filter: drop-shadow(0 16px 14px rgba(35,25,34,.2)); transition: transform var(--transition); }
.institutional-book-row figure:hover img { transform: translateY(-.65rem) rotateY(-4deg); }
.institutional-book-row figcaption { padding: var(--space-3) 0 var(--space-5); color: var(--ink-soft); font-size: .68rem; text-align: center; }

@media (max-width: 62rem) {
    .founder-grid { grid-template-columns: minmax(19rem, .82fr) 1.18fr; gap: var(--space-10); }
    .founder-profile { min-height: 38rem; }
    .mission-grid { grid-template-columns: .35fr 1fr 1fr; }
    .expertise-list { grid-template-columns: repeat(2, 1fr); }
    .values-list { grid-template-columns: 1fr 1fr; }
    .values-list li:nth-child(3) { border-left: 1px solid var(--line); }
}

@media (max-width: 48rem) {
    .institutional-hero-grid, .founder-grid, .mission-grid { grid-template-columns: 1fr; }
    .institutional-title h1 { max-width: 13ch; }
    .institutional-intro { padding-left: clamp(1.25rem, 3vw, 3rem); }
    .founder-profile { min-height: 38rem; }
    .mission-year { writing-mode: horizontal-tb; transform: none; }
    .mission-grid { align-items: start; }
    .expertise-action { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 38rem) {
    .institutional-hero { padding-top: var(--space-8); }
    .institutional-title { padding-left: var(--space-5); }
    .institutional-title h1 { font-size: clamp(2.8rem, 14vw, 4.2rem); }
    .institutional-title h1 em { display: inline; }
    .institutional-photo { padding: .65rem .65rem 0 0; }
    .institutional-photo > p { right: auto; left: 0; padding: var(--space-4); }
    .institutional-photo > small { top: 1.5rem; left: 1.5rem; }
    .institutional-photo img { height: 26rem; }
    .founder-profile { min-height: auto; padding: var(--space-8); }
    .founder-portrait { width: 10.5rem; margin-bottom: var(--space-10); }
    .founder-identity h2 { font-size: 3.2rem; }
    .publisher-history ul, .expertise-list, .values-list { grid-template-columns: 1fr; }
    .expertise-list li { min-height: 10rem; }
    .values-list li, .values-list li:nth-child(3) { min-height: auto; border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); }
    .values-list span { margin-bottom: var(--space-5); }
    .institutional-book-row { grid-template-columns: repeat(2, 1fr); gap: var(--space-4); }
}
