:root{
    --blue:#141210; --blue-2:#0b0a08; --navy:#0e0c09; --navy-2:#070605;
    --lime:#d9a83c; --lime-2:#e6bc55; --gold:#e3c06a;
    --text:#221c12; --muted:#6f6654; --bg:#ffffff; --soft:#faf6ee; --line:#ece4d2;
    --disp:'Poppins', sans-serif; --body:'DM Sans', system-ui, sans-serif;
    --maxw:1240px; --r:14px; --r-ico:12px; --r-lg:20px; --r-input:10px; --r-pill:999px; --fs-body:15.5px; --fs-lead:16.5px; --lh-body:1.7; --sh-1:0 12px 30px -14px rgba(25,21,16,.13); --sh-2:0 18px 40px -20px rgba(25,21,16,.27); --sh-3:0 26px 50px -26px rgba(25,21,16,.34);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;scroll-padding-top:120px;}
  body{font-family:var(--body);color:var(--text);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
  h1,h2,h3,h4{font-family:var(--disp);font-weight:700;line-height:1.12;letter-spacing:-0.01em;color:var(--text);}
  section{position:relative;}
  .eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);}
  .eyebrow::before{content:"";width:26px;height:2px;background:var(--lime);display:inline-block;}
  .eyebrow.light{color:var(--lime);}
  .btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:600;font-size:15px;padding:14px 26px;border-radius:var(--r-pill);cursor:pointer;border:none;transition:transform .15s ease, box-shadow .15s ease, background .15s;}
  .btn-lime{background:var(--lime);color:#15240a;box-shadow:0 10px 26px -10px rgba(217,168,60,.7);text-transform:uppercase;letter-spacing:.04em;}
  .btn-lime:hover{transform:translateY(-2px);background:var(--lime-2);box-shadow:0 16px 34px -10px rgba(217,168,60,.8);}
  .btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.35);}
  .btn-ghost:hover{border-color:var(--lime);color:var(--lime);transform:translateY(-2px);}
  .btn-blue{background:var(--blue);color:#fff;}
  .btn-blue:hover{transform:translateY(-2px);background:var(--blue-2);}
  .arrow{font-size:18px;line-height:1;}

  .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);}
  .reveal.in{opacity:1;transform:none;}

  /* ---------- HEADER (estilo Voltezy: barra azul flotante con línea lima) ---------- */
  header{position:fixed;top:0;left:0;right:0;z-index:100;padding:18px 0 0;transition:padding .3s;}
  header .wrap{padding:0 28px;}
  .navbar{position:relative;background:var(--blue);display:flex;align-items:center;justify-content:space-between;
     padding:14px 18px 14px 26px;box-shadow:0 16px 40px -18px rgba(16,13,8,.6);}
  .navbar::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--lime);}
  header.scrolled{padding:0;}
  header.scrolled .wrap{padding:0;max-width:100%;}
  header.scrolled .navbar{box-shadow:0 8px 26px -14px rgba(16,13,8,.7);}
  .logo{display:flex;align-items:center;gap:11px;font-family:var(--disp);font-weight:700;font-size:22px;color:#fff;letter-spacing:-.01em;}
  .logo .mk{width:34px;height:34px;display:grid;place-items:center;}
  .logo .mk svg{width:30px;height:30px;}
  .menu{display:flex;align-items:center;gap:30px;list-style:none;}
  .menu>li{position:relative;}
  .menu>li>a{font-family:var(--disp);font-weight:600;font-size:14px;color:rgba(255,255,255,.9);letter-spacing:.02em;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px;padding:6px 0;position:relative;}
  .menu>li>a .car{font-size:10px;opacity:.8;}
  .menu>li>a:hover{color:var(--lime);}
  .menu>li.active>a{color:var(--lime);}
  .menu>li.active>a::before{content:"";position:absolute;left:50%;transform:translateX(-50%);top:-21px;width:42px;height:3px;background:var(--lime);}
  .nav-cta{display:flex;align-items:center;gap:14px;}
  .navbar .btn-lime{padding:12px 22px;font-size:13px;border-radius:var(--r-pill);}
  .burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
  .burger span{width:24px;height:2px;background:#fff;transition:.3s;}
  body.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  body.menu-open .burger span:nth-child(2){opacity:0;}
  body.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  /* ---------- HERO (foto a sangre + overlay azul/navy) ---------- */
  .hero{position:relative;min-height:760px;display:flex;align-items:center;color:#fff;
     background-image:linear-gradient(180deg, rgba(25,21,16,.78), rgba(10,24,56,.86)), var(--hero-img);
     background-size:cover;background-position:center;padding:150px 0 220px;overflow:hidden;}
  .hero::after{content:"";position:absolute;inset:0;background:
     radial-gradient(70% 60% at 50% 20%, rgba(184,134,43,.30), transparent 60%),
     linear-gradient(180deg, transparent 40%, rgba(10,24,56,.9));pointer-events:none;}
  .hero .wrap{position:relative;z-index:2;text-align:center;}
  .hero h1{font-size:clamp(38px,6.2vw,68px);font-weight:800;color:#fff;max-width:880px;margin:0 auto;}
  .hero p.lead{font-size:clamp(16px,2vw,19px);color:rgba(255,255,255,.85);max-width:600px;margin:22px auto 34px;}
  .hero-cta{display:flex;gap:20px;align-items:center;justify-content:center;flex-wrap:wrap;}
  .play{width:60px;height:60px;border-radius:50%;border:1.5px solid rgba(255,255,255,.45);display:grid;place-items:center;color:#fff;cursor:pointer;transition:.2s;background:rgba(255,255,255,.06);}
  .play:hover{border-color:var(--lime);color:var(--lime);transform:scale(1.06);}
  .play svg{width:20px;height:20px;margin-left:3px;}

  /* ---------- FEATURES (tarjetas semitransparentes sobre el hero) ---------- */
  .features{position:relative;margin-top:-150px;padding-bottom:96px;z-index:5;}
  .feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .feat{position:relative;padding:32px 30px 34px;display:flex;gap:18px;align-items:flex-start;
     background:rgba(10,9,7,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
     border:1px solid rgba(255,255,255,.12);overflow:hidden;transition:background .25s, transform .25s;}
  .feat::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--lime);}
  .feat:hover{background:rgba(184,134,43,.62);transform:translateY(-4px);}
  .feat .ic{flex:0 0 auto;width:54px;height:54px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;color:#fff;}
  .feat .ic svg{width:26px;height:26px;}
  .feat h3{font-size:20px;margin-bottom:6px;color:var(--gold);font-weight:600;}
  .feat p{font-size:var(--fs-body);color:rgba(255,255,255,.78);}

  /* ---------- SECTION base ---------- */
  .sec{padding:96px 0;}
  .sec-head{max-width:640px;margin-bottom:54px;}
  .sec-head.center{margin:0 auto 54px;text-align:center;}
  .sec-head h2{font-size:clamp(28px,4vw,44px);margin:14px 0 0;}
  .sec-head p{color:var(--muted);font-size:var(--fs-lead);margin-top:14px;}

  /* about */
  .about{background:var(--bg);}
  .about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:56px;align-items:center;}
  .about-visual{position:relative;border-radius:var(--r);aspect-ratio:4/3.4;overflow:hidden;border:1px solid var(--line);
     background-size:cover;background-position:center;}
  .badge25{position:absolute;left:24px;bottom:24px;background:var(--blue);color:#fff;border-radius:var(--r-ico);padding:18px 22px;box-shadow:var(--sh-2);}
  .badge25 b{font-family:var(--disp);font-size:38px;font-weight:800;display:block;line-height:1;color:var(--lime);}
  .badge25 span{font-size:13px;font-weight:600;}
  .checks{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:24px 0 30px;}
  .checks li{list-style:none;display:flex;align-items:center;gap:10px;font-size:var(--fs-body);font-weight:500;}
  .checks li .c{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--lime);color:#15240a;display:grid;place-items:center;font-size:13px;}
  .about p{color:var(--muted);}

  /* services */
  .services{background:var(--soft);}
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .svc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:34px 30px;transition:transform .2s, box-shadow .2s, border-color .2s;position:relative;overflow:hidden;}
  .svc::after{content:"";position:absolute;left:0;top:0;height:4px;width:0;background:linear-gradient(90deg,var(--lime),var(--blue));transition:width .3s;}
  .svc:hover{transform:translateY(-6px);box-shadow:var(--sh-3);border-color:transparent;}
  .svc:hover::after{width:100%;}
  .svc .ic{width:58px;height:58px;border-radius:var(--r-ico);background:var(--blue);color:var(--lime);display:grid;place-items:center;margin-bottom:20px;transition:.3s;}
  .svc:hover .ic{background:var(--lime);color:var(--blue);}
  .svc .ic svg{width:27px;height:27px;}
  .svc h3{font-size:21px;margin-bottom:9px;}
  .svc p{font-size:var(--fs-body);color:var(--muted);margin-bottom:16px;}
  .svc .more{font-family:var(--disp);font-weight:600;font-size:14px;color:var(--blue);display:inline-flex;align-items:center;gap:7px;}

  /* projects */
  .projects{background:var(--navy);color:#fff;}
  .projects .sec-head h2{color:#fff;}
  .projects .sec-head p{color:rgba(255,255,255,.7);}
  .proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .proj{border-radius:var(--r);overflow:hidden;position:relative;aspect-ratio:1/1;border:1px solid rgba(255,255,255,.08);}
  .proj .thumb{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .5s;}
  .proj:hover .thumb{transform:scale(1.07);}
  .proj .thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,24,56,.05),rgba(10,24,56,.55));}
  .proj .info{position:absolute;left:0;right:0;bottom:0;padding:24px;z-index:2;background:linear-gradient(transparent,rgba(8,18,42,.92));transform:translateY(14px);opacity:.95;transition:.3s;}
  .proj:hover .info{transform:none;opacity:1;}
  .proj .info span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--lime);font-weight:600;}
  .proj .info h3{font-size:19px;color:#fff;margin-top:5px;}
  .proj .num{position:absolute;top:18px;right:22px;font-family:var(--disp);font-weight:800;font-size:30px;color:rgba(255,255,255,.22);z-index:2;}

  /* why */
  .why{background:var(--bg);}
  .why-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
  .why-list{display:grid;gap:14px;}
  .why-item{display:flex;gap:18px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--r);transition:.2s;background:#fff;}
  .why-item:hover{border-color:var(--lime);box-shadow:var(--sh-3);}
  .why-item .ic{flex:0 0 auto;width:48px;height:48px;border-radius:var(--r-ico);background:#eef3ff;color:var(--blue);display:grid;place-items:center;}
  .why-item .ic svg{width:24px;height:24px;}
  .why-item h4{font-size:17px;margin-bottom:3px;}
  .why-item p{font-size:var(--fs-body);color:var(--muted);}
  .why-visual{border-radius:var(--r);aspect-ratio:1/1.05;position:relative;overflow:hidden;border:1px solid var(--line);
     background-size:cover;background-position:center;}
  .why-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(184,134,43,.18),rgba(10,24,56,.45));}

  /* stats */
  .stats{background:var(--blue);color:#fff;padding:64px 0;}
  .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;}
  .stat b{font-family:var(--disp);font-weight:800;font-size:clamp(46px,5.2vw,68px);display:block;line-height:.95;color:var(--lime);white-space:nowrap;}
  .stat>span{font-weight:700;font-size:clamp(14px,1.4vw,17px);opacity:.95;display:block;margin-top:8px;letter-spacing:.2px;}
  .stat b .n{font-size:inherit;display:inline;color:inherit;}
  .stats-grid>div{border-right:1px solid rgba(255,255,255,.18);}
  .stats-grid>div:last-child{border-right:none;}

  /* customers love us (gradient cards) */
  .loveus{background:var(--soft);}
  .loveus .lu-head{text-align:center;margin-bottom:46px;}
  .loveus .lu-head h2{font-family:var(--disp);font-weight:800;font-size:clamp(28px,4vw,42px);line-height:1.1;}
  .loveus .lu-head h2 .g{color:var(--lime);}
  .loveus .lu-head p{color:var(--muted);max-width:560px;margin:14px auto 0;font-size:var(--fs-lead);}
  .lu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .lu-card{position:relative;border-radius:var(--r);padding:34px 30px 32px;color:#fff;overflow:hidden;
    background:linear-gradient(135deg,var(--lime) 0%,#5fae4e 38%,var(--blue) 100%);
    box-shadow:var(--sh-2);transition:transform .25s ease,box-shadow .25s ease;}
  .lu-card:hover{transform:translateY(-6px);box-shadow:var(--sh-3);}
  .lu-ico{width:56px;height:56px;border:2px solid rgba(255,255,255,.85);border-radius:var(--r-ico);
    display:grid;place-items:center;margin-bottom:22px;}
  .lu-ico svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:1.8;}
  .lu-card h3{font-family:var(--disp);font-weight:700;font-size:21px;margin-bottom:12px;color:#fff;}
  .lu-card p{font-size:var(--fs-body);line-height:var(--lh-body);color:rgba(255,255,255,.88);}
  @media(max-width:860px){.lu-grid{grid-template-columns:1fr;}}

  /* testimonials */
  .testi{background:var(--soft);}
  .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .tcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:32px 28px;position:relative;}
  .tcard .q{font-family:var(--disp);font-size:56px;line-height:.6;color:var(--lime);height:30px;}
  .tcard p{font-size:var(--fs-body);color:#3b434f;margin:6px 0 22px;}
  .tperson{display:flex;align-items:center;gap:13px;}
  .tperson .av{width:46px;height:46px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-family:var(--disp);font-weight:700;}
  .tperson b{font-family:var(--disp);font-size:15px;display:block;}
  .tperson span{font-size:13px;color:var(--muted);}
  .stars{color:var(--gold);font-size:14px;margin-bottom:12px;letter-spacing:2px;}

  /* pricing */
  .pricing{background:var(--bg);}
  .price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start;}
  .pcard{border:1px solid var(--line);border-radius:var(--r);padding:34px 30px;background:#fff;transition:.2s;position:relative;}
  .pcard:hover{transform:translateY(-5px);box-shadow:var(--sh-3);}
  .pcard.feat-plan{background:var(--navy);color:#fff;border-color:var(--navy);transform:scale(1.03);}
  .pcard.feat-plan .ptag{position:absolute;top:18px;right:22px;background:var(--lime);color:#15240a;font-family:var(--disp);font-weight:700;font-size:11px;letter-spacing:.1em;padding:5px 11px;border-radius:var(--r-pill);}
  .pcard h4{font-size:16px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);}
  .pcard.feat-plan h4{color:var(--lime);}
  .pcard .amt{font-family:var(--disp);font-weight:800;font-size:46px;margin:12px 0 4px;color:var(--blue);}
  .pcard.feat-plan .amt{color:#fff;}
  .pcard .amt span{font-size:16px;font-weight:600;color:var(--muted);}
  .pcard.feat-plan .amt span{color:rgba(255,255,255,.6);}
  .pcard ul{list-style:none;margin:22px 0;display:grid;gap:11px;}
  .pcard li{font-size:var(--fs-body);display:flex;gap:10px;align-items:center;color:#3b434f;}
  .pcard.feat-plan li{color:rgba(255,255,255,.82);}
  .pcard li .c{color:var(--lime);font-weight:700;}
  .pcard .btn{width:100%;justify-content:center;}

  /* CTA */
  .cta{background:var(--navy);color:#fff;}
  .cta-inner{background:var(--blue);border-radius:var(--r-lg);padding:60px;text-align:center;position:relative;overflow:hidden;}
  .cta-inner::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 100% at 50% 0%,rgba(217,168,60,.25),transparent 60%);}
  .cta-inner h2{font-size:clamp(28px,4vw,46px);position:relative;color:#fff;}
  .cta-inner p{color:rgba(255,255,255,.82);max-width:520px;margin:16px auto 30px;position:relative;}

  /* contact */
  .contact{background:var(--soft);}
  .contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:54px;}
  .contact-info h2{font-size:clamp(26px,3.4vw,40px);margin:14px 0 16px;}
  .contact-info p{color:var(--muted);margin-bottom:26px;}
  .cinfo{display:grid;gap:16px;}
  .cinfo .row{display:flex;align-items:center;gap:15px;}
  .cinfo .ic{width:46px;height:46px;border-radius:var(--r-ico);background:#fff;border:1px solid var(--line);color:var(--blue);display:grid;place-items:center;}
  .cinfo .ic svg{width:22px;height:22px;}
  .cinfo b{font-family:var(--disp);font-size:14px;display:block;}
  .cinfo span{font-size:var(--fs-body);color:var(--muted);}
  form.cform{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:32px;display:grid;gap:16px;}
  .cform .two{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .cform label{font-family:var(--disp);font-weight:600;font-size:13px;display:block;margin-bottom:7px;}
  .cform input,.cform textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:var(--r-input);font-family:var(--body);font-size:14.5px;background:var(--soft);transition:.2s;}
  .cform input:focus,.cform textarea:focus{outline:none;border-color:var(--lime);background:#fff;box-shadow:0 0 0 3px rgba(217,168,60,.2);}
  .cform textarea{min-height:120px;resize:vertical;}

  /* footer */
  footer{position:relative;background:var(--navy-2);color:rgba(255,255,255,.7);padding:74px 0 24px;overflow:hidden;}
  footer::before{content:"";position:absolute;top:0;right:0;width:46%;height:100%;
    background-image:var(--hero-img);background-size:cover;background-position:center;opacity:.16;}
  footer::after{content:"";position:absolute;inset:0;
    background:linear-gradient(90deg,var(--navy-2) 38%,rgba(10,24,56,.78) 60%,rgba(10,24,56,.55));}
  footer .wrap{position:relative;z-index:1;}
  .foot-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr;gap:40px;padding-bottom:42px;border-bottom:1px solid rgba(255,255,255,.10);}
  .foot-col h5{font-family:var(--disp);font-size:18px;color:#fff;margin-bottom:20px;font-weight:700;}
  .foot-col ul{list-style:none;display:grid;gap:13px;}
  .foot-col li{display:flex;align-items:center;gap:11px;}
  .foot-col li::before{content:"";flex:0 0 auto;width:16px;height:16px;border-radius:50%;
    border:1.5px solid var(--lime);background:
    no-repeat center/7px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23d9a83c'%3E%3Cpath d='M9 6l6 6-6 6V6z'/%3E%3C/svg%3E");}
  .foot-col a{font-size:14.5px;color:rgba(255,255,255,.7);transition:.2s;}
  .foot-col a:hover{color:var(--lime);}
  .foot-news h5{font-family:var(--disp);font-size:24px;line-height:1.25;color:#fff;font-weight:700;margin-bottom:24px;max-width:340px;}
  .news-form{display:flex;max-width:380px;border-radius:var(--r-input);overflow:hidden;}
  .news-form input{flex:1;border:none;padding:14px 16px;font-family:var(--body);font-size:14px;color:#221c12;outline:none;}
  .news-form button{border:none;cursor:pointer;background:var(--lime);color:var(--navy);font-family:var(--disp);
    font-weight:700;font-size:13px;letter-spacing:.5px;padding:0 22px;display:flex;align-items:center;gap:8px;transition:.2s;}
  .news-form button:hover{background:var(--lime-2);}
  .news-form button svg{width:16px;height:16px;}
  .foot-bottom{padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.55);}
  .foot-bottom .fb-social{display:flex;align-items:center;gap:12px;}
  .foot-bottom .fb-social .lbl{font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:1px;color:#fff;}
  .socials{display:flex;gap:9px;}
  .socials a{width:34px;height:34px;border-radius:50%;background:var(--lime);color:var(--navy);
    display:grid;place-items:center;transition:.2s;}
  .socials a:hover{background:var(--lime-2);transform:translateY(-2px);}
  .socials a svg{width:16px;height:16px;}
  .foot-bottom .fb-logo{display:flex;align-items:center;}
  @media(max-width:860px){footer::before,footer::after{opacity:0;}footer{background:var(--navy-2);}}

    /* responsive */
  @media(max-width:980px){
    .about-grid,.why-grid,.contact-grid{grid-template-columns:1fr;gap:40px;}
    .feat-grid,.svc-grid,.proj-grid,.testi-grid,.price-grid{grid-template-columns:1fr 1fr;}
    .stats-grid{grid-template-columns:1fr 1fr;gap:30px 10px;}
    .stats-grid>div:nth-child(2){border-right:none;}
    .foot-grid{grid-template-columns:1fr 1fr;gap:34px;}
    .pcard.feat-plan{transform:none;}
    .features{margin-top:-110px;}
  }
  @media(max-width:780px){
    .menu{position:fixed;inset:96px 14px auto 14px;background:var(--blue);flex-direction:column;gap:0;padding:10px 0 16px;transform:translateY(-130%);transition:transform .35s;border-top:3px solid var(--lime);}
    body.menu-open .menu{transform:none;}
    .menu li{width:100%;}
    .menu>li>a{display:block;padding:14px 28px;font-size:15px;}
    .menu>li.active>a::before{display:none;}
    .burger{display:flex;}
    .navbar .nav-cta .btn{display:none;}
    .feat-grid,.svc-grid,.proj-grid,.testi-grid,.price-grid,.checks{grid-template-columns:1fr;}
    .feat-grid{gap:24px;}
    .feat-grid>.feat:nth-child(3){margin-top:-20px;}
    .feat{background:var(--navy);backdrop-filter:none;-webkit-backdrop-filter:none;border-color:rgba(255,255,255,.10);}
    .feat:hover{background:var(--navy);transform:none;}
    .feat .ic{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12);}
    .cform .two{grid-template-columns:1fr;}
    .sec{padding:70px 0;}
    .cta-inner{padding:40px 24px;}
    .foot-grid{grid-template-columns:1fr;}
    .hero{min-height:auto;padding:130px 0 200px;}
    .features{margin-top:-160px;}
  }
:root{--hero-img:url('https://bakergroup.cl/wp-content/uploads/2026/06/S3.jpg');--about-img:url('https://bakergroup.cl/wp-content/uploads/2026/06/S1.jpg');--why-img:url('https://bakergroup.cl/wp-content/uploads/2026/06/S5.jpg');--p1:url('../img/asset-04.jpg');--p2:url('../img/asset-05.jpg');--p3:url('../img/asset-06.jpg');--p4:url('../img/asset-07.jpg');--p5:url('../img/asset-08.jpg');--p6:url('../img/asset-09.jpg');}

  /* ============================================================
     == CONTENIDO LEGAL SOSTENIBLE (rebrandeado al template) ==
     ============================================================ */

  /* ====== Remapeo de marca: contenido legal -> branding del template ====== */
  :root{
    --noche:#0e0c09; --noche-900:#070605; --noche-800:#0e0c09; --noche-700:#1b1712; --noche-line:#2d2820;
    --oro:#d9a83c; --oro-soft:#e6bc55; --oro-claro:#f0cd6e; --oro-osc:#a87f26;
    --granate:#141210; --granate-osc:#0b0a08; --granate-claro:#221d17;
    --marfil:#faf6ee; --gris:#f2ecdd; --tinta:#221c12; --tinta-soft:#6f6654;
    --serif:'Poppins',sans-serif; --serif2:'Poppins',sans-serif;
    --sans:'DM Sans',system-ui,sans-serif;
  }

  /* ---- Protección: sin selección ni arrastre (inputs permitidos) ---- */
  html{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;}
  input,textarea,select{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;}
  img{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none;}

  /* ====== Base del contenido legal (scoped .ls) ====== */
  .ls{font-family:var(--sans);color:var(--tinta);line-height:1.7;}
  .ls em{font-style:italic;color:var(--blue);}

  /* ---- Secciones de contenido (scoped .ls) ---- */
  .ls .btn-primary{background:linear-gradient(145deg,var(--oro-claro),var(--oro) 60%,var(--oro-osc));color:#23222f;font-weight:800;font-size:15px;padding:15px 30px;border-radius:var(--r-pill);border:none;cursor:pointer;letter-spacing:.3px;box-shadow:0 12px 34px rgba(217,168,60,.32);transition:transform .2s,filter .2s;}  .ls .btn-primary:hover{transform:translateY(-2px);filter:brightness(1.06);}  .ls .btn-ghost{background:transparent;color:#fff;font-weight:600;font-size:15px;padding:15px 28px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.3);cursor:pointer;transition:background .2s,border-color .2s;}  .ls .btn-ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.5);}  .ls .strip{background:var(--noche-800);border-top:1px solid var(--noche-line);border-bottom:1px solid var(--noche-line);}  .ls .strip .grid{display:grid;grid-template-columns:repeat(4,1fr);}  .ls .strip .s{padding:30px 16px;text-align:center;color:#fff;border-right:1px solid var(--noche-line);}  .ls .strip .s:last-child{border-right:none;}  .ls .strip .n{font-family:var(--serif);font-weight:800;font-size:34px;color:var(--oro-soft);line-height:1.05;}  .ls .strip .l{font-size:11.5px;color:rgba(255,255,255,.74);margin-top:9px;line-height:1.4;letter-spacing:.2px;}  .ls .sec-eyebrow{font-size:11.5px;letter-spacing:3.5px;text-transform:uppercase;font-weight:700;color:var(--granate);margin-bottom:14px;}  .ls .sec-title{font-family:var(--serif);font-weight:700;font-size:38px;line-height:1.15;letter-spacing:-.3px;color:var(--tinta);}  .ls .sec-title em{font-style:italic;color:var(--granate);}  .ls .nosotros{padding:96px 0;background:radial-gradient(80% 60% at 90% 0%, #fbf8f2 0%, #fff 55%);}  .ls .nosotros .cols{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}  .ls .nosotros p.lead{font-size:var(--fs-lead);color:var(--tinta-soft);line-height:1.7;margin-top:20px;}  .ls .nosotros p.body{font-size:var(--fs-body);color:var(--tinta-soft);line-height:1.7;margin-top:16px;}  .ls .chips{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px;}  .ls .chips .c{font-size:12.5px;font-weight:600;color:var(--tinta);background:var(--gris);border:1px solid #ddd9e2;border-radius:var(--r-pill);padding:9px 16px;}  .ls .about-card{background:linear-gradient(165deg,var(--granate) 0%, var(--granate-osc) 100%);border-radius:var(--r-lg);padding:36px 34px;color:#fff;position:relative;overflow:hidden;box-shadow:var(--sh-2);}  .ls .about-card::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 100% 0%, rgba(217,168,60,.20) 0%, transparent 55%);pointer-events:none;}  .ls .about-card .logo{height:80px;margin-bottom:20px;position:relative;}  .ls .about-card .mvk{position:relative;font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--oro-claro);font-weight:700;margin:18px 0 8px;}  .ls .about-card .mvk:first-of-type{margin-top:0;}  .ls .about-card .mv{position:relative;font-family:var(--serif2);font-style:italic;font-weight:600;font-size:20px;line-height:1.5;color:rgba(255,255,255,.95);}  .ls .about-card .mv .hl{color:var(--oro-claro);font-style:normal;}  .ls .about-card .firma{margin-top:24px;position:relative;font-size:13px;color:rgba(255,255,255,.78);line-height:1.5;border-top:1px solid rgba(255,255,255,.16);padding-top:18px;}  .ls .about-card .firma b{color:#fff;font-weight:700;display:block;font-size:15px;}  .ls .servicios{padding:96px 0;background:radial-gradient(80% 60% at 90% 0%, #fbf8f2 0%, #fff 55%);}  .ls .servicios .head-c{max-width:700px;margin-bottom:8px;}  .ls .servicios .head-c p{font-size:var(--fs-lead);color:var(--tinta-soft);margin-top:14px;line-height:1.65;}  .ls .serv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px;}  .ls .serv-card{background:#fff;border:1px solid #e9e4da;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sh-1);transition:transform .25s,box-shadow .25s;}  .ls .serv-card:hover{transform:translateY(-4px);box-shadow:var(--sh-3);}  .ls .serv-card .ph{position:relative;height:190px;overflow:hidden;}  .ls .serv-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}  .ls .serv-card:hover .ph img{transform:scale(1.06);}  .ls .serv-card .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 36%,rgba(35,34,47,.72));}  .ls .serv-card .ph .ico{position:absolute;left:18px;bottom:14px;z-index:2;width:44px;height:44px;border-radius:var(--r-ico);background:linear-gradient(145deg,var(--oro-claro),var(--oro-osc));display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(160,126,47,.45);}  .ls .serv-card .ph .ico svg{width:23px;height:23px;color:#23222f;stroke:#23222f;}  .ls .serv-card .bd{padding:22px 25px 26px;display:flex;flex-direction:column;flex:1;}  .ls .serv-card h3{font-family:var(--serif);font-weight:700;font-size:20px;color:var(--tinta);line-height:1.22;margin-bottom:10px;}  .ls .serv-card p{font-size:var(--fs-body);color:var(--tinta-soft);line-height:var(--lh-body);}  .ls .serv-card .chips2{margin-top:16px;display:flex;flex-wrap:wrap;gap:7px;}  .ls .serv-card .chip{font-size:10.5px;font-weight:600;color:var(--granate);background:rgba(110,18,31,.07);border:1px solid rgba(110,18,31,.2);border-radius:var(--r-pill);padding:5px 11px;}  .ls .porque{padding:96px 0;color:#fff;overflow:hidden;
    background:radial-gradient(60% 50% at 10% 0%, rgba(217,168,60,.12) 0%, transparent 55%),
      radial-gradient(50% 60% at 100% 100%, rgba(110,18,31,.28) 0%, transparent 55%),
      linear-gradient(180deg, var(--noche-800) 0%, var(--noche) 60%, var(--noche-800) 100%);}  .ls .porque::before{content:"";position:absolute;inset:0;opacity:.45;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:24px 24px;}  .ls .porque .head-c{position:relative;text-align:center;max-width:700px;margin:0 auto 48px;}  .ls .porque .head-c .sec-eyebrow{color:var(--oro-soft);}  .ls .porque .head-c .sec-title{color:#fff;}  .ls .porque .head-c .sec-title em{color:var(--oro-soft);}  .ls .porque .head-c p{font-size:var(--fs-lead);color:rgba(255,255,255,.78);margin-top:14px;line-height:1.6;}  .ls .vp-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1000px;margin:0 auto;}  .ls .vp{background:var(--noche-700);border:1px solid var(--noche-line);border-radius:var(--r);padding:28px 26px;}  .ls .vp .ico{width:48px;height:48px;border-radius:var(--r-ico);background:rgba(217,168,60,.14);border:1px solid rgba(217,168,60,.34);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}  .ls .vp .ico svg{width:25px;height:25px;color:var(--oro-soft);stroke:var(--oro-soft);}  .ls .vp h3{font-family:var(--serif);font-weight:700;font-size:19px;color:#fff;margin-bottom:9px;}  .ls .vp p{font-size:var(--fs-body);color:rgba(255,255,255,.78);line-height:var(--lh-body);}  .ls .proyectos{padding:96px 0;background:var(--marfil);}  .ls .proyectos .head-c{text-align:center;max-width:700px;margin:0 auto 44px;}  .ls .proyectos .head-c p{font-size:var(--fs-lead);color:var(--tinta-soft);margin-top:14px;line-height:1.65;}  .ls .gal{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}  .ls .gal .it{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;cursor:default;box-shadow:var(--sh-1);}  .ls .gal .it img{width:100%;height:100%;object-fit:cover;transition:transform .6s;}  .ls .gal .it:hover img{transform:scale(1.08);}  .ls .gal .it .cap{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;color:#fff;font-size:13px;font-weight:600;letter-spacing:.2px;background:linear-gradient(180deg,transparent,rgba(35,34,47,.85));z-index:2;}  .ls .gal .it .cap .k{display:block;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--oro-claro);font-weight:700;margin-bottom:3px;}  .ls .contacto{padding:96px 0;color:#fff;overflow:hidden;
    background:radial-gradient(70% 80% at 50% -20%, rgba(217,168,60,.14) 0%, transparent 55%), linear-gradient(160deg, var(--noche-900), var(--noche) 60%);}  .ls .contacto .bgvideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none;}  .ls .contacto .veil{position:absolute;inset:0;z-index:1;pointer-events:none;
    background:radial-gradient(70% 80% at 50% -20%, rgba(110,18,31,.34) 0%, transparent 55%), linear-gradient(160deg, rgba(20,19,28,.88), rgba(35,34,47,.84) 60%);}  .ls .contacto .inner{position:relative;text-align:center;max-width:700px;margin:0 auto;z-index:2;}  .ls .contacto .sec-eyebrow{color:var(--oro-soft);}  .ls .contacto h2{font-family:var(--serif);font-weight:700;font-size:40px;line-height:1.15;color:#fff;}  .ls .contacto h2 em{font-style:italic;color:var(--oro-soft);}  .ls .contacto p{font-size:var(--fs-lead);color:rgba(255,255,255,.84);margin-top:16px;line-height:1.65;}  .ls .contacto .methods{margin-top:30px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}  .ls .contacto .m{display:flex;align-items:center;gap:9px;font-size:14px;color:rgba(255,255,255,.92);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-pill);padding:11px 20px;transition:background .2s,border-color .2s;}  .ls .contacto a.m:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);}  .ls .contacto .m svg{width:17px;height:17px;color:var(--oro-soft);stroke:var(--oro-soft);flex:0 0 auto;}  .ls .contacto .big-cta{margin-top:34px;}

  /* ====== Rebranding: verde iconos/botones, azul secciones ====== */
  /* Fondos claros fríos (en vez de crema) */
  .ls .nosotros{background:radial-gradient(80% 60% at 90% 0%, var(--soft) 0%, #fff 55%);}
  .ls .servicios{background:radial-gradient(80% 60% at 90% 0%, var(--soft) 0%, #fff 55%);}
  /* Tarjeta misión/visión -> azul de marca */
  .ls .about-card::before{background:radial-gradient(70% 90% at 100% 0%, rgba(217,168,60,.18) 0%, transparent 55%);}
  /* Tarjetas que envuelven los iconos del body -> VERDE */
  .ls .serv-card .ph .ico{background:linear-gradient(145deg,var(--lime-2),var(--lime) 60%,var(--lime));box-shadow:0 6px 16px rgba(217,168,60,.45);}
  .ls .serv-card .ph .ico svg{color:#15240a;stroke:#15240a;}
  .ls .vp .ico{background:linear-gradient(145deg,var(--lime-2),var(--lime) 70%,#a87f26);border-color:rgba(217,168,60,.55);}
  .ls .vp .ico svg{color:#15240a;stroke:#15240a;}
  /* Chips de servicio -> azul */
  .ls .serv-card .chip{color:var(--blue);background:rgba(184,134,43,.08);border-color:rgba(184,134,43,.22);}
  /* Botón primario del contenido -> verde (consistente con el template) */
  .ls .btn-primary{background:var(--lime);color:#15240a;box-shadow:0 10px 26px -10px rgba(217,168,60,.7);}
  .ls .btn-primary:hover{background:var(--lime-2);}
  .ls .btn-ghost{border-color:rgba(255,255,255,.4);}
  .ls .btn-ghost:hover{border-color:var(--lime);color:var(--lime);}
  /* Sección "por qué" -> azul profesional */
  .ls .porque{background:
    radial-gradient(60% 50% at 12% 0%, rgba(217,168,60,.10) 0%, transparent 55%),
    radial-gradient(55% 60% at 100% 100%, rgba(184,134,43,.45) 0%, transparent 55%),
    linear-gradient(180deg, var(--navy) 0%, var(--blue-2) 55%, var(--navy) 100%);}
  .ls .porque .head-c .sec-eyebrow{color:var(--lime-2);}
  .ls .vp h3{color:#fff;}
  /* Sección contacto -> azul/navy con acentos verdes */
  .ls .contacto{background:
    radial-gradient(70% 80% at 50% -20%, rgba(217,168,60,.12) 0%, transparent 55%),
    linear-gradient(160deg, var(--navy-2) 0%, var(--blue-2) 60%, var(--navy));}
  .ls .contacto .veil{background:
    radial-gradient(70% 80% at 50% -20%, rgba(184,134,43,.42) 0%, transparent 55%),
    linear-gradient(160deg, rgba(10,24,56,.9), rgba(25,21,16,.84) 60%);}
  .ls .contacto .sec-eyebrow{color:var(--lime-2);}
  .ls .contacto h2 em{color:var(--lime-2);}
  .ls .contacto .m svg{color:var(--lime-2);stroke:var(--lime-2);}


  /* ====== Tipografía un poco más grande ====== */
  .ls .nosotros p.lead{font-size:17.5px;}
  .ls .nosotros p.body{font-size:15.5px;}
  .ls .servicios .head-c p,.ls .proyectos .head-c p,.ls .porque .head-c p{font-size:16.5px;}
  .ls .serv-card h3{font-size:21px;}
  .ls .serv-card p{font-size:14.6px;}
  .ls .serv-card .chip{font-size:11.5px;}
  .ls .vp h3{font-size:20px;}
  .ls .vp p{font-size:14.8px;}
  .ls .sec-title{font-size:40px;}
  .ls .contacto h2{font-size:42px;}
  .ls .contacto p{font-size:17px;}
  .ls .contacto .m{font-size:15px;}
  .ls .chips .c{font-size:13.5px;}
  .panel .pbody .psub{font-size:14.5px;}
  .field input,.field select,.field textarea{font-size:14.8px;}
  .field label{font-size:12px;}
  .dock a{font-size:10.5px;}

  /* ---- Componentes flotantes ---- */
  /* ---------------- DOCK ---------------- */
  .dock{position:fixed;left:0;right:0;bottom:0;z-index:80;
    background:#6e121f;
    border-top:1px solid rgba(217,168,60,.4);
    box-shadow:0 -6px 20px rgba(61,10,18,.45);
    display:none;justify-content:space-around;align-items:stretch;
    padding:16px 6px calc(16px + env(safe-area-inset-bottom)) 6px;}
  .dock::before{content:"";position:absolute;top:-1px;left:0;right:0;height:3px;
    background:var(--oro);}
  .dock a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
    color:rgba(255,255,255,.82);font-size:10px;font-weight:600;letter-spacing:.2px;
    padding:5px 2px;border:none;background:none;cursor:pointer;font-family:var(--sans);
    transition:color .18s ease;-webkit-tap-highlight-color:transparent;}
  .dock a svg{width:23px;height:23px;stroke:var(--oro-soft);transition:stroke .18s ease;}
  .dock a:hover{color:#fff;}
  .dock a:hover svg{stroke:var(--oro-claro);}
  .dock a.dock-cta{color:#fff;}
  /* ===== WhatsApp ===== */
  .wa-float{position:fixed;right:22px;bottom:24px;z-index:85;width:62px;height:62px;border-radius:50%;
    background:linear-gradient(145deg,#25D366 0%,#1ebe5a 60%,#12a850 100%);
    display:flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;
    box-shadow:0 8px 24px rgba(18,168,80,.45), 0 2px 6px rgba(0,0,0,.2);
    border:none;opacity:0;transform:scale(.4) translateY(14px);
    animation:waIn .6s cubic-bezier(.2,1.3,.4,1) .8s forwards;
    transition:transform .25s ease, box-shadow .25s ease;}
  .wa-float:hover{transform:scale(1.08);box-shadow:0 12px 32px rgba(18,168,80,.6), 0 3px 8px rgba(0,0,0,.25);}
  .wa-float:active{transform:scale(.96);}
  .wa-float svg{width:34px;height:34px;fill:#fff;position:relative;z-index:3;}
  @keyframes waIn{to{opacity:1;transform:scale(1) translateY(0);}}
  .wa-float::before,.wa-float::after{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(37,211,102,.55);z-index:1;}
  .wa-float::before{animation:waPulse 2.4s cubic-bezier(.4,0,.2,1) infinite;}
  .wa-float::after{animation:waPulse 2.4s cubic-bezier(.4,0,.2,1) infinite 1.2s;}
  @keyframes waPulse{0%{transform:scale(1);opacity:.7;}70%{opacity:0;}100%{transform:scale(2.1);opacity:0;}}
  .wa-float .wa-badge{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;
    background:linear-gradient(145deg,#ff4d4f,#d11) ;color:#fff;border-radius:var(--r-input);
    font-family:var(--sans);font-size:12px;font-weight:800;line-height:22px;text-align:center;
    border:2px solid #fff;box-shadow:0 2px 6px rgba(200,20,20,.5);z-index:4;opacity:0;transform:scale(0);}
  .wa-float .wa-badge.show{animation:badgePop .5s cubic-bezier(.2,1.5,.4,1) forwards, badgeBeat 1.4s ease-in-out .6s infinite;}
  @keyframes badgePop{0%{opacity:0;transform:scale(0) rotate(-30deg);}100%{opacity:1;transform:scale(1) rotate(0);}}
  @keyframes badgeBeat{0%,100%{transform:scale(1);}25%{transform:scale(1.18);}40%{transform:scale(1);}}
  @media (max-width:480px){.wa-float{right:16px;bottom:100px;width:56px;height:56px;}.wa-float svg{width:30px;height:30px;}}
  /* ===== Botón sticky lateral "Contáctenos" ===== */
  .ctab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:70;
    background:linear-gradient(145deg,var(--granate-claro),var(--granate) 60%,var(--granate-osc));color:#fff;
    font-weight:800;font-size:13px;letter-spacing:.5px;padding:18px 11px;border-radius:12px 0 0 12px;
    cursor:pointer;writing-mode:vertical-rl;text-orientation:mixed;
    border:1px solid rgba(209,174,108,.55);border-right:none;display:flex;align-items:center;gap:9px;
    overflow:hidden;
    box-shadow:-6px 6px 22px rgba(20,19,28,.32), 0 0 14px rgba(209,174,108,.28), inset 0 0 0 1px rgba(209,174,108,.12);
    transition:padding .25s ease, box-shadow .35s ease, filter .25s ease;}
  /* Halo dorado que se intensifica al pasar el mouse */
  .ctab:hover{padding-right:16px;filter:brightness(1.06);
    box-shadow:-6px 6px 26px rgba(20,19,28,.38), 0 0 22px rgba(209,174,108,.55), inset 0 0 0 1px rgba(209,174,108,.25);}
  /* Brillo dorado que recorre el botón en diagonal cada ~5s */
  .ctab::after{content:"";position:absolute;top:-60%;left:0;width:130%;height:60%;pointer-events:none;
    background:linear-gradient(115deg, transparent 0%, rgba(243,225,160,.0) 30%, rgba(243,225,160,.55) 50%, rgba(243,225,160,.0) 70%, transparent 100%);
    transform:translateY(0) rotate(8deg);animation:ctabShine 9s ease-in-out infinite;}
  @keyframes ctabShine{0%,60%{transform:translateY(-10%) rotate(8deg);}92%,100%{transform:translateY(320%) rotate(8deg);}}
  .ctab .dot{position:relative;z-index:2;writing-mode:horizontal-tb;width:8px;height:8px;border-radius:50%;background:var(--oro-claro);box-shadow:0 0 6px rgba(209,174,108,.8);}
  .ctab .lbl{position:relative;z-index:2;}
  /* ===== Panel de contacto ===== */
  .overlay{position:fixed;inset:0;background:rgba(20,19,28,.6);backdrop-filter:blur(3px);z-index:90;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;}
  .overlay.open{opacity:1;visibility:visible;}
  .panel{position:fixed;top:0;right:0;height:100%;width:430px;max-width:92vw;z-index:95;background:
      radial-gradient(80% 40% at 100% 0%, rgba(110,18,31,.34) 0%, transparent 55%),
      linear-gradient(160deg, var(--noche-900), var(--noche) 60%);
    color:#fff;transform:translateX(100%);transition:transform .4s cubic-bezier(.3,.8,.3,1);overflow-y:auto;box-shadow:-20px 0 60px rgba(0,0,0,.4);}
  .panel.open{transform:none;}
  .panel .ph{padding:26px 30px 0;display:flex;align-items:flex-start;justify-content:space-between;}
  .panel .ph .logo{height:54px;}
  .panel .close{background:rgba(255,255,255,.1);border:none;color:#fff;width:34px;height:34px;border-radius:8px;font-size:17px;cursor:pointer;line-height:1;transition:background .2s;}
  .panel .close:hover{background:rgba(255,255,255,.2);}
  .panel .pbody{padding:18px 30px 36px;}
  .panel .pbody h3{font-family:var(--serif);font-weight:700;font-size:25px;line-height:1.2;margin-bottom:8px;}
  .panel .pbody h3 em{font-style:italic;color:var(--oro-soft);}
  .panel .pbody .psub{font-size:13.5px;color:rgba(255,255,255,.72);line-height:1.55;margin-bottom:22px;}
  .field{margin-bottom:15px;}
  .field label{display:block;font-size:11.5px;letter-spacing:.4px;color:rgba(255,255,255,.7);font-weight:600;margin-bottom:6px;}
  .field input,.field select,.field textarea{width:100%;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.3);border-radius:var(--r-input);padding:12px 13px;font-size:14px;font-family:var(--sans);color:var(--tinta);outline:none;transition:box-shadow .2s,border-color .2s;}
  .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--oro);box-shadow:0 0 0 3px rgba(217,168,60,.28);}
  .field textarea{resize:vertical;min-height:74px;}
  .panel .submit{width:100%;background:linear-gradient(145deg,var(--oro-claro),var(--oro) 60%,var(--oro-osc));color:#23222f;font-weight:800;font-size:15px;padding:15px;border:none;border-radius:var(--r-pill);cursor:pointer;letter-spacing:.3px;margin-top:6px;box-shadow:0 12px 30px rgba(217,168,60,.3);transition:transform .2s,filter .2s;}
  .panel .submit:hover{transform:translateY(-2px);filter:brightness(1.06);}
  .panel .pnote{font-size:10.5px;color:rgba(255,255,255,.5);line-height:1.5;margin-top:14px;text-align:center;}
  .thanks{display:none;text-align:center;padding:30px 0;}
  .thanks.show{display:block;}
  .thanks .check{width:64px;height:64px;border-radius:50%;background:rgba(217,168,60,.16);border:2px solid var(--oro);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;}
  .thanks h3{font-family:var(--serif);font-weight:700;font-size:24px;margin-bottom:10px;}
  .thanks p{font-size:14px;color:rgba(255,255,255,.78);line-height:1.6;}

  /* ====== Dock (footer menu) -> navy con verde | ctab -> VERDE | panel -> azul ====== */
  .dock{background:var(--navy-2);border-top:1px solid rgba(217,168,60,.5);}
  .dock::before{background:var(--lime);}
  .dock a svg{stroke:var(--lime);}
  .dock a:hover svg{stroke:var(--lime-2);}
  .dock a.dock-cta{color:var(--lime);}
  .dock a.dock-cta svg{stroke:var(--lime);}
  .ctab{background:linear-gradient(145deg,var(--lime-2),var(--lime) 60%,#a87f26);color:#15240a;border:1px solid rgba(217,168,60,.6);border-right:none;
    box-shadow:-6px 6px 22px rgba(16,13,8,.32), 0 0 14px rgba(217,168,60,.4);}
  .ctab:hover{box-shadow:-6px 6px 26px rgba(16,13,8,.38), 0 0 24px rgba(217,168,60,.7);}
  .ctab .dot{background:#15240a;box-shadow:0 0 6px rgba(21,36,10,.6);}
  .ctab::after{background:linear-gradient(115deg, transparent 0%, rgba(255,255,255,0) 30%, rgba(255,255,255,.55) 50%, rgba(255,255,255,0) 70%, transparent 100%);}
  .panel{background:radial-gradient(80% 40% at 100% 0%, rgba(184,134,43,.34) 0%, transparent 55%), linear-gradient(160deg, var(--navy-2), var(--navy) 60%);font-family:var(--body);}


  /* ====== Responsive contenido / componentes legales ====== */
  @media (max-width:900px){
    .ls .nosotros .cols{grid-template-columns:1fr;gap:38px;}
    .ls .serv-grid{grid-template-columns:1fr;}
    .ls .vp-grid{grid-template-columns:1fr;}
    .ls .gal{grid-template-columns:1fr 1fr;}
    .ls .sec-title,.ls .contacto h2{font-size:30px;}
    .dock{display:flex;}
    body{padding-bottom:90px;}
    .wa-float{bottom:106px;}
  }
  @media (max-width:480px){
    .ls .wrap{padding:0 20px;}
    .ls .gal{grid-template-columns:1fr;}
    .panel{width:100%;}
  }



  /* ============================================================
     == AJUSTES SOLICITADOS ==
     ============================================================ */
  /* (4) Título del formulario visible: la frase antes de "asesoría" (antes invisible por contraste) */
  .panel .pbody h3, .thanks h3{color:#fff;}
  /* (3) El formulario se abre por encima del header (logo + menú sándwich) */
  .overlay{z-index:200;}
  .panel{z-index:210;}

  /* Tarjeta "Nuestra Misión": su fondo llega al mismo alto que el texto (sin blanco extra debajo) */
  .ls .nosotros .cols{align-items:stretch;}
  /* Espacio uniforme entre "Nosotros" y "Qué hacemos" (= el de inicio de sección, 96px) */
  .ls .nosotros{padding-bottom:0;}

  @media (min-width:981px){
    /* (1) Banner: 40px de espacio entre el final de las tarjetas y el final del banner */
    .features{margin-top:-180px;padding-bottom:40px;}
    /* Espacio de inicio de sección uniforme (96px) */
    .ls .nosotros{padding-top:96px;}
  }
  @media (max-width:980px){
    /* "Quiénes somos" se mide desde la última tarjeta (Premium Support) */
    .features{padding-bottom:0;}
  }
  @media (max-width:900px){
    /* Subir 20px "Quiénes somos" SOLO en móviles (96 -> 76) */
    .ls .nosotros{padding-top:76px;}
  }

  /* Botón "play": mismo efecto de pulso que el botón flotante de WhatsApp */
  .play{position:relative;}
  .play svg{position:relative;z-index:2;}
  .play::before,.play::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.55);z-index:1;pointer-events:none;}
  .play::before{animation:waPulse 2.4s cubic-bezier(.4,0,.2,1) infinite;}
  .play::after{animation:waPulse 2.4s cubic-bezier(.4,0,.2,1) infinite 1.2s;}

  /* Texto del botón Contacto del dock en blanco */
  .dock a.dock-cta span{color:#fff;}

  /* ====== Accesibilidad: foco visible para navegación con teclado (no afecta al mouse) ====== */
  a:focus-visible,button:focus-visible,.btn:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--lime);outline-offset:3px;border-radius:3px;}

  /* ====== Logo de marca (header, footer, tarjeta y formulario) — pequeño, máx 150px de ancho ====== */
  .brand-logo{display:block;width:auto;max-width:150px;}
  .navbar .brand-logo{height:34.5px;}          /* ancho ~95px; antes el logo medía 34px de alto -> no agranda el header */
  .fb-logo .brand-logo{height:32px;}         /* ancho ~101px */
  .ls .about-card .brand-logo{height:44px;margin-bottom:20px;}  /* ancho ~139px; antes 80px de alto -> más bajo */
  .panel .ph .brand-logo{height:42px;}       /* ancho ~133px; antes 54px de alto -> más bajo */


/* ===== PILAUCO EXTRA: clientes (marquee) + filial Baker ===== */
.ls .clientes{padding:78px 0 64px;background:var(--soft)}
.ls .clientes .head-c{text-align:center;margin-bottom:34px}
.cl-marquee{overflow:hidden;position:relative;padding:6px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.cl-track{display:flex;gap:26px;width:max-content;animation:clMove 34s linear infinite}
.cl-marquee:hover .cl-track{animation-play-state:paused}
.cl-logo{flex:0 0 auto;width:170px;height:84px;background:var(--bg);border:1px solid var(--line);
  border-radius:var(--r);display:flex;align-items:center;justify-content:center;
  box-shadow:var(--sh-1);filter:grayscale(1);opacity:.85;transition:.25s}
.cl-logo:hover{filter:none;opacity:1;transform:translateY(-3px)}
.cl-logo img{max-width:78%;max-height:60%;object-fit:contain;display:block}
.cl-logo span{font:600 12px/1.3 var(--body);color:var(--muted);text-align:center;padding:0 10px}
@keyframes clMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ls .filial{background:linear-gradient(160deg,var(--navy-2),var(--navy) 62%);padding:84px 0;text-align:center}
.ls .filial .inner{max-width:760px;margin:0 auto}
.ls .filial-logo{height:52px;width:auto;margin:0 auto 26px;display:block}
.ls .filial h2{color:#fff;font:800 clamp(26px,3.6vw,38px)/1.15 var(--disp);margin:0 0 14px}
.ls .filial h2 em{color:var(--lime);font-style:normal}
.ls .filial p{color:rgba(255,255,255,.82);font-size:var(--fs-lead);line-height:var(--lh-body);margin:0 0 26px}
@media (max-width:640px){.cl-logo{width:138px;height:70px}.ls .filial{padding:64px 0}}

/* ===== PILAUCO EXTRA v2: ver-mas + fix separacion feat en movil ===== */
.ls .serv-card .btn-vermas{display:inline-block;margin-top:16px;padding:8px 12px;font-size:12px;color:#fff}
.btn-vermas.btn-lime,.btn-vermas.btn-lime:hover{color:#fff}
@media(max-width:780px){.feat-grid>.feat:nth-child(3){margin-top:0}}

/* ===== Botón flotante de WhatsApp ===== */
.wa-float{position:fixed;right:18px;bottom:86px;z-index:95;width:58px;height:58px;border-radius:50%;
  background:#25D366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 26px -8px rgba(37,211,102,.7);transition:transform .18s ease, box-shadow .2s ease;}
.wa-float svg{width:30px;height:30px;fill:#fff;display:block;}
.wa-float:hover{transform:scale(1.08);box-shadow:0 14px 32px -8px rgba(37,211,102,.85);}
@media(max-width:760px){.wa-float{right:14px;bottom:96px;width:54px;height:54px;}}

/* ===== Catálogo de proyectos (subpáginas) ===== */
.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin-top:26px;}
.proj-card{background:#fff;border:1px solid #ece4d2;border-radius:16px;box-shadow:0 12px 30px -14px rgba(25,21,16,.13);
  padding:22px 20px;display:flex;flex-direction:column;gap:10px;transition:border-color .2s ease, transform .2s ease;}
.proj-card:hover{border-color:var(--lime);transform:translateY(-3px);}
.proj-tag{align-self:flex-start;font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:#b8862b;border:1px solid rgba(184,134,43,.5);border-radius:999px;padding:4px 10px;}
.proj-card h3{font-size:17px;color:var(--text);margin:2px 0 0;}
.proj-price{font-size:15px;font-weight:700;color:#b8862b;}
.proj-card .btn-verproy{align-self:flex-start;margin-top:auto;display:inline-block;
  padding:8px 12px;font-size:12px;color:#fff;}
.proj-card .btn-verproy:hover{color:#fff;}
.cat-title{margin:44px 0 4px;text-align:center;}
.cat-title h2{font-family:var(--disp);font-size:28px;letter-spacing:.06em;color:var(--text);text-transform:uppercase;}
.cat-title p{color:var(--muted);font-size:14px;margin-top:6px;}

/* Miniaturas en tarjetas del catálogo */
.proj-card .ph{margin:-22px -20px 12px;height:160px;overflow:hidden;border-radius:15px 15px 0 0;background:#0e0c09;}
.proj-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.proj-card:hover .ph img{transform:scale(1.05);}

/* ===== Par de botones sticky laterales centrados ===== */
.ctab-wrap{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:70;
  display:flex;flex-direction:column;gap:12px;align-items:flex-end;}
.ctab-wrap .ctab{position:static;transform:none;}
.ctab.ctab-contact{background:linear-gradient(145deg,#e6bc55,#d9a83c 60%,#b8862b);color:#141312;}
.ctab.ctab-contact .dot{background:#fff;box-shadow:0 0 6px rgba(255,255,255,.8);}

/* ===== Correcciones sticky: brillo dentro del botón y sincronizado ===== */
.ctab-wrap .ctab{position:relative;transform:none;}
.ctab-wrap .ctab::after{animation:ctabShine 9s ease-in-out infinite;animation-delay:0s;}
.ctab.ctab-contact .dot{background:#141312;box-shadow:0 0 6px rgba(0,0,0,.5);}

/* ===== Submenú Áreas de negocio ===== */
.menu .has-sub>a{display:inline-flex;align-items:center;gap:6px;}
.menu .has-sub .car{transition:transform .25s ease;flex:0 0 auto;}
.menu .has-sub.sub-open>a .car{transform:rotate(180deg);}

/* Escritorio y tablet: panel flotante al pasar el mouse */
@media(min-width:781px){
  .menu .has-sub{position:relative;}
  .menu .submenu{position:absolute;top:100%;left:50%;transform:translate(-50%,8px);min-width:230px;
    background:#141210;border:1px solid rgba(217,168,60,.35);border-radius:12px;padding:8px;
    box-shadow:0 18px 40px -12px rgba(0,0,0,.55);opacity:0;visibility:hidden;transition:.22s ease;z-index:80;}
  .menu .has-sub:hover .submenu,.menu .has-sub:focus-within .submenu{opacity:1;visibility:visible;transform:translate(-50%,4px);}
  .menu .submenu li{display:block;margin:0;}
  .menu .submenu a{display:block;padding:10px 14px;border-radius:8px;color:#f3ecdd;font-size:13px;letter-spacing:.04em;white-space:nowrap;}
  .menu .submenu a:hover{background:rgba(217,168,60,.15);color:#e6bc55;}
}

/* Móvil: acordeón dentro del menú desplegable */
@media(max-width:780px){
  .menu .has-sub>a{display:flex;align-items:center;justify-content:space-between;width:100%;}
  .menu .submenu{display:none;margin:0;padding:4px 0 8px;list-style:none;
    background:rgba(0,0,0,.28);border-top:1px solid rgba(217,168,60,.25);border-bottom:1px solid rgba(217,168,60,.25);}
  .menu .has-sub.sub-open .submenu{display:block;}
  .menu .submenu li{width:100%;}
  .menu .submenu a{display:block;width:100%;padding:13px 28px 13px 44px;font-size:15px;
    color:#f3ecdd !important;text-transform:uppercase;letter-spacing:.03em;border-left:3px solid rgba(217,168,60,.6);}
  .menu .submenu a:active,.menu .submenu a:hover{background:rgba(217,168,60,.16);color:#e6bc55 !important;}
}

/* ===== Logos reales del carrusel (fondo negro propio) ===== */
.cl-logo{background:#030303;border-color:rgba(217,168,60,.28);}
.cl-logo img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block;}

/* ===== Popup de video corporativo ===== */
.vpop{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:opacity .25s ease, visibility .25s ease;}
.vpop.open{opacity:1;visibility:visible;}
.vpop-bg{position:absolute;inset:0;background:rgba(5,4,3,.88);backdrop-filter:blur(3px);}
.vpop-box{position:relative;z-index:2;width:min(92vw,960px);transform:scale(.96);transition:transform .25s ease;}
.vpop.open .vpop-box{transform:scale(1);}
.vpop-box video{display:block;width:100%;max-height:80vh;border-radius:14px;background:#000;
  border:1px solid rgba(217,168,60,.4);box-shadow:0 30px 80px -20px rgba(0,0,0,.8);}
.vpop-x{position:absolute;top:-16px;right:-16px;z-index:3;width:40px;height:40px;border-radius:50%;
  border:1px solid rgba(217,168,60,.6);background:linear-gradient(145deg,#e6bc55,#b8862b);color:#141312;
  font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 20px -6px rgba(0,0,0,.6);transition:transform .18s ease;}
.vpop-x:hover{transform:scale(1.1) rotate(90deg);}
@media(max-width:640px){.vpop-x{top:-14px;right:2px;width:36px;height:36px;}}
