/* Reset e Configurações Globais */
:root {
    --dt-black: #0D0D0D; --dt-dark-blue: #003366; --dt-logo-blue: #00529B; --dt-logo-green: #00A859; --dt-light-green: #00D47A;
    --primary-color: var(--dt-black); --secondary-color: #101820; --accent-color: var(--dt-logo-green); --accent-hover-color: var(--dt-light-green);
    --text-color: #E0E0E0; --text-muted-color: #A0A0B0; --highlight-text-color: var(--dt-logo-blue);
    --card-bg-color: #1A202C; --border-color: #2D3748;
    --font-primary: 'Roboto', sans-serif; --font-headings: 'Orbitron', sans-serif;
    --container-width: 1100px; --section-padding: 70px 0; --transition-speed: 0.3s ease;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: var(--font-primary); background-color: var(--primary-color); color: var(--text-color); line-height: 1.7; overflow-x: hidden; background-image: linear-gradient(160deg, var(--primary-color) 0%, var(--dt-dark-blue) 100%); }
.container { width: 90%; max-width: var(--container-width); margin: 0 auto; position: relative; }

/* Textos e Títulos */
h1, h2 { font-family: var(--font-headings); color: var(--text-color); margin-bottom: 1rem; line-height: 1.3; }
.gradient-text { background: linear-gradient(90deg, var(--dt-logo-green), var(--dt-logo-blue)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; display: inline-block; }
.highlight-text { background: linear-gradient(45deg, var(--dt-logo-green), var(--dt-logo-blue), var(--dt-light-green)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; padding-bottom: 5px; }
h1 { font-size: clamp(2.5rem, 5vw, 3.8rem); font-weight: 900; }
h2 { font-size: clamp(2rem, 4vw, 3rem); text-align: center; margin-bottom: 2.5rem; }
p { margin-bottom: 1rem; color: var(--text-muted-color); }
a { color: var(--accent-color); text-decoration: none; transition: color var(--transition-speed); }
a:hover { color: var(--accent-hover-color); }
ul { list-style: none; padding-left: 0; }
.icon-accent { margin-right: 0.75rem; color: var(--accent-color); }

/* Navbar */
.navbar { background-color: rgba(13,13,13,0.7); backdrop-filter: blur(12px) saturate(150%); -webkit-backdrop-filter: blur(12px) saturate(150%); padding:0.8rem 0; position:fixed; width:100%; top:0; left:0; z-index:1000; border-bottom:1px solid rgba(0,168,89,0.2); }
.navbar .container { display:flex; justify-content:space-between; align-items:center; }
.logo-link .logo-img { max-height:60px; width:auto; transition:transform var(--transition-speed); } /* Ajustado para 60px */
.logo-link:hover .logo-img { transform:scale(1.05); }
.nav-links { display:flex; align-items: center; }
.nav-links li { margin-left:1.5rem; }
.nav-links a { color:var(--text-color); font-weight:500; padding:0.5rem 0.2rem; position:relative; text-transform:uppercase; font-size:0.9rem; letter-spacing:0.5px; }
.nav-links a::after { content:''; position:absolute; bottom:-5px; left:50%; transform:translateX(-50%); width:0; height:3px; background:linear-gradient(90deg,var(--dt-logo-green),var(--dt-logo-blue)); border-radius:2px; transition:width var(--transition-speed); }
.nav-links a:hover::after, .nav-links a.active::after { width:100%; }
.nav-icon-item { margin-left:1rem; }
.nav-icon-item a { padding:0.4rem; font-size:1.2rem; color:var(--text-muted-color); transition:color var(--transition-speed),transform var(--transition-speed); }
.nav-icon-item a:hover { color:var(--accent-color); transform:scale(1.1); }
.nav-icon-item a::after { display:none; }
.menu-toggle { display:none; background:none; border:none; color:var(--text-color); font-size:1.8rem; cursor:pointer; }

/* Hero Section */
.hero-section { min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding-top:80px; position:relative; overflow:hidden; }
#particles-js { position:absolute; width:100%; height:100%; top:0; left:0; z-index:0; background-color:var(--primary-color); }
.hero-section .hero-content { position:relative; z-index:1; }
.typewriter-cursor { display:inline-block; font-weight:900; color:var(--accent-color); visibility: hidden; }
@keyframes blinkCursor { 0%,100%{opacity:1;} 50%{opacity:0;} }
#hero-main-title-text { display:inline; margin-right:5px; min-height: 1.3em; }
.hero-section .subtitle { font-size:1.25rem; max-width:750px; margin:1.5rem auto 2.5rem; color:var(--text-muted-color); font-weight:300; opacity:0; /* Inicia invisível para animação JS */ }
.hero-section .primary-cta { opacity:0; /* Inicia invisível para animação JS */ }

.cta-button { display:inline-block; background-image:linear-gradient(95deg,var(--dt-logo-green) 0%,var(--dt-logo-blue) 100%); color:#fff; padding:0.9rem 2.2rem; border-radius:50px; font-weight:700; font-family:var(--font-headings); text-transform:uppercase; letter-spacing:1px; transition:all var(--transition-speed); border:none; box-shadow:0 5px 15px rgba(0,168,89,0.3); position:relative; overflow:hidden; }
.cta-button::before { content:''; position:absolute; top:0; left:-100%; width:100%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent); transition:left 0.6s ease; }
.cta-button:hover::before { left:100%; }
.cta-button:hover { box-shadow:0 8px 25px rgba(0,82,155,0.4); transform:translateY(-3px) scale(1.02); }

/* Seções de Conteúdo */
.content-section { padding:var(--section-padding); position:relative; border-bottom:1px solid var(--border-color); }
.content-section:last-of-type { border-bottom:none; }
.content-section.alt-bg { background-color:var(--secondary-color); background-image:linear-gradient(180deg,var(--secondary-color) 0%,#151D29 100%); }
.content-section .section-content { max-width:850px; margin:0 auto; text-align:left; }
.content-section ul li { margin-bottom:1rem; padding-left:2rem; position:relative; color:var(--text-muted-color); font-size:1.05rem; }
.content-section ul li i.text-green { color:var(--dt-logo-green); position:absolute; left:0; top:7px; font-size:1.2rem; }
.text-center { text-align: center; }
.text-center .section-content.intro-text-container p { text-align: justify; max-width: 850px; margin-left: auto; margin-right: auto;}


/* Grid "Por que escolher" */
.why-us-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:2rem; margin-top:2rem; text-align:left; }
.why-us-item { background-color:var(--card-bg-color); padding:2rem; border-radius:8px; border-left:4px solid var(--accent-color); box-shadow:0 5px 15px rgba(0,0,0,0.15); }
.why-us-item h3 { font-size:1.3rem; color:var(--text-color); margin-top:0.5rem; margin-bottom:0.75rem; }
.why-us-item p { font-size:0.95rem; color:var(--text-muted-color); margin-bottom:0; }
.icon-accent-big { font-size:2rem; color:var(--accent-color); margin-bottom:1rem; display:block; }

/* Cards de Serviço */
.service-card { display:flex; flex-wrap:wrap; background-color:var(--card-bg-color); border-radius:10px; overflow:hidden; margin-bottom:3rem; box-shadow:0 10px 30px rgba(0,0,0,0.2); border-left:5px solid transparent; transition:border-left-color var(--transition-speed); }
.service-card:hover { border-left-color:var(--accent-color); }
.service-card-image { flex:1 1 320px; max-width:380px; min-width:280px; margin:0 auto; padding:1rem; display:flex; align-items:center; justify-content:center; }
.service-card-image img { width:100%; max-height:280px; object-fit:contain; display:block; border-radius:6px; }
.service-card-content { flex:2 1 400px; padding:2rem 2.5rem; text-align:left; }
.service-card-content h3 { font-size:1.8rem; color:var(--highlight-text-color); margin-bottom:1rem; }
.service-card-content h3 .icon-accent { margin-right:0.8rem; color:var(--accent-color); }
.service-card-content p { margin-bottom:1.5rem; line-height:1.8; }
.service-card-content ul { list-style:none; padding-left:0; margin-bottom:1rem; }
.service-card-content ul li { padding-left:1.8rem; margin-bottom:0.8rem; position:relative; }
.service-card.alt-layout .service-card-image { order:2; } .service-card.alt-layout .service-card-content { order:1; }

/* Testimonials (como antes) */
.testimonials-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:2.5rem; margin-top:3rem; perspective:1000px; }
.testimonial-card { background-color:var(--card-bg-color); padding:2.5rem; border-radius:10px; border:1px solid transparent; background-clip:padding-box; border-image:linear-gradient(135deg,var(--dt-logo-green),var(--dt-logo-blue)) 1; box-shadow:0 8px 25px rgba(0,0,0,0.3); transition:transform .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s cubic-bezier(.25,.46,.45,.94),border-image .4s; will-change:transform; position:relative; }
.testimonial-card:hover { transform:translateY(-10px) scale(1.03) rotateX(5deg) rotateY(-5deg); box-shadow:0 15px 40px rgba(0,168,89,.25),0 0 20px rgba(0,82,155,.15); }
.testimonial-card p { font-style:italic; margin-bottom:1.5rem; color:var(--text-color); font-size:1.05rem; }
.testimonial-card h4 { font-family:var(--font-primary); font-size:1rem; color:var(--accent-color); text-align:right; margin-bottom:0; font-weight:700; }

/* CTA Final Section & Form (como antes) */
.cta-final-section { background-color:var(--secondary-color); background-image:linear-gradient(0deg,var(--secondary-color) 0%,#151D29 100%); padding:var(--section-padding); text-align:center; }
.contact-form { max-width:650px; margin:2.5rem auto; display:grid; gap:1.8rem; }
.form-group { position:relative; }
.form-group input,.form-group textarea { width:100%; padding:1.1rem 1rem .8rem 1rem; background-color:rgba(255,255,255,.03); border:1px solid var(--border-color); border-radius:6px; color:var(--text-color); font-family:var(--font-primary); font-size:1rem; transition:border-color var(--transition-speed),box-shadow var(--transition-speed); }
.form-group input:focus,.form-group textarea:focus { outline:none; border-color:var(--accent-color); box-shadow:0 0 12px rgba(0,168,89,.4); }
.form-group label { position:absolute; top:1rem; left:1rem; color:var(--text-muted-color); pointer-events:none; transition:all var(--transition-speed); background-color:transparent; padding:0 .25rem; }
.form-group input:focus+label,.form-group input:valid+label,.form-group textarea:focus+label,.form-group textarea:valid+label { top:-.65rem; left:.75rem; font-size:.8rem; color:var(--accent-color); background-color:var(--secondary-color); }
.contact-form .cta-button { width:auto; margin:.5rem auto 0; }
.form-status-message { margin-top:1rem; font-weight:700; min-height:1.2em; }
.form-status-message.success { color:var(--dt-logo-green); } .form-status-message.error { color:#e74c3c; }
.direct-contact { margin-top:2.5rem; } .direct-contact p { margin-bottom:.75rem; color:var(--text-muted-color); font-size:1.05rem; }
.direct-contact i { margin-right:.75rem; color:var(--accent-color); width:20px; text-align:center; }
.direct-contact a:hover { text-decoration:underline; color:var(--dt-light-green); }

/* Footer */
.site-footer { background-color:var(--primary-color); padding:2.5rem 0; text-align:center; border-top:1px solid var(--border-color); }
.logo-link-footer img { max-height:60px; }
.social-links a { color:var(--text-muted-color); font-size:1.6rem; margin:0 1rem; transition:color var(--transition-speed),transform var(--transition-speed); }
.social-links a:hover { background:linear-gradient(45deg,var(--dt-logo-green),var(--dt-logo-blue)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; transform:scale(1.2) translateY(-2px); }
.site-footer p { margin-top:1.5rem; font-size:.95rem; color:var(--text-muted-color); }
.slogan-footer { display:block; margin-top:.5rem; font-style:italic; color:var(--dt-logo-blue); }

/* Animações de Entrada */
@keyframes slideInLeft { from{transform:translateX(-100px);opacity:0;} to{transform:translateX(0);opacity:1;} }
@keyframes slideInRight { from{transform:translateX(100px);opacity:0;} to{transform:translateX(0);opacity:1;} }
@keyframes fadeInUp { from{transform:translateY(50px);opacity:0;} to{transform:translateY(0);opacity:1;} }
@keyframes fadeInDown { from{transform:translateY(-50px);opacity:0;} to{transform:translateY(0);opacity:1;} }
@keyframes zoomIn { from{transform:scale(0.5);opacity:0;} to{transform:scale(1);opacity:1;} }

.animate-on-scroll { opacity:0; will-change:transform,opacity; }
.animate-on-scroll.start-animation { opacity:1; animation-name:var(--animation-name,fadeInDown); animation-duration:var(--animation-duration,0.7s); animation-delay:var(--animation-delay,0s); animation-timing-function:ease-out; animation-fill-mode:forwards; }
.animate-on-scroll[data-animation="fadeInUp"].start-animation { animation-name:fadeInUp; }

/* Responsividade */
@media(max-width:992px){.service-card,.service-card.alt-layout{flex-direction:column}.service-card-image{max-width:100%}.service-card-image img{max-height:250px}}
@media(max-width:768px){html{font-size:14px}.nav-links{display:none;flex-direction:column;align-items:center;position:absolute;top:100%;left:0;width:100%;background-color:rgba(16,24,32,.98);backdrop-filter:blur(8px);padding:1rem 0;text-align:center;border-top:1px solid var(--border-color)}.nav-links.active{display:flex}.nav-links li,.nav-icon-item{margin:.8rem 0;margin-left:0}.menu-toggle{display:block}.hero-section{padding-top:70px}.testimonials-grid{grid-template-columns:1fr}.why-us-item{text-align:center}.why-us-item i{margin-left:auto;margin-right:auto}.service-card-content{padding:2rem 1.5rem}.service-card-content h3{font-size:1.5rem}.form-group input:focus+label,.form-group input:valid+label,.form-group textarea:focus+label,.form-group textarea:valid+label{background-color:#101820}}
