/* ============ FOOTER ============ */
  footer{border-top:1px solid var(--border-soft); padding:60px 0 34px; position:relative; overflow:hidden;}
  footer::before{content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg, var(--green), #38bdf8, var(--amber)); opacity:.6;}
  footer::after{content:''; position:absolute; bottom:-20%; left:50%; transform:translateX(-50%); width:60%; height:200px; background:radial-gradient(ellipse, rgba(63,125,100,.08), transparent 70%); pointer-events:none;}
  .footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:50px; position:relative;}
  .footer-brand p{color:var(--text-faint); font-size:13.5px; margin-top:14px; max-width:260px; line-height:1.7;}
  .footer-social{display:flex; gap:10px; margin-top:16px;}
  .footer-social a{
    width:34px;height:34px; border-radius:50%; border:1px solid var(--border);
    display:flex; align-items:center; justify-content:center; color:var(--text-muted);
    transition:color .2s ease, border-color .2s ease;
  }
  .footer-social a:hover{color:var(--green-soft); border-color:var(--green);}
  .footer-social svg{width:17px;height:17px;}
  .footer-col h5{font-size:12.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--text-faint); font-family:var(--font-mono); margin-bottom:16px;}
  .footer-col ul{display:flex; flex-direction:column; gap:11px;}
  .footer-col a{font-size:14px; color:var(--text-muted); transition:color .2s;}
  .footer-col a:hover{color:var(--green-soft);}
  .footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:28px; border-top:1px solid var(--border-soft); font-size:13px; color:var(--text-faint); flex-wrap:wrap; gap:12px; position:relative;}

  /* ============ NAVIGATION AIDS ============ */
  .skip-link{
    position:fixed; top:-60px; left:16px; z-index:300;
    background:var(--green); color:#fff; padding:12px 20px; border-radius:8px;
    font-size:14px; font-weight:600; transition:top .2s ease;
  }
  .skip-link:focus{top:16px;}

  .scroll-progress{
    position:fixed; top:0; left:0; height:3px; width:0%; z-index:150;
    background:var(--grad); transition:width .1s linear;
  }

  /* ============ BACK TO TOP ============ */
  .back-to-top{
    position:fixed; right:24px; bottom:24px; width:48px; height:48px; border-radius:50%;
    background:rgba(21, 28, 38, 0.85);
    border:1px solid rgba(255, 255, 255, 0.16);
    backdrop-filter:blur(20px) saturate(180%);
    -webkit-backdrop-filter:blur(20px) saturate(180%);
    color:var(--green-soft);
    display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:90;
    box-shadow:inset 0 1px 1px rgba(255,255,255,0.3), 0 12px 30px -8px rgba(0,0,0,.4);
    opacity:0; visibility:hidden; transform:translateY(10px);
    transition:opacity .3s ease, transform .32s cubic-bezier(0.16,1,0.3,1), visibility .3s ease, background .2s ease, border-color .2s ease;
  }
  html:not(.dark-mode) .back-to-top{
    background:rgba(255, 255, 255, 0.88);
    border-color:rgba(0, 0, 0, 0.1);
    box-shadow:inset 0 1px 1.5px rgba(255,255,255,0.9), 0 12px 30px -8px rgba(0,0,0,.12);
  }
  .back-to-top.visible{opacity:1; visibility:visible; transform:translateY(0);}
  .back-to-top:hover{
    transform:translateY(-3px) scale(1.05);
    border-color:var(--green-soft); color:var(--green-soft);
    box-shadow:inset 0 1px 1px rgba(255,255,255,0.5), 0 16px 36px -8px rgba(16,185,129,0.35);
  }
  .back-to-top svg{width:20px;height:20px;}
  @media (max-width:600px){ .back-to-top{right:16px; bottom:16px; width:44px; height:44px;} }

  /* ============ WHATSAPP FLOAT ============ */
  .wa-float{
    position:fixed; bottom:26px; right:84px; z-index:90;
    width:54px; height:54px; border-radius:50%;
    background:linear-gradient(135deg, rgba(34,197,94,0.95) 0%, rgba(22,163,74,0.95) 100%);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border:1px solid rgba(255,255,255,0.4);
    display:flex; align-items:center; justify-content:center;
    box-shadow:inset 0 1px 1.5px rgba(255,255,255,0.7), 0 10px 28px -4px rgba(34,197,94,.5);
    transition:all .32s cubic-bezier(0.16,1,0.3,1);
  }
  .wa-float:hover{
    transform:translateY(-3px) scale(1.08);
    box-shadow:inset 0 1px 2px rgba(255,255,255,0.9), 0 16px 36px -4px rgba(34,197,94,.65);
  }
  .wa-float svg{width:27px;height:27px; color:#ffffff;}
  @media (max-width:600px){ .wa-float{right:70px; bottom:16px; width:48px; height:48px;} }
