/* ---------- HERO ---------- */
  .hero{padding:84px 0 96px;background:var(--white);overflow:hidden;}
  .hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:56px;align-items:center;}
  .hero h1{font-size:clamp(32px,4.2vw,54px);margin:22px 0 20px;}
  .hero h1 .hl{position:relative;white-space:nowrap;}
  .hero h1 .hl::after{content:"";position:absolute;left:-2px;right:-2px;bottom:6px;height:14px;background:var(--yellow);z-index:-1;opacity:.55;}
  .hero p.lead{font-size:18px;color:var(--gray);max-width:520px;margin-bottom:20px;}
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:16px;}
  .microcopy{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--gray);margin-bottom:32px;}
  .microcopy svg{width:16px;height:16px;color:var(--black);flex-shrink:0;}
  .hero-trust{display:flex;gap:28px;flex-wrap:wrap;}
  .hero-trust div{font-family:var(--font-mono);font-size:12px;color:var(--gray);text-transform:uppercase;letter-spacing:.06em;}
  .hero-trust strong{display:block;font-family:var(--font-display);font-size:20px;color:var(--black);letter-spacing:0;text-transform:none;margin-bottom:2px;}

  /* signature diagram (reused for Hero and Prompts section) */
  .signal-card{
    background:var(--black);border-radius:20px;padding:32px 28px 28px;color:var(--white);
    box-shadow:0 40px 70px -24px rgba(0,0,0,0.4);
  }
  .signal-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;}
  .signal-card-head span{font-family:var(--font-mono);font-size:11.5px;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:.08em;}
  .live-dot{display:inline-flex;align-items:center;gap:6px;color:var(--yellow);}
  .live-dot::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--yellow);animation:pulse 1.8s ease-in-out infinite;}
  @keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}}
  .signal-diagram{display:flex;align-items:center;gap:14px;}
  .chip-col{flex:1;display:flex;flex-direction:column;gap:10px;}
  .chip{
    background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);
    border-radius:10px;padding:11px 12px;font-family:var(--font-mono);font-size:13px;
    color:rgba(255,255,255,0.75);text-align:center;
    animation:fadeSlide .6s var(--ease) both;
  }
  .chip-col.before .chip:nth-child(1){animation-delay:.05s}
  .chip-col.before .chip:nth-child(2){animation-delay:.15s}
  .chip-col.before .chip:nth-child(3){animation-delay:.25s}
  .chip-col.before .chip:nth-child(4){animation-delay:.35s}
  .chip-col.before .chip:nth-child(5){animation-delay:.45s}
  .flow-arrow-col{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--yellow);}
  .flow-arrow-col svg{width:24px;height:24px;}
  .flow-arrow-col span{font-family:var(--font-mono);font-size:9.5px;color:rgba(255,255,255,0.45);text-align:center;line-height:1.4;}
  .chip-col.after .chip, .chip.accent{
    background:rgba(255,193,7,0.14);border-color:rgba(255,193,7,0.4);color:var(--yellow);font-weight:600;
    animation-delay:.55s;
  }
  .chip-col.after{justify-content:center;height:100%;}
  @keyframes fadeSlide{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
  .signal-caption{margin-top:22px;font-size:13px;color:rgba(255,255,255,0.5);border-top:1px solid rgba(255,255,255,0.1);padding-top:16px;}

  /* ---------- SECTION HEADS ---------- */
  .section-head{max-width:640px;margin-bottom:56px;}
  .section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
  .section-head h2{font-size:clamp(28px,3.4vw,40px);margin-top:16px;}
  .section-head p{color:var(--gray);font-size:16.5px;margin-top:14px;}

  /* reveal-on-scroll */
  .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease), transform .6s var(--ease);}
  .reveal.is-visible{opacity:1;transform:translateY(0);}

  /* ---------- CHECKLIST (PROBLEMA) ---------- */
  .checklist-intro{max-width:640px;margin:0 auto 40px;text-align:center;}
  .checklist-intro h2{font-size:clamp(26px,3.2vw,36px);margin-top:16px;}
  .checklist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:36px;}
  .check-item{
    display:flex;gap:12px;align-items:flex-start;border:1px solid var(--border);border-radius:12px;padding:20px;background:var(--bg-alt);
  }
  .check-item svg{width:20px;height:20px;color:var(--yellow);flex-shrink:0;margin-top:2px;}
  .check-item p{font-size:15px;color:var(--black);}
  .checklist-bridge{text-align:center;font-size:17px;font-weight:600;font-family:var(--font-display);max-width:640px;margin:0 auto;}
  .checklist-bridge .hl{color:var(--black);border-bottom:3px solid var(--yellow);}

  /* ---------- SERVICES / AGENTS / PERSONAS (card grids) ---------- */
  .services{padding:110px 0;background:var(--white);}
  .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .service-card{
    border:1px solid var(--border);border-radius:var(--radius);padding:30px 26px;
    background:var(--white);transition:.25s ease;
  }
  .service-card:hover{border-color:var(--black);transform:translateY(-4px);box-shadow:0 20px 34px -18px rgba(0,0,0,0.18);}
  .service-icon{
    width:46px;height:46px;border-radius:10px;background:var(--black);color:var(--yellow);
    display:flex;align-items:center;justify-content:center;margin-bottom:20px;transition:transform .25s var(--ease);
  }
  .service-card:hover .service-icon{transform:scale(1.08) rotate(-4deg);}
  .service-icon svg{width:22px;height:22px;}
  .service-card h3{font-size:18px;margin-bottom:10px;}
  .service-card p{color:var(--gray);font-size:14.5px;}
  .service-card .card-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:13.5px;font-weight:600;color:var(--black);border-bottom:2px solid var(--yellow);padding-bottom:2px;}

  .persona-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
  .persona-card{border:1px solid var(--border);border-radius:var(--radius);padding:24px 18px;text-align:center;transition:.25s ease;}
  .persona-card:hover{border-color:var(--black);transform:translateY(-4px);}
  .persona-card .service-icon{margin:0 auto 16px;}
  .persona-card h3{font-size:15.5px;}
