/* 0.8: escopo institucional; o portal e o CRM mantêm seus estilos. */
.institutional-page header {padding-top:18px;padding-bottom:18px;gap:24px}
.institutional-page header nav {gap:12px 20px}
.institutional-page .eyebrow {text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px}
.institutional-page .hero {grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:64px;align-items:center;padding:48px 0 0}
.hero-copy {padding-bottom:48px}
.hero-copy h1 {font-size:clamp(2.25rem,3.8vw,3.5rem);max-width:17ch;line-height:1.16;letter-spacing:-.025em}
.hero-copy .intro {max-width:44ch;line-height:1.6;margin-bottom:24px}
.hero-copy .micro {max-width:43ch}
.hero-credentials {font-size:1.125rem;font-weight:700;margin:22px 0 4px}
.hero-credentials span {margin:0 8px;color:var(--accent)}
.hero-copy .service-region {font-size:1.125rem;margin:0}
.hero-portrait {margin:0;align-self:end;min-width:0}
.hero-portrait img {display:block;width:min(100%,480px);height:auto;margin:0 auto}
.hero-portrait figcaption {display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:22px 0 28px;border-top:1px solid #9babb7}
.portrait-name {font-size:1.375rem;line-height:1.4;font-weight:700}
.portrait-role {width:100%;font-size:1.125rem;line-height:1.5}
.hero-portrait .engineer-experience {font-size:1rem}
.institutional-page .engineer-profile {padding:48px 0;background:var(--white)}
.profile-summary {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:64px}
.profile-summary h2 {font-size:clamp(1.75rem,2.8vw,2.25rem);max-width:18ch}
.profile-summary p {max-width:60ch;margin-bottom:16px}
.profile-summary .signature {font-size:1.125rem;font-weight:700;margin-bottom:0;color:var(--navy)}
.institutional-page .section {padding-top:72px;padding-bottom:72px}
.institutional-page .engineer-profile {padding-top:48px;padding-bottom:48px}
.audience-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:32px}
.audience-card {min-width:0;padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);display:flex;flex-direction:column;align-items:flex-start}
.audience-card h3 {font-size:1.5rem;margin-bottom:16px;letter-spacing:-.015em}
.audience-card>p:not(.eyebrow) {font-size:1.25rem;margin-bottom:20px}
.service-topics {width:100%;margin-bottom:20px}
.service-topics summary {font-size:1.125rem;min-height:48px;padding:10px 0;cursor:pointer;font-weight:700;color:var(--navy)}
.service-topics ul {font-size:1.125rem;padding-left:22px;margin:12px 0 0}
.service-topics li {margin-bottom:10px}
details:not([open])>summary .when-open,details[open]>summary .when-closed {display:none}
.text-cta {margin-top:auto;font-size:1.125rem;color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:5px;min-height:48px;display:inline-flex;gap:12px;align-items:center;max-width:100%}
.text-cta span {flex-shrink:0}
.process h2 {max-width:24ch}
.process-scope {max-width:72ch;font-size:1.125rem;margin:32px 0 0;padding-top:24px;border-top:1px solid #a5bccd}
.agreement-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 56px}
.agreement-grid article {border-top:1px solid #9babb7;padding-top:24px}
.agreement-grid h3 {font-size:1.5rem;margin-bottom:12px}
.agreement-grid p {max-width:50ch;margin-bottom:0}
.faq-layout {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px}
.faq-layout>div>p {max-width:34ch}
.faq-list details {border-top:1px solid #9babb7}
.faq-list details:last-child {border-bottom:1px solid #9babb7}
.faq-list summary {position:relative;list-style:none;display:flex;gap:20px;align-items:flex-start;justify-content:space-between;padding:22px 0;cursor:pointer;font-size:1.25rem;font-weight:700;line-height:1.5;color:var(--navy)}
.faq-list summary::-webkit-details-marker {display:none}
.faq-list summary::after {content:'+';font-size:1.5rem;line-height:1.25;flex-shrink:0}
.faq-list details[open] summary::after {content:'−'}
.faq-list details>p {padding-right:32px;margin:0 0 24px;max-width:62ch}
.contact-checklist {margin:20px 0 0;padding-left:24px}
.contact-checklist li {margin-bottom:6px}
.phone-link {display:inline-flex;align-items:center;font-size:1.125rem;min-height:48px;margin-top:16px;font-weight:700}
.institutional-page .contact-actions .button>span {font-size:1.4rem}
.institutional-page .preview-status {font-size:1rem;color:#fff;margin-top:32px;padding-top:24px;border-top:1px solid #a5bccd}
.footer-contact {font-size:1.125rem;min-height:48px;display:inline-flex;align-items:center;gap:12px;text-decoration:underline;text-underline-offset:5px;margin-top:8px}
@media(max-width:1100px){
 .institutional-page .hero {gap:40px}
 .institutional-page header nav {order:3;width:100%;justify-content:flex-start}
 .audience-grid {grid-template-columns:minmax(0,1fr)}
 .audience-card {padding:28px}
 .audience-card>p:not(.eyebrow) {max-width:60ch}
 .profile-summary,.faq-layout {gap:40px}
 .faq-layout {grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
 .institutional-page header {padding:14px 20px 8px;gap:8px 16px}
 .institutional-page header nav {gap:4px 18px;font-size:1.125rem}
 .institutional-page header nav a {padding-left:0;padding-right:0}
 .institutional-page header nav a[href='#processo'] {display:none}
 .institutional-page .hero {grid-template-columns:minmax(0,1fr);gap:24px;padding-top:32px}
 .hero-copy {padding:0}
 .hero-copy h1 {font-size:2.25rem;max-width:17ch;line-height:1.18;margin-bottom:20px}
 .hero-copy .eyebrow {letter-spacing:.035em;margin-bottom:16px}
 .hero-copy .intro {margin-bottom:20px}
 .hero-copy .micro {margin-top:14px}
 .hero-secondary {margin-top:4px}
 .hero-credentials {margin-top:12px}
 .hero-portrait img {width:min(100%,400px)}
 .hero-portrait figcaption {padding:20px 0 28px}
 .institutional-page .section {padding-top:48px;padding-bottom:48px}
 .profile-summary {grid-template-columns:minmax(0,1fr);gap:24px}
 .profile-summary h2 {max-width:none;margin-bottom:0}
 .audience-card {padding:24px}
 .agreement-grid {grid-template-columns:minmax(0,1fr);gap:28px}
 .faq-list summary {gap:16px}
 .faq-list details>p {padding-right:0}
 .contact-actions>.button {width:100%}
 .institutional-page footer .site-logo {width:156px}
}

.audience-card > * {min-width:0;max-width:100%;}

.service-topics li {overflow-wrap:anywhere;}
.text-cta {display:block;padding-top:8px;padding-bottom:8px;}
.faq-list summary > span {min-width:0;overflow-wrap:anywhere;}

/* 0.8.4: escalas ópticas por marca; áreas de exposição e legendas alinhadas. */
.institutional-page .references-layout {display:block;}
.references-intro {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:end;gap:32px 80px;}
.references-intro h2 {font-size:clamp(1.75rem,2.8vw,2.25rem);max-width:24ch;margin-bottom:0;}
.references-intro>p {font-size:1.125rem;max-width:45ch;margin:0;}
.institutional-page .client-logos {display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:40px 32px;margin:40px 0 0;padding-top:32px;border-top:1px solid var(--line);}
.institutional-page .client-logo {flex:0 1 calc((100% - 128px)/5);min-width:0;max-width:280px;margin:0;padding:0;border:0;gap:16px;align-self:stretch;}
.client-logo-stage {display:flex;align-items:center;justify-content:center;width:100%;height:136px;}
.institutional-page .client-logo-stage img {display:block;width:min(100%,var(--mark-width,220px));height:auto;max-height:128px;object-fit:contain;}
.hospital-reference {--mark-width:260px;}
.bobs-reference {--mark-width:124px;}
.fiocruz-reference {--mark-width:220px;}
.embasa-reference {--mark-width:190px;}
.sesai-reference {--mark-width:176px;}
.institutional-page .client-logo figcaption {font-size:1.125rem;line-height:1.5;text-align:center;max-width:100%;overflow-wrap:anywhere;}
@media(max-width:1100px){
 .references-intro {gap:32px 48px;}
 .institutional-page .client-logo {flex-basis:calc((100% - 64px)/3);}
}
@media(max-width:760px){
 .references-intro {grid-template-columns:minmax(0,1fr);gap:20px;}
 .institutional-page .client-logos {column-gap:24px;row-gap:32px;margin-top:32px;padding-top:24px;}
 .institutional-page .client-logo {flex-basis:calc((100% - 24px)/2);}
 .client-logo-stage {height:112px;}
 .institutional-page .client-logo-stage img {max-height:104px;}
 .bobs-reference {--mark-width:112px;}
 .sesai-reference {--mark-width:156px;}
}
@media(max-width:359px){
 .institutional-page .client-logos {row-gap:28px;}
 .institutional-page .client-logo {flex-basis:100%;max-width:260px;}
}

/* 0.8.6: retrato ampliado até a borda direita, somente no desktop. */
@media(min-width:1024px){
 .institutional-page .hero.wrap {
  width:100%;margin:0;
  padding:32px 0 0 max(48px,calc((100% - 1280px)/2));
  grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:40px;
 }
 .institutional-page .hero-portrait {width:100%;}
 .institutional-page .hero-portrait img {width:min(100%,clamp(480px,42vw,660px));height:auto;margin:0 0 0 auto;}
 .institutional-page .hero-portrait figcaption {padding-right:48px;}
}

.site-copyright {font-size:1rem;color:#fff;margin-top:32px;padding-top:24px;border-top:1px solid #a5bccd;}
