:root{--accent-1:#1985d4;--accent-2:#60aee8;--surface:#1a1a1a;--border:#4a5568}
body{font-family:'Montserrat',sans-serif}
/* Utilidades */
.section-header{font-size:clamp(2rem,2.5vw,2.5rem);font-weight:700;color:#fff;text-align:center}
.card{background-color:var(--surface);border-radius:1rem;box-shadow:0 4px 6px rgba(0,0,0,.2);padding:2.5rem;transition:transform .3s ease-in-out}
.card:hover{transform:translateY(-5px)}
.btn-dark,.btn-whatsapp{background-image:linear-gradient(90deg,var(--accent-1),var(--accent-2));color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:700;display:inline-block;transition:transform .3s,background-color .3s,box-shadow .3s;box-shadow:0 4px 6px rgba(0,0,0,.1)}
.btn-dark:hover,.btn-whatsapp:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 10px rgba(0,0,0,.25)}
/* Header scroll */
.header-fixed{background-image:linear-gradient(90deg,var(--accent-1),var(--accent-2))}
/* Hero / Slider */
.hero-section{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:2rem;position:relative;overflow:hidden}
.carousel-slides{display:flex;transition:transform .6s ease;will-change:transform}
.slide{flex:0 0 100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}
@media(min-width:1024px){.slide{flex-direction:row;text-align:left}}
.hero-content{flex:1;max-width:600px}
.hero-media{flex:1;max-width:700px}
/* Dots */
.slider-dots{position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);z-index:20;display:flex;gap:.5rem}
.slider-dot{width:12px;height:12px;background-color:rgba(255,255,255,.5);border-radius:999px;cursor:pointer;transition:background-color .3s,width .3s}
.slider-dot.active{background-image:linear-gradient(90deg,var(--accent-1),var(--accent-2));width:26px}
/* Service card */
.service-card{background-color:#13101a;border-radius:1rem;padding:2.5rem;transition:transform .3s,box-shadow .3s;cursor:pointer;position:relative;overflow:hidden}
.service-card::before{content:'';position:absolute;inset:0;background-image:linear-gradient(90deg,var(--accent-1),var(--accent-2));opacity:0;transition:opacity .3s;z-index:0}
.service-card:hover::before{opacity:.4}
.service-card:hover{transform:translateY(-5px);box-shadow:0 8px 16px rgba(0,0,0,.4)}
.service-card-content{position:relative;z-index:1;transition:color .3s}
.service-card:hover .service-card-content p,.service-card:hover .service-card-content h3{color:#fff}
/* Modal */
.modal{display:none;position:fixed;inset:0;z-index:100;place-items:center;background:rgba(0,0,0,.7)}
.modal.open{display:grid}
.modal-content{background:#1a1a1a;margin:auto;padding:2.5rem;border-radius:1rem;width:90%;max-width:500px;position:relative;animation:fadeIn .4s}
.close-button{position:absolute;top:10px;right:20px;color:#aaa;font-size:28px;font-weight:700;cursor:pointer}
.close-button:hover{color:#fff}
@keyframes fadeIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
/* Process */
.process-step{position:relative;padding-left:3.5rem;margin-bottom:2rem}
.process-step::after{content:'';position:absolute;left:1.1rem;top:2.5rem;height:2.5rem;width:2px;background-image:linear-gradient(180deg,var(--accent-1),var(--accent-2));z-index:5}
.step-icon{position:absolute;left:0;top:0;background-color:var(--accent-1);width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;font-weight:700;z-index:10}
.process-card{background-color:#1a1a1a;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 6px rgba(0,0,0,.2);transition:transform .3s ease,box-shadow .3s ease}
.process-card:hover{transform:translateY(-5px);box-shadow:0 8px 16px rgba(0,0,0,.4)}
/* Blog */
.blog-card{background-color:#1a1a1a;border-radius:1rem;box-shadow:0 4px 6px rgba(0,0,0,.2);overflow:hidden;transition:transform .3s}
.blog-card:hover{transform:translateY(-5px)}
.blog-image{width:100%;height:200px;object-fit:cover}
.blog-content{padding:1.5rem}
.text-gradient{background-image:linear-gradient(90deg,var(--accent-1),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent}
/* Form */
.form-input{width:100%;padding:.75rem;border-radius:.5rem;border:1px solid var(--border);background-color:#2d3748;color:#fff}
.form-select{width:100%;padding:.75rem;border-radius:.5rem;border:1px solid var(--border);background-color:#2d3748;color:#fff;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url('data:image/svg+xml;utf8,<svg fill="white" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>');background-repeat:no-repeat;background-position:right .75rem center;background-size:1.5rem}
