/* ============ HERO ============ */
  .hero{padding:120px 0 45px; position:relative; overflow:hidden;}
  .hero-photo{position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none;}
  .hero-photo img{width:100%; height:100%; object-fit:cover; object-position:center 24%; opacity:.16; filter:saturate(.7) contrast(1.05);}
  .hero-photo::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, var(--bg) 0%, transparent 24%, transparent 76%, var(--bg) 100%);}

  /* ============ SECTION BACKGROUND PHOTOS (reutilizável) ============ */
  .section-photo{position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none;}
  .section-photo img{width:100%; height:100%; object-fit:cover; opacity:.1; filter:saturate(.65) contrast(1.05);}
  .section-photo::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, var(--bg) 0%, transparent 20%, transparent 80%, var(--bg) 100%);}
  .section-photo.right{mask-image:linear-gradient(90deg, transparent 0%, black 35%); -webkit-mask-image:linear-gradient(90deg, transparent 0%, black 35%);}
  .section-photo.left{mask-image:linear-gradient(270deg, transparent 0%, black 35%); -webkit-mask-image:linear-gradient(270deg, transparent 0%, black 35%);}
  .hero-watermark{position:absolute; inset:0; z-index:0; pointer-events:none; color:var(--text);}
  .wm-target{
    position:absolute; top:6%; left:50%; transform:translateX(-50%); width:640px; height:640px;
    opacity:.16; animation:wmSpin 90s linear infinite;
  }
  .wm-check{position:absolute; top:14%; left:7%; width:64px; height:64px; opacity:.4; color:var(--green-soft);}
  .wm-chart{position:absolute; bottom:10%; right:8%; width:78px; height:78px; opacity:.38; color:var(--amber-soft);}
  .wm-gear{position:absolute; top:20%; right:11%; width:50px; height:50px; opacity:.38; animation:wmSpinSlow 40s linear infinite;}
  .wm-clip{position:absolute; bottom:16%; left:10%; width:52px; height:52px; opacity:.38; color:var(--green-soft);}
  @keyframes wmSpin{from{transform:translateX(-50%) rotate(0deg);} to{transform:translateX(-50%) rotate(360deg);}}
  @keyframes wmSpinSlow{from{transform:rotate(0deg);} to{transform:rotate(360deg);}}
  @keyframes wmFloat{0%,100%{transform:translateY(0);} 50%{transform:translateY(-8px);}}
  @keyframes wmPulse{0%,100%{opacity:.08; transform:scale(1);} 50%{opacity:.18; transform:scale(1.04);}}
  @media (max-width:900px){
    .wm-target{width:420px; height:420px;}
    .wm-chart, .wm-clip{display:none;}
  }
  @media (prefers-reduced-motion: reduce){
    .wm-target, .wm-gear{animation:none;}
  }
  .hero-top{max-width:860px; margin:0 auto 28px; text-align:center; position:relative; z-index:1;}
  .hero-top .lead{margin-left:auto; margin-right:auto;}
  .hero-top .hero-ctas{justify-content:center;}
  .hero-top .hero-trust{justify-content:center;}
  .hero h1{font-size:clamp(32px, 4.2vw, 54px); font-weight:700; margin:22px 0 20px; line-height:1.15;}
  .hero-intro-text{
    font-size:18px; line-height:1.65; color:var(--text); max-width:740px; margin:0 auto 16px;
    font-weight:400;
  }
  .hero-intro-text strong{color:var(--text); font-weight:600;}
  .hero-intro-sub{
    font-size:16px; line-height:1.65; color:var(--text-muted); max-width:740px; margin:0 auto 26px;
    font-weight:400;
  }

  .hero-capsule{
    background:rgba(255, 255, 255, 0.65);
    border:1px solid rgba(0, 0, 0, 0.08);
    border-radius:24px;
    padding:24px 26px 22px;
    margin:0 auto 28px;
    max-width:840px;
    backdrop-filter:blur(20px) saturate(180%);
    -webkit-backdrop-filter:blur(20px) saturate(180%);
    box-shadow:inset 0 1px 2px rgba(255,255,255,0.9), 0 16px 40px -16px rgba(0,0,0,0.06);
    text-align:center;
  }
  html.dark-mode .hero-capsule{
    background:rgba(21, 28, 38, 0.72);
    border-color:rgba(255, 255, 255, 0.1);
    box-shadow:inset 0 1px 1px rgba(255,255,255,0.15), 0 20px 50px -20px rgba(0,0,0,0.5);
  }
  .hc-header{
    font-family:var(--font-mono); font-size:11.5px; font-weight:600; text-transform:uppercase; letter-spacing:.06em;
    color:var(--green-soft); margin-bottom:14px; display:inline-flex; align-items:center; gap:8px;
  }
  .hc-badges{
    display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-bottom:16px;
  }
  .hc-pill{
    display:inline-flex; align-items:center; gap:6px;
    padding:6px 13px; border-radius:9999px;
    background:rgba(255, 255, 255, 0.85);
    border:1px solid rgba(0, 0, 0, 0.07);
    color:var(--text); font-size:12.5px; font-weight:500;
    box-shadow:0 2px 8px -2px rgba(0,0,0,0.04);
    transition:all .22s ease;
  }
  html.dark-mode .hc-pill{
    background:rgba(255, 255, 255, 0.06);
    border-color:rgba(255, 255, 255, 0.08);
    color:var(--text);
    box-shadow:none;
  }
  .hc-pill:hover{
    transform:translateY(-1px);
    border-color:var(--green-soft);
    color:var(--green-soft);
  }
  .hc-pill svg{
    width:12px; height:12px; color:var(--green-soft); flex-shrink:0; stroke-width:3;
  }
  .hc-footer{
    font-size:13.5px; color:var(--text-muted); line-height:1.5;
    padding-top:12px; border-top:1px dashed var(--border);
  }
  .hc-footer strong{color:var(--text); font-weight:600;}
  .hero-tagline{
    font-family:var(--font-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase;
    color:var(--text-faint); margin:0 0 28px;
  }
  .hero-tagline span{color:var(--green-soft); font-weight:600;}

  .hero-ctas{display:flex; justify-content:center; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:34px;}
  .hero-trust{display:flex; align-items:center; justify-content:center; gap:12px 24px; flex-wrap:wrap; max-width:800px; margin:0 auto; text-align:center;}
  .hero-trust-item{display:inline-flex; align-items:center; justify-content:center; gap:8px; font-size:13px; color:var(--text-faint); white-space:nowrap;}
  .hero-trust-item svg{width:16px;height:16px; color:var(--green-soft); flex-shrink:0;}
