/* Cambia primero las variables de :root para personalizar colores. */

:root{
      --green-950:#071a12;
      --green-900:#0d2b1e;
      --green-800:#143d2a;
      --green-700:#1b5539;
      --green-500:#2f9e62;
      --green-400:#54c982;
      --lime:#b9ef83;
      --cream:#f4f5ee;
      --white:#ffffff;
      --ink:#142019;
      --muted:#647169;
      --line:rgba(20,32,25,.12);
      --shadow:0 24px 70px rgba(7,26,18,.16);
      --radius:26px;
      --container:min(1180px, calc(100% - 32px));
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:"DM Sans",sans-serif;
      color:var(--ink);
      background:var(--cream);
      overflow-x:hidden;
    }

    body.menu-open{overflow:hidden}
    img{display:block;max-width:100%}
    a{text-decoration:none;color:inherit}
    button,input,textarea,select{font:inherit}
    button{cursor:pointer}
    section{scroll-margin-top:90px}

    .container{width:var(--container);margin-inline:auto}
    .section{padding:104px 0}
    .section-dark{background:var(--green-950);color:var(--white)}
    .eyebrow{
      display:inline-flex;align-items:center;gap:9px;
      padding:8px 13px;border-radius:999px;
      background:rgba(47,158,98,.12);
      color:var(--green-700);font-size:.78rem;font-weight:800;
      text-transform:uppercase;letter-spacing:.12em;
    }
    .section-dark .eyebrow{background:rgba(185,239,131,.1);color:var(--lime)}
    .eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
    .section-title{
      font-family:"Manrope",sans-serif;
      font-size:clamp(2.15rem,5vw,4.15rem);
      line-height:1.04;letter-spacing:-.055em;
      margin:18px 0 18px;max-width:800px;
    }
    .section-copy{font-size:1.08rem;line-height:1.75;color:var(--muted);max-width:680px}
    .section-dark .section-copy{color:rgba(255,255,255,.68)}

    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:10px;
      min-height:54px;padding:0 22px;border-radius:999px;border:1px solid transparent;
      font-weight:800;transition:.3s ease;
    }
    .btn:hover{transform:translateY(-3px)}
    .btn-primary{background:var(--lime);color:var(--green-950);box-shadow:0 12px 30px rgba(185,239,131,.2)}
    .btn-primary:hover{background:#cdf8a4;box-shadow:0 18px 38px rgba(185,239,131,.28)}
    .btn-secondary{background:rgba(255,255,255,.08);color:var(--white);border-color:rgba(255,255,255,.2);backdrop-filter:blur(14px)}
    .btn-dark{background:var(--green-950);color:#fff}
    .btn-outline{border-color:var(--line);background:#fff;color:var(--ink)}
    .btn svg{width:19px;height:19px}

    /* Header */
    .site-header{
      position:fixed;inset:0 0 auto;z-index:1000;
      transition:.3s ease;
    }
    .site-header.scrolled{
      background:rgba(7,26,18,.9);
      backdrop-filter:blur(18px);
      box-shadow:0 10px 40px rgba(0,0,0,.14);
    }
    .nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}
    .brand{display:flex;align-items:center;gap:12px;color:#fff;font-family:"Manrope";font-weight:800}
    .brand-mark{
      width:44px;height:44px;border-radius:15px;
      display:grid;place-items:center;background:var(--lime);color:var(--green-950);
      box-shadow:0 12px 30px rgba(185,239,131,.18);
    }
    .brand-mark svg{width:25px}
    .brand span small{display:block;font-family:"DM Sans";font-size:.67rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.6)}
    .nav-links{display:flex;align-items:center;gap:28px;color:rgba(255,255,255,.78);font-weight:700;font-size:.94rem}
    .nav-links a:hover{color:var(--lime)}
    .nav-actions{display:flex;align-items:center;gap:10px}
    .lang-btn,.menu-btn{
      width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.17);
      background:rgba(255,255,255,.08);color:#fff;font-weight:800;
    }
    .menu-btn{display:none}

    /* Hero */
    .hero{
      min-height:100svh;position:relative;display:flex;align-items:flex-end;
      background:
        linear-gradient(90deg,rgba(7,26,18,.92) 0%,rgba(7,26,18,.74) 44%,rgba(7,26,18,.24) 100%),
        url("https://images.unsplash.com/photo-1598902108854-10e335adac99?auto=format&fit=crop&w=2200&q=88") center/cover;
      color:#fff;padding:145px 0 64px;
    }
    .hero::after{
      content:"";position:absolute;inset:auto 0 0;height:140px;
      background:linear-gradient(transparent,rgba(7,26,18,.55));
      pointer-events:none;
    }
    .hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:end}
    .hero h1{
      font-family:"Manrope";font-size:clamp(3.1rem,7vw,6.8rem);
      line-height:.92;letter-spacing:-.07em;margin:22px 0;
      max-width:860px;
    }
    .hero h1 em{font-style:normal;color:var(--lime)}
    .hero-copy{font-size:clamp(1rem,2vw,1.2rem);line-height:1.75;color:rgba(255,255,255,.74);max-width:650px}
    .hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}
    .hero-trust{display:flex;align-items:center;gap:18px;margin-top:35px;color:rgba(255,255,255,.74);font-size:.92rem}
    .avatar-stack{display:flex}
    .avatar-stack img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:3px solid var(--green-950);margin-left:-10px}
    .avatar-stack img:first-child{margin-left:0}
    .stars{color:#f6cf59;letter-spacing:2px}
    .hero-card{
      margin-left:auto;width:min(100%,390px);
      border:1px solid rgba(255,255,255,.17);
      background:rgba(255,255,255,.09);backdrop-filter:blur(18px);
      padding:28px;border-radius:var(--radius);box-shadow:var(--shadow)
    }
    .hero-card-top{display:flex;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.15)}
    .hero-card-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:var(--lime);color:var(--green-950)}
    .hero-card h3{font-family:"Manrope";font-size:1.35rem;margin:0 0 7px}
    .hero-card p{margin:0;color:rgba(255,255,255,.65);line-height:1.55}
    .hero-card-list{display:grid;gap:15px;margin-top:22px}
    .hero-card-list div{display:flex;align-items:center;gap:12px;font-weight:700}
    .check{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:rgba(185,239,131,.13);color:var(--lime);font-size:.75rem}

    /* Stats */
    .stats-wrap{position:relative;z-index:4;margin-top:-32px}
    .stats{
      background:#fff;border-radius:24px;padding:26px 34px;
      display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
      box-shadow:var(--shadow);border:1px solid var(--line)
    }
    .stat{padding:8px 22px;border-right:1px solid var(--line)}
    .stat:last-child{border-right:0}
    .stat strong{display:block;font-family:"Manrope";font-size:2rem;color:var(--green-800)}
    .stat span{color:var(--muted);font-size:.9rem}

    /* Services */
    .section-head-row{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:45px}
    .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
    .service-card{
      position:relative;overflow:hidden;min-height:420px;border-radius:var(--radius);
      color:#fff;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;
      isolation:isolate;box-shadow:0 18px 50px rgba(7,26,18,.11);
    }
    .service-card::before{
      content:"";position:absolute;inset:0;z-index:-1;
      background:linear-gradient(180deg,transparent 25%,rgba(7,26,18,.94) 100%),var(--image) center/cover;
      transition:transform .7s cubic-bezier(.2,.75,.2,1);
    }
    .service-card:hover::before{transform:scale(1.08)}
    .service-number{position:absolute;top:24px;right:24px;font-family:"Manrope";font-size:.82rem;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.13);backdrop-filter:blur(10px)}
    .service-icon{width:50px;height:50px;border-radius:16px;background:var(--lime);color:var(--green-950);display:grid;place-items:center;margin-bottom:18px}
    .service-icon svg{width:25px}
    .service-card h3{font-family:"Manrope";font-size:1.55rem;margin:0 0 10px}
    .service-card p{color:rgba(255,255,255,.68);line-height:1.65;margin:0}
    .service-link{display:flex;align-items:center;gap:10px;margin-top:18px;color:var(--lime);font-weight:800}

    /* About */
    .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
    .about-media{position:relative;padding:30px 0 30px 30px}
    .about-main{height:610px;width:100%;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}
    .about-small{position:absolute;right:-26px;bottom:0;width:44%;height:260px;object-fit:cover;border:9px solid var(--cream);border-radius:24px}
    .experience-badge{
      position:absolute;left:0;top:0;width:150px;height:150px;border-radius:50%;
      display:grid;place-items:center;text-align:center;background:var(--lime);color:var(--green-950);
      font-family:"Manrope";font-weight:800;box-shadow:0 20px 40px rgba(7,26,18,.18);
    }
    .experience-badge strong{font-size:2.5rem;line-height:1}
    .experience-badge span{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;margin-top:6px}
    .feature-list{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:32px 0}
    .feature-item{display:flex;gap:12px;align-items:flex-start;font-weight:700}
    .feature-item .check{flex:0 0 auto;background:rgba(47,158,98,.12);color:var(--green-700)}

    /* Process */
    .process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:50px}
    .process-card{
      position:relative;padding:30px;border:1px solid rgba(255,255,255,.1);
      border-radius:22px;background:rgba(255,255,255,.04);
    }
    .process-card::after{
      content:"→";position:absolute;right:-17px;top:42px;color:var(--lime);font-size:1.6rem;z-index:2
    }
    .process-card:last-child::after{display:none}
    .process-step{font-family:"Manrope";font-size:.8rem;color:var(--lime);letter-spacing:.12em;text-transform:uppercase}
    .process-card h3{font-family:"Manrope";font-size:1.25rem;margin:18px 0 10px}
    .process-card p{margin:0;color:rgba(255,255,255,.62);line-height:1.65;font-size:.94rem}

    /* Gallery */
    .filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin:34px 0}
    .filter-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:11px 17px;font-weight:800;color:var(--muted)}
    .filter-btn.active,.filter-btn:hover{background:var(--green-900);color:#fff;border-color:var(--green-900)}
    .gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:210px;gap:14px}
    .gallery-item{position:relative;overflow:hidden;border-radius:22px;cursor:pointer}
    .gallery-item:nth-child(1),.gallery-item:nth-child(6){grid-column:span 7;grid-row:span 2}
    .gallery-item:nth-child(2),.gallery-item:nth-child(5){grid-column:span 5}
    .gallery-item:nth-child(3),.gallery-item:nth-child(4){grid-column:span 5}
    .gallery-item:nth-child(7),.gallery-item:nth-child(8){grid-column:span 6}
    .gallery-item img{width:100%;height:100%;object-fit:cover;transition:.65s ease}
    .gallery-item:hover img{transform:scale(1.07)}
    .gallery-overlay{
      position:absolute;inset:0;padding:22px;display:flex;align-items:flex-end;justify-content:space-between;
      background:linear-gradient(transparent 40%,rgba(7,26,18,.88));
      opacity:0;transition:.35s ease;color:#fff
    }
    .gallery-item:hover .gallery-overlay{opacity:1}
    .gallery-overlay strong{font-family:"Manrope";font-size:1.15rem}
    .gallery-overlay span{display:block;color:rgba(255,255,255,.68);font-size:.85rem;margin-top:4px}
    .gallery-zoom{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:var(--green-950)}

    /* Reviews */
    .reviews-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;margin-top:42px}
    .review-featured,.review-stack article{
      background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px;
      box-shadow:0 14px 45px rgba(7,26,18,.06)
    }
    .review-featured blockquote{font-family:"Manrope";font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.35;letter-spacing:-.025em;margin:24px 0 35px}
    .review-user{display:flex;align-items:center;gap:14px}
    .review-user img{width:54px;height:54px;border-radius:50%;object-fit:cover}
    .review-user strong{display:block}
    .review-user span{font-size:.86rem;color:var(--muted)}
    .review-stack{display:grid;gap:20px}
    .review-stack blockquote{font-size:1rem;line-height:1.7;margin:15px 0 22px;color:#425047}

    /* Quote */
    .quote-section{padding:100px 0;background:linear-gradient(135deg,#dff4ce,#f4f5ee)}
    .quote-shell{
      display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;border-radius:32px;
      background:var(--green-950);box-shadow:var(--shadow)
    }
    .quote-copy{
      padding:55px;color:#fff;background:
      linear-gradient(rgba(7,26,18,.68),rgba(7,26,18,.9)),
      url("https://images.unsplash.com/photo-1542601906990-b4d3fb778b09?auto=format&fit=crop&w=1200&q=85") center/cover;
    }
    .quote-copy h2{font-family:"Manrope";font-size:clamp(2.2rem,4vw,3.8rem);letter-spacing:-.05em;line-height:1.05;margin:18px 0}
    .quote-points{display:grid;gap:14px;margin-top:30px}
    .quote-points div{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.78)}
    .quote-form{padding:48px;background:#fff}
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
    .field{display:grid;gap:8px}
    .field.full{grid-column:1/-1}
    .field label{font-weight:800;font-size:.9rem}
    .field input,.field select,.field textarea{
      width:100%;border:1px solid var(--line);background:#f8faf7;border-radius:14px;
      padding:15px 16px;outline:none;transition:.25s
    }
    .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green-500);box-shadow:0 0 0 4px rgba(47,158,98,.1)}
    .field textarea{min-height:120px;resize:vertical}
    .form-note{font-size:.78rem;color:var(--muted);line-height:1.5;margin-top:13px}
    .form-success{display:none;margin-top:14px;padding:13px 15px;border-radius:13px;background:#e8f8eb;color:#1d6838;font-weight:700}

    /* CTA */
    .cta-strip{padding:32px 0;background:var(--lime)}
    .cta-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}
    .cta-inner h3{font-family:"Manrope";font-size:clamp(1.5rem,3vw,2.4rem);letter-spacing:-.04em;margin:0}
    .cta-inner p{margin:6px 0 0;color:rgba(7,26,18,.65)}
    .cta-actions{display:flex;gap:12px;flex-wrap:wrap}

    /* Footer */
    footer{background:var(--green-950);color:#fff;padding:72px 0 28px}
    .footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr 1fr;gap:45px}
    .footer-brand p{color:rgba(255,255,255,.6);line-height:1.7;max-width:330px}
    .footer-title{font-family:"Manrope";font-size:1rem;margin-bottom:20px}
    .footer-links{display:grid;gap:12px;color:rgba(255,255,255,.62)}
    .footer-links a:hover{color:var(--lime)}
    .contact-list{display:grid;gap:14px;color:rgba(255,255,255,.67)}
    .contact-list div{display:flex;gap:11px;align-items:flex-start}
    .socials{display:flex;gap:10px;margin-top:22px}
    .socials a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);color:#fff}
    .socials a:hover{background:var(--lime);color:var(--green-950)}
    .footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:28px;margin-top:52px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.44);font-size:.84rem}

    /* Floating buttons */
    .floating-actions{position:fixed;right:18px;bottom:18px;z-index:900;display:grid;gap:10px}
    .float-btn{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 14px 30px rgba(0,0,0,.22);transition:.3s}
    .float-btn:hover{transform:translateY(-4px) scale(1.04)}
    .float-call{background:var(--green-700)}
    .float-whatsapp{background:#25d366}
    .float-btn svg{width:24px}

    /* Modal */
    .lightbox{position:fixed;inset:0;z-index:1500;background:rgba(3,12,8,.92);display:none;place-items:center;padding:24px}
    .lightbox.open{display:grid}
    .lightbox img{max-width:min(1050px,92vw);max-height:84vh;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.4)}
    .lightbox-close{position:absolute;right:25px;top:22px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;font-size:1.5rem}

    /* Reveal animation */
    [data-reveal]{opacity:0;transform:translateY(36px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.2,1)}
    [data-reveal="left"]{transform:translateX(-42px)}
    [data-reveal="right"]{transform:translateX(42px)}
    [data-reveal].visible{opacity:1;transform:none}
    .delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}

    @media(max-width:980px){
      .nav-links{position:fixed;inset:86px 16px auto;background:rgba(7,26,18,.98);padding:26px;border-radius:22px;display:none;flex-direction:column;align-items:flex-start}
      .nav-links.open{display:flex}
      .menu-btn{display:grid;place-items:center}
      .nav-actions .btn{display:none}
      .hero-grid,.about-grid,.quote-shell,.reviews-grid{grid-template-columns:1fr}
      .hero-card{margin:28px 0 0}
      .services-grid{grid-template-columns:repeat(2,1fr)}
      .services-grid .service-card:last-child{grid-column:1/-1}
      .process-grid{grid-template-columns:repeat(2,1fr)}
      .process-card:nth-child(2)::after{display:none}
      .stats{grid-template-columns:repeat(2,1fr)}
      .stat:nth-child(2){border-right:0}
      .about-media{max-width:720px}
      .footer-grid{grid-template-columns:1fr 1fr}
    }

    @media(max-width:680px){
      :root{--container:min(100% - 22px,1180px)}
      .section{padding:76px 0}
      .nav{height:74px}
      .nav-links{inset:74px 11px auto}
      .brand span{font-size:.92rem}
      .hero{padding-top:120px}
      .hero h1{font-size:clamp(3rem,15vw,4.7rem)}
      .hero-grid{gap:25px}
      .hero-actions .btn{width:100%}
      .hero-card{padding:23px}
      .stats-wrap{margin-top:0;background:var(--green-950);padding-bottom:20px}
      .stats{grid-template-columns:1fr 1fr;padding:18px 12px;border-radius:20px}
      .stat{padding:10px;border:0}
      .stat strong{font-size:1.55rem}
      .section-head-row{display:block}
      .section-head-row .btn{margin-top:18px}
      .services-grid{grid-template-columns:1fr}
      .services-grid .service-card:last-child{grid-column:auto}
      .service-card{min-height:380px}
      .about-grid{gap:45px}
      .about-media{padding:24px 0 0 15px}
      .about-main{height:470px}
      .about-small{right:0;height:185px;border-width:6px}
      .experience-badge{width:120px;height:120px}
      .feature-list{grid-template-columns:1fr}
      .process-grid{grid-template-columns:1fr}
      .process-card::after{display:none}
      .gallery-grid{display:grid;grid-template-columns:1fr;grid-auto-rows:280px}
      .gallery-item,.gallery-item:nth-child(n){grid-column:auto;grid-row:auto}
      .gallery-overlay{opacity:1}
      .form-grid{grid-template-columns:1fr}
      .field.full{grid-column:auto}
      .quote-copy,.quote-form{padding:32px 23px}
      .cta-inner{align-items:flex-start;flex-direction:column}
      .cta-actions,.cta-actions .btn{width:100%}
      .footer-grid{grid-template-columns:1fr}
      .footer-bottom{flex-direction:column}
    }

    @media(prefers-reduced-motion:reduce){
      *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
      [data-reveal]{opacity:1;transform:none}
    }
    .logo{
    height:60px;
    width:auto;
}
/* Forzar texto del nombre del negocio en blanco */
.site-header .brand > span:not(.brand-mark),
.site-header .brand > span:not(.brand-mark) small {
    color: #ffffff !important;
}
/* FORZAR TEXTO DEL LOGO EN BLANCO */
header .brand span:last-child,
header .brand span:last-child *,
.site-header .brand span:last-child,
.site-header .brand span:last-child * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}
/* ==========================================
   POWERED BY GO PEAK STUDIO
========================================== */

.powered-by{
    color:#ff4fb8;
    font-weight:700;
    text-decoration:none;
    transition:.35s ease;
}

.powered-by strong{
    color:#ff1493;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
}

.powered-by:hover{
    color:#ffffff;
    text-shadow:
        0 0 8px #ff1493,
        0 0 18px #ff1493,
        0 0 35px #ff1493;
    transform:translateY(-2px);
}

.powered-by:hover strong{
    color:#ff69c8;
}