* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html, body {
    overflow-x: hidden;
    max-width: 100%;
    scroll-behavior: smooth;
}

body {
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    background-color: #fff;
    color: #222;
}

.container {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 20px;
}

@media (min-width: 1920px) {
    .container {
        max-width: 1600px;
    }
}

header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    padding: 20px 0;
    background: transparent;
    transition: all 0.3s ease;
}

header.scrolled {
    position: fixed;
    background-color: #012ACD;
    border-bottom: 1px solid rgba(255, 255, 255, 0.20);
}

header.scrolled.hidden {
    transform: translateY(-100%);
}

header.scrolled .menu a {
    color: #fff;
}

header.scrolled .btn-cadastro {
    color: #fff !important;
    border-color: #fff !important;
}

.header-content,
.menu,
.footer-top,
.footer-social {
    display: flex;
    align-items: center;
}

.header-content,
.footer-top {
    justify-content: space-between;
}
.header-content .logo{
    position: relative;
    z-index: 100;
}
.menu {
    gap: 35px;
}

.menu-social {
    display: none;
}

.menu a {
    font-size: 16px;
    font-weight: 400;
    color: #222;
    text-decoration: none;
    transition: color 0.3s ease;
}

.menu a:hover {
    color: #18136D;
}

.hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    z-index: 1001;
}

.hamburger span {
    display: block;
    width: 25px;
    height: 3px;
    background-color: #fff;
    transition: all 0.3s ease;
}

.hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(8px, 8px);
}

.hamburger.active span:nth-child(2) {
    opacity: 0;
}

.hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -7px);
}

.btn-cadastro {
    padding: 10px 24px;
    border: 1px solid #18136D;
    border-radius: 56px;
}

#hero {
    position: relative;
    height: 760px;
    padding: 200px 0 20px;
    background: url('attached_assets/hero.jpg') center/cover no-repeat;
}

.hero-content {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
}

.hero-left {
    margin-right: 180px;
}

.hero-left img {
    width: 100%;
    max-width: 400px;
    height: auto;
}

.hero-right {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-left: 153px;
}

.hero-right h1 {
    font-size: 32px;
    font-weight: 600;
    line-height: 1.3;
    color: #18136D;
}

.hero-right p {
    font-size: 16px;
    font-weight: 400;
    color: #232754;
}

.hero-bottom-image {
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: 0;
    transform: translateX(-50%);
    max-width: 600px;
    width: 100%;
    height: auto;
}

.btn-primary {
    display: inline-block;
    align-self: flex-start;
    padding: 15px 24px;
    border: none;
    border-radius: 56px;
    background-color: #1B4AD4;
    color: #fff;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.btn-primary:hover {
    background-color: #012ACD;
}

#hero .btn-primary {
    background-color: #18136D;
}

#hero .btn-primary:hover {
    background-color: #0f0b4d;
}

#ebook .btn-primary {
    background-color: #18136D;
}

#ebook .btn-primary:hover {
    background-color: #1B4AD4;
}

#video {
    padding: 80px 0 40px;
}

.video-wrapper {
    position: relative;
    max-height: 70vh;
    margin: 0 auto;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#services {
    padding: 40px 0 80px;
    background: #F7FAFE;
}

#services h2 {
    margin-bottom: 40px;
    font-size: 48px;
    font-weight: 600;
    color: #272727;
    text-align: left;
}

.service-tabs {
    display: flex;
    justify-content: space-between;
    gap: 0;
    margin-bottom: 5px;
    transition: all 0.3s ease;
}

.service-tabs.sticky {
    position: fixed;
    top: 73px;
    left: 0;
    right: 0;
    z-index: 900;
    background: #fff;
    padding: 10px 0 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.service-tabs.sticky .tab-item {
    padding: 16px 24px 16px;
}

.service-tabs.sticky + .tab-content-wrapper {
    margin-top: 120px;
}

.tab-item {
    flex: 1;
    padding: 16px 24px 32px;
    border: none;
    border-bottom: 1.5px solid #EDEDED;
    background: none;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s ease;
}

.tab-item:focus {
    outline: 2px solid #18136D;
    outline-offset: 2px;
}

.tab-item:hover,
.tab-item.active {
    border-bottom: 5px solid var(--tab-color);
}

.tab-item img {
    display: block;
    height: 48px;
    width: auto;
}

.tab-content-wrapper {
    position: relative;
    padding: 80px 0 0;
}

.tab-content {
    position: relative;
    z-index: 0;
    display: none;
}

.tab-content.active {
    display: block;
}

.tab-content::before {
    content: '';
    position: absolute;
    top: -64px;
    left: 50%;
    z-index: 0;
    transform: translateX(-50%);
    width: 100vw;
    height: var(--gradient-height, 500px);
    background: linear-gradient(180deg, var(--tab-bg-color, #ACCB1B) 64%, #F7FAFE 64%);
    pointer-events: none;
}

.content-box {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 0;
    padding: 80px;
    border-radius: 16px;
    background-color: #fff;
    box-shadow: 0 12px 28px 0 rgba(0, 0, 0, 0.10);
}

.content-left h3 {
    font-size: 24px;
    font-weight: 400;
    color: #000;
}

.content-left h3 strong {
    font-weight: 600;
}

.content-right p:not(:last-of-type) {
    font-size: 16px;
    font-weight: 400;
    color: #494949;
    margin-bottom: 28px;
}

.subsection {
    padding: 0 30px;
    position: relative;
    z-index: 1;
}

.subsection h3 {
    color: #232754;
    font-size: 20px;
    font-weight: 500;
}

.subsection h4 {
    font-size: 20px;
    font-weight: 500;
    color: #232754;
    margin-bottom: 40px;
}

.ia-em-acao {
    margin-top: 70px;
}

.cases {
    margin-top: 80px;
}

.cases-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

.slider-controls {
    display: flex;
    gap: 12px;
}

.slider-arrow {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    background: #fff;
    border: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    color: #232754;
}

.slider-arrow:hover {
    background: #F5F5F5;
    border-color: #232754;
}

.slider-arrow:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.slider-container {
    position: relative;
    width: 100%;
}

.slider-track {
    position: relative;
    width: 100%;
}

.slider-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
}

.slider-slide.active {
    position: relative;
    opacity: 1;
    pointer-events: auto;
}

.case-box {
    display: grid;
    grid-template-columns: 372px 1fr;
    gap: 44px;
    padding: 40px;
    border-radius: 16px;
    background: #FFF;
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.06);
    position: relative;
}

.case-box::after {
    content: '';
    position: absolute;
    top: 20px;
    right: -20px;
    width: 20px;
    height: calc(100% - 40px);
    background: #D9D9D9;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    z-index: -1;
}

.case-image {
    border-radius: 12px;
    overflow: hidden;
}

.case-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.case-content {
    display: flex;
    flex-direction: column;
    gap: 41px;
}

.case-title {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    border-bottom: 1px solid #E7E7E7;
    padding-bottom: 24px;
}

.case-title-text {
    flex: 1;
}

.case-title h5 {
    font-size: 23px;
    font-weight: 500;
    color: #232754;
    margin: 0;
}

.case-sector {
    font-size: 14px;
    font-weight: 400;
    color: #494949;
    margin: 4px 0 0 0;
}

.case-title svg {
    flex-shrink: 0;
    margin-left: 16px;
}

.case-description h6,
.case-service-time h6,
.case-results h6 {
    font-size: 16px;
    font-weight: 600;
    color: #232754;
    margin-bottom: 16px;
}

.case-description > p,
.case-service-time > p,
.case-results > p {
    font-size: 16px;
    font-weight: 400;
    color: #494949;
    line-height: 1.5;
    margin: 0;
}

.case-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.case-list-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.case-list-column li {
    font-size: 16px;
    font-weight: 400;
    color: #494949;
    margin-bottom: 3px;
    padding-left: 16px;
    position: relative;
}

.case-list-column li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #494949;
}

.case-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
    padding-top: 10px;
}

.case-metrics-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 23px;
}

.metric-value {
    font-size: 40px;
    font-weight: 600;
    color: #A8C520;
    display: block;
    line-height: 1;
    margin-bottom: 8px;
}

.metric-label {
    font-size: 14px;
    font-weight: 400;
    color: #494949;
    line-height: 1.4;
    margin: 0;
}

.ia-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

[data-content="ams"] .ia-cards,
[data-content="modernization"] .ia-cards {
    grid-template-columns: repeat(2, 1fr);
}

[data-content="delivery"] .ia-cards {
    grid-template-columns: 1fr;
}

[data-content="delivery"] .ia-card-icon svg path,
[data-content="delivery"] .metric-value {
    stroke: #541A7C;
    color: #541A7C;
}

[data-content="delivery"] .ia-card-header-horizontal {
    margin-bottom: 0;
}

[data-content="delivery"] .ia-card-column {
    padding-bottom: 0;
}

.ia-card-header-horizontal {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 32px;
}

.ia-card-header-horizontal h3 {
    margin: 0;
}

.ia-card-column {
    padding: 32px;
}

.ia-card-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.ia-card-column h4 {
    font-size: 16px;
    font-weight: 600;
    color: #232754;
    margin-bottom: 12px;
}

.ia-card-column p {
    font-size: 14px;
    font-weight: 400;
    color: #494949;
    line-height: 1.6;
    margin: 0 0 16px 0;
}

.ia-card-column p:last-child {
    margin-bottom: 0;
}

.ia-card-with-left-icon {
    display: flex;
    gap: 48px;
    align-items: flex-start;
}

.ia-card-content-right h3 {
    margin: 0 0 16px 0;
}

.ia-card-content-right p {
    font-size: 16px;
    line-height: 1.6;
    color: #494949;
    margin: 0 0 20px 0;
}

.ia-card-content-right p:last-child {
    margin-bottom: 0;
}

.ia-card {
    padding: 32px;
    border-radius: 16px;
    border: 1px solid #F0F0F0;
    background: #FFF;
}

.ia-card-icon {
    margin-bottom: 16px;
}

.ia-card-icon svg {
    display: block;
}

.ia-card h3 {
    font-size: 18px;
    font-weight: 600;
    color: #232754;
    margin-bottom: 12px;
}

.ia-card p {
    font-size: 16px;
    font-weight: 400;
    color: #494949;
    line-height: 1.5;
    margin-bottom: 16px;
}

.ia-card p:last-child {
    margin-bottom: 0;
}

.squad-ia-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.squad-ia-card-full {
    width: 100%;
}

.squad-ia-card-half {
    width: calc(50% - 8px);
}

.squad-card-header {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 32px;
}

.squad-card-icon {
    flex-shrink: 0;
}

.squad-card-header h3 {
    margin: 0;
}

.squad-item {
    padding: 32px;
}

.squad-items-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.squad-item h4 {
    font-size: 16px;
    font-weight: 600;
    color: #232754;
    margin: 0 0 20px 0;
}

.resultados {
    display: grid;
    grid-template-columns: auto 1fr 1fr 1fr;
    column-gap: 16px;
    align-items: start;
    margin-top: 80px;
}

.resultados h3 {
    margin: 0;
    margin-right: 85px;
    white-space: nowrap;
}

.resultado-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.resultado-item .metric-value {
    font-size: 56px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 8px;
}

.resultado-item .metric-label {
    font-size: 14px;
    font-weight: 400;
    color: #5A5A5A;
    line-height: 1.3;
    margin: 0;
}

[data-content="ams"] .resultados .metric-value {
    color: #FF6964;
}

[data-content="ams"] .cases .metric-value {
    color: #FF6964;
}

[data-content="squad"] .cases .metric-value {
    color: #0028AF;
}

[data-content="modernization"] .cases .metric-value {
    color: #006FFF;
}

.case-metric-inline {
    display: flex;
    align-items: flex-start;
    gap: 40px;
}

.case-metric-inline .metric-value {
    font-size: 56px;
    font-weight: 700;
    line-height: 1;
    flex-shrink: 0;
}

.case-metric-inline .metric-text {
    font-size: 16px;
    font-weight: 400;
    color: #494949;
    line-height: 1.5;
    margin: 8px 0 0 0;
}

#recognitions {
    background: #1B4AD4;
    padding: 90px 0 65px;
    color: #FFFFFF;
}

.reconhecimentos-content {
    display: grid;
    grid-template-columns: 1fr 1fr 0.7fr;
    gap: 40px;
    align-items: center;
}

.reconhecimentos-left {
}

.reconhecimentos-left h4 {
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 24px;
}

.reconhecimentos-left h2 {
    font-size: 32px;
    font-weight: 400;
    line-height: 1.2;
    margin-bottom: 24px;
}

.reconhecimentos-left h3 {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    margin-bottom: 24px;
}

.reconhecimentos-left p {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    margin-bottom: 24px;
    opacity: 0.9;
}

.reconhecimentos-left p:last-child {
    margin-bottom: 0;
}

.reconhecimentos-left a {
    color: #FFFFFF;
    text-decoration: underline;
    font-weight: 600;
    transition: opacity 0.3s ease;
}

.reconhecimentos-left a:hover {
    opacity: 0.8;
}

.reconhecimentos-center div{
    margin: 0 auto;
    display: block;
}

.reconhecimentos-right {
    display: flex;
    flex-direction: column;
    gap: 13px;
}
#reconhecimentos-center,
#reconhecimentos-center * {
    font-family: 'Graphik', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

[id^="gartner-pi-widget"],
[id^="gartner-pi-widget"] * {
    font-family: 'Graphik', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

#reconhecimentos-center strong,
#reconhecimentos-center b,
#reconhecimentos-center .gartner-pi-rating {
    font-weight: 600 !important;
}

#ebook {
    padding: 80px 0;
}

.ebook-box {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 350px;
    align-items: start;
    padding: 32px 60px;
    border-radius: 16px;
    background-image: url('attached_assets/banner-ebook_1760679232120.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: 0 144px 40px 0 rgba(0, 0, 0, 0.00), 
                0 92px 37px 0 rgba(0, 0, 0, 0.02), 
                0 52px 31px 0 rgba(0, 0, 0, 0.05), 
                0 23px 23px 0 rgba(0, 0, 0, 0.09), 
                0 6px 13px 0 rgba(0, 0, 0, 0.10);
    min-height: fit-content;
}

.ebook-column {
    position: relative;
}

.ebook-image img {
    display: block;
    height: auto;
}

.ebook-center-image {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    z-index: 10;
    height: 100%;
    display: flex;
    align-items: flex-end;
}

.ebook-center-image img {
    display: block;
    width: auto;
}

.ebook-content h2 {
    font-size: 24px;
    font-weight: 600;
    color: #FFF;
    margin-bottom: 24px;
}

.ebook-content p {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    color: #FFF;
    margin-bottom: 24px;
}

.ebook-content p strong {
    font-weight: 700;
}

#learn-more {
    padding: 80px 0;
    background-color: #061351;
}

.cadastro-box {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 60px;
    align-items: start;
}

.cadastro-title h2 {
    font-size: 40px;
    font-weight: 500;
    line-height: 1.3;
    color: #FFF;
}

.cadastro-form {
    width: 100%;
}

.cadastro-success {
    width: 100%;
}

.cadastro-success h3 {
    font-size: 32px;
    font-weight: 300;
    color: #FFF;
    line-height: 1.3;
    margin-bottom: 16px;
}

.cadastro-success h3 strong {
    font-weight: 500;
}

.cadastro-success p {
    font-size: 16px;
    font-weight: 400;
    color: #FFF;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.form-group,
.checkbox-column,
.faq-accordions {
    display: flex;
    flex-direction: column;
}

.form-group {
    gap: 0;
}

.checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 16px;
}

.checkbox-group.checkbox-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.checkbox-column,
.faq-accordions {
    gap: 20px;
}

.form-group.full {
    grid-column: 1 / -1;
}

.form-group.full > label {
    margin-bottom: 0;
    font-size: 16px;
    font-weight: 400;
    color: #fff;
}

.form-group label {
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 400;
    color: #fff;
}

.form-group input {
    padding: 12px 16px;
    border: 1px solid #C8C8C8;
    border-radius: 8px;
    background: #FFF;
    color: #6B6B6B;
    font-family: 'Noto Sans', sans-serif;
    font-size: 16px;
    font-weight: 400;
}

.form-group input::placeholder {
    color: #6B6B6B;
    font-size: 16px;
    font-weight: 400;
}

.checkbox-grid .checkbox-label {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    cursor: pointer;
}

.checkbox-label strong {
    font-weight: 700;
}

.checkbox-label input[type="checkbox"] {
    appearance: none;
    width: 14px;
    height: 14px;
    border: 2px solid #1935BE;
    border-radius: 3px;
    background-color: #1935BE;
    cursor: pointer;
    flex-shrink: 0;
    position: relative;
    padding: 0;
}

.checkbox-row {
    border-radius: 8px;
    background: #050F3E;
    padding: 16px 22px;
    margin-bottom: 40px;
}

.checkbox-label input[type="checkbox"]:checked {
    background-color: #ffffff;
}

.checkbox-label input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 1px;
    width: 6px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    opacity: 0;
}

.form-submit {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.form-submit .btn-primary {
    margin: 0;
}

.privacy-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.privacy-group.invalid .checkbox-label.privacy span {
    color: #dc3545;
}

.checkbox-label.privacy {
    color: #BABABA;
    font-size: 14px;
    font-weight: 400;
}

.error-message {
    display: block;
    min-height: 20px;
    margin-top: 4px;
    font-size: 14px;
    color: #ff4444;
}

.form-group input.invalid {
    border-color: #ff4444;
}

.checkbox-group.invalid {
    border: 2px solid #ff4444;
    border-radius: 8px;
    padding: 8px;
}

.form-success {
    margin-bottom: 20px;
    padding: 16px;
    border-radius: 8px;
    background-color: #4CAF50;
    color: white;
    text-align: center;
}

.form-success p {
    margin: 0;
    font-size: 16px;
    font-weight: 500;
}

#faq {
    padding: 80px 0;
    background: #F7FAFE;
}

.faq-content {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 60px;
}

.faq-title h2 {
    font-size: 48px;
    font-weight: 600;
    color: #272727;
}

.faq-title p {
    color: #494949;
    font-size: 16px;
    font-weight: 400;
    margin-top: 16px;
}

.accordion-item {
    padding: 32px;
    border: 1px solid #F0F0F0;
    border-radius: 8px;
    background: #fff;
}

.accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 0;
    border: none;
    background: none;
    font-family: 'Noto Sans', sans-serif;
    text-align: left;
    cursor: pointer;
}

.accordion-header:focus {
    outline: 2px solid #18136D;
    outline-offset: 2px;
}

.accordion-header span {
    font-size: 18px;
    font-weight: 600;
    color: #232754;
}

.arrow-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    transition: transform 0.3s ease;
}

.accordion-header[aria-expanded="true"] .arrow-icon {
    transform: rotate(180deg);
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.accordion-content:not([hidden]) {
    max-height: 500px;
    margin-top: 20px;
}

.accordion-content p {
    font-size: 16px;
    font-weight: 400;
    color: #494949;
    margin-bottom: 16px;
}

.accordion-content p:last-child {
    margin-bottom: 0;
}

footer {
    padding: 80px 0;
}

.footer-logo a {
    display: inline-block;
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.footer-logo a:hover {
    opacity: 0.8;
}

.footer-logo img {
    height: 50px;
}

.footer-social {
    gap: 20px;
}

.footer-social a {
    display: block;
    width: 24px;
    height: 24px;
}

.footer-social img {
    width: 100%;
    height: 100%;
}

.footer-divider {
    height: 1px;
    margin: 24px 0;
    background: rgba(0, 0, 0, 0.10);
}

.footer-bottom p {
    font-size: 14px;
    font-weight: 400;
    color: #000;
    text-align: left;
}

@media (max-width: 820px) {
    .hero-content,
    .cadastro-content,
    .faq-content,
    .content-box {
        grid-template-columns: 1fr;
    }

    #services {
        background: #fff !important;
        padding-bottom: 0;
    }

    #services h2,
    .faq-title h2 {
        font-size: 24px;
    }

    #ebook {
        padding-top: 40px;
        padding-bottom: 0;
        padding-left: 0;
        padding-right: 0;
    }

    #ebook .container {
        max-width: 100%;
        padding: 0;
    }

    .ebook-box {
        border-radius: 0;
        display: flex;
        flex-direction: column;
        background: none;
        padding: 0;
        gap: 0;
    }

    .ebook-section-1 {
        display: flex;
        flex-direction: column;
        gap: 40px;
        background-image: url('attached_assets/banner-ebook-mobile_1761015810103.png');
        background-size: cover;
        background-position: top center;
        background-repeat: no-repeat;
        width: 100%;
        border-top-left-radius: 16px;
        border-top-right-radius: 16px;
        padding: 32px 52px 0 52px;
    }

    .ebook-image {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .ebook-image img {
        max-width: 216px;
    }

    .ebook-center-image img {
        max-width: 270px;
    }

    .ebook-section-2 {
        display: flex;
        flex-direction: column;
        background: linear-gradient(250deg, rgba(0, 0, 0, 0.00) 27.46%, rgba(0, 0, 0, 0.20) 74.55%), #1B4BD8;
        width: 100%;
        padding: 40px 32px;
    }

    .ebook-content {
        text-align: center;
    }

    .ebook-content h2 {
        font-size: 24px;
    }

    .ebook-content p {
        font-size: 16px;
    }

    .ebook-content .btn-primary {
        background: #18136D;
        margin: 0 auto;
    }

    .ebook-content .btn-primary:hover {
        background: #1B4AD4;
    }

    .ebook-center-image {
        position: static;
        left: auto;
        bottom: auto;
        transform: none;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .service-tabs {
        flex-direction: column;
        gap: 0;
    }

    .tab-item {
        flex: none;
        width: 100%;
        border-radius: 0 !important;
        border: none !important;
        border-bottom: 1px solid #E0E0E0 !important;
        background: #fff !important;
        justify-content: space-between;
        padding: 20px 16px !important;
        position: relative;
        display: flex;
        align-items: center;
        outline: none !important;
    }
    
    .tab-item:focus {
        outline: none !important;
    }

    .tab-item::after {
        content: '';
        width: 16px;
        height: 16px;
        margin-left: auto;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M13.78 10.06C13.78 10.1867 13.7333 10.3133 13.6333 10.4133C13.44 10.6067 13.12 10.6067 12.9267 10.4133L8.58001 6.06668C8.26001 5.74668 7.74001 5.74668 7.42001 6.06668L3.07335 10.4133C2.88001 10.6067 2.56001 10.6067 2.36668 10.4133C2.17335 10.22 2.17335 9.90002 2.36668 9.70668L6.71335 5.36002C7.05335 5.02002 7.51335 4.82668 8.00001 4.82668C8.48668 4.82668 8.94668 5.01335 9.28668 5.36002L13.6333 9.70668C13.7267 9.80668 13.78 9.93335 13.78 10.06Z' fill='%23292D32'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        transform: rotate(180deg);
        transition: transform 0.3s ease;
    }

    .tab-item.active::after {
        transform: rotate(0deg);
    }

    .tab-content-wrapper {
        background: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
        min-height: auto !important;
    }

    .tab-content::before {
        content: none;
    }

    .tab-content {
        position: static !important;
        display: none !important;
        padding: 0 !important;
        background: #fff !important;
        border-bottom: 1px solid #E0E0E0;
        opacity: 1 !important;
        transform: none !important;
    }

    .tab-content.active {
        display: block !important;
    }

    .color-separator {
        width: 100vw;
        height: 16px;
        position: relative;
        left: 50%;
        right: 50%;
        margin-left: -50vw;
        margin-right: -50vw;
    }

    .content-box {
        display: flex;
        flex-direction: column;
        gap: 24px;
        padding: 20px 0 !important;
        box-shadow: none !important;
    }

    .content-left,
    .content-right {
        width: 100%;
    }

    .content-left h3 {
        font-size: 18px;
    }

    .content-right p {
        font-size: 14px;
    }

    .ia-cards,
    .cases,
    .resultados {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .ia-card,
    .slider-slide,
    .resultado-item {
        width: 100%;
    }

    .case-box {
        display: flex;
        flex-direction: column;
        padding: 24px;
    }

    .case-box::after {
        display: none;
    }

    .resultados h3 {
        text-align: center;
        margin-right: 0;
        width: 100%;
    }

    .case-title {
        flex-direction: column-reverse;
        align-items: flex-start;
    }

    .case-title h5 {
        font-size: 16px;
    }

    .case-title svg {
        margin-left: 0;
        margin-bottom: 16px;
    }

    .case-list {
        display: block;
    }

    .ia-em-acao {
        margin-top: 20px;
        padding: 0;
    }

    .ia-card {
        padding: 32px 24px;
    }

    .ia-card h3 {
        font-size: 18px;
    }

    .ia-card-columns {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .ia-card-column {
        padding: 10px 0;
    }

    .ia-card-header-horizontal {
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
    }

    .ia-card-with-left-icon {
        flex-direction: column;
        gap: 0;
    }

    .squad-items-grid {
        display: block;
    }

    .squad-item {
        padding: 10px 0;
    }

    .subsection {
        padding: 0;
    }

    .subsection h4 {
        margin-bottom: 24px;
    }

    .resultados {
        margin-top: 24px;
    }

    .resultado-item {
        align-items: center;
    }

    .case-metrics {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .case-metric-inline {
        flex-direction: column;
        gap: 0;
    }

    #reconhecimentos {
        padding: 60px 0 40px;
    }

    .reconhecimentos-content {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .reconhecimentos-left h2 {
        font-size: 28px;
    }

    .reconhecimentos-left h3 {
        font-size: 18px;
    }

    .reconhecimentos-left h4 {
        font-size: 14px;
    }

    .reconhecimentos-center,
    .reconhecimentos-right {
        width: 100%;
        text-align: center;
    }

    #learn-more {
        padding: 40px 0;
    }

    .cadastro-title h2 {
        font-size: 24px;
    }

    .form-group input {
        padding: 16px;
    }

    .checkbox-row {
        padding: 16px 22px;
    }

    .checkbox-label {
        padding: 0 12px;
    }

    .privacy-group {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .privacy-group.invalid .checkbox-label.privacy span {
        color: #dc3545;
    }

    .checkbox-label.privacy {
        padding: 0;
    }

    .checkbox-label.privacy span {
        padding-left: 10px;
    }

    .menu {
        gap: 15px;
        flex-wrap: wrap;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .form-submit {
        flex-direction: column-reverse;
        gap: 20px;
        align-items: flex-start;
    }

    .cadastro-box {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .checkbox-grid {
        grid-template-columns: 1fr !important;
    }

    .faq-content {
        gap: 40px;
    }

    .hero-content {
        gap: 20px;
        padding: 0;
        margin: 0;
        text-align: center;
    }

    .hero-left,
    .hero-right {
        margin: 0;
        padding: 0;
    }

    .hero-left {
        display: flex;
        justify-content: center;
    }

    .hero-left img {
        max-width: 220px;
    }

    .hero-right {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .hero-right h1 {
        font-size: 18px;
        color: #fff;
        text-align: center;
    }

    .hero-right p {
        font-size: 14px;
        color: #fff;
        text-align: center;
    }

    .hero-right .btn-primary {
        align-self: center;
    }

    #hero {
        height: 815px;
        min-height: 815px;
        padding-top: 128px;
        background-image: url('attached_assets/hero_mobile_1760973427338.jpg');
        background-size: cover;
        background-position: center;
        position: relative;
    }

    #faq {
        padding: 40px 0;
    }

    .accordion-item {
        padding: 20px;
    }

    .accordion-header span {
        font-size: 18px;
    }

    .accordion-content p {
        font-size: 14px;
    }

    footer {
        padding: 40px 0;
    }

    .footer-top {
        display: block;
    }

    .footer-logo {
        margin-bottom: 40px;
    }

    header {
        position: fixed;
        z-index: 1002;
    }

    .hamburger {
        display: flex;
        position: relative;
        z-index: 1003;
    }

    .hamburger.active span:nth-child(1) {
        transform: rotate(45deg) translate(4px, 4px);
    }

    .hamburger.active span:nth-child(2) {
        opacity: 0;
    }

    .hamburger.active span:nth-child(3) {
        transform: rotate(-45deg) translate(7px, -7px);
    }

    .menu {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100vw;
        height: 100vh;
        background-color: #012ACD;
        flex-direction: column;
        align-items: flex-start;
        padding: 80px 0 0;
        gap: 0;
        transition: right 0.3s ease;
        z-index: 99;
    }

    .menu.active {
        right: 0;
    }

    .menu a {
        color: #fff;
        font-size: 18px;
        width: 100%;
        padding: 24px 20px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }

    .menu a:first-child{
        border-top: 1px solid rgba(255, 255, 255, 0.20);
    }

    .menu .menu-social a:first-child{
        border-top: 0;
    }

    .menu .btn-cadastro {
        display: none;
    }

    .menu-social {
        display: flex;
        gap: 20px;
        padding: 30px 20px;
    }

    .menu-social a {
        display: block;
        width: 24px;
        height: 24px;
        padding: 0;
        border: none;
    }

    .menu-social svg {
        width: 100%;
        height: 100%;
    }

    .hero-bottom-image {
        display: block;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        max-width: 307px;
        width: auto;
        height: auto;
    }

    #video {
        padding: 0;
    }

    #video .container {
        max-width: 100%;
        padding: 0;
    }
}
