:root{
  --brand-900:#0e3d2b;
  --brand-700:#155e42;
  --brand-500:#1f7a52;
  --brand-300:#3fa679;
  --gold:#c9a24b;
  --gold-2:#e0c07a;
  --cream:#f7f4ec;
  --ink:#0f1c17;
  --muted:#6b7770;
}
*{ font-family:'Montserrat', system-ui, sans-serif; }
body{ color:var(--ink); background:#fff; }
.py-6{ padding-top:5rem; padding-bottom:5rem; }
.pt-6{ padding-top:5rem; } .pb-6{ padding-bottom:5rem; }
.min-vh-75{ min-height:75vh; }
.text-white-75{ color:rgba(255,255,255,.8) !important; }
.bg-cream{ background:var(--cream); }
.bg-brand{ background:var(--brand-700); }
.bg-dark-brand{ background:linear-gradient(135deg,#0b2b1e,#0e3d2b 60%,#155e42); }
.brand-word{ font-weight:700; letter-spacing:.35em; color:var(--brand-900); font-size:1.05rem; }
.eyebrow{ text-transform:uppercase; letter-spacing:.3em; font-size:.75rem; color:var(--gold-2); font-weight:600; }
.eyebrow-dark{ text-transform:uppercase; letter-spacing:.3em; font-size:.75rem; color:var(--brand-700); font-weight:600; }
.eyebrow-gold{ text-transform:uppercase; letter-spacing:.3em; font-size:.75rem; color:var(--gold); font-weight:600; }

/* Navbar */
.navbar .nav-link{ font-weight:500; color:var(--brand-900); font-size:.92rem; }
.navbar .nav-link:hover{ color:var(--brand-500); }
.btn-brand{ background:var(--brand-700); border:none; color:#fff; font-weight:600; }
.btn-brand:hover{ background:var(--brand-900); color:#fff; }
.btn-outline-brand{ border:1.5px solid var(--brand-700); color:var(--brand-700); font-weight:600; background:#fff; }
.btn-outline-brand:hover{ background:var(--brand-700); color:#fff; }
.btn-gold{ background:linear-gradient(135deg,var(--gold),var(--gold-2)); border:none; color:#2b1e07; font-weight:700; }
.btn-gold:hover{ filter:brightness(1.05); color:#2b1e07; }

/* Hero */
.hero{ position:relative; overflow:hidden; }
.hero-bg{ position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.05); }
.hero-overlay{ position:absolute; inset:0; background:linear-gradient(120deg, rgba(11,43,30,.85) 0%, rgba(14,61,43,.65) 45%, rgba(0,0,0,.15) 100%); }
.hero h1{ line-height:1.1; letter-spacing:-.01em; }
.hero-badges{ display:flex; flex-wrap:wrap; gap:1.25rem; color:#fff; opacity:.85; font-size:.9rem; }
.hero-badges i{ color:var(--gold-2); margin-right:.35rem; }

/* Cards */
.value-card{ padding:2rem 1.25rem; border-radius:20px; background:#fff; box-shadow:0 4px 24px rgba(14,61,43,.06); transition:.3s; height:100%; }
.value-card:hover{ transform:translateY(-4px); box-shadow:0 12px 40px rgba(14,61,43,.12); }
.v-icon{ width:64px; height:64px; border-radius:16px; display:grid; place-items:center; margin:0 auto 1rem; background:linear-gradient(135deg,var(--brand-700),var(--brand-500)); color:#fff; font-size:1.6rem; }
.value-card h3{ font-size:1.15rem; font-weight:700; color:var(--brand-900); }
.value-card p{ color:var(--muted); font-size:.95rem; }

.tech-card{ background:#fff; border-radius:18px; padding:1.75rem 1.25rem; height:100%; border:1px solid rgba(14,61,43,.06); transition:.3s; }
.tech-card:hover{ border-color:var(--brand-300); transform:translateY(-3px); }
.tech-card i{ font-size:1.8rem; color:var(--gold); }
.tech-card h4{ font-size:1.05rem; font-weight:700; margin:.75rem 0 .5rem; color:var(--brand-900); }
.tech-card p{ color:var(--muted); font-size:.9rem; margin:0; }

.product-card{ background:#fff; border-radius:22px; overflow:hidden; box-shadow:0 6px 30px rgba(14,61,43,.08); height:100%; display:flex; flex-direction:column; transition:.3s; }
.product-card:hover{ transform:translateY(-6px); box-shadow:0 16px 50px rgba(14,61,43,.15); }
.product-card img{ width:100%; height:220px; object-fit:cover; }
.product-card .p-body{ padding:1.5rem; display:flex; flex-direction:column; gap:.75rem; flex:1; }
.product-card h3{ font-size:1.15rem; font-weight:700; color:var(--brand-900); margin:0; }
.product-card p{ color:var(--muted); font-size:.9rem; flex:1; margin:0; }

.trust-card{ background:#fff; padding:2rem 1.5rem; border-radius:20px; height:100%; }
.trust-card i{ font-size:2rem; color:var(--brand-500); }
.trust-card h4{ font-weight:700; color:var(--brand-900); margin-top:.75rem; font-size:1.1rem; }
.trust-card p{ color:var(--muted); font-size:.95rem; }

.testimonial{ background:var(--cream); border-radius:20px; padding:1.75rem; border-left:4px solid var(--gold); height:100%; }
.testimonial p{ font-style:italic; color:var(--ink); }
.testimonial cite{ color:var(--brand-700); font-weight:600; font-style:normal; font-size:.9rem; }

/* Diagnostico */
.diag-card{ background:#fff; color:var(--ink); border-radius:24px; padding:2rem; box-shadow:0 20px 60px rgba(0,0,0,.3); }
.diag-card .progress{ height:6px; background:#eee; }
.diag-card .progress-bar{ background:linear-gradient(90deg,var(--brand-500),var(--gold)); transition:.4s; }
.diag-step h3{ font-size:1.4rem; color:var(--brand-900); font-weight:700; margin-bottom:1.25rem; }
.diag-option{ display:block; width:100%; text-align:left; padding:.9rem 1.1rem; margin-bottom:.6rem; border:1.5px solid #e6e6e6; background:#fff; border-radius:12px; font-weight:500; transition:.2s; }
.diag-option:hover{ border-color:var(--brand-500); background:#f4fbf8; }
.diag-result{ text-align:center; }
.diag-result h3{ color:var(--brand-700); }
.diag-result .rec{ background:var(--cream); padding:1.25rem; border-radius:14px; margin:1rem 0; }

.check-list{ list-style:none; padding:0; }
.check-list li{ margin-bottom:.5rem; }
.check-list i{ color:var(--gold-2); margin-right:.5rem; }

/* Contact */
.contact-list{ list-style:none; padding:0; }
.contact-list li{ margin-bottom:.75rem; color:var(--muted); }
.contact-list a{ color:var(--brand-700); text-decoration:none; font-weight:600; }
.contact-form label{ font-weight:600; color:var(--brand-900); font-size:.9rem; }
.contact-form .form-control:focus, .contact-form .form-select:focus{ border-color:var(--brand-500); box-shadow:0 0 0 .2rem rgba(31,122,82,.15); }

/* Accordion */
.accordion-item{ border:1px solid rgba(14,61,43,.1); border-radius:14px !important; margin-bottom:.75rem; overflow:hidden; }
.accordion-button{ font-weight:600; color:var(--brand-900); }
.accordion-button:not(.collapsed){ background:var(--cream); color:var(--brand-700); }
.accordion-button:focus{ box-shadow:none; }

/* Footer */
.footer-brand{ background:#0a2318; color:#fff; }
.footer-brand h5{ color:var(--gold-2); font-size:.85rem; letter-spacing:.2em; text-transform:uppercase; margin-bottom:1rem; }
.footer-brand ul{ list-style:none; padding:0; }
.footer-brand ul li{ margin-bottom:.4rem; }
.footer-brand ul a{ color:rgba(255,255,255,.7); text-decoration:none; font-size:.9rem; }
.footer-brand ul a:hover{ color:var(--gold-2); }

/* Floating WhatsApp */
.wa-float{ position:fixed; bottom:24px; right:24px; width:60px; height:60px; border-radius:50%; background:#25d366; color:#fff; display:grid; place-items:center; font-size:1.8rem; box-shadow:0 8px 30px rgba(0,0,0,.25); z-index:1000; text-decoration:none; transition:.2s; }
.wa-float:hover{ transform:scale(1.08); color:#fff; }

/* Legal pages */
.legal-page{ max-width:820px; margin:0 auto; padding:5rem 1.25rem; }
.legal-page h1{ color:var(--brand-900); font-weight:700; margin-bottom:1rem; }
.legal-page h2{ color:var(--brand-700); font-weight:600; margin-top:2rem; font-size:1.3rem; }
.legal-page p, .legal-page li{ color:#333; line-height:1.7; }

@media (max-width: 767px){
  .hero h1{ font-size:2.1rem; }
  .py-6{ padding-top:3rem; padding-bottom:3rem; }
}

/* Testimonial carousel */
.testimonial-carousel{ padding-bottom:3rem; }
.testimonial-carousel .carousel-indicators{ bottom:0; }
.testimonial-carousel .carousel-indicators button{
  width:10px; height:10px; border-radius:50%; background-color:var(--brand-300); border:none; opacity:.5; transition:.25s;
}
.testimonial-carousel .carousel-indicators button.active{ background-color:var(--brand-700); opacity:1; transform:scale(1.15); }
.testimonial-carousel .carousel-control-prev,
.testimonial-carousel .carousel-control-next{
  width:44px; height:44px; top:50%; transform:translateY(-50%); border-radius:50%; background:rgba(14,61,43,.08); opacity:1;
}
.testimonial-carousel .carousel-control-prev{ left:-10px; }
.testimonial-carousel .carousel-control-next{ right:-10px; }
.testimonial-carousel .carousel-control-prev-icon,
.testimonial-carousel .carousel-control-next-icon{
  width:1.2rem; height:1.2rem; filter:invert(29%) sepia(24%) saturate(1533%) hue-rotate(114deg) brightness(94%) contrast(89%);
}
@media (max-width: 767px){
  .testimonial-carousel .carousel-control-prev{ left:0; }
  .testimonial-carousel .carousel-control-next{ right:0; }
}