@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500;9..144,600&family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap");

:root {
    --navy: #0a2c42;
    --petroleum: #2f5f73;
    --steel: #a1c4ce;
    --ice: #d6e1ef;
    --gold: #f3a125;
    --bg: #f7f4ee;
}

body {
    background: var(--bg);
    overflow-x: hidden;
    color: var(--navy);
    font-family: 'Inter',sans-serif;
 
}



/* Títulos premium */
h1, h2, h3, h4 {
    font-family: var(--font-display);
    letter-spacing: -0.03em;
    color: var(--ink);
}

tp {
    font-family: var(--font-display);
    letter-spacing: -0.03em;
    color: var(--ink);
    font-size: 1rem;
}



/* Grade elegante */
body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image: linear-gradient(to right, rgba(23, 32, 51, 0.055) 1px, transparent 1px);
    background-size: calc(100% / 12) 100%;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,0.65), transparent 85%);
}

/* Cards modernos */
.shadow-glass,
.card-premium {
    background: var(--card);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border: 1px solid var(--border);
    border-radius: 22px;
    box-shadow: var(--shadow);
    color: var(--ink);
}

/* Navbar */
.navbar {
    background: rgba(248, 244, 234, 0.78) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-bottom: 1px solid var(--border);
    box-shadow: 0 12px 15px rgba(0, 0, 0, 0.5);
    height: 80px
}

.navbar .nav-link {
        color: var(--ink) !important;
        font-weight: 500;
}

.navbar .nav-link:hover {
            color: var(--navy) !important;
}

/* Botões */
.btn-primary,
.btn-premium {
    background: var(--navy);
    border: none;
    color: #fff;
    border-radius: 999px;
    padding: 0.7rem 1.25rem;
    font-weight: 600;
    box-shadow: 0 12px 30px rgba(28, 45, 74, 0.22);
}

    .btn-primary:hover,
    .btn-premium:hover {
        background: #243b61;
        color: #fff;
    }

/* Botão mint */
.btn-mint {
    background: var(--mint);
    color: var(--ink);
    border: none;
    border-radius: 999px;
    padding: 0.7rem 1.25rem;
    font-weight: 600;
}

/* Inputs */
.form-control,
.form-select {
    background: rgba(255,255,255,0.78);
    border: 1px solid var(--border);
    color: var(--ink);
    border-radius: 14px;
    padding: 0.75rem 1rem;
}

    .form-control:focus,
    .form-select:focus {
        border-color: var(--mint);
        box-shadow: 0 0 0 0.2rem rgba(155, 231, 194, 0.28);
    }

/* Label estilo premium */
.font-mono-label,
.label-premium {
    font-family: var(--font-mono);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.72rem;
    font-weight: 500;
    color: var(--muted);
}

/* Tabelas */
.table-glass {
    background: rgba(255,255,255,0.7);
    border-radius: 18px;
    overflow: hidden;
    color: var(--ink);
}

    .table-glass thead {
        background: rgba(28, 45, 74, 0.08);
    }

    .table-glass th {
        color: var(--ink);
        font-weight: 600;
    }

    .table-glass td {
        color: var(--ink);
    }
#webgl-bg {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1;

    background:
        linear-gradient(
            135deg,
            #f7fafc 0%,
            #edf3f8 40%,
            #f8fafb 100%
        );
}



.hero-title {
    font-family: 'Cormorant Garamond',serif;
    font-size: clamp(5rem,8vw,9rem);
    line-height: .88;
    letter-spacing: -.06em;
    font-weight: 500;
    color: #0a2c42;
    max-width: 820px;
}
    .hero-title em {
        color: #2f5f73;
        font-style: italic;
    }

.hero-sub {
    max-width: 650px;
    color: #4e6170;
    line-height: 1.8;
    font-size: 1.08rem;
}

.btn-premium {
    background: #0a2c42;
    color: white;
    border: none;
    padding: 18px 34px;
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: -.02em;
    transition: .35s cubic-bezier(.16,1,.3,1);
    box-shadow: 0 10px 30px rgba(10,44,66,.12);
}

    .btn-premium:hover {
        transform: translateY(-2px) scale(1.02);
        background: #123a52;
        box-shadow: 0 18px 50px rgba(10,44,66,.16);
    }
    .btn-premium:hover {
        transform: translateY(-2px);
        background: #123b56;
    }

.glass-card {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    background: linear-gradient( 135deg, rgba(255,255,255,.65), rgba(255,255,255,.32) );
    backdrop-filter: blur(22px);
    border: 1px solid rgba(10,44,66,.08);
    box-shadow: 0 20px 60px rgba(10,44,66,.08);
}

.grid-bg {
    position: fixed;
    inset: 0;
    z-index: -2;
    background: linear-gradient( rgba(10,44,66,.025) 1px, transparent 1px ), linear-gradient( 90deg, rgba(10,44,66,.025) 1px, transparent 1px );
    background-size: 90px 90px;
    mask-image: radial-gradient( ellipse at center, black 45%, transparent 90% );
}

.blur-orb {
    position: fixed;
    border-radius: 50%;
    filter: blur(80px);
    z-index: -1;
    opacity: .55;
}

.orb1 {
    width: 500px;
    height: 500px;
    background: #a1c4ce;
    top: -120px;
    left: -120px;
}

.orb2 {
    width: 400px;
    height: 400px;
    background: #d6e1ef;
    bottom: -120px;
    right: -120px;
}

.orb3 {
    width: 180px;
    height: 180px;
    background: #f3a125;
    top: 30%;
    right: 20%;
    opacity: .18;
}
.grid-bg {
    position: fixed;
    inset: 0;
    z-index: -3;
    background: radial-gradient( circle at top left, rgba(161,196,206,.22), transparent 30% ), radial-gradient( circle at 80% 20%, rgba(243,161,37,.08), transparent 25% ), linear-gradient( 135deg, #f5f7f8 0%, #edf2f5 45%, #f7f8f9 100% );
}
    .grid-bg::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: linear-gradient( rgba(10,44,66,.035) 1px, transparent 1px ), linear-gradient( 90deg, rgba(10,44,66,.035) 1px, transparent 1px );
        background-size: 80px 80px;
        mask-image: radial-gradient( ellipse at center, black 40%, transparent 95% );
    }

.floating-logo {
    position: fixed;
    top: 50%;
    left: 10%;
    transform: translate(-50%, -50%) scale(2); /* Começa grande e centralizada */
    opacity: 0; /* começa invisível */
    z-index: 1000;
    transition: all 1s ease-in-out;
    pointer-events: auto;
}

    .floating-logo.ativo {
        top: -8px; /* posição final no topo */
        left: 14%;
        transform: translateX(-50%) scale(1); /* volta ao tamanho normal */
        opacity: 1; /* visível */
    }

    .floating-logo img {
        height: 120px;
        border-radius: 10px;
        box-shadow: 0 15px 8px rgba(0, 0, 0, 0.2);
        transition: transform 0.3s ease;       
      
    }

    .floating-logo:hover {
        transform: translateX(-50%) scale(1.1);
        filter: brightness(1.2) saturate(1.4) drop-shadow(0 4px 10px rgba(255, 165, 0, 0.6));
    }


.navbar-toggler {
    
    color:#00233f;
}

.navbar-toggler-icon {
    color: #00233f;
}
.navbar-toggler i {
    color: #00233f;
}

@media (max-width: 991.98px) {
    #navbarCorebox .navbar-nav {
        width: max-content;
        margin-left: auto;
        align-items: flex-end;
        background-color: rgba(248, 244, 234) !important;
        padding: 20px;
    }
}
.hero-image-wrap {
    position: relative;
    height: 82vh;
    min-height: 680px;
    max-height: 900px;
    overflow: hidden;
    border-radius: 32px;
    box-shadow: 0 40px 80px rgba(10,44,66,.12);
    transform: perspective(1200px) rotateY(-6deg) rotateX(2deg);
    transition: 1s cubic-bezier(.16,1,.3,1);
    background: #0a2c42;
}
    .hero-image-wrap:hover {
        transform: perspective(1200px) rotateY(-2deg) rotateX(0deg) translateY(-6px);
    }

.hero-video {
    width: 100%;
    height: 100%;
    object-fit: inherit;
    display: block;
}

/* overlay cinematográfico */
.hero-image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient( to top, rgba(10,44,66,.45), transparent 45% ), linear-gradient( to right, rgba(10,44,66,.18), transparent 30% );
    pointer-events: none;
}

/* brilho premium */
.hero-image-wrap::before {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient( rgba(243,161,37,.25), transparent 70% );
    top: -40px;
    right: -40px;
    z-index: 2;
    filter: blur(20px);
    pointer-events: none;
}

@media(max-width:991px) {

    .hero-image-wrap {
        height: 500px;
        margin-top: 40px;
    }
}

.video-control {
    position: absolute;
    bottom: 24px;
    right: 24px;
    z-index: 5;
    border: none;
    background: rgba(255,255,255,.18);
    backdrop-filter: blur(12px);
    color: white;
    padding: 12px 18px;
    border-radius: 999px;
    font-size: .9rem;
    cursor: pointer;
    transition: .3s;
}

    .video-control:hover {
        background: rgba(255,255,255,.28);
    }

.hero-video {
    filter: contrast(1.05) saturate(.92) brightness(.94);
}

.device-wrap {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    perspective: 1800px;
}


.hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 25px;
    display: block;
    filter: contrast(1.04) saturate(.92) brightness(.94);
}

.ceo-video {
    width: 100%;
    max-width: 900px; /* opcional para não esticar demais */
    height: auto;
    display: block;
    margin: 25px auto; /* 👈 centraliza horizontalmente */
    object-fit: contain;
    object-position: center top;
    filter: contrast(1.04) saturate(.92) brightness(.94);
}
.video-container {
    display: flex;
    justify-content: center; /* centraliza horizontal */
    align-items: center; /* centraliza vertical (melhora muito) */
    width: 100%;
    padding: 20px 0; /* respiro em cima e embaixo */
    box-sizing: border-box;
    border-radius:25px;
}
.ceo-video {
    width: 100%;
    max-width: 900px;
    height: auto;
    object-fit: contain;
    border-radius: 25px;
}
/* glow atrás */

.device-wrap::before {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    background: radial-gradient( rgba(161,196,206,.35), transparent 70% );
    filter: blur(70px);
    z-index: -1;
}

/* glow dourado */

.device-wrap::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    right: 0;
    top: 10%;
    border-radius: 50%;
    background: radial-gradient( rgba(243,161,37,.25), transparent 70% );
    filter: blur(50px);
    z-index: -1;
}
.corebox-iframe {
    width: 100%;
    height: 520px;
    border: none;
    border-radius: 32px;
    overflow: hidden;
    box-shadow: 0 35px 90px rgba(11, 51, 71, 0.22);
}
.jarvis-frame {
    width: 100%;
    height: 500px;
    border: none;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 25px 80px rgba(0,0,0,.45), 0 0 40px rgba(0,180,255,.12);
}

.transparent-carousel {
    background: transparent;
    position: relative;
    width:100%;
}

.hero-slide-img {
    background: transparent;
    object-fit: contain;
    width: 100%;
    height: 90vh;
    object-fit: contain;
    padding: 10px;
    filter: drop-shadow(0 20px 35px rgba(0,0,0,0.35));
    transition: transform .5s ease;
}

.carousel-item.active .hero-slide-img {
    transform: scale(1.02);
}

/* Botões */
.carousel-control-prev,
.carousel-control-next {
    width: 42px;
    opacity: 0;
    transition: .3s ease;
}

.transparent-carousel:hover .carousel-control-prev,
.transparent-carousel:hover .carousel-control-next {
    opacity: 1;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-color: rgba(0,0,0,0.35);
    border-radius: 50%;
    padding: 18px;
    backdrop-filter: blur(8px);
}

/* Indicadores */
.carousel-indicators button {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: none;
    background-color: rgba(255,255,255,0.4);
}

.carousel-indicators .active {
    background-color: #ffffff;
    transform: scale(1.2);
}
.hero-slide-img {
    background: transparent;
    object-fit: contain;
    max-height: 1024px;
    min-height: 1024px;
    padding: 5px;
    filter: drop-shadow(0 20px 35px rgba(0,0,0,0.35));
    transition: transform 1.5s ease, opacity 1.5s ease;
    animation: heroZoom 8s ease-in-out infinite;
}

.carousel-item .hero-slide-img {
    transform: scale(1.15);
    opacity: 0;
    transition: all 1.4s ease;
}

.carousel-item.active .hero-slide-img {
    transform: scale(1);
    opacity: 1;
}



.hero-image-box {
    width: 90%;
    height: 90%;
    margin: 0 auto;
    overflow: visible;
    display: flex;
    align-items: center;
    justify-content: center;
   
}

.hero-img {
    width: 99%;
    height: 99%; 
    object-fit: contain;
    display: block;
}

.veeva-img {
    height: 90px;
    transition: transform 0.2s ease;
  
}

.cbx10-img {
    height: 9rem;
    width: auto;
    padding: 10px 16px;
    background-color: transparent;
  
    border-radius: 12px;
   
    transition: all 0.3s ease;
}

    .cbx10-img:hover {
        transform: scale(1.05);
        box-shadow: 0 8px 20px rgba(243, 161, 37, 0.25);
    }

    .cbx10-img:hover {
        transform: translateY(-3px) scale(1.03);
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
    }

    
    
    .nossa-equipe {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: rgba(10,44,66,.12);
    position: relative;
    padding: clamp(32px, 5vw, 70px);
    overflow: hidden;
    
}

.equipe-container {
    padding-left: 6%;
    padding-right: 6%;
}

.equipe-label {
    letter-spacing: .25em;
    color: #557081;
    font-weight: 700;
    
}

.geral-title {
    font-family: 'Cormorant Garamond',serif;
    font-size: clamp(3rem,6vw,7rem);
    line-height: .88;
    letter-spacing: -.06em;
    font-weight: 500;
    color: #0a2c42;
    max-width: 920px;
    margin-top:1.5rem;
}

.geral-title em {
    color: #2f5f73;
    font-style: italic;
}

.geral-sub {
    max-width: 650px;
    color: #4e6170;
    line-height: 1.8;
    font-size: 1.08rem;
    margin-top:1.5rem;
}

.geral-dir-title {
    font-family: 'Cormorant Garamond',serif;
    font-size: clamp(3rem,6vw,7rem);
    line-height: .88;
    letter-spacing: -.06em;
    font-weight: 500;
    color: #0a2c42;
    max-width: 920px;
    text-align:end;
}

    .geral-dir-title em {
        color: #2f5f73;
        font-style: italic;
        text-align: end;
    }

.geral-dir-sub {
    max-width: 650px;
    color: #4e6170;
    line-height: 1.8;
    font-size: 1.08rem;
    margin-top: 1.5rem;
    text-align: end;
}



.equipe-text {
    margin-top: 24px;
    font-size: 1.05rem;
    line-height: 1.8;
    color: #557081;
   
}

.team-card {
    height: 500px;
    width:300px;
    padding:12px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, 0.85);
    box-shadow: 0 24px 60px rgba(10, 44, 66, 0.12);
    transition: all .35s ease;
}

.team-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 34px 80px rgba(10, 44, 66, 0.2);
}


.team-photo {
    width: 200px;
    height: 200px;
    border-radius:99px;
    overflow: hidden;
    margin-bottom: 10px;
    margin: 0 auto 15px auto; /* 🔥 aqui é o segredo */
    display: block;
}

    .team-photo img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        text-align: center;
    }

.team-tag {
    display: inline-block;
    padding: 7px 13px;
    border-radius: 999px;
    background: rgba(10, 44, 66, 0.08);
    color: #0a2c42;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.team-card h5 {
    margin-top: 16px;
    margin-bottom: 4px;
    color: #0a2c42;
    font-size: 1.2rem;
    font-weight: 700;
}

.team-role {
    margin-bottom: 14px;
    color: #557081;
    font-size: .92rem;
    font-weight: 600;
}

.team-desc {
    color: #557081;
    font-size: .92rem;
    line-height: 1.65;
    margin-bottom: 0;
    color:#00233f;
}

.team-controls {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    margin-top: 28px;
}

.team-control {
    position: static;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #0a2c42;
    opacity: 1;
}

    .team-control:hover {
        background: #123f5c;
    }

    .team-control .carousel-control-prev-icon,
    .team-control .carousel-control-next-icon {
        width: 18px;
        height: 18px;
    }

.equipe-indicators {
    position: static;
    margin: 24px 0 0;
}

    .equipe-indicators button {
        width: 9px !important;
        height: 9px !important;
        border-radius: 50%;
        background-color: #0a2c42 !important;
        opacity: .25;
    }

    .equipe-indicators .active {
        opacity: 1;
    }

@media (max-width: 991px) {
    .nossa-equipe {
        padding: 60px 0;
    }

    .equipe-text {
        max-width: 100%;
    }

    .team-controls {
        justify-content: flex-start;
    }
}

@media (max-width: 767px) {
    .team-photo {
        height: 280px;
    }

    .team-card {
        margin-bottom: 20px;
    }
}

.nossos-parceiros {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: relative;
    background: rgba(10,44,66,.025);
    overflow: hidden;

}

.parceiros-label {
    letter-spacing: .25em;
    color: #557081;
    font-weight: 700;
}

.parceiros-title {
    color: #17313b;
    font-size: clamp(1.8rem, 3vw, 3rem);
    font-weight: 700;
}

.logo-carousel {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: relative;  
    overflow: hidden;
    padding: 35px 0;
}

    .logo-carousel::before,
    .logo-carousel::after {
        content: "";
        position: absolute;
        top: 0;
        width: 140px;
        height: 100%;
        z-index: 2;
        pointer-events: none;
     
    }



.logo-track {
    display: flex;
    align-items: center;
    gap: 35px;
    width: max-content;
    animation: scrollLogos 28s linear infinite;
    background-color: transparent;
}

.logo-carousel:hover .logo-track {
    animation-play-state: paused;
}

.logo-item {
    width: 190px;
    height: 150px;
    flex: 0 0 auto;
    background: #fff;
    border: 1px solid rgba(85, 112, 129, .12);
    border-radius: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
    box-shadow: 0 18px 45px rgba(20, 45, 55, .08);
    transition: all .3s ease;
}

    .logo-item:hover {
        transform: translateY(-6px);
        box-shadow: 0 26px 60px rgba(20, 45, 55, .14);
        background: #ffffff;
    }

    .logo-item img {
        max-width: 100%;
        max-height: 65px;
        object-fit: contain;
        filter: grayscale(100%);
        opacity: .72;
        transition: all .3s ease;
    }

    .logo-item:hover img {
        filter: grayscale(0%);
        opacity: 1;
    }

@keyframes scrollLogos {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

@media (max-width: 768px) {
    .logo-track {
        gap: 20px;
        animation-duration: 22s;
    }

    .logo-item {
        width: 150px;
        height: 90px;
        padding: 18px;
        border-radius: 20px;
    }

    .logo-carousel::before,
    .logo-carousel::after {
        width: 70px;
    }
}

.portfolio-servicos {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: relative;
    background: linear-gradient(135deg, #f8fbfc 0%, #eef5f7 100%);
    overflow: hidden;
}

    .portfolio-servicos::before {
        content: "";
        position: absolute;
        width: 460px;
        height: 460px;
        left: -160px;
        bottom: -160px;
        background: radial-gradient(circle, rgba(85,112,129,.16), transparent 70%);
        border-radius: 50%;
    }

    .portfolio-servicos::after {
        content: "";
        position: absolute;
        width: 320px;
        height: 320px;
        right: -90px;
        top: -90px;
        background: radial-gradient(circle, rgba(23,49,59,.10), transparent 70%);
        border-radius: 50%;
    }

    .portfolio-servicos .container-fluid {
        position: relative;
        z-index: 2;
    }

.portfolio-label {
    letter-spacing: .25em;
    color: #557081;
    font-weight: 700;
}

.portfolio-title {
    font-size: clamp(2rem, 4vw, 4rem);
    line-height: 1.05;
    color: #17313b;
    font-weight: 700;
}

    .portfolio-title em {
        font-style: normal;
        color: #557081;
    }

.portfolio-sub {
    color: #6b7c84;
    font-size: 1.05rem;
    line-height: 1.8;
    max-width: 520px;
}

.service-card {
    position: relative;
    min-height: 310px;
    padding: 34px;
    border-radius: 32px;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(85,112,129,.12);
    box-shadow: 0 24px 60px rgba(20,45,55,.09);
    transition: all .35s ease;
    overflow: hidden;
}

    .service-card::before {
        content: "";
        position: absolute;
        width: 130px;
        height: 130px;
        right: -45px;
        top: -45px;
        background: rgba(85,112,129,.10);
        border-radius: 50%;
        transition: all .35s ease;
    }

    .service-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 34px 80px rgba(20,45,55,.16);
        background: #ffffff;
    }

        .service-card:hover::before {
            transform: scale(1.35);
            background: rgba(85,112,129,.16);
        }

.service-card-main {
    margin-top: 35px;
}

.service-icon {
    width: 62px;
    height: 62px;
    border-radius: 20px;
    background: #17313b;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.55rem;
    margin-bottom: 24px;
    box-shadow: 0 15px 35px rgba(23,49,59,.22);
}

.service-category {
    display: inline-block;
    margin-bottom: 14px;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(85,112,129,.12);
    color: #557081;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.service-card h4 {
    color: #17313b;
    font-size: 1.45rem;
    font-weight: 700;
    margin-bottom: 14px;
}

.service-card p {
    color: #6b7c84;
    font-size: .98rem;
    line-height: 1.75;
    margin-bottom: 0;
}

@media (max-width: 768px) {
    .service-card-main {
        margin-top: 0;
    }

    .service-card {
        min-height: auto;
        padding: 28px;
        border-radius: 26px;
    }

    .portfolio-title {
        font-size: 2.2rem;
    }
}

.blog-cbx {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: relative;
    background: #ffffff;
    overflow: hidden;
}

    .blog-cbx::before {
        content: "";
        position: absolute;
        width: 420px;
        height: 420px;
        right: -140px;
        top: -140px;
        background: radial-gradient(circle, rgba(85,112,129,.14), transparent 70%);
        border-radius: 50%;
    }

    .blog-cbx::after {
        content: "";
        position: absolute;
        width: 320px;
        height: 320px;
        left: -120px;
        bottom: -120px;
        background: radial-gradient(circle, rgba(23,49,59,.08), transparent 70%);
        border-radius: 50%;
    }

    .blog-cbx .container-fluid {
        position: relative;
        z-index: 2;
    }

.blog-label {
    letter-spacing: .25em;
    color: #557081;
    font-weight: 700;
}

.blog-title {
    font-size: clamp(2rem, 4vw, 4rem);
    line-height: 1.05;
    color: #17313b;
    font-weight: 700;
}

    .blog-title em {
        font-style: normal;
        color: #557081;
    }

.blog-sub {
    color: #6b7c84;
    font-size: 1.05rem;
    line-height: 1.8;
    max-width: 520px;
    margin-left: auto;
    margin-bottom: 0;
}

.blog-card {
    height: 100%;
    border-radius: 32px;
    background: #f8fbfc;
    border: 1px solid rgba(85,112,129,.12);
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(20,45,55,.08);
    transition: all .35s ease;
}

    .blog-card:hover {
        transform: translateY(-8px);
        background: #ffffff;
        box-shadow: 0 34px 80px rgba(20,45,55,.16);
    }

.blog-card-featured {
    background: linear-gradient(135deg, #f8fbfc 0%, #eef5f7 100%);
}

.blog-image {
    height: 240px;
    overflow: hidden;
}

    .blog-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform .55s ease;
    }

.blog-card:hover .blog-image img {
    transform: scale(1.08);
}

.blog-content {
    padding: 30px;
}

.blog-category {
    display: inline-block;
    margin-bottom: 16px;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(85,112,129,.12);
    color: #557081;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.blog-content h4 {
    color: #17313b;
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 14px;
}

.blog-content p {
    color: #6b7c84;
    font-size: .98rem;
    line-height: 1.75;
    margin-bottom: 24px;
}

.blog-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #17313b;
    font-weight: 700;
    text-decoration: none;
    transition: all .3s ease;
}

    .blog-link:hover {
        color: #557081;
        gap: 12px;
    }

@media (max-width: 768px) {
    .blog-title {
        font-size: 2.2rem;
    }

    .blog-sub {
        margin-left: 0;
    }

    .blog-image {
        height: 210px;
    }

    .blog-content {
        padding: 26px;
    }
}


.diferenciais {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: relative;
    background: #0a2c42;
    color: #fff;
    overflow: hidden;
}
.diferenciais-title {
    font-family: 'Cormorant Garamond',serif;
    font-size: clamp(3rem,6vw,7rem);
    line-height: .88;
    letter-spacing: -.06em;
    font-weight: 500;
    color: #557081;
    max-width: 920px;
    margin-top: 1.5rem;
}

    .diferenciais-title em {
        color: #fff;
        font-style: italic;
    }

.diferenciais-sub {
    max-width: 650px;
    color: #4e6170;
    line-height: 1.8;
    font-size: 1.08rem;
    margin-top: 1.5rem;
}


.contato-cbx {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: relative;
    background: #f7f8f8;
    color: #00233f;
    overflow: hidden;
}

    .contato-cbx::before {
        content: "";
        position: absolute;
        width: 460px;
        height: 460px;
        left: -160px;
        top: -180px;
        background: radial-gradient(circle, rgba(85,112,129,.14), transparent 70%);
        border-radius: 50%;
    }

    .contato-cbx::after {
        content: "";
        position: absolute;
        width: 380px;
        height: 380px;
        right: -120px;
        bottom: -150px;
        background: radial-gradient(circle, rgba(23,49,59,.10), transparent 70%);
        border-radius: 50%;
    }

    .contato-cbx .container-fluid {
        position: relative;
        z-index: 2;
    }

.contato-label {
    letter-spacing: .25em;
    color: #557081;
    font-weight: 700;
}

.contato-title {
    color: #17313b;
    font-size: clamp(2rem, 4vw, 4rem);
    line-height: 1.05;
    font-weight: 700;
    margin-bottom: 0;
}

.contato-sub {
    color: #7190a0;
    font-size: 1.05rem;
    line-height: 1.7;
}

.contato-form {
    max-width: 880px;
    margin: 0 auto;
}

.contato-input {
    min-height: 68px;
    border-radius: 16px;
    border: 1px solid rgba(85,112,129,.42);
    background: #ffffff;
    color: #17313b;
    font-size: 1rem;
    padding: 18px 20px;
    box-shadow: 0 18px 45px rgba(20,45,55,.08);
    transition: all .3s ease;
}

    .contato-input::placeholder {
        color: #7190a0;
    }

    .contato-input:focus {
        border-color: #557081;
        box-shadow: 0 20px 55px rgba(20,45,55,.13);
        outline: none;
    }

.contato-textarea {
    min-height: 150px;
    resize: vertical;
}

.contato-checks {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.contato-check {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #00233f;
    font-size: 1rem;
    cursor: pointer;
}

    .contato-check input {
        width: 20px;
        height: 20px;
        appearance: none;
        border: 1px solid rgba(85,112,129,.6);
        border-radius: 6px;
        background: #ffffff;
        cursor: pointer;
        position: relative;
    }

        .contato-check input:checked {
            background: #17313b;
            border-color: #17313b;
        }

            .contato-check input:checked::after {
                content: "✓";
                position: absolute;
                color: #ffffff;
                font-size: 14px;
                font-weight: 700;
                top: -1px;
                left: 4px;
            }

    .contato-check a,
    .contato-politica a {
        color: #00233f;
        text-decoration: underline;
    }

.btn-contato {
    border: none;
    min-width: 108px;
    height: 52px;
    border-radius: 14px;
    background: #b8d8da;
    color: #001f36;
    font-size: 1rem;
    font-weight: 600;
    box-shadow: 0 18px 45px rgba(20,45,55,.12);
    transition: all .3s ease;
}

    .btn-contato:hover {
        background: #17313b;
        color: #ffffff;
        transform: translateY(-3px);
    }

.contato-info {
    color: #7190a0;
    font-size: .88rem;
    letter-spacing: .03em;
}

.contato-footer {
    border-top: 1px solid rgba(85,112,129,.10);
}

    .contato-footer h5 {
        color: #00233f;
        font-size: 1rem;
        font-weight: 800;
        margin-bottom: 18px;
    }

    .contato-footer p {
        color: #00233f;
        font-size: .95rem;
        line-height: 1.55;
    }

.contato-social {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 18px;
}

    .contato-social a {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: #ffffff;
        color: #17313b;
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        box-shadow: 0 12px 28px rgba(20,45,55,.10);
        transition: all .3s ease;
    }

        .contato-social a:hover {
            background: #17313b;
            color: #ffffff;
            transform: translateY(-4px);
        }

.contato-logo-box {
    width: 92px;
    height: 92px;
    border: 3px solid #17313b;
    margin: 0 auto;
    color: #17313b;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    padding: 10px;
    font-size: 1.1rem;
    line-height: .9;
    letter-spacing: .25em;
}

    .contato-logo-box span {
        width: 100%;
        display: block;
        text-align: left;
        font-weight: 600;
    }

    .contato-logo-box strong {
        display: block;
        width: 100%;
        text-align: right;
        font-size: 1.1rem;
        letter-spacing: .18em;
    }

.contato-copy,
.contato-politica {
    color: #7190a0 !important;
    font-size: .9rem !important;
}

@media (max-width: 768px) {
    .contato-title {
        font-size: 2.2rem;
    }

    .contato-input {
        min-height: 60px;
        border-radius: 14px;
    }

    .contato-footer {
        text-align: center;
    }

    .contato-social {
        justify-content: center;
    }

    .contato-politica,
    .contato-copy {
        text-align: center;
    }
}


.comercial-box {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: relative;
    padding: clamp(32px, 5vw, 70px);
    background: linear-gradient(135deg, #00233f 0%, #0a2c42 55%, #557081 100%);
    overflow: hidden;
    box-shadow: 0 35px 90px rgba(20,45,55,.18);
}

    .comercial-box::before {
        content: "";
        position: absolute;
        width: 520px;
        height: 520px;
        right: -160px;
        top: -180px;
        background: radial-gradient(circle, rgba(255,255,255,.18), transparent 70%);
      
    }

    .comercial-box::after {
        content: "";
        position: absolute;
        width: 360px;
        height: 360px;
        left: -120px;
        bottom: -140px;
        background: radial-gradient(circle, rgba(184,216,218,.22), transparent 70%);
        
    }

    .comercial-box .row {
        position: relative;
        z-index: 2;
    }

.comercial-label {
    letter-spacing: .25em;
    color: #b8d8da;
    font-weight: 700;
}

.comercial-title {
    font-family: 'Cormorant Garamond',serif;
    color: #ffffff;
    font-size: clamp(3rem,6vw,7rem);
    line-height: .88;
    letter-spacing: -.06em;
    font-weight: 500;
   
    max-width: 920px;
}

.comercial-sub {
    max-width: 650px;
    color: #fff;
    line-height: 1.8;
    font-size: 1.08rem;
    margin-top: 1.5rem;
}

.comercial-title em {
    color: #6b7c84;
    font-style: italic;
}



.comercial-slide {
    min-height: 390px;
    border-radius: 34px;
    padding: clamp(30px, 4vw, 54px);
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(255,255,255,.45);
    box-shadow: 0 28px 70px rgba(0,0,0,.18);
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

    .comercial-slide::before {
        content: "";
        position: absolute;
        width: 170px;
        height: 170px;
        right: -60px;
        top: -60px;
        background: rgba(85,112,129,.12);
        border-radius: 50%;
    }

    .comercial-slide::after {
        content: "CBX";
        position: absolute;
        right: 32px;
        bottom: 22px;
        color: rgba(23,49,59,.05);
        font-size: 5rem;
        font-weight: 900;
        letter-spacing: .08em;
    }

.comercial-tag {
    display: inline-block;
    width: fit-content;
    margin-bottom: 22px;
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(85,112,129,.12);
    color: #557081;
    font-size: .75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.comercial-slide h3 {
    color: #17313b;
    font-size: clamp(1.8rem, 3vw, 3.2rem);
    line-height: 1.08;
    font-weight: 800;
    max-width: 720px;
    margin-bottom: 22px;
}

.comercial-slide p {
    color: #6b7c84;
    font-size: 1.08rem;
    line-height: 1.75;
    max-width: 680px;
    margin-bottom: 0;
}

.comercial-controls {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 22px;
}

.comercial-control {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.35);
    background: rgba(255,255,255,.14);
    color: #ffffff;
    font-size: 1.25rem;
    backdrop-filter: blur(8px);
    transition: all .3s ease;
}

    .comercial-control:hover {
        background: #ffffff;
        color: #17313b;
        transform: translateY(-3px);
    }

.comercial-indicators {
    position: static;
    margin: 22px 0 0 0;
    justify-content: flex-start;
}

    .comercial-indicators [data-bs-target] {
        width: 34px;
        height: 5px;
        border-radius: 999px;
        border: none;
        background-color: rgba(255,255,255,.45);
        opacity: 1;
    }

    .comercial-indicators .active {
        background-color: #ffffff;
    }

.comercial-cbx .btn-premium {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

@media (max-width: 768px) {
    .comercial-box {
        
        padding: 30px 22px;
    }

    .comercial-slide {
        min-height: 360px;
        border-radius: 26px;
    }

    .comercial-controls {
        justify-content: flex-start;
    }

    .comercial-slide::after {
        font-size: 3.5rem;
    }
}


.video-box {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: clamp(32px, 5vw, 70px);
    background: rgba(85, 112, 129, .12);
    box-shadow: 0 35px 90px rgba(20,45,55,.12);
    overflow: hidden;
}

    .video-box::before {
        content: "";
        position: absolute;
        width: 520px;
        height: 520px;
        left: -180px;
        top: -180px;
        background: radial-gradient(circle, rgba(85,112,129,.18), transparent 70%);
        border-radius: 50%;
    }

    .video-box::after {
        content: "";
        position: absolute;
        width: 420px;
        height: 420px;
        right: -150px;
        bottom: -160px;
        background: radial-gradient(circle, rgba(23,49,59,.10), transparent 70%);
        border-radius: 50%;
    }

    .video-box .row {
        position: relative;
        z-index: 2;
    }

.device-wrap {
    position: relative;
    padding: 14px;
    border-radius: 34px;
    background: linear-gradient(135deg, #17313b 0%, #244b58 55%, #557081 100%);
    box-shadow: 0 35px 85px rgba(20,45,55,.22);
    overflow: hidden;
}

    .device-wrap::before {
        content: "";
        position: absolute;
        width: 220px;
        height: 220px;
        left: -70px;
        top: -70px;
        background: radial-gradient(circle, rgba(255,255,255,.22), transparent 70%);
        border-radius: 50%;
    }

    .device-wrap::after {
        content: "";
        position: absolute;
        width: 160px;
        height: 160px;
        right: -55px;
        bottom: -55px;
        background: radial-gradient(circle, rgba(184,216,218,.26), transparent 70%);
        border-radius: 50%;
    }

.hero-video {
    position: relative;
    z-index: 2;
    width: 100%;
    min-height: 360px;
    max-height: 520px;
    object-fit: cover;
    display: block;
    border-radius: 24px;
    background: #17313b;
}

.video-label {
    letter-spacing: .25em;
    color: #557081;
    font-weight: 700;
}

.video-title {
    color: #17313b;
    font-size: clamp(2rem, 4vw, 4rem);
    line-height: 1.05;
    font-weight: 700;
}

    .video-title em {
        font-style: normal;
        color: #557081;
    }

.video-sub {
    color: #6b7c84;
    font-size: 1.05rem;
    line-height: 1.8;
    max-width: 620px;
}

.video-highlights {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.video-highlight {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #17313b;
    font-weight: 600;
}

    .video-highlight i {
        width: 34px;
        height: 34px;
        border-radius: 50%;
        background: rgba(85,112,129,.12);
        color: #557081;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.1rem;
    }

.video-cbx .btn-premium {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

@media (max-width: 768px) {
    .video-box {
        border-radius: 30px;
        padding: 30px 22px;
    }

    .device-wrap {
        border-radius: 28px;
        padding: 10px;
    }

    .hero-video {
        min-height: 260px;
        border-radius: 20px;
    }

    .video-title {
        font-size: 2.2rem;
    }
}

.section-cbx {
    padding: 72px 0;
}

@media (max-width: 768px) {
    .section-cbx {
        padding: 48px 0;
    }
}

.privacy-hero {
    background: radial-gradient(circle at top left, rgba(85, 112, 129, 0.16), transparent 35%), linear-gradient(135deg, #f8fbfd 0%, #ffffff 60%, #eef4f7 100%);
    border-bottom: 1px solid rgba(85, 112, 129, 0.12);
}

.section-label {
    display: inline-block;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    color: #557081;
    font-weight: 600;
}

.privacy-title {
    font-size: clamp(2.2rem, 5vw, 4.2rem);
    line-height: 1.05;
    color: #17242c;
    font-weight: 700;
}

.privacy-subtitle {
    max-width: 850px;
    font-size: 1.15rem;
    line-height: 1.8;
    color: #52636d;
}

.privacy-updated {
    margin-top: 1.5rem;
    color: #7a8a93;
    font-size: 0.95rem;
}

.privacy-content {
    background: #ffffff;
}

.privacy-card {
    max-width: 980px;
    margin: 0 auto;
    padding: clamp(1.5rem, 4vw, 3rem);
    background: #ffffff;
    border: 1px solid rgba(85, 112, 129, 0.14);
    border-radius: 28px;
    box-shadow: 0 24px 70px rgba(23, 36, 44, 0.08);
}

    .privacy-card h2 {
        margin-top: 2.4rem;
        margin-bottom: 1rem;
        color: #17242c;
        font-size: 1.45rem;
        font-weight: 700;
    }

        .privacy-card h2:first-child {
            margin-top: 0;
        }

    .privacy-card p {
        color: #52636d;
        line-height: 1.85;
        margin-bottom: 1rem;
    }

    .privacy-card ul {
        margin: 1rem 0 1.5rem;
        padding-left: 1.4rem;
    }

    .privacy-card li {
        color: #52636d;
        line-height: 1.8;
        margin-bottom: 0.45rem;
    }

.privacy-contact-box {
    margin-top: 1.2rem;
    padding: 1.5rem;
    border-radius: 20px;
    background: #f5f9fb;
    border: 1px solid rgba(85, 112, 129, 0.16);
}

    .privacy-contact-box p {
        margin-bottom: 0.4rem;
    }

.privacy-note {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(85, 112, 129, 0.14);
    font-size: 0.92rem;
    color: #7a8a93 !important;
}

@media (max-width: 768px) {
    .privacy-card {
        border-radius: 20px;
    }

        .privacy-card h2 {
            font-size: 1.25rem;
        }

    .privacy-subtitle {
        font-size: 1rem;
    }
}

html {
    scroll-behavior: smooth;
}

section {
    scroll-margin-top: 90px;
}
.contato-section {
    background: radial-gradient(circle at top left, rgba(85, 112, 129, 0.14), transparent 35%), linear-gradient(135deg, #fff 0%, #2f5f73 55%, #eef4f7 100%);
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: relative;
}

.section-label {
    display: inline-block;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    color: #557081;
    font-weight: 700;
}

.contato-title {
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1.08;
    color: #17242c;
    font-weight: 700;
}

.contato-text {
    font-size: 1.08rem;
    line-height: 1.8;
    color: #52636d;
    max-width: 520px;
}

.contato-info {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.contato-item {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 1rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(85, 112, 129, 0.12);
}

    .contato-item i {
        width: 42px;
        height: 42px;
        min-width: 42px;
        border-radius: 50%;
        background: #17242c;
        color: #ffffff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.1rem;
    }

    .contato-item strong {
        display: block;
        color: #17242c;
        margin-bottom: 0.2rem;
    }

    .contato-item a,
    .contato-item span {
        color: #52636d;
        text-decoration: none;
    }

        .contato-item a:hover {
            color: #17242c;
        }

.contato-card {
    background: #ffffff;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    border-radius: 30px;
    border: 1px solid rgba(85, 112, 129, 0.14);
    box-shadow: 0 24px 70px rgba(23, 36, 44, 0.10);
}

    .contato-card h3 {
        color: #17242c;
        font-size: 1.7rem;
        font-weight: 700;
        margin-bottom: 0.75rem;
    }

    .contato-card p {
        color: #52636d;
        line-height: 1.7;
        margin-bottom: 1.5rem;
    }

    .contato-card .form-label {
        color: #17242c;
        font-weight: 600;
        font-size: 0.92rem;
    }

    .contato-card .form-control {
        min-height: 48px;
        border-radius: 14px;
        border: 1px solid rgba(85, 112, 129, 0.22);
        color: #17242c;
    }

    .contato-card textarea.form-control {
        min-height: 140px;
    }

    .contato-card .form-control:focus {
        border-color: #557081;
        box-shadow: 0 0 0 0.2rem rgba(85, 112, 129, 0.15);
    }

    .contato-card .form-check-label {
        color: #52636d;
        font-size: 0.92rem;
    }

        .contato-card .form-check-label a {
            color: #17242c;
            font-weight: 600;
        }

.btn-contato {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border: none;
    border-radius: 999px;
    padding: 0.95rem 1.7rem;
    background: #17242c;
    color: #ffffff;
    font-weight: 700;
    transition: all 0.25s ease;
}

    .btn-contato:hover {
        transform: translateY(-2px);
        box-shadow: 0 14px 30px rgba(23, 36, 44, 0.22);
    }

@media (max-width: 768px) {
    .contato-card {
        border-radius: 22px;
    }

    .contato-item {
        padding: 0.85rem;
    }

    .btn-contato {
        width: 100%;
    }
}

.nossos-parceiros {
    background: radial-gradient(circle at top right, rgba(85, 112, 129, 0.12), transparent 35%), linear-gradient(90deg, rgba(85, 112, 129, .12) 0%, #f7fafc 100%);
    overflow: hidden;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: relative;
}

.parceiros-full {
    width: 100vw;
    max-width: 100vw;
    /* força sair do container pai */
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: hidden;
    padding: 0;
}

.parceiros-carousel {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    padding: 48px 0;
    overflow: hidden;
}

.parceiros-carousel-inner {
    width: 100%;
    overflow: hidden;
    padding: 18px 0;
}

.parceiros-track {
    display: flex;
    align-items: center;
    gap: 32px;
    width: max-content;
    padding: 10px;
    margin: 0;
    animation: parceirosScroll 32s linear infinite;
    background:transparent;
}

.parceiros-carousel:hover .parceiros-track {
    animation-play-state: paused;
}

.parceiro-card {
    width: 330px;
    height: 150px;
    flex: 0 0 auto;
   
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(85, 112, 129, 0.13);
    box-shadow: 0 20px 45px rgba(23, 36, 44, 0.07);
    display: flex;
    align-items: center;
    justify-content: center;
    
}

    .parceiro-card img {
        width: 100%;
        height: 100%;
        border-radius: 24px;
        object-fit: cover;
    }

@keyframes parceirosScroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-50% - 16px));
    }
}
@media (max-width: 768px) {
    .parceiros-carousel {
        padding: 1rem 0 3rem;
    }

    .parceiros-carousel-inner {
        padding: 1rem 0;
    }

    .parceiros-track {
        gap: 1rem;
        animation-duration: 24s;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .parceiro-card {
        width: 170px;
        height: 110px;
        padding: 1rem;
        border-radius: 20px;
    }

        .parceiro-card img {
            max-height: 55px;
        }
}

.corebox-footer {
    position: relative;
    background: radial-gradient(circle at top left, rgba(85, 112, 129, 0.18), transparent 32%), linear-gradient(135deg, #101b22 0%, #17242c 52%, #223540 100%);
    color: #ffffff;
    overflow: hidden;
}

    .corebox-footer::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px), linear-gradient(90deg, #17313b 1px, transparent 1px);
        background-size: 56px 56px;
        pointer-events: none;
       
    }

.footer-container {
    position: relative;
    z-index: 2;
    padding: 80px 6vw 28px;
}

.footer-brand h3 {
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -0.04em;
    margin-bottom: 1rem;
}

.footer-brand p {
    max-width: 430px;
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.8;
    margin: 0;
}

.footer-title {
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 1.4rem;
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

    .footer-links li {
        margin-bottom: 0.75rem;
    }

    .footer-links a {
        color: rgba(255, 255, 255, 0.68);
        text-decoration: none;
        transition: all 0.25s ease;
    }

        .footer-links a:hover {
            color: #ffffff;
            padding-left: 4px;
        }

.footer-social {
    display: flex;
    gap: 0.75rem;
}

    .footer-social a {
        width: 44px;
        height: 44px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.08);
        color: #ffffff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        border: 1px solid rgba(255, 255, 255, 0.12);
        transition: all 0.25s ease;
    }

        .footer-social a:hover {
            background: #ffffff;
            color: #17242c;
            transform: translateY(-3px);
        }

.footer-contact-item {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    margin-bottom: 1.1rem;
}

    .footer-contact-item i {
        width: 38px;
        height: 38px;
        min-width: 38px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.08);
        color: #ffffff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 1rem;
        border: 1px solid rgba(255, 255, 255, 0.12);
    }

    .footer-contact-item strong {
        display: block;
        color: #ffffff;
        font-size: 0.92rem;
        margin-bottom: 0.15rem;
    }

    .footer-contact-item a,
    .footer-contact-item span {
        color: rgba(255, 255, 255, 0.68);
        text-decoration: none;
        line-height: 1.6;
        font-size: 0.95rem;
    }

        .footer-contact-item a:hover {
            color: #ffffff;
        }

.footer-map {
    overflow: hidden;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.06);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
}

    .footer-map iframe {
        display: block;
        filter: grayscale(20%) contrast(95%);
    }

.footer-divider {
    margin: 56px 0 24px;
    height: 1px;
    background: linear-gradient( 90deg, transparent, rgba(255, 255, 255, 0.18), transparent );
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

    .footer-bottom p {
        margin: 0;
        color: rgba(255, 255, 255, 0.58);
        font-size: 0.92rem;
    }

.footer-bottom-links {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

    .footer-bottom-links a {
        color: rgba(255, 255, 255, 0.68);
        text-decoration: none;
        font-size: 0.92rem;
        transition: all 0.25s ease;
    }

        .footer-bottom-links a:hover {
            color: #ffffff;
        }

@media (max-width: 991px) {
    .footer-container {
        padding: 64px 5vw 28px;
    }

    .footer-map iframe {
        height: 260px;
    }
}

@media (max-width: 768px) {
    .corebox-footer {
        text-align: left;
    }

    .footer-container {
        padding: 56px 1.25rem 26px;
    }

    .footer-brand h3 {
        font-size: 1.75rem;
    }

    .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .footer-map iframe {
        height: 220px;
    }
}

.footer-logo-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    flex-wrap: nowrap;
}

    .footer-logo-wrap img {
        display: block;
        flex: 0 0 auto;
    }

    .footer-logo-wrap h2 {
        margin: 0;
        padding: 0;
        display: inline-block;
        width: auto !important;
        max-width: none !important;
        flex: 0 0 auto;
        white-space: nowrap;
    }

.home-section {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding-top: 120px;
    padding-bottom: 80px;
    overflow: hidden;
}

.home-kicker {
    letter-spacing: .25em;
    color: #557081;
}

.home-content {
    position: relative;
    z-index: 2;
    
}

.home-image-box {
    position: relative;
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
}

.home-img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

/* Tablet */
@media (max-width: 991px) {
    .home-section {
        min-height: auto;
        padding-top: 130px;
        padding-bottom: 70px;
    }

    .home-title {
        font-size: 3rem;
        line-height: 1.05;
    }
}

/* Celular */
@media (max-width: 576px) {
    .home-section {
        padding-top: 105px;
        padding-bottom: 50px;
    }

    .home-title {
        font-size: 2.3rem;
        line-height: 1.08;
    }

    .home-sub {
        font-size: 1rem;
    }

    .home-kicker {
        font-size: .75rem;
        letter-spacing: .18em;
    }

    .btn-premium,
    .btn-primary {
        width: 100%;
        justify-content: center;
    }
}

/* Fonte e estilo */
.menu-principal .nav-link {
    font-family: 'Cormorant Garamond',serif;
    font-size: 0.9rem;
    font-weight: 400;
    color: #00233f;
    transition: all 0.3s ease;
    text-transform:uppercase;
}

    /* Hover */
    .menu-principal .nav-link:hover {
        color: #0a2c42;
        font-weight: 700;
        transform: translateY(-2px);
    }

    /* Link ativo (opcional) */
    .menu-principal .nav-link.active {
        color: #0d6efd;
        font-weight: 700;
    }

.cookie-banner {
    position: fixed;
    top: 25%;
    left: 5%;
    right: 5%;
    z-index: 9999;
    background: #0a2c42;
    color: #fff;
    border-radius: 16px;
    padding: 18px 24px;
    box-shadow: 0 10px 30px rgba(0,0,0,.25);
    display: none;
}

.cookie-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.cookie-text {
    flex: 1;
    font-size: 0.95rem;
    line-height: 1.5;
}

.cookie-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.btn-cookie {
    border: none;
    border-radius: 999px;
    padding: 10px 22px;
    cursor: pointer;
    transition: 0.25s;
    font-weight: 600;
}

.btn-cookie-primary {
    background: #0d6efd;
    color: #fff;
}

    .btn-cookie-primary:hover {
        opacity: .9;
    }

.btn-cookie-outline {
    background: transparent;
    color: #fff;
    border: 1px solid rgba(255,255,255,.4);
}

    .btn-cookie-outline:hover {
        background: rgba(255,255,255,.1);
    }

@media (max-width: 768px) {
    .cookie-content {
        flex-direction: column;
        align-items: stretch;
    }

    .cookie-actions {
        width: 100%;
    }

    .btn-cookie {
        flex: 1;
    }
}

.equipe-carousel {
    padding: 20px 40px;
}



.team-card {
    width: 320px;
    height:100%;
    background: #fff;
    border-radius: 20px;
    padding: 24px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    position: relative;
    z-index: 2;
    overflow: visible;
}

/* CENTRALIZAÇÃO REAL */
.carousel-item > div {
    min-height: 100%;
}

/* SETAS FORA DO CARD */
.equipe-control {
    width: 45px;
    height: 45px;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,.35);
    border-radius: 50%;
}


/* evita "puxar" o layout da direita */
.carousel-inner {
    overflow: hidden;
}
.fade {
    opacity: 0;
    transition: opacity 0.4s ease;
}

    .fade.show {
        opacity: 1;
    }

.equipe-carousel .carousel-indicators {
    position: static !important;
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.rede-social {
    display: flex;
 
    justify-content: center;
    width: 100%;
}

    .rede-social a {
        width: 34px;
        height: 44px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.08);
        color: #00233f;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        border: 1px solid rgba(255, 255, 255, 0.12);
        transition: all 0.25s ease;
    }

        .rede-social a:hover {
            background: #ffffff;
            color: #17242c;
            transform: translateY(-3px);
        }

.fade-up {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease;
}

    .fade-up.show {
        opacity: 1;
        transform: translateY(0);
    }

/* Tom de voz */

.tone-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.tone-chip {
    border: 1px solid #dbe2ea;
    background: #f8fafc;
    border-radius: 50px;
    padding: 10px 18px;
    cursor: pointer;
    transition: .25s;
    font-weight: 500;
}

    .tone-chip:hover {
        background: #edf5ff;
        border-color: #0056d6;
    }

    .tone-chip.active {
        background: linear-gradient(135deg,#0056d6,#2c7cff);
        color: #fff;
        border-color: transparent;
    }

.card-post {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 28px;
    margin-bottom: 25px;
    box-shadow: 0 8px 30px rgba(15, 23, 42, .05);
    transition: .25s;
}

.form-control,
.form-select,
textarea {
    width: 100%;
    border: 1px solid #dbe2ea;
    border-radius: 12px;
    padding: 14px 16px;
    font-size: 15px;
    transition: .2s;
    background: #fff;
}

    .form-control:focus,
    .form-select:focus,
    textarea:focus {
        outline: none;
        border-color: #0056d6;
        box-shadow: 0 0 0 4px rgba(0,86,214,.12);
    }

textarea {
    resize: vertical;
    min-height: 160px;
}

.corebox-community-shell {
    display: flex;
    min-height: 100vh;
    background: #f7f9fc;
    color: #07111f;
}

/* SIDEBAR */
.community-sidebar {
    width: 285px;
    min-height: 100vh;
    background: linear-gradient(180deg, #020b16 0%, #04182b 100%);
    color: #fff;
    padding: 32px 20px;
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    padding-top:110px;
}

.sidebar-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 25px;
    font-weight: 800;
    letter-spacing: .08em;
    margin-bottom: 48px;
}

.logo-icon {
    width: 34px;
    height: 34px;
    border: 2px solid rgba(255,255,255,.85);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sidebar-menu {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sidebar-link {
    color: rgba(255,255,255,.82);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 13px 18px;
    border-radius: 10px;
    transition: all .25s ease;
    font-size: 15px;
}

    .sidebar-link i {
        font-size: 18px;
    }

    .sidebar-link:hover,
    .sidebar-link.active {
        color: #fff;
        background: linear-gradient(135deg, #5663f7, #26378f);
    }

.premium-box {
    margin-top: auto;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 18px;
    padding: 28px 20px;
    text-align: center;
    background: rgba(255,255,255,.03);
}

.premium-icon {
    font-size: 34px;
    color: #ffd06a;
    margin-bottom: 14px;
}

.premium-box h6 {
    font-weight: 700;
    margin-bottom: 10px;
}

.premium-box p {
    font-size: 13px;
    color: rgba(255,255,255,.76);
    line-height: 1.55;
}

.premium-btn {
    display: block;
    margin-top: 18px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 10px;
    padding: 11px;
    color: #fff;
    text-decoration: none;
    transition: all .2s ease;
}

    .premium-btn:hover {
        background: #fff;
        color: #081523;
    }

.sidebar-footer-logo {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 35px;
    font-weight: 800;
    letter-spacing: .08em;
}

/* MAIN */
.community-main {
    flex: 1;
    min-width: 0;
    padding-top:90px;
}

.community-topbar {
    height: 86px;
    background: rgba(255,255,255,.86);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid #e8edf5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 38px;
    position: sticky;
    top: 0;
    z-index: 20;
}

.community-search {
    width: min(520px, 100%);
    height: 48px;
    background: #f3f5fa;
    border-radius: 999px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 18px;
    color: #758198;
}

    .community-search input {
        border: 0;
        outline: 0;
        background: transparent;
        width: 100%;
        color: #101828;
    }

.topbar-actions {
    display: flex;
    align-items: center;
    gap: 18px;
}

.topbar-icon {
    position: relative;
    border: 0;
    background: transparent;
    color: #344054;
    font-size: 21px;
}

    .topbar-icon span {
        position: absolute;
        top: -8px;
        right: -7px;
        width: 18px;
        height: 18px;
        background: #5663f7;
        color: #fff;
        font-size: 11px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

.user-box {
    display: flex;
    align-items: center;
    gap: 11px;
}

.user-avatar {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #dfe6f4;
    display: flex;
    align-items: center;
    justify-content: center;
}

.user-box strong {
    display: block;
    font-size: 14px;
}

.user-box small {
    color: #6b7280;
}

/* CONTEÚDO */
.community-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 42px;
    padding: 34px 38px 60px;
}

.community-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 25px;
    margin-bottom: 28px;
}

    .community-heading h1 {
        font-size: clamp(30px, 3vw, 44px);
        font-weight: 800;
        letter-spacing: -0.04em;
        margin-bottom: 10px;
        color: #07111f;
    }

    .community-heading p {
        max-width: 610px;
        color: #536176;
        line-height: 1.65;
        margin: 0;
    }

.new-post-btn {
    border: 0;
    background: #020b16;
    color: #fff;
    border-radius: 12px;
    padding: 15px 26px;
    text-decoration: none;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
    transition: all .22s ease;
}

    .new-post-btn:hover {
        color: #fff;
        transform: translateY(-2px);
        box-shadow: 0 12px 26px rgba(2, 11, 22, .18);
    }

/* FILTROS */
.category-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 28px;
}

.category-tab {
    border: 1px solid #dfe5ef;
    background: #fff;
    color: #344054;
    border-radius: 10px;
    padding: 10px 24px;
    font-size: 14px;
    transition: all .2s ease;
}

    .category-tab:hover,
    .category-tab.active {
        background: linear-gradient(135deg, #5663f7, #4652d9);
        border-color: transparent;
        color: #fff;
        box-shadow: 0 10px 20px rgba(86, 99, 247, .2);
    }

/* POSTS */
.post-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.community-post-card {
    background: #fff;
    border: 1px solid #e5eaf3;
    border-radius: 18px;
    padding: 24px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 260px;
    gap: 24px;
    transition: all .24s ease;
}

    .community-post-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
    }

.post-author-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 13px;
}

.post-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #eef2ff;
    color: #5663f7;
    display: flex;
    align-items: center;
    justify-content: center;
}

.post-author-info strong {
    display: block;
    font-size: 14px;
}

.post-author-info small {
    color: #667085;
}

.fixed-badge {
    background: #020b16;
    color: #fff;
    border-radius: 8px;
    padding: 5px 9px;
    font-size: 12px;
}

.post-time {
    margin-left: auto;
    color: #6b7280;
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 14px;
}

.post-category-badge {
    display: inline-flex;
    background: #eef2ff;
    color: #4652d9;
    padding: 5px 9px;
    border-radius: 8px;
    font-size: 12px;
    margin-bottom: 10px;
}

.community-post-card h2 {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.03em;
    margin-bottom: 10px;
    color: #07111f;
}

.community-post-card p {
    color: #536176;
    line-height: 1.55;
    margin-bottom: 26px;
}

.post-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.post-metrics {
    display: flex;
    align-items: center;
    gap: 22px;
    color: #58677d;
}

    .post-metrics form {
        margin: 0;
    }

.metric-btn {
    border: 0;
    background: transparent;
    color: #58677d;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0;
}

    .metric-btn.like i {
        color: #ff4d67;
    }

.metric-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.discussion-link {
    color: #17213a;
    text-decoration: none;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

    .discussion-link:hover {
        color: #5663f7;
    }

.post-image-area {
    display: flex;
    align-items: center;
    justify-content: center;
}

    .post-image-area img,
    .post-image-placeholder {
        width: 100%;
        height: 150px;
        border-radius: 12px;
        object-fit: cover;
    }

.post-image-placeholder {
    background: linear-gradient(135deg, #06162a, #21588a);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 42px;
}

/* PAINEL DIREITO */
.community-right-panel {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-top: 142px;
}

.side-card {
    background: #fff;
    border: 1px solid #e5eaf3;
    border-radius: 18px;
    padding: 25px;
}

.side-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 22px;
}

    .side-card-header h3 {
        font-size: 19px;
        font-weight: 800;
        margin: 0;
    }

    .side-card-header a {
        color: #5663f7;
        text-decoration: none;
        font-size: 14px;
    }

.category-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.category-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.category-left {
    display: flex;
    align-items: center;
    gap: 13px;
}

.category-icon {
    width: 31px;
    height: 31px;
    border-radius: 50%;
    background: linear-gradient(135deg, #5663f7, #26c6da);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}

.category-item strong {
    color: #7a8499;
}

.popular-posts {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.popular-post {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: 14px;
    text-decoration: none;
    color: #07111f;
}

.popular-thumb {
    width: 88px;
    height: 66px;
    border-radius: 8px;
    background: linear-gradient(135deg, #06162a, #21588a);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

    .popular-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.popular-info strong {
    display: block;
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 8px;
}

.popular-info span {
    color: #7a8499;
    font-size: 13px;
    display: flex;
    gap: 10px;
}

.view-all-posts {
    margin-top: 8px;
    border: 1px solid #e5eaf3;
    border-radius: 10px;
    padding: 13px;
    text-align: center;
    text-decoration: none;
    color: #07111f;
    font-weight: 600;
}

    .view-all-posts:hover {
        background: #f6f8fc;
    }

.side-empty {
    color: #7a8499;
    font-size: 14px;
    margin: 0;
}

.empty-community {
    background: #fff;
    border: 1px solid #e5eaf3;
    border-radius: 18px;
    padding: 60px 25px;
    text-align: center;
}

    .empty-community i {
        font-size: 44px;
        color: #5663f7;
    }

    .empty-community h3 {
        margin-top: 16px;
        font-weight: 800;
    }

    .empty-community p {
        color: #667085;
    }

/* RESPONSIVO */
@media (max-width: 1200px) {
    .community-content {
        grid-template-columns: 1fr;
    }

    .community-right-panel {
        padding-top: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 992px) {
    .corebox-community-shell {
        display: block;
    }

    .community-sidebar {
        display: none;
        
    }

    .community-topbar {
        padding: 18px;
        height: auto;
        flex-direction: column;
        gap: 16px;
        align-items: stretch;
    }

    .topbar-actions {
        justify-content: space-between;
    }

    .community-content {
        padding: 24px 16px 50px;
    }

    .community-heading {
        flex-direction: column;
    }

    .community-post-card {
        grid-template-columns: 1fr;
    }

    .post-image-area {
        order: -1;
    }

    .community-right-panel {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 576px) {
    .community-post-card {
        padding: 18px;
    }

    .post-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .category-tab {
        flex: 1;
        text-align: center;
    }

    .user-box div {
        display: none;
    }
}
/* ============================================================
   COMUNIDADE - Formulario de publicacao (Create)
   ============================================================ */
.community-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 820px;
}

    .community-form .form-group {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .community-form label {
        font-weight: 600;
        font-size: 14px;
        color: #1f2a3b;
    }

.form-row-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 26px;
    padding: 4px 0;
}

.switch-field {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 500;
    color: #344054;
    cursor: pointer;
}

    .switch-field input {
        width: 18px;
        height: 18px;
        accent-color: #5663f7;
    }

    .switch-field small {
        color: #7a8499;
    }

.form-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 6px;
}

/* ============================================================
   COMUNIDADE - Detalhe do post (Details)
   ============================================================ */
.community-detail {
    background: #fff;
    border: 1px solid #e5eaf3;
    border-radius: 18px;
    overflow: hidden;
    margin-bottom: 28px;
}

.detail-hero img {
    width: 100%;
    max-height: 420px;
    object-fit: cover;
    display: block;
}

.detail-body {
    padding: 30px;
}

.detail-title {
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #07111f;
    margin: 12px 0 18px;
}

.detail-content p {
    color: #384357;
    line-height: 1.7;
    margin-bottom: 14px;
}

.detail-actions {
    display: flex;
    align-items: center;
    gap: 26px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #eef1f7;
}

    .detail-actions .metric-btn {
        font-size: 15px;
        cursor: pointer;
    }

    .metric-btn.like.active i {
        color: #ff4d67;
    }

/* ============================================================
   COMUNIDADE - Comentarios
   ============================================================ */
.comments-section {
    background: #fff;
    border: 1px solid #e5eaf3;
    border-radius: 18px;
    padding: 28px 30px;
}

.comments-title {
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 20px;
    color: #07111f;
}

.comment-form {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    margin-bottom: 26px;
}

    .comment-form textarea {
        width: 100%;
    }

.comment-login-hint {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f3f5fa;
    border-radius: 12px;
    padding: 14px 18px;
    color: #536176;
    margin-bottom: 26px;
}

    .comment-login-hint a {
        color: #5663f7;
        font-weight: 600;
        text-decoration: none;
    }

.comment-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.comment-item {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
}

.comment-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #eef2ff;
    color: #5663f7;
    display: flex;
    align-items: center;
    justify-content: center;
}

.comment-body {
    background: #f6f8fc;
    border-radius: 12px;
    padding: 14px 16px;
}

.comment-head {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 6px;
}

    .comment-head strong {
        font-size: 14px;
        color: #17213a;
    }

    .comment-head small {
        color: #8a94a6;
        font-size: 12px;
    }

.comment-body p {
    margin: 0;
    color: #384357;
    line-height: 1.55;
}
