:root{
    --navy:#0f172a;
    --slate-900:#1e293b;
    --slate-600:#475569;
    --slate-400:#94a3b8;
    --slate-200:#e2e8f0;
    --slate-50:#f8fafc;
    --lime:#bef264;
    --lime-deep:#a3e635;
    --white:#ffffff;
    --display:'Space Grotesk',sans-serif;
    --body:'Inter',sans-serif;
    --maxw:1200px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    font-family:var(--body);
    color:var(--navy);
    background:var(--white);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{font-family:var(--display);font-weight:600;line-height:1.1;letter-spacing:-0.02em}
  a{text-decoration:none;color:inherit}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
  section{scroll-margin-top:80px}

  /* HEADER */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(255,255,255,.85);backdrop-filter:blur(12px);
    border-bottom:1px solid var(--slate-200);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;height:72px}
  .logo{font-family:var(--display);font-weight:700;font-size:1.35rem;letter-spacing:-0.03em;display:flex;align-items:center;gap:10px}
  .logo .dot{width:10px;height:10px;border-radius:50%;background:var(--lime-deep);display:inline-block}
  .nav-links{display:flex;gap:36px;align-items:center}
  .nav-links a{font-size:.93rem;font-weight:500;color:var(--slate-600);transition:color .2s}
  .nav-links a:hover{color:var(--navy)}
  .btn{
    font-family:var(--body);font-weight:600;font-size:.93rem;
    padding:11px 22px;border-radius:8px;cursor:pointer;border:none;transition:all .2s;display:inline-block;
  }
  .btn-lime{background:var(--lime);color:var(--navy)}
  .btn-lime:hover{background:var(--lime-deep);transform:translateY(-1px)}
  .btn-dark{background:var(--navy);color:var(--white)}
  .btn-dark:hover{background:var(--slate-900);transform:translateY(-1px)}
  .btn-ghost{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.3)}
  .btn-ghost:hover{border-color:var(--white);background:rgba(255,255,255,.08)}
  .menu-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px}
  .menu-toggle span{width:24px;height:2px;background:var(--navy);display:block;transition:.3s}

  /* HERO */
  .hero{padding:160px 0 100px;background:var(--navy);color:var(--white);position:relative;overflow:hidden}
  .hero::before{content:"";position:absolute;top:-20%;right:-10%;width:600px;height:600px;background:radial-gradient(circle,rgba(190,242,100,.12),transparent 70%);border-radius:50%}
  .hero .wrap{position:relative;z-index:2}
  .hero .eyebrow{font-family:var(--display);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--lime);margin-bottom:24px;font-weight:500}
  .hero h1{font-size:clamp(2.6rem,6vw,4.6rem);max-width:880px;margin-bottom:28px}
  .hero h1 em{font-style:normal;color:var(--lime)}
  .hero p{font-size:1.18rem;color:var(--slate-400);max-width:560px;margin-bottom:40px}
  .hero-cta{display:flex;gap:16px;flex-wrap:wrap}
  .hero-meta{display:flex;gap:48px;margin-top:72px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);padding-top:36px}
  .hero-meta div span{display:block}
  .hero-meta .num{font-family:var(--display);font-size:2.2rem;font-weight:600;color:var(--white)}
  .hero-meta .lbl{font-size:.85rem;color:var(--slate-400)}

  /* SERVICES BENTO */
  .sec-head{max-width:640px;margin-bottom:56px}
  .sec-head .eyebrow{font-family:var(--display);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--lime-deep);font-weight:600;margin-bottom:16px}
  .sec-head h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:18px}
  .sec-head p{font-size:1.08rem;color:var(--slate-600)}
  .services{padding:110px 0}
  .bento{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;grid-auto-rows:minmax(240px,auto)}
  .card{border-radius:18px;padding:34px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s,box-shadow .25s}
  .card:hover{transform:translateY(-4px);box-shadow:0 24px 48px rgba(15,23,42,.10)}
  .card .ic{font-size:1.5rem;width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:auto}
  .card h3{font-size:1.4rem;margin:24px 0 10px}
  .card p{font-size:.98rem;line-height:1.55}
  .card.feature{grid-column:span 2;background:var(--lime);color:var(--navy)}
  .card.feature .ic{background:var(--navy);color:var(--lime)}
  .card.feature p{color:var(--slate-900)}
  .card.dark{background:var(--navy);color:var(--white)}
  .card.dark .ic{background:rgba(190,242,100,.15);color:var(--lime)}
  .card.dark p{color:var(--slate-400)}
  .card.light{background:var(--slate-50);border:1px solid var(--slate-200)}
  .card.light .ic{background:var(--white);border:1px solid var(--slate-200)}
  .card.light p{color:var(--slate-600)}

  /* STATS */
  .stats{padding:90px 0;background:var(--slate-50);border-top:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200)}
  .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;text-align:center}
  .stat .num{font-family:var(--display);font-size:3rem;font-weight:600;color:var(--navy)}
  .stat .num em{font-style:normal;color:var(--lime-deep)}
  .stat .lbl{color:var(--slate-600);font-size:.95rem;margin-top:6px}

  /* ABOUT */
  .about{padding:110px 0}
  .about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center}
  .about-text h2{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:24px}
  .about-text p{color:var(--slate-600);font-size:1.05rem;margin-bottom:18px}
  .about-values{display:grid;gap:18px;margin-top:32px}
  .value{display:flex;gap:16px;align-items:flex-start}
  .value .chk{flex-shrink:0;width:26px;height:26px;border-radius:7px;background:var(--lime);color:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}
  .value strong{font-family:var(--display);display:block;margin-bottom:2px}
  .value span{color:var(--slate-600);font-size:.95rem}
  .about-visual{background:var(--navy);border-radius:20px;padding:48px;color:var(--white);position:relative;overflow:hidden}
  .about-visual::after{content:"";position:absolute;bottom:-30%;left:-20%;width:340px;height:340px;background:radial-gradient(circle,rgba(190,242,100,.14),transparent 70%);border-radius:50%}
  .about-visual h3{font-size:1.6rem;color:var(--lime);margin-bottom:20px;position:relative}
  .about-visual .quote{font-size:1.15rem;line-height:1.6;position:relative;margin-bottom:28px}
  .about-visual .sig{position:relative;border-top:1px solid rgba(255,255,255,.15);padding-top:20px}
  .about-visual .sig strong{font-family:var(--display);display:block}
  .about-visual .sig span{color:var(--slate-400);font-size:.9rem}

  /* TEAM */
  .team{padding:110px 0;background:var(--slate-50)}
  .team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
  .member{background:var(--white);border:1px solid var(--slate-200);border-radius:16px;overflow:hidden;transition:transform .25s}
  .member:hover{transform:translateY(-4px)}
  .member .avatar{height:140px;background:linear-gradient(135deg,var(--navy),var(--slate-900));display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:2.4rem;font-weight:600;color:var(--lime)}
  .member .info{padding:22px}
  .member h4{font-size:1.1rem;margin-bottom:4px}
  .member .role{color:var(--lime-deep);font-size:.85rem;font-weight:600;font-family:var(--display)}
  .member p{color:var(--slate-600);font-size:.88rem;margin-top:10px}

  /* CONTACT */
  .contact{padding:0}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;min-height:620px}
  .contact-left{background:var(--navy);color:var(--white);padding:80px 64px;position:relative;overflow:hidden}
  .contact-left::before{content:"";position:absolute;top:-15%;right:-15%;width:400px;height:400px;background:radial-gradient(circle,rgba(190,242,100,.12),transparent 70%);border-radius:50%}
  .contact-left .inner{position:relative;z-index:2}
  .contact-left h2{font-size:2.4rem;margin-bottom:18px}
  .contact-left>.inner>p{color:var(--slate-400);font-size:1.05rem;margin-bottom:40px}
  .trust{display:grid;gap:22px;margin-bottom:48px}
  .trust div{display:flex;gap:14px;align-items:flex-start}
  .trust .b{flex-shrink:0;width:28px;height:28px;border-radius:8px;background:rgba(190,242,100,.15);color:var(--lime);display:flex;align-items:center;justify-content:center;font-size:.9rem}
  .trust strong{font-family:var(--display);display:block;font-size:.98rem}
  .trust span{color:var(--slate-400);font-size:.88rem}
  .testi{border-left:3px solid var(--lime);padding-left:20px}
  .testi p{font-style:italic;color:var(--slate-200);margin-bottom:10px}
  .testi cite{color:var(--lime);font-style:normal;font-size:.88rem;font-family:var(--display)}
  .contact-right{background:var(--white);padding:80px 64px}
  .form-group{margin-bottom:22px}
  .form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:8px;color:var(--slate-900);font-family:var(--display)}
  .form-group input,.form-group textarea,.form-group select{
    width:100%;padding:13px 16px;border:1px solid var(--slate-200);border-radius:10px;
    font-family:var(--body);font-size:.95rem;color:var(--navy);background:var(--slate-50);transition:border .2s,background .2s;
  }
  .form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--lime-deep);background:var(--white)}
  .form-group textarea{resize:vertical;min-height:110px}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .err{color:#dc2626;font-size:.8rem;margin-top:6px;display:none}
  .success{text-align:center;padding:40px 0}
  .success .circle{width:72px;height:72px;border-radius:50%;background:var(--lime);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 24px;font-weight:700}
  .success h3{font-size:1.6rem;margin-bottom:12px}
  .success p{color:var(--slate-600)}

  /* CTA */
  .cta-band{padding:90px 0}
  .cta-inner{background:var(--lime);border-radius:24px;padding:64px;text-align:center;position:relative;overflow:hidden}
  .cta-inner h2{font-size:clamp(2rem,4vw,2.8rem);color:var(--navy);margin-bottom:16px}
  .cta-inner p{color:var(--slate-900);font-size:1.1rem;margin-bottom:32px;max-width:520px;margin-left:auto;margin-right:auto}

  /* FOOTER */
  footer{background:var(--navy);color:var(--white);padding:72px 0 36px}
  .foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
  .foot-brand .logo{color:var(--white);margin-bottom:16px}
  .foot-brand p{color:var(--slate-400);font-size:.95rem;max-width:280px}
  .foot-col h4{font-size:.95rem;color:var(--lime);margin-bottom:18px}
  .foot-col a{display:block;color:var(--slate-400);font-size:.92rem;margin-bottom:12px;transition:color .2s}
  .foot-col a:hover{color:var(--white)}
  .foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:28px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:var(--slate-400);font-size:.88rem}

  /* reveal animation */
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}

  /* RESPONSIVE */
  @media(max-width:900px){
    .nav-links{position:fixed;top:72px;left:0;right:0;background:var(--white);flex-direction:column;padding:24px 32px;gap:20px;border-bottom:1px solid var(--slate-200);transform:translateY(-120%);transition:transform .3s;align-items:flex-start}
    .nav-links.open{transform:none}
    .menu-toggle{display:flex}
    .bento{grid-template-columns:1fr}
    .card.feature{grid-column:span 1}
    .stats-grid{grid-template-columns:repeat(2,1fr);gap:40px 24px}
    .about-grid{grid-template-columns:1fr;gap:48px}
    .team-grid{grid-template-columns:repeat(2,1fr)}
    .contact-grid{grid-template-columns:1fr}
    .contact-left,.contact-right{padding:56px 32px}
    .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
  }
  @media(max-width:560px){
    .wrap{padding:0 20px}
    .team-grid{grid-template-columns:1fr}
    .foot-grid{grid-template-columns:1fr}
    .form-row{grid-template-columns:1fr}
    .cta-inner{padding:40px 24px}
    .hero-meta{gap:28px}
  }