@charset "UTF-8";
/*
Theme Name: Isa Engenharia
Template: tema-isa-proto
Author: Gamberine Comunicação Digital
Link: https://gamberine.com.br
Ano: 2026
*/

/* ==========================================================================
   FUNDACAO UTILITARIA CONSOLIDADA
   Origem: Tailwind CSS 3.4.17 e utilitarios consolidados do prototipo.
   ========================================================================== */
*,
:after,
:before {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgba(59, 130, 246, .5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgba(59, 130, 246, .5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

.px-5rem {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
}

/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/
*,
:after,
:before {
    box-sizing: border-box;
    border: 0 solid #e5e7eb
}

:after,
:before {
    --tw-content: ""
}

:host,
html {
    line-height: 1.4;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    font-family: ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent
}

body {
    min-height: 100dvh;
    margin: 0;
    overflow-x: hidden;
    background: var(--bg-default);
    color: var(--color-text);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.4;
    text-rendering: optimizeLegibility;
}

hr {
    height: 0;
    color: inherit;
    border-top-width: 1px
}

abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

/* h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit
} */

a {
    color: inherit;
    text-decoration: inherit
}

b,
strong {
    font-weight: bold;
}

code,
kbd,
pre,
samp {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
    font-feature-settings: normal;
    font-variation-settings: normal;
    font-size: 1rem;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -.25em;
}

sup {
    top: -.5em;
}

table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    margin: 0;
    padding: 0
}

button,
select {
    text-transform: none
}

button,
input:where([type=button]),
input:where([type=reset]),
input:where([type=submit]) {
    -webkit-appearance: button;
    appearance: button;
    background-color: transparent;
    background-image: none
}

:-moz-focusring {
    outline: auto
}

:-moz-ui-invalid {
    box-shadow: none
}

progress {
    vertical-align: baseline
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    appearance: textfield;
    outline-offset: -2px
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

summary {
    display: list-item
}

blockquote,
dd,
dl,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
pre {
    margin: 0
}

fieldset {
    margin: 0
}

fieldset,
legend {
    padding: 0
}

menu,
ol,
ul {
    list-style: none;
    margin: 0;
    padding: 0
}

dialog {
    padding: 0
}

textarea {
    resize: vertical
}

input::-moz-placeholder,
textarea::-moz-placeholder {
    opacity: 1;
    color: var(--color-text);
}

input::placeholder,
textarea::placeholder {
    opacity: 1;
    color: var(--color-text);
}

[role=button],
button {
    cursor: pointer;
}

:disabled {
    cursor: default;
}

audio,
canvas,
embed,
iframe,
img,
object,
svg,
video {
    display: block;
}

img,
video {
    max-width: 100%;
    height: auto
}

[hidden]:where(:not([hidden=until-found])) {
    display: none
}

[multiple],
[type=date],
[type=datetime-local],
[type=email],
[type=month],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
input:where(:not([type])),
select,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #fff;
    border-color: #6b7280;
    border-width: 1px;
    border-radius: 0;
    padding: .5rem .75rem;
    font-size: 1rem;
    line-height: 1.4rem;
    --tw-shadow: 0 0 #0000
}

[multiple]:focus,
[type=date]:focus,
[type=datetime-local]:focus,
[type=email]:focus,
[type=month]:focus,
[type=number]:focus,
[type=password]:focus,
[type=search]:focus,
[type=tel]:focus,
[type=text]:focus,
[type=time]:focus,
[type=url]:focus,
[type=week]:focus,
input:where(:not([type])):focus,
select:focus,
textarea:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
    --tw-ring-inset: var(--tw-empty,
            /*!*/
            /*!*/
        );
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: #2563eb;
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    border-color: #2563eb
}

input::-moz-placeholder,
textarea::-moz-placeholder {
    color: #6b7280;
    opacity: 1
}

input::placeholder,
textarea::placeholder {
    color: #6b7280;
    opacity: 1
}

::-webkit-datetime-edit-fields-wrapper {
    padding: 0
}

::-webkit-date-and-time-value {
    min-height: 1.5em;
    text-align: inherit
}

::-webkit-datetime-edit {
    display: inline-flex
}

::-webkit-datetime-edit,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-meridiem-field,
::-webkit-datetime-edit-millisecond-field,
::-webkit-datetime-edit-minute-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-second-field,
::-webkit-datetime-edit-year-field {
    padding-top: 0;
    padding-bottom: 0
}

select {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");
    background-position: right .5rem center;
    background-repeat: no-repeat;
    background-size: 1.5em 1.5em;
    padding-right: 2.5rem;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact
}

[multiple],
[size]:where(select:not([size="1"])) {
    background-image: none;
    background-position: 0 0;
    background-repeat: unset;
    background-size: initial;
    padding-right: .75rem;
    -webkit-print-color-adjust: unset;
    print-color-adjust: unset
}

[type=checkbox],
[type=radio] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    display: inline-block;
    vertical-align: middle;
    background-origin: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    flex-shrink: 0;
    height: 1rem;
    width: 1rem;
    color: #2563eb;
    background-color: #fff;
    border-color: #6b7280;
    border-width: 1px;
    --tw-shadow: 0 0 #0000
}

[type=checkbox] {
    border-radius: 0
}

[type=radio] {
    border-radius: 100%
}

[type=checkbox]:focus,
[type=radio]:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
    --tw-ring-inset: var(--tw-empty,
            /*!*/
            /*!*/
        );
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: #2563eb;
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
}

[type=checkbox]:checked,
[type=radio]:checked {
    border-color: transparent;
    background-color: currentColor;
    background-size: 100% 100%;
    background-position: 50%;
    background-repeat: no-repeat
}

[type=checkbox]:checked {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E")
}

@media (forced-colors:active) {
    [type=checkbox]:checked {
        -webkit-appearance: auto;
        -moz-appearance: auto;
        appearance: auto
    }
}

[type=radio]:checked {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")
}

@media (forced-colors:active) {
    [type=radio]:checked {
        -webkit-appearance: auto;
        -moz-appearance: auto;
        appearance: auto
    }
}

[type=checkbox]:checked:focus,
[type=checkbox]:checked:hover,
[type=radio]:checked:focus,
[type=radio]:checked:hover {
    border-color: transparent;
    background-color: currentColor
}

[type=checkbox]:indeterminate {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");
    border-color: transparent;
    background-color: currentColor;
    background-size: 100% 100%;
    background-position: 50%;
    background-repeat: no-repeat
}

@media (forced-colors:active) {
    [type=checkbox]:indeterminate {
        -webkit-appearance: auto;
        -moz-appearance: auto;
        appearance: auto
    }
}

[type=checkbox]:indeterminate:focus,
[type=checkbox]:indeterminate:hover {
    border-color: transparent;
    background-color: currentColor
}

[type=file] {
    background: unset;
    border-color: inherit;
    border-width: 0;
    border-radius: 0;
    padding: 0;
    font-size: unset;
    line-height: inherit
}

[type=file]:focus {
    outline: 1px solid ButtonText;
    outline: 1px auto -webkit-focus-ring-color
}

.fixed {
    position: fixed
}

.absolute {
    position: absolute
}

.relative {
    position: relative
}

.inset-0 {
    inset: 0
}

.-bottom-12 {
    bottom: -3rem
}

.-left-12 {
    left: -3rem
}

.-right-12 {
    right: -3rem
}

.-top-12 {
    top: -3rem
}

.bottom-0 {
    bottom: 0
}

.left-0 {
    left: 0
}

.top-0 {
    top: 0
}

.-z-0,
.z-0 {
    z-index: 0
}

.z-10 {
    z-index: 10
}

.z-20 {
    z-index: 20
}

.z-50 {
    z-index: 50
}

.order-1 {
    order: 1
}

.order-2 {
    order: 2
}

.col-span-1 {
    grid-column: span 1/span 1
}

.mx-auto {
    margin-left: auto;
    margin-right: auto
}

.mb-1 {
    margin-bottom: .25rem
}

.mb-10 {
    margin-bottom: 2.5rem
}

.mb-12 {
    margin-bottom: 3rem
}

.mb-16 {
    margin-bottom: 4rem
}

.mb-2 {
    margin-bottom: .5rem
}

.mb-20 {
    margin-bottom: 5rem
}

.mb-3 {
    margin-bottom: .75rem
}

.mb-4 {
    margin-bottom: 1rem
}

.mb-6 {
    margin-bottom: 1.5rem
}

.mb-8 {
    margin-bottom: 2rem
}

.mt-1 {
    margin-top: .25rem
}

.mt-12 {
    margin-top: 3rem
}

.mt-16 {
    margin-top: 4rem
}

.mt-24 {
    margin-top: 6rem
}

.mt-8 {
    margin-top: 2rem
}

.block {
    display: block
}

.inline-block {
    display: inline-block
}

.flex {
    display: flex
}

.inline-flex {
    display: inline-flex
}

.grid {
    display: grid
}

.hidden {
    display: none
}

.aspect-\[3\/4\] {
    aspect-ratio: 3/4
}

.aspect-\[4\/5\] {
    aspect-ratio: 4/5
}

.h-1 {
    height: .25rem
}

.h-12 {
    height: 3rem
}

.h-14 {
    height: 3.5rem
}

.h-2 {
    height: .5rem
}

.h-20 {
    height: 5rem
}

.h-24 {
    height: 6rem
}

.h-48 {
    height: 12rem
}

.h-6 {
    height: 1.5rem
}

.h-full {
    height: 100%
}

.min-h-screen {
    min-height: 100dvh
}

.w-12 {
    width: 3rem
}

.w-16 {
    width: 4rem
}

.w-2 {
    width: .5rem
}

.w-20 {
    width: 5rem
}

.w-48 {
    width: 12rem
}

.w-6 {
    width: 1.5rem
}

.w-auto {
    width: auto
}

.w-full {
    width: 100%
}

.max-w-2xl {
    max-width: 42rem
}

.max-w-3xl {
    max-width: 48rem
}

.max-w-screen-xl {
    max-width: var(--isa-content-width)
}

.max-w-sm {
    max-width: 24rem
}

.max-w-xl {
    max-width: 36rem
}

.max-w-xs {
    max-width: 20rem
}

.translate-y-4 {
    --tw-translate-y: 1rem
}

.transform,
.translate-y-4 {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.cursor-pointer {
    cursor: pointer
}

.resize {
    resize: both
}

.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr))
}

.flex-col {
    flex-direction: column
}

.flex-wrap {
    flex-wrap: wrap
}

.items-start {
    align-items: flex-start
}

.items-end {
    align-items: flex-end
}

.items-center {
    align-items: center
}

.justify-center {
    justify-content: center
}

.justify-between {
    justify-content: space-between
}

.gap-10 {
    gap: 2.5rem
}

.gap-16 {
    gap: 4rem
}

.gap-2 {
    gap: .5rem
}

.gap-24 {
    gap: 6rem
}

.gap-3 {
    gap: .75rem
}

.gap-4 {
    gap: 1rem
}

.gap-6 {
    gap: 1.5rem
}

.gap-8 {
    gap: 2rem
}

.space-y-10>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(2.5rem*(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2.5rem*var(--tw-space-y-reverse))
}

.space-y-3>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.75rem*(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.75rem*var(--tw-space-y-reverse))
}

.space-y-4>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem*(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem*var(--tw-space-y-reverse))
}

.space-y-5>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.25rem*(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.25rem*var(--tw-space-y-reverse))
}

.space-y-6>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem*(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem*var(--tw-space-y-reverse))
}

.space-y-8>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(2rem*(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2rem*var(--tw-space-y-reverse))
}

.overflow-hidden {
    overflow: hidden
}

.overflow-x-hidden {
    overflow-x: hidden
}

.scroll-smooth {
    scroll-behavior: smooth
}

.rounded-2xl {
    border-radius: 1rem
}

.rounded-3xl {
    border-radius: 1.5rem
}

.rounded-\[2\.5rem\] {
    border-radius: 2.5rem
}

.rounded-full {
    border-radius: .75rem
}

.rounded-lg {
    border-radius: .25rem
}

.rounded-md {
    border-radius: .375rem
}

.rounded-none {
    border-radius: 0
}

.rounded-xl {
    border-radius: .5rem
}

.rounded-base {
    border-radius: var(--border-radius-base);
}

.border {
    border-width: 1px
}

.border-0 {
    border-width: 0
}

.border-2 {
    border-width: 2px
}

.border-8 {
    border-width: 8px
}

.border-y {
    border-top-width: 1px
}

.border-b,
.border-y {
    border-bottom-width: 1px
}

.border-b-2 {
    border-bottom-width: 2px
}

.border-t {
    border-top-width: 1px
}

.border-outline-variant {
    --tw-border-opacity: 1;
    border-color: rgb(194 198 212/var(--tw-border-opacity, 1))
}

.border-outline-variant\/30 {
    border-color: rgba(194, 198, 212, .3)
}

.border-surface-container-highest {
    --tw-border-opacity: 1;
    border-color: rgb(221 226 243/var(--tw-border-opacity, 1))
}

.border-transparent {
    border-color: transparent
}

.border-white\/10 {
    border-color: hsla(0, 0%, 100%, .1)
}

.border-white\/20 {
    border-color: hsla(0, 0%, 100%, .2)
}

.border-white\/40 {
    border-color: hsla(0, 0%, 100%, .4)
}

.border-white\/5 {
    border-color: hsla(0, 0%, 100%, .05)
}

.bg-background {
    --tw-bg-opacity: 1;
    background-color: rgb(249 249 255/var(--tw-bg-opacity, 1))
}

.bg-on-surface {
    --tw-bg-opacity: 1;
    background-color: rgb(22 28 39/var(--tw-bg-opacity, 1))
}

.bg-primary {
    --tw-bg-opacity: 1;
    background-color: rgb(0 68 140/var(--tw-bg-opacity, 1))
}

.bg-primary\/5 {
    background-color: rgba(0, 68, 140, .05)
}

.bg-surface-container-low {
    --tw-bg-opacity: 1;
    background-color: rgb(241 243 255/var(--tw-bg-opacity, 1))
}

.bg-transparent {
    background-color: transparent
}

.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity, 1))
}

.bg-white\/95 {
    background-color: hsla(0, 0%, 100%, .95)
}

.bg-gradient-to-t {
    background-image: linear-gradient(to top, var(--tw-gradient-stops))
}

.from-on-surface {
    --tw-gradient-from: #161c27 var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(22, 28, 39, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.via-on-surface\/20 {
    --tw-gradient-to: rgba(22, 28, 39, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), rgba(22, 28, 39, .2) var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.to-transparent {
    --tw-gradient-to: transparent var(--tw-gradient-to-position)
}

.bg-cover {
    background-size: cover
}

.bg-center {
    background-position: 50%
}

.fill-white {
    fill: #fff
}

.object-contain {
    -o-object-fit: contain;
    object-fit: contain
}

.object-cover {
    -o-object-fit: cover;
    object-fit: cover
}

.p-12 {
    padding: 3rem
}

.p-16 {
    padding: 4rem
}

.p-4 {
    padding: 1rem
}

.p-6 {
    padding: 1.5rem
}

.p-8 {
    padding: 2rem
}

.px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem
}

.px-12 {
    padding-left: 3rem;
    padding-right: 3rem
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem
}

.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem
}

.px-7 {
    padding-left: 1.75rem;
    padding-right: 1.75rem
}

.px-margin-desktop {
    padding-left: 0;
    padding-right: 0
}

.py-2 {
    padding-top: .5rem;
    padding-bottom: .5rem
}

.py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem
}

.py-3 {
    padding-top: .75rem;
    padding-bottom: .75rem
}

.py-32 {
    padding-top: 8rem;
    padding-bottom: 8rem
}

.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem
}

.py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem
}

.pt-10 {
    padding-top: 2.5rem
}

.pt-20 {
    padding-top: 5rem
}

.pt-4 {
    padding-top: 1rem
}

.pt-8 {
    padding-top: 2rem
}

.text-center {
    text-align: center
}

.font-body-md {
    font-family: Inter
}

.font-display-lg,
.font-headline-lg {
    margin-top: 0 !important;
    font-family: var(--font-title)
}

.font-label-sm {
    font-family: Inter
}

.font-title-md {
    font-family: Hanken Grotesk
}

.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem
}

.text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem
}

.text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem
}

.text-5xl {
    font-size: 3rem;
    line-height: 1
}

.text-6xl {
    font-size: 3.75rem;
    line-height: 1
}

.text-base {
    font-size: 1rem;
    line-height: 1.4.5rem
}

.text-lg {
    font-size: 1.1rem;
    line-height: 1.45rem
}

.text-sm {
    font-size: .85rem;
    line-height: 1.25rem
}

.text-xl {
    font-size: 1.2rem;
    line-height: 1.45rem
}

.text-xs {
    font-size: .75rem;
    line-height: 1rem
}

.font-black {
    font-weight: 800
}

.font-bold {
    font-weight: 600
}

.font-medium {
    font-weight: 500
}

.font-semibold {
    font-weight: 600
}

.uppercase {
    text-transform: uppercase
}

.leading-\[1\.1\] {
    line-height: 1.1
}

.leading-relaxed {
    line-height: 1.45
}

.leading-tight {
    line-height: 1.25
}

.tracking-\[0\.2em\] {
    letter-spacing: .2em
}

.tracking-\[0\.3em\] {
    letter-spacing: .3em
}

.tracking-tight {
    letter-spacing: -.025em
}

.tracking-wide {
    letter-spacing: .025em
}

.tracking-widest {
    letter-spacing: .1em
}

.text-on-surface {
    --tw-text-opacity: 1;
    color: rgb(22 28 39/var(--tw-text-opacity, 1))
}

.text-on-surface-variant {
    --tw-text-opacity: 1;
    color: rgb(66 71 82/var(--tw-text-opacity, 1))
}

.text-primary {
    --tw-text-opacity: 1;
    color: rgb(var(--color-primary-rgb)/var(--tw-text-opacity, 1))
}

.text-primary-fixed-dim {
    --tw-text-opacity: 1;
    color: rgb(170 199 255/var(--tw-text-opacity, 1))
}

.text-surface-variant {
    --tw-text-opacity: 1;
    color: rgb(221 226 243/var(--tw-text-opacity, 1))
}

.text-surface-variant\/80 {
    color: rgba(221, 226, 243, .8)
}

.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255/var(--tw-text-opacity, 1))
}

.text-white\/80 {
    color: hsla(0, 0%, 100%, .8)
}

.opacity-0 {
    opacity: 0
}

.opacity-40 {
    opacity: .4
}

.opacity-60 {
    opacity: .6
}

.opacity-90 {
    opacity: .9
}

.shadow-2xl {
    --tw-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color)
}

.shadow-2xl,
.shadow-lg {
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-lg {
    --tw-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color)
}

.shadow-sm {
    --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color)
}

.shadow-sm,
.shadow-xl {
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-xl {
    --tw-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color)
}

.outline-none {
    outline: 2px solid transparent;
    outline-offset: 2px
}

.brightness-0 {
    --tw-brightness: brightness(0)
}

.brightness-0,
.invert {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.invert {
    --tw-invert: invert(100%)
}

.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.backdrop-blur-md {
    --tw-backdrop-blur: blur(12px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}

.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s
}

.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s
}

.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s
}

.transition-opacity {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s
}

.transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s
}

.duration-1000 {
    transition-duration: 1s
}

.duration-500 {
    transition-duration: .5s
}

.placeholder\:text-on-surface-variant\/40::-moz-placeholder {
    color: rgba(66, 71, 82, .4)
}

.placeholder\:text-on-surface-variant\/40::placeholder {
    color: rgba(66, 71, 82, .4)
}

.hover\:translate-y-\[-2px\]:hover {
    --tw-translate-y: -2px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:border-primary:hover {
    --tw-border-opacity: 1;
    border-color: rgb(0 68 140/var(--tw-border-opacity, 1))
}

.hover\:border-white:hover {
    --tw-border-opacity: 1;
    border-color: rgb(255 255 255/var(--tw-border-opacity, 1))
}

.hover\:bg-on-primary-fixed-variant:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(0 69 142/var(--tw-bg-opacity, 1))
}

.hover\:bg-primary:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(0 68 140/var(--tw-bg-opacity, 1))
}

.hover\:bg-white:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity, 1))
}

.hover\:text-primary:hover {
    --tw-text-opacity: 1;
    color: rgb(0 68 140/var(--tw-text-opacity, 1))
}

.hover\:text-primary-fixed-dim:hover {
    --tw-text-opacity: 1;
    color: rgb(170 199 255/var(--tw-text-opacity, 1))
}

.hover\:text-white:hover {
    --tw-text-opacity: 1;
    color: rgb(255 255 255/var(--tw-text-opacity, 1))
}

.hover\:shadow-primary\/20:hover {
    --tw-shadow-color: rgba(0, 68, 140, .2);
    --tw-shadow: var(--tw-shadow-colored)
}

.focus\:border-primary:focus {
    --tw-border-opacity: 1;
    border-color: rgb(0 68 140/var(--tw-border-opacity, 1))
}

.focus\:ring-0:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.active\:scale-90:active {
    --tw-scale-x: .9;
    --tw-scale-y: .9
}

.active\:scale-90:active,
.active\:scale-95:active {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.active\:scale-95:active {
    --tw-scale-x: .95;
    --tw-scale-y: .95
}

.group\/btn:hover .group-hover\/btn\:translate-x-1 {
    --tw-translate-x: 0.25rem
}

.group:hover .group-hover\:translate-y-0,
.group\/btn:hover .group-hover\/btn\:translate-x-1 {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:translate-y-0 {
    --tw-translate-y: 0px
}

.group:hover .group-hover\:scale-110 {
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:bg-primary {
    --tw-bg-opacity: 1;
    background-color: rgb(0 68 140/var(--tw-bg-opacity, 1))
}

.group:hover .group-hover\:text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255/var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:opacity-100 {
    opacity: 1
}

@media (min-width:640px) {
    .sm\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media (min-width:768px) {
    .md\:col-span-1 {
        grid-column: span 1/span 1
    }

    .md\:col-span-2 {
        grid-column: span 2/span 2
    }

    .md\:block {
        display: block
    }

    .md\:flex {
        display: flex
    }

    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .md\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }

    .md\:flex-row {
        flex-direction: row
    }
}

@media (min-width:1024px) {
    .lg\:order-1 {
        order: 1
    }

    .lg\:order-2 {
        order: 2
    }

    .lg\:w-2\/5 {
        width: 40%
    }

    .lg\:w-3\/5 {
        width: 60%
    }

    .lg\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .lg\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }

    .lg\:flex-row-reverse {
        flex-direction: row-reverse
    }
}


/* ==========================================================================
   ESTILOS AUTORAIS E SOBRESCRITAS DO TEMA
   ========================================================================== */

html {
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--header-height) + 1rem);
}

body.admin-bar #main-header {
    top: 32px;
}

footer img.object-contain {
    max-width: 80%;
}

section.cta {
    background: var(--color-text);
}

/* ----- menu ----- */
header.fixed.top-0.w-full.z-50.transition-header.border-b.border-transparent.bg-transparent nav li.menu-item:not(.current-menu-item) {
    color: var(--color-white);
}

header.fixed.top-0.w-full.z-50.transition-header.border-b.border-transparent.bg-transparent nav li.menu-item.menu-item-type-post_type.menu-item-object-page.current-menu-item {
    color: var(--color-accent);
}

li.menu-item.menu-item-type-post_type.menu-item-object-page.current-menu-item {
    color: var(--color-primary);
}

.isa-nav-list>li.menu-item>a.nav-link {
    position: relative;
}

.isa-nav-list>li.menu-item>a.nav-link::after {
    content: "";
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    width: min(100%, 40px);
    height: 2px;
    background-color: var(--color-primary);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .35s ease;
    pointer-events: none;
}

.isa-nav-list>li.menu-item:is(.current-menu-item, .current_page_item)>a.nav-link::after,
.isa-nav-list>li.menu-item:not(.current-menu-item):not(.current_page_item)>a.nav-link:hover::after,
.isa-nav-list>li.menu-item:not(.current-menu-item):not(.current_page_item)>a.nav-link:focus-visible::after {
    transform: scaleX(1);
}

header.fixed.top-0.w-full.z-50.transition-header.border-b.border-transparent.bg-transparent .isa-nav-list>li.menu-item:is(.current-menu-item, .current_page_item)>a.nav-link::after {
    background-color: var(--color-accent);
}

.text-accent {
    color: var(--color-accent);
}

.material-symbols-outlined {
    font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

.isa-contact-item i.fi-brands-whatsapp {
    color: var(--color-accent-light);
    font-size: 1.4rem;
}

.transition-header {
    transition: var(--transition-header);
}

.isa-header-logo {
    width: auto;
    height: 4rem;
}

.nav-link {
    font-size: .85rem;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none;
    transition: color .2s ease;
}

.isa-nav-list>li {
    margin: 0;
    list-style: none;
    border: none;
}

@media(max-width:1249px) {
    .isa-mobile-menu li.isa-button.isa-button--primary {
        background: transparent;
        border: none;
        padding: initial;
        font-weight: unset;
        width: 100%;
    }
}


.isa-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: var(--border-radius-md);
    padding: 0 2rem;
    font-weight: 300;
    font-size: .85rem !important;
    text-decoration: none;
    transition: transform .2s ease, background .2s ease, color .2s ease;
    min-height: 2.875rem;
    gap: .5rem;
    box-shadow: 0 5px 14px rgba(24, 37, 61, .12);
    letter-spacing: .01em;
    width: max-content;
}

a.isa-button.isa-button--outline,
.isa-button.rounded-md {
    border: 1px solid #ffffffab;
    border-radius: var(--border-radius-md) !important;
}

a.isa-button.isa-button--light.hero__button.btn.btn-light {
    font-weight: 600 !important;
}

a.isa-button.isa-button--light.hero__button.btn.btn-light:hover {
    color: var(--color-primary-hover) !important;
    transform: translateY(-2px);
    transition: var(--transition);
}

.isa-button:hover {
    box-shadow: 0 8px 18px rgba(24, 37, 61, .18);
    transform: translateY(-2px);
}

.isa-button--primary {
    background: var(--color-primary);
    color: var(--color-white);
}

.isa-button--primary:hover,
.isa-button--primary:focus-visible {
    background: var(--color-primary-hover);
    color: var(--color-white);
}

.isa-button--outline {
    border-color: var(--color-white);
    color: var(--color-white);
}

.isa-button--outline-dark {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.isa-button--outline-dark:hover,
.isa-button--outline-dark:focus-visible {
    background: var(--color-primary);
    color: var(--color-white);
}

.isa-button--outline:hover {
    background: var(--color-white);
    color: var(--color-primary);
}

.isa-button--large {
    padding: 1rem 3rem;
}

.isa-desktop-menu {
    display: none;
}

.isa-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: var(--color-primary);
    color: var(--color-white);
    border-radius: var(--border-radius-base);
    width: 3rem;
    height: 3rem;
}

.isa-mobile-menu {
    padding: 2rem;
    background: #bdc9d691;
    box-shadow: var(--shadow-sm);
    list-style: none !important;
    position: fixed;
    width: 100%;
    height: -webkit-fill-available;
    top: 0;
    align-items: center;
    text-align: center;
}

.isa-mobile-menu a {
    display: block;
    padding: .75rem 0;
    color: var(--color-text);
    text-decoration: none;
    font-weight: 600;
}

@media(min-width:1250px) {
    .isa-desktop-menu {
        display: flex;
        list-style: none !important;
        transition: var(--transition);
    }

    .isa-menu-toggle,
    .isa-mobile-menu {
        display: none !important;
    }

    .isa-desktop-menu li:hover {
        transform: translateY(-2px);
    }
}

.hero-banner {
    position: relative;
    height: min(100dvh, 1080px);
    min-height: 640px;
    background: var(--color-text);
    isolation: isolate;
}

.hero-banner-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(22, 28, 39, .94), rgba(22, 28, 39, .75) 35%, rgba(22, 28, 39, .08) 75%);
}

.hero-content {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
}

.isa-section-kicker {
    color: var(--color-accent);
    font-size: .875rem;
    font-weight: 600;
    text-transform: uppercase;
    display: block;
    text-shadow: var(--text-shadow);
}

.hero-title {
    max-width: 880px;
    color: var(--color-white);
    font-family: var(--font-title);
    font-size: clamp(2rem, 4dvw, 4rem);
    font-weight: 600;
    line-height: .98;
    letter-spacing: -.05em;
}

.hero-description {
    max-width: 880px;
    color: rgba(var(--color-white-rgb), .84);
    font-size: clamp(1rem, 1.4dvw, 1.3rem);
    line-height: 1.3;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    padding-top: 1rem;
}

.isa-years-badge {
    position: absolute;
    right: -3rem;
    bottom: -3rem;
    z-index: 20;
    display: grid;
    padding: 3rem;
    border-radius: var(--border-radius-base);
    background: var(--color-primary);
    color: var(--color-white);
    text-align: center;
    box-shadow: var(--shadow-lg);
}

.isa-years-badge strong {
    font-size: 4rem;
    line-height: 1;
}

.isa-years-badge span {
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.isa-feature {
    display: flex;
    gap: 1rem;
    padding: 1.5rem;
    border-radius: var(--border-radius-base);
    background: var(--bg-light);
}

.isa-feature>span {
    color: var(--color-primary);
    font-size: 2rem;
}

.isa-feature h3 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
}

.isa-feature p {
    margin: .3rem 0 0;
    color: var(--color-text-muted);
    font-size: .875rem;
}

.isa-sector-card {
    position: relative;
    overflow: hidden;
    aspect-ratio: 3/4;
    border-radius: var(--border-radius-base);
    box-shadow: var(--shadow-lg);
}

.isa-sector-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.1);
    transition: transform .8s ease;
}

.isa-sector-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(22, 28, 39, .95), transparent 65%);
}

.isa-sector-card>div {
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 2rem;
    color: var(--color-white);
    transform: translateY(2.5rem);
    transition: transform .4s ease;
    min-height: 170px;
}

.isa-sector-card h3 {
    font-size: 1.5rem;
    color: var(--color-white);
    text-shadow: 1px 1px 5px black;
    margin-bottom: 1rem;
}

.isa-sector-card p {
    opacity: 0;
    font-size: .9rem;
    text-shadow: 1px 1px 5px black;
    transition: opacity .4s ease;
}

.isa-sector-card:hover img {
    transform: scale(1.09);
    filter: brightness(0.6) contrast(1.2);
    transition: transform .8s ease;
}

#sectors .grid:has(> .isa-sector-card:hover)>.isa-sector-card:not(:hover) {
    transform: scale(.99);
    filter: grayscale(.8) blur(1px);
    transition: var(--transition);
}

.isa-sector-card:hover>div {
    transform: none;
}

.isa-sector-card:hover p {
    opacity: 1;
}

.isa-service-card {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    overflow: hidden;
    padding: 2rem;
    border-radius: var(--border-radius-base);
    background: var(--bg-light);
}

.isa-service-card::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--color-primary);
    transform: scaleX(0);
    transform-origin: left;
    transition: var(--transition);
}

.isa-service-card:hover::after {
    transform: scaleX(1);
}

.isa-service-icon {
    display: grid;
    place-items: center;
    width: 5rem;
    height: 5rem;
    margin-bottom: 2.5rem;
    border-radius: var(--border-radius-base);
    background: var(--color-white);
    color: var(--color-primary);
}

.isa-service-card h3 {
    margin-bottom: 1.5rem;
    font-family: var(--font-title);
    font-size: 1.5rem;
}

.isa-service-card p,
.isa-service-card li {
    color: var(--color-text-muted);
    line-height: 1.4;
}

.isa-service-card ul {
    padding: 0;
    margin: 2rem 0;
    list-style: none;
}

.isa-service-card li::before {
    content: "";
    display: inline-block;
    width: .5rem;
    height: .5rem;
    margin-right: .75rem;
    border-radius: var(--border-radius-full);
    background: var(--color-primary);
}

.isa-service-card>a {
    color: var(--color-primary);
    font-weight: 600;
    text-decoration: none;
}

#partners {
    background: var(--color-primary) !important;
}

#partners .carousel-container {
    overflow: hidden;
    padding-block: 16px;
    width: 100%;
}

#partners .carousel-track {
    display: flex;
    width: 100%;
    padding-block: 0 1rem;
    will-change: transform;
    transition: transform 300ms cubic-bezier(0.25, 1, 0.5, 1);
}

.isa-partners-item {
    flex: 0 0 25%;
    min-width: 0;
    padding: 0 clamp(8px, 1dvw, 16px);
    box-sizing: border-box;
}

#partners .isa-partner-card {
    display: flex;
    padding: 1rem;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1;
    overflow: hidden;
    border: 4px solid var(--color-accent-light);
    border-radius: var(--border-radius-base);
    box-shadow: var(--shadow-md);
    background: var(--color-primary);
    text-decoration: none;
    cursor: default;
    transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

#partners a.isa-partner-card {
    cursor: pointer;
}

#partners .isa-partner-card.is-active {
    border-color: #ffffff;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.45);
    transform: translateY(-4px) scale(1.02);
    z-index: 2;
}

#partners .isa-partner-card:hover,
#partners .isa-partner-card:focus-visible {
    background: #292d32;
    text-decoration: none;
}

#partners .isa-partner-card:focus-visible {
    outline: 2px solid white;
    outline-offset: -2px;
}

.isa-partner-card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media (max-width: 1249px) {
    .isa-partners-item {
        flex-basis: 50%;
    }
}

@media (prefers-reduced-motion: reduce) {
    #partners .carousel-track {
        transition: none;
    }

    .isa-partners-item {
        transition: none;
    }
}

.carousel-container {
    overflow: hidden;
}

.carousel-track {
    display: flex;
    transition: var(--transition);
}

.carousel-item {
    flex: 0 0 100%;
}

.logo-filter {
    width: 237px;
    height: 100px;
    object-fit: contain;
    border: 5px solid rgba(247, 247, 247, .15);
    border-radius: var(--border-radius-base);
    box-shadow: var(--shadow-md);
    transition: var(--transition);
}

.logo-filter:hover {
    transform: scale(1.04);
}

.isa-carousel-dots {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: .25rem;
    margin-top: 1rem;
}

.isa-carousel-dots[hidden] {
    display: none;
}

.isa-carousel-dot {
    box-sizing: content-box;
    width: .625rem;
    height: .625rem;
    padding: .4375rem;
    border: none;
    border-radius: 50%;
    background: #ffffff4f;
    background-clip: content-box;
    cursor: pointer;
    transition: var(--transition);
}

.isa-carousel-dot:hover,
.isa-carousel-dot.is-active {
    background-color: var(--color-white);
    background-clip: content-box;
}

.isa-carousel-dot:hover {
    background: var(--color-white) content-box !important;
    transform: scale(1.2);
}

.isa-contact-card {
    display: flex;
    flex-direction: row-reverse;
    overflow: hidden;
    border: none;
    border-radius: var(--border-radius-base);
    background: var(--bg-surface);
    box-shadow: none;
}

.isa-contact-info {
    display: flex;
    flex: 0 0 40%;
    flex-direction: column;
    justify-content: space-between;
    padding: 2.5rem;
    background: var(--color-presence-deep);
    color: var(--color-white);
}

.isa-contact-info h2 {
    margin-bottom: 2rem;
    font-family: var(--font-title);
    font-size: clamp(2rem, 3dvw, 2.2rem);
    line-height: 1.25;
}

.isa-contact-item {
    display: flex;
    gap: .75rem;
}

.isa-contact-item>span {
    color: var(--color-accent-light);
    font-size: 1.8rem;
}

.isa-contact-item strong {
    display: block;
    font-size: 1.1rem;
}

.isa-contact-item p {
    margin: .4rem 0 0;
    color: var(--color-text-muted);
}

.isa-contact-item a {
    color: inherit;
    text-decoration: none;
}

.isa-contact-hours {
    color: var(--color-border-light);
    /* font-size  : .875rem; */
    /* padding-top: 2.5rem; */
    /* border-top : 1px solid var(--color-border-light); */
}

.isa-contact-form {
    flex: 1;
    padding: 2.5rem;
}

.isa-contact-form label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: var(--color-text);
    font-size: .78rem;
    font-weight: 400;
    letter-spacing: 0em;
    text-transform: uppercase;
}

.isa-contact-form input,
.isa-contact-form select,
.isa-contact-form textarea {
    width: 100%;
    border: 0;
    border-bottom: 2px solid var(--color-border-light);
    border-radius: var(--border-radius-md);
    padding: 1rem;
    background: var(--bg-light);
    color: var(--color-text);
}

.isa-contact-form input,
.isa-contact-form select,
.isa-contact-form textarea {
    width: 100%;
    border: 0;
    border-bottom: 2px solid var(--color-border-light);
    border-radius: var(--border-radius-md);
    padding: 8px .75rem;
    background: var(--bg-light);
    color: var(--color-text);
    font-size: .9rem;
    font-weight: 400;
}

.isa-form-status {
    margin: 0 0 1.5rem;
    padding: 1rem;
    border: 1px solid currentColor;
    border-radius: var(--border-radius-md);
    color: var(--color-primary);
    font-weight: 600;
}

.isa-form-status--success {
    background: #edf8f0;
    color: #176b35;
}

.isa-form-status--error {
    background: #fff3f2;
    color: #a12622;
}

.isa-contact-form label small {
    color: var(--color-text-muted);
    font-size: .75rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.4;
    text-transform: none;
}

.isa-contact-form .isa-contact-consent {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    align-self: end;
    gap: .75rem;
    font-size: .75rem;
    line-height: 1.45;
    letter-spacing: 0;
    text-transform: none;
}

.isa-contact-form .isa-contact-consent input {
    width: 1.15rem;
    height: 1.15rem;
    margin-top: .1rem;
    padding: 0;
}

footer h4 {
    margin-block: 1rem 2rem;
    color: var(--color-white);
    font-size: 1.1rem;
    font-weight: 800;
}

.max-w-screen-xl.mx-auto.px-margin-desktop.grid.grid-cols-1.md\:grid-cols-4.gap-16>div {
    position: relative;
}

footer h4:after {
    width: 30px;
    position: absolute;
    background: var(--color-primary);
    height: 2px;
    content: ' ';
    left: 0;
    top: 1.8rem;
}

.isa-site-footer p {
    font-weight: 200;
}

.isa-footer-links {
    display: grid;
    gap: 1rem;
    padding: 0;
    list-style: none;
}

.isa-footer-links a,
footer a {
    color: inherit;
    text-decoration: none;
    transition: var(--transition);
}

.isa-footer-links a:hover,
footer a:hover {
    color: var(--color-primary);
    text-decoration: none;

}

.isa-social {
    /* display: grid;
    place-items: center;    */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: none;
    /* border-radius  : var(--border-radius-base); */
    color: var(--color-text-light);
    font-size: 1.25rem;
    line-height: 1;
    text-decoration: none;
    transition: var(--transition);
}

.isa-social:hover {
    /* border-color: var(--color-accent); */
    color: var(--color-accent);
    transform: translateY(-4px);
}

.isa-social i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3cap;
    height: 3cap;
    line-height: 1;
}

/* ==========================================================================
   FLATICON UICONS BRANDS (INTEGRAÇÃO DEFINITIVA)
   ========================================================================== */

@font-face {
    font-family: "uicons-brands";
    src: url("https://cdn-uicons.flaticon.com/4.0.0/uicons-brands/webfonts/uicons-brands.woff2") format("woff2"),
        url("https://cdn-uicons.flaticon.com/4.0.0/uicons-brands/webfonts/uicons-brands.woff") format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

i[class^="fi-brands-"]:before,
i[class*=" fi-brands-"]:before,
span[class^="fi-brands-"]:before,
span[class*=" fi-brands-"]:before {
    font-family: "uicons-brands" !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Ícones de alta precisão com fallback vetorial inline garantido */
.fi-brands-instagram,
.fi-brands-linkedin {
    display: inline-block;
    width: 1.25rem;
    height: 1.25rem;
    background-color: currentColor;
    vertical-align: middle;
}

.fi-brands-instagram {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.fi-brands-linkedin {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.fi-brands-instagram:before,
.fi-brands-linkedin:before {
    content: "" !important;
}

@media(min-width:768px) {
    .carousel-item {
        flex-basis: 33.333%;
    }
}

@media(min-width:1024px) {
    .carousel-item {
        flex-basis: 25%;
    }
}

@media(max-width:767px) {
    body.admin-bar #main-header {
        top: 46px;
    }

    .px-margin-desktop {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }

    .py-32 {
        padding-top: 5rem !important;
        padding-bottom: 5rem !important;
    }

    .hero-banner {
        height: 720px;
    }

    .hero-banner::before {
        background: linear-gradient(0deg, rgba(22, 28, 39, .92), rgba(22, 28, 39, .25));
    }

    .hero-content {
        align-items: flex-end;
        padding-bottom: 4rem;
    }

    .hero-title {
        font-size: 2.2rem;
    }

    .isa-button--large {
        width: 100%;
        padding: 1rem;
    }

    .isa-years-badge {
        right: 1rem;
        bottom: -2rem;
        padding: 1.5rem;
    }

    .isa-contact-card {
        display: block;
    }

    .isa-contact-info,
    .isa-contact-form {
        padding: 2rem;
    }

    .isa-contact-info {
        gap: 3rem;
    }

    .isa-sector-card>div {
        transform: none;
    }

    .isa-sector-card p {
        opacity: 1;
    }
}

@media(max-width:767px) {
    .isa-header-logo {
        height: 3.75rem;
    }
}

/* Página Sobre nós */
.isa-about-page {
    background: var(--bg-default);
}

/* .isa-about-container {
    width        : min(100% - 3rem, 1280px);
    margin-inline: auto;
} */

.isa-about-section {
    padding: 6rem 0;
}

.isa-about-section--soft {
    background: var(--bg-light);
}

.isa-about-heading {
    margin-bottom: 4rem;
    text-align: center;
}

.isa-about-heading h2,
.isa-quality-grid h2 {
    font-family: var(--font-title);
    font-size: 2.4rem;
    font-weight: 600;
}

.isa-about-kicker {
    margin: 0 0 .6rem;
    color: var(--color-primary);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.isa-timeline {
    position: relative;
}

.isa-timeline::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 2px;
    background: var(--color-primary-light);
}

.isa-timeline__event {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 2rem 1fr;
    margin-bottom: 3rem;
}

.isa-timeline__event>div {
    grid-column: 1;
    padding-right: 3rem;
    text-align: right;
}

.isa-timeline__event>span {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    justify-self: center;
    width: 1rem;
    height: 1rem;
    margin-top: .4rem;
    border-radius: var(--border-radius-full);
    background: var(--color-primary);
    box-shadow: 0 0 0 6px var(--bg-surface);
}

.isa-timeline__event--right>div {
    grid-column: 3;
    padding-right: 0;
    padding-left: 3rem;
    text-align: left;
}

.isa-timeline__event h3 {
    margin-bottom: .5rem;
    color: var(--color-primary);
    font-family: var(--font-title);
    font-size: 1.25rem;
}

.isa-timeline__event p {
    color: var(--color-text-muted);
    line-height: 1.4;
    ;
}

.isa-mvv-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 1.5rem;
}

.isa-mission-card,
.isa-vision-card {
    padding: 3rem;
    border: 1px solid var(--color-border-light);
    border-radius: var(--border-radius-compact);
}

.isa-mission-card {
    background: var(--color-white);
}

.isa-mission-card>div {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1.5rem;
    color: var(--color-primary);
}

.isa-mission-card h2 {
    margin: 0;
    font-family: var(--font-title);
    font-size: 2rem;
}

.isa-mission-card>p {
    color: var(--color-text-muted);
    line-height: 1.4;
}

.isa-mission-card footer {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--color-border-light);
}

.isa-mission-card footer strong {
    color: var(--color-primary);
    font-size: 2rem;
}

.isa-mission-card footer span {
    max-width: 180px;
    font-size: .75rem;
    text-transform: uppercase;
}

.isa-vision-card h2 {
    margin: 0;
    font-family: var(--font-title);
    font-size: 2rem;
}

.isa-vision-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--color-primary);
    color: var(--color-white);
    text-align: center;
}

.isa-vision-card>span {
    margin-bottom: 1rem;
    font-size: 4rem;
}

.isa-vision-card p {
    margin-top: 1rem;
    line-height: 1.4;
}

.isa-values-grid {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.isa-values-grid article {
    padding: 1.5rem;
    border: 1px solid var(--color-border-light);
    border-radius: var(--border-radius-base);
    background: var(--color-white);
    justify-content: flex-start;
    display: flex;
    flex-flow: column;
    align-items: flex-start;
}

.isa-values-grid span {
    margin-bottom: 1rem;
    color: var(--color-primary);
}

.isa-values-grid h3 {
    margin: 0;
    font-size: .9rem;
    line-height: 1.4;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.isa-values-grid p {
    margin: .75rem 0 0;
    color: var(--color-text-muted);
    font-size: .95rem;
    line-height: 1.45;
}

/* Presença geográfica e página Atuações. */
.isa-presence-summary {
    padding: 6rem 0;
    color: var(--color-white);
    /* background: linear-gradient(135deg, var(--color-presence-deep) 0%, var(--color-presence-mid) 58%, var(--color-presence-bright) 100%); */
    background: var(--bg-gradient-primary);
}

.isa-project-marquee {
    --isa-project-marquee-gap: 1.25rem;
    position: relative;
    overflow: hidden;
    padding-block: .25rem 1.5rem;
}

.isa-project-marquee__track {
    display: flex;
    width: max-content;
    animation: isa-project-marquee var(--isa-project-marquee-duration, 120s) linear infinite;
    transform: translate3d(0, 0, 0);
    will-change: transform;
}

.isa-project-marquee__group {
    display: flex;
    flex-shrink: 0;
    gap: var(--isa-project-marquee-gap);
    padding-inline-end: var(--isa-project-marquee-gap);
}

.isa-project-marquee__card {
    flex: 0 0 min(82dvw, 24rem);
    width: min(82dvw, 24rem);
    height: 20rem;
}

.isa-project-marquee .isa-project-category-card {
    height: auto;
    min-height: 28rem;
    border-radius: var(--border-radius-base);
    background: rgba(var(--color-presence-deep-rgb), .4);
    color: var(--color-white);
}

.isa-project-category-card .isa-project-category-card__image {
    position: relative;
    aspect-ratio: 16 / 9;
    /* border-bottom: 1px solid rgba(var(--color-white-rgb), .12); */
}

.isa-project-category-card__image::after {
    position: absolute;
    bottom: -1px;
    inset: auto 0 0;
    height: 36%;
    background: linear-gradient(to bottom, transparent, var(--color-presence-deep));
    content: "";
    pointer-events: none;
}

.isa-project-category-card__badge {
    position: absolute;
    z-index: 1;
    top: 1rem;
    left: 1rem;
    max-width: calc(100% - 2rem);
    padding: .35rem .65rem;
    border-radius: var(--border-radius-sm);
    background: rgba(var(--color-primary-rgb), .82);
    color: var(--color-white);
    font-size: .75rem;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 1.2;
    text-transform: uppercase;
}

.isa-project-category-card .isa-project-category-card__body {
    display: flex;
    justify-content: center;
    flex: 1;
    width: 100%;
    padding: 1.5rem;
    gap: .1rem;
    background: rgba(var(--color-presence-deep-rgb), .4);
    border: none !important;
}

.isa-presence-summary .isa-project-category-card__body h3 {
    margin: 0 0 .5rem;
    color: #ffffffba;
    font-size: 1.35rem;
    line-height: 1.1;
    font-weight: 500;
    letter-spacing: 0;
}

.isa-presence-summary .isa-project-category-card__body h3 a,
.isa-presence-summary .isa-project-category-card__body h3 a:hover,
.isa-presence-summary .isa-project-category-card__body h3 a:focus-visible {
    color: inherit;
}

.isa-presence-summary .isa-project-category-card__body p {
    margin: 0 0 .5rem;
    color: rgba(var(--color-white-rgb), .82);
    font-size: .95rem;
    line-height: 1.4;
    font-weight: 200;
}

.isa-project-category-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: auto 0 0;
    padding: .5rem 0 0;
    list-style: none;
}

.isa-project-category-card__tags li {
    margin: 0;
    padding: .3rem .55rem;
    border: 1px solid rgba(var(--color-white-rgb), .24);
    border-radius: var(--border-radius-sm);
    background: rgba(var(--color-primary-rgb), .28);
    color: var(--color-white);
    font-size: .7rem;
    line-height: 1.2;
}

.isa-project-marquee:hover .isa-project-marquee__track,
.isa-project-marquee:focus-within .isa-project-marquee__track {
    animation-play-state: paused;
}

@keyframes isa-project-marquee {
    to {
        transform: translate3d(-50%, 0, 0);
    }
}

@media (min-width: 768px) {
    .isa-project-marquee__card {
        flex-basis: clamp(20rem, 29dvw, 24rem);
        width: clamp(20rem, 29ddvw, 24rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .isa-project-marquee {
        overflow-x: auto;
        scroll-snap-type: x mandatory;
    }

    .isa-project-marquee__track {
        animation: none;
        transform: none;
        will-change: auto;
    }

    .isa-project-marquee__group[aria-hidden="true"] {
        display: none;
    }

    .isa-project-marquee__card {
        scroll-snap-align: start;
    }
}

.isa-presence-summary .isa-section-kicker,
.isa-about-presence-cta .isa-section-kicker,
.isa-presence-hero .isa-section-kicker {
    color: var(--color-presence-highlight);
}

.isa-presence-summary__content,
.isa-about-presence-cta__content {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: 5rem;
    align-items: end;
}

.isa-presence-summary h2,
.isa-about-presence-cta h2 {
    margin: .75rem 0 0;
    color: inherit;
    font-size: clamp(2rem, 3dvw, 4rem);
    line-height: 1.05;
    /* max-width  : 13ch; */
}

.isa-presence-summary__content>div:last-child>p,
.isa-about-presence-cta__content>div:last-child>p {
    margin: 0 0 1.75rem;
    font-size: 1.1rem;
    line-height: 1.4;
}

.isa-presence-summary__regions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-top: 3.5rem;
}

.isa-presence-summary__regions span {
    padding: 1.25rem 1.5rem;
    border: 1px solid rgba(var(--color-white-rgb), .24);
    border-radius: var(--border-radius-base);
    background: rgba(var(--color-white-rgb), .08);
}

.isa-presence-summary__regions strong {
    display: block;
    margin-bottom: .25rem;
    font-size: 1.05rem;
}

.isa-about-presence-cta {
    padding: 5rem 0;
    color: var(--color-white);
    background: var(--color-presence-deep);
}

.isa-about-presence-cta h2 {
    font-size: clamp(2rem, 3.5dvw, 3.25rem);
}

.isa-presence-hero {
    padding: 12rem 0 7rem;
    color: var(--color-white);
    background: radial-gradient(circle at 85% 20%, rgba(var(--color-presence-glow-rgb), .42), transparent 30%), linear-gradient(135deg, #042d4d, var(--color-presence-mid));
}

.isa-presence-hero h1 {
    max-width: 12ch;
    margin: 1rem 0 1.5rem;
    color: var(--color-white);
    font-size: clamp(3rem, 7dvw, 6.25rem);
    line-height: .98;
}

.isa-presence-hero>.isa-about-container>p:not(.isa-section-kicker) {
    max-width: 760px;
    font-size: 1.2rem;
    line-height: 1.45;
}

.isa-presence-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

.isa-presence-block,
.isa-presence-method {
    padding: 7rem 0;
}

.isa-presence-block--soft {
    background: var(--color-surface-container-low);
}

.isa-presence-block__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 6rem;
    align-items: center;
}

.isa-presence-block__copy h2,
.isa-presence-method__intro h2 {
    margin: .75rem 0 1.5rem;
    font-size: clamp(2.25rem, 4dvw, 3.75rem);
    line-height: 1.08;
}

.isa-presence-block__copy>p:not(.isa-section-kicker),
.isa-presence-method__intro>p:not(.isa-section-kicker) {
    color: var(--color-text-muted);
    font-size: 1.05rem;
    line-height: 1.45;
}

.isa-presence-map {
    padding: 1.25rem;
    border: 1px solid var(--color-border-light);
    border-radius: 2rem;
    background: var(--color-white);
    box-shadow: 0 24px 60px rgba(var(--color-presence-shadow-rgb), .12);
}

.isa-presence-map img {
    display: block;
    width: 100%;
    border-radius: 1.25rem;
}

.isa-presence-map p {
    margin: 1rem .5rem .25rem;
    color: var(--color-text-muted);
    font-size: .85rem;
    line-height: 1.4;
}

.isa-presence-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
    margin: 2rem 0 0;
    padding: 0;
    list-style: none;
}

.isa-presence-list li {
    position: relative;
    padding: 1rem 1rem 1rem 2.7rem;
    border-radius: .85rem;
    background: rgba(17, 141, 192, .08);
    color: var(--color-presence-text);
    line-height: 1.45;
}

.isa-presence-list li::before {
    position: absolute;
    top: 1.1rem;
    left: 1rem;
    width: .8rem;
    height: .8rem;
    content: '';
    border-radius: var(--border-radius-full);
    background: var(--color-presence-bright);
}

.isa-presence-method__intro {
    max-width: 760px;
    margin-bottom: 3rem;
}

.isa-presence-method__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.isa-presence-method__grid article {
    padding: 2rem;
    border: 1px solid var(--color-border-light);
    border-radius: var(--border-radius-base);
    background: var(--color-white);
}

.isa-presence-method__grid span {
    color: var(--color-presence-bright);
    font-size: 2.5rem;
}

.isa-presence-method__grid h3 {
    margin: 1.25rem 0 .75rem;
    font-size: 1.2rem;
}

.isa-presence-method__grid p {
    margin: 0;
    color: var(--color-text-muted);
    line-height: 1.45;
}

.isa-presence-cta {
    padding: 6rem 0;
    color: var(--color-white);
    text-align: center;
    background: linear-gradient(135deg, var(--color-presence-deep), var(--color-presence-bright));
}

.isa-presence-cta h2 {
    max-width: 18ch;
    margin: 0 auto 1rem;
    color: var(--color-white);
    font-size: clamp(2.25rem, 4dvw, 4rem);
    line-height: 1.08;
}

.isa-presence-cta p {
    max-width: 620px;
    margin: 0 auto 2rem;
    font-size: 1.1rem;
    line-height: 1.4;
}

@media (max-width: 991px) {

    .isa-presence-summary__content,
    .isa-about-presence-cta__content,
    .isa-presence-block__grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .isa-presence-block__grid--reverse .isa-presence-block__copy {
        order: 2;
    }

    .isa-presence-method__grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767px) {

    .isa-presence-summary,
    .isa-about-presence-cta,
    .isa-presence-block,
    .isa-presence-method,
    .isa-presence-cta {
        padding: 4rem 0;
    }

    .isa-presence-hero {
        padding: 9rem 0 5rem;
    }

    .isa-presence-summary__regions,
    .isa-presence-list,
    .isa-presence-method__grid {
        grid-template-columns: 1fr;
    }

    .isa-presence-hero__actions .isa-button {
        width: 100%;
        text-align: center;
    }
}

.isa-quality-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: center;
}

.isa-quality-image {
    position: relative;
}

.isa-quality-image::after {
    content: "";
    position: absolute;
    right: -1.5rem;
    bottom: -1.5rem;
    z-index: 0;
    width: 12rem;
    height: 12rem;
    border-radius: var(--border-radius-base);
    background: var(--color-primary-light);
}

.isa-quality-image img {
    position: relative;
    z-index: 1;
    width: 100%;
    border-radius: var(--border-radius-base);
    box-shadow: var(--shadow-lg);
}

.isa-quality-intro {
    margin: 1.5rem 0 2rem;
    color: var(--color-text-muted);
    line-height: 1.4;
}

.isa-quality-grid ul {
    display: grid;
    gap: 1rem;
    padding: 0;
    list-style: none;
}

.isa-quality-grid li {
    display: flex;
    align-items: center;
    gap: .75rem;
    font-weight: 500;
}

.isa-quality-grid li span {
    color: var(--color-primary);
}

.isa-quality-grid blockquote {
    margin: 2rem 0 0;
    padding: 1.5rem;
    border-left: 4px solid var(--color-primary);
    border-radius: var(--border-radius-base);
    background: var(--color-accent);
    font-style: italic;
}

.isa-about-partners {
    padding: 4rem 0;
    border-block: 1px solid var(--color-border-light);
    background: var(--color-white);
    text-align: center;
}

.isa-about-partners h2 {
    margin-bottom: 3rem;
    color: var(--color-text-muted);
    font-size: .75rem;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.isa-about-partners div>div {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2.5rem;
    color: var(--color-primary);
    font-family: var(--font-title);
    font-size: 1.1rem;
    font-weight: 600;
}

@media(max-width:767px) {
    .isa-about-container {
        width: min(100% - 2rem, 1280px);
    }

    .isa-about-section {
        padding: 4rem 0;
    }

    .isa-about-hero {
        min-height: 680px;
        padding-top: 8rem;
    }

    .hero__actions .isa-button {
        width: 100%;
    }

    .isa-timeline::before {
        left: .5rem;
    }

    .isa-timeline__event,
    .isa-timeline__event--right {
        display: block;
        padding-left: 2.5rem;
    }

    .isa-timeline__event>div,
    .isa-timeline__event--right>div {
        padding: 0;
        text-align: left;
    }

    .isa-timeline__event>span {
        position: absolute;
        top: 0;
        left: 0;
    }

    .isa-mvv-grid,
    .isa-quality-grid {
        grid-template-columns: 1fr;
    }

    .isa-values-grid {
        grid-template-columns: 1fr;
    }

    .isa-mission-card,
    .isa-vision-card {
        padding: 2rem;
    }

    .isa-quality-grid {
        gap: 3rem;
    }

    .isa-quality-image::after {
        right: -.5rem;
        bottom: -.5rem;
    }
}


/* ---------- hero centralizar ---------------- */


.isa-about-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 650px;
    padding-top: 6rem;
    overflow: hidden;
    background: var(--color-primary-light);
    color: var(--color-white);
}

.isa-about-hero>img,
.isa-about-hero__overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.isa-about-hero>img {
    object-fit: cover;
}

.isa-about-hero__overlay {
    background: linear-gradient(90deg, rgba(var(--color-primary-rgb), .9), rgba(22, 28, 39, .9) 60%, rgba(22, 28, 39, .5));
}

.isa-about-hero__content {
    z-index: 1;
    position: relative;
    justify-content: space-between;
}

.isa-about-hero__content>h1 {
    max-width: 760px;
    margin-bottom: 1.5rem;
    font-family: var(--font-title);
    font-size: clamp(2.8rem, 5dvw, 4.5rem);
    font-weight: 600;
    line-height: 1.05;
    color: var(--color-white);
}

.isa-about-hero__content>p:not(.isa-about-kicker) {
    max-width: 720px;
    color: var(--color-text-light);
    font-size: 1.15rem;
    line-height: 1.4;
}

.hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

.isa-button--light {
    background: var(--color-white);
    color: var(--color-primary);
}

/* ------------------------------- */

/* Página Serviços: grid estrutural exclusivamente Bootstrap. */
.isa-container {
    max-width: var(--isa-content-width);
}

.isa-single-hero {
    padding: 11rem 0 6rem;
    background: var(--bg-gradient-primary);
}

.isa-single-hero .isa-page-kicker,
.isa-page-kicker,
.hero-eyebrow {
    color: var(--color-accent);
    font-size: .875rem;
    font-weight: 500;
    display: block;
    text-shadow: var(--text-shadow);
    letter-spacing: .1em;
    margin-bottom: .5rem !important;
}

.isa-single-hero .hero-eyebrow {
    margin-bottom: -.5rem !important;
    color: var(--color-accent-light);
}

.isa-page-lead,
.isa-section-lead {
    /* max-width  : 760px; */
    margin: 1.5rem 0 0;
    color: var(--color-text-muted);
    font-size: 1.1rem;
    line-height: 1.4;
}

aside.isa-hero-callout,
.isa-contact-cta,
.isa-hero-callout {
    padding: 2rem 1.5rem;
    border-radius: var(--border-radius-base);
    background: var(--color-primary);
    color: var(--color-white);
    text-align: center;
}

/* .isa-services-page h2, */


.isa-single-hero h1,
.isa-services-page h2,
.isa-hero-callout h2 {
    font-family: var(--font-title);
    font-weight: 600;
    letter-spacing: -.025em;
    color: var(--color-white);
}

.isa-single-hero h1 {
    font-family: var(--font-title);
    font-weight: 600;
    letter-spacing: -.025em;
    font-size: clamp(2.5rem, 3dvw, 3rem);
    margin: 0;
    line-height: 1.02;
}

/* aside class="isa-hero-callout" */
.isa-hero-callout h3 {
    font-size: 1.5rem;
    letter-spacing: -.03em;
    color: var(--color-white);
}

.isa-hero-callout p {
    margin: 1rem 0 1.5rem;
    color: var(--color-text-light);
    line-height: 1.45;
    font-weight: 300;
    font-size: .85rem;
}

.isa-page-section {
    padding: 6rem 0;
    background: var(--color-white);
}

.isa-page-section--soft {
    background: var(--bg-light);
}

/* .isa-services-page h2 {
    font-size: clamp(2rem, 4dvw, 3.25rem);
} */
.isa-service-loop-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: var(--border-radius-base);
    border: 1px solid;
    border-color: rgba(var(--color-white-rgb), .18);
    background: var(--bg-card);
    transition: transform .2s ease, box-shadow .2s ease;
    /* EFEITO DE BORDER BOTTOM NO HOVER */
    box-shadow: inset 0 -4px 0 0 transparent;
    transition: var(--transition);
}

.isa-service-loop-card:hover {
    box-shadow: var(--shadow-card-hover), inset 0 -4px 0 0 var(--color-primary);
    transform: translateY(-3px);
    transition: var(--transition);
}

.isa-service-loop-card__image {
    display: block;
    aspect-ratio: 16/10;
    overflow: hidden;
}

.isa-service-loop-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.isa-project-category-card__image img {
    object-fit: cover;
    transition: none;
}

.isa-project-category-card__image::after {
    background: #e5e7eb29;
}

.isa-service-loop-card:hover img {
    transform: scale(1.04);
}

.isa-service-loop-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 1.5rem 2rem;
    gap: 1rem;
}

.isa-service-loop-card__body>span,
.isa-project-category-card__body>span {
    position: absolute;
    right: 3rem;
    margin-top: -4rem;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: var(--border-radius-base);
    background: var(--color-primary-light);
    color: var(--color-white);
    font-size: 1.35rem;
}

.isa-service-loop-card h3 {
    font: 600 1.5rem/1.25 var(--font-title);
}

.isa-service-loop-card h3 a,
.isa-service-loop-card__body h3 a {
    color: var(--color-primary-hover);
    text-decoration: none;
}

.isa-service-loop-card p {
    color: var(--color-text-muted);
    line-height: 1.45;
    text-align: center;
}

.isa-service-loop-card__body .isa-text-link {
    margin-top: auto;
}

.isa-text-link {
    color: var(--color-text);
    font-weight: 600;
    text-decoration: none;
    text-align: center;
}

h2#services-process-title,
h2#services-list-title {
    color: var(--color-text);
    line-height: 1.25;
}

.isa-text-link:hover:not(span) {
    text-decoration: none;
}

.isa-text-link span {
    font-size: 2cap;
    font-weight: 800;
    padding-inline-start: .5rem;
}

.isa-editor-notice {
    padding: 1rem;
    border-left: 4px solid var(--color-primary);
    background: var(--bg-light);
}


.isa-process-step {
    transition: var(--transition);
    justify-content: stretch;
    align-items: center;
    text-align: center;
    padding: 2rem;
    background: var(--color-white) !important;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: .5rem;
    border-radius: var(--border-radius-base);
    border: 1px solid var(--bg-card);
    color: var(--color-primary);
    /* EFEITO DE BORDER BOTTOM NO HOVER */
    box-shadow: inset 0 -4px 0 0 transparent;
    transition: var(--transition);
}

.isa-process-step:hover {
    /* EFEITO DE BORDER BOTTOM NO HOVER */
    box-shadow: var(--shadow-card-hover), inset 0 -4px 0 0 var(--color-primary);
    transform: translateY(-3px);
    transition: var(--transition);
}



.isa-process-step__icon {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 4rem;
    height: 4rem;
    margin-bottom: 0;
    color: var(--color-white);
    text-align: center;
    background: var(--bg-gradient-primary);
    border-radius: var(--border-radius-full);
    box-shadow: var(--shadow-sm);
    transition: transform .25s ease, box-shadow .25s ease;
}

.isa-process-step__icon .material-symbols-outlined {
    color: var(--color-white);
    font-size: 1.75rem;
}

.isa-process-step:hover .isa-process-step__icon {
    box-shadow: var(--shadow-md);
    transform: translateY(-4px) rotate(-3deg) scale(1.08);
}

.isa-process-step h3 {
    font: 600 1.35rem/1.3 var(--font-title);
}

.isa-process-step p {
    margin: 0;
    color: var(--color-text-muted);
}

.isa-services-cta {
    padding: 6rem 0;
    background: var(--color-primary);
    color: var(--color-white);
}

.isa-services-cta p {
    max-width: 680px;
    margin: 1.25rem auto 2rem;
    color: var(--color-text-light);
    font-size: 1.1rem;
    line-height: 1.4;
}

.isa-service-content {
    color: var(--color-text-muted);
    font-size: 1.05rem;
    line-height: 1.4;
}

.isa-service-content h2,
.isa-service-content h3 {
    margin-top: 2rem;
    color: var(--color-text);
    font-family: var(--font-title);
}


@media(max-width:767px) {
    .isa-single-hero {
        padding: 9rem 0 4rem;
    }

    .isa-page-section,
    .isa-services-cta {
        padding: 4rem 0;
    }
}

/* Página Contato: componentes sobre o grid Bootstrap. */
.isa-contact-hero {
    padding: 11rem 0 6rem;
    background-color: var(--bg-light);
    background-image: radial-gradient(rgba(var(--color-primary-rgb), .12) 1px, transparent 1px);
    background-size: 24px 24px;
}

.isa-contact-hero h1 {
    margin: 0;
    font-family: var(--font-title);
    font-size: clamp(2.72rem, 5dvw, 3rem);
    font-weight: 600;
    line-height: 1.03;
    letter-spacing: -.035em;
}

.isa-contact-page-form-card {
    padding: clamp(1.5rem, 4dvw, 3rem);
    border: 1px solid var(--color-border-light);
    border-radius: var(--border-radius-md);
    background: var(--bg-surface);
}

.isa-contact-page-form-card h2,
.isa-contact-details h2,
.isa-contact-cta h2 {
    font-family: var(--font-title);
    font-weight: 600;
    letter-spacing: -.025em;
}

.isa-contact-page-form-card>p:not(.hero-eyebrow) {
    max-width: 650px;
    margin-bottom: 2rem;
    color: var(--color-text-muted);
    line-height: 1.4;
}

.isa-contact-page-form-card .form-label {
    font-size: .85rem;
    font-weight: 600;
}

.isa-contact-page-form-card .form-control,
.isa-contact-page-form-card .form-select {
    min-height: 3.25rem;
    border-color: var(--color-border-light);
    border-radius: var(--border-radius-compact);
    background: var(--bg-surface);
}

.isa-contact-page-form-card .form-select {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");
    background-position: right .5rem center;
    background-repeat: no-repeat;
    background-size: 1.5em 1.5em;
    padding-right: 2.5rem;
}

.isa-contact-page-form-card textarea.form-control {
    min-height: 9rem;
}

.isa-contact-page-form-card .form-control:focus,
.isa-contact-page-form-card .form-select:focus {
    border-color: var(--color-primary);
    box-shadow: var(--shadow-sm);
}

.isa-contact-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.isa-contact-details {
    display: grid;
    gap: 1rem;
}

.isa-contact-details>h2 {
    margin-bottom: .5rem;
}

.isa-contact-details article {
    display: flex;
    gap: 1rem;
    padding: 1.5rem;
    border: 1px solid var(--color-border-light);
    border-radius: var(--border-radius-md);
    background: var(--color-white);
}

.isa-contact-details article>span {
    display: grid;
    place-items: center;
    flex: 0 0 3rem;
    height: 3rem;
    border-radius: var(--border-radius-compact);
    background: var(--color-primary-light);
    color: var(--color-primary);
    font-size: 1.25rem;
}

.isa-contact-details h3 {
    margin: 0 0 .35rem;
    font: 600 1.05rem/1.3 var(--font-title);
}

.isa-contact-details p {
    margin: 0;
    color: var(--color-text-muted);
    line-height: 1.45;
}

.isa-contact-details a {
    color: var(--color-primary);
}

.isa-contact-map-link {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: 1rem 1.5rem;
    border: 1px solid var(--color-primary);
    border-radius: var(--border-radius-base);
    color: var(--color-primary);
    font-weight: 600;
    text-decoration: none;
}

.isa-contact-map-link:hover {
    background: var(--bg-surface);
}

.isa-contact-cta {
    padding: 5rem 0;
    border-top: 1px solid var(--color-border-light);
    background: var(--bg-surface);
}


.isa-contact-cta p:not(.hero-eyebrow) {
    max-width: 760px;
    margin: 1rem 0 0;
    color: var(--color-text-muted);
    font-size: 1.05rem;
    line-height: 1.4;
}

@media(max-width:767px) {
    .isa-contact-hero {
        padding: 9rem 0 4rem;
    }

    .isa-contact-cta {
        padding: 4rem 0;
    }

    .isa-contact-page-form-card .isa-button {
        width: 100%;
    }
}


/* ==========================================================================
   Pagina Projetos e Portfolio (ISA Engenharia)
   ========================================================================== */

.isa-projects-page {
    background: var(--bg-light);
    color: var(--color-text);
}

.isa-projects-page .isa-container,
.isa-project-single .isa-container {
    max-width: var(--isa-content-width);
}

.isa-projects-filters {
    padding: 0 0 3rem;
}

.isa-projects-filters__label {
    color: var(--color-text-muted);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.isa-project-filter {
    display: inline-flex;
    align-items: center;
    padding: .55rem 1.35rem;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-base);
    background: transparent;
    color: var(--color-text-muted);
    line-height: 1.2;
    text-decoration: none;
    transition: all .25s ease;
}

.isa-project-filter:hover,
.isa-project-filter:focus-visible {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.isa-project-filter.is-active {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: var(--color-white);
}

.isa-projects-grid-section {
    padding-bottom: 5rem;
}

.isa-project-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-base);
    background: var(--color-white);
    transition: box-shadow .3s ease, transform .3s ease;
}

.isa-project-card:hover {
    box-shadow: 0 .75rem 2rem rgba(0, 27, 62, .12);
    transform: translateY(-2px);
}

.isa-project-card__image {
    display: block;
    overflow: hidden;
    aspect-ratio: 1/1;
    background: var(--bg-light);
}

.isa-project-card--featured .isa-project-card__image {
    aspect-ratio: 16/9;
}

.isa-project-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s ease;
}

.isa-project-card:hover .isa-project-card__image img {
    transform: scale(1.035);
}

.isa-project-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.5rem;
}

.isa-project-card--featured .isa-project-card__body {
    padding: 2rem;
}

.isa-project-card__tag {
    display: inline-block;
    margin-bottom: .6rem;
    padding: .25rem .55rem;
    background: var(--bg-light);
    color: var(--color-text-muted);
    font-size: .67rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.isa-project-card--featured .isa-project-card__tag {
    background: var(--color-accent-light);
}

.isa-project-card h3 {
    margin: 0 0 .65rem;
    font-family: var(--font-title);
    font-size: 1.25rem;
    line-height: 1.35;
}

.isa-project-card--featured h3 {
    font-size: clamp(1.45rem, 2.2dvw, 2rem);
}

.isa-project-card h3 a {
    color: var(--color-text);
    text-decoration: none;
}

.isa-project-card__icon {
    color: var(--color-primary);
    font-size: 1.55rem;
}

.isa-project-card__meta {
    margin: .2rem 0 1rem;
    padding: 0 0 1rem;
    border-bottom: 1px solid var(--color-border);
    color: var(--color-text-muted);
    font-size: .88rem;
}

.isa-project-card__meta i {
    margin-right: .25rem;
}

.isa-project-card p {
    margin: 0 0 1rem;
    color: var(--color-text-muted);
    font-size: .9rem;
    line-height: 1.45;
}

.isa-project-card__link {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-top: auto;
    color: var(--color-primary);
    font-weight: 600;
    text-decoration: none;
}

.isa-project-card__link:hover {
    gap: .75rem;
    color: var(--color-text);
}

.isa-project-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid var(--color-border);
    color: var(--color-text-muted);
    font-size: .75rem;
}

.isa-project-card__footer i {
    color: var(--color-primary);
    font-size: 1.1rem;
}

.isa-projects-empty {
    padding: 2rem;
    text-align: center;
    color: var(--color-text-muted);
}

.isa-project-single {
    background: var(--bg-light);
    color: var(--color-text);
}

.isa-project-single__hero {
    padding: 4rem 0 3rem;
}

.isa-project-single__kicker {
    color: var(--color-primary);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .08em;
}

.isa-project-single__hero h1 {
    font-family: var(--font-title);
    font-size: clamp(2.2rem, 5dvw, 4rem);
    font-weight: 600;
}

.isa-project-single__lead {
    /* max-width: 800px; */
    color: var(--color-text-muted);
    font-size: 1.1rem;
    line-height: 1.45;
    font-weight: 300;
}


.isa-project-single__meta h2 {
    font-size: 1.5rem;
    color: var(--color-text);

}

.isa-project-single__meta ul {
    display: grid;
    gap: .75rem;
    margin: 1.5rem 0 0;
    padding: 0;
    list-style: none;
}

.isa-project-single__meta li::before {
    content: "✓";
    margin-right: .65rem;
    color: var(--color-primary);
    font-weight: 800;
}

.isa-project-single__meta {
    padding-left: 1.25rem;
    border-left: 3px solid var(--color-primary);
    display: flex;
    flex-direction: column;
}

.isa-project-single__meta p {
    display: flex;
    gap: .75rem;
    margin: 0;
}

.isa-project-single__meta span {
    color: var(--color-text-muted);
}

.isa-project-single__cover img {
    width: 100%;
    max-height: 650px;
    object-fit: cover;
}

.isa-project-single__content {
    padding: 4rem 0;
}

.isa-project-single__content article {
      padding-inline-end: 2rem;
    font-size: 1.05rem;
    line-height: 1.45;
}

@media (max-width: 767.98px) {
    .isa-projects-filters {
        padding-bottom: 2rem;
    }

    .isa-project-card--featured .isa-project-card__body {
        padding: 1.5rem;
    }
}

/* Página padrão: hero editorial e conteúdo vindo do editor do WordPress. */
.isa-default-page {
    background: var(--bg-default);
    color: var(--color-text);
}

.isa-default-page__hero {
    position: relative;
    display: flex;
    min-height: 350px;
    align-items: center;
    padding: calc(var(--header-height) + 3rem) 0 3rem;
    overflow: hidden;
    isolation: isolate;
    background-color: var(--color-text);
    background-image:
        linear-gradient(105deg, rgba(var(--color-text-rgb), .96) 0%, rgba(var(--color-text-rgb), .78) 58%, rgba(var(--color-primary-rgb), .64) 100%),
        var(--isa-default-page-hero-image, none),
        radial-gradient(circle at 82% 20%, rgba(var(--color-primary-rgb), .7), transparent 38%);
    background-position: center;
    background-size: cover;
}

.isa-default-page__hero::after {
    position: absolute;
    z-index: -1;
    right: -7rem;
    bottom: -11rem;
    width: 28rem;
    height: 28rem;
    border: 1px solid rgba(var(--color-white-rgb), .14);
    border-radius: var(--border-radius-full);
    box-shadow: 0 0 0 4rem rgba(var(--color-white-rgb), .035);
    content: "";
}

.isa-default-page__title {
    max-width: 900px;
    margin: 0;
    color: var(--color-white);
    font-family: var(--font-title);
    font-size: clamp(2.5rem, 6dvw, 4.75rem);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -.035em;
}

.isa-default-page__body {
    padding: clamp(3.5rem, 7dvw, 6rem) 0;
}

.isa-default-page__content {
    max-width: 960px;
    color: var(--color-text-muted);
    font-family: var(--font-body);
    font-size: 1.0625rem;
    line-height: 1.45;
}

.isa-default-page__content>*:first-child {
    margin-top: 0;
}

.isa-default-page__content>*:last-child {
    margin-bottom: 0;
}

@media (min-width: 1280px) {
    .border-1280-end {
        border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
    }

    .border-1280-end:last-child {
        border-right: 0 !important;
    }
}


.isa-default-page__content h2,
.isa-default-page__content h3,
.isa-default-page__content h4,
.isa-default-page__content h5,
.isa-default-page__content h6 {
    margin-top: 2em;
    margin-bottom: .75em;
    color: var(--color-text);
    font-family: var(--font-title);
    font-weight: 600;
    line-height: 1.2;
}

.isa-default-page__content p,
.isa-default-page__content ul,
.isa-default-page__content ol,
.isa-default-page__content blockquote,
.isa-default-page__content figure,
.isa-default-page__content table {
    margin-bottom: 1.5rem;
}

.isa-default-page__content a {
    color: var(--color-primary);
    text-decoration-thickness: .08em;
    text-underline-offset: .18em;
}

.isa-default-page__content img {
    max-width: 100%;
    height: auto;
    border-radius: var(--border-radius-base);
}

.isa-default-page__content blockquote {
    padding: 1rem 1.5rem;
    border-left: 4px solid var(--color-primary);
    background: var(--bg-light);
    color: var(--color-text);
}

.isa-default-page__content table {
    width: 100%;
    border-color: var(--color-border);
}

.isa-default-page__content .alignwide {
    width: min(100%, var(--isa-content-width));
}

.isa-default-page__content .aligncenter {
    display: block;
    margin-right: auto;
    margin-left: auto;
}

@media (max-width: 767.98px) {
    .isa-default-page__hero {
        min-height: 300px;
        padding-top: calc(var(--header-height) + 2rem);
    }

    .isa-default-page__content {
        font-size: 1rem;
        line-height: 1.4;
    }
}

/* ==========================================================================
   PÁGINA DE ERRO 404
   ========================================================================== */

.isa-404-page {
    background: var(--bg-default);
}

.isa-404-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100dvh - 120px);
    min-height: clamp(540px, 80dvh, 880px);
    padding: calc(var(--header-height) + 4rem) 1.5rem 5rem;
    overflow: hidden;
    isolation: isolate;
    background-color: var(--color-text);
    background-image:
        radial-gradient(circle at 50% 25%, rgba(var(--color-primary-rgb), .35), transparent 60%),
        linear-gradient(135deg, var(--color-text) 0%, #0d1522 50%, #080d15 100%);
    color: var(--color-white);
}

.isa-404-hero::before {
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    width: 36rem;
    height: 36rem;
    border: 1px solid rgba(var(--color-white-rgb), .06);
    border-radius: var(--border-radius-full);
    box-shadow: 0 0 0 5rem rgba(var(--color-white-rgb), .02);
    content: "";
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.isa-404-card {
    max-width: 680px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.isa-404-badge {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .4rem 1rem;
    margin-bottom: 1.5rem;
    border: 1px solid rgba(170, 199, 255, .3);
    border-radius: var(--border-radius-full);
    background: rgba(var(--color-primary-rgb), .25);
    color: var(--color-accent);
    font-size: .8125rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.isa-404-badge .material-symbols-outlined {
    font-size: 1.125rem;
}

.isa-404-number {
    margin: 0 0 .5rem;
    color: var(--color-white);
    font-family: var(--font-title);
    font-size: clamp(6rem, 16dvw, 11rem);
    font-weight: 900;
    line-height: .9;
    letter-spacing: -.05em;
    text-shadow: 0 10px 40px rgba(var(--color-primary-rgb), .45);
    background: linear-gradient(180deg, var(--color-white) 30%, rgba(170, 199, 255, .75) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.isa-404-title {
    margin: 0 0 1rem;
    color: var(--color-white);
    font-family: var(--font-title);
    font-size: clamp(1.75rem, 4dvw, 2.5rem);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -.02em;
}

.isa-404-text {
    max-width: 540px;
    margin: 0 0 2.5rem;
    color: rgba(var(--color-white-rgb), .75);
    font-size: clamp(1rem, 2dvw, 1.125rem);
    line-height: 1.45;
}

.isa-404-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 3rem;
}

.isa-404-actions .isa-button {
    display: inline-flex;
    align-items: center;
    gap: .625rem;
}

.isa-404-actions .isa-button .material-symbols-outlined {
    font-size: 1.25rem;
}

.isa-404-shortcuts {
    padding-top: 2rem;
    border-top: 1px solid rgba(var(--color-white-rgb), .1);
    width: 100%;
    max-width: 520px;
}

.isa-404-shortcuts-label {
    margin: 0 0 .875rem;
    color: rgba(var(--color-white-rgb), .5);
    font-size: .875rem;
    font-weight: 500;
}

.isa-404-nav-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .75rem 1.5rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.isa-404-nav-list a {
    color: var(--color-accent);
    font-size: .9375rem;
    font-weight: 600;
    text-decoration: none;
    transition: color .2s ease;
}

.isa-404-nav-list a:hover {
    color: var(--color-white);
    text-decoration: underline;
}

@media (max-width: 575.98px) {
    .isa-404-actions {
        flex-direction: column;
        width: 100%;
    }

    .isa-404-actions .isa-button {
        width: 100%;

    }
}

/* ==========================================================================
   CONSULTATIVE BANNER / CTA UNIFICADO
   Fundo com bg-cta.png, textura de grid de engenharia e iluminação ambiente.
   ========================================================================== */
.isa-consultative-cta {
    position: relative;
    width: 100%;
    min-height: 480px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background-color: #0b1528;
    background-image:
        linear-gradient(to bottom, rgba(11, 21, 40, 0.88), rgba(17, 34, 64, 0.82), rgba(26, 54, 93, 0.90)),
        url('../img/bg-cta.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-top: 1px solid rgba(51, 65, 85, 0.6);
    border-bottom: 1px solid rgba(51, 65, 85, 0.6);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    padding: 4.5rem 1.5rem;
    color: #f8fafc;
    text-align: center;
}

@media (min-width: 1024px) {
    .isa-consultative-cta {
        min-height: 520px;
    }
}

.isa-consultative-cta__grid {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        radial-gradient(rgba(56, 189, 248, 0.08) 1px, transparent 1px),
        linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 32px 32px, 64px 64px, 64px 64px;
    background-position: 0 0, 0 0, 0 0;
    -webkit-mask-image: radial-gradient(rgb(0, 0, 0) 40%, rgba(0, 0, 0, 0.4) 100%);
    mask-image: radial-gradient(rgb(0, 0, 0) 40%, rgba(0, 0, 0, 0.4) 100%);
}

.isa-consultative-cta__glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 700px;
    max-width: 90vw;
    height: 340px;
    background: rgba(0, 91, 183, 0.18);
    border-radius: 9999px;
    filter: blur(64px);
    pointer-events: none;
}

.isa-consultative-cta__crosshair {
    position: absolute;
    color: rgba(148, 163, 184, 0.3);
    font-size: 0.75rem;
    font-family: monospace;
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none;
    display: none;
}

@media (min-width: 768px) {
    .isa-consultative-cta__crosshair {
        display: block;
    }
}

.isa-consultative-cta__crosshair--tl {
    top: 1.5rem;
    left: 2rem;
}

.isa-consultative-cta__crosshair--tr {
    top: 1.5rem;
    right: 2rem;
}

.isa-consultative-cta__crosshair--bl {
    bottom: 1.5rem;
    left: 2rem;
}

.isa-consultative-cta__crosshair--br {
    bottom: 1.5rem;
    right: 2rem;
}

.isa-consultative-cta__container {
    position: relative;
    z-index: 10;
    max-width: 56rem;
    margin: 0 auto;
    padding: 0 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.isa-consultative-cta__badge {
    display: inline-block;
    font-size: clamp(0.875rem, 1.2vw, 1rem);
    font-weight: 600;
    color: #38bdf8;
    letter-spacing: 0.05em;
    margin-bottom: 0.75rem;
    -webkit-user-select: none;
    user-select: none;
    text-transform: none;
}

.isa-consultative-cta__title {
    font-family: var(--font-title);
    font-size: clamp(1.875rem, 4vw, 3rem);
    font-weight: 800;
    color: #f8fafc;
    line-height: 1.2;
    letter-spacing: -0.025em;
    max-width: 48rem;
    margin: 0 auto;
}

.isa-consultative-cta__text {
    font-family: var(--font-body);
    font-size: clamp(1rem, 1.8vw, 1.25rem);
    font-weight: 400;
    color: #cbd5e1;
    line-height: 1.6;
    max-width: 42rem;
    margin: 1rem auto 2rem;
}

.isa-consultative-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.875rem 2rem;
    border-radius: 9999px;
    border: 1px solid #005bb7;
    background-color: rgba(0, 91, 183, 0.15);
    color: #ffffff !important;
    font-weight: 500;
    font-size: 1rem;
    letter-spacing: 0.02em;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
}

.isa-consultative-cta__button:hover {
    background-color: #005bb7;
    border-color: #005bb7;
    box-shadow: 0 10px 25px -5px rgba(0, 91, 183, 0.35);
    color: #ffffff !important;
    transform: translateY(-1px);
}

.isa-consultative-cta__button:active {
    transform: scale(0.98);
}

.isa-consultative-cta__button:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px #38bdf8, 0 0 0 4px #112240;
}

/* ==========================================================================
   SHARED BACK BUTTON
   ========================================================================== */
.isa-button--outline-dark {
    border: 1px solid var(--color-primary);
    color: var(--color-primary);
    background: transparent;
}

.isa-button--outline-dark:hover,
.isa-button--outline-dark:focus-visible {
    background: var(--color-primary);
    color: var(--color-white) !important;
}