/* Páginas institucionais: extensão da identidade Cevixa. */
.institutional-page { --ink: #263f53; --subtle: #506576; --line: #cbd6da; --accent-dark: #12666b; }
.institutional-page h1, .institutional-page h2, .institutional-page h3 { letter-spacing: -.035em; }
.institutional-page .nav { gap: 20px; }
.institutional-page .desktop-links { gap: 22px; }
.institutional-page .nav-cta { font-size: 13px; }
.inner-hero { padding: 30px 0 76px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px 14px; color: var(--secondary); font-size: 13px; margin-bottom: 44px; }
.breadcrumbs a { text-underline-offset: 4px; min-height: 44px; display: inline-flex; align-items: center; }
.breadcrumbs span { display: inline-flex; align-items: center; }
.breadcrumbs [aria-current] { color: var(--sand); }
.inner-hero h1 { font-size: clamp(38px,4.6vw,64px); max-width: 1000px; line-height: 1.1; }
.inner-lead { max-width: 760px; font-size: 20px; line-height: 1.65; color: var(--secondary); margin: 26px 0 0; }
.inner-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.material-kind { margin: 22px 0 0; font-size: 13px; color: var(--secondary); }
.case-hero-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 24px 56px; align-items: start; }
.case-hero-layout > h1 { grid-column: 1; grid-row: 1; margin: 0; font-size: clamp(36px, 3.5vw, 50px); line-height: 1.14; }
.case-hero-copy { grid-column: 1; grid-row: 2; min-width: 0; }
.case-hero-copy .inner-lead { margin-top: 0; font-size: 18px; line-height: 1.65; }
.case-hero-copy .material-kind { margin-top: 20px; }
.case-hero-copy .inner-actions { margin-top: 24px; }
.case-hero-preview { grid-column: 2; grid-row: 1 / span 2; align-self: center; display: block; min-width: 0; overflow: hidden; border: 1px solid #425d74; border-radius: 12px; background: #061627; color: var(--secondary); text-decoration: none; }
.case-hero-preview img { display: block; width: 100%; height: auto; }
.case-preview-caption { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 48px; padding: 10px 16px; color: var(--turquoise); font-size: 14px; font-weight: 750; }
.case-hero-preview:hover { border-color: var(--turquoise); }
.case-hero-preview:hover .case-preview-caption { color: var(--white); }
.catalog-hero { padding-bottom: 48px; }
.catalog-hero .breadcrumbs { margin-bottom: 24px; }
.catalog-hero h1 { font-size: clamp(36px, 4.2vw, 58px); }
.catalog-hero .inner-lead { max-width: 78ch; margin-top: 20px; font-size: 18px; line-height: 1.6; }
.catalog-hero-previews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 28px; }
.catalog-hero-previews a { display: block; min-width: 0; color: var(--secondary); text-decoration: none; }
.catalog-hero-previews img { display: block; width: 100%; height: auto; aspect-ratio: 1905 / 882; object-fit: contain; border: 1px solid #425d74; border-radius: 8px; background: #061627; }
.catalog-hero-previews span { display: block; padding-top: 10px; font-size: 15px; font-weight: 700; line-height: 1.5; }
.catalog-hero-previews a:hover { color: var(--turquoise); }
.catalog-hero-previews a:hover img { border-color: var(--turquoise); }
.paper { background: var(--paper); color: var(--night); }
.paper p { color: var(--ink); }
.paper .material-kind, .paper .material-note { color: var(--subtle); }
.paper .text-link { color: var(--accent-dark); }
.paper :focus-visible { outline-color: var(--accent-dark); }
.paper .button:hover { background: var(--night); border-color: var(--night); color: var(--white); }
.case-context, .case-gallery, .case-capabilities, .case-adaptation, .service-situations, .service-mechanism, .company-principles, .company-founder, .assistant-link { padding-block: 76px; }
.context-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; }
.context-layout h2 { font-size: clamp(28px,3vw,39px); line-height: 1.2; margin-bottom: 24px; max-width: 25ch; }
.context-layout p { max-width: 65ch; margin-bottom: 18px; }
.case-context + .case-gallery { padding-top: 0; }
.case-gallery h2, .case-capabilities h2, .case-adaptation h2, .service-situations h2, .service-mechanism h2, .company-opening h2 { font-size: clamp(30px,3.4vw,46px); line-height: 1.16; max-width: 27ch; }
.section-intro { max-width: 64ch; margin: 22px 0 30px; }
.scene-controls { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.scene-controls button { min-height: 46px; padding: 12px 20px; color: var(--accent-dark); background: transparent; border: 1px solid #98afb6; border-radius: 8px; font-weight: 750; }
.scene-controls button:hover { background: #e5eeee; }
.scene-controls button[aria-pressed="true"] { background: var(--night); color: var(--white); border-color: var(--night); }
.case-scene { margin: 0 0 36px; }
.case-scene > .project-image-link { border-radius: 12px; }
.case-scene > img, .case-scene > .project-image-link > img { width: 100%; border-radius: 12px; background: var(--night); }
.case-scene figcaption { display: grid; grid-template-columns: 1.3fr .7fr; align-items: start; gap: 48px; margin-top: 28px; }
.case-scene h3 { font-size: 25px; margin-bottom: 12px; }
.case-scene figcaption p { margin: 0; max-width: 67ch; }
.case-scene .text-link { justify-self: end; text-align: right; }
.capability-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; margin-top: 40px; }
.capability-list > div { border-top: 1px solid #698598; padding-top: 24px; }
.capability-list h3 { margin-bottom: 16px; color: var(--sand); }
.capability-list p { color: var(--secondary); margin: 0; }
.authorship { color: var(--secondary); font-size: 13px; margin: 40px 0 0; }
.narrow-copy { max-width: 950px; }
.narrow-copy p { font-size: 19px; max-width: 70ch; margin-top: 26px; }
.case-cta { padding-block: 80px; border-top: 1px solid #425d74; }
.case-cta-layout { display: grid; grid-template-columns: 1.3fr 1fr; gap: 64px; align-items: center; }
.case-cta h2 { font-size: clamp(30px,3.4vw,46px); line-height: 1.16; max-width: 23ch; }
.case-cta p { color: var(--secondary); margin: 24px 0 0; max-width: 58ch; }
.case-cta .cta-note { font-size: 13px; margin-top: 14px; }
.catalog-section { padding-block: 72px; }
.catalog-feature { display: grid; grid-template-columns: 1.1fr 1fr; gap: 70px; padding-bottom: 64px; }
.catalog-feature h2 { font-size: clamp(32px,3.6vw,48px); margin-bottom: 24px; }
.catalog-feature .text-link { margin-top: 22px; }
.catalog-journey { list-style: none; margin: 0; padding: 10px 32px; background: var(--night); border-radius: 12px; color: var(--white); }
.catalog-journey li { padding: 24px 0; }
.catalog-journey li+li { border-top: 1px solid #425d74; }
.catalog-journey span { display: block; color: var(--turquoise); font-size: 13px; margin-bottom: 9px; }
.catalog-journey strong { font-size: 20px; font-weight: 650; }
.catalog-project { display: grid; grid-template-columns: 1.25fr 1fr; gap: 64px; align-items: center; padding-block: 56px; border-top: 1px solid var(--line); }
.catalog-project h2 { font-size: clamp(30px,3vw,40px); margin-bottom: 20px; }
.catalog-image { display: block; border-radius: 12px; overflow: hidden; }
.catalog-image img { width: 100%; }
.catalog-project .text-link { margin-top: 20px; }
.catalog-assistant { display: grid; grid-template-columns: 1.3fr .7fr; gap: 64px; align-items: center; border-top: 1px solid var(--line); padding-top: 56px; }
.catalog-assistant h2 { font-size: 34px; margin-bottom: 20px; }
.catalog-assistant .text-link { justify-self: end; }
.service-rows { margin-top: 40px; }
.service-rows article { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; padding-block: 28px; border-top: 1px solid var(--line); }
.service-rows h3 { max-width: 25ch; font-size: 25px; }
.service-rows p { margin: 0; max-width: 60ch; }
.mechanism-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: start; margin-bottom: 40px; }
.mechanism-heading p { color: var(--secondary); max-width: 60ch; margin: 0; }
.service-path { list-style: none; counter-reset: step; padding: 0; margin: 0 0 40px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 30px; }
.service-path li { counter-increment: step; padding-top: 24px; border-top: 1px solid #698598; }
.service-path li::before { content: counter(step,decimal-leading-zero); display: block; color: var(--sand); margin-bottom: 20px; font-size: 14px; font-variant-numeric: tabular-nums; }
.service-path h3 { margin-bottom: 16px; }
.service-path p { color: var(--secondary); margin: 0; }
.related-projects { display: flex; gap: 18px 32px; flex-wrap: wrap; color: var(--turquoise); }
.service-directory article { display: grid; grid-template-columns: 1fr 1.2fr; gap: 70px; padding-block: 36px; border-top: 1px solid var(--line); }
.service-directory article:first-child { padding-top: 0; border-top: 0; }
.service-directory h2 { font-size: clamp(30px,3.3vw,44px); }
.service-directory p { max-width: 65ch; }
.material-note { font-size: 13px; color: var(--secondary); margin: 22px 0 0; }
.quotation-demo { display: grid; grid-template-columns: .85fr 1.15fr; border: 1px solid #698598; border-radius: 12px; overflow: hidden; }
.quotation-demo h3 { font-size: 24px; margin-bottom: 26px; }
.quotation-input { padding: 32px; background: #132c46; }
.quotation-input .document-title { font-size: 14px; color: var(--sand); margin-bottom: 16px; }
.quotation-input ul { list-style: none; padding: 0; margin: 0 0 26px; }
.quotation-input li { padding-block: 16px; border-bottom: 1px solid #425d74; }
.quotation-input > p:last-child { color: var(--secondary); margin: 0; }
.quotation-review { padding: 32px; }
.quotation-item { padding: 20px 0; border-top: 1px solid #425d74; }
.quotation-item > span { display: block; font-weight: 700; }
.quotation-item > strong { display: block; font-size: 13px; margin: 8px 0; }
.item-matched { color: var(--turquoise); }
.item-pending { color: var(--sand); }
.quotation-item p { color: var(--secondary); margin: 0; font-size: 14px; }
.quotation-item .button { margin-top: 16px; font-size: 13px; min-height: 44px; }
.demo-result { border-top: 1px solid #698598; padding-top: 20px; margin: 20px 0 0; color: var(--sand); font-size: 15px; }
.operation-demo { display: grid; grid-template-columns: .8fr 1.2fr; gap: 0 48px; background: var(--night); color: var(--white); border-radius: 12px; padding: 36px; }
.operation-demo p { color: var(--secondary); }
.operation-demo .demo-person { color: var(--turquoise); font-size: 14px; margin-bottom: 14px; }
.operation-question > p:last-child { font-size: 24px; line-height: 1.45; color: var(--white); }
.operation-response h3, .operation-approval h3 { font-size: 24px; margin-bottom: 24px; }
.operational-list { list-style: none; margin: 0 0 24px; padding: 0; }
.operational-list li { border-top: 1px solid #425d74; padding: 18px 0; }
.operational-list strong { display: block; font-weight: 650; }
.operational-list span { display: block; font-size: 13px; color: var(--turquoise); margin-top: 10px; }
.operation-approval { grid-column: 2; border-top: 1px solid #698598; padding-top: 28px; margin-top: 32px; }
.operation-approval > p:not(.demo-result) { font-size: 21px; }
.operation-demo .demo-result { color: var(--sand); }
.company-opening { display: grid; grid-template-columns: .5fr 1fr; gap: 90px; align-items: center; }
.company-opening img { width: 240px; height: auto; }
.company-opening p { max-width: 65ch; margin-top: 26px; }
.company-method { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; margin-top: 56px; }
.company-method article { border-top: 1px solid var(--line); padding-top: 28px; }
.company-method h3 { font-size: 24px; margin-bottom: 18px; }
.company-method p { margin: 0; }
.company-founder p { color: var(--secondary); }
@media (max-width: 1100px) {
 .institutional-page .desktop-links { gap: 14px; }
 .institutional-page .desktop-links a { font-size: 13px; }
 .institutional-page .brand { width: 128px; }
 .institutional-page .nav-cta { max-width: 220px; }
 .context-layout,.catalog-feature,.catalog-project,.catalog-assistant,.mechanism-heading,.service-rows article,.service-directory article,.case-cta-layout { gap: 40px; }
 .inner-lead { font-size: 19px; }
 .case-hero-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 32px; }
 .case-hero-layout > h1 { font-size: 38px; }
}
@media (max-width: 900px) {
 .institutional-page .desktop-links,.institutional-page .nav-cta { display: none; }
 .institutional-page .mobile-menu { display: block; margin-left: auto; }
 .institutional-page .mobile-menu summary { display: flex; align-items: center; gap: 10px; min-height: 44px; }
 .context-layout,.mechanism-heading,.case-cta-layout,.catalog-feature,.service-directory article { grid-template-columns: 1fr; gap: 32px; }
 .catalog-project { grid-template-columns: 1fr; gap: 28px; }
 .catalog-assistant { grid-template-columns: 1fr; gap: 20px; }
 .catalog-assistant .text-link { justify-self: start; }
 .service-path { grid-template-columns: 1fr 1fr; }
 .capability-list,.company-method { gap: 24px; }
 .case-scene figcaption { grid-template-columns: 1fr; gap: 16px; }
 .case-scene .text-link { justify-self: start; text-align: left; }
 .company-opening { grid-template-columns: .5fr 1fr; gap: 40px; }
 .quotation-demo { grid-template-columns: 1fr; }
 .quotation-input { border-bottom: 1px solid #425d74; }
 .operation-demo { gap: 28px; padding: 28px; }
 .case-hero-layout { grid-template-columns: 1fr; gap: 24px; }
 .case-hero-layout > h1, .case-hero-preview, .case-hero-copy { grid-column: auto; grid-row: auto; }
 .case-hero-layout > h1 { max-width: 22ch; }
 .case-hero-preview { width: min(680px, 100%); align-self: start; }
 .case-hero-copy .inner-lead { max-width: 68ch; }
 .catalog-hero-previews { gap: 16px; }
}
@media (max-width: 640px) {
 .institutional-page .container { width: calc(100% - 40px); }
 .institutional-page .nav { padding: 8px 14px; }
 .inner-hero { padding: 8px 0 48px; }
 .breadcrumbs { margin-bottom: 26px; font-size: 12px; gap: 5px 10px; }
 .inner-hero h1 { font-size: 38px; }
 .inner-lead { font-size: 17px; margin-top: 24px; }
 .case-hero .breadcrumbs { margin-bottom: 20px; }
 .case-hero-layout { gap: 20px; }
 .case-hero-layout > h1 { font-size: 34px; line-height: 1.16; }
 .case-hero-copy .inner-lead { font-size: 17px; }
 .case-preview-caption { padding-inline: 12px; }
 .catalog-hero { padding-bottom: 32px; }
 .catalog-hero .breadcrumbs { margin-bottom: 20px; }
 .catalog-hero h1 { font-size: 34px; line-height: 1.16; }
 .catalog-hero .inner-lead { font-size: 16px; margin-top: 20px; }
 .catalog-hero-previews { gap: 12px; margin-top: 24px; }
 .catalog-hero-previews span { font-size: 13px; line-height: 1.45; padding-top: 8px; }
 .case-context,.case-gallery,.case-capabilities,.case-adaptation,.service-situations,.service-mechanism,.company-principles,.company-founder,.assistant-link,.case-cta { padding-block: 48px; }
 .case-context+.case-gallery { padding-top: 0; }
 .capability-list,.company-method,.company-opening,.service-rows article,.operation-demo { grid-template-columns: 1fr; }
 .company-opening img { width: 150px; }
 .capability-list { margin-top: 32px; }
 .company-method { margin-top: 36px; }
 .service-rows article { gap: 14px; padding-block: 24px; }
 .service-rows h3 { font-size: 23px; }
 .service-rows { margin-top: 28px; }
 .scene-controls { gap: 8px; }
 .scene-controls button { flex: 1 1 auto; padding: 10px 12px; font-size: 13px; }
 .case-scene figcaption { margin-top: 22px; }
 .case-scene h3 { font-size: 23px; }
 .case-scene .text-link { font-size: 13px; }
 .case-scene { margin-bottom: 0; }
 .narrow-copy p { font-size: 17px; }
 .catalog-section { padding-block: 44px; }
 .catalog-feature { padding-bottom: 44px; }
 .catalog-journey { padding: 0 24px; }
 .catalog-project { padding-block: 40px; }
 .catalog-assistant { padding-top: 40px; }
 .catalog-assistant h2 { font-size: 30px; }
 .service-path { gap: 24px; }
 .service-path h3 { font-size: 21px; }
 .service-path p { font-size: 14px; }
 .quotation-input,.quotation-review,.operation-demo { padding: 24px; }
 .operation-approval { grid-column: 1; margin-top: 0; }
 .operation-question>p:last-child { font-size: 22px; }
 .operation-response h3,.operation-approval h3,.quotation-demo h3 { font-size: 23px; }
}
