/* Hallmark · shape: Media Atlas / Operating Brief · genre: editorial · theme: brand · redesign: full
 * paper: oklch(96.98% 0.0062 137.8) · field: Centralcomm forest · signal: brand green · display: Inter · body: Inter · hero: Stage (/), Banner (/servicos) · nav: shared three-part · footer: shared mast · signature: real media formats and the service's working team
 * axes: paper-and-forest/grotesk-sans/brand-green · posture: committed · contrast: pass · fold: pass · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S4 R5 V4 · weakest: V, gave each page a distinct hero posture and content rhythm */
@import url("../tokens.css");
@import url("../base.css?v=20261110-click-fix-1");

html,
body {
    overflow-x: clip;
}

body.page-home,
body.page-servicos {
    background: var(--color-paper);
    color: var(--color-ink);
    font-family: var(--font-body);
}

body.page-home .container,
body.page-servicos .container {
    max-width: var(--container);
    padding-inline: var(--gutter);
}

body.page-home :focus-visible,
body.page-servicos :focus-visible {
    outline: 2px solid var(--color-focus);
    outline-offset: 3px;
}

body.page-home :is(a, button):active,
body.page-servicos :is(a, button):active {
    transform: translateY(1px);
}

body.page-home .navbar,
body.page-servicos .navbar {
    color: var(--color-field-ink);
    background: var(--color-field);
    border-bottom: 1px solid var(--color-field-2);
    box-shadow: none;
}

body.page-home #navbar,
body.page-servicos #navbar {
    color: var(--color-field-ink);
    background: var(--color-field);
}

body.page-home .navbar-home {
    background: var(--color-field);
}

body.page-home .nav-link,
body.page-servicos .nav-link {
    color: var(--color-field-ink);
}

body.page-home .nav-link:hover,
body.page-servicos .nav-link:hover {
    color: var(--color-accent-ink);
}

body.page-home .home-hero {
    min-height: calc(100svh - var(--nav-height, 64px));
    color: var(--color-field-ink);
    background: var(--color-field);
    overflow-x: clip;
}

body.page-home .home-hero::before {
    content: none;
}

body.page-home .home-hero__bg {
    background-color: var(--color-field);
    color: var(--color-field-ink);
}

body.page-home .home-hero {
    color: var(--color-field-ink);
}

body.page-home .home-hero.home-hero--agency-photo .home-hero__bg {
    background-color: var(--color-field);
    color: var(--color-field-ink);
}

body.page-home .home-hero__inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex: 1;
    align-items: center;
    width: 100%;
    padding-block: var(--space-xl);
}

body.page-home .home-hero__main {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    align-items: center;
    column-gap: var(--gap-columns);
    row-gap: var(--space-2xl);
    width: 100%;
}

body.page-home .home-hero__content {
    max-width: 44rem;
    padding: 0;
}

body.page-home .home-hero__title {
    max-width: 18ch;
    color: var(--color-field-ink);
    font-family: var(--font-display);
    font-size: clamp(2.6rem, 4.55vw, 4.6rem);
    font-weight: var(--display-weight);
    line-height: 1.02;
    letter-spacing: var(--tracking-display);
    overflow-wrap: break-word;
    min-width: 0;
    text-wrap: balance;
}

body.page-home .home-hero__title-accent,
body.page-home .home-why__title .text-primary,
body.page-home .home-canais__title .text-primary {
    color: inherit;
}

body.page-home .home-hero__lead--desktop {
    display: block;
}

body.page-home .home-hero__lead--mobile {
    display: none;
}

body.page-home .home-hero__lead {
    max-width: 47ch;
    margin-top: var(--space-lg);
    color: var(--color-paper-3);
    font-size: var(--text-lead);
    line-height: 1.5;
}

body.page-home .home-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    margin-top: var(--space-xl);
}

body.page-home .home-hero--media-composition .home-hero__actions .home-hero__btn-primary {
    min-height: 48px;
    border-radius: var(--radius-pill);
    color: var(--color-accent-ink) !important;
    background: var(--brand-primary, var(--color-accent)) !important;
    border: 1px solid var(--brand-primary, var(--color-accent)) !important;
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out);
}

body.page-home .home-hero--media-composition .home-hero__actions .home-hero__btn-primary:hover {
    color: var(--color-field) !important;
    background: var(--color-signal) !important;
    border-color: var(--color-signal) !important;
}

body.page-servicos .servicos-hero__actions .servicos-hero__btn--primary {
    min-height: 48px;
    border: 1px solid var(--color-action) !important;
    border-radius: var(--radius-pill);
    color: var(--color-action-ink) !important;
    background: var(--color-action) !important;
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 700;
    text-decoration: none;
}

body.page-servicos .servicos-hero__actions .servicos-hero__btn--primary:hover {
    color: var(--color-action-ink) !important;
    background: var(--brand-primary-hover, var(--color-accent)) !important;
    border-color: var(--brand-primary-hover, var(--color-accent)) !important;
}

body.page-home .home-hero__btn-secondary,
body.page-home .home-why .cc-btn-secondary,
body.page-home .home-cta-final .cc-btn-secondary,
body.page-servicos .servicos-hero__btn--secondary {
    min-height: 48px;
    border: 1px solid var(--color-rule);
    border-radius: var(--radius-pill);
    color: var(--color-field-ink);
    background: var(--color-transparent);
    font-size: var(--text-sm);
    font-weight: 650;
    text-decoration: none;
    transition: color var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out);
}

body.page-home .home-hero__btn-secondary:hover,
body.page-home .home-why .cc-btn-secondary:hover,
body.page-home .home-cta-final .cc-btn-secondary:hover,
body.page-servicos .servicos-hero__btn--secondary:hover {
    color: var(--color-field-ink) !important;
    background: var(--color-field-2);
    border-color: var(--color-paper-3);
}

body.page-home .home-hero__visual {
    width: 100%;
    max-width: 54rem;
    margin-inline: auto;
}

body.page-home .home-hero__figure {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: var(--color-transparent);
    box-shadow: none;
}

body.page-home .home-hero__figure::before,
body.page-home .home-hero__figure::after,
body.page-home .home-hero__visual::after {
    content: none;
}

body.page-home .home-hero__figure img {
    transform: none;
}

body.page-home .home-channel-bar {
    position: relative;
    z-index: 3;
    color: var(--color-field-ink);
    background: var(--color-field);
    border-top: 1px solid var(--color-field-2);
}

body.page-home .home-channel-bar__label {
    color: var(--color-field-ink);
    font-size: var(--text-sm);
    font-weight: 600;
    letter-spacing: normal;
    text-transform: none;
}

body.page-home .home-channel-bar__window,
body.page-home .home-clients__marquee {
    overflow-x: clip;
    scrollbar-width: none;
}

body.page-home .home-channel-bar__window::-webkit-scrollbar,
body.page-home .home-clients__marquee::-webkit-scrollbar {
    display: none;
}

body.page-home .home-channel-bar__window {
    overflow-x: clip;
    overflow-y: hidden;
}

body.page-home .home-channel-bar__window > .home-channel-bar__track {
    width: max-content;
    max-width: none;
    animation: homeMediaChannels 80s linear infinite !important;
}

@media (prefers-reduced-motion: reduce) {
    body.page-home .home-channel-bar__window > .home-channel-bar__track,
    body.page-home .home-clients__track {
        animation: none !important;
    }

    body.page-home .home-channel-bar__window {
        overflow-x: auto;
    }
}

/* Keep the client section introduction readable over its forest background. */
body.page-home .client-services .client-services__head > div > p {
    color: var(--color-paper-3);
}

/* A final cascade pass keeps the page's controls, reading contrast and grid rhythm coherent. */
body.page-home .home-stats__item,
body.page-home .home-stats__item:first-child {
    border: 0;
}

body.page-home .home-stats__item {
    padding: 12px 0;
}

body.page-home .home-vert__card-inner h3 {
    color: var(--color-ink);
}

body.page-home .home-vert__card-inner p {
    color: var(--color-copy-strong);
}

body.page-home .home-cta-final .cc-btn-primary {
    color: var(--color-action-ink);
    background: var(--color-action);
    border-color: var(--color-action);
}

body.page-home .home-cta-final .cc-btn-primary:hover {
    color: var(--color-action-ink);
    background: var(--brand-primary-hover, var(--color-accent));
    border-color: var(--brand-primary-hover, var(--color-accent));
}

body.page-home .home-cta-final .cc-btn-secondary {
    color: var(--color-field-ink);
    border-color: var(--color-paper-3);
    background: transparent;
}

/* The client resources section is a dark surface; its local text must stay light. */
body.page-home .client-services__head h2,
body.page-home .client-services__resource-heading h3 {
    color: var(--color-field-ink);
}

body.page-home .client-services__head p,
body.page-home .client-services__list p,
body.page-home .client-services__note {
    color: var(--color-paper-3);
}

body.page-home .home-why,
body.page-home .home-cta-final,
body.page-home .client-services {
    color: var(--color-field-ink);
    background: var(--color-field);
}

body.page-home .home-why p,
body.page-home .home-why .home-why__stat-desc {
    color: var(--color-paper-3);
}

body.page-home .home-why__grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: start;
    column-gap: clamp(3rem, 7vw, 7rem);
    row-gap: var(--space-xl);
}

body.page-home .home-why__title,
body.page-home .home-stats .cc-section-title,
body.page-home .home-canais__title,
body.page-home .home-vert .cc-section-title,
body.page-home .home-hub__header .cc-section-title,
body.page-home .client-services__head h2,
body.page-home .home-cta-final h2 {
    max-width: 26ch;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.3vw, 2.75rem);
    font-weight: var(--display-weight);
    line-height: 1.08;
    letter-spacing: var(--tracking-display);
    overflow-wrap: break-word;
    min-width: 0;
    text-wrap: balance;
}

body.page-home .home-why__title,
body.page-home .home-why__lead,
body.page-home .home-why__stats-kicker,
body.page-home .home-why__stat-desc {
    color: var(--color-field-ink);
}

body.page-home .home-why__title {
    max-width: 16ch;
    font-size: clamp(2.25rem, 4vw, 3.25rem);
    line-height: 1.04;
}

body.page-home .home-why__lead {
    max-width: 58ch;
    margin: var(--space-md) 0 0;
    color: var(--color-paper-3);
    font-size: var(--text-md);
    line-height: 1.65;
}

body.page-home .home-why__lead + .home-why__lead {
    margin-top: var(--space-sm);
}

body.page-home .home-why__cta {
    margin-top: var(--space-sm);
}

body.page-home .home-why .home-why__cta,
body.page-home .home-canais .home-canais__cta,
body.page-home .home-cta-final .cc-btn-primary {
    min-height: 48px;
    border: 1px solid var(--brand-primary, var(--color-accent));
    border-radius: var(--radius-pill);
    color: var(--color-accent-ink);
    background: var(--brand-primary, var(--color-accent));
    font-size: var(--text-sm);
    font-weight: 700;
    text-decoration: none;
    transition: color var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out);
}

body.page-home .home-why .home-why__cta:hover,
body.page-home .home-canais .home-canais__cta:hover,
body.page-home .home-cta-final .cc-btn-primary:hover {
    color: var(--color-field);
    background: var(--color-signal);
    border-color: var(--color-signal);
}

body.page-home .home-why__stats {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: var(--color-transparent);
    box-shadow: none;
}

body.page-home .home-why__stats-kicker {
    margin-bottom: var(--space-sm);
    font-size: var(--text-title);
    font-weight: 650;
    line-height: 1.25;
    letter-spacing: normal;
    text-transform: none;
}

body.page-home .home-why__stats-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--gap-columns);
    row-gap: 0;
}

body.page-home .home-why__stat {
    min-width: 0;
    padding-block: var(--space-sm);
    border-top: 1px solid var(--color-field-2);
}

body.page-home .home-why__stat-val,
body.page-home .home-why__stat-val--accent {
    color: var(--color-field-ink);
    font-family: var(--font-display);
    font-size: var(--text-2xl);
    font-variant-numeric: tabular-nums;
}

body.page-home .home-why__stat-desc {
    display: block;
    margin-top: var(--space-xs);
    color: var(--color-paper-3);
    font-size: var(--text-sm);
    line-height: 1.5;
}

body.page-home .home-clients:not(.home-hero__clients) {
    background: var(--color-paper-2);
}

body.page-home .home-clients__label {
    color: var(--color-ink-2);
    font-size: var(--text-sm);
    font-weight: 600;
    letter-spacing: normal;
    text-transform: none;
}

body.page-home .home-stats,
body.page-home .home-canais,
body.page-home .home-hub {
    color: var(--color-ink);
    background: var(--color-paper);
}

body.page-home .home-stats .cc-section-header,
body.page-home .home-vert .cc-section-header,
body.page-home .home-hub__header,
body.page-home .client-services__head,
body.page-home .home-cta-final__inner {
    align-items: flex-start;
    max-width: none;
    margin-inline: 0;
    text-align: left;
}

body.page-home .home-stats .cc-section-title,
body.page-home .home-vert .cc-section-title,
body.page-home .home-hub__title-row .cc-section-title,
body.page-home .client-services__head h2,
body.page-home .home-cta-final h2 {
    max-width: 24ch;
    margin-inline: 0;
    text-align: left;
}

body.page-home .home-stats .cc-section-lead,
body.page-home .home-vert .cc-section-lead,
body.page-home .home-hub__header .cc-section-lead,
body.page-home .client-services__head p,
body.page-home .home-cta-final p {
    margin-inline: 0;
    color: var(--color-ink-2);
    text-align: left;
}

body.page-home .home-stats .cc-section-header {
    max-width: none;
    margin-bottom: var(--space-xl);
    text-align: left;
}

body.page-home .home-stats .cc-section-title,
body.page-home .home-stats .cc-section-lead {
    color: var(--color-ink);
}

body.page-home .home-stats .cc-section-lead {
    max-width: 60ch;
    margin-top: var(--space-md);
    color: var(--color-muted);
    font-size: var(--text-md);
    line-height: 1.6;
}

body.page-home .home-stats__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
}

body.page-home .home-stats__item {
    padding: var(--space-sm) 0;
    text-align: left;
    border-top: 1px solid var(--color-rule);
}

body.page-home .home-stats__item:first-child {
    border-top: 1px solid var(--color-rule);
}

body.page-home .home-stats__item:not(:last-child)::after {
    content: none;
}

body.page-home .home-stats__item i {
    display: none;
}

body.page-home .home-stats__label {
    color: var(--color-muted);
    font-size: var(--text-sm);
    font-weight: 600;
    letter-spacing: normal;
    text-transform: none;
}

body.page-home .home-stats__num {
    color: var(--color-ink);
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.4vw, 3.5rem);
    font-weight: var(--display-weight);
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

body.page-home .home-stats__intro {
    margin-top: var(--space-xl) !important;
}

body.page-home .home-stats__intro .cc-btn-secondary {
    min-height: 48px;
    padding: 14px 24px;
    border: 1px solid var(--brand-primary);
    border-radius: var(--radius-pill);
    color: #fff;
    background: var(--brand-primary);
    font-weight: 700;
}

body.page-home .home-stats__intro .cc-btn-secondary:hover {
    color: #fff;
    background: var(--brand-primary-hover);
    border-color: var(--brand-primary-hover);
}

body.page-home .home-ambientes,
body.page-home .home-vert {
    color: var(--color-ink);
    background: var(--color-paper-2);
}

body.page-home .home-ambientes > .container {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    column-gap: clamp(3rem, 7vw, 7rem);
    row-gap: var(--space-xl);
    align-items: start;
}

body.page-home .home-ambientes .cc-section-header,
body.page-home .home-vert .cc-section-header {
    max-width: none;
    margin-bottom: var(--space-lg);
    text-align: left;
}

body.page-home .home-vert .cc-section-lead {
    margin-top: var(--space-sm);
}

body.page-home .home-ambientes .cc-section-title,
body.page-home .home-vert .cc-section-title,
body.page-home .home-vert .cc-section-lead {
    color: var(--color-ink);
}

body.page-home .home-ambientes .cc-section-header {
    grid-row: span 2;
    margin: 0;
    text-align: left;
}

body.page-home .home-ambientes .cc-section-title {
    max-width: 22ch;
    font-size: clamp(2rem, 3.2vw, 2.75rem);
    line-height: 1.05;
}

body.page-home .home-ambientes__grid {
    grid-template-columns: repeat(7, minmax(0, 1fr));
    width: 100%;
    max-width: none;
    margin: 0;
    gap: 0;
    border: 0;
}

body.page-home .home-ambientes__item {
    min-width: 0;
    min-height: 112px;
    padding: var(--space-lg) var(--space-xs);
    border: 0;
    color: var(--color-ink);
    background: var(--color-transparent);
}

body.page-home .home-ambientes__item .home-env__icon {
    color: var(--color-accent);
}

body.page-home .home-ambientes__item span {
    color: var(--color-ink);
    font-size: var(--text-sm);
    font-weight: 600;
}

body.page-home .home-ambientes__caption {
    grid-column: 2;
    max-width: none;
    margin: 0;
    text-align: left;
    color: var(--color-muted);
    line-height: 1.6;
}

body.page-home .home-canais__grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    column-gap: clamp(3rem, 7vw, 7rem);
}

body.page-home .home-canais__content .cc-eyebrow {
    display: none;
}

body.page-home .home-canais__title {
    color: var(--color-ink);
    max-width: 20ch;
    font-size: clamp(2rem, 3.4vw, 2.75rem);
    line-height: 1.05;
}

body.page-home .home-canais__lead {
    color: var(--color-ink-2);
    font-size: var(--text-md);
    line-height: 1.65;
}

body.page-home .home-canais__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--gap-columns);
    row-gap: 0;
}

body.page-home .home-canais__card {
    min-width: 0;
    min-height: 72px;
    padding: var(--space-md) 0;
    border: 0;
    border-top: 0;
    border-radius: 0;
    background: var(--color-transparent);
    box-shadow: none;
}

body.page-home .home-canais__card:hover {
    transform: none;
    background: var(--color-transparent);
}

body.page-home .home-canais__logo {
    width: 44px;
    height: 32px;
    object-fit: contain;
}

body.page-home .home-canais__name {
    color: var(--color-ink);
    font-weight: 700;
}

body.page-home .home-canais__reach {
    color: var(--color-muted);
}

body.page-home .home-canais__cta {
    grid-column: 2;
    justify-self: start;
    align-self: start;
    margin-top: 0;
}

body.page-home .home-vert .cc-section-lead {
    max-width: 60ch;
    margin-top: var(--space-md);
    color: var(--color-muted);
    line-height: 1.6;
}

body.page-home .home-vert__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: var(--gap-columns);
    row-gap: var(--space-lg);
}

body.page-home .home-vert__card {
    display: grid;
    grid-column: span 1;
    grid-template-rows: auto 1fr;
    min-width: 0;
    min-height: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    color: var(--color-ink);
    background: var(--color-transparent);
    box-shadow: none;
}

body.page-home .home-vert__card:hover {
    transform: none;
    box-shadow: none;
    background: var(--color-transparent);
}

body.page-home .home-vert__card img {
    position: static;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    opacity: 1;
    border-radius: var(--radius-card);
    transition: none;
}

body.page-home .home-vert__card-inner {
    display: block;
    padding: var(--space-md) 0 0;
}

body.page-home .home-vert__card-inner h3 {
    margin: 0;
    color: var(--color-ink);
    font-family: var(--font-display);
    font-size: var(--text-title);
    font-weight: 700;
    line-height: 1.25;
}

body.page-home .home-vert__card-inner p {
    max-width: 48ch;
    margin-top: var(--space-xs);
    color: var(--color-copy-on-muted);
    font-size: var(--text-md);
    line-height: 1.55;
}

body.page-home .home-vert__card:focus-visible {
    outline: 2px solid var(--color-focus);
    outline-offset: 4px;
}

body.page-home .home-hub__header {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    align-items: end;
    column-gap: var(--gap-columns);
    row-gap: var(--space-2xl);
    max-width: none;
    text-align: left;
}

body.page-home .home-hub__title-row .cc-eyebrow {
    display: none;
}

body.page-home .home-hub__header .cc-section-lead {
    max-width: 58ch;
    margin: 0;
    color: var(--color-muted);
    line-height: 1.6;
}

body.page-home .home-hub__phases,
body.page-home .home-hub__panel,
body.page-home .home-hub__visual {
    border-color: transparent;
}

body.page-home .home-cta-final {
    padding-block: var(--space-3xl);
}

body.page-home .home-cta-final__box {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: var(--color-transparent);
    box-shadow: none;
}

body.page-home .home-cta-final h2 {
    color: var(--color-field-ink);
}

body.page-home .home-cta-final p {
    max-width: 58ch;
    margin-top: var(--space-md);
    color: var(--color-paper-3);
    line-height: 1.6;
}

body.page-home .home-cta-final__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    margin-top: var(--space-lg);
}

body.page-home .home-cta-final .cc-btn-secondary,
body.page-home .home-why .cc-btn-secondary,
body.page-servicos .bg-gray-900 .cc-btn-secondary,
body.page-servicos .bg-black .cc-btn-secondary {
    color: var(--color-field-ink);
    border-color: var(--color-field-2);
}

body.page-home .home-cta-final .cc-btn-primary {
    color: var(--color-accent-ink);
    background: var(--brand-primary, var(--color-accent));
    border-color: var(--brand-primary, var(--color-accent));
}

@media (max-width: 48rem) {
    body.page-home .home-hero.home-hero--media-composition {
        min-height: 0;
        background: var(--color-field);
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__bg {
        background-color: var(--color-field);
        background-image: none;
        color: var(--color-field-ink);
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__bg::after,
    body.page-home .home-hero.home-hero--media-composition .home-hero__mobile-background {
        display: none !important;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__inner {
        min-height: 0;
        padding: calc(var(--nav-height, 64px) + var(--space-lg)) var(--gutter) var(--space-md);
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__main {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--space-lg);
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__content {
        align-items: flex-start !important;
        text-align: left;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__title {
        max-width: 20ch;
        color: var(--color-field-ink);
        font-size: clamp(2rem, 8vw, 2.5rem);
        line-height: 1.08;
        text-align: left !important;
    }

    body.page-home .home-hero__title-accent {
        color: inherit;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__lead--mobile {
        max-width: 36ch;
        margin: var(--space-md) 0 0 !important;
        color: var(--color-paper-3);
        text-align: left !important;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__actions {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        margin-top: var(--space-lg);
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__actions a {
        width: 100% !important;
        min-height: 48px;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__visual {
        display: block !important;
        width: 100%;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__figure {
        display: flex !important;
        width: 100%;
        justify-content: center;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero-media {
        width: min(100%, 25rem);
        height: auto;
        aspect-ratio: 12 / 13;
    }

    body.page-home .home-hero.home-hero--media-composition .home-channel-bar {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--space-sm) var(--space-md);
        padding: var(--space-md) var(--gutter);
    }

    body.page-home .home-hero.home-hero--media-composition .home-channel-bar__label {
        grid-column: 1 / -1;
        margin: 0;
    }

    body.page-home .home-hero.home-hero--media-composition .home-channel-bar__window {
        grid-column: 1;
    }

    body.page-home .home-why__grid,
    body.page-home .home-ambientes > .container,
    body.page-home .home-canais__grid {
        grid-template-columns: minmax(0, 1fr);
        row-gap: var(--space-xl);
    }

    body.page-home .home-why__stats {
        margin-top: var(--space-xl);
    }

    body.page-home .home-ambientes .cc-section-header {
        grid-row: auto;
    }

    body.page-home .home-ambientes__caption {
        grid-column: 1;
    }

    body.page-home .home-canais__cta {
        grid-column: 1;
        grid-row: auto;
        margin-top: 0;
    }

    body.page-home .home-canais__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.page-home .home-vert__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-xl) var(--gap-columns);
    }

    body.page-home .home-vert .cc-section-header {
        margin-bottom: var(--space-md);
    }

    body.page-home .home-channel-bar__window {
        display: block !important;
    }

    body.page-home .home-stats .cc-section-header,
    body.page-home .home-vert .cc-section-header,
    body.page-home .home-hub__header {
        align-items: flex-start;
        text-align: left;
    }

    body.page-home .home-stats .cc-section-title,
    body.page-home .home-vert .cc-section-title,
    body.page-home .home-hub__title-row .cc-section-title {
        text-align: left;
        margin-inline: 0;
    }
}

@media (max-width: 24rem) {
    body.page-home .home-hero.home-hero--media-composition .home-hero__inner,
    body.page-home .home-hero.home-hero--media-composition .home-channel-bar {
        padding-inline: var(--space-md);
    }

}

@media (min-width: 48.001rem) {
    body.page-home .home-channel-bar {
        display: grid;
    grid-template-columns: 9.375rem minmax(0, 1fr);
        align-items: center;
    }
}

body.page-servicos .servicos-hero {
    position: relative;
    isolation: isolate;
    min-height: clamp(560px, calc(100svh - var(--nav-height, 64px)), 760px);
    padding-block: 0;
    color: #fff;
    background: #071b10;
    overflow: clip;
}

body.page-servicos .servicos-hero__bg {
    display: block;
    z-index: 1;
    background: linear-gradient(90deg, rgba(7, 27, 16, .9) 0%, rgba(7, 27, 16, .72) 42%, rgba(7, 27, 16, .2) 100%), linear-gradient(0deg, rgba(7, 27, 16, .3), transparent 45%);
}

body.page-servicos .servicos-hero__image {
    inset: 0;
    width: 100%;
    z-index: 0;
    overflow: hidden;
}

body.page-servicos .servicos-hero__image img {
    width: 100%;
    height: 100%;
    min-height: 100%;
    opacity: .96;
    object-fit: cover;
    object-position: center 42%;
}

body.page-servicos .servicos-hero__inner {
    position: relative;
    z-index: 2;
    min-height: inherit;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
    text-align: left;
}

body.page-servicos .servicos-hero__content {
    width: min(62%, 46rem);
    max-width: 46rem;
    padding-block: var(--space-3xl);
}

body.page-servicos .servicos-hero__title {
    max-width: 16ch;
    color: #fff;
    font-family: var(--font-display);
    font-size: clamp(2.35rem, 3.8vw, 3.75rem);
    font-weight: var(--display-weight);
    line-height: 1.02;
    letter-spacing: var(--tracking-display);
    overflow-wrap: break-word;
    min-width: 0;
    text-wrap: balance;
}

body.page-servicos .servicos-hero__highlight {
    display: block;
    color: var(--brand-accent, #a9e8bd);
}

body.page-servicos .servicos-hero__lead {
    max-width: 48ch;
    margin: var(--space-lg) 0 0;
    color: #e4eee8;
    font-size: var(--text-lead);
    line-height: 1.5;
}

body.page-servicos .servicos-hero__actions {
    justify-content: flex-start;
    gap: var(--space-sm);
    margin-top: var(--space-xl);
}

body.page-servicos .servicos-hero__title {
    color: #fff;
}

body.page-servicos .servicos-hero__btn {
    min-height: 48px;
    padding: var(--space-sm) var(--space-lg);
}

body.page-servicos .servicos-hero__btn--secondary {
    color: #fff;
    border-color: rgba(255, 255, 255, .66);
    background: rgba(7, 27, 16, .2);
}

body.page-servicos .servicos-hero__btn--secondary:hover {
    color: #fff;
    border-color: #fff;
    background: rgba(255, 255, 255, .1);
}

body.page-servicos .page-subnav {
    position: relative;
    top: auto;
    z-index: var(--z-base);
    background: var(--color-paper);
    border-block: 1px solid var(--color-rule);
    box-shadow: none;
}

body.page-servicos .page-subnav a {
    color: var(--color-ink-2);
    font-size: var(--text-sm);
    font-weight: 600;
    letter-spacing: normal;
    text-transform: none;
}

body.page-servicos .solucoes-anchor-section:not(.servicos-hero) {
    padding-block: clamp(3.5rem, 7vw, 7rem) !important;
}

body.page-servicos .bg-white,
body.page-servicos .bg-surface,
body.page-servicos .bg-gray-50 {
    color: var(--color-ink);
    background: var(--color-paper) !important;
    border-color: var(--color-rule) !important;
}

body.page-servicos .bg-gray-900,
body.page-servicos .bg-black,
body.page-servicos .service-process {
    color: var(--color-field-ink);
    background: var(--color-field) !important;
}

body.page-servicos .bg-gray-900 :is(h1, h2, h3, h4, p, li, span),
body.page-servicos .bg-black :is(h1, h2, h3, h4, p, li, span),
body.page-servicos .service-process :is(h2, h3, p, li, span) {
    color: inherit;
}

body.page-servicos .servicos-section-head {
    max-width: none;
    margin: 0 0 var(--space-2xl);
    text-align: left;
}

body.page-servicos .servicos-section-head__title {
    max-width: 22ch;
    margin: 0;
    color: var(--color-ink);
    font-family: var(--font-display);
    font-size: var(--text-section);
    font-weight: var(--display-weight);
    line-height: 1.08;
    letter-spacing: var(--tracking-display);
    text-align: left;
    overflow-wrap: break-word;
    min-width: 0;
    text-wrap: balance;
}

body.page-servicos .servicos-section-head__lead {
    max-width: 62ch;
    margin: var(--space-md) 0 0;
    color: var(--color-muted);
    font-size: var(--text-md);
    line-height: 1.65;
}

body.page-servicos .servicos-beneficios,
body.page-servicos .servicos-escopo-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--gap-columns);
    row-gap: var(--space-lg);
}

body.page-servicos .servicos-beneficio-card,
body.page-servicos .servicos-escopo-card {
    min-width: 0;
    padding: var(--space-lg) 0;
    border: 0;
    border-top: 0;
    border-radius: var(--radius-card);
    color: var(--color-ink);
    background: var(--color-transparent);
    box-shadow: none;
}

body.page-servicos .servicos-beneficio-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-content: start;
    column-gap: var(--space-md);
}

body.page-servicos .service-benefit-mark,
body.page-servicos .service-scope-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    grid-row: span 2;
    width: 28px;
    height: 28px;
    color: var(--color-accent);
    background: var(--color-transparent);
    border: 0;
    border-radius: 0;
}

body.page-servicos .servicos-beneficio-card__title,
body.page-servicos .servicos-escopo-card__title {
    margin: 0;
    color: var(--color-ink);
    font-family: var(--font-display);
    font-size: var(--text-title);
    font-weight: 700;
    line-height: 1.25;
}

body.page-servicos .servicos-beneficio-card__desc,
body.page-servicos .servicos-escopo-card__desc {
    max-width: 56ch;
    margin-top: var(--space-xs);
    color: var(--color-ink-2);
    font-size: var(--text-md);
    line-height: 1.6;
}

body.page-servicos .service-scope-heading {
    display: flex;
    align-items: flex-start;
    gap: var(--space-md);
}

body.page-servicos .servicos-escopo-card__list {
    display: grid;
    gap: var(--space-xs);
    margin-top: var(--space-md);
    padding-left: 44px;
    color: var(--color-muted);
}

body.page-servicos .servicos-escopo-card__list i {
    color: var(--color-accent);
}

body.page-servicos .servicos-escopo-card:hover {
    transform: none;
    box-shadow: none;
}

body.page-servicos .service-process {
    padding-block: var(--space-4xl);
}

body.page-servicos .service-process__heading {
    grid-template-columns: minmax(0, 5fr) minmax(0, 4fr);
    column-gap: var(--gap-columns);
    row-gap: var(--space-lg);
}

body.page-servicos .service-process__heading h2 {
    max-width: 20ch;
    color: var(--color-field-ink);
    font-family: var(--font-display);
    font-size: var(--text-section);
    font-weight: var(--display-weight);
    line-height: 1.08;
    letter-spacing: var(--tracking-display);
}

body.page-servicos .service-process__heading > p,
body.page-servicos .service-process__text p {
    color: var(--color-paper-3);
}

body.page-servicos .service-process__grid {
    margin: 0;
    padding: 0;
    list-style: none;
    column-gap: var(--gap-columns);
    row-gap: var(--space-lg);
}

body.page-servicos .service-process__item,
body.page-servicos .service-process__item:nth-child(-n+2) {
    padding: var(--space-lg) 0;
    border-top: 1px solid var(--color-field-2);
    border-radius: 0;
    background: var(--color-transparent);
}

body.page-servicos .service-process__item:nth-child(-n+2) {
    grid-template-columns: minmax(0, 1fr);
}

body.page-servicos .service-process__art {
    display: none;
}

body.page-servicos .service-process__text h3 {
    margin-bottom: var(--space-sm);
    color: var(--color-field-ink);
    font-family: var(--font-display);
    font-weight: 700;
}

body.page-servicos .service-process__text p {
    max-width: 50ch;
    line-height: 1.65;
}

body.page-servicos .servicos-formatos-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: var(--gap-columns);
    row-gap: var(--space-md);
    align-items: start;
}

body.page-servicos .servicos-formato {
    padding: var(--space-lg) 0;
    border-top: 0;
    background: var(--color-transparent);
    align-self: start;
}

body.page-servicos .solucoes-anchor-section.border-t,
body.page-servicos .solucoes-anchor-section.border-b {
    border-block: 0 !important;
}

body.page-servicos #verticais a {
    border: 0 !important;
    box-shadow: none;
}

body.page-servicos .servicos-formato h3,
body.page-servicos .servicos-formato p {
    color: var(--color-ink);
}

body.page-servicos .servicos-formato h3 {
    min-height: 2.7em;
    font-size: 16px;
    line-height: 1.35;
}

body.page-servicos .servicos-formato p {
    color: var(--color-ink-2);
    line-height: 1.6;
}

body.page-servicos .servicos-faq,
body.page-servicos .media-faq {
    color: var(--color-ink);
    background: var(--color-paper-2);
}

body.page-servicos .servicos-faq :is(h2, h3, p),
body.page-servicos .media-faq :is(h2, h3, p) {
    color: inherit;
}

body.page-servicos :is(input, select, textarea) {
    min-height: 48px;
    border-color: var(--color-rule);
    border-radius: var(--radius-card);
    color: var(--color-ink);
    background: var(--color-paper);
    font-size: var(--text-md);
}

body.page-servicos :is(input, select, textarea):focus-visible {
    outline: 2px solid var(--color-focus);
    outline-offset: 2px;
}

body.page-home .site-footer,
body.page-servicos .site-footer,
body.page-home footer,
body.page-servicos footer {
    color: var(--color-field-ink);
    background: var(--color-field);
}

body.page-home footer :is(h2, h3, h4, p, a, li),
body.page-servicos footer :is(h2, h3, h4, p, a, li) {
    color: inherit;
}

@media (max-width: 60rem) {
    body.page-home .home-hero::before {
        width: 44%;
    }

    body.page-home .home-hero__main {
        grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
        column-gap: var(--gap-columns);
        row-gap: var(--space-xl);
    }

    body.page-home .home-why__grid,
    body.page-home .home-canais__grid,
    body.page-home .home-hub__header {
        grid-template-columns: minmax(0, 1fr);
        column-gap: var(--gap-columns);
        row-gap: var(--space-2xl);
    }

    body.page-home .home-why__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        column-gap: var(--space-2xl);
    }

    body.page-home .home-ambientes > .container {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
        column-gap: var(--space-2xl);
    }

    body.page-home .home-ambientes .cc-section-title {
        max-width: 22ch;
        font-size: clamp(2rem, 4vw, 2.75rem);
    }

    body.page-home .home-canais__grid {
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        column-gap: var(--space-2xl);
    }

    body.page-home .home-ambientes__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    body.page-home .home-canais__cta {
        grid-column: 1;
        grid-row: 2;
    }

    body.page-servicos .servicos-hero__inner {
        min-height: 480px;
    }

    body.page-servicos .servicos-hero__content {
        width: 52%;
    }

    body.page-servicos .service-process__heading {
        grid-template-columns: minmax(0, 1fr);
        column-gap: var(--gap-columns);
        row-gap: var(--space-lg);
    }
}

@media (max-width: 40rem) {
    body.page-home .home-why__grid,
    body.page-home .home-ambientes > .container,
    body.page-home .home-canais__grid {
        grid-template-columns: minmax(0, 1fr);
        row-gap: var(--space-xl);
    }

    body.page-home .home-why__title,
    body.page-home .home-canais__title,
    body.page-home .home-ambientes .cc-section-title {
        max-width: 22ch;
        font-size: clamp(2rem, 8vw, 2.75rem);
    }

    body.page-home .home-ambientes .cc-section-header {
        grid-row: auto;
    }

    body.page-home .home-ambientes__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.page-home .home-ambientes__item:nth-child(n) {
        border: 0;
    }

    body.page-home .home-ambientes__caption {
        grid-column: 1;
    }

    body.page-home .home-canais__cta {
        grid-column: 1;
        grid-row: auto;
        margin-top: var(--space-sm);
    }

    body.page-home .home-hero__title {
        max-width: 13ch;
        font-size: clamp(2.5rem, 12vw, 3.5rem);
    }

    body.page-home .home-hero__lead--desktop {
        display: none;
    }

    body.page-home .home-hero__lead--mobile {
        display: block;
    }

    body.page-home .home-hero__lead {
        margin-top: var(--space-md);
        font-size: var(--text-md);
    }

    body.page-home .home-hero__visual {
        width: 100%;
    }

    body.page-home .home-channel-bar {
        padding-inline: var(--gutter);
    }

    body.page-home .home-stats__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: var(--space-xl);
    }

    body.page-home .home-stats__item {
        padding: var(--space-sm) 0;
        border-top: 1px solid var(--color-rule);
    }

    body.page-home .home-stats__item:nth-child(odd) {
        padding-left: 0;
    }

    body.page-home .home-stats__item:nth-child(even)::after {
        content: none;
    }

    body.page-home .home-ambientes__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.page-home .home-ambientes__item:nth-child(even) {
        border: 0;
    }

    body.page-home .home-ambientes__item:nth-child(4) {
        border: 0;
    }

    body.page-home .home-ambientes__item:nth-child(n+3) {
        border: 0;
    }

    body.page-home .home-ambientes__item:nth-child(5) {
        border: 0;
    }

    body.page-home .home-canais__cards {
        grid-template-columns: minmax(0, 1fr);
    }

    body.page-home .home-vert__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.page-home .home-vert__card {
        grid-column: span 1;
        min-height: 0;
    }

    body.page-home .home-vert__card:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    body.page-home .home-vert__card:last-child:nth-child(odd) img {
        aspect-ratio: 16 / 8;
    }

    body.page-home .home-cta-final {
        padding-block: var(--space-3xl);
    }

    body.page-servicos .servicos-hero__image {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    body.page-servicos .servicos-hero__bg {
        display: block;
        background: linear-gradient(90deg, rgba(7, 27, 16, .88), rgba(7, 27, 16, .56) 58%, rgba(7, 27, 16, .34)), linear-gradient(0deg, rgba(7, 27, 16, .54), transparent 72%);
    }

    body.page-servicos .servicos-hero__image img {
        min-height: 100%;
    }

    body.page-servicos .servicos-hero__inner {
        min-height: calc(100svh - var(--nav-height, 64px));
        padding-block: 7rem 3rem;
    }

    body.page-servicos .servicos-hero__content {
        width: 100%;
        max-width: none;
        padding-block: 0;
    }

    body.page-servicos .servicos-hero__title {
        font-size: clamp(2.5rem, 12vw, 3.5rem);
    }

    body.page-servicos .servicos-beneficios,
    body.page-servicos .servicos-escopo-grid,
    body.page-servicos .servicos-formatos-list {
        grid-template-columns: minmax(0, 1fr);
        row-gap: var(--space-md);
    }

    body.page-servicos .servicos-beneficio-card {
        grid-template-columns: auto minmax(0, 1fr);
    }

    body.page-servicos .service-process__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.page-servicos .service-process__item,
    body.page-servicos .service-process__item:nth-child(-n+2) {
        grid-column: auto;
    }
}

@media (max-width: 40rem) {
    body.page-home .home-vert__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--space-xl);
    }

    body.page-home .home-vert__card:last-child:nth-child(odd) {
        grid-column: auto;
    }

    body.page-home .home-vert__card:last-child:nth-child(odd) img {
        aspect-ratio: 16 / 10;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__inner {
        padding-inline: var(--space-md);
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__title {
        font-size: clamp(1.875rem, 8.2vw, 2.25rem);
    }

    body.page-home .home-hero.home-hero--media-composition .home-channel-bar {
        padding-inline: var(--space-md);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.page-home *,
    body.page-servicos * {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Mobile hero: use the three campaign images as a single visual backdrop. */
@media (max-width: 768px) {
    body.page-home .home-hero.home-hero--media-composition {
        position: relative;
        isolation: isolate;
        min-height: 100svh;
        overflow: hidden;
        background: #071b10;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__bg {
        z-index: 0;
        background: #071b10;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__mobile-background {
        display: none !important;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__inner {
        display: flex;
        flex: 1 0 auto;
        align-items: flex-start;
        justify-content: flex-start;
        width: 100%;
        min-height: calc(100svh - var(--nav-height, 64px));
        padding: calc(var(--nav-height, 64px) + 22px) 20px 32px;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__main {
        position: static;
        display: block;
        width: 100%;
        min-height: 100%;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__visual {
        position: absolute;
        inset: 0;
        z-index: 0;
        display: block !important;
        width: auto;
        max-width: none;
        height: 100%;
        margin: 0;
        opacity: 1 !important;
        pointer-events: none;
        transform: none !important;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__visual::after {
        content: none;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero-media__piece img {
        filter: brightness(.42) saturate(.9);
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__figure,
    body.page-home .home-hero.home-hero--media-composition .home-hero-media {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        max-width: none;
        margin: 0;
        aspect-ratio: auto;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__figure {
        z-index: 0;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__content {
        position: relative;
        z-index: 3;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
        text-align: left;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__title {
        width: 100%;
        max-width: none;
        margin-inline: 0;
        color: #fff;
        font-size: clamp(29px, 7.7vw, 36px);
        line-height: 1.12;
        text-align: left;
        text-wrap: balance;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__title-accent {
        color: #a9e8bd;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__lead--mobile {
        width: 100%;
        max-width: none;
        margin: 16px 0 0 !important;
        color: #f1f7f3;
        font-size: 16px;
        line-height: 1.5;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
        max-width: none;
        margin: 24px 0 0;
        gap: 10px;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__actions > a {
        width: 100% !important;
        min-height: 48px;
        box-sizing: border-box;
    }

    body.page-home .home-hero.home-hero--media-composition .home-channel-bar {
        position: relative;
        z-index: 3;
        flex: 0 0 auto;
        width: 100%;
        margin-top: auto;
        border-top: 1px solid rgba(255, 255, 255, .2);
        background: rgba(7, 27, 16, .94);
    }
}

/* Keep the client section introduction readable over its forest background. */
body.page-home .client-services .client-services__head > div > p {
    color: var(--color-paper-3);
}

body.page-home .client-services .client-services__actions {
    text-align: left;
}

body.page-home .client-services .client-services__note {
    margin-inline: 0;
    text-align: left;
}

/* Homepage: ambientes em uma faixa destacada, após o título. */
body.page-home .home-ambientes > .container {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: clamp(1.25rem, 3vw, 2rem);
    align-items: start;
}

body.page-home .home-ambientes .cc-section-header {
    grid-row: auto;
    margin: 0;
}

body.page-home .home-ambientes .cc-section-title {
    max-width: 25ch;
}

body.page-home .home-ambientes__grid {
    grid-column: 1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    width: 100%;
    padding: clamp(0.75rem, 2vw, 1.25rem);
    box-sizing: border-box;
    border: 1px solid rgba(14, 91, 46, 0.12);
    border-radius: 1.25rem;
    background: #e5eee8;
}

body.page-home .home-ambientes__item,
body.page-home .home-ambientes__item:nth-child(n) {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    min-width: 0;
    min-height: 7rem;
    padding: 1rem 0.5rem;
    border: 0;
    border-radius: 0.875rem;
    background: rgba(255, 255, 255, 0.64);
    color: #0b2115;
    text-align: center;
    text-decoration: none;
    transition: background-color 160ms ease, transform 160ms ease;
}

body.page-home .home-ambientes__item:hover {
    background: #fff;
    transform: translateY(-2px);
}

body.page-home .home-ambientes__item:focus-visible {
    outline: 3px solid #147b3d;
    outline-offset: 3px;
}

body.page-home .home-ambientes__item .home-env__icon {
    width: 1.75rem;
    height: 1.75rem;
    color: #147b3d;
}

body.page-home .home-ambientes__item span {
    color: #102b1b;
    font-size: 0.875rem;
    font-weight: 650;
    line-height: 1.3;
    text-wrap: balance;
}

body.page-home .home-ambientes__caption {
    grid-column: 1;
    max-width: 68ch;
    margin: 0;
    color: #425b4b;
    font-size: 0.9375rem;
    line-height: 1.65;
    text-align: left;
}

/* CTA do hero: dimensões, contraste e alinhamento consistentes. */
body.page-home .home-hero.home-hero--media-composition .home-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

body.page-home .home-hero.home-hero--media-composition .home-hero__actions > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 3.5rem;
    padding: 0.875rem 1.75rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

body.page-home .home-hero.home-hero--media-composition .home-hero__actions .home-hero__btn-primary {
    color: #fff !important;
    background: #147b3d !important;
    border-color: #147b3d !important;
}

body.page-home .home-hero.home-hero--media-composition .home-hero__actions .home-hero__btn-primary:hover {
    color: #fff !important;
    background: #0d6330 !important;
    border-color: #0d6330 !important;
}

body.page-home .home-hero.home-hero--media-composition .home-hero__actions .home-hero__btn-secondary {
    color: #fff !important;
    background: rgba(7, 27, 16, 0.76) !important;
    border-color: rgba(255, 255, 255, 0.55) !important;
}

body.page-home .home-hero.home-hero--media-composition .home-hero__actions .home-hero__btn-secondary:hover {
    color: #071b10 !important;
    background: #fff !important;
    border-color: #fff !important;
}

@media (max-width: 767px) {
    body.page-home .home-ambientes__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.5rem;
        padding: 0.625rem;
        border-radius: 1rem;
    }

    body.page-home .home-ambientes__item,
    body.page-home .home-ambientes__item:nth-child(n) {
        min-height: 6.25rem;
        padding: 0.75rem 0.25rem;
    }

    body.page-home .home-ambientes__item span {
        font-size: 0.8125rem;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
        gap: 0.625rem;
    }

    body.page-home .home-hero.home-hero--media-composition .home-hero__actions > a {
        width: 100% !important;
        min-height: 3rem;
        padding: 0.75rem 1rem;
        font-size: 0.875rem;
    }
}

@media (max-width: 359px) {
    body.page-home .home-ambientes__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Canais: três colunas para facilitar a leitura do catálogo de logos. */
body.page-home .home-canais__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: clamp(0.75rem, 2vw, 1.5rem);
}

body.page-home .home-canais__card {
    min-width: 0;
    padding-inline: 0.5rem;
}

@media (max-width: 359px) {
    body.page-home .home-canais__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Ambientes em uma faixa aberta: ícone e nome, sem superfícies sobrepostas. */
body.page-home .home-ambientes{display:block!important}
body.page-home .home-ambientes__grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:24px 16px;
    padding:12px 0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
body.page-home .home-ambientes__item,
body.page-home .home-ambientes__item:nth-child(n){
    min-height:112px;
    padding:16px 4px;
    gap:16px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    transform:none;
}
body.page-home .home-ambientes__item:hover{background:transparent;transform:none}
body.page-home .home-ambientes__item:hover span{text-decoration:underline;text-underline-offset:5px}
body.page-home .home-ambientes__item .home-env__icon{width:36px;height:36px}
body.page-home .home-ambientes__item span{font-size:14px;line-height:1.4}
body.page-home .home-ambientes__caption{max-width:76ch}
@media(max-width:900px){
    body.page-home .home-ambientes__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 0}
    body.page-home .home-ambientes__item:nth-child(n){flex:0 0 25%}
}
@media(max-width:540px){
    body.page-home .home-ambientes__grid{padding:0;gap:12px 0}
    body.page-home .home-ambientes__item:nth-child(n){flex-basis:33.333%;min-height:100px;padding:12px 4px;gap:12px}
    body.page-home .home-ambientes__item .home-env__icon{width:30px;height:30px}
    body.page-home .home-ambientes__item span{font-size:13px}
}

/* Serviços: título, introdução e benefícios compartilham os mesmos eixos. */
body.page-servicos #resultados .servicos-section-head{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:var(--gap-columns);
    align-items:start;
    margin-bottom:36px;
    text-align:left;
}
body.page-servicos #resultados .servicos-section-head__title{margin:0;max-width:22ch;text-align:left}
body.page-servicos #resultados .servicos-section-head__lead{margin:0;max-width:none;text-align:left}
body.page-servicos #resultados .servicos-beneficios{align-items:stretch;row-gap:28px}
body.page-servicos #resultados .servicos-beneficio-card{
    display:grid;
    grid-template-columns:32px minmax(0,1fr);
    grid-template-rows:auto 1fr;
    align-items:start;
    align-content:start;
    column-gap:16px;
    row-gap:8px;
    padding:0;
    height:auto;
    text-align:left;
}
body.page-servicos #resultados .service-benefit-mark{grid-column:1;grid-row:1 / span 2;width:32px;height:32px;margin:0;align-self:start}
body.page-servicos #resultados .servicos-beneficio-card__title{grid-column:2;grid-row:1;margin:0;text-align:left}
body.page-servicos #resultados .servicos-beneficio-card__desc{grid-column:2;grid-row:2;margin:0;max-width:none;text-align:left}
@media(max-width:767px){
    body.page-servicos #resultados .servicos-section-head{grid-template-columns:minmax(0,1fr);gap:18px;margin-bottom:30px}
    body.page-servicos #resultados .servicos-beneficios{grid-template-columns:minmax(0,1fr);gap:28px}
}

/* Links de navegação permanecem estáveis durante pointerdown/pointerup. */
body.page-servicos #navbar :is(a,button):active,
body.page-home #navbar :is(a,button):active{transform:none}
body.cc-institutional-site #navbar .mega-visual-card::after{pointer-events:none}
/* Doze canais, em quatro linhas de três, inclusive no mobile. */
body.page-home .home-canais__cards{grid-template-columns:repeat(3,minmax(0,1fr))}
body.page-home .home-canais__card:nth-child(n){display:flex}
@media(max-width:540px){body.page-home .home-canais__cards{column-gap:8px;row-gap:10px}body.page-home .home-canais__card{padding-inline:2px}body.page-home .home-canais__name{font-size:13px}body.page-home .home-canais__reach{font-size:11px;line-height:1.4}}
/* Cada marca da faixa abre o detalhe do respectivo canal. */
body.page-home a.home-channel-bar__item{color:inherit;text-decoration:none;min-height:44px;cursor:pointer}
body.page-home a.home-channel-bar__item:hover{text-decoration:underline;text-underline-offset:5px}
body.page-home a.home-channel-bar__item:focus-visible{outline:2px solid #a9e8bd;outline-offset:-2px;border-radius:6px}
body.page-home .home-channel-bar__window:is(:hover,:focus-within) .home-channel-bar__track{animation-play-state:paused}
