/* Ajustes Itelligence Group - 31/10/2026 */
.page-hero, .page-hero-compact { min-height: 0; }
.page-hero .page-hero-inner { padding-top: 40px; padding-bottom: 40px; }
.hero { min-height: 0; padding-top: 48px; padding-bottom: 48px; }
.section-kicker { font-size: 15px; color: #3b762f; }
.section-kicker .kicker-line { width: 36px; height: 7px; flex: 0 0 36px; border-radius: 0; background: linear-gradient(180deg, #569d41 0 2px, transparent 2px 5px, #3867af 5px 7px); }
@media (max-width: 720px) {
  .page-hero .page-hero-inner { padding-top: 32px; padding-bottom: 32px; }
  .hero { padding-top: 36px; padding-bottom: 40px; }
}

/* Botão Solicitar orçamento no menu */
.site-header .primary-nav a.nav-contact { background: #3b762f; border-color: #3b762f; color: #fff; padding: 12px 20px; }
.site-header .primary-nav a.nav-contact span { color: #fff; }
.site-header .primary-nav a.nav-contact:hover, .site-header .primary-nav a.nav-contact:focus-visible { background: #2f5f26; border-color: #2f5f26; color: #fff; }

/* Menu do cabeçalho mais harmonioso (computador) */
@media (min-width: 901px) {
  .site-header .primary-nav { gap: clamp(22px, 2.6vw, 40px); }
  .site-header .primary-nav a { font-size: clamp(13px, 1vw, 14px); letter-spacing: .07em; }
  .site-header .primary-nav a.nav-contact { font-size: clamp(13px, 1vw, 14px); padding: 13px 22px; }
}
.site-header .primary-nav a.nav-contact span, .site-header .primary-nav a.nav-contact:hover span { color: #fff; }

@media (min-width: 901px) { .site-header .primary-nav a { white-space: nowrap; } }
@media (min-width: 901px) and (max-width: 1180px) {
  .site-header .primary-nav { gap: 18px; }
  .site-header .primary-nav a, .site-header .primary-nav a.nav-contact { font-size: 12px; letter-spacing: .05em; }
  .site-header .primary-nav a.nav-contact { padding: 12px 16px; }
}

/* Traço da página ativa no menu em azul */
.site-header .primary-nav a[aria-current="page"]:after { background: #3867af; }

/* Contato - Fale conosco reorganizado */
.contact-details .contact-grid { display: block; }
.contact-details .contact-methods { display: grid; grid-template-columns: 1fr 1fr; column-gap: 64px; border-top: 0; border-bottom: 1px solid var(--line); }
.contact-details .contact-method { min-height: 0; padding: 26px 0; border-top: 1px solid var(--line); border-bottom: 0; justify-content: flex-start; }
.contact-details .method-label { font-size: 11px; }
.contact-details .method-action { position: static; margin-top: 10px; color: #3b762f; font-size: 14px; font-weight: 600; }
.contact-details .method-action b { color: #3b762f; }
.contact-social { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 32px; margin-top: 28px; }
.contact-social-label { color: #718087; font: 11px monospace; letter-spacing: .12em; text-transform: uppercase; }
.contact-social a { display: inline-flex; align-items: center; gap: 10px; color: #3b762f; font-size: 14px; font-weight: 600; text-decoration: none; }
.contact-social a:hover { color: #2f5f26; }
.contact-social svg { width: 20px; height: 20px; flex: none; }
@media (max-width: 720px) { .contact-details .contact-methods { grid-template-columns: 1fr; } }
.contact-social .social-sep { margin: 0 2px; color: #9fb0a9; font-weight: 400; }
.contact-social { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; }
.contact-social .contact-social-label { margin-right: 4px; }

/* Rodapé redesenhado */
footer.site-footer.ft { position: relative; padding: 0; color: #33434a; background: #e8eeec; border-top: 0; }
.ft-grid { display: grid; grid-template-columns: 1.5fr 1fr 1.4fr 1fr; gap: 40px; padding-top: 64px; padding-bottom: 52px; }
.ft-brand img { display: block; width: 270px; max-width: 100%; height: auto; }
.ft-brand p { max-width: 300px; margin: 18px 0 0; color: #55666d; font-size: 14px; line-height: 1.6; }
.ft-col { display: flex; flex-direction: column; gap: 12px; font-style: normal; }
.ft-title { margin-bottom: 4px; color: #3b762f; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.ft-col a { display: inline-flex; align-items: center; gap: 10px; color: #33434a; font-size: 14px; text-decoration: none; transition: color .18s; }
.ft-col a:hover, .ft-col a:focus-visible { color: #3b762f; }
.ft-col svg { width: 18px; height: 18px; flex: none; color: #3b762f; }
.ft-bottom-wrap { border-top: 1px solid #cbd4d2; }
.ft-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px; padding-top: 18px; padding-bottom: 18px; color: #6a7a80; font-size: 12px; }
.ft-bottom a, .ft .footer-privacy-button { color: #6a7a80; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; background: none; border: 0; padding: 0; cursor: pointer; }
.ft-bottom a:hover, .ft .footer-privacy-button:hover { color: #3b762f; }
@media (max-width: 980px) { .ft-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .ft-grid { grid-template-columns: 1fr; gap: 32px; padding-top: 48px; } .ft-bottom { flex-direction: column; align-items: flex-start; } }

/* Rodapé: logo alinhado com a frase */
.ft-brand img { width: 340px; max-width: calc(100% + 21px); margin-left: -21px; }
.ft-brand p { max-width: 292px; margin-top: 4px; }
@media (max-width: 600px) { .ft-brand img { width: 300px; margin-left: -18px; } .ft-brand p { max-width: 258px; } }
.ft-brand p { color: #33434a; line-height: 1.65; }
@media (min-width: 981px) {
  .ft-brand { display: flex; flex-direction: column; align-items: flex-start; }
  .ft-brand p { margin-top: auto; margin-bottom: 0; padding-top: 6px; max-width: none; }
  .ft-brand img { width: 260px; max-width: none; margin-left: -15.7px; }
}
.ft-brand .ft-br { display: none; }
@media (min-width: 1200px) {
  .ft-brand img { width: 352px; margin-left: -21.3px; margin-top: -14px; margin-bottom: -3px; }
  .ft-brand p { width: 303px; padding-top: 16px; text-align: justify; text-align-last: justify; }
  .ft-brand .ft-br { display: inline; }
}
/* Espaçamentos verticais do site inteiro (revisão 31/10/2026) */
main .section-kicker { margin-bottom: 28px; }
main .intro-section, main .process-section, main .home-contact,
main .about-story, main .principles-section, main .about-cta,
main .solutions-list { padding-top: 64px; padding-bottom: 64px; }
main .service-section { padding-top: 64px; padding-bottom: 40px; }
main .home-blog { padding-top: 64px; }
main .solutions-contact { padding-top: 56px; padding-bottom: 56px; }
main .about-gallery { padding-bottom: 48px; }
main .posts-section { padding-bottom: 64px; }
main section.contact-details { padding-top: 56px; padding-bottom: 40px; }
main .contact-form-section { padding-bottom: 64px; }
@media (max-width: 900px) {
  main .section-kicker { margin-bottom: 22px; }
  main .intro-section, main .process-section, main .home-contact,
  main .about-story, main .principles-section, main .about-cta,
  main .solutions-list { padding-top: 48px; padding-bottom: 48px; }
  main .service-section { padding-top: 48px; padding-bottom: 32px; }
  main .home-blog { padding-top: 48px; }
  main .solutions-contact { padding-top: 44px; padding-bottom: 44px; }
  main .about-gallery { padding-bottom: 36px; }
  main .posts-section { padding-bottom: 48px; }
  main section.contact-details { padding-top: 44px; padding-bottom: 32px; }
  main .contact-form-section { padding-bottom: 48px; }
}
/* Home: Frentes de atuação em tom claro (31/10/2026) */
main .service-section { background: #e8eeec; color: #33434a; }
main .service-section::after { display: none; }
main .service-section .section-kicker { color: #3b762f; }
main .service-section .section-kicker span { color: #3b762f; }
main .service-section h2, main .service-section .service-heading h2 { color: #162631 !important; }
main .service-section .service-heading p { color: #55666d; }
main .service-section .service-list a { color: #162631; border-bottom-color: #c9d3d0; border-top-color: #c9d3d0; }
main .service-section .service-list a .service-title { color: #162631; }
main .service-section .service-list a .service-arrow { color: #3b762f; }
main .service-section .service-list a:hover .service-title, main .service-section .service-list a:focus-visible .service-title { color: #3b762f; }
/* Home: título do topo mais delicado */
main .home-hero h1 { font-size: clamp(34px, 3.8vw, 54px) !important; line-height: 1.12 !important; max-width: 620px; }
/* Escala de títulos do site inteiro (31/10/2026) */
main .page-hero h1 { font-size: clamp(36px, 3.8vw, 54px) !important; line-height: 1.12 !important; }
main .intro-section h2, main .service-section h2, main .process-section h2,
main .home-blog > h2, main .home-blog .home-blog-heading h2, main .home-contact h2,
main .about-story h2, main .about-gallery h2, main .about-cta h2,
main .solutions-contact h2, main .contact-form-section h2 { font-size: clamp(28px, 2.9vw, 40px) !important; line-height: 1.15 !important; }
main .solutions-list .solution-row h2 { font-size: clamp(24px, 2.3vw, 32px) !important; }
/* Home: botão "Nossa história" como link discreto na faixa verde */
main .history-band a.history-button { background: transparent !important; color: #ffffff !important; border: 0 !important; border-bottom: 1px solid rgba(255,255,255,.55) !important; border-radius: 0; padding: 0 0 4px !important; height: auto !important; min-height: 0 !important; font-size: 14px; font-weight: 600; box-shadow: none !important; display: inline-flex; align-items: center; gap: 10px; }
main .history-band a.history-button span { color: #ffffff !important; }
main .history-band a.history-button:hover, main .history-band a.history-button:focus-visible { border-bottom-color: #ffffff !important; background: transparent !important; }
/* Cabeçalho: logo um pouco maior no computador */
@media (min-width: 1181px) { .site-header .brand img { width: 340px !important; height: auto !important; } }
/* Soluções: mesmo padrão das páginas concluídas (31/10/2026) */
main .solutions-list .solution-row { grid-template-columns: 1fr !important; }
main .solutions-contact { background: #ffffff !important; color: #33434a; border-top: 1px solid #dfe6e3; }
main .solutions-contact::before, main .solutions-contact::after { display: none !important; }
main .solutions-contact .eyebrow { color: #3b762f !important; }
main .solutions-contact h2 { color: #162631 !important; }
main .solutions-contact .button { background: #3b762f !important; color: #ffffff !important; border-color: #3b762f !important; }
main .solutions-contact .button span { color: #ffffff !important; }
main .solutions-contact .button:hover, main .solutions-contact .button:focus-visible { background: #2f5f26 !important; border-color: #2f5f26 !important; }
/* Sobre: Quem somos com pilares e mensagem (31/10/2026) */
main .about-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; }
main .about-pillar { background: #ffffff; border-top: 3px solid #569d41; padding: 26px 28px 28px; }
main .about-pillar:nth-child(2) { border-top-color: #3867af; }
main .about-pillar h3 { font-size: 18px; font-weight: 600; color: #162631; margin: 0 0 10px; line-height: 1.3; }
main .about-pillar p { font-size: 14px; line-height: 1.65; color: #55666d; margin: 0; }
main .about-message { margin: 48px 0 0; padding: 4px 0 4px 28px; border-left: 3px solid #569d41; max-width: 820px; }
main .about-message p { font-size: 19px; line-height: 1.6; color: #33434a; margin: 0 0 16px; }
main .about-message footer { display: flex; flex-direction: column; gap: 4px; }
main .about-message footer strong { font-size: 15px; font-weight: 600; color: #162631; }
main .about-message footer span { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #3b762f; }
@media (max-width: 900px) { main .about-pillars { grid-template-columns: 1fr; gap: 16px; margin-top: 32px; } main .about-message { margin-top: 36px; padding-left: 20px; } main .about-message p { font-size: 17px; } }
main .about-message footer { flex-direction: row !important; align-items: center; gap: 16px !important; }
main .about-message footer img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex: 0 0 64px; }
main .about-message footer div { display: flex; flex-direction: column; gap: 4px; }
@media (min-width: 981px) {
  main .about-story .about-grid { grid-template-columns: max-content 1fr !important; column-gap: 64px !important; align-items: center !important; }
  main .about-story .about-copy { max-width: 600px; justify-self: end; }
}
/* Sobre: fechamento com texto e botão próximos */
main .about-cta { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: flex-start !important; gap: 28px 72px; }
main .about-cta-text { max-width: 620px; }
main .about-cta-text p { font-size: 16px; line-height: 1.6; color: #55666d; margin: 14px 0 0; }
/* Home: topo só com a frase, intro alinhada como no Sobre, passos sem numeração (31/10/2026) */
main .home-hero { grid-template-columns: 1fr !important; }
main .home-hero .hero-content { max-width: none !important; width: 100%; }
main .home-hero h1 { max-width: 1000px !important; text-wrap: balance; }
@media (min-width: 981px) {
  main .intro-section .intro-grid { grid-template-columns: max-content 1fr !important; column-gap: 64px !important; align-items: center !important; }
  main .intro-section .intro-copy { max-width: 600px; justify-self: end; }
}
main .process-steps > div { grid-template-columns: 1fr !important; }
@media (min-width: 981px) { main .home-hero { padding-left: max(36px, calc((100% - 1240px) / 2 + 36px)) !important; padding-right: max(36px, calc((100% - 1240px) / 2 + 36px)) !important; } }
@media (min-width: 981px) {
  main .service-section .service-heading { display: grid !important; grid-template-columns: max-content 1fr !important; column-gap: 64px !important; align-items: center !important; }
  main .service-section .service-heading p { max-width: 600px; justify-self: end; margin: 0; }
}
/* Aviso de cookies com Aceitar / Recusar (31/10/2026) */
.cookie-notice .cookie-notice-actions { justify-content: flex-end !important; gap: 10px; }
.cookie-notice .cookie-decline { font: inherit; font-size: 13px; font-weight: 600; background: transparent; color: #33434a; border: 1px solid #c9d3d0; padding: 10px 18px; cursor: pointer; border-radius: 0; }
.cookie-notice .cookie-decline:hover, .cookie-notice .cookie-decline:focus-visible { border-color: #3b762f; color: #3b762f; }
/* Home: avaliações do Google (31/10/2026) */
main .reviews-section { padding-top: 64px; padding-bottom: 64px; }
main .reviews-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 32px; }
main .reviews-heading h2 { font-size: clamp(28px, 2.9vw, 40px) !important; line-height: 1.15 !important; color: #162631; margin: 0; }
main .reviews-heading h2 span { color: #3b762f; }
main .reviews-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
main .review-card { margin: 0; background: #ffffff; border-top: 3px solid #569d41; padding: 24px 24px 22px; display: flex; flex-direction: column; gap: 14px; }
main .review-card:nth-child(even) { border-top-color: #3867af; }
main .review-stars { color: #f4b400; letter-spacing: 2px; font-size: 16px; line-height: 1; }
main .review-card blockquote { margin: 0; font-size: 15px; line-height: 1.6; color: #33434a; flex: 1; }
main .review-card figcaption { display: flex; flex-direction: column; gap: 3px; }
main .review-card figcaption strong { font-size: 14px; font-weight: 600; color: #162631; }
main .review-card figcaption span { font-size: 12px; color: #7b8a90; }
@media (max-width: 1100px) { main .reviews-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px) { main .reviews-section { padding-top: 48px; padding-bottom: 48px; } }
@media (max-width: 640px) { main .reviews-grid { grid-template-columns: 1fr; } main .reviews-heading { flex-direction: column; align-items: flex-start; } }
main .reviews-section { padding-top: 0 !important; }
main .process-section { padding-bottom: 56px !important; }
