@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap' );
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap' );

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Raleway", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

.FontMontserrat {
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
}

#cardic {
    transform: scale(1.4);
}

@keyframes float {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-10px);
    }
}

@keyframes blob {
    0%, 100% {
        transform: translate(0, 0) scale(1);
    }
    33% {
        transform: translate(30px, -50px) scale(1.1);
    }
    66% {
        transform: translate(-20px, 20px) scale(0.9);
    }
}

.animate-blob {
    animation: blob 7s infinite;
}

.animation-delay-2000 {
    animation-delay: 2s;
}

.float-animation {
    animation: float 3s ease-in-out infinite;
}

.card-hover {
    transition: all 0.3s ease;
}

.card-hover:hover {
    transform: translateY(-5px);
    box-shadow: var(--cd-glow);
}

.btn-primary {
    background: var(--cd-acc);
    color: white;
    padding: 12px 24px;
    border-radius: 8px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(37, 99, 235, 0.35);
}

section {
    padding: 60px 20px;
}

@media (max-width: 768px) {
    section {
        padding: 40px 20px;
    }
    
    .header-desktop {
        display: none !important;
    }
    
    .header-mobile {
        display: flex !important;
    }
}


:root,
html[data-tema="escuro"] {
    --cd-bg: #05070D;
    --cd-bg-alt: #0A0F1C;
    --cd-surface: #0F172A;
    --cd-surface-2: #131D33;
    --cd-line: #1E293B;
    --cd-line-strong: #334155;
    --cd-txt: #F1F5F9;
    --cd-txt-2: #CBD5E1;
    --cd-txt-3: #94A3B8;
    --cd-acc: #2563EB;
    --cd-acc-hover: #3B82F6;
    --cd-acc-txt: #3B82F6;
    --cd-acc-soft: rgba(37, 99, 235, 0.12);
    --cd-acc-line: rgba(59, 130, 246, 0.40);
    --cd-green: #16A34A;
    --cd-green-txt: #22C55E;
    --cd-green-soft: rgba(34, 197, 94, 0.12);
    --cd-red: #DC2626;
    --cd-red-txt: #F87171;
    --cd-red-soft: rgba(239, 68, 68, 0.12);
    --cd-amber: #FACC15;
    --cd-nav-bg: #000000;
    --cd-nav-bg-solid: #000000;
    --cd-nav-txt: #E4E4E7;
    --cd-footer-bg: #000000;
    --cd-shadow: 0 18px 40px -22px rgba(0, 0, 0, 0.8);
    --cd-shadow-lg: 0 30px 70px -30px rgba(0, 0, 0, 0.9);
    --cd-glow: 0 0 0 1px rgba(34, 197, 94, 0.35), 0 20px 45px -25px rgba(34, 197, 94, 0.45);
    --cd-overlay: rgba(3, 7, 18, 0.88);
    --cd-font: 'Raleway', ui-sans-serif, system-ui, sans-serif;
    --cd-font-display: 'Montserrat', 'Raleway', ui-sans-serif, sans-serif;
    --cd-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

html[data-tema="claro"] {
    --cd-bg: #E9EDF5;
    --cd-bg-alt: #E1E7F0;
    --cd-surface: #FFFFFF;
    --cd-surface-2: #F1F5F9;
    --cd-line: #CBD5E1;
    --cd-line-strong: #94A3B8;
    --cd-txt: #0F172A;
    --cd-txt-2: #334155;
    --cd-txt-3: #64748B;
    --cd-acc: #2563EB;
    --cd-acc-hover: #1D4ED8;
    --cd-acc-txt: #1D4ED8;
    --cd-acc-soft: rgba(37, 99, 235, 0.10);
    --cd-acc-line: rgba(37, 99, 235, 0.30);
    --cd-green: #16A34A;
    --cd-green-txt: #16A34A;
    --cd-green-soft: rgba(22, 163, 74, 0.12);
    --cd-red: #DC2626;
    --cd-red-txt: #DC2626;
    --cd-red-soft: rgba(220, 38, 38, 0.10);
    --cd-amber: #CA8A04;
    --cd-nav-bg: #0B1730;
    --cd-nav-bg-solid: #0B1730;
    --cd-nav-txt: #E2E8F0;
    --cd-footer-bg: #CBD5E1;
    --cd-shadow: 0 8px 22px rgba(15, 23, 42, 0.09);
    --cd-shadow-lg: 0 20px 50px rgba(15, 23, 42, 0.14);
    --cd-glow: 0 0 0 1px rgba(34, 197, 94, 0.45), 0 20px 50px rgba(34, 197, 94, 0.22);
    --cd-overlay: rgba(15, 23, 42, 0.80);
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 7rem;
    background: var(--cd-bg);
}

body {
    background: var(--cd-bg) !important;
    color: var(--cd-txt) !important;
    font-family: var(--cd-font) !important;
    transition: background-color 0.45s var(--cd-ease), color 0.45s var(--cd-ease);
}

h1, h2, h3, h4, h5,
.font-serif, .font-display {
    font-family: var(--cd-font-display) !important;
    letter-spacing: -0.015em;
}

.font-sans { font-family: var(--cd-font) !important; }
.font-mono { font-family: 'JetBrains Mono', ui-monospace, monospace !important; }

::selection {
    background: var(--cd-acc);
    color: #fff;
}

::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: var(--cd-bg-alt); }
::-webkit-scrollbar-thumb {
    background: var(--cd-line-strong);
    border-radius: 999px;
    border: 3px solid var(--cd-bg-alt);
}
::-webkit-scrollbar-thumb:hover { background: var(--cd-acc); }

.bg-white, .bg-slate-50, .bg-gray-50, .bg-neutral-50, .bg-ink-50, .bg-paper,
.bg-paper\/90, .bg-slate-100\/60 {
    background-color: var(--cd-surface) !important;
}

.bg-slate-100, .bg-gray-100, .bg-zinc-100, .bg-zinc-200, .bg-gray-200,
.bg-neutral-100, .bg-ink-100, .bg-ink-200, .bg-slate-200 {
    background-color: var(--cd-bg-alt) !important;
}

.bg-slate-700, .bg-slate-800, .bg-slate-900, .bg-slate-950, .bg-neutral-800,
.bg-neutral-900, .bg-neutral-900\/95, .bg-zinc-800, .bg-zinc-900, .bg-ink-800,
.bg-ink-900, .bg-ink-950, .bg-ink-900\/50, .bg-blue-950\/85, .bg-\[\#0b1220\] {
    background-color: var(--cd-footer-bg) !important;
}

.bg-black\/50, .bg-black\/60, .bg-black\/70, .bg-black\/80 {
    background-color: var(--cd-overlay) !important;
    backdrop-filter: blur(6px);
}

.bg-indigo-600, .bg-indigo-500, .bg-indigo-700, .bg-blue-500, .bg-blue-600,
.bg-blue-700, .bg-blue-800, .bg-stamp, .bg-cyan-300, .bg-cyan-400, .bg-blue-400 {
    background-color: var(--cd-acc) !important;
}

.bg-indigo-50, .bg-indigo-100, .bg-blue-50, .bg-blue-100, .bg-blue-600\/10,
.bg-stamp\/10, .bg-cyan-400\/20, .bg-sky-100 {
    background-color: var(--cd-acc-soft) !important;
}

.bg-green-500, .bg-green-600, .bg-emerald-500, .bg-emerald-600 { background-color: var(--cd-green) !important; }
.bg-green-50, .bg-green-100, .bg-emerald-100 { background-color: var(--cd-green-soft) !important; }
.bg-red-500, .bg-red-600, .bg-rose-500 { background-color: var(--cd-red) !important; }
.bg-red-50, .bg-red-100, .bg-rose-100 { background-color: var(--cd-red-soft) !important; }
.bg-yellow-400, .bg-amber-400, .bg-yellow-500 { background-color: var(--cd-amber) !important; }

[class*="bg-gradient"][class*="from-white"],
[class*="bg-gradient"][class*="from-slate-50"],
[class*="bg-gradient"][class*="from-paper"] {
    background-image: none !important;
    background-color: var(--cd-bg-alt) !important;
}

.text-white, .text-slate-50, .text-gray-50 { color: #F4F8FF !important; }

.text-black, .text-slate-900, .text-slate-800, .text-gray-900, .text-gray-800,
.text-neutral-900, .text-zinc-900, .text-zinc-800, .text-ink-900, .text-ink-800 {
    color: var(--cd-txt) !important;
}

.text-slate-700, .text-slate-600, .text-gray-700, .text-gray-600,
.text-neutral-700, .text-neutral-600, .text-zinc-700, .text-zinc-600,
.text-ink-700, .text-ink-600 {
    color: var(--cd-txt-2) !important;
}

.text-slate-500, .text-slate-400, .text-gray-500, .text-gray-400,
.text-neutral-500, .text-neutral-400, .text-zinc-500, .text-zinc-400,
.text-ink-500, .text-ink-400 {
    color: var(--cd-txt-3) !important;
}

.text-slate-300, .text-slate-200, .text-slate-100, .text-gray-300, .text-gray-200,
.text-neutral-300, .text-neutral-200, .text-ink-300, .text-ink-200, .text-ink-100 {
    color: var(--cd-txt-2) !important;
}

.text-indigo-400, .text-indigo-500, .text-indigo-600, .text-indigo-700,
.text-indigo-800, .text-blue-400, .text-blue-500, .text-blue-600, .text-blue-700,
.text-blue-800, .text-blue-900, .text-blue-100, .text-blue-200, .text-blue-300,
.text-stamp, .text-cyan-400, .text-sky-500, .text-purple-400, .text-pink-400,
.text-pink-500 {
    color: var(--cd-acc-txt) !important;
}

.text-green-400, .text-green-500, .text-green-600, .text-emerald-500,
.text-emerald-600 {
    color: var(--cd-green-txt) !important;
}

.text-red-400, .text-red-500, .text-red-600, .text-rose-500 { color: var(--cd-red-txt) !important; }
.text-yellow-400, .text-amber-400, .text-amber-500 { color: var(--cd-amber) !important; }

.border-slate-100, .border-slate-200, .border-slate-300, .border-gray-100,
.border-gray-200, .border-gray-300, .border-neutral-200, .border-zinc-200,
.border-ink-100, .border-ink-200, .border-ink-300, .border-blue-100,
.border-indigo-100, .border-green-200, .border-red-200 {
    border-color: var(--cd-line) !important;
}

.border-slate-600, .border-slate-700, .border-slate-800, .border-ink-800,
.border-ink-900, .border-blue-900, .border-neutral-700 {
    border-color: var(--cd-line-strong) !important;
}

.border-indigo-500, .border-indigo-600, .border-blue-600, .border-blue-700,
.border-blue-800, .border-stamp {
    border-color: var(--cd-acc) !important;
}

.border-white, .border-white\/70, .border-white\/10, .border-white\/20 {
    border-color: rgba(255, 255, 255, 0.16) !important;
}

.shadow-blue-700\/20, .shadow-green-600\/20, .shadow-stamp\/30,
.shadow-ink-900\/5, .shadow-lg, .shadow-xl, .shadow-2xl, .shadow-md, .shadow {
    box-shadow: var(--cd-shadow) !important;
}

.hover\:bg-indigo-500:hover, .hover\:bg-indigo-600:hover, .hover\:bg-indigo-700:hover,
.hover\:bg-indigo-800:hover, .hover\:bg-blue-600:hover, .hover\:bg-blue-700:hover,
.hover\:bg-blue-800:hover, .hover\:bg-stamp:hover, .group:hover .group-hover\:bg-blue-700,
.group:hover .group-hover\:bg-indigo-600 {
    background-color: var(--cd-acc-hover) !important;
}

.hover\:bg-indigo-50:hover, .hover\:bg-blue-50:hover, .hover\:bg-blue-100:hover,
.group:hover .group-hover\:bg-indigo-100 {
    background-color: var(--cd-acc-soft) !important;
}

.hover\:bg-green-600:hover, .hover\:bg-green-700:hover { background-color: var(--cd-green) !important; }

.hover\:bg-white:hover, .hover\:bg-slate-50:hover { background-color: var(--cd-surface-2) !important; }

.hover\:bg-slate-700:hover, .hover\:bg-slate-800:hover, .hover\:bg-neutral-900:hover,
.hover\:bg-ink-800:hover {
    background-color: var(--cd-surface-2) !important;
}

.hover\:text-indigo-600:hover, .hover\:text-indigo-700:hover, .hover\:text-indigo-800:hover,
.hover\:text-blue-400:hover, .hover\:text-blue-500:hover, .hover\:text-blue-600:hover,
.hover\:text-blue-700:hover, .hover\:text-blue-900:hover, .hover\:text-stamp:hover,
.hover\:text-purple-400:hover, .hover\:text-pink-400:hover, .hover\:text-pink-500:hover,
.group:hover .group-hover\:text-blue-400 {
    color: var(--cd-acc-hover) !important;
}

.hover\:text-green-400:hover, .hover\:text-green-500:hover { color: var(--cd-green-txt) !important; }
.hover\:text-red-400:hover, .hover\:text-red-500:hover { color: var(--cd-red-txt) !important; }
.hover\:text-gray-600:hover, .hover\:text-neutral-700:hover { color: var(--cd-txt-2) !important; }
.hover\:text-white:hover, .group:hover .group-hover\:text-white { color: #F4F8FF !important; }

.hover\:border-indigo-600:hover, .hover\:border-blue-700:hover,
.hover\:border-blue-800:hover, .hover\:border-ink-900:hover {
    border-color: var(--cd-acc) !important;
}

.focus\:ring-indigo-500:focus, .focus\:ring-indigo-600:focus, .focus\:ring-blue-700:focus {
    --tw-ring-color: var(--cd-acc-line) !important;
    box-shadow: 0 0 0 3px var(--cd-acc-line) !important;
}

body > header[class],
body > header[id] {
    background: var(--cd-nav-bg) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    box-shadow: 0 10px 30px -20px rgba(0, 0, 0, 0.9) !important;
    transition: padding 0.4s var(--cd-ease), background 0.4s var(--cd-ease), box-shadow 0.4s var(--cd-ease);
}

body > header[class] a,
body > header[id] a,
body > header[class] li,
body > header[class] span,
body > header[class] p {
    color: var(--cd-nav-txt) !important;
}

body > header[class] a:hover,
body > header[id] a:hover {
    color: var(--cd-acc-txt) !important;
}

body > header[class] .bg-white,
body > header[id] .bg-white {
    background-color: rgba(255, 255, 255, 0.08) !important;
}

body > header[class].cd-compacta {
    box-shadow: 0 14px 40px -22px rgba(0, 0, 0, 1) !important;
}

body > header.header-mobile[class] {
    background: var(--cd-nav-bg-solid) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body > footer[class] {
    background: var(--cd-footer-bg) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

body > header[class],
body > header[id],
body > footer[class],
#mobileMenu,
.bg-slate-700, .bg-slate-800, .bg-slate-900, .bg-slate-950, .bg-neutral-800,
.bg-neutral-900, .bg-neutral-900\/95, .bg-zinc-800, .bg-zinc-900, .bg-ink-800,
.bg-ink-900, .bg-ink-950, .bg-blue-950\/85, .bg-\[\#0b1220\] {
    --cd-surface: rgba(255, 255, 255, 0.05);
    --cd-surface-2: rgba(255, 255, 255, 0.09);
    --cd-bg-alt: rgba(255, 255, 255, 0.04);
    --cd-line: rgba(255, 255, 255, 0.12);
    --cd-line-strong: rgba(255, 255, 255, 0.2);
    --cd-txt: #EDF3FD;
    --cd-txt-2: #B4C6DF;
    --cd-txt-3: #8397B5;
    --cd-acc-txt: #7FB0FF;
    --cd-green-txt: #5BE49B;
}

#mobileMenu {
    background: var(--cd-nav-bg-solid) !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: blur(18px) saturate(140%);
    border-left: 1px solid rgba(255, 255, 255, 0.1);
}

#mobileMenu a,
#mobileMenu li,
#mobileMenu span {
    color: var(--cd-nav-txt) !important;
}

#mobileMenu a:hover { color: var(--cd-acc-txt) !important; }

input, textarea, select {
    background-color: var(--cd-surface-2) !important;
    border-color: var(--cd-line) !important;
    color: var(--cd-txt) !important;
    transition: border-color 0.3s var(--cd-ease), box-shadow 0.3s var(--cd-ease), background-color 0.3s var(--cd-ease);
}

input::placeholder, textarea::placeholder { color: var(--cd-txt-3) !important; }

input:focus, textarea:focus, select:focus {
    outline: none !important;
    border-color: var(--cd-acc) !important;
    box-shadow: 0 0 0 4px var(--cd-acc-soft) !important;
}

.nav-link::after { background: var(--cd-acc) !important; }
.nav-link:hover { color: var(--cd-acc-txt) !important; }

.grain-bg {
    background-image: radial-gradient(circle at 1px 1px, var(--cd-line-strong) 1px, transparent 0) !important;
    opacity: 0.5;
}

.placeholder-img { background-color: var(--cd-surface-2) !important; }
.placeholder-img::after { color: var(--cd-txt-3) !important; }
.gallery-thumb { border-color: var(--cd-line) !important; }
.zoom-hint { background: var(--cd-acc) !important; color: #fff !important; }

.cd-progresso {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    width: 0;
    z-index: 9999;
    background: var(--cd-green-txt);
    box-shadow: 0 0 14px var(--cd-acc-line);
    transition: width 0.12s linear;
    pointer-events: none;
}

.cd-acoes-mobile {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
    margin-left: auto;
}

.cd-acoes-mobile > button:not(.cd-tema-btn) {
    order: 2;
    line-height: 1;
}

.cd-acoes-mobile > .cd-tema-btn {
    order: 1;
}

@media (max-width: 400px) {
    .cd-acoes-mobile { gap: 8px; }
    .cd-acoes-mobile > .cd-tema-btn { width: 38px; height: 38px; flex: 0 0 38px; font-size: 1rem; }
}

.cd-tema-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.07);
    color: var(--cd-nav-txt) !important;
    font-size: 1.15rem;
    cursor: pointer;
    overflow: hidden;
    position: relative;
    transition: transform 0.4s var(--cd-ease), background 0.35s var(--cd-ease), border-color 0.35s var(--cd-ease), box-shadow 0.35s var(--cd-ease);
}

.cd-tema-btn:hover {
    transform: translateY(-2px) rotate(-12deg);
    background: var(--cd-acc-soft);
    border-color: var(--cd-acc-line);
    box-shadow: var(--cd-glow);
    color: var(--cd-acc-txt) !important;
}

.cd-tema-btn i {
    transition: transform 0.5s var(--cd-ease), opacity 0.3s var(--cd-ease);
}

.cd-tema-btn.cd-girando i {
    transform: rotate(360deg) scale(0.4);
    opacity: 0;
}

.cd-topo {
    position: fixed;
    right: 22px;
    bottom: 22px;
    width: 48px;
    height: 48px;
    border-radius: 999px;
    border: 1px solid var(--cd-acc-line);
    background: var(--cd-acc);
    color: #fff;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 9998;
    opacity: 0;
    transform: translateY(20px) scale(0.85);
    pointer-events: none;
    box-shadow: var(--cd-glow);
    transition: opacity 0.4s var(--cd-ease), transform 0.4s var(--cd-ease), background 0.3s var(--cd-ease);
}

.cd-topo.cd-visivel {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.cd-topo:hover {
    background: var(--cd-acc-hover);
    transform: translateY(-4px) scale(1.06);
}

.cd-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.75s var(--cd-ease), transform 0.75s var(--cd-ease);
    will-change: opacity, transform;
}

.cd-reveal.cd-visto {
    opacity: 1;
    transform: none;
}

a, button, .transition, [class*="transition"] {
    transition-timing-function: var(--cd-ease);
}

section img:not([class*="rounded-full"]) {
    transition: transform 0.6s var(--cd-ease), box-shadow 0.6s var(--cd-ease), filter 0.6s var(--cd-ease);
}

section img:not([class*="rounded-full"]):hover {
    transform: scale(1.02);
    box-shadow: var(--cd-shadow-lg);
}

.cd-card {
    transition: transform 0.5s var(--cd-ease), box-shadow 0.5s var(--cd-ease), border-color 0.5s var(--cd-ease), background-color 0.5s var(--cd-ease);
}

.cd-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--cd-glow) !important;
    border-color: var(--cd-acc-line) !important;
}

.cd-nav-ativo {
    color: var(--cd-acc-txt) !important;
}

@keyframes cd-flutuar {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-12px); }
}

@keyframes cd-pulsar {
    0%, 100% { opacity: 0.35; transform: scale(1); }
    50% { opacity: 0.6; transform: scale(1.08); }
}

.cd-flutuar { animation: cd-flutuar 6s ease-in-out infinite; }

section [class*="blur-"][class*="absolute"],
section [class*="rounded-full"][class*="absolute"][class*="blur"] {
    animation: cd-pulsar 9s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .cd-reveal { opacity: 1 !important; transform: none !important; }
    .cd-flutuar, section [class*="blur-"][class*="absolute"] { animation: none !important; }
}
section.bg-white,
body > section:not([class*="bg-"]),
main > section:not([class*="bg-"]) {
    background-color: var(--cd-bg) !important;
}

[class*="bg-gradient"]:not(.cd-keep-gradient) {
    background-image: none !important;
}

.text-cyan-300 { color: var(--cd-green-txt) !important; }

body > header .group > span.absolute,
body > header a > span.absolute {
    background-color: var(--cd-green-txt) !important;
}

body > header[class] a:hover,
body > header[id] a:hover,
#mobileMenu a:hover {
    color: var(--cd-green-txt) !important;
}

body > header[class] a.bg-blue-600,
body > header[class] a.bg-blue-600:hover,
#mobileMenu a.bg-blue-600 {
    color: #fff !important;
}

body > header[class] a.bg-blue-600:hover {
    background-color: var(--cd-green) !important;
}

.cd-nav-ativo {
    color: var(--cd-green-txt) !important;
}

.cd-nav-ativo > span.absolute {
    width: 100% !important;
}

html[data-tema="claro"] body > footer[class] {
    --cd-surface: rgba(15, 23, 42, 0.05);
    --cd-surface-2: rgba(15, 23, 42, 0.08);
    --cd-bg-alt: rgba(15, 23, 42, 0.04);
    --cd-line: #94A3B8;
    --cd-line-strong: #94A3B8;
    --cd-txt: #0F172A;
    --cd-txt-2: #1E293B;
    --cd-txt-3: #475569;
    --cd-acc-txt: #1D4ED8;
    --cd-green-txt: #15803D;
    color: #1E293B !important;
}

html[data-tema="claro"] body > footer[class] .text-white {
    color: #0F172A !important;
}

.cd-hero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.cd-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image:
        linear-gradient(rgba(148, 163, 184, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148, 163, 184, 0.06) 1px, transparent 1px);
    background-size: 64px 64px;
    -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 0%, transparent 80%);
    mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 0%, transparent 80%);
    pointer-events: none;
}

.cd-particulas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    pointer-events: none;
}

.cd-hero > *:not(.cd-particulas) {
    position: relative;
}

.cd-brilho {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.cd-brilho::before {
    content: '';
    position: absolute;
    width: 115%;
    height: 115%;
    border-radius: 50%;
    background: rgba(37, 99, 235, 0.16);
    filter: blur(40px);
    z-index: -1;
    animation: cd-pulsar 3s ease-in-out infinite;
}

.cd-digitando::after {
    content: '';
    display: inline-block;
    width: 3px;
    height: 0.9em;
    margin-left: 6px;
    vertical-align: -0.08em;
    background: var(--cd-green-txt);
    animation: cd-piscar 0.8s step-end infinite;
}

@keyframes cd-piscar {
    50% { opacity: 0; }
}

.cd-reveal.cd-atraso-1 { transition-delay: 0.08s; }
.cd-reveal.cd-atraso-2 { transition-delay: 0.16s; }
.cd-reveal.cd-atraso-3 { transition-delay: 0.24s; }

.cd-card:hover {
    border-color: var(--cd-green-txt) !important;
}

.cd-topo {
    background: var(--cd-green);
    border-color: rgba(34, 197, 94, 0.5);
}

.cd-topo:hover {
    background: var(--cd-acc);
}

body > header[class].cd-compacta {
    padding-top: 0.6rem !important;
    padding-bottom: 0.6rem !important;
}

#mobileMenu li {
    opacity: 0;
    transform: translateX(20px);
    transition: opacity 0.35s var(--cd-ease), transform 0.35s var(--cd-ease);
}

#mobileMenu.cd-aberto li {
    opacity: 1;
    transform: none;
}

#mobileMenu.cd-aberto li:nth-child(2) { transition-delay: 0.05s; }
#mobileMenu.cd-aberto li:nth-child(3) { transition-delay: 0.1s; }
#mobileMenu.cd-aberto li:nth-child(4) { transition-delay: 0.15s; }
#mobileMenu.cd-aberto li:nth-child(5) { transition-delay: 0.2s; }
#mobileMenu.cd-aberto li:nth-child(6) { transition-delay: 0.25s; }
#mobileMenu.cd-aberto li:nth-child(7) { transition-delay: 0.3s; }
#mobileMenu.cd-aberto li:nth-child(8) { transition-delay: 0.35s; }

body.cd-travado { overflow: hidden; }

@media (max-width: 640px) {
    .cd-topo {
        right: 16px;
        bottom: 16px;
        width: 44px;
        height: 44px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cd-brilho::before,
    .cd-digitando::after { animation: none !important; }
    #mobileMenu li { opacity: 1; transform: none; }
}

html[data-tema="claro"] .cd-hero.text-white,
html[data-tema="claro"] .cd-hero .text-white:not([class*="bg-"]) {
    color: var(--cd-txt) !important;
}

html[data-tema="claro"] .cd-hero .text-zinc-300 {
    color: var(--cd-txt-2) !important;
}

html[data-tema="claro"] .cd-hero::before {
    background-image:
        linear-gradient(rgba(15, 23, 42, 0.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.07) 1px, transparent 1px);
}

html[data-tema="claro"] .cd-hero.text-white,
html[data-tema="claro"] .cd-hero .text-white:not([class*="bg-"]) {
    color: var(--cd-txt) !important;
}

html[data-tema="claro"] .cd-hero .text-zinc-300 {
    color: var(--cd-txt-2) !important;
}

html[data-tema="claro"] .cd-hero::before {
    background-image:
        linear-gradient(rgba(15, 23, 42, 0.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.07) 1px, transparent 1px);
}

.cd-overlay-img {
    background-color: rgba(3, 7, 18, 0.62);
}

.group:hover .cd-overlay-img {
    background-color: rgba(3, 7, 18, 0.45);
}

.cd-texto-img {
    color: #F8FAFC !important;
}

#home .opacity-20 {
    opacity: 0.12;
}

html[data-tema="claro"] #home .opacity-20 {
    opacity: 0.08;
}

body > header[class] h1 span.text-green-500,
#mobileMenu h1 span.text-green-500 {
    color: var(--cd-green-txt) !important;
}
