:root {
    --site-bg: #0c0c0d;
    --site-bg-soft: #121214;
    --site-surface: #171719;

    --site-text: #f5f4f1;
    --site-muted: #99989a;

    --site-gold: #c79a4a;
    --site-gold-light: #e1bb73;

    --site-border:
        rgba(255, 255, 255, 0.08);

    --site-container: 1180px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;

    color: var(--site-text);
    background: var(--site-bg);

    font-family:
        Inter,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

body,
button,
input,
textarea {
    font: inherit;
}

img {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

.site-container {
    width:
        min(
            calc(100% - 40px),
            var(--site-container)
        );

    margin-inline: auto;
}


/* Header */

.site-header {
    position: fixed;
    inset: 0 0 auto;

    z-index: 100;

    background:
        rgba(10, 10, 11, 0.88);

    border-bottom:
        1px solid
        rgba(255, 255, 255, 0.06);

    backdrop-filter:
        blur(14px);
}

.site-header-inner {
    height: 82px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.site-logo {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.site-logo-mark {
    width: 42px;
    height: 42px;

    display: grid;
    place-items: center;

    color: #111;

    background:
        linear-gradient(
            135deg,
            var(--site-gold-light),
            var(--site-gold)
        );

    border-radius: 8px;

    font-weight: 900;
    font-size: 22px;
}

.site-logo-text strong,
.site-logo-text small {
    display: block;
}

.site-logo-text strong {
    letter-spacing: 4px;
    font-size: 15px;
}

.site-logo-text small {
    margin-top: 3px;

    color: var(--site-muted);

    letter-spacing: 2px;
    font-size: 8px;
}

.site-navigation {
    display: flex;
    align-items: center;
    gap: 30px;
}

.site-navigation a {
    color: #b9b8ba;

    font-size: 12px;
    font-weight: 600;

    transition:
        color 160ms ease;
}

.site-navigation a:hover {
    color: var(--site-gold-light);
}

.site-header-cta {
    padding: 12px 17px;

    color: #111;

    background: var(--site-gold);

    border-radius: 6px;

    font-size: 11px;
    font-weight: 800;
}

.site-menu-toggle {
    display: none;
}


/* Hero */

.hero {
    position: relative;

    min-height: 760px;

    display: flex;
    align-items: center;

    padding-top: 82px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 75% 40%,
            rgba(200, 155, 75, 0.10),
            transparent 35%
        ),
        linear-gradient(
            110deg,
            #080809 0%,
            #101012 65%,
            #181719 100%
        );
}

.hero::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.42),
            transparent 60%
        );

    pointer-events: none;
}

.hero-content {
    position: relative;

    z-index: 2;

    max-width: 1180px;
}

.hero-eyebrow,
.section-label {
    display: block;

    margin-bottom: 18px;

    color: var(--site-gold);

    text-transform: uppercase;

    letter-spacing: 2px;

    font-size: 10px;
    font-weight: 800;
}

.hero h1 {
    max-width: 800px;

    margin: 0;

    font-size:
        clamp(
            44px,
            6vw,
            78px
        );

    line-height: 1.02;

    letter-spacing: -3px;
}

.hero h1 span {
    display: block;

    color: var(--site-gold-light);
}

.hero p {
    max-width: 560px;

    margin:
        26px 0 0;

    color: #b0afb2;

    font-size: 17px;

    line-height: 1.7;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;

    margin-top: 36px;
}

.site-button {
    min-height: 50px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 22px;

    border-radius: 6px;

    font-size: 12px;
    font-weight: 800;

    transition:
        transform 160ms ease,
        background-color 160ms ease;
}

.site-button:hover {
    transform:
        translateY(-2px);
}

.site-button-primary {
    color: #111;

    background:
        linear-gradient(
            135deg,
            var(--site-gold-light),
            var(--site-gold)
        );
}

.site-button-secondary {
    color: #e7e7e7;

    border:
        1px solid
        rgba(255, 255, 255, 0.15);

    background:
        rgba(255, 255, 255, 0.025);
}

.site-button-full {
    width: 100%;
}

.hero-scroll {
    position: absolute;
    z-index: 3;

    left: 50%;
    bottom: 25px;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;

    color: #777;

    font-size: 8px;

    letter-spacing: 2px;

    text-transform: uppercase;
}

.hero-scroll-line {
    width: 1px;
    height: 35px;

    background:
        linear-gradient(
            var(--site-gold),
            transparent
        );
}


/* About */

.about-section,
.services-section,

.projects-section {
    padding: 88px 0 96px;
}

.projects-section .site-container {
    width: min(calc(100% - 40px), 1180px);
    margin-left: auto;
    margin-right: auto;
}

.process-section,
.contact-section {
    padding: 110px 0;
}

.about-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(350px, 0.9fr);

    gap: 100px;

    align-items: center;
}

.about-content h2,
.section-heading h2,
.contact-content h2 {
    margin: 0;

    font-size:
        clamp(
            34px,
            4vw,
            54px
        );

    line-height: 1.1;

    letter-spacing: -2px;
}

.about-content p,
.section-heading p,
.contact-content p {
    color: var(--site-muted);

    line-height: 1.8;
}

.about-content p {
    max-width: 620px;

    margin:
        24px 0 0;
}

.site-text-link {
    display: inline-block;

    margin-top: 26px;

    color: var(--site-gold-light);

    font-size: 12px;
    font-weight: 800;
}

.about-visual {
    min-height: 420px;

    display: grid;
    place-items: center;

    background:
        linear-gradient(
            145deg,
            #1b1b1e,
            #0f0f10
        );

    border:
        1px solid var(--site-border);

    border-radius: 4px;
}

.about-visual-card {
    width: 70%;
    aspect-ratio: 1;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    border:
        1px solid
        rgba(200, 155, 75, 0.30);
}

.about-visual-card span {
    color: var(--site-gold);

    letter-spacing: 7px;
    font-size: 30px;
}

.about-visual-card strong {
    margin-top: 6px;

    letter-spacing: 5px;
    font-size: 13px;
}

.about-visual-card small {
    margin-top: 20px;

    color: #777;

    font-size: 9px;

    letter-spacing: 2px;
}


/* Stats */

.stats-section {
    border-top:
        1px solid var(--site-border);

    border-bottom:
        1px solid var(--site-border);

    background: #101012;
}

.stats-grid {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );
}

.stat-item {
    padding: 42px 30px;

    text-align: center;

    border-right:
        1px solid var(--site-border);
}

.stat-item:last-child {
    border-right: 0;
}

.stat-item strong,
.stat-item span {
    display: block;
}

.stat-item strong {
    color: var(--site-gold-light);

    font-size: 18px;
}

.stat-item span {
    margin-top: 6px;

    color: var(--site-muted);

    font-size: 11px;
}


/* Sections */

.services-section {
    background: #0f0f10;
}

.section-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 50px;

    margin-bottom: 55px;
}

.section-heading p {
    max-width: 420px;

    margin: 0;

    font-size: 13px;
}

.section-heading-center {
    justify-content: center;

    text-align: center;
}


/* Services */

.services-grid {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 18px;
}

.service-card {
    position: relative;

    min-height: 290px;

    padding: 30px;

    background:
        linear-gradient(
            145deg,
            #18181b,
            #121214
        );

    border:
        1px solid var(--site-border);

    overflow: hidden;

    transition:
        border-color 160ms ease,
        transform 160ms ease;
}

.service-card:hover {
    transform:
        translateY(-5px);

    border-color:
        rgba(200, 155, 75, 0.35);
}

.service-number {
    color: var(--site-gold);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 2px;
}

.service-card h3 {
    margin:
        75px 0 14px;

    font-size: 22px;
}

.service-card p {
    margin: 0;

    color: var(--site-muted);

    font-size: 13px;

    line-height: 1.7;
}


/* Projects */

.projects-section {
    background: #0a0a0b;
}

.projects-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.project-card {
    background: #141416;

    border:
        1px solid var(--site-border);

    overflow: hidden;
}

.project-card-image {
    position: relative;

    height: 350px;

    overflow: hidden;

    background: #111;
}

.project-card-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 500ms ease;
}

.project-card:hover img {
    transform:
        scale(1.04);
}

.project-placeholder {
    width: 100%;
    height: 100%;

    display: grid;
    place-items: center;

    background:
        linear-gradient(
            135deg,
            #1a1a1d,
            #0e0e0f
        );

    color: #353538;

    font-size: 30px;

    letter-spacing: 8px;
}

.project-category {
    position: absolute;

    left: 18px;
    bottom: 18px;

    padding: 7px 10px;

    color: #111;

    background: var(--site-gold);

    font-size: 9px;
    font-weight: 800;

    text-transform: uppercase;

    letter-spacing: 1px;
}

.project-card-content {
    padding: 22px;
}

.project-card-content h3 {
    margin: 0;

    font-size: 20px;
}

.project-card-content span {
    display: block;

    margin-top: 7px;

    color: var(--site-muted);

    font-size: 11px;
}

.projects-empty {
    grid-column: 1 / -1;

    min-height: 250px;

    display: grid;
    place-items: center;

    text-align: center;

    border:
        1px solid var(--site-border);
}

.projects-empty span,
.projects-empty strong {
    display: block;
}


/* Process */

.process-section {
    background: #101012;
}

.process-grid {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    margin-top: 55px;
}

.process-item {
    min-height: 240px;

    padding: 30px;

    border-top:
        1px solid var(--site-border);

    border-right:
        1px solid var(--site-border);
}

.process-item:last-child {
    border-right: 0;
}

.process-item > span {
    color: var(--site-gold);

    font-size: 10px;
    font-weight: 800;
}

.process-item h3 {
    margin:
        65px 0 13px;

    font-size: 19px;
}

.process-item p {
    margin: 0;

    color: var(--site-muted);

    font-size: 12px;

    line-height: 1.7;
}


/* Contact */

.contact-section {
    background:
        radial-gradient(
            circle at 80% 30%,
            rgba(200, 155, 75, 0.10),
            transparent 35%
        ),
        #0a0a0b;
}

.contact-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(320px, 0.65fr);

    align-items: center;

    gap: 90px;
}

.contact-content p {
    max-width: 580px;

    margin:
        25px 0 0;
}

.contact-card {
    padding: 34px;

    background: #171719;

    border:
        1px solid var(--site-border);
}

.contact-card > span {
    color: var(--site-gold);

    font-size: 10px;

    text-transform: uppercase;

    letter-spacing: 1.5px;
}

.contact-card h3 {
    margin:
        10px 0;

    font-size: 28px;
}

.contact-card p {
    margin:
        0 0 25px;

    color: var(--site-muted);

    font-size: 12px;

    line-height: 1.7;
}

.contact-card small {
    display: block;

    margin-top: 13px;

    color: #666;

    font-size: 9px;

    line-height: 1.5;
}


/* Footer */

.site-footer {
    padding-top: 70px;

    background: #080809;

    border-top:
        1px solid var(--site-border);
}

.site-footer-grid {
    display: grid;

    grid-template-columns:
        1.5fr 0.7fr 1fr;

    gap: 70px;

    padding-bottom: 60px;
}

.site-footer p {
    max-width: 340px;

    color: var(--site-muted);

    font-size: 12px;

    line-height: 1.7;
}

.site-footer-title {
    display: block;

    margin-bottom: 18px;

    color: var(--site-gold-light);

    font-size: 11px;

    text-transform: uppercase;

    letter-spacing: 1px;
}

.site-footer-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.site-footer-links a,
.site-footer-contact {
    color: #aaa;

    font-size: 11px;
}

.site-footer-links a:hover,
.site-footer-contact:hover {
    color: var(--site-gold-light);
}

.site-footer-bottom {
    padding: 20px 0;

    color: #666;

    border-top:
        1px solid var(--site-border);

    font-size: 9px;
}


/* Responsive */

@media (max-width: 900px) {

    .site-navigation,
    .site-header-cta {
        display: none;
    }

    .site-menu-toggle {
        display: grid;
        place-items: center;

        width: 42px;
        height: 42px;

        color: #fff;

        background: transparent;

        border:
            1px solid var(--site-border);

        cursor: pointer;
    }

    .site-navigation.is-open {
        position: absolute;

        top: 82px;
        left: 0;
        right: 0;

        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;

        padding: 15px 20px;

        background: #101012;

        border-bottom:
            1px solid var(--site-border);
    }

    .site-navigation.is-open a {
        padding: 14px 0;

        border-bottom:
            1px solid var(--site-border);
    }

    .about-grid,
    .contact-grid {
        grid-template-columns: 1fr;

        gap: 45px;
    }

    .services-grid {
        grid-template-columns: 1fr;
    }

    .projects-grid {
        grid-template-columns: 1fr;
    }

    .process-grid,
    .stats-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .site-footer-grid {
        grid-template-columns: 1fr;

        gap: 35px;
    }
}

@media (max-width: 600px) {

    .site-container {
        width:
            min(
                calc(100% - 30px),
                var(--site-container)
            );
    }

    .hero {
        min-height: 690px;
    }

    .hero h1 {
        letter-spacing: -2px;
    }

    .section-heading {
        flex-direction: column;
        align-items: flex-start;

        gap: 20px;
    }

    .stats-grid,
    .process-grid {
        grid-template-columns: 1fr;
    }

    .stat-item,
    .process-item {
        border-right: 0;

        border-bottom:
            1px solid var(--site-border);
    }

    .project-card-image {
        height: 260px;
    }
}

/* =========================================================
   NOVO HERO - BURJAN
   ========================================================= */

.hero-new {
    position: relative;

    min-height: 760px;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    overflow: hidden;

    background: #061a2b;
}

.hero-new-background {
    position: absolute;
    inset: 0;

    background:
    linear-gradient(
        90deg,
        rgba(3, 17, 29, 0.82) 0%,
        rgba(3, 17, 29, 0.56) 35%,
        rgba(3, 17, 29, 0.16) 68%,
        rgba(3, 17, 29, 0.06) 100%
    ),
        url("/assets/images/home/hero-main.png");

    background-size: cover;
    background-position: center;
}

.hero-new-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.15),
            transparent 45%,
            rgba(2, 14, 24, 0.55)
        );

    pointer-events: none;
}

.hero-new-content {
    position: relative;
    z-index: 2;

    flex: 1;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        220px;

    align-items: center;

    gap: 70px;

    padding-top: 125px;
    padding-bottom: 125px;
}

.hero-new-copy {
    max-width: 720px;
}

.hero-new-eyebrow {
    display: block;

    margin-bottom: 15px;

    color: #dfb75f;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 3px;
}

.hero-new h1 {
    max-width: 720px;

    margin: 0;

    color: #fff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            54px,
            7vw,
            90px
        );

    font-weight: 400;

    line-height: 0.94;

    letter-spacing: -2px;
}

.hero-new h1 span {
    display: block;

    color: #e0b85f;
}

.hero-new-copy > p {
    max-width: 470px;

    margin:
        24px 0 30px;

    color:
        rgba(255, 255, 255, 0.78);

    font-size: 17px;

    line-height: 1.55;
}

.hero-new-button {
    min-height: 50px;

    display: inline-flex;
    align-items: center;

    gap: 12px;

    padding: 0 19px;

    color: #061a2b;

    background:
        linear-gradient(
            135deg,
            #e4bf70,
            #c99a42
        );

    font-size: 11px;
    font-weight: 800;

    box-shadow:
        0 14px 35px
        rgba(0, 0, 0, 0.25);

    transition:
        transform 160ms ease,
        filter 160ms ease;
}

.hero-new-button:hover {
    transform: translateY(-2px);
    filter: brightness(1.06);
}

.hero-new-arrow {
    margin-left: 12px;

    font-size: 17px;
}

.hero-new-message {
    position: relative;

    display: flex;
    flex-direction: column;

    align-items: flex-end;

    padding-right: 18px;

    color:
        rgba(255, 255, 255, 0.74);

    text-align: right;
}

.hero-new-message::after {
    content: "";

    position: absolute;

    top: 0;
    right: 0;

    width: 2px;
    height: 100%;

    background:
        linear-gradient(
            #d4a44c,
            transparent
        );
}

.hero-new-message span {
    font-size: 9px;

    letter-spacing: 2px;
}

.hero-new-message strong {
    margin: 3px 0;

    color: #fff;

    font-family:
        Georgia,
        serif;

    font-size: 16px;
    font-weight: 400;
}


/* Faixa de diferenciais */

.hero-new-features {
    position: relative;
    z-index: 3;

    background:
        rgba(4, 24, 40, 0.92);

    border-top:
        1px solid
        rgba(255, 255, 255, 0.08);

    backdrop-filter: blur(10px);
}

.hero-new-features-grid {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );
}

.hero-new-feature {
    min-height: 92px;

    display: flex;
    align-items: center;

    gap: 13px;

    padding: 18px 25px;

    border-right:
        1px solid
        rgba(255, 255, 255, 0.08);
}

.hero-new-feature:last-child {
    border-right: 0;
}

.hero-new-feature-icon {
    width: 36px;
    height: 36px;

    display: grid;
    place-items: center;

    flex: 0 0 36px;

    color: #dfb75f;

    border:
        1px solid
        rgba(212, 164, 76, 0.40);

    border-radius: 50%;

    font-size: 13px;
}

.hero-new-feature strong,
.hero-new-feature span {
    display: block;
}

.hero-new-feature strong {
    color: #fff;

    font-size: 11px;
}

.hero-new-feature span {
    margin-top: 3px;

    color:
        rgba(255, 255, 255, 0.50);

    font-size: 9px;
}


/* Responsivo */

@media (max-width: 850px) {

    .hero-new-content {
        grid-template-columns: 1fr;

        padding-top: 135px;
        padding-bottom: 90px;
    }

    .hero-new-message {
        display: none;
    }

    .hero-new-background {
        background-position: 62% center;
    }

    .hero-new-features-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }
}

@media (max-width: 560px) {

    .hero-new {
        min-height: 700px;
    }

    .hero-new-content {
        padding-top: 115px;
        padding-bottom: 75px;
    }

    .hero-new h1 {
        font-size: 50px;
    }

    .hero-new-button {
        width: 100%;

        justify-content: center;
    }

    .hero-new-features-grid {
        grid-template-columns: 1fr;
    }

    .hero-new-feature {
        border-right: 0;

        border-bottom:
            1px solid
            rgba(255, 255, 255, 0.08);
    }
}

/* =========================================================
   DETALHES QUE TRANSFORMAM AMBIENTES
   ========================================================= */

.details-section {
    position: relative;

    background: #f2eee5;

    color: #081d2e;

    overflow: hidden;
}

.details-layout {
    min-height: 500px;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1.18fr);
}


/* Imagem */

.details-image {
    min-height: 500px;

    background:
        linear-gradient(
            rgba(5, 21, 34, 0.05),
            rgba(5, 21, 34, 0.05)
        ),
        url("/assets/images/home/details-interior.png");

    background-size: cover;
    background-position: 42% center;
}


/* Conteúdo */

.details-content {
    display: grid;

    grid-template-columns:
        minmax(0, 1.15fr)
        1px
        minmax(220px, 0.7fr);

    align-items: center;

    gap: 42px;

    padding:
        65px
        max(
            40px,
            calc(
                (100vw - 1180px)
                / 2
            )
        )
        65px
        55px;
}

.details-copy {
    max-width: 500px;
}

.details-eyebrow {
    display: block;

    margin-bottom: 7px;

    color: #b48539;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 3px;
}

.details-copy h2 {
    margin: 0;

    color: #082033;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            40px,
            4.2vw,
            62px
        );

    font-weight: 400;

    line-height: 0.96;

    letter-spacing: -1.5px;
}

.details-copy h2 span {
    display: block;

    color: #a97d39;
}

.details-copy p {
    max-width: 480px;

    margin:
        23px 0 27px;

    color: #4e5152;

    font-size: 13px;

    line-height: 1.75;
}

.details-button {
    min-height: 42px;

    display: inline-flex;
    align-items: center;

    gap: 20px;

    padding: 0 17px;

    color: #ffffff;

    background: #071e30;

    font-size: 10px;
    font-weight: 700;

    transition:
        background-color 160ms ease,
        transform 160ms ease;
}

.details-button:hover {
    background: #0d2d46;

    transform:
        translateY(-2px);
}

.details-button span {
    color: #d5a54d;

    font-size: 15px;
}


/* Linha vertical */

.details-divider {
    width: 1px;
    height: 76%;

    background:
        rgba(8, 32, 51, 0.16);
}


/* Lista lateral */

.details-features {
    display: flex;
    flex-direction: column;

    gap: 21px;
}

.details-feature {
    display: flex;
    align-items: center;

    gap: 13px;
}

.details-feature-icon {
    width: 35px;
    height: 35px;

    flex: 0 0 35px;

    display: grid;
    place-items: center;

    color: #b7863a;

    font-size: 20px;
}

.details-feature strong,
.details-feature span {
    display: block;
}

.details-feature strong {
    color: #102536;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 13px;
}

.details-feature span {
    margin-top: 2px;

    color: #77736b;

    font-size: 10px;
}


/* Responsive */

@media (max-width: 1050px) {

    .details-layout {
        grid-template-columns: 1fr;
    }

    .details-image {
        min-height: 450px;
    }

    .details-content {
        grid-template-columns:
            minmax(0, 1fr)
            1px
            minmax(220px, 0.65fr);

        padding:
            60px
            max(
                25px,
                calc(
                    (100vw - 850px)
                    / 2
                )
            );
    }
}

@media (max-width: 700px) {

    .details-image {
        min-height: 330px;
    }

    .details-content {
        grid-template-columns: 1fr;

        gap: 35px;

        padding: 48px 25px;
    }

    .details-divider {
        width: 100%;
        height: 1px;
    }

    .details-features {
        display: grid;

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }
}

@media (max-width: 480px) {

    .details-features {
        grid-template-columns: 1fr;
    }
}code public/assets/css/site.css

/* =========================================================
   NOSSOS PROJETOS - REDESIGN BURJAN
   ========================================================= */

.projects-showcase {
    position: relative;

    padding: 76px 0 82px;

    color: #ffffff;

    background:
        linear-gradient(
            180deg,
            #071d30 0%,
            #041726 100%
        );

    overflow: hidden;
}



/* Cabeçalho */

.projects-showcase-heading {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 40px;

    margin-bottom: 34px;
}

.projects-showcase-eyebrow {
    display: block;

    margin-bottom: 7px;

    color: #d6a950;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 3px;
}

.projects-showcase-heading h2 {
    margin: 0;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            38px,
            4.6vw,
            60px
        );

    font-weight: 400;

    line-height: 0.95;

    letter-spacing: -1px;
}

.projects-showcase-heading h2 span {
    color: #d8aa50;
}

.projects-showcase-heading p {
    max-width: 520px;

    margin:
        10px 0 0;

    color:
        rgba(255, 255, 255, 0.60);

    font-size: 12px;

    line-height: 1.7;
}

.projects-showcase-link {
    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;

    gap: 9px;

    padding-bottom: 5px;

    color: #d8aa50;

    border-bottom:
        1px solid
        rgba(216, 170, 80, 0.30);

    font-size: 10px;
    font-weight: 700;
}

.projects-showcase-link:hover {
    color: #efc979;

    border-color:
        rgba(239, 201, 121, 0.70);
}


/* Galeria */

.projects-showcase-grid {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 20px;

    margin-top: 42px;
}

.projects-showcase-card {
    min-width: 0;

    overflow: hidden;

    background: #061522;
}

.projects-showcase-image {
    position: relative;

    height: 310px;

    overflow: hidden;
}

.projects-showcase-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 550ms ease,
        filter 300ms ease;
}

.projects-showcase-card:hover img {
    transform: scale(1.055);

    filter: brightness(0.78);
}


/* Conteúdo sobre a imagem */

.projects-showcase-overlay {
    position: absolute;

    inset: 0;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    padding: 15px;

    background:
        linear-gradient(
            180deg,
            rgba(4, 18, 30, 0.03) 25%,
            rgba(4, 18, 30, 0.88) 100%
        );

    opacity: 0;

    transition:
        opacity 260ms ease;
}

.projects-showcase-card:hover
.projects-showcase-overlay {
    opacity: 1;
}

.projects-showcase-category {
    width: fit-content;

    padding: 6px 9px;

    color: #071a2a;

    background: #d7aa51;

    font-size: 8px;
    font-weight: 800;

    letter-spacing: 1px;

    text-transform: uppercase;
}

.projects-showcase-info h3 {
    margin: 0;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 18px;

    font-weight: 400;
}

.projects-showcase-info > span {
    display: block;

    margin-top: 5px;

    color:
        rgba(255, 255, 255, 0.58);

    font-size: 9px;
}


/* Sem imagem */

.projects-showcase-placeholder {
    width: 100%;
    height: 100%;

    display: grid;
    place-items: center;

    color:
        rgba(212, 164, 76, 0.25);

    background:
        linear-gradient(
            135deg,
            #0b2a40,
            #061725
        );

    font-family: Georgia, serif;

    font-size: 22px;

    letter-spacing: 6px;
}


/* Sem projetos */

.projects-showcase-empty {
    min-height: 260px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 10px;

    border:
        1px solid
        rgba(255, 255, 255, 0.08);

    background:
        rgba(255, 255, 255, 0.015);
}

.projects-showcase-empty span {
    color: #d8aa50;

    font-size: 10px;

    letter-spacing: 4px;
}

.projects-showcase-empty strong {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 23px;

    font-weight: 400;
}


/* Tablet */

@media (max-width: 1000px) {

    .projects-showcase-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .projects-showcase-image {
        height: 330px;
    }
}


/* Mobile */

@media (max-width: 650px) {

   .projects-showcase {
    position: relative;

    padding: 90px 0 100px;

    color: #ffffff;

    background:
        linear-gradient(
            180deg,
            #071d30 0%,
            #041726 100%
        );

    overflow: hidden;
}

    .projects-showcase-heading {
        flex-direction: column;
        align-items: flex-start;

        gap: 18px;
    }

    .projects-showcase-grid {
        grid-template-columns: 1fr;

        gap: 12px;
    }

    .projects-showcase-image {
        height: 300px;
    }

    /*
     * Em telas touch não dependemos
     * exclusivamente do hover.
     */
    .projects-showcase-overlay {
        opacity: 1;

        background:
            linear-gradient(
                180deg,
                transparent 40%,
                rgba(4, 18, 30, 0.90)
            );
    }
}

/* =========================================================
   CORREÇÃO DO HERO
   ========================================================= */

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

.hero-new {
    position: relative;

    width: 100%;
    max-width: none;

    margin: 0;

    overflow: hidden;
}

/*
 * Remove círculos/efeitos decorativos
 * antigos sobre o Hero.
 */
.hero-new::before,
.hero-new::after {
    content: none !important;
    display: none !important;
}

.hero-new-background {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.hero-new-content {
    width: min(
        calc(100% - 40px),
        1180px
    );

    margin-left: auto;
    margin-right: auto;
}

/* =========================================================
   SERVIÇOS PREMIUM - BURJAN
   ========================================================= */

.services-premium {
    position: relative;

    padding:
        82px 0 88px;

    color: #ffffff;

    background:
        linear-gradient(
            180deg,
            #071b2c 0%,
            #04131f 100%
        );

    overflow: hidden;
}

.services-premium-heading {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 60px;

    margin-bottom: 42px;
}

.services-premium-eyebrow {
    display: block;

    margin-bottom: 8px;

    color: #d6a64c;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 3px;
}

.services-premium-heading h2 {
    margin: 0;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            40px,
            4.8vw,
            62px
        );

    font-weight: 400;

    line-height: 0.96;

    letter-spacing: -1px;
}

.services-premium-heading h2 span {
    color: #d9aa51;
}

.services-premium-intro {
    max-width: 410px;
}

.services-premium-intro p {
    margin: 0;

    color:
        rgba(255, 255, 255, 0.58);

    font-size: 12px;

    line-height: 1.75;
}

.services-premium-intro a {
    display: inline-flex;
    align-items: center;

    gap: 10px;

    margin-top: 14px;

    color: #d8aa50;

    font-size: 10px;
    font-weight: 700;

    border-bottom:
        1px solid
        rgba(216, 170, 80, 0.30);

    padding-bottom: 4px;
}


/* Cards */

.services-premium-grid {
    position: relative;
    z-index: 2;

    display: flex;
    flex-wrap: wrap;

    gap: 16px;
}

.services-premium-card {
    position: relative;

    flex:
        0 1
        calc(
            33.333% - 11px
        );

    min-width: 260px;
    min-height: 310px;

    display: flex;
    flex-direction: column;

    padding: 27px;

    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.045),
            rgba(255, 255, 255, 0.012)
        );

    border:
        1px solid
        rgba(255, 255, 255, 0.09);

    transition:
        transform 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease;
}

.services-premium-card:hover {
    transform: translateY(-5px);

    border-color:
        rgba(216, 170, 80, 0.38);
}

.services-premium-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.services-premium-number {
    color: #d8aa50;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 2px;
}

.services-premium-icon {
    width: 40px;
    height: 40px;

    display: grid;
    place-items: center;

    color: #d8aa50;

    border:
        1px solid
        rgba(216, 170, 80, 0.25);

    border-radius: 50%;

    font-size: 17px;
}

.services-premium-body {
    flex: 1;

    padding-top: 55px;
}

.services-premium-body h3 {
    margin: 0;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 23px;

    font-weight: 400;

    line-height: 1.15;
}

.services-premium-body p {
    margin:
        14px 0 0;

    color:
        rgba(255, 255, 255, 0.52);

    font-size: 11px;

    line-height: 1.75;
}

.services-premium-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;

    margin-top: 28px;
    padding-top: 16px;

    border-top:
        1px solid
        rgba(255, 255, 255, 0.07);
}

.services-premium-footer > span {
    overflow: hidden;

    color:
        rgba(255, 255, 255, 0.34);

    font-size: 8px;

    letter-spacing: 1px;

    text-transform: uppercase;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.services-premium-footer a {
    color: #d8aa50;

    font-size: 18px;

    transition:
        transform 160ms ease;
}

.services-premium-footer a:hover {
    transform: translateX(3px);
}


/* Tablet */

@media (max-width: 900px) {

    .services-premium-heading {
        align-items: flex-start;
        flex-direction: column;

        gap: 20px;
    }

    .services-premium-card {
        flex:
            0 1
            calc(
                50% - 8px
            );
    }
}


/* Mobile */

@media (max-width: 600px) {

    .services-premium {
        padding:
            58px 0 64px;
    }

    .services-premium-card {
        flex-basis: 100%;

        min-width: 0;
        min-height: 270px;
    }

    .services-premium-body {
        padding-top: 40px;
    }
}

/* =========================================================
   DO PLANEJAMENTO À ENTREGA
   ========================================================= */

.process-premium {
    padding:
        88px 0 96px;

    color: #102435;

    background:
        #f1ede4;
}


/* Cabeçalho */

.process-premium-heading {
    display: grid;

    grid-template-columns:
        minmax(0, 1.6fr)
        minmax(280px, 0.65fr);

    align-items: end;

    gap: 70px;

    margin-bottom: 52px;
}

.process-premium-eyebrow {
    display: block;

    margin-bottom: 8px;

    color: #b98532;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 3px;
}

.process-premium-heading h2 {
    margin: 0;

    max-width: 650px;

    color: #0a2031;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            42px,
            5vw,
            65px
        );

    font-weight: 400;

    line-height: 0.96;

    letter-spacing: -1.4px;
}

.process-premium-heading h2 span {
    color: #b78639;
}

.process-premium-heading > div:first-child > p {
    max-width: 500px;

    margin:
        15px 0 0;

    color: #66625c;

    font-size: 12px;

    line-height: 1.7;
}


/* CTA lateral */

.process-premium-cta {
    padding-left: 30px;

    border-left:
        1px solid
        rgba(10, 32, 49, 0.16);
}

.process-premium-cta > span {
    display: block;

    margin-bottom: 6px;

    color: #b78639;

    font-size: 8px;
    font-weight: 800;

    letter-spacing: 2px;
}

.process-premium-cta strong {
    display: block;

    max-width: 270px;

    color: #102435;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 23px;

    font-weight: 400;

    line-height: 1.12;
}

.process-premium-cta a {
    min-height: 39px;

    width: fit-content;

    display: inline-flex;
    align-items: center;

    gap: 18px;

    margin-top: 18px;
    padding: 0 15px;

    color: #071e30;

    background:
        linear-gradient(
            135deg,
            #e2b861,
            #c89236
        );

    font-size: 9px;
    font-weight: 800;
}


/* Etapas */

.process-premium-steps {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    border-top:
        1px solid
        rgba(10, 32, 49, 0.16);
}

.process-premium-step {
    position: relative;

    min-height: 245px;

    padding:
        28px 28px 25px;

    border-right:
        1px solid
        rgba(10, 32, 49, 0.13);
}

.process-premium-step:first-child {
    padding-left: 0;
}

.process-premium-step:last-child {
    border-right: 0;
}

.process-premium-step-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.process-premium-number {
    color: #b78639;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 2px;
}

.process-premium-icon {
    width: 38px;
    height: 38px;

    display: grid;
    place-items: center;

    color: #b78639;

    border:
        1px solid
        rgba(183, 134, 57, 0.27);

    border-radius: 50%;
}

.process-premium-step h3 {
    margin:
        65px 0 11px;

    color: #102435;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 19px;

    font-weight: 400;
}

.process-premium-step p {
    max-width: 220px;

    margin: 0;

    color: #716e68;

    font-size: 10px;

    line-height: 1.7;
}


/* Tablet */

@media (max-width: 900px) {

    .process-premium-heading {
        grid-template-columns: 1fr;

        gap: 35px;
    }

    .process-premium-cta {
        padding-left: 0;
        padding-top: 25px;

        border-left: 0;

        border-top:
            1px solid
            rgba(10, 32, 49, 0.16);
    }

    .process-premium-steps {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .process-premium-step:nth-child(2) {
        border-right: 0;
    }
}


/* Mobile */

@media (max-width: 600px) {

    .process-premium {
        padding:
            60px 0;
    }

    .process-premium-steps {
        grid-template-columns: 1fr;
    }

    .process-premium-step,
    .process-premium-step:first-child {
        min-height: auto;

        padding:
            27px 0;

        border-right: 0;

        border-bottom:
            1px solid
            rgba(10, 32, 49, 0.13);
    }

    .process-premium-step:last-child {
        border-bottom: 0;
    }

    .process-premium-step h3 {
        margin-top: 36px;
    }
}

/* =========================================================
   DEPOIMENTOS - BURJAN
   ========================================================= */

.testimonials-premium {
    padding:
        86px 0 92px;

    color: #ffffff;

    background:
        linear-gradient(
            180deg,
            #071d30 0%,
            #041521 100%
        );
}


/* Cabeçalho */

.testimonials-premium-heading {
    max-width: 720px;

    margin-bottom: 42px;
}

.testimonials-premium-eyebrow {
    display: block;

    margin-bottom: 8px;

    color: #d5a64c;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 3px;
}

.testimonials-premium-heading h2 {
    margin: 0;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            42px,
            5vw,
            64px
        );

    font-weight: 400;

    line-height: 0.96;

    letter-spacing: -1.3px;
}

.testimonials-premium-heading h2 span {
    color: #d9aa51;
}

.testimonials-premium-heading p {
    margin:
        14px 0 0;

    color:
        rgba(255, 255, 255, 0.55);

    font-size: 12px;

    line-height: 1.7;
}


/* Grid */

.testimonials-premium-grid {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 16px;
}


/* Card */

.testimonial-premium-card {
    min-height: 280px;

    display: flex;
    flex-direction: column;

    padding: 28px;

    color: #102435;

    background: #f2eee5;

    border:
        1px solid
        rgba(255, 255, 255, 0.08);

    transition:
        transform 180ms ease,
        box-shadow 180ms ease;
}

.testimonial-premium-card:hover {
    transform:
        translateY(-4px);

    box-shadow:
        0 18px 45px
        rgba(0, 0, 0, 0.20);
}

.testimonial-premium-quote {
    color: #c28f39;

    font-family:
        Georgia,
        serif;

    font-size: 48px;

    line-height: 0.7;
}

.testimonial-premium-text {
    flex: 1;

    margin:
        24px 0 30px;

    color: #474744;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 16px;

    line-height: 1.6;
}


/* Cliente */

.testimonial-premium-client {
    display: flex;
    align-items: center;

    gap: 12px;

    padding-top: 18px;

    border-top:
        1px solid
        rgba(16, 36, 53, 0.12);
}

.testimonial-premium-avatar {
    width: 42px;
    height: 42px;

    display: grid;
    place-items: center;

    flex: 0 0 42px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #0c3049,
            #071d30
        );

    border:
        2px solid
        rgba(196, 147, 59, 0.65);

    border-radius: 50%;

    font-family: Georgia, serif;

    font-size: 16px;
}

.testimonial-premium-client strong,
.testimonial-premium-client span {
    display: block;
}

.testimonial-premium-client strong {
    color: #102435;

    font-size: 12px;
}

.testimonial-premium-client span {
    margin-top: 3px;

    color: #847e73;

    font-size: 9px;
}


/* Sem depoimentos */

.testimonials-premium-empty {
    padding: 40px;

    border:
        1px solid
        rgba(255, 255, 255, 0.08);

    background:
        rgba(255, 255, 255, 0.02);
}

.testimonials-premium-empty strong,
.testimonials-premium-empty span {
    display: block;
}

.testimonials-premium-empty strong {
    font-family:
        Georgia,
        serif;

    font-size: 21px;
}

.testimonials-premium-empty span {
    margin-top: 6px;

    color:
        rgba(255, 255, 255, 0.48);

    font-size: 11px;
}


/* Tablet */

@media (max-width: 900px) {

    .testimonials-premium-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }
}


/* Mobile */

@media (max-width: 600px) {

    .testimonials-premium {
        padding:
            60px 0;
    }

    .testimonials-premium-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   LOGO OFICIAL BURJAN
   ========================================================= */

.site-logo {
    display: inline-flex;
    align-items: center;

    flex-shrink: 0;
}

.site-logo-image {
    display: block;

    width: 185px;
    height: auto;

    object-fit: contain;
}

@media (max-width: 700px) {

    .site-logo-image {
        width: 145px;
    }
}

/* Logo oficial no rodapé */

.site-footer-logo {
    display: inline-flex;
    align-items: center;
}

.site-footer-logo-image {
    display: block;

    width: 190px;
    height: auto;

    object-fit: contain;
}

@media (max-width: 600px) {

    .site-footer-logo-image {
        width: 155px;
    }
}

/* Ajuste de espaçamento da seção Projetos */

.projects-section {
    padding: 90px 0;
}

.projects-section .site-container {
    max-width: 1180px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}

.projects-section-header {
    margin-bottom: 36px;
}

.projects-grid {
    gap: 18px;
}

/* Refinamento da área de projetos */

.projects-showcase > .site-container {
    width: min(
        calc(100% - 48px),
        1180px
    );

    margin-left: auto;
    margin-right: auto;
}

.projects-showcase-image {
    height: 360px;
}

@media (max-width: 1000px) {

    .projects-showcase-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        gap: 16px;
    }
}

@media (max-width: 650px) {

    .projects-showcase > .site-container {
        width: calc(100% - 30px);
    }

    .projects-showcase-grid {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-top: 30px;
    }

    .projects-showcase-image {
        height: 300px;
    }
}

/* =========================================================
   REFINAMENTO FINAL - NOSSOS PROJETOS
   ========================================================= */

.projects-showcase {
    padding-top: 110px;
    padding-bottom: 110px;
}

.projects-showcase > .site-container {
    width: min(
        calc(100% - 100px),
        1220px
    );

    margin-left: auto;
    margin-right: auto;
}

/* Cabeçalho da seção */

.projects-showcase-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 60px;

    margin-bottom: 58px;
}

.projects-showcase-eyebrow {
    margin-bottom: 12px;
}

.projects-showcase-heading h2 {
    margin-bottom: 14px;
}

.projects-showcase-heading p {
    margin-top: 0;

    max-width: 520px;

    line-height: 1.8;
}

/* Grid */

.projects-showcase-grid {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 30px;

    margin-top: 0;
}

.projects-showcase-card {
    overflow: hidden;

    border:
        1px solid
        rgba(255, 255, 255, 0.08);

    background: #081a28;
}

.projects-showcase-image {
    height: 365px;
}

/* Tablet */

@media (max-width: 1000px) {

    .projects-showcase {
        padding-top: 85px;
        padding-bottom: 85px;
    }

    .projects-showcase > .site-container {
        width: calc(100% - 50px);
    }

    .projects-showcase-heading {
        margin-bottom: 42px;
    }

    .projects-showcase-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        gap: 22px;
    }
}

/* Mobile */

@media (max-width: 650px) {

    .projects-showcase {
        padding-top: 65px;
        padding-bottom: 65px;
    }

    .projects-showcase > .site-container {
        width: calc(100% - 30px);
    }

    .projects-showcase-heading {
        flex-direction: column;
        align-items: flex-start;

        gap: 20px;

        margin-bottom: 35px;
    }

    .projects-showcase-grid {
        grid-template-columns: 1fr;

        gap: 18px;
    }

    .projects-showcase-image {
        height: 300px;
    }
}

/* =========================================================
   FORMULÁRIO DE ORÇAMENTO
   ========================================================= */

.contact-card {
    padding: 34px;

    background: #171719;

    border:
        1px solid
        rgba(255, 255, 255, 0.08);
}

.contact-form {
    margin-top: 24px;
}

.contact-form-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 14px;
}

.contact-field {
    display: flex;
    flex-direction: column;

    gap: 7px;
}

.contact-field-full {
    grid-column: 1 / -1;
}

.contact-field label {
    color:
        rgba(255, 255, 255, 0.68);

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 0.5px;

    text-transform: uppercase;
}

.contact-field input,
.contact-field select,
.contact-field textarea {
    width: 100%;

    color: #ffffff;

    background: #101012;

    border:
        1px solid
        rgba(255, 255, 255, 0.10);

    border-radius: 0;

    outline: none;

    transition:
        border-color 160ms ease,
        background-color 160ms ease;
}

.contact-field input,
.contact-field select {
    min-height: 44px;

    padding:
        0 12px;
}

.contact-field textarea {
    min-height: 110px;

    padding: 12px;

    resize: vertical;
}

.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus {
    background: #121215;

    border-color:
        rgba(215, 170, 80, 0.65);
}

.contact-field select option {
    color: #ffffff;

    background: #101012;
}

.contact-submit {
    margin-top: 16px;

    border: 0;

    cursor: pointer;
}

.contact-field-error {
    color: #ef9b9b;

    font-size: 9px;

    line-height: 1.4;
}

.contact-success {
    margin-top: 18px;
    padding: 14px;

    color: #bfe7c9;

    background:
        rgba(49, 139, 78, 0.10);

    border:
        1px solid
        rgba(80, 176, 108, 0.30);
}

.contact-success strong,
.contact-success span {
    display: block;
}

.contact-success span {
    margin-top: 4px;

    font-size: 10px;
}

.contact-error {
    margin-top: 18px;
    padding: 12px;

    color: #f0b3b3;

    background:
        rgba(190, 70, 70, 0.08);

    border:
        1px solid
        rgba(210, 90, 90, 0.25);

    font-size: 10px;
}

.contact-privacy {
    display: block;

    margin-top: 11px;

    color:
        rgba(255, 255, 255, 0.34);

    font-size: 8px;

    line-height: 1.5;
}


/*
 * Campo invisível para bots.
 *
 * Não usamos type="hidden":
 * bots simples tendem a preenchê-lo.
 */
.contact-honeypot {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    overflow: hidden !important;

    clip:
        rect(
            0,
            0,
            0,
            0
        ) !important;

    white-space: nowrap !important;

    pointer-events: none !important;
}


/* Mobile */

@media (max-width: 600px) {

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

    .contact-field-full {
        grid-column: auto;
    }

    .contact-card {
        padding: 24px;
    }
}

/* =========================================================
   CONTATOS DINÂMICOS
   ========================================================= */

.contact-direct-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;

    margin: 14px 0 18px;
}

.contact-direct-links a {
    color: inherit;
    font-size: 12px;
    text-decoration: none;
}

.contact-direct-links a:hover {
    text-decoration: underline;
}


.site-footer-contact-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    gap: 7px;

    margin: 12px 0;
}

.site-footer-contact-list a,
.site-footer-contact-list span {
    color: inherit;
    font-size: 12px;
    line-height: 1.55;

    text-decoration: none;
}

.site-footer-contact-list a:hover {
    text-decoration: underline;
}


.site-footer-social {
    display: flex;
    flex-wrap: wrap;

    gap: 12px;

    margin: 12px 0 16px;
}

.site-footer-social a {
    color: inherit;

    font-size: 11px;
    font-weight: 600;

    text-decoration: none;
}

.site-footer-social a:hover {
    text-decoration: underline;
}