@import "https://fonts.googleapis.com/css?family=Arapey:100,400,400i|Roboto:100,400,700";

html {
    -webkit-text-size-adjust: 100%;
    line-height: 1.15
}

body {
    margin: 0
}

.top-line-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: transparent;
    z-index: 9999;
    pointer-events: none;
    transition: opacity .3s ease;
}

.top-line-loader__bar {
    display: block;
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, #0044ff 0%, #00d4ff 50%, #00ffa3 100%);
    transition: width .2s ease;

    body.menu-open {
        overflow: hidden;
    }

    .header[aria-open="false"] .menu {
        display: none;
    }

    .header[aria-open="true"] .menu {
        display: block;
    }

    transform-origin: left center;
}

.top-line-loader--complete .top-line-loader__bar {
    transition: width .15s ease;
}

.top-line-loader--hidden {
    opacity: 0;
}

.parallax-section {
    position: relative;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    will-change: background-position;
}

.parallax-section.parallax-attachment-fixed {
    background-attachment: fixed;
}

.parallax-section.parallax-attachment-scroll {
    background-attachment: scroll;
}

.parallax-section.parallax-attachment-local {
    background-attachment: local;
}

.parallax-section .parallax-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none;
}

@media (max-width: 991px) {

    .parallax-section,
    .parallax-section.parallax-attachment-fixed,
    .parallax-section.parallax-attachment-local {
        background-attachment: scroll !important;
        background-position: center center !important;
    }
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button;
    appearance: button;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

[hidden],
template {
    display: none
}

header nav ul li a:hover {
    position: relative
}

@media screen and (min-width: 728px) {
    header.header nav ul li a {
        font-size: 1.28em
    }

    header.header nav ul li a:hover:after,
    header.header nav ul li a:hover:before {
        background: #000;
        clip: rect(0, 900px, 0, 0);
        color: #fff;
        content: attr(data-text);
        display: block;
        opacity: 1;
        overflow: hidden;
        position: absolute;
        top: 0;
        width: 100%
    }

    header.header nav ul li a:hover {
        position: relative;
        color: #000;
        text-shadow: 3px 3px 5px #fff
    }
}

@keyframes noise-anim {
    0% {
        clip: rect(86px, 9999px, 14px, 0)
    }

    2.94118% {
        clip: rect(26px, 9999px, 31px, 0)
    }

    5.88235% {
        clip: rect(54px, 9999px, 46px, 0)
    }

    8.82353% {
        clip: rect(48px, 9999px, 85px, 0)
    }

    11.76471% {
        clip: rect(12px, 9999px, 62px, 0)
    }

    14.70588% {
        clip: rect(37px, 9999px, 77px, 0)
    }

    17.64706% {
        clip: rect(9px, 9999px, 19px, 0)
    }

    20.58824% {
        clip: rect(39px, 9999px, 88px, 0)
    }

    23.52941% {
        clip: rect(46px, 9999px, 95px, 0)
    }

    26.47059% {
        clip: rect(27px, 9999px, 84px, 0)
    }

    29.41176% {
        clip: rect(20px, 9999px, 46px, 0)
    }

    32.35294% {
        clip: rect(15px, 9999px, 44px, 0)
    }

    35.29412% {
        clip: rect(34px, 9999px, 53px, 0)
    }

    38.23529% {
        clip: rect(23px, 9999px, 46px, 0)
    }

    41.17647% {
        clip: rect(42px, 9999px, 78px, 0)
    }

    44.11765% {
        clip: rect(35px, 9999px, 10px, 0)
    }

    47.05882% {
        clip: rect(60px, 9999px, 52px, 0)
    }

    50% {
        clip: rect(80px, 9999px, 27px, 0)
    }

    52.94118% {
        clip: rect(99px, 9999px, 27px, 0)
    }

    55.88235% {
        clip: rect(7px, 9999px, 44px, 0)
    }

    58.82353% {
        clip: rect(81px, 9999px, 95px, 0)
    }

    61.76471% {
        clip: rect(76px, 9999px, 57px, 0)
    }

    64.70588% {
        clip: rect(17px, 9999px, 39px, 0)
    }

    67.64706% {
        clip: rect(74px, 9999px, 48px, 0)
    }

    70.58824% {
        clip: rect(53px, 9999px, 90px, 0)
    }

    73.52941% {
        clip: rect(59px, 9999px, 73px, 0)
    }

    76.47059% {
        clip: rect(1px, 9999px, 53px, 0)
    }

    79.41176% {
        clip: rect(37px, 9999px, 56px, 0)
    }

    82.35294% {
        clip: rect(44px, 9999px, 1px, 0)
    }

    85.29412% {
        clip: rect(77px, 9999px, 29px, 0)
    }

    88.23529% {
        clip: rect(15px, 9999px, 93px, 0)
    }

    91.17647% {
        clip: rect(5px, 9999px, 96px, 0)
    }

    94.11765% {
        clip: rect(53px, 9999px, 46px, 0)
    }

    97.05882% {
        clip: rect(89px, 9999px, 48px, 0)
    }

    to {
        clip: rect(75px, 9999px, 92px, 0)
    }
}

@keyframes noise-anim-2 {
    0% {
        clip: rect(40px, 9999px, 89px, 0)
    }

    2.94118% {
        clip: rect(89px, 9999px, 5px, 0)
    }

    5.88235% {
        clip: rect(48px, 9999px, 9px, 0)
    }

    8.82353% {
        clip: rect(47px, 9999px, 15px, 0)
    }

    11.76471% {
        clip: rect(57px, 9999px, 27px, 0)
    }

    14.70588% {
        clip: rect(59px, 9999px, 43px, 0)
    }

    17.64706% {
        clip: rect(42px, 9999px, 45px, 0)
    }

    20.58824% {
        clip: rect(43px, 9999px, 31px, 0)
    }

    23.52941% {
        clip: rect(90px, 9999px, 95px, 0)
    }

    26.47059% {
        clip: rect(41px, 9999px, 20px, 0)
    }

    29.41176% {
        clip: rect(73px, 9999px, 63px, 0)
    }

    32.35294% {
        clip: rect(93px, 9999px, 11px, 0)
    }

    35.29412% {
        clip: rect(17px, 9999px, 74px, 0)
    }

    38.23529% {
        clip: rect(77px, 9999px, 1px, 0)
    }

    41.17647% {
        clip: rect(75px, 9999px, 37px, 0)
    }

    44.11765% {
        clip: rect(73px, 9999px, 15px, 0)
    }

    47.05882% {
        clip: rect(15px, 9999px, 39px, 0)
    }

    50% {
        clip: rect(70px, 9999px, 81px, 0)
    }

    52.94118% {
        clip: rect(39px, 9999px, 24px, 0)
    }

    55.88235% {
        clip: rect(15px, 9999px, 83px, 0)
    }

    58.82353% {
        clip: rect(43px, 9999px, 78px, 0)
    }

    61.76471% {
        clip: rect(28px, 9999px, 61px, 0)
    }

    64.70588% {
        clip: rect(77px, 9999px, 8px, 0)
    }

    67.64706% {
        clip: rect(52px, 9999px, 67px, 0)
    }

    70.58824% {
        clip: rect(23px, 9999px, 86px, 0)
    }

    73.52941% {
        clip: rect(89px, 9999px, 36px, 0)
    }

    76.47059% {
        clip: rect(7px, 9999px, 27px, 0)
    }

    79.41176% {
        clip: rect(90px, 9999px, 23px, 0)
    }

    82.35294% {
        clip: rect(83px, 9999px, 76px, 0)
    }

    85.29412% {
        clip: rect(45px, 9999px, 8px, 0)
    }

    88.23529% {
        clip: rect(57px, 9999px, 76px, 0)
    }

    91.17647% {
        clip: rect(51px, 9999px, 68px, 0)
    }

    94.11765% {
        clip: rect(50px, 9999px, 87px, 0)
    }

    97.05882% {
        clip: rect(70px, 9999px, 67px, 0)
    }

    to {
        clip: rect(90px, 9999px, 81px, 0)
    }
}

@keyframes preload-anim {
    0% {
        fill: #ab7857
    }

    to {
        fill: #fff
    }
}

body,
html {
    height: 100%;
    width: 100%
}

body {
    -moz-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -o-font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    background: #ffffff;
    color: #fff;
    font-family: Roboto, Helvetica, Arial, sans-serif;
    font-size: 14px;
    image-rendering: auto;
    text-rendering: optimizeLegibility !important
}

* {
    box-sizing: border-box;
    margin: 0;
    outline: none;
    padding: 0
}

::selection {
    background: #ab7857;
    color: #fff
}


.menu.desktop {
    width: auto !important;
}

header.header {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    background-color: #1a1a1a85;
    color: #fff;
    display: flex;
    padding: 16px;
    position: fixed;
    top: 0;
    width: 100%;
    height: 60px;
    z-index: 999;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .2)
}

header.header .container {
    width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 10px;
    padding-right: 0px;
    padding-left: 0px;
    margin-right: auto;
    margin-left: auto;
}

.nav-menu a {
    color: #fff;
    text-decoration: none;
    margin-left: 20px;
    font-size: .95rem;
    transition: color .3s
}

header.header[aria-open=true] .menu {
    cursor: alias
}

header.header .menu__brand {
    background: #84b6af;
    display: block;
    height: 42px;
    width: 42px
}

header.header .menu__brand img {
    display: block;
    width: 42px
}

header.header .nav-menu {
    background: #000;
    height: 100vh;
    position: absolute;
    right: 0;
    top: 0;
    width: 0
}

header.header .nav-menu ul {
    list-style: none
}

.nav-menu {
    width: 0;
    overflow: hidden;
    transition: .3s
}

header.header nav {
    display: flex;
    height: 100%;
    justify-content: flex-start;
    min-width: 360px;
    overflow: hidden;
    width: 100%;
    align-items: flex-start;
    align-content: center;
}

header.header .menu.desktop ul {
    list-style: none;
    display: flex;
    justify-content: center;
    align-items: baseline
}

header.header nav ul li {
    margin: 10px 0
}

header.header nav ul li a {
    color: #fff;
    display: inline-block;
    font-size: 1.28em;
    margin: 5px;
    position: relative;
    text-decoration: none;
    text-transform: uppercase
}

/* ========================================
   CLASSES RESPONSIVAS DO MENU
   ======================================== */
header.header nav.menu-mobile {
    /* Estilos específicos para mobile */
    background: rgba(0, 0, 0, 0.9);
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

header.header nav ul li {
    list-style-type: none;
}

header.header nav.menu-mobile ul li {
    padding: 8px 0;
}

header.header nav.menu-mobile ul li a {
    font-size: 1.1em;
    padding: 12px 20px;
    display: block;
    transition: background-color 0.3s ease;
}

header.header nav.menu-mobile ul li a:hover {
    background-color: rgba(171, 120, 87, 0.2);
    border-radius: 4px;
}


/* Social Box */
.social-box {
    width: -webkit-fill-available;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    padding: 0.75rem 1.25rem;
}

.social-box .item {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    aspect-ratio: 1;
    font-size: 1.5rem;
    color: #c5c5c5;
    background-color: #242529;
    border-radius: 50px;
    transition: color 0.15s ease-in,
        box-shadow 0.75s cubic-bezier(0.74, 0.01, 0.02);
}

.social-box .item svg {
    transition: transform 0.75s ease-in-out;
}

@property --fill-color {
    syntax: "<percentage>";
    inherits: true;
    initial-value: 0%;
}

.social-box .item:hover {
    color: var(--primary-color);
    --fill-color: 100%;
    box-shadow: 0 0 1.5rem rgba(0, 0, 0, 1);
}

.social-box .item:hover svg {
    transform: scale(1.25);
}

.social-box .item::after {
    position: absolute;
    z-index: -1;
    content: "";
    inset: -3px;
    border-radius: inherit;
    background: conic-gradient(var(--primary-color) var(--fill-color),
            transparent var(--fill-color));
    transition: --fill-color 0.75s ease-in-out;
}

header.header .menu.desktop {
    width: auto !important;
}

header.header nav.menu-desktop ul {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
}

header.header nav.menu-desktop ul li {
    margin: 0 15px;
}

header.header nav.menu-desktop ul li a {
    padding: 15px 25px;
    border-radius: 20px;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

header.header nav.menu-desktop ul li a::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(171, 120, 87, 0.3), transparent);
    transition: left 0.5s ease;
}

header.header nav.menu-desktop ul li a:hover::before {
    left: 100%;
}

header.header nav.menu-desktop ul li a:hover {
    background-color: rgba(171, 120, 87, 0.2);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

header.header .menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
}

header.header .menu nav {
    width: max-content;
}

header.header .menu nav ul {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: flex-end;
    margin: 0;
    padding: 0;
}

header.header .menu nav ul li {
    list-style: none;
    margin: 0;
}

header.header .open-menu {
    position: absolute;
    background: transparent;
    border: 0;
    color: #fff;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 10px;
    right: 0;
}

header.header .open-menu:focus-visible {
    outline: 2px solid #ab7857;
    outline-offset: 4px;
}

header.header .open-menu .menu-burger {
    display: inline-flex;
    flex-direction: column;
    justify-content: space-between;
    width: 28px;
    height: 20px;
}

header.header .open-menu .menu-burger span {
    background: currentColor;
    border-radius: 2px;
    display: block;
    height: 3px;
    transition: transform .3s ease, opacity .3s ease, width .3s ease;
    width: 100%;
}

header.header[aria-open="true"] .open-menu .menu-burger span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

header.header[aria-open="true"] .open-menu .menu-burger span:nth-child(2) {
    opacity: 0;
}

header.header[aria-open="true"] .open-menu .menu-burger span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

body.is-menu-open {
    overflow: hidden;
}

header.header .logo {
    width: -webkit-fill-available;
}

header.header .logo img {
    width: 160px;
}

@media screen and (max-width: 1023px) {

    /* Fixar a logo para não se mover ao abrir o menu responsivo */
    header.header .logo img {
        position: absolute;
        width: 100px;
        display: flex;
        left: 10px;
        top: 10px;
        transition: none !important;
        transform: none !important;
        z-index: 1;
        justify-content: flex-start;
        align-items: center;
    }

    header.header .open-menu {
        display: flex;
    }

    header.header .menu {
        position: fixed;
        top: 50px;
        right: 0;
        bottom: 0;
        width: min(350px, 85vw);
        background: rgba(0, 0, 0, 0.95);
        flex-direction: column;
        align-items: flex-start;
        padding: 32px 24px;
        transform: translateX(100%);
        transition: transform .3s ease;
        gap: 24px;
        box-shadow: -8px 0 24px rgba(0, 0, 0, 0.4);
        height: calc(100vh - 85px);
        overflow-y: auto;
    }

    header.header .menu nav {
        width: 100%;
        min-width: 0;
    }

    header.header .menu nav ul {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
    }

    header.header .menu nav ul li a {
        font-size: 1.5em;
        display: block;
        width: 100%;
    }

    header.header[aria-open="true"] .menu,
    header.header.menu-open .menu {
        transform: translateX(0);
    }
}

@media screen and (min-width: 1024px) {
    header.header .open-menu {
        display: none;
    }

    .social-box {
        display: none;
    }

    header.header .menu {
        position: static;
        transform: none;
        background: transparent;
        padding: 0;
        box-shadow: none;
        width: auto;
        height: auto;
    }

    header.header .menu nav ul {
        flex-direction: row;
        gap: 24px;
    }
}

.footer {
    background: #000;
    height: 75px;
    position: relative;
    z-index: 9
}

.footer .wrapper {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: space-between;
}

.footer .brand {
    /* align-self: flex-end; */
    margin-right: 30px;
    width: 60px;
}

.footer .brand img {
    display: block;
    width: 140px;
}

.footer .copyright {
    color: #fff;
    flex-grow: 1;
    font: 300 .73em Arapey, Georgia, serif;
    font-style: italic;
    letter-spacing: .2em;
    text-align: right
}

@media screen and (min-width: 980px) {

    .footer .copyright {
        font-size: 1em;
        margin-right: 20px
    }

}

.footer .social {
    display: none
}

@media screen and (min-width: 980px) {
    .footer .social {
        display: flex
    }
}

@media screen and (max-width: 767px) {
    .footer .brand {
        /* align-self: flex-end; */
        margin-right: 30px;
        width: 100px;
    }

    .footer .brand img {
        display: block;
        width: -webkit-fill-available;
    }
}

.wrapper {
    margin: 0 auto;
    max-width: 1020px;
    padding: 0 40px;
    position: relative;
    width: 100%
}

@media screen and (min-width: 1020px) {
    .wrapper {
        padding: 0
    }
}

.gfgdigital {
    height: 100%;
    left: 0;
    opacity: .2;
    pointer-events: none;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9
}

.gfgdigital svg {
    fill: #ab7857
}

.gfgdigital svg line,
.gfgdigital svg path,
.gfgdigital svg rect {
    fill: none;
    stroke: #ad7a58;
    stroke-linecap: round;
    stroke-miterlimit: 10;
    stroke-width: 3px
}

.social {
    align-items: flex-end;
    display: flex;
    justify-content: space-between;
    width: 60px
}

.social a {
    text-decoration: none;
    font-size: 20px
}

.social a i {
    color: #fff;
    transition: all .3s ease-in-out
}

.quem .link {
    display: flex;
    padding: 12px 0px 0px;
    align-items: flex-end;
}

.quem .link i {
    font-size: 20px;
}

.quem .link a {
    color: #ab7857;
    font-family: Arapey, Georgia, serif;
    font-size: 1.1em 15.4px;
    letter-spacing: 0.2em;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
}

.preload {
    align-items: center;
    background: #000;
    display: flex;
    height: 0;
    height: 100%;
    justify-content: center;
    pointer-events: none;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999
}

.preload svg {
    animation: preload-anim 1s ease-in-out .3s infinite alternate-reverse;
    fill: #ab7857;
    height: 64px;
    width: 64px
}

body.pagina .wrapper {
    margin: 0 auto;
    max-width: 1020px;
    padding: 0 40px;
    position: relative;
    width: 100%;
}

body.pagina article p {
    color: #3f3f41;
    font-size: 1.2em;
    font-family: Arapey, Georgia, serif;
    font-style: italic;
}

body.pagina article {
    background: #fff;
    padding: 50px 0;
    position: relative;
    z-index: 9
}

body.pagina article p {
    line-height: 1.7em;
    margin-bottom: 20px
}

body.pagina article blockquote {
    color: #3f3f41;
    font-size: 1.5em;
    line-height: 1.5em;
    padding: 50px 40px;
    text-align: center
}

main#avaliacoes .section-title,
main#consultoria .section-title,
main#consertos .section-title,
main#drywall .section-title,
main#mineral .section-title,
main#imagens .section-title,
main#moldura .section-title,
main#parede3d .section-title,
main#sanca .section-title,
main#servicos .section-title {
    background-color: #000;
    background-position: 100% 0;
    background-repeat: none;
    background-size: cover;
    left: 0;
    padding: 160px 0;
    position: fixed;
    top: 0;
    width: 100%
}



main#servicos article .case {
    display: block;
    position: relative;
    text-decoration: none;
    width: 100%
}

main#servicos article .case .call:after,
main#servicos article .case .call:before {
    background: #3f3f41;
    content: "";
    display: block;
    position: absolute
}

main#servicos article .case .call {
    bottom: 50px;
    color: #3f3f41;
    font-family: Arapey, Georgia, serif;
    font-size: 1.2em;
    font-style: italic;
    letter-spacing: .4em;
    position: absolute;
    right: 100px;
    text-decoration: none;
    text-transform: uppercase;
    z-index: 9
}

@media screen and (min-width: 728px) {
    main#servicos article .case .call {
        letter-spacing: .7em
    }
}

main#servicos article .case .call:hover:after,
main#servicos article .case .call:hover:before {
    transform: rotate(90deg)
}

main#servicos article .case .call:before {
    height: 80px;
    right: -40px;
    top: -30px;
    transform-origin: 50%;
    transition: all .3s ease-in-out .2s;
    width: 2px
}

main#servicos article .case .call:after {
    height: 2px;
    right: -80px;
    top: 9px;
    transform-origin: 50%;
    transition: all .3s ease-in-out;
    width: 80px
}

main#servicos article .case .call strong {
    font-family: Roboto, Helvetica, Arial, sans-serif;
    font-size: .9em
}

main#servicos article .case img {
    display: block;
    width: 100%
}

main#servicos footer {
    background: #e6e6e7;
    padding: 60px 0;
    position: relative;
    z-index: 9
}

main#servicos footer h3 {
    color: #000;
    font-size: 1.6em;
    text-transform: uppercase
}

main#servicos footer .listserv {
    margin-top: 48px
}

@media screen and (min-width: 980px) {
    main#servicos footer .listserv__item {
        margin-bottom: 0
    }
}

#home .clientes .section-title,
.clientes .section-title {
    align-self: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 46%;
}

#home .clientes .section-title .title,
.clientes .section-title .title {
    color: #fff;
    font-size: 1.7em;
    letter-spacing: .7em;
    text-transform: uppercase
}

#home .clientes .section-title p,
.clientes .section-title p {
    color: #fff;
    font-size: 1.1em;
    font-weight: 100;
    letter-spacing: .7em;
    line-height: 1.5em;
    padding: 60px 0;
    text-transform: uppercase;
    /* white-space:pre; */
}

@media screen and (min-width: 728px) {

    #home .clientes .section-title p,
    .clientes .section-title p {
        font-size: 1.1em
    }
}

@media screen and (min-width: 1200px) {

    #home .clientes .section-title p,
    .clientes .section-title p {
        font-size: 1em;
    }
}

#home .clientes .case,
.clientes .case {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    position: relative;
    text-decoration: none;
    width: 100%
}

@media screen and (min-width: 728px) {

    #home .clientes .case,
    .clientes .case {
        justify-content: flex-start;
        width: 46%
    }

    #home .clientes .case:nth-of-type(odd),
    .clientes .case:nth-of-type(odd) {
        margin-top: 150px
    }
}

#home .clientes .case:first-of-type .case__box,
.clientes .case:first-of-type .case__box {
    background: #ab7857 !important;
    color: #000 !important
}

#home .clientes .case:first-of-type .case__description,
.clientes .case:first-of-type .case__description {
    color: #fff
}

#home .clientes .case:hover .case__thumb img,
.clientes .case:hover .case__thumb img {
    transform: scale(1.1)
}

#home .clientes .case:hover .case__box,
.clientes .case:hover .case__box {
    height: auto;
    margin-top: -100px
}

@media screen and (min-width: 728px) {

    #home .clientes .case:hover .case__box,
    .clientes .case:hover .case__box {
        height: auto;
        margin-top: -200px
    }
}

#home .clientes .case .case__thumb,
.clientes .case .case__thumb {
    margin: 0;
    overflow: hidden;
    width: 100%
}

@media screen and (min-width: 728px) {

    #home .clientes .case .case__thumb,
    .clientes .case .case__thumb {
        margin: 0 0 0 45px;
        width: calc(100% - 45px)
    }
}

#home .clientes .case .case__thumb img,
.clientes .case .case__thumb img {
    display: block;
    transition: all .3s ease-in-out;
    width: 100%
}

#home .clientes .case .case__box,
.clientes .case .case__box {
    background: #ab7857;
    color: #000000;
    display: flex;
    flex-flow: column nowrap;
    font-size: 1.4em;
    height: 200px;
    justify-content: flex-end;
    letter-spacing: .2em;
    line-height: 1.2em;
    margin-top: -50px;
    padding: 20px 20px 15px;
    position: relative;
    text-transform: uppercase;
    transition: all .3s ease-in-out;
    width: 200px
}

@media screen and (min-width: 728px) {

    #home .clientes .case .case__box,
    .clientes .case .case__box {
        font-size: 1.2em;
        line-height: 1.4em;
    }
}

@media screen and (min-width: 980px) {

    #home .clientes .case .case__box,
    .clientes .case .case__box {
        height: auto;
        margin-top: -115px;
        width: 250px
    }
}

#home .clientes .case .case__box:before,
.clientes .case .case__box:before {
    height: 120px;
    right: 101px;
    top: -60px;
    width: 3px
}

@media screen and (min-width: 728px) {

    #home .clientes .case .case__box:before,
    .clientes .case .case__box:before {
        right: 0;
        top: -60px
    }
}

#home .clientes .case .case__box:after,
.clientes .case .case__box:after {
    height: 3px;
    right: 40px;
    top: 0;
    width: 120px
}

@media screen and (min-width: 728px) {

    #home .clientes .case .case__box:after,
    .clientes .case .case__box:after {
        right: -60px;
        top: 0
    }
}

#home .clientes .case .case__box em,
.clientes .case .case__box em {
    font-family: Arapey, Georgia, serif;
    text-transform: none
}

#home .clientes .case .case__description,
.clientes .case .case__description {
    color: #363636;
    font-family: Arapey, Georgia, serif;
    font-size: 1.3em;
    font-style: italic;
    line-height: 1.7em;
    padding: 30px;
    width: 100%
}

@media screen and (min-width: 728px) {

    #home .clientes .case .case__description,
    .clientes .case .case__description {
        width: 300px
    }
}

.clientes {
    align-items: flex-start;
    background: url(https://erickyago.com.br/assets/img/home/bg/bg.jpg);
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    padding: 0 10% 100px;
    position: relative;
    width: 100%;
    z-index: 11
}

.clientes .bg {
    background: url(https://erickyago.com.br/assets/img/home/bg/bg_clientes.jpg) 50%;
    content: "";
    display: block;
    height: calc(100% - 100vh);
    left: 0;
    position: absolute;
    top: 100vh;
    width: 100%
}

.clientes .section-title {
    align-self: flex-start;
    margin-top: 130px
}

.clientes .section-title .title {
    font-size: 2.8
}

.clientes .section-title .title span {
    border-bottom: 4px solid #ab7857;
    display: inline-block;
    padding-bottom: 60px
}

.case .section-title {
    display: flex;
    flex-direction: column;
    padding: 40px 0;
    position: relative
}

.case .section-title .background {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.case .section-title .title {
    margin-top: 400px;
    width: 100%
}

@media screen and (min-width: 728px) {
    .case .section-title .title {
        margin-top: 0;
        width: 45%
    }
}

.case .section-title .title h1 {
    color: #3f3f41;
    font-family: Arapey, Georgia, serif;
    font-size: 2em;
    font-style: italic;
    font-weight: 300;
    letter-spacing: .4em;
    line-height: 1.2em;
    margin: 0;
    padding: 0;
    text-align: center
}

@media screen and (min-width: 728px) {
    .case .section-title .title h1 {
        font-size: 3em;
        text-align: left
    }
}

.case .section-title .title h1 strong {
    display: block;
    font-family: Roboto, Helvetica, Arial, sans-serif;
    font-weight: 700;
    text-transform: uppercase
}

.case .section-title .title hr {
    border: none;
    height: 2px;
    margin: 50px auto;
    max-width: 200px;
    width: 100%
}

@media screen and (min-width: 728px) {
    .case .section-title .title hr {
        height: 4px;
        margin: 50px 0
    }
}

.case .section-title .title p {
    color: #3f3f41;
    font-size: .8em;
    letter-spacing: .3em;
    line-height: 1.7em;
    text-align: center;
    text-transform: uppercase
}

@media screen and (min-width: 728px) {
    .case .section-title .title p {
        font-size: 1em;
        text-align: left
    }
}

.case .content {
    background: #fff;
    height: 100%;
    padding: 50px 0;
    position: relative
}

.case .content p {
    color: #3f3f41;
    font-family: Arapey, Georgia, serif;
    font-size: 1.2em;
    font-style: italic;
    line-height: 1.7em;
    margin-bottom: 20px
}

@media screen and (min-width: 728px) {
    .case .content p {
        font-size: 1.4em
    }
}

.case .content a {
    color: #ab7857;
    display: inline-block;
    position: relative;
    transition: color .3s ease-in-out;
    z-index: 0
}

.case .content a:after {
    background: #ab7857;
    bottom: 5%;
    content: "";
    display: block;
    height: 0;
    left: -2px;
    position: absolute;
    transition: height .2s ease-in-out;
    width: calc(100% + 4px);
    z-index: -1
}

.case .content a:hover {
    color: #fff;
    text-decoration: none
}

.case .content a:hover:after {
    height: 90%
}

.case .content .full {
    display: block;
    width: 100%
}

.case .content .video {
    height: 0;
    margin-bottom: 30px;
    overflow: hidden;
    padding-bottom: 47%;
    padding-top: 30px;
    position: relative
}

@media screen and (min-width: 640px) {
    .case .content .video {
        padding-bottom: 53.25%
    }
}

.case .content .video embed,
.case .content .video iframe,
.case .content .video object {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.case .content .row {
    align-content: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%
}

@media screen and (min-width: 728px) {
    .case .content .row {
        flex-direction: row;
        flex-wrap: wrap
    }
}

.case .content .row .column {
    width: 100%
}

@media screen and (min-width: 728px) {
    .case .content .row .column--6 {
        width: 48%
    }
}

.case .case--nav {
    background: #fff;
    padding-bottom: 30px;
    position: relative;
    width: 100%
}

.case .case--nav nav {
    align-items: center;
    display: flex;
    justify-content: space-around;
    margin: 0 auto;
    max-width: 450px;
    position: relative;
    width: 100%
}

.case .case--nav nav a {
    color: #000;
    font-family: Roboto, Helvetica, Arial, sans-serif;
    font-size: .8em;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase
}

#home {
    /*background: url() 50%;*/
    min-height: 100%
}

#home,
#home .banner {
    position: relative;
    width: 100%
}

#home .banner {
    height: 100vh;
    z-index: 11
}

#home .banner .gallery {
    height: 100%;
    list-style: none;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: 100%
}

#home .banner .gallery__item {
    height: 100%;
    left: 0;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%
}

#home .banner .gallery__item:first-child {
    opacity: 1
}

#home .banner .gallery__item img {
    height: auto;
    left: 50%;
    min-height: 100%;
    min-width: 100%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: auto
}

#home .banner h1 {
    left: 60px;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: calc(100% - 120px)
}

#home .banner h1 svg {
    display: block;
    fill: #fff
}

#home .banner h1 svg path {
    opacity: 0
}

#home .quem {
    align-items: center;
    background: url(https://erickyago.com.br/assets/img/home/bg/bg@small.jpg) no-repeat 50% fixed;
    background-size: cover;
    display: flex;
    min-height: 100vh;
    padding: 120px 20px
}

@media screen and (-webkit-min-device-pixel-ratio: 2) {
    #home .quem {
        background-attachment: scroll
    }
}

@media screen and (min-width: 728px) {
    #home .quem {
        background: url(https://erickyago.com.br/assets/img/home/bg/bg_quem.jpg) no-repeat 50% fixed;
        background-size: cover
    }
}

#home .quem .brand {
    margin-bottom: 40px;
    width: 270px
}

#home .quem .brand svg {
    display: block;
    fill: #fff;
    transform: translateX(-7px);
    width: 100%
}

#home .quem h2 {
    font-size: 1.07em;
    letter-spacing: .7em
}

#home .quem h2,
#home .quem h3 {
    color: #fff;
    margin: 0 0 30px;
    text-transform: uppercase
}

#home .quem h3 {
    font-size: 1.5em;
    font-weight: 100;
    letter-spacing: .5em;
    line-height: 1.5em;
    /* white-space:pre; */
}

#home .quem p {
    color: #fff;
    font-family: Arapey, Georgia, serif;
    font-size: 1.4em;
    font-style: italic;
    line-height: 1.5em;
    padding-bottom: 42px
}

#home .quem p:last-child {
    padding-bottom: 0
}

#home .quem p span {
    display: block
}

@media screen and (min-width: 728px) {
    #home .quem p span {
        display: inline
    }
}

#home .quem .wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

@media screen and (min-width: 728px) {
    #home .quem .wrapper {
        flex-direction: row
    }
}

#home .quem .wrapper .column {
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

#home .quem .wrapper .column:first-child {
    margin: 0 0 30px
}

@media screen and (min-width: 728px) {
    #home .quem .wrapper .column:first-child {
        margin: 0 20px 0 0;
        width: 330px
    }
}

@media screen and (max-width: 728px) {
    #home .quem .wrapper .column:first-child {
        margin: 0 0 50px;
    }

    #home .quem .wrapper .column {
        display: flex;
        justify-content: space-between;
        flex-direction: row;
        flex-wrap: wrap;
    }

    #home .quem h2,
    #home .quem h3 {
        color: #fff;
        margin: 0 0 10px;
        text-transform: uppercase;
    }
}

#home .photos {
    display: flex;
    position: relative;
    width: 100%;
    z-index: 11;
    padding: 1rem;
}

#home .photos .column {
    width: 100%
}

#home .photos .column:last-child {
    display: none
}

@media screen and (min-width: 728px) {
    #home .photos .column {
        width: 50%
    }

    #home .photos .column:first-child {
        /* transform: translateY(-50px); */
        padding-left: 5rem;
    }

    #home .photos .column:last-child {
        display: block;
        padding-right: 5rem;
    }
}

#home .photos .column .gallery {
    overflow: hidden;
    position: relative;
    width: 100%;
}

#home .photos .column .gallery__item {
    opacity: 0;
    position: absolute;
    width: 100%;
}

#home .photos .column .gallery__item:first-child {
    opacity: 1
}

#home .photos .column .gallery__item img {
    display: block;
    width: 100%
}

@media screen and (min-height: 728px) {
    .servicos:before {
        height: 232px
    }
}

section#servicos {
    z-index: 9;
}

.servicos .title {
    color: #000;
    font-size: 2em;
    letter-spacing: .5em;
    padding-top: 30px;
    text-align: center;
    text-transform: uppercase
}

@media screen and (min-width: 728px) {
    .servicos .title {
        font-size: 2em;
        letter-spacing: 1em;
        text-align: center;
    }
}

#home .clientes {
    align-items: flex-start;
    flex-flow: row wrap;
    justify-content: space-between;
    padding: 0 10% 100px;
    position: relative;
    width: 100%;
    z-index: 11
}

#home .clientes .bg {
    background: url(https://erickyago.com.br/assets/img/uploads/parallax/parallax_20251026_153130_c72c0656.jpg) 50%;
    content: "";
    display: block;
    height: calc(100% - 100vh);
    left: 0;
    position: absolute;
    top: 100vh;
    width: 100%
}

#home .clientes .case .case__box:after,
#home .clientes .case .case__box:before,
#home .clientes .more a:after,
#home .clientes .more a:before,
#home .clientes .white-line {
    background: #fff;
    content: "";
    display: block;
    position: absolute
}

#home .clientes .more {
    margin-top: 100px;
    position: relative;
    width: 100%
}

#home .clientes .more a {
    color: #ab7857;
    font-family: Arapey, Georgia, serif;
    font-size: 1.7em;
    letter-spacing: .4em;
    position: relative;
    text-decoration: none;
    text-transform: uppercase
}

@media screen and (min-width: 728px) {
    #home .clientes .more a {
        letter-spacing: .7em
    }
}

#home .clientes .more a:hover:after,
#home .clientes .more a:hover:before {
    transform: rotate(90deg)
}

#home .clientes .more a:before {
    height: 120px;
    right: -60px;
    top: -45px;
    transition: all .3s ease-in-out .2s;
    width: 3px
}

#home .clientes .more a:after,
#home .clientes .more a:before {
    background: #ab7857;
    pointer-events: none;
    transform-origin: 50%
}

#home .clientes .more a:after {
    height: 3px;
    right: -120px;
    top: 12px;
    transition: all .3s ease-in-out;
    width: 120px
}

#home .clientes .more a strong {
    font-family: Roboto, Helvetica, Arial, sans-serif;
    font-size: .9em
}

#home .consertos {
    background: #fff;
    position: relative;
    width: 100%;
    z-index: 8
}

#home .consertos .library {
    position: absolute;
    right: 0;
    top: 0;
    transform: translateY(-48px);
    width: 65%;
    z-index: 1
}

#home .consertos .library img {
    display: block;
    width: 100%
}

#home .consertos .grid {
    left: 0;
    position: absolute;
    top: 0;
    width: 58%;
    z-index: 2
}

#home .consertos .grid img {
    display: block;
    width: 100%
}

#home .consertos .info {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    padding: 55px 20px 0;
    position: relative;
    z-index: 5
}

@media screen and (min-width: 980px) {
    #home .consertos .info {
        padding: 55px 0 0 170px
    }
}

#home .consertos .info:before {
    background: #fff;
    content: "";
    height: 100%;
    left: 20px;
    position: absolute;
    top: 80px;
    width: calc(100% - 40px);
    z-index: 1
}

@media screen and (min-width: 640px) {
    #home .consertos .info:before {
        width: 50%
    }
}

@media screen and (min-width: 728px) {
    #home .consertos .info:before {
        top: 100px;
        width: 580px
    }
}

@media screen and (min-width: 980px) {
    #home .consertos .info:before {
        left: 60px;
        width: 690px
    }
}

#home .consertos .info h3 {
    color: #3f3f41;
    font-size: 2em;
    font-weight: 400;
    letter-spacing: .9em;
    line-height: 1.5em;
    margin-bottom: 57px;
    text-transform: uppercase;
    white-space: pre-wrap;
    width: 100%;
    z-index: 5
}

@media screen and (min-width: 640px) {
    #home .consertos .info h3 {
        font-size: 3.2em
    }
}

@media screen and (min-width: 728px) {
    #home .consertos .info h3 {
        font-size: 2em;
    }
}

#home .consertos .info p {
    color: #3f3f41;
    font-family: Arapey, Georgia, serif;
    font-size: 1.3em;
    font-style: italic;
    line-height: 1.5em;
    width: calc(100% - 40px);
    z-index: 5
}

@media screen and (min-width: 640px) {
    #home .consertos .info p {
        width: 50%
    }
}

@media screen and (min-width: 980px) {
    #home .consertos .info p {
        font-size: 1.4em;
        max-width: 360px;
        width: 100%
    }
}

#home .consertos .info .tablet {
    display: none;
    z-index: 9
}

@media screen and (min-width: 640px) {
    #home .consertos .info .tablet {
        display: block;
        margin: 0 auto 0 30px;
        width: calc(50% - 30px)
    }
}

#home .consertos .info .tablet img {
    display: block;
    margin: 0 auto;
    max-width: 100%
}

@media screen and (min-width: 728px) {
    #home .consertos .info .tablet img {
        margin: 0
    }
}

#home .produtos {
    align-items: center;
    background: url(https://web.archive.org/web/20220109043319im_/http://agenciamodern.com/images/bg_quem.jpg);
    display: flex;
    flex-direction: column;
    padding: 57px 0 0;
    position: relative;
    z-index: 11
}

#home .produtos .title {
    margin-bottom: 50px
}

#home .produtos .title img {
    display: block;
    width: 120px;
}

#home .produtos p {
    color: #fff;
    font-family: Arapey, Georgia, serif;
    font-size: 1.4em;
    font-style: italic;
    line-height: 1.7em;
    max-width: 830px;
    text-align: center;
    width: 80%
}

#home .produtos p em {
    color: #c4d900
}

#home .produtos ul {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    list-style: none;
    margin: 30px 0;
    max-width: 1020px;
    width: 100%
}

@media screen and (min-width: 728px) {
    #home .produtos ul {
        justify-content: space-between
    }
}

#home .produtos ul:hover li {
    opacity: .4
}

#home .produtos ul li {
    padding: 30px 23px;
    text-align: center;
    transition: all .3s ease-in-out;
    width: 40%
}

@media screen and (min-width: 728px) {
    #home .produtos ul li {
        width: auto
    }
}

#home .produtos ul li:hover {
    opacity: 1
}

#home .produtos ul li a {
    text-decoration: none
}

#home .produtos ul li img {
    display: block;
    max-width: 100%
}

#home .produtos .demo {
    background: #a6a6a6;
    display: flex;
    justify-content: center;
    margin-top: 40px;
    padding: 0 20px;
    width: 100%
}

@media(min-width: 728px) {
    #home .produtos .demo {
        margin-top: 200px
    }
}

#home .produtos .demo .image {
    border-top: 6px solid #c4d900;
    transform: translateY(-30%)
}

#home .produtos .demo .image img {
    display: block;
    max-width: 100%
}

#home .parceiros {
    align-items: center;
    background: url(https://erickyago.com.br/assets/img/home/bg/bg@small.jpg) 50% fixed;
    background-size: cover;
    display: flex;
    flex-direction: column;
    padding: 120px 0 174px;
    position: relative
}

@media screen and (-webkit-min-device-pixel-ratio: 2) {
    #home .parceiros {
        background-attachment: scroll
    }
}

@media screen and (min-width: 728px) {
    #home .parceiros {
        background: url(https://erickyago.com.br/assets/img/home/bg/bg_quem.jpg) no-repeat 50% fixed;
        background-size: cover
    }
}

#home .parceiros .title {
    display: flex;
    margin-bottom: 50px;
    flex-wrap: wrap;
}

@media screen and (min-width: 980px) {
    #home .parceiros .title {
        flex-direction: row;
    }
}

#home .parceiros .title h3 {
    font-size: 1.7em;
    font-weight: 700;
    letter-spacing: 1em;
    margin-bottom: 40px;
    text-transform: uppercase
}

@media screen and (min-width: 980px) {
    #home .parceiros .title h3 {
        margin-bottom: 0;
        margin-bottom: revert;
        width: -webkit-fill-available;
        text-align: center;
    }
}

#home .parceiros .title p {
    color: #fff;
    font-size: 1.2em;
    font-weight: 100;
    letter-spacing: .2em;
    line-height: 1.5em;
    padding: 0 20px;
    text-align: center;
    text-transform: uppercase;
}

@media screen and (min-width: 980px) {
    #home .parceiros .title p {
        font-size: 1em;
        line-height: 1.7em;
        padding: 0 100px;
        white-space: pre-wrap;
        font-weight: 500;
    }
}

#home .parceiros ul {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    list-style: none;
    margin: 30px 0;
    max-width: 1020px;
    padding: 0 20px;
    width: 100%
}

@media screen and (min-width: 728px) {
    #home .parceiros ul {
        justify-content: flex-start;
        padding: 0 20px
    }
}

#home .parceiros ul:hover li {
    opacity: .4
}

#home .parceiros ul li {
    padding: 40px 20px;
    text-align: center;
    transition: all .3s ease-in-out;
    width: 40%
}

@media screen and (min-width: 728px) {
    #home .parceiros ul li {
        width: 25%
    }
}

#home .parceiros ul li a {
    text-decoration: none
}

#home .parceiros ul li:hover {
    opacity: 1
}

#home .parceiros ul li img {
    display: block;
    margin: 0 auto;
    max-width: 100%
}

#home .contato {
    -moz-perspective: 600px;
    -webkit-perspective: 600px;
    background: url(https://erickyago.com.br/assets/img/home/bg/bg_contact.jpg) no-repeat 50% fixed;
    background-size: cover;
    padding: 90px 20px;
    perspective: 600px;
    position: relative;
    width: 100%;
    z-index: 11
}

@media screen and (-webkit-min-device-pixel-ratio: 2) {
    #home .contato {
        background-attachment: scroll
    }
}

@media screen and (min-width: 980px) {
    #home .contato {
        padding: 180px 20px
    }
}

#home .contato .title {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
    padding-bottom: 57px;
    text-align: center;
    width: 80%
}

#home .contato .title h3 {
    color: #fff;
    font-size: 3.4em;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase
}

@media screen and (min-width: 980px) {
    #home .contato .title h3 {
        letter-spacing: 1em
    }
}

#home .contato .title p {
    color: #fff;
    font-family: Arapey, Georgia, serif;
    font-size: 1.7em;
    font-style: italic;
    font-weight: 100
}

#home .contato .card {
    background: #3f3f41;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    position: relative;
    transform: rotate(0deg, 0deg);
    width: 80%
}

@media screen and (min-width: 820px) {
    #home .contato .card {
        flex-direction: row;
        width: 815px
    }
}

#home .contato .card__column {
    color: #3f3f41;
    padding: 80px 20px;
    text-align: center;
    width: 100%
}

@media screen and (min-width: 820px) {
    #home .contato .card__column {
        padding: 80px;
        width: 50%
    }

    .card__column.logo {
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

#home .contato .card__column p {
    font-size: .9em;
    line-height: 1.5em;
    padding: 3px 0;
    text-transform: uppercase
}

#home .contato .card__column p.telephone,
#home .contato .card__column p.whatsapp {
    display: flex;
    font-size: 1.14em;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
}

#home .contato .card__column p.spaced {
    padding: 30px 0
}

#home .contato .card__column p.spaced a {
    color: #3f3f41
}

#home .contato .card__column p a {
    color: #3f3f41
}

@media screen and (min-width: 820px) {
    #home .contato .card__column p {
        font-size: 1.14em
    }
}

#home .contato .card__column:first-child svg {
    display: block;
    fill: #ab7857;
    width: 100%
}

#home .contato .card__column:nth-child(2) {
    background: #fff
}

#home .founder {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 150px auto;
    max-width: 1020px;
    padding: 0 40px;
    position: relative;
    width: 100%
}

@media screen and (min-width: 728px) {
    #home .founder {
        flex-direction: row;
        padding: 0 20px
    }
}

@media screen and (min-width: 980px) {
    #home .founder {
        padding: 0
    }
}

#home .founder .photo {
    flex-shrink: 0;
    margin: 0 auto 70px;
    padding: 0 20px;
    width: 300px
}

@media screen and (min-width: 728px) {
    #home .founder .photo {
        margin: 0 70px 0 0
    }
}

#home .founder .photo img {
    display: block;
    width: 100%
}

#home .founder .info {
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

#home .founder .info h3 {
    font-size: 1.7em;
    letter-spacing: .6em;
    line-height: 1.4em;
    margin-bottom: 40px;
    text-align: center;
    text-transform: uppercase
}

@media screen and (min-width: 728px) {
    #home .founder .info h3 {
        margin-bottom: 20px;
        text-align: left;
        /* white-space:pre-wrap; */
    }
}

#home .founder .info p {
    font-family: Arapey, Georgia, serif;
    font-size: 1.4em;
    font-style: italic;
    line-height: 1.5em;
    padding-right: 0
}

@media screen and (min-width: 728px) {
    #home .founder .info p {
        padding-right: 40px
    }
}

.listserv {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    list-style: none;
    margin-top: 50px;
}

@media screen and (min-width: 980px) {
    .listserv {
        justify-content: flex-start
    }
}

.listserv__item {
    margin-bottom: 112px;
    width: 260px
}

@media screen and (min-width: 980px) {
    .listserv__item {
        margin-right: calc(50% - 390px)
    }

    .listserv__item:nth-child(3n) {
        margin-right: 0
    }
}

.listserv__item a {
    color: #3f3f41;
    display: block;
    position: relative;
    text-decoration: none
}

.listserv__item a:hover .thumb img {
    transform: scale(1.2) rotate(3deg)
}

.listserv__item a:hover .thumb h4 {
    background: rgba(0, 0, 0, .3)
}

.listserv__item a:hover .bar {
    width: 70%
}

.listserv__item a .thumb {
    height: 260px;
    overflow: hidden;
    position: relative;
    width: 100%
}

.listserv__item a .thumb img {
    display: block;
    transition: all .3s ease-in-out;
    width: 100%
}

.listserv__item a .thumb h4 {
    align-items: center;
    background: rgba(0, 0, 0, .6);
    color: #fff;
    display: flex;
    font-size: 1.7em;
    height: 100%;
    justify-content: center;
    left: 0;
    margin: 0;
    padding: 0;
    position: absolute;
    text-align: center;
    text-transform: uppercase;
    top: 0;
    transition: all .3s ease-in-out;
    width: 100%
}

.listserv__item a .bar {
    background: #ab7857;
    height: 7px;
    margin: 25px 0 17px;
    transition: all .3s ease-in-out;
    width: 60%
}

.listserv__item a .info {
    color: #3f3f41;
    font-family: Arapey, Georgia, serif;
    font-size: 1.3em;
    font-style: italic;
    line-height: 1.5em
}

.case-bioderma .section-title {
    background: #f3fafc
}

.case-bioderma .image {
    display: flex;
    justify-content: center;
    left: 50%;
    max-width: 1020px;
    padding: 0 20px;
    position: absolute;
    top: 0;
    transform: translate(-50%);
    width: 100%
}

@media screen and (min-width: 728px) {
    .case-bioderma .image {
        justify-content: flex-end;
        top: 50%;
        transform: translate(-50%, -50%)
    }
}

@media screen and (min-width: 1020px) {
    .case-bioderma .image {
        padding: 0
    }
}

.case-bioderma .image img {
    display: block;
    height: 100%;
    margin: 0;
    max-height: 410px
}

.case-bioderma hr {
    background: #546886
}

.case-danone .section-title {
    background: #f5f5f5
}

.case-danone .section-title .image {
    display: flex;
    justify-content: center;
    left: 50%;
    max-width: 1020px;
    padding: 0 20px;
    position: absolute;
    top: 90px;
    transform: translate(-50%);
    width: 100%
}

@media screen and (min-width: 728px) {
    .case-danone .section-title .image {
        justify-content: flex-end;
        top: 50%;
        transform: translate(-50%, -50%)
    }
}

@media screen and (min-width: 1020px) {
    .case-danone .section-title .image {
        padding: 0
    }
}

.case-danone .section-title .image img {
    display: block;
    height: 100%;
    margin: 0;
    max-height: 300px
}

.case-danone .section-title hr {
    background: #365aa0
}

.case-kitchenaid .section-title {
    background: #000
}

@media screen and (min-width: 728px) {
    .case-kitchenaid .section-title {
        background: #000 url(https://erickyago.com.br/assets/img/uploads/clientes/kitchenaid-top.jpg) no-repeat 100%;
        background-size: cover
    }
}

.case-kitchenaid .section-title .title h1,
.case-kitchenaid .section-title .title p {
    color: #fff
}

.case-kitchenaid .section-title .image {
    display: flex;
    justify-content: center;
    left: 50%;
    max-width: 1020px;
    padding: 0 20px;
    position: absolute;
    top: 90px;
    transform: translate(-50%);
    width: 100%
}

@media screen and (min-width: 728px) {
    .case-kitchenaid .section-title .image {
        display: none
    }
}

.case-kitchenaid .section-title .image img {
    display: block;
    height: 100%;
    margin: 0;
    max-height: 300px
}

.case-kitchenaid hr {
    background: #cf4334
}

.case-idfashion .section-title {
    background: linear-gradient(180deg, #b0b9ba, #c4c3b9)
}

@media screen and (max-width: 728px) {
    .case-idfashion .section-title .title {
        margin-top: 420px
    }

    .header {
        height: 50px !important
    }

    .header .logo {
        width: -webkit-fill-available;
    }

    .header .logo img {
        width: -webkit-fill-available
    }

    #home .clientes .case .case__box:before,
    .clientes .case .case__box:before {
        height: 50px;
        right: 100px;
        top: -25px;
        width: 3px;
    }

    #home .clientes .case .case__box:after,
    .clientes .case .case__box:after {
        height: 3px;
        right: 75px;
        top: 0;
        width: 50px;
    }

    #home .clientes .case .case__box,
    .clientes .case .case__box {
        background: #ab7857;
        color: #000000;
        display: flex;
        flex-flow: column nowrap;
        font-size: 1.4em;
        height: auto;
        justify-content: flex-end;
        letter-spacing: .2em;
        line-height: 1.2em;
        margin-top: -50px;
        padding: 20px 20px 20px;
        position: relative;
        text-transform: uppercase;
        transition: all .3s ease-in-out;
        width: 200px;
    }

    #home .clientes .case:hover .case__box,
    .clientes .case:hover .case__box {
        height: auto;
        /* margin-top: -100px; */
    }

    #home .clientes .more a {
        color: #ab7857;
        font-family: Arapey, Georgia, serif;
        font-size: 1.2em;
        letter-spacing: .4em;
        position: relative;
        text-decoration: none;
        text-transform: uppercase;
    }

    #home .clientes .more a:before {
        height: 50px;
        right: -26px;
        top: -14px;
        transition: all .3s ease-in-out .2s;
        width: 3px;
    }

    #home .clientes .more a:after {
        height: 3px;
        right: -50px;
        top: 10px;
        transition: all .3s ease-in-out;
        width: 50px;
    }

    #home .clientes .section-title .title,
    .clientes .section-title .title {
        color: #fff;
        font-size: 1.3em;
        letter-spacing: .7em;
        text-transform: uppercase;
    }

    #home .clientes .section-title,
    .clientes .section-title {
        align-self: center;
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: auto;
    }

    #home .parceiros .title h3 {
        font-size: 1.3em;
        font-weight: 700;
        letter-spacing: 1em;
        margin-bottom: 40px;
        text-transform: uppercase;
    }

    #home .parceiros .title {
        display: flex;
        margin-bottom: 50px;
        flex-wrap: wrap;
        justify-content: center;
    }

    #home .clientes .section-title p,
    .clientes .section-title p {
        color: #fff;
        font-size: 1.0em;
        font-weight: 100;
        letter-spacing: .7em;
        line-height: 1.5em;
        padding: 25px 0;
        text-transform: uppercase;
        /* white-space: pre; */
    }

    #home .parceiros .title p {
        color: #fff;
        font-size: 1.0em;
        font-weight: 100;
        letter-spacing: .2em;
        line-height: 1.5em;
        padding: 0 20px;
        text-align: center;
        text-transform: uppercase;
    }



    .servicos .title {
        color: #000;
        font-size: 2.0em;
        letter-spacing: .5em;
        padding-top: 30px;
        text-align: center;
        text-transform: uppercase;
    }

    #home .contato .title h3 {
        color: #fff;
        font-size: 2.0em;
        font-weight: 700;
        letter-spacing: .2em;
        text-transform: uppercase;
    }

    #home .quem {
        align-items: center;
        /* background: url(https://bcgesso.com.br/assets/img/uploads/parallax/bg-mobile-01.jpg) no-repeat 50% fixed !important; */
        background-size: cover;
        display: flex;
        min-height: 100vh;
        padding: 120px 20px
    }

    #home .parceiros {
        align-items: center;
        background: url(https://bcgesso.com.br/assets/img/uploads/parallax/bg-mobile-01.jpg) 50% / cover fixed !important;
        display: flex;
        flex-direction: column;
        padding: 100px 0 14px;
        position: relative;
    }

    #home .consertos .grid {
        left: 0;
        position: absolute;
        top: 135px;
        width: -webkit-fill-available;
        z-index: 2;
    }

    #home .consertos .info h3 {
        color: #ffffff;
        font-size: 1.0em;
        font-weight: 400;
        letter-spacing: .9em;
        line-height: 1.5em;
        margin-bottom: 57px;
        text-transform: uppercase;
        white-space: pre-wrap;
        width: 100%;
        z-index: 5;
    }

    #home .consertos .info p {
        color: #3f3f41;
        font-family: Arapey, Georgia, serif;
        font-size: 1.3em;
        font-style: italic;
        line-height: 1.5em;
        width: calc(100% - 40px);
        padding: 10px 20px 0px;
        z-index: 5;
    }

    #home .consertos .info {
        display: flex;
        flex-flow: row wrap;
        justify-content: center;
        padding: 55px 20px 0;
        position: relative;
        z-index: 5;
        align-items: center;
    }

    #home .consertos .info:before {
        background: #fff;
        content: "";
        height: 100%;
        left: 20px;
        position: absolute;
        top: 135px;
        width: calc(100% - 40px);
        z-index: 1;
    }

    #home .consertos .library {
        position: absolute;
        right: 0;
        top: 0;
        transform: translateY(-48px);
        width: -webkit-fill-available;
        z-index: 1;
    }

    #home .servicos {
        background: url(https://erickyago.com.br/assets/img/home/bg/services-pattern.jpg) top #fff !important;
        padding: 0 20px;
        position: relative;
        width: 100%;
        z-index: 12;
    }

    body.pagina .servicos {
        background: url(https://erickyago.com.br/assets/img/home/bg/services-pattern.jpg) top #fff !important;

    }

    .tb-horizontal-scroll-in .tb-horizontal-scroll-bar {
        width: -webkit-fill-available;
    }


}

.case-idfashion .image {
    display: flex;
    justify-content: center;
    left: 50%;
    max-width: 1020px;
    padding: 0 20px;
    position: absolute;
    top: 90px;
    transform: translate(-50%);
    width: 100%
}

@media screen and (min-width: 728px) {
    .case-idfashion .image {
        justify-content: flex-end;
        top: 50%;
        transform: translate(-50%, -50%)
    }
}

@media screen and (min-width: 1020px) {
    .case-idfashion .image {
        padding: 0
    }
}

.case-idfashion .image img {
    display: block;
    height: 100%;
    margin: 0;
    max-height: 370px
}

.case-idfashion hr {
    background: #000
}

.case-mundoneo .section-title {
    background: #f2f7f9 url(https://erickyago.com.br/assets/img/uploads/clientes/mundoneo-bg.jpg) no-repeat 50%;
    background-size: cover
}

.case-mundoneo .image {
    display: flex;
    justify-content: center;
    left: 50%;
    max-width: 1020px;
    padding: 0 20px;
    position: absolute;
    top: 90px;
    transform: translate(-50%);
    width: 100%
}

@media screen and (min-width: 728px) {
    .case-mundoneo .image {
        justify-content: flex-end;
        top: 50%;
        transform: translate(-50%, -50%)
    }
}

@media screen and (min-width: 1020px) {
    .case-mundoneo .image {
        padding: 0
    }
}

.case-mundoneo .image img {
    display: block;
    height: 100%;
    margin: 0;
    max-height: 320px
}

.case-mundoneo hr {
    background: #d56b92
}

.case-dieedro .section-title {
    background: #fff
}

@supports(mix-blend-mode: darken) {
    .case-dieedro .section-title {
        background: #fff url(https://erickyago.com.br/assets/img/uploads/clientes/dieedro-bg.jpg) no-repeat bottom;
        background-size: contain
    }
}

@media screen and (max-width: 728px) {
    .case-dieedro .section-title .title {
        margin-top: 320px
    }
}

.case-dieedro .image {
    display: flex;
    justify-content: center;
    left: 50%;
    max-width: 1020px;
    mix-blend-mode: darken;
    overflow: hidden;
    padding: 0 20px;
    position: absolute;
    top: 90px;
    transform: translate(-50%);
    width: 100%
}

@media screen and (min-width: 728px) {
    .case-dieedro .image {
        justify-content: flex-end;
        top: 50%;
        transform: translate(-50%, -50%)
    }
}

@media screen and (min-width: 1020px) {
    .case-dieedro .image {
        padding: 0
    }
}

.case-dieedro .image img {
    display: block;
    height: 100%;
    margin: 0;
    max-height: 240px
}

.case-dieedro hr {
    background: #000
}

.case-domadora-cabelos .section-title {
    background: linear-gradient(90deg, #86739a, #432559)
}

.case-domadora-cabelos .section-title .title h1,
.case-domadora-cabelos .section-title .title p {
    color: #fff
}

.case-domadora-cabelos .image {
    display: flex;
    justify-content: center;
    left: 50%;
    max-width: 1020px;
    overflow: hidden;
    padding: 0 20px;
    position: absolute;
    top: 90px;
    transform: translate(-50%);
    width: 100%
}

@media screen and (min-width: 728px) {
    .case-domadora-cabelos .image {
        justify-content: flex-end;
        top: 50%;
        transform: translate(-50%, -50%)
    }
}

@media screen and (min-width: 1020px) {
    .case-domadora-cabelos .image {
        padding: 0
    }
}

.case-domadora-cabelos .image img {
    display: block;
    height: 100%;
    margin: 0;
    max-height: 300px
}

.case-domadora-cabelos hr {
    background: #3f1f54
}

.case-matteleao .section-title {
    background: url(https://erickyago.com.br/assets/img/uploads/clientes/matte-bg.jpg) no-repeat 50%;
    background-size: cover
}

@media screen and (max-width: 728px) {
    .case-matteleao .section-title .title {
        margin-top: 350px
    }
}

.case-matteleao .image {
    display: flex;
    justify-content: center;
    left: 50%;
    max-width: 1020px;
    overflow: hidden;
    padding: 0 20px;
    position: absolute;
    top: 90px;
    transform: translate(-50%);
    width: 100%
}

@media screen and (min-width: 728px) {
    .case-matteleao .image {
        justify-content: flex-end;
        top: 50%;
        transform: translate(-50%, -50%)
    }
}

@media screen and (min-width: 1020px) {
    .case-matteleao .image {
        padding: 0
    }
}

.case-matteleao .image img {
    display: block;
    height: 100%;
    margin: 0;
    max-height: 300px
}

.case-matteleao hr {
    background: #000
}

#nta-wa-gdpr {
    vertical-align: text-top !important;
    padding: 0 !important;
    margin: 0 !important
}

.nta-wa-gdpr {
    font-size: 11px;
    padding: 5px;
    margin-left: -5px;
    margin-right: -5px;
    border-radius: 4px
}

.nta-wa-gdpr a {
    text-decoration: underline;
    color: inherit
}

.pointer-disable {
    pointer-events: none
}

.whatsapp-button *,
.whatsapp-button :after,
.whatsapp-button :before,
.whatsapp-chatbox,
.whatsapp-chatbox *,
.whatsapp-chatbox :after,
.whatsapp-chatbox :before {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box
}

.agent-status {
    display: flex;
    align-items: center;
    margin-top: 5px;
    font-size: .9em;
    font-weight: 500
}

.status-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 6px
}

.status-online .status-dot {
    background-color: #28a745;
    animation: pulseDot 1.2s infinite
}

.status-offline .status-dot {
    background-color: #b9bbbe
}

.status-online {
    color: #28a745
}

.status-offline {
    color: #999
}

@keyframes pulseDot {
    0% {
        transform: scale(1);
        opacity: .9
    }

    50% {
        transform: scale(1.5);
        opacity: .5
    }

    100% {
        transform: scale(1);
        opacity: .9
    }
}

.online {
    background: #2db742;
    cursor: pointer;
    transition: .4s ease all;
    -webkit-transition: .4s ease all;
    -moz-transition: .4s ease all;
    backface-visibility: hidden;
    will-change: transform
}

.online:before {
    content: '';
    transition: .4s ease all;
    -webkit-transition: .4s ease all;
    -moz-transition: .4s ease all;
    background: rgba(0, 0, 0, .2);
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    opacity: 0;
    will-change: opacity
}

.whatsapp-button.online:active,
.whatsapp-button.online:focus,
.whatsapp-button.online:hover {
    box-shadow: 0 4px 8px 1px rgba(32, 32, 37, .19);
    transform: translate(0, -3px);
    -webkit-transform: translate(0, -3px);
    -moz-transform: translate(0, -3px);
    -ms-transform: translate(0, -3px)
}

.whatsapp-button.online:active:before,
.whatsapp-button.online:focus:before,
.whatsapp-button.online:hover:before {
    opacity: 1
}

.offline {
    background: #ebedf0;
    color: #595b60;
    box-shadow: none;
    cursor: initial
}

.whatsapp-chatbox {
    font-family: Arial, Helvetica, sans-serif;
    width: 351px;
    border-radius: 5px 5px 8px 8px;
    -webkit-border-radius: 5px 5px 8px 8px;
    -moz-border-radius: 5px 5px 8px 8px;
    position: fixed;
    overflow: hidden;
    box-shadow: 0 10px 10px 4px rgba(0, 0, 0, .04);
    -webkit-box-shadow: 0 10px 10px 4px rgba(0, 0, 0, .04);
    -moz-box-shadow: 0 10px 10px 4px rgba(0, 0, 0, .04);
    bottom: 102px;
    right: 25px;
    z-index: 998;
    opacity: 0;
    visibility: hidden;
    -ms-transform: translate(0, 50px);
    transform: translate(0, 50px);
    -webkit-transform: translate(0, 50px);
    -moz-transform: translate(0, 50px);
    transition: .4s ease all;
    -webkit-transition: .4s ease all;
    -moz-transition: .4s ease all;
    will-change: transform, visibility, opacity;
    max-width: calc(100% - 50px)
}

.whatsapp-chatbox:active,
.whatsapp-chatbox:focus,
.whatsapp-chatbox:hover {
    box-shadow: 0 10px 10px 4px rgba(32, 32, 37, .23);
    -webkit-box-shadow: 0 10px 10px 4px rgba(32, 32, 37, .23);
    -moz-box-shadow: 0 10px 10px 4px rgba(32, 32, 37, .23)
}

.whatsapp-chatbox.active {
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    visibility: visible;
    opacity: 1
}

.whatsapp-chatbox .chatbox-header {
    position: relative;
    width: max-content;
    padding: 8px 43px 5px 75px;
    color: #d9ebc6;
    background: #32893f;
    flex-wrap: wrap;
}

.chatbox-header i {
    position: absolute;
    left: 17px;
    top: 20px;
    font-size: 35px;
}

.whatsapp-chatbox .chatbox-header .chatbox-title {
    padding-top: 2px;
    padding-bottom: 3;
    color: #fff;
    font-size: 18px;
    line-height: 24px
}

.whatsapp-chatbox .chatbox-header .chatbox-hours {
    padding-top: 4px;
    font-size: 12px;
    font-weight: 500;
    line-height: 20px
}

.whatsapp-chatbox .chatbox-header .chatbox-hours strong {
    margin: 5px
}

.whatsapp-chatbox .chatbox-header .chatbox-hours a {
    display: inline-block;
    color: #fff;
    text-decoration: none
}

.whatsapp-chatbox .chatbox-header .chatbox-hours a:active,
.whatsapp-chatbox .chatbox-header .chatbox-hours a:focus,
.whatsapp-chatbox .chatbox-header .chatbox-hours a:hover {
    text-decoration: underline
}

.chatbox-welcome-message {
    color: #363636;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
}

.whatsapp-chatbox .chatbox-note {
    font-size: 11px;
    color: #ffffff;
    font-weight: 100;
    padding: 0;
}

.whatsapp-chatbox .chatbox-body {
    background: #fff;
    padding: 13px 20px 21px 19px;
    text-align: center
}

.whatsapp-chatbox .chatbox-left {
    text-align: left
}

.whatsapp-chatbox .agent-avatar {
    position: absolute;
    width: auto;
    height: auto;
    overflow: hidden;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    left: 12px;
    top: 12px
}

.whatsapp-chatbox .agent-avatar.nta-default-avt {
    border-radius: unset;
    -webkit-border-radius: unset;
    -moz-border-radius: unset
}

.whatsapp-chatbox .agent {
    background: #363636;
    padding: 13px 40px 12px 74px;
    position: relative;
    text-decoration: none;
    display: table;
    width: 100%;
    border-left: 2px solid #2db742;
    background: #f4faff;
    border-radius: 2px 4px 2px 4px;
    -webkit-border-radius: 2px 4px 2px 4px;
    -moz-border-radius: 2px 4px 2px 4px
}

.whatsapp-chatbox .agent.online {
    transition: .2s ease all;
    -webkit-transition: .2s ease all;
    -moz-transition: .2s ease all
}

.chatbox-list {
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

.whatsapp-chatbox .agent.online:active,
.whatsapp-chatbox .agent.online:focus,
.whatsapp-chatbox .agent.online:hover {
    background: #fff;
    box-shadow: 0 7px 15px 1px rgba(55, 62, 70, .07);
    -webkit-box-shadow: 0 7px 15px 1px rgba(55, 62, 70, .07);
    -moz-box-shadow: 0 7px 15px 1px rgba(55, 62, 70, .07)
}

.chatbox-list .chatbox-item {
    margin: 14px 0 0;
    transform: translate(0, 20px);
    -webkit-transform: translate(0, 20px);
    -moz-transform: translate(0, 20px);
    will-change: opacity, transform;
    opacity: 0
}

.whatsapp-chatbox.whatsapp-pending .chatbox-list .chatbox-item {
    transition: .4s ease all;
    -webkit-transition: .4s ease all;
    -moz-transition: .4s ease all;
    transition-delay: 2.1s;
    -webkit-transition-delay: 2.1s;
    -moz-transition-delay: 2.1s
}

.whatsapp-chatbox.whatsapp-pending .chatbox-list .chatbox-item:nth-child(1) {
    transition-delay: .3s;
    -webkit-transition-delay: .3s;
    -moz-transition-delay: .3s
}

.whatsapp-chatbox.whatsapp-pending .chatbox-list .chatbox-item:nth-child(2) {
    transition-delay: .5s;
    -webkit-transition-delay: .5s;
    -moz-transition-delay: .5s
}

.whatsapp-chatbox.whatsapp-pending .chatbox-list .chatbox-item:nth-child(3) {
    transition-delay: .7s;
    -webkit-transition-delay: .7s;
    -moz-transition-delay: .7s
}

.whatsapp-chatbox.whatsapp-pending .chatbox-list .chatbox-item:nth-child(4) {
    transition-delay: .9s;
    -webkit-transition-delay: .9s;
    -moz-transition-delay: .9s
}

.whatsapp-chatbox.whatsapp-pending .chatbox-list .chatbox-item:nth-child(5) {
    transition-delay: 1.1s;
    -webkit-transition-delay: 1.1s;
    -moz-transition-delay: 1.1s
}

.whatsapp-chatbox.whatsapp-pending .chatbox-list .chatbox-item:nth-child(6) {
    transition-delay: 1.3s;
    -webkit-transition-delay: 1.3s;
    -moz-transition-delay: 1.3s
}

.whatsapp-chatbox.whatsapp-pending .chatbox-list .chatbox-item:nth-child(7) {
    transition-delay: 1.5s;
    -webkit-transition-delay: 1.5s;
    -moz-transition-delay: 1.5s
}

.whatsapp-chatbox.whatsapp-pending .chatbox-list .chatbox-item:nth-child(8) {
    transition-delay: 1.7s;
    -webkit-transition-delay: 1.7s;
    -moz-transition-delay: 1.7s
}

.whatsapp-chatbox.whatsapp-pending .chatbox-list .chatbox-item:nth-child(9) {
    transition-delay: 1.9s;
    -webkit-transition-delay: 1.9s;
    -moz-transition-delay: 1.9s
}

.whatsapp-chatbox.whatsapp-lauch .chatbox-list .chatbox-item {
    opacity: 1;
    transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0)
}

.chatbox-list .chatbox-item .agent-name {
    font-size: 14px;
    color: #363c47;
    line-height: 1.188em !important
}

.chatbox-list .chatbox-item .agent-role {
    font-size: 11px;
    color: #989b9f;
    padding: 2px 0 0;
    line-height: 1.125em !important
}

.chatbox-list .chatbox-item .whatsapp-member_status {
    color: #f5a623;
    font-size: 10px;
    padding: 5px 0 0;
    line-height: 1.125em !important
}

.chatbox-list .chatbox-item .agent-info {
    display: table-cell;
    vertical-align: middle;
    min-height: 48px;
    height: 48px
}

.chatbox-list .chatbox-item .offline {
    border-left-color: #c0c5ca
}

.whatsapp-button {
    position: fixed;
    right: 30px;
    bottom: 30px;
    cursor: pointer;
    font-family: Arial, Helvetica, sans-serif;
    z-index: 999;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

.whatsapp-button .whatsapp-icon {
    width: 56px;
    height: 56px;
    background: #2db742;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    box-shadow: 0 6px 8px 2px rgba(0, 0, 0, .14);
    -webkit-box-shadow: 0 6px 8px 2px rgba(0, 0, 0, .14);
    -moz-box-shadow: 0 6px 8px 2px rgba(0, 0, 0, .14)
}

.whatsapp-button .whatsapp-icon:before {
    content: '';
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: transparent url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NzguMTY1IDQ3OC4xNjUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ3OC4xNjUgNDc4LjE2NSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik00NzguMTY1IDIzMi45NDZjMCAxMjguNTY3LTEwNS4wNTcgMjMyLjk2Ni0yMzQuNjc5IDIzMi45NjYtNDEuMTAyIDAtNzkuODE0LTEwLjU5OS0xMTMuNDQ1LTI4Ljk2OUwwIDQ3OC4xNjVsNDIuNDM3LTEyNS4wNGMtMjEuNDM4LTM1LjA2NS0zMy43Ny03Ni4yMDctMzMuNzctMTIwLjE1OUM4LjY2NyAxMDQuMzQgMTEzLjc2MyAwIDI0My40ODUgMGMxMjkuNjIzIDAgMjM0LjY4IDEwNC4zNCAyMzQuNjggMjMyLjk0NnpNMjQzLjQ4NSAzNy4wOThjLTEwOC44MDIgMC0xOTcuNDIyIDg3LjgwMy0xOTcuNDIyIDE5NS44NjggMCA0Mi45MTUgMTMuOTg2IDgyLjYwMyAzNy41NzYgMTE0Ljg3OWwtMjQuNTg2IDcyLjU0MiA3NS44NDktMjMuOTY4YzMxLjEyMSAyMC40ODEgNjguNDU3IDMyLjI5NiAxMDguNTgzIDMyLjI5NiAxMDguNzIzIDAgMTk3LjMyMy04Ny44NDMgMTk3LjMyMy0xOTUuOTA4IDAtMTA3Ljg4Ni04OC42LTE5NS43MDktMTk3LjMyMy0xOTUuNzA5ek0zNjEuOTMxIDI4Ni42MmMtMS4zOTUtMi4zMzEtNS4yMi0zLjc0Ni0xMC44OTgtNi44MTQtNS45MTctMi44NDktMzQuMDg5LTE2LjQ5Ny0zOS41MDgtMTguMzctNS4xNi0xLjkxMy04Ljk4Ni0yLjg0OS0xMi44MTEgMi44MjktNC4wMDUgNS42MzgtMTQuOTAzIDE4LjYyOS0xOC4yMyAyMi4zNTQtMy41NDYgMy43ODUtNi44NTQgNC4yNjQtMTIuNTUyIDEuNDM1LTUuNjE4LTIuODA5LTI0LjI2Ny04Ljg2Ni00Ni4yMDMtMjguMzkxLTE3LjA1NS0xNS4wNDItMjguNjctMzMuNzExLTMxLjk5Ny0zOS41MDgtMy40MjctNS43NTgtLjM5OC04LjgyNiAyLjQ3MS0xMS42MzUgMi42OS0yLjU5IDUuNzc4LTYuNzM0IDguNjI3LTEwLjA0MSAyLjk2OS0zLjI4NyAzLjkwNS01LjYzOCA1Ljc5OC05LjQyNCAxLjkxMy0zLjkwNS45MzYtNy4xOTItLjQ3OC0xMC4xNDEtMS40MTUtMi44NDktMTMuMDEtMzAuODgxLTE3Ljc1Mi00Mi4zMzctNC44NDEtMTEuNDE2LTkuNTQzLTkuNTIzLTEyLjg3MS05LjUyMy0zLjQ2NyAwLTcuMjEyLS40NzgtMTEuMTE3LS40NzgtMy43ODUgMC0xMC4wNDEgMS4zOTUtMTUuMzgxIDcuMTkyLTUuMiA1LjY1OC0yMC4xMjMgMTkuNDY1LTIwLjEyMyA0Ny41OTcgMCAyOC4wNTIgMjAuNjAxIDU1LjMwOCAyMy41NSA1OS4wNTMgMi44NjkgMy43ODUgMzkuNzQ3IDYzLjE5NyA5OC4zMDMgODYuMDcgNTguNDc2IDIyLjg3MiA1OC40NzYgMTUuMzIxIDY5LjExNSAxNC4zNjUgMTAuMzgtLjk1NiAzNC4wNjktMTMuODY3IDM4LjgxMS0yNy4wOTYgNC42Ni0xMy40NSA0LjY2LTI0Ljc2NiAzLjI0Ni0yNy4xMzd6IiBmaWxsPSIjRkZGIi8+PC9zdmc+) 50% no-repeat;
    background-size: 30px auto;
    -webkit-background-size: 30px auto;
    -moz-background-size: 30px auto;
    transition: .4s ease all;
    -webkit-transition: .4s ease all;
    -moz-transition: .4s ease all
}

.whatsapp-button .whatsapp-icon:after {
    content: '';
    opacity: 0;
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTguNjU5IDYuOTk4IDUtNWExLjE3NyAxLjE3NyAwIDAgMCAwLTEuNjU3IDEuMTc3IDEuMTc3IDAgMCAwLTEuNjU3IDBsLTUgNS01LTVBMS4xNzIgMS4xNzIgMCAwIDAgLjM0NSAxLjk5OGw1IDUtNSA1YTEuMTcyIDEuMTcyIDAgMCAwIDAgMS42NTcgMS4xNzcgMS4xNzcgMCAwIDAgMS42NTcgMGw1LTUgNSA1YTEuMTc3IDEuMTc3IDAgMCAwIDEuNjU3IDAgMS4xNzcgMS4xNzcgMCAwIDAgMC0xLjY1N2wtNS01WiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPg==) 50% no-repeat;
    background-size: 14px auto;
    -webkit-background-size: 14px auto;
    -moz-background-size: 14px auto;
    transition: .4s ease all;
    -webkit-transition: .4s ease all;
    -moz-transition: .4s ease all;
    -ms-transform: scale(0) rotate(-360deg);
    transform: scale(0) rotate(-360deg);
    -webkit-transform: scale(0) rotate(-360deg);
    -moz-transform: scale(0) rotate(-360deg)
}

.whatsapp-button.active .whatsapp-icon:before {
    opacity: 0;
    -ms-transform: scale(0) rotate(360deg);
    transform: scale(0) rotate(360deg);
    -webkit-transform: scale(0) rotate(360deg);
    -moz-transform: scale(0) rotate(360deg)
}

.whatsapp-button.active .whatsapp-icon:after {
    opacity: 1;
    -ms-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0);
    -webkit-transform: scale(1) rotate(0);
    -moz-transform: scale(1) rotate(0)
}

.whatsapp-button .whatsapp-text {
    display: flex;
    position: absolute;
    width: 130px;
    right: 100%;
    background-color: #f5f7f9;
    font-size: 12px;
    color: #43474e;
    top: 7px;
    padding: 7px 0 7px 12px;
    letter-spacing: -.03em;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    transition: .4s ease all;
    -webkit-transition: .4s ease all;
    -moz-transition: .4s ease all;
    flex-direction: column;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

.whatsapp-button.active .whatsapp-text {
    -ms-transform: translate(0, 15px);
    transform: translate(0, 15px);
    -webkit-transform: translate(0, 15px);
    -moz-transform: translate(0, 15px);
    opacity: 0;
    visibility: hidden
}

.pulsar-content {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%
}

.pulsar-1,
.pulsar-2,
.pulsar-3 {
    position: absolute;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    animation: radial-pulsar 2.3s infinite
}

.pulsar-1 {
    background: rgba(37, 211, 102, 1)
}

.pulsar-2 {
    animation-delay: 1.3333s
}

.pulsar-3 {
    animation-delay: 2.6666s
}

.icon-border {
    box-shadow: 0 0 0 1em #fff;
    height: 100%;
    width: 100%;
    position: absolute;
    width: 55px;
    height: 55px;
    border-radius: 50%
}

@keyframes radial-pulsar {
    0% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, .8)
    }

    50% {
        box-shadow: 0 0 0 1em rgba(255, 100, 100, 0)
    }

    100% {
        box-shadow: 0 0 0 0 rgba(255, 100, 100, 0)
    }
}

/* ========================================
   ANIMATION WOW ANIMATED
   ======================================== */
.animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.animated.infinite {
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

.animated.hinge {
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 80px, 0);
        transform: translate3d(0, 80px, 0)
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 80px, 0);
        -ms-transform: translate3d(0, 80px, 0);
        transform: translate3d(0, 80px, 0)
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none
    }
}

.fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp
}

.parallax-section {
    position: relative;
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.parallax-section .parallax-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}

.parallax-section>*:not(.parallax-overlay):not(.bg) {
    position: relative;
    z-index: 2;
}

.parallax-section .parallax-overlay {
    z-index: 1;
}

.parallax-section .bg {
    z-index: 0;
}

@media (max-width: 991px) {
    #home .produtos .title img {
        display: block;
        width: 120px;
    }

    .parallax-section {
        background-attachment: scroll !important;
        background-position: center top;
    }
}

body.pagina .galeria-hero {
    position: relative;
    padding: 6rem 0 3rem;
    text-align: center;
    color: #1d1d1d;
    overflow: hidden;
}

body.pagina .galeria-hero .wrapper {
    position: relative;
    z-index: 2;
}

body.pagina .galeria-hero.parallax-section {
    color: #ffffff;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

body.pagina .galeria-hero .parallax-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background-color: rgba(7, 12, 23, 0.55);
}

body.pagina .galeria-hero h1 {
    font-size: 3rem;
    color: #ffffff;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}

body.pagina .galeria-hero hr {
    width: 80px;
    margin: 0 auto 1.5rem;
    border: 0;
    border-top: 3px solid currentColor;
}

body.pagina .galeria-hero p {
    max-width: 760px;
    margin: 0 auto;
    font-size: 1.05rem;
}

body.pagina .galeria-hero.parallax-section p {
    color: rgba(255, 255, 255, 0.85);
}

section.galeria {
    padding: 30px 0px;
}

.input-container {
    display: flex;
    flex-direction: column;
}

.input-container {
    justify-content: center;
    flex-direction: column;
    background-color: #fff;
    padding: 30px;
    border-radius: 10px;
    border: 1.5px solid #d1d1d1;
    width: 100%;
}

.input-content {
    margin-bottom: 15px;
}

.input-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: nowrap;
}

div#lista-avaliacoes {
    display: flex;
    padding: 0 50px;
    margin-top: 2em;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.review-author {
    margin-bottom: .5em;
    font-size: 1.1em
}

#avaliar {
    display: flex;
    flex-direction: column;
    align-items: center
}

.estrelas {
    margin: .3em 0
}

#avaliar,
section#avaliacoes {
    position: relative;
    display: flex;
    padding: 2em;
    background: #e6e6e7;
    color: #1a1a1a;
    font-family: Arial, sans-serif;
    align-content: center;
    align-items: center;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center
}

#avaliar,
.form-field,
.recomenda,
.review,
.review-helpful,
.thumb-group,
div#lista-avaliacoes {
    width: -webkit-fill-available
}

#avaliar h3,
section#avaliacoes h2 {
    font-size: 1.8em;
    margin-bottom: 1em;
    color: #000;
    border-bottom: 2px solid #0078d4;
    padding-bottom: .5em
}

.review-body {
    font-size: 1em;
    color: #333
}

button#carregar-mais {
    display: none;
    background: #fff;
    color: #000;
    border: 1px solid;
    font-size: 1em;
    border-radius: 4px
}

#form-avaliacao button:hover,
button#carregar-mais:hover {
    background: #000;
    color: #fff
}

#form-avaliacao {
    width: 800px;
    display: flex;
    margin-top: 2em;
    flex-direction: row;
    justify-content: center;
    align-items: flex-end;
    flex-wrap: nowrap
}

#form-avaliacao label {
    display: block;
    margin-top: 1em;
    font-weight: 600
}

.helpful-count,
.review-author,
.review-header,
span#nota-media {
    font-weight: 700
}

#form-avaliacao input,
#form-avaliacao textarea {
    box-sizing: border-box;
    width: 100%;
    padding: .6em;
    margin-top: .3em;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1em
}

#form-avaliacao button {
    background: #fff;
    color: #000;
    border: 1px solid;
    font-size: 1em;
    border-radius: 4px
}

#form-avaliacao button:disabled,
#form-avaliacao button[disabled] {
    opacity: .45;
    cursor: not-allowed;
}

#form-avaliacao button,
button#carregar-mais {
    margin-top: 1.5em;
    padding: .8em 1.6em;
    cursor: pointer;
    transition: .3s;
}

span#nota-media {
    color: #2c2c2c;
    font-size: 64px;
    line-height: .9;
    text-align: center
}

.rating-summary {
    text-align: center;
    margin-bottom: 2em
}

.estrelas {
    color: #ffc400;
    font-size: 2.2em;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 20px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

#rating-chart {
    width: -webkit-fill-available;
}

#rating-chart .chart {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    height: 100%
}

#rating-chart .chart .rating-box {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    height: 15px;
    padding: 20px 0;
    padding: 10px;
    cursor: pointer;
    transition: opacity .2s ease-in-out
}

#rating-chart .chart .rating-box>* {
    height: 100%;
    display: flex;
    align-items: flex-start;
    font-weight: 500;
    color: #444
}

#rating-chart .chart .rating-box .rating-value {
    display: flex;
    align-items: center;
    font-size: 30px;
    cursor: inherit;
    transition: color .2s ease-in-out
}

#rating-chart .chart .rating-box .rating-value.is-active,
#rating-chart .chart .rating-box.is-active .rating-value {
    color: #66bb6a;
    padding: 0
}

#rating-chart .chart .rating-box.is-active .rating-count {
    color: #66bb6a
}

#rating-chart .chart .rating-box .rating-value:hover {
    color: #66bb6a
}



#rating-chart .chart .rating-box .progress-bar {
    border-width: 1px;
    position: relative;
    background: #cfd8dc91;
    height: 10px;
    border-radius: 100px;
    width: 350px
}

#rating-chart .chart .rating-box .progress-bar .progress {
    background: #66bb6a;
    height: 100%;
    border-radius: 100px;
    transition: .3s ease-in-out;
    margin: 0
}

#rating-chart .chart .rating-box .rating-count {
    font-family: 'Open Sans', Verdana, sans-serif;
    width: 11%;
    display: inline-block;
    text-align: left;
    padding-left: 5px;
    color: #555;
    white-space: nowrap;
    letter-spacing: .06rem
}

#rating-chart .chart span.rating-count:before {
    content: '('
}

#rating-chart .chart span.rating-count:after {
    content: ')'
}

#rating-chart.is-filtered .chart .rating-box {
    opacity: .6
}

#rating-chart.is-filtered .chart .rating-box.is-active {
    opacity: 1
}

#rating-chart .chart-btn {
    display: none;
}

#rating-chart .chart-btn.active {
    display: flex;
    justify-content: center
}

#rating-chart .chart-btn button {
    border-radius: 0;
    font-size: 13px;
    line-height: 20px;
    font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-transform: none;
    background: 0 0;
    text-transform: uppercase;
    border: 1px solid #000;
    outline: 0;
    color: #000;
    transition: background .25s ease, color .25s ease;
    -o-transition: background .25s ease, color .25s ease;
    -ms-transition: background .25s ease, color .25s ease;
    -moz-transition: background .25s ease, color .25s ease;
    -webkit-transition: background .25s ease, color .25s ease;
}

#rating-chart .chart-btn button:hover {
    color: #fff;
    background: #000;
}


#form-avaliacao .stars>span,
.bottomreview,
.errorcontainer,
.input,
.inputbox,
.names,
.rating,
.review-header,
.review-helpful,
.reviewstuff,
.rname,
.stars,
.stars2,
div.curtir,
review,
reviews {
    display: flex;
    display: flex;
}

.rating,
reviews {
    justify-content: center
}

.rating {
    direction: rtl;
    unicode-bidi: bidi-override;
    font-size: 2em;
    gap: .2em
}

.review-header,
.review-helpful {
    justify-content: space-between
}

.rating label {
    color: #ccc;
    cursor: pointer;
    margin: 0 !important
}

.rating input:checked~label,
.rating label:hover,
.rating label:hover~label {
    color: #f5b301
}

.review-item {
    border-bottom: 1px solid #ccc;
    box-shadow: 0 0 5px rgba(0, 0, 0, .1);
    background: #f9f9f9;
    border-left: 4px solid #0078d4;
    padding: 1em;
    margin-bottom: 1em;
    border-radius: 4px
}

.review-body {
    margin: .5em 0
}

.review-content,
.review-header,
.review-rating {
    margin-bottom: 10px
}

.review-actions {
    margin-top: 10px
}

.review-actions button {
    margin-right: 10px;
    padding: 5px 10px;
    border: none;
    background-color: #f0f0f0;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color .3s
}

.review-actions button:hover {
    background-color: #e0e0e0
}

.review-actions button:disabled {
    background-color: #ccc;
    cursor: not-allowed
}

#loader {
    display: none;
    text-align: center;
    margin: 20px auto
}

#loader img {
    width: 40px;
    height: 40px
}

.review {
    opacity: 0;
    transform: translateY(10px);
    transition: .3s;
    border: 1px solid #ddd;
    padding: 15px;
    border-radius: 5px;
    background-color: #f9f9f9;
    font-family: Arial, sans-serif
}

.firstname,
.lastname,
.reviewinp,
.submit {
    outline: 0;
    font-family: 'Sulphur Point', sans-serif
}

.review.active {
    transform: translateY(0)
}

.review.active {
    opacity: 1;
}

.review-rating {
    color: #ffc400;
    font-size: 20px
}

.star {
    font-size: 24px
}

.review-content {
    font-size: 14px;
    color: #555
}

.review-helpful {
    gap: 5px;
    font-size: 14px;
    display: flex;
    flex-direction: row;
}

.thumbs-up {
    cursor: pointer
}

button.curtir {
    background: no-repeat;
    color: #000;
    border: 0;
    cursor: pointer;
}

div.curtir {
    justify-content: space-between;
    align-items: flex-end
}

.firstname,
div.curtir>span {
    margin-right: 10px
}

i.fa-solid.fa-thumbs-up {
    font-size: 22px;
    cursor: pointer
}

reviews {
    align-items: center;
    width: 100%;
    margin-bottom: 20%
}

.reviewstuff,
review {
    width: 80%
}

review {
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0 50px;
    font-size: 1.1rem;
    overflow: hidden
}

.input {
    justify-content: space-between;
    align-items: center;
    width: 100%
}

.reviewinp {
    width: 300px;
    height: 70px;
    border-radius: 5px;
    border: none;
    background-color: #f5f5f5;
    resize: none;
    padding: 10px 5px 10px 10px;
    font-size: 1rem
}

.stars {
    padding: 0;
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: -webkit-fill-available
}

#form-avaliacao .stars>label {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    justify-content: center
}

#form-avaliacao .stars>span {
    flex-wrap: nowrap;
    align-items: flex-end;
    justify-content: center;
    margin: 10px 0 5px
}

.star1,
.star2,
.star3,
.star4,
.star5 {
    margin-right: 5px;
    font-size: 1.3rem;
    cursor: pointer
}

.submit {
    color: #fff;
    background-color: #036bfc;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1rem;
    transition: .2s ease-in-out
}

.submit:hover {
    background-color: #4592ff
}

.arrows {
    font-size: 1.8rem;
    cursor: pointer
}

.input-container {
    justify-content: center;
    flex-direction: column;
    background-color: #fff;
    padding: 30px;
    border-radius: 10px;
    border: 1.5px solid #d1d1d1;
    width: 100%
}

.inputbox,
.names {
    justify-content: flex-start;
    align-items: center;
    width: -webkit-fill-available;
    flex-direction: row;
    flex-wrap: wrap
}

.firstname,
.lastname {
    width: 100%;
    padding: 10px 0 10px 10px;
    border-radius: 5px;
    border: none;
    background-color: #f5f5f5;
    font-size: 1rem
}

.lastname {
    margin-left: 10px
}

.reviewstuff {
    flex-direction: column;
    justify-content: center;
    align-items: center
}

.bottomreview,
.rname {
    justify-content: center
}

.rname {
    margin-right: 30px
}

.rfname {
    margin-right: 2.5px
}

.rlname {
    margin-left: 2.5px
}

.bottomreview {
    width: 40%;
    align-items: center;
    margin-top: 20px
}

.errorcontainer {
    width: 85%;
    justify-content: center;
    align-items: center;
    margin-bottom: 50px;
    position: absolute;
    background-color: #ff4242;
    color: #fff;
    padding: 10px 75px;
    text-align: center;
    opacity: 0;
    transition: opacity, .5s
}

.exc {
    margin-right: 20px;
    font-size: 1.3rem
}

.thank-you-container {
    font-size: 1rem;
    font-weight: 600;
    color: #919191;
    display: none;
    align-items: center;
    transition: .7s
}

.fa-kiss-wink-heart {
    color: #ff429a;
    margin-left: 10px
}

.input-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: nowrap
}

.recomenda {
    display: flex;
    padding: 0 30px;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    flex-direction: column
}

#form-avaliacao .nao-recomendo label,
#form-avaliacao .recomendo label {
    width: auto;
    margin: 0
}

#form-avaliacao .nao-recomendo input,
#form-avaliacao .recomendo input {
    width: auto;
    margin: 0;
    cursor: pointer
}

.form-field {
    text-align: center;
    margin: 0
}

.thumb-group {
    display: flex;
    gap: 20px;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center
}

.thumb-option {
    display: flex;
    align-items: center;
    font-family: Arial, sans-serif;
    font-size: 16px
}

.thumb-icon {
    width: 24px;
    height: 24px
}

.thumb-icon svg {
    width: 100%;
    height: 100%;
    fill: #444
}

.thumb-option:hover .thumb-icon svg {
    fill: #ffffff
}

#form-avaliacao .form-field>label {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    justify-content: center;
    margin: 25px 0 10px
}

#form-avaliacao .form-field .thumb-group label.thumb-option {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-end;
    justify-content: space-between;
    margin: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    -webkit-transition: .1s;
    transition: .1s;
    font-size: 15px;
    font-weight: 400;
    font-style: normal;
    padding: 7.5px 15px;
    line-height: 20px;
    color: #111;
    fill: rgb(17, 17, 17);
    background: rgba(17, 17, 17, .05);
    border: 2px solid transparent;
    border-radius: 4px
}

#form-avaliacao .form-field .thumb-group label.thumb-option.recomendo.selected,
#form-avaliacao .form-field .thumb-group label.thumb-option.recomendo:hover {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    -webkit-transition: .1s;
    transition: .1s;
    font-size: 15px;
    font-weight: 400;
    font-style: normal;
    padding: 7.5px 15px;
    line-height: 20px;
    color: #fff;
    fill: rgb(255, 255, 255);
    background: #0ec12f;
    border: 2px solid #0ec12f;
    border-radius: 4px
}

#form-avaliacao .form-field .thumb-group label.thumb-option.nao-recomendo.selected,
#form-avaliacao .form-field .thumb-group label.thumb-option.nao-recomendo:hover {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    -webkit-transition: .1s;
    transition: .1s;
    font-size: 15px;
    font-weight: 400;
    font-style: normal;
    padding: 7.5px 15px;
    line-height: 20px;
    color: #fff;
    fill: rgb(255, 255, 255);
    background: #ef4623;
    border: 2px solid #ef4623;
    border-radius: 4px
}

.thumb-option {
    border: 2px solid transparent;
    padding: 10px;
    border-radius: 6px;
    transition: .3s;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer
}

.thumb-option:hover {
    border-color: #ccc;
    background-color: #f9f9f9
}

.thumb-option.selected {
    border-color: #0078d4;
    background-color: #e6f2fb;
    box-shadow: 0 0 0 2px rgba(0, 120, 212, .2)
}

#form-avaliacao .form-field .thumb-group label.thumb-option.nao-recomendo.selected .thumb-icon svg,
#form-avaliacao .form-field .thumb-group label.thumb-option.recomendo.selected .thumb-icon svg {
    fill: #fff
}

/* Estilos bÃ¡sicos para a seÃ§Ã£o de avaliaÃ§Ã£o */
#avaliar {
    position: relative;
    background-color: #e6e6e7;
    padding: 20px;
    border-radius: 8px;
    max-width: 100%;
    margin: 20px auto;
}

/* Estilos para tÃ­tulos */
#avaliar h3 {
    font-size: 24px;
    color: #333;
    margin-bottom: 15px;
}

/* Estilos para o formulÃ¡rio */
#form-avaliacao {
    display: flex;
    flex-direction: column;
}

/* Estilo para os contÃªineres de entrada */
.input-container {
    display: flex;
    flex-direction: column;
}

/* Estilos para os campos de entrada */
.input-content {
    margin-bottom: 15px;
}

.names label,
.inputbox label {
    font-weight: bold;
    margin-bottom: 5px;
}

input[type="text"],
textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
    transition: border-color 0.3s;
}

/* Foco nos campos de entrada */
input[type="text"]:focus,
textarea:focus {
    border-color: #007bff;
    outline: none;
}

/* Estilos para as classificaÃ§Ãµes por estrela */
.stars {
    margin-top: 10px;
}

.rating {
    display: flex;
}

.rating input {
    display: none;
}

.rating label {
    cursor: pointer;
    /* Mudar o cursor ao passar por cima*/
    font-size: 24px;
    color: #ccc;
}

.rating input:checked~label {
    color: #ffcc00;
}

/* Estilos para o botÃ£o de envio */
button[type="submit"] {
    background-color: #28a745;
    color: white;
    padding: 10px;
    border: none;
    border-radius: 4px;
    font-size: 18px;
    cursor: pointer;
    transition: background-color 0.3s;
}

button[type="submit"]:hover {
    background-color: #218838;
}

/* Estilos para a mensagem de agradecimento */
.thank-you-container {
    margin-top: 20px;
    display: none;
}

.thank-you {
    font-size: 18px;
    color: #333;
}

.mensagem-sucesso,
.mensagem-erro {
    padding: 10px 14px;
    border-radius: 4px;
    font-size: 16px;
    margin-top: 10px;
}

.mensagem-sucesso {
    background-color: #e6f4ea;
    color: #1e7b34;
    border: 1px solid #9fd4ac;
}

.mensagem-erro {
    background-color: #fdecea;
    color: #9f1c1c;
    border: 1px solid #f3b3ac;
}

/* ðŸ“± Dispositivos pequenos (smartphones atÃ© 576px) */
@media (max-width: 576px) {
    section#avaliacoes {
        position: relative;
        display: flex;
        padding: 0.5em;
        background: #e6e6e7;
        color: #1a1a1a;
        font-family: Arial, sans-serif;
        align-content: center;
        align-items: center;
        flex-direction: column;
        flex-wrap: wrap;
        justify-content: center;
    }

    #avaliar {
        padding: 1rem;
    }

    div#lista-avaliacoes {
        display: flex;
        padding: 0;
        margin-top: 2em;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
    }

    .review-helpful {
        gap: 5px;
        font-size: 14px;
        display: flex;
        flex-direction: column;
    }

    .review-header {
        display: flex;
        flex-direction: column;
    }

    #form-avaliacao {
        display: flex;
        width: -webkit-fill-available;
        display: flex;
        margin-top: 2em;
        justify-content: center;
        flex-wrap: wrap;
        flex-direction: row;
        align-items: flex-end;
    }

    .input-container {
        display: flex;
        justify-content: center;
        background-color: #fff;
        padding: 20px;
        border-radius: 10px;
        border: 1.5px solid #d1d1d1;
        width: 100%;
    }

    .input-content {
        margin-bottom: 15px;
        display: block;
        justify-content: space-between;
        align-items: flex-start;
        flex-wrap: nowrap;
    }

    .input {
        justify-content: space-between;
        align-items: center;
        width: 100%;
        display: block;
    }

    h3 {
        font-size: 1.25rem;
    }

    .rating label {
        font-size: 1.9rem;
    }

    button[type="submit"] {
        width: 100%;
        font-size: 1rem;
    }

    .thumb-group {
        flex-direction: column;
        gap: 0.75rem;
        display: flex;
        gap: 20px;
        flex-wrap: nowrap;
        flex-direction: row;
        align-items: flex-start;
        justify-content: center;
    }

    .input-content,
    .inputbox,
    .form-field {
        width: 100%;
    }
}


/* ðŸ’» Dispositivos grandes (notebooks de 769px a 1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
    section#avaliar {
        padding: 2rem;
    }

    .rating label {
        font-size: 2rem;
    }

    .thumb-group {
        justify-content: flex-start;
        gap: 2rem;
    }
}

/* ðŸ–¥ï¸ Dispositivos extra grandes (desktops maiores que 1024px)*/
@media (min-width: 1025px) {
    section#avaliar {
        position: relative;
        /* padding: 2rem 3rem; */
    }


    h3 {
        font-size: 2rem;
    }

    .rating label {
        font-size: 2.25rem;
    }

    .thumb-group {
        gap: 2.5rem;
    }
}

.rating input,
.thumb-input,
[hidden],
span.nota {
    display: none;
}


.overlay.active {
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity .5s linear;
    transition: opacity .5s linear;
}

.overlay {
    background: rgba(20 20 20 / 80%);
    backdrop-filter: blur(2px);
    bottom: 0;
    left: 0;
    opacity: 0;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-transition: .5s linear;
    transition: .5s linear;
    visibility: hidden;
    height: 100%;
    width: 100%;
    z-index: 99;
}

[data-track] {
    perspective: 1200px;
}

[data-track]::-webkit-scrollbar {
    display: none;
}

[data-track] .slick-slide {
    opacity: .55;
    transform: translateZ(-180px) scale(.88);
    transition: opacity .45s ease-in-out, transform .45s ease-in-out;
    z-index: 1;
}

[data-track] .slick-slide [data-review] {
    transform: translateY(0) scale(.94);
    transition: transform .45s ease-in-out, box-shadow .45s ease-in-out;
    box-shadow: 0 12px 24px -24px rgba(17, 24, 39, 0.6);
    margin: 0 14px;
}

[data-track] .slick-slide.slick-center {
    opacity: 1;
    transform: translateZ(0);
    z-index: 3;
}

[data-track] .slick-slide.slick-center [data-review],
[data-track] [data-review].active {
    transform: translateY(-.8rem) scale(1.08);
    box-shadow: 0 24px 40px -14px rgba(15, 118, 110, 0.45);
    margin: 0 18px;
}

.link-avaliacoes {
    text-align: center;
    padding: 17px;
}

.link-avaliacoes i {
    font-size: 22px;
}

.link-avaliacoes a {
    font-size: 18px;
    color: #ffffff;
    font-family: monospace;
}

.review-images {
    margin-top: 1.5rem;
    margin-bottom: .5rem;
    display: flex;
    justify-content: flex-start;
}

.review-images__item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(180px, 45vw, 260px);
    height: clamp(160px, 38vw, 200px);
    border-radius: 16px;
    overflow: hidden;
    line-height: 0;
    /* background: linear-gradient(135deg, rgba(15, 23, 42, .95), rgba(30, 64, 175, .85)); */
    box-shadow: 0 18px 36px rgba(15, 23, 42, .28);
    transition: transform .35s ease, box-shadow .35s ease;
}

.review-images__item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
    transition: transform .35s ease;
}

.review-images__item::after {
    content: "Abrir";
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    padding: .55rem .85rem;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0) 0%, rgba(15, 23, 42, .85) 85%);
    color: #f8fafc;
    font-size: .85rem;
    letter-spacing: .03em;
    text-transform: uppercase;
    text-align: center;
    opacity: 1;
    transform: translateY(0px);
    transition: opacity .3s ease, transform .3s ease;
    pointer-events: none;
}

.review-images__item:hover,
.review-images__item:focus {
    transform: translateY(-4px);
    box-shadow: 0 22px 38px rgba(15, 23, 42, .32);
}

.review-images__item:hover img,
.review-images__item:focus img {
    transform: scale(1.05);
}

.review-images__item:hover::after,
.review-images__item:focus::after {
    opacity: 1;
    transform: translateY(0);
}

.review-images__item:focus {
    outline: 2px solid rgba(14, 165, 233, .85);
    outline-offset: 4px;
}

@media (max-width: 640px) {
    .review-images {
        justify-content: left;
    }

    .review-images__item {
        width: 100%;
        max-width: 150px;
        /* height: clamp(150px, 55vw, 200px); */
    }
}


.review-images {
    --review-thumb-width: clamp(140px, 28vw, 200px);
    --review-thumb-ratio: 4 / 3;
    --review-thumb-height: calc(var(--review-thumb-width) * 0.75);
    display: flex;
    gap: 0.75rem;
    margin-top: 1rem;
    overflow-x: auto;
    padding-bottom: 0.5rem;
    scroll-snap-type: x mandatory;
}

.review-images::-webkit-scrollbar {
    height: 6px;
}

.review-images::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 999px;
}

.review-images__item {
    flex: 0 0 var(--review-thumb-width);
    width: var(--review-thumb-width);
    max-width: var(--review-thumb-width);
    scroll-snap-align: start;
}

.review-images__thumb {
    background: transparent;
    border: none;
    border-radius: 12px;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
    cursor: pointer;
    display: block;
    height: var(--review-thumb-height);
    overflow: hidden;
    padding: 0;
    aspect-ratio: var(--review-thumb-ratio);
    width: 100%;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.review-images__thumb:focus,
.review-images__thumb:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.18);
    outline: none;
}

.review-images__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 767px) {
    .review-images {
        --review-thumb-width: clamp(120px, 45vw, 160px);
        --review-thumb-ratio: 1 / 1;
        --review-thumb-height: var(--review-thumb-width);
    }
}





.review-image-modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .8);
    padding: 24px;
    z-index: 1090;
}

.review-image-modal.is-open {
    display: flex;
}

.review-image-modal__dialog {
    position: relative;
    width: auto;
    max-width: min(960px, 90vw);
    max-height: 90vh;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 24px 48px rgba(0, 0, 0, .35);
    overflow: hidden;
}

.review-image-modal__figure {
    margin: 0;
}

.review-image-modal__image {
    display: block;
    width: 100%;
    height: auto;
    max-height: 80vh;
    object-fit: contain;
    background: #000000;
}

.review-image-modal__caption {
    margin: 0;
    padding: 12px 18px;
    font-size: .95rem;
    color: #1f2933;
    background: #f5f7fa;
}

.review-image-modal__caption:empty {
    display: none;
}

.review-image-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, .55);
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    line-height: 1;
    transition: background .2s ease;
}

.review-image-modal__close:hover,
.review-image-modal__close:focus {
    background: rgba(0, 0, 0, .75);
}

body.review-image-modal-open {
    overflow: hidden;
}

@media (max-width: 600px) {
    .review-image-modal {
        padding: 16px;
    }

    .review-image-modal__dialog {
        border-radius: 12px;
    }

    .review-image-modal__caption {
        font-size: .85rem;
        padding: 10px 14px;
    }
}

.file-upload {
    position: relative;
    display: flex;
    gap: .75rem;
    align-items: center;
    justify-content: space-between;
    flex-direction: column;
}

.file-upload input[type=file] {
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.file-upload__title {
    font-weight: 600;
    color: #1f2933;
    margin-top: 0;
}

.file-upload__control {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    flex-direction: column;
}

.file-upload__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .65rem 1.5rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #2563eb, #000000);
    color: #ffffff;
    font-weight: 600;
    font-size: .9rem;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(14, 165, 233, .35);
    transition: transform .2s ease, box-shadow .2s ease;
    margin: 0 !important;
}

.file-upload__button:hover,
.file-upload__button:focus {
    transform: translateY(-2px);
    box-shadow: 0 16px 28px rgba(14, 165, 233, .45);
}

.file-upload__button:focus {
    outline: 2px solid #0f8fff;
    outline-offset: 3px;
}

.file-upload__filename {
    min-width: 0;
    font-size: .9rem;
    color: #4b5563;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.file-upload__filename::before {
    content: "Arquivo:";
    font-weight: 600;
    color: #1f2933;
    margin-right: .35rem;
}

.file-upload__filename.is-empty::before,
.file-upload__filename.is-empty {
    color: #9ca3af;
}

@media (max-width: 640px) {
    .file-upload__control {
        flex-direction: column;
        align-items: stretch;
        gap: .75rem;
    }

    .file-upload__button {
        width: 100%;
        border-radius: 5px;
    }

    .file-upload__filename {
        justify-content: center;
    }
}

@layer utilities {

    :root,
    :host {
        --font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
            'Noto Color Emoji';
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
            monospace;
        --color-amber-300: oklch(87.9% 0.169 91.605);
        --color-blue-200: oklch(88.2% 0.059 254.128);
        --color-blue-300: oklch(80.9% 0.105 251.813);
        --color-slate-50: oklch(98.4% 0.003 247.858);
        --color-slate-400: oklch(70.4% 0.04 256.788);
        --color-slate-800: oklch(27.9% 0.041 260.031);
        --color-slate-900: oklch(20.8% 0.042 265.755);
        --color-slate-950: oklch(12.9% 0.042 264.695);
        --spacing: 0.25rem;
        --text-sm: 0.875rem;
        --text-sm--line-height: calc(1.25 / 0.875);
        --text-2xl: 1.5rem;
        --text-2xl--line-height: calc(2 / 1.5);
        --text-5xl: 3rem;
        --text-5xl--line-height: 1;
        --text-6xl: 3.75rem;
        --text-6xl--line-height: 1;
        --text-7xl: 4.5rem;
        --text-7xl--line-height: 1;
        --text-8xl: 6rem;
        --text-8xl--line-height: 1;
        --text-9xl: 8rem;
        --text-9xl--line-height: 1;
        --font-weight-extralight: 200;
        --font-weight-semibold: 600;
        --font-weight-bold: 700;
        --radius-xl: 0.75rem;
        --default-transition-duration: 150ms;
        --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono);
    }
}


@layer utilities {
    .container {
        width: 100%;

        @media (width >=40rem) {
            max-width: 40rem;
        }

        @media (width >=48rem) {
            max-width: 48rem;
        }

        @media (width >=64rem) {
            max-width: 64rem;
        }

        @media (width >=80rem) {
            max-width: 80rem;
        }

        @media (width >=96rem) {
            max-width: 96rem;
        }
    }

    .line-clamp-8 {
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        line-clamp: 8;
        -webkit-line-clamp: 8;
    }

    .block {
        display: block;
    }

    .flex {
        display: flex;
    }

    .grid {
        display: grid;
    }

    .w-80 {
        width: calc(var(--spacing) * 80);
    }

    .w-full {
        width: 100%;
    }

    .flex-none {
        flex: none;
    }

    .cursor-pointer {
        cursor: pointer;
    }

    .content-center {
        align-content: center;
    }

    .items-baseline {
        align-items: baseline;
    }

    .items-center {
        align-items: center;
    }

    .justify-between {
        justify-content: space-between;
    }

    .justify-center {
        justify-content: center;
    }

    .gap-2 {
        gap: calc(var(--spacing) * 2);
    }

    .gap-8 {
        gap: calc(var(--spacing) * 8);
    }

    .gap-12 {
        gap: calc(var(--spacing) * 12);
    }

    .space-y-2 {
        :where(& > :not(:last-child)) {
            --tw-space-y-reverse: 0;
            margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
            margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
        }
    }

    .space-y-4 {
        :where(& > :not(:last-child)) {
            --tw-space-y-reverse: 0;
            margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
            margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
        }
    }

    .overflow-x-hidden {
        overflow-x: hidden;
    }

    .rounded {
        border-radius: 0.25rem;
    }

    .rounded-xl {
        border-radius: var(--radius-xl);
    }

    .border {
        border-style: var(--tw-border-style);
        border-width: 1px;
    }

    .border-slate-800 {
        border-color: var(--color-slate-800);
    }

    .bg-slate-900 {
        background-color: var(--color-slate-900);
    }

    .bg-slate-950 {
        background-color: var(--color-slate-950);
    }

    .p-4 {
        padding: calc(var(--spacing) * 4);
    }

    .px-4 {
        padding-inline: calc(var(--spacing) * 4);
    }

    .px-6 {
        padding-inline: calc(var(--spacing) * 6);
    }

    .py-2 {
        padding-block: calc(var(--spacing) * 2);
    }

    .py-6 {
        padding-block: calc(var(--spacing) * 6);
    }

    .py-8 {
        padding-block: calc(var(--spacing) * 8);
    }

    .text-center {
        text-align: center;
    }

    .text-2xl {
        font-size: var(--text-2xl);
        line-height: var(--tw-leading, var(--text-2xl--line-height));
    }

    .text-5xl {
        font-size: var(--text-5xl);
        line-height: var(--tw-leading, var(--text-5xl--line-height));
    }

    .text-sm {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
    }

    .font-bold {
        --tw-font-weight: var(--font-weight-bold);
        font-weight: var(--font-weight-bold);
    }

    .font-extralight {
        --tw-font-weight: var(--font-weight-extralight);
        font-weight: var(--font-weight-extralight);
    }

    .font-semibold {
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
    }

    .text-amber-300 {
        color: var(--color-amber-300);
    }

    .text-blue-200 {
        color: var(--color-blue-200);
    }

    .text-blue-300 {
        color: var(--color-blue-300);
    }

    .text-slate-50 {
        color: var(--color-slate-50);
    }

    .text-slate-400 {
        color: var(--color-slate-400);
    }

    .uppercase {
        text-transform: uppercase;
    }

    .ring-amber-300\/50 {
        --tw-ring-color: color-mix(in srgb, oklch(87.9% 0.169 91.605) 50%, transparent);

        @supports (color: color-mix(in lab, red, red)) {
            --tw-ring-color: color-mix(in oklab, var(--color-amber-300) 50%, transparent);
        }
    }

    .outline-0 {
        outline-style: var(--tw-outline-style);
        outline-width: 0px;
    }

    .transition {
        transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration));
    }

    .selection\:bg-amber-300\/50 {
        & *::selection {
            background-color: color-mix(in srgb, oklch(87.9% 0.169 91.605) 50%, transparent);

            @supports (color: color-mix(in lab, red, red)) {
                background-color: color-mix(in oklab, var(--color-amber-300) 50%, transparent);
            }
        }

        &::selection {
            background-color: color-mix(in srgb, oklch(87.9% 0.169 91.605) 50%, transparent);

            @supports (color: color-mix(in lab, red, red)) {
                background-color: color-mix(in oklab, var(--color-amber-300) 50%, transparent);
            }
        }
    }

    .focus-within\:ring-2 {
        &:focus-within {
            --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
            box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
        }
    }

    .hover\:bg-slate-900 {
        &:hover {
            @media (hover: hover) {
                background-color: var(--color-slate-900);
            }
        }
    }

    .active\:scale-80 {
        &:active {
            --tw-scale-x: 80%;
            --tw-scale-y: 80%;
            --tw-scale-z: 80%;
            scale: var(--tw-scale-x) var(--tw-scale-y);
        }
    }

    .active\:bg-slate-800 {
        &:active {
            background-color: var(--color-slate-800);
        }
    }

    .max-md\:gap-4 {
        @media (width < 48rem) {
            gap: calc(var(--spacing) * 4);
        }
    }

    .max-\[25rem\]\:w-full {
        @media (width < 25rem) {
            width: 100%;
        }
    }

    .sm\:text-6xl {
        @media (width >=40rem) {
            font-size: var(--text-6xl);
            line-height: var(--tw-leading, var(--text-6xl--line-height));
        }
    }

    .md\:text-7xl {
        @media (width >=48rem) {
            font-size: var(--text-7xl);
            line-height: var(--tw-leading, var(--text-7xl--line-height));
        }
    }

    .lg\:text-8xl {
        @media (width >=64rem) {
            font-size: var(--text-8xl);
            line-height: var(--tw-leading, var(--text-8xl--line-height));
        }
    }

    .xl\:text-9xl {
        @media (width >=80rem) {
            font-size: var(--text-9xl);
            line-height: var(--tw-leading, var(--text-9xl--line-height));
        }
    }
}

body.pagina.quem-somos {
    background-color: #070c17;
    color: #e6ecf5;
}

body.pagina.quem-somos main {
    overflow: hidden;
}

.quem-hero {
    position: relative;
    padding: 140px 0 100px;
}

.quem-hero .wrapper {
    position: relative;
    z-index: 2;
}

body.pagina.quem-somos .hero-content {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

@media (min-width: 992px) {
    body.pagina.quem-somos .hero-content {
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        gap: 3.5rem;
    }
}

.quem-hero .hero-main {
    max-width: 720px;
}

.quem-hero .hero-logo img {
    max-height: 72px;
    width: auto;
    opacity: 0.85;
}

.quem-hero h1 {
    font-size: 1.375rem;
    line-height: 1.15;
    margin: 1rem 0 0.2rem;
    color: #ffffff;
    letter-spacing: 0.02em;
}

@media (min-width: 992px) {
    .quem-hero h1 {
        font-size: 1.5rem;
    }
}

.quem-hero .hero-subtitle {
    font-size: 1.125rem;
    color: rgba(230, 236, 245, 0.9);
    margin-bottom: 1.5rem;
}

.quem-hero .hero-description p {
    font-size: 1.05rem;
    line-height: 1.75;
    margin-bottom: 1rem;
    color: rgba(230, 236, 245, 0.92);
}

.hero-stats {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    max-width: 420px;
}

.hero-stat {
    background: rgba(7, 12, 23, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    padding: 1.25rem 1.5rem;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.25);
}

.hero-stat strong {
    display: block;
    font-size: 2rem;
    color: #6dfac7;
    letter-spacing: 0.04em;
}

.hero-stat span {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.95rem;
    color: rgba(230, 236, 245, 0.75);
    line-height: 1.45;
}

.quem-story {
    position: relative;
    padding: 110px 0;
    background: linear-gradient(180deg, rgba(12, 18, 32, 0.85) 0%, rgba(7, 12, 23, 1) 100%);
}

body.pagina .quem-story .wrapper {
    margin: 0 auto;
    max-width: max-content;
    padding: 0 40px;
    position: relative;
    width: 100%;
}

.quem-story .story-grid {
    display: grid;
    gap: 2.5rem;
    justify-content: space-between;
    align-items: start;
}

@media (min-width: 992px) {
    .quem-story .story-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
        align-items: center;
    }

    .story-text {
        width: 630px;
        padding: 25px;
        margin: 0;
        border-radius: 24px;
        overflow: hidden;
        background: rgba(255, 255, 255, 0.02);
        border: 1px solid rgba(255, 255, 255, 0.04);
        box-shadow: 0 22px 60px rgba(0, 0, 0, 0.35);
    }
}

.quem-story .story-text h2 {
    font-size: 1.375rem;
    margin-bottom: 1.25rem;
    color: #ffffff;
}

.quem-story .story-highlight {
    font-size: 1.1rem;
    font-weight: 600;
    color: #8bf9d9;
    margin-bottom: 1.5rem;
}

.quem-story .story-text p {
    font-size: 1.02rem;
    line-height: 1.8;
    margin-bottom: 1rem;
    color: rgba(230, 236, 245, 0.88);
}

.quem-story .story-media {
    width: -webkit-fill-available;
    height: auto;
    padding: 25px;
    margin: 0;
    border-radius: 24px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.04);
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.35);
}

.quem-story .story-media img {
    border-radius: 20px;
    display: block;
    width: 100%;
    height: auto;
}

.quem-values {
    padding: 110px 0 120px;
    background: #04070f;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.quem-values h2 {
    text-align: center;
    font-size: 2.25rem;
    margin-bottom: 3rem;
    color: #ffffff;
}

.quem-values .values-grid {
    display: grid;
    gap: 1.75rem;
}

@media (min-width: 768px) {
    .quem-values .values-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1200px) {
    .quem-values .values-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.quem-values .value-card {
    padding: 2.25rem 2rem;
    border-radius: 24px;
    background: linear-gradient(160deg, rgba(17, 28, 48, 0.8) 0%, rgba(7, 12, 23, 0.95) 100%);
    border: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.28);
    transition: transform .25s ease, box-shadow .25s ease;
}

.quem-values .value-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 26px 65px rgba(0, 0, 0, 0.35);
}

.quem-values .value-card h3 {
    font-size: 1.35rem;
    margin-bottom: 0.85rem;
    color: #6dfac7;
}

.quem-values .value-card p {
    font-size: 1rem;
    line-height: 1.65;
    color: rgba(230, 236, 245, 0.82);
}

.quem-cta {
    padding: 120px 0 140px;
    position: relative;
    background: radial-gradient(120% 120% at 50% 0%, rgba(33, 73, 123, 0.45) 0%, rgba(7, 12, 23, 0.98) 55%, rgba(4, 7, 15, 1) 100%);
}

.quem-cta .cta-content {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

.quem-cta h2 {
    font-size: 2.4rem;
    margin-bottom: 1.5rem;
    color: #ffffff;
}

.quem-cta p {
    font-size: 1.05rem;
    line-height: 1.8;
    color: rgba(226, 236, 246, 0.88);
    margin-bottom: 2.25rem;
}

.quem-cta .btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.95rem 2.75rem;
    font-size: 0.98rem;
    font-weight: 600;
    color: #0b1526;
    background: linear-gradient(135deg, #6dfac7 0%, #49e3ff 100%);
    border-radius: 999px;
    text-decoration: none;
    box-shadow: 0 18px 35px rgba(73, 227, 255, 0.35);
    transition: transform .2s ease, box-shadow .2s ease;
}

.quem-cta .btn-primary:hover {
    transform: translateY(-4px);
    box-shadow: 0 26px 55px rgba(73, 227, 255, 0.45);
}

.quem-cta .btn-primary:focus {
    outline: none;
    box-shadow: 0 0 0 4px rgba(109, 250, 199, 0.35);
}

/** Contato **/
body.pagina.contato {
    background: #04070f;
    color: #e4ecf7;
}

body.pagina.contato main {
    overflow: hidden;
}

.contato-hero {
    position: relative;
    padding: 140px 0 110px;
    color: #f5f9ff;
    background: radial-gradient(120% 120% at 50% 0%, rgba(34, 74, 123, 0.35) 0%, rgba(7, 12, 23, 0.96) 55%, rgba(4, 7, 15, 1) 100%);
}

.contato-hero .wrapper {
    position: relative;
    z-index: 2;
}

.contato-hero-content {
    max-width: 680px;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.contato-hero h1 {
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    line-height: 1.2;
    letter-spacing: 0.02em;
    margin: 0;
}

.contato-hero-subtitle {
    font-size: 1.15rem;
    color: rgba(229, 239, 255, 0.82);
}

.contato-hero-description p {
    font-size: 1.05rem;
    line-height: 1.8;
    color: rgba(229, 239, 255, 0.85);
}

.contato-hero .btn-primary {
    align-self: flex-start;
    padding: 0.9rem 2.5rem;
    border-radius: 999px;
    font-weight: 600;
    box-shadow: 0 18px 38px rgba(73, 227, 255, 0.35);
}

.contato-channels {
    padding: 110px 0 120px;
    background: linear-gradient(180deg, rgba(4, 7, 15, 1) 0%, rgba(7, 12, 23, 0.96) 100%);
}

.contato-channels .section-heading {
    max-width: 640px;
    margin: 0 auto 3rem;
    text-align: center;
}

.contato-channels .section-heading h2 {
    font-size: clamp(2rem, 3vw, 2.6rem);
    color: #f5f9ff;
    margin-bottom: 1rem;
}

.contato-channels .section-heading p {
    color: rgba(226, 236, 246, 0.75);
    font-size: 1.05rem;
}

.channels-grid {
    display: grid;
    gap: 1.75rem;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

body.pagina.contato article.contact-card {
    position: relative;
    padding: 2.1rem 2rem;
    background: linear-gradient(165deg, rgba(19, 32, 55, 0.75) 0%, rgba(9, 16, 30, 0.95) 100%);
    border: 1px solid rgba(113, 213, 255, 0.12);
    border-radius: 24px;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.28);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    margin: 0 !important;
}

.contact-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 28px 60px rgba(17, 24, 39, 0.38);
}

.contact-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: rgba(73, 227, 255, 0.12);
    color: #6dfac7;
    font-size: 1.5rem;
    margin-bottom: 1.25rem;
}

.contact-card h3 {
    font-size: 1.25rem;
    color: #f5f9ff;
    margin-bottom: 0.65rem;
}

body.pagina.contato article .contact-card-value {
    font-size: 1.1rem;
    font-weight: 600;
    color: #6dfac7;
    margin-bottom: 0.75rem;
    font-family: 'Roboto';
    font-style: normal;
}

body.pagina.contato article .contact-card-description {
    font-size: 0.98rem;
    line-height: 1.7;
    color: rgba(226, 236, 246, 0.75);
    margin-bottom: 1.25rem;
    font-family: 'gfgdigital';
    font-style: normal;
}

.contato-channels .btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.75rem 1.8rem;
    border-radius: 999px;
    border: 1px solid rgba(109, 250, 199, 0.35);
    color: #6dfac7;
    text-decoration: none;
    font-weight: 600;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.contato-channels .btn-outline:hover {
    background: rgba(109, 250, 199, 0.15);
    color: #f5f9ff;
    transform: translateY(-3px);
}

.contato-details {
    position: relative;
    padding: 120px 0 130px;
    background: radial-gradient(120% 120% at 50% 0%, rgba(7, 12, 23, 0.98) 10%, rgba(4, 7, 15, 1) 100%);
}

.details-grid {
    display: grid;
    gap: 2.75rem;
}

@media (min-width: 992px) {
    .details-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
    }
}

.details-column>h2 {
    font-size: 1.65rem;
    color: #f5f9ff;
    margin-bottom: 1.5rem;
}

.location-list {
    display: grid;
    gap: 1.75rem;
}

body.pagina.contato article.location-card {
    padding: 1.9rem 1.75rem;
    background: linear-gradient(160deg, rgba(14, 24, 42, 0.8) 0%, rgba(8, 14, 26, 0.95) 100%);
    border: 1px solid rgba(79, 120, 255, 0.12);
    border-radius: 20px;
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.24);
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.location-card h3 {
    font-size: 1.2rem;
    color: #6dfac7;
    margin: 0 0 0.35rem;
}

.location-tagline {
    font-size: 0.95rem;
    color: rgba(226, 236, 246, 0.7);
}

.location-address {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 0.45rem;
    color: rgba(229, 239, 255, 0.8);
    font-size: 0.98rem;
}

.location-phone a,
.location-phone {
    color: #f5f9ff;
    font-weight: 600;
    text-decoration: none;
}

.location-phone a:hover {
    color: #6dfac7;
}

.location-card .btn-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: #49e3ff;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.85rem;
    transition: color 0.2s ease, transform 0.2s ease;
}

.location-card .btn-link:hover {
    color: #6dfac7;
    transform: translateY(-2px);
}

.hours-list {
    list-style: none;
    padding: 1.75rem 1.5rem;
    margin: 0;
    background: linear-gradient(155deg, rgba(16, 28, 48, 0.78) 0%, rgba(9, 16, 30, 0.95) 100%);
    border: 1px solid rgba(113, 213, 255, 0.12);
    border-radius: 20px;
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.22);
    display: grid;
    gap: 1rem;
}

.hours-list li {
    display: flex;
    justify-content: space-between;
    gap: 1.25rem;
    font-size: 1.02rem;
    color: rgba(229, 239, 255, 0.85);
}

.hours-list strong {
    color: #f5f9ff;
    font-weight: 600;
}

.hours-list span {
    color: rgba(109, 250, 199, 0.85);
    font-weight: 600;
}

.contato-cta {
    position: relative;
    padding: 140px 0 160px;
    background: radial-gradient(120% 120% at 50% 15%, rgba(73, 227, 255, 0.18) 0%, rgba(7, 12, 23, 0.96) 58%, rgba(4, 7, 15, 1) 100%);
}

.contato-cta .wrapper {
    position: relative;
    z-index: 2;
}

.cta-box {
    max-width: 720px;
    margin: 0 auto;
    padding: 2.75rem 2.5rem;
    text-align: center;
    border-radius: 28px;
    background: linear-gradient(160deg, rgba(17, 28, 48, 0.82) 0%, rgba(7, 12, 23, 0.95) 100%);
    border: 1px solid rgba(109, 250, 199, 0.18);
    box-shadow: 0 26px 60px rgba(0, 0, 0, 0.28);
    display: grid;
    gap: 1.35rem;
}

.cta-box h2 {
    font-size: clamp(2.1rem, 3.5vw, 2.8rem);
    color: #f5f9ff;
    margin: 0;
}

.cta-box p {
    font-size: 1.05rem;
    line-height: 1.8;
    color: rgba(229, 239, 255, 0.78);
    margin: 0 auto;
}

.cta-box .btn-primary {
    justify-self: center;
    padding: 0.95rem 2.85rem;
    border-radius: 999px;
    font-weight: 600;
    box-shadow: 0 20px 44px rgba(73, 227, 255, 0.38);
}

.contato-form {
    position: relative;
    padding: 120px 0 140px;
    background: radial-gradient(120% 120% at 50% 20%, rgba(65, 126, 196, 0.25) 0%, rgba(7, 12, 23, 0.96) 60%, rgba(4, 7, 15, 1) 100%);
}

.contato-form .wrapper {
    position: relative;
    z-index: 2;
}

.contato-form-grid {
    display: grid;
    gap: 2.5rem;
    align-items: start;
}

@media (min-width: 992px) {
    .contato-form-grid {
        grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
        gap: 3rem;
    }
}

.contato-form-copy header h2 {
    font-size: clamp(2rem, 3vw, 2.6rem);
    color: #f5f9ff;
    margin-bottom: 1rem;
}

.contato-form-copy header p {
    font-size: 1.05rem;
    color: rgba(229, 239, 255, 0.83);
    line-height: 1.75;
}

.contato-form-benefits {
    margin: 1.75rem 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.9rem;
    color: rgba(229, 239, 255, 0.8);
    font-size: 0.98rem;
}

.contato-form-benefits li {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    position: relative;
    padding-left: 1.6rem;
}

.contato-form-benefits li::before {
    content: '\2713';
    position: absolute;
    left: 0;
    width: 1.1rem;
    height: 1.1rem;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(109, 250, 199, 0.6), rgba(73, 227, 255, 0.6));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #020509;
    font-size: 0.7rem;
    box-shadow: 0 8px 18px rgba(73, 227, 255, 0.25);
}

.contato-form-note {
    font-size: 0.9rem;
    color: rgba(229, 239, 255, 0.6);
    line-height: 1.5;
}

.contato-form-card {
    position: relative;
    display: grid;
    gap: 1.35rem;
    padding: 2.4rem 2.2rem;
    border-radius: 28px;
    background: linear-gradient(160deg, rgba(15, 24, 42, 0.82) 0%, rgba(7, 12, 23, 0.95) 100%);
    border: 1px solid rgba(113, 213, 255, 0.16);
    box-shadow: 0 26px 60px rgba(0, 0, 0, 0.28);
}

.contato-field {
    display: grid;
    gap: 0.55rem;
}

.contato-field label,
.contato-field legend {
    font-size: 0.95rem;
    font-weight: 600;
    color: #f5f9ff;
}

.contato-field small {
    font-size: 0.85rem;
    color: rgba(229, 239, 255, 0.62);
}

.contato-field input,
.contato-field textarea {
    width: 100%;
    border-radius: 18px;
    border: 1px solid rgba(113, 213, 255, 0.18);
    background: rgba(8, 14, 25, 0.88);
    color: #f5f9ff;
    font-size: 1rem;
    padding: 0.85rem 1.1rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    resize: vertical;
    min-height: 52px;
}

.contato-field textarea {
    min-height: 140px;
    line-height: 1.65;
}

.contato-fieldset {
    border: 1px solid rgba(113, 213, 255, 0.14);
    border-radius: 18px;
    padding: 1.25rem 1.4rem;
    background: rgba(8, 14, 26, 0.82);
    display: grid;
    gap: 0.85rem;
}

.contato-choice {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    font-size: 0.95rem;
    color: rgba(229, 239, 255, 0.8);
}

.contato-choice input {
    width: 18px;
    height: 18px;
    accent-color: #58f5c5;
}

.contato-checkbox {
    display: inline-flex;
    align-items: flex-start;
    gap: 0.65rem;
    font-size: 0.92rem;
    color: rgba(229, 239, 255, 0.78);
}

.contato-checkbox input {
    width: 18px;
    height: 18px;
    margin-top: 0.2rem;
    accent-color: #58f5c5;
}

.contato-hidden {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    height: 0;
    width: 0;
    overflow: hidden;
}

.contato-form-feedback {
    min-height: 1.25rem;
    font-size: 0.95rem;
    font-weight: 500;
    color: rgba(229, 239, 255, 0.78);
    transition: color 0.2s ease;
}

.contato-form-feedback[data-state="success"] {
    color: #6dfac7;
}

.contato-form-feedback[data-state="error"] {
    color: #ff9c9c;
}

.contato-form-card .btn-primary {
    justify-self: flex-start;
    padding: 0.9rem 2.5rem;
    border-radius: 999px;
    font-weight: 600;
    box-shadow: 0 18px 38px rgba(73, 227, 255, 0.35);
}

.contato-form-card .btn-primary[aria-busy="true"]::after {
    content: '';
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-left: 0.75rem;
    border-radius: 50%;
    border: 2px solid rgba(245, 249, 255, 0.6);
    border-top-color: transparent;
    animation: contato-spin 0.75s linear infinite;
}

@keyframes contato-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 768px) {
    .contato-form {
        padding: 100px 0 110px;
    }

    .contato-form-card {
        padding: 2rem 1.6rem;
        border-radius: 22px;
    }

    .contato-field input,
    .contato-field textarea {
        border-radius: 14px;
    }
}

@media (max-width: 576px) {
    .contato-form-benefits li {
        padding-left: 1.4rem;
    }

    .contato-form-card .btn-primary {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .contato-hero {
        padding: 120px 0 90px;
    }

    .contact-card,
    .location-card,
    .hours-list {
        border-radius: 18px;
        padding: 1.75rem 1.5rem;
    }

    .hours-list li {
        flex-direction: column;
        align-items: flex-start;
    }

    .cta-box {
        padding: 2.25rem 1.9rem;
    }
}

@media (max-width: 576px) {
    .contact-card {
        padding: 1.65rem 1.5rem;
    }

    .contact-card-icon {
        width: 48px;
        height: 48px;
        font-size: 1.25rem;
    }

    .cta-box h2 {
        font-size: 1.9rem;
    }

    .contato-cta {
        padding: 110px 0 120px;
    }
}