/* MoraisHub — Contraste de Impacto: a camada visual compartilhada mantém a edição de textos e blocos no Elementor sem perder a identidade editorial. */
:root { --mh-ink: #07101f; --mh-navy: #102a56; --mh-blue: #86aaf3; --mh-paper: #f4f3f4; --mh-copy: #c9d6eb; --mh-line: rgba(210,225,250,.2); --mh-ease: cubic-bezier(.23,1,.32,1); }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { margin: 0; background: var(--mh-ink); color: #f3f6fb; font-family: "Nunito Sans", sans-serif; }
.mh-shell { width: min(1180px, calc(100% - 64px)); margin-left: auto; margin-right: auto; }
.mh-site-content { min-height: 56vh; overflow: hidden; }
.mh-site-header { position: sticky; z-index: 99; top: 0; border-bottom: 1px solid rgba(227,237,255,.13); background: rgba(7,16,31,.94); backdrop-filter: blur(17px); }
.mh-header-inner { display: flex; height: 78px; align-items: center; gap: 2rem; }
.mh-brand { display: inline-flex; flex: 0 0 auto; align-items: center; }
.mh-brand img, .mh-brand .custom-logo { display: block; width: 184px; height: 48px; object-fit: contain; filter: brightness(0) invert(1); }
.mh-primary-nav { margin-left: auto; }
.mh-nav-list, .mh-footer-links { display: flex; align-items: center; gap: 1.4rem; margin: 0; padding: 0; list-style: none; }
.mh-nav-list a, .mh-footer-links a { color: #b8c6dc; font-size: .75rem; font-weight: 700; text-decoration: none; transition: color .2s var(--mh-ease); }
.mh-nav-list a:hover, .mh-footer-links a:hover { color: #fff; }
.mh-header-cta, .mh-button { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; background: var(--mh-paper); padding: .78rem .96rem; color: #10203b; font-size: .75rem; font-weight: 800; text-decoration: none; transition: transform .22s var(--mh-ease), box-shadow .22s var(--mh-ease), background .22s var(--mh-ease); }
.mh-header-cta:hover, .mh-button:hover { background: #dce8ff; box-shadow: 0 10px 22px rgba(0,0,0,.2); color: #10203b; transform: translateY(-3px); }
.mh-header-cta:active, .mh-button:active { transform: scale(.97); }
.mh-menu-toggle { display: none; border: 0; background: transparent; color: #fff; cursor: pointer; }.mh-menu-toggle span:not(.screen-reader-text) { display: block; width: 21px; height: 2px; margin: 4px; background: currentColor; }
.screen-reader-text { clip: rect(1px,1px,1px,1px); position: absolute; height: 1px; width: 1px; overflow: hidden; }
.mh-site-footer { border-top: 1px solid var(--mh-line); background: #07101f; padding: 3rem 0; }.mh-footer-inner { display: grid; grid-template-columns: 190px 1fr auto; gap: 2rem; align-items: center; }.mh-footer-brand img { display: block; width: 176px; height: 46px; object-fit: contain; filter: brightness(0) invert(1); }.mh-site-footer small { color: #8297b8; font-size: .65rem; }

/* Classes aplicadas nos containers e widgets importados pelo Elementor. */
.mh-home-hero { position: relative; overflow: hidden; min-height: 700px; background: linear-gradient(90deg,rgba(5,12,24,.96),rgba(5,12,24,.72) 45%,rgba(5,12,24,.26) 78%,rgba(5,12,24,.62)), url('../images/moraishub-modelo-impacto.jpg') center/cover; }.mh-home-hero > .e-con-inner { position: relative; z-index: 1; display: flex; width: min(1180px, calc(100% - 64px)); min-height: 700px; margin: auto; align-items: center; }.mh-hero-content { max-width: 820px; padding: 8rem 0 5rem; }.mh-kicker .elementor-heading-title, .mh-home-hero .mh-kicker .elementor-heading-title { color: #97b9ff; font-family: "Nunito Sans", sans-serif; font-size: .66rem; font-weight: 800; letter-spacing: .15em; }.mh-hero-title .elementor-heading-title { margin: .8rem 0 1.1rem; color: #fff; font-family: "Manrope", sans-serif; font-size: clamp(3.2rem,6.4vw,6.8rem); font-weight: 800; letter-spacing: -.055em; line-height: .94; }.mh-hero-title em, .mh-signal-text { color: var(--mh-blue); font-style: normal; }.mh-hero-copy .elementor-widget-container { max-width: 540px; color: var(--mh-copy); font-size: 1rem; line-height: 1.7; }.mh-buttons > .elementor-widget-container { display: flex; flex-wrap: wrap; gap: .9rem; align-items: center; }.mh-buttons .elementor-button { border: 0; border-radius: 0; background: var(--mh-paper); padding: .82rem 1rem; color: #10203b; font-family: "Nunito Sans", sans-serif; font-size: .75rem; font-weight: 800; transition: transform .22s var(--mh-ease), box-shadow .22s var(--mh-ease), background .22s var(--mh-ease); }.mh-buttons .elementor-button:hover { background: #dce8ff; box-shadow: 0 10px 22px rgba(0,0,0,.2); transform: translateY(-3px); }.mh-text-link a { color: #e4ecfa; font-size: .78rem; font-weight: 700; text-decoration: none; }.mh-operating { background: #0b1b34; border-bottom: 1px solid var(--mh-line); }.mh-operating > .e-con-inner { display: flex; width: min(1180px,calc(100% - 64px)); min-height: 64px; margin: auto; justify-content: space-between; align-items: center; }.mh-operating .elementor-widget-container { color: #dbe5f5; font-size: .72rem; font-weight: 700; }.mh-operating .mh-kicker .elementor-heading-title { color: #8fa3c4; font-size: .58rem; }
.mh-light-section { background: var(--mh-paper); color: #192944; padding: 7rem 0; }.mh-light-section > .e-con-inner, .mh-dark-section > .e-con-inner, .mh-blue-section > .e-con-inner, .mh-white-section > .e-con-inner { width: min(1180px, calc(100% - 64px)); margin: auto; }.mh-intro-layout { display: grid; grid-template-columns: 1fr .68fr; align-items: end; gap: 5rem; }.mh-display-title .elementor-heading-title { font-family: "Manrope", sans-serif; font-size: clamp(2.2rem,4.2vw,4.4rem); font-weight: 800; letter-spacing: -.035em; line-height: 1.05; }.mh-intro-copy .elementor-widget-container { color: #61718a; font-size: .95rem; line-height: 1.75; }.mh-white-section { background: #fff; color: #192944; padding: 7rem 0; }.mh-solution-head { display: flex; justify-content: space-between; align-items: end; margin-bottom: 3rem; }.mh-solution-grid { display: grid; grid-template-columns: repeat(4,1fr); }.mh-service-card { position: relative; display: flex; min-height: 350px; overflow: hidden; padding: 1.6rem; justify-content: flex-end; flex-direction: column; background: #18315d center/cover; color: #fff; isolation: isolate; transition: transform .34s var(--mh-ease), box-shadow .34s var(--mh-ease), background-size .55s var(--mh-ease); }.mh-service-card::before { position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg,rgba(7,16,31,.18),rgba(7,16,31,.93) 84%); content: ""; }.mh-service-card:hover { background-size: 107%; box-shadow: 0 18px 32px rgba(9,25,54,.22); transform: translateY(-7px); }.mh-service-card .elementor-heading-title { margin: 0 0 .7rem; color: #fff; font-family: "Manrope", sans-serif; font-size: 1.35rem; line-height: 1.12; }.mh-service-card .elementor-widget-text-editor { color: #e3ebf7; font-size: .82rem; line-height: 1.65; }.mh-service-card .elementor-button { padding: 0; border: 0; background: transparent; color: #fff; font-family: "Nunito Sans", sans-serif; font-size: .72rem; font-weight: 800; }.mh-service-performance { background-image: url('../images/moraishub-hero-institutional.jpg'); }.mh-service-social { background-image: url('../images/moraishub-modelo-proximo.jpg'); }.mh-service-seo { background-image: url('../images/moraishub-modelo-linha-clara.jpg'); }.mh-service-web { background-image: url('../images/moraishub-hero-orientation.jpg'); }
.mh-blue-section { background: var(--mh-navy); color: #fff; padding: 6.5rem 0; }.mh-blue-section > .e-con-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }.mh-cinematic-title .elementor-heading-title { margin: 0; color: #fff; font-family: "Manrope", sans-serif; font-size: clamp(2.1rem,4vw,4rem); font-weight: 400; letter-spacing: -.04em; line-height: 1.04; }.mh-outline-link .elementor-button { border: 1px solid rgba(210,225,250,.4); border-radius: 0; background: transparent; color: #fff; font-family: "Nunito Sans", sans-serif; font-size: .76rem; font-weight: 800; transition: background .22s var(--mh-ease), color .22s var(--mh-ease), transform .22s var(--mh-ease); }.mh-outline-link .elementor-button:hover { background: #fff; color: #102a56; transform: translateY(-3px); }.mh-dark-section { background: #0b1628; color: #fff; padding: 7rem 0; }.mh-proof-layout { display: grid; grid-template-columns: 1fr .78fr; gap: 5rem; align-items: center; }.mh-dark-copy .elementor-widget-container { max-width: 560px; color: #b8c7de; font-size: .93rem; line-height: 1.7; }.mh-proof-card { border: 1px solid rgba(219,231,250,.23); padding: 2rem; background: rgba(255,255,255,.035); }.mh-proof-card .elementor-heading-title { color: #fff; font-family: "Manrope", sans-serif; font-size: 1.35rem; }.mh-proof-card .elementor-widget-text-editor { color: #c9d6eb; font-size: .84rem; line-height: 1.55; }.mh-final-cta { background: #07101f; color: #fff; padding: 8rem 0; text-align: center; }.mh-final-cta > .e-con-inner { width: min(860px,calc(100% - 64px)); margin: auto; }.mh-final-cta .mh-display-title .elementor-heading-title { color: #fff; font-size: clamp(2.6rem,5vw,5.2rem); font-weight: 400; }.mh-final-cta .elementor-button { margin-top: 1rem; border: 0; border-radius: 0; background: var(--mh-paper); color: #10203b; font-family: "Nunito Sans", sans-serif; font-size: .75rem; font-weight: 800; }

.mh-page-hero { background: #0c1b33; color: #fff; padding: 8.6rem 0 4.7rem; }.mh-page-hero > .e-con-inner { width: min(1180px,calc(100% - 64px)); margin: auto; }.mh-page-hero .mh-display-title .elementor-heading-title { max-width: 880px; color: #fff; font-weight: 400; font-size: clamp(3rem,5.5vw,6.3rem); line-height: .96; }.mh-service-list { padding: 7rem 0; background: #07101f; }.mh-service-list > .e-con-inner { width: min(1088px,calc(100% - 64px)); margin: auto; }.mh-service-list .e-con { border-top: 1px solid var(--mh-line); }.mh-list-row { display: grid; grid-template-columns: 64px 1fr 28px; gap: 1.2rem; align-items: center; border-bottom: 1px solid var(--mh-line); padding: 1.6rem 0; }.mh-list-index .elementor-heading-title { color: var(--mh-blue); font-family: "Nunito Sans", sans-serif; font-size: .7rem; }.mh-list-row .elementor-heading-title { margin: 0 0 .3rem; color: #fff; font-family: "Manrope", sans-serif; font-size: 1.35rem; }.mh-list-row .elementor-widget-text-editor { color: #bfcee5; font-size: .83rem; }.mh-list-arrow .elementor-heading-title { color: var(--mh-blue); font-size: 1.3rem; }.mh-content-section { padding: 7rem 0; background: #07101f; }.mh-content-section > .e-con-inner { width: min(1180px,calc(100% - 64px)); margin: auto; }.mh-method-layout, .mh-cases-layout, .mh-content-layout, .mh-contact-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 6rem; }.mh-method-list .e-con { border-top: 1px solid var(--mh-line); padding: 1.1rem 0; }.mh-method-list .e-con:last-child { border-bottom: 1px solid var(--mh-line); }.mh-method-list .elementor-heading-title { margin: 0 0 .3rem; color: #fff; font-family: "Manrope", sans-serif; font-size: 1.2rem; }.mh-method-list .elementor-widget-text-editor, .mh-content-section .elementor-widget-text-editor { color: #bdcce2; line-height: 1.7; }.mh-case-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin-top: 3.5rem; }.mh-case-grid .e-con { border: 1px solid var(--mh-line); padding: 1.6rem; }.mh-case-grid .elementor-heading-title { color: #fff; font-family: "Manrope", sans-serif; font-size: 1.35rem; }.mh-case-grid .elementor-widget-text-editor { color: #b7c7df; font-size: .82rem; line-height: 1.55; }.mh-contact-form .elementor-field-group { margin-bottom: 1rem; }.mh-contact-form .elementor-field-label { color: #ccdaed; font-family: "Nunito Sans", sans-serif; font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.mh-contact-form .elementor-field { border: 1px solid var(--mh-line); border-radius: 0; background: rgba(255,255,255,.04); padding: .8rem; color: #fff; }.mh-contact-form .elementor-button { border-radius: 0; background: var(--mh-paper); color: #10203b; font-family: "Nunito Sans", sans-serif; font-size: .75rem; font-weight: 800; }.mh-post-list .e-con { border-top: 1px solid var(--mh-line); padding: 1.25rem 0; }.mh-post-list .e-con:last-child { border-bottom: 1px solid var(--mh-line); }.mh-post-list .elementor-heading-title { color: #fff; font-family: "Manrope", sans-serif; font-size: 1.25rem; }
.mh-not-found { position: relative; display: grid; min-height: 65vh; overflow: hidden; place-items: center; padding: 5rem 2rem; background: #07101f; color: #fff; text-align: center; }.mh-not-found-grid { position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(rgba(134,170,243,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(134,170,243,.13) 1px,transparent 1px); background-size: 48px 48px; mask-image: radial-gradient(circle at center,black,transparent 72%); }.mh-not-found-content { position: relative; max-width: 700px; }.mh-not-found-content > span { color: #a9c5ff; font-size: .66rem; font-weight: 800; letter-spacing: .15em; }.mh-not-found-content strong { display: block; margin: .5rem 0; color: #86aaf3; font-family: "Manrope",sans-serif; font-size: clamp(5.6rem,16vw,12rem); letter-spacing: -.09em; line-height: .78; }.mh-not-found-content h1 { margin: 1.35rem 0 .8rem; font-family: "Manrope",sans-serif; font-size: clamp(2.2rem,5vw,4.8rem); font-weight: 400; letter-spacing: -.04em; line-height: .98; }.mh-not-found-content p { max-width: 470px; margin: 0 auto; color: #bfcee5; line-height: 1.7; }

/* Elementos exportados em JSON usam containers .e-con. Estes seletores mantêm os templates independentes do tema ativo. */
.mh-home-hero > .e-con { position: relative; z-index: 1; display: flex; width: min(1180px, calc(100% - 64px)); min-height: 700px; margin: auto; align-items: center; }.mh-operating > .e-con { display: flex; width: min(1180px,calc(100% - 64px)); min-height: 64px; margin: auto; justify-content: space-between; align-items: center; }.mh-light-section > .e-con, .mh-dark-section > .e-con, .mh-blue-section > .e-con, .mh-white-section > .e-con, .mh-page-hero > .e-con, .mh-content-section > .e-con { width: min(1180px,calc(100% - 64px)); margin: auto; }.mh-service-list > .e-con { width: min(1088px,calc(100% - 64px)); margin: auto; }.mh-blue-section > .e-con { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
@media (prefers-reduced-motion: no-preference) { .mh-reveal { opacity: 0; transform: translateY(24px); transition: opacity .65s var(--mh-ease), transform .65s var(--mh-ease); }.mh-reveal.is-visible { opacity: 1; transform: translateY(0); } }
@media (max-width: 900px) { .mh-header-cta { display: none; }.mh-menu-toggle { display: block; margin-left: auto; }.mh-primary-nav { position: absolute; top: 78px; right: 0; left: 0; display: none; margin: 0; background: #0b1628; padding: 1.25rem 32px; box-shadow: 0 18px 30px rgba(0,0,0,.2); }.mh-primary-nav.is-open { display: block; }.mh-nav-list { display: grid; gap: 1rem; }.mh-intro-layout, .mh-proof-layout, .mh-method-layout, .mh-cases-layout, .mh-content-layout, .mh-contact-layout { grid-template-columns: 1fr; gap: 2.5rem; }.mh-solution-grid { grid-template-columns: repeat(2,1fr); }.mh-blue-section > .e-con-inner { align-items: flex-start; flex-direction: column; }.mh-footer-inner { grid-template-columns: 1fr; gap: 1rem; }.mh-footer-links { flex-wrap: wrap; } }
@media (max-width: 620px) { .mh-shell, .mh-home-hero > .e-con-inner, .mh-operating > .e-con-inner, .mh-light-section > .e-con-inner, .mh-dark-section > .e-con-inner, .mh-white-section > .e-con-inner, .mh-blue-section > .e-con-inner, .mh-page-hero > .e-con-inner, .mh-content-section > .e-con-inner, .mh-service-list > .e-con-inner { width: min(100% - 32px,1180px); }.mh-header-inner { height: 68px; }.mh-brand img, .mh-brand .custom-logo { width: 42px; height: 42px; object-fit: cover; object-position: left; }.mh-primary-nav { top: 68px; padding: 1.2rem 16px; }.mh-home-hero, .mh-home-hero > .e-con-inner { min-height: 620px; }.mh-hero-content { padding: 7rem 0 3rem; }.mh-hero-title .elementor-heading-title { font-size: clamp(3rem,13vw,4.4rem); }.mh-operating > .e-con-inner { min-height: auto; padding: 1.1rem 0; align-items: flex-start; flex-direction: column; }.mh-light-section, .mh-white-section, .mh-dark-section, .mh-content-section { padding: 4.8rem 0; }.mh-solution-grid, .mh-case-grid { grid-template-columns: 1fr; }.mh-service-card { min-height: 275px; }.mh-page-hero { padding: 7.6rem 0 3.8rem; }.mh-page-hero .mh-display-title .elementor-heading-title { font-size: clamp(2.8rem,12vw,4.5rem); }.mh-list-row { grid-template-columns: 34px 1fr 18px; }.mh-footer-inner { padding: 0; } }
