:root{
  --emerald:#16a34a;
  --orange:#ea580c;
  --bg:#020617;
  --card:rgba(255,255,255,.06);
  --border:rgba(255,255,255,.10);
}
html{font-size:18px; scroll-behavior:smooth;}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;}
.font-display{font-family:Montserrat,Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;}
.navlink{color:rgba(226,232,240,.9); transition:color .15s ease, opacity .15s ease;}
.navlink:hover{color:#fff;}
.bg-hero{
  background:
    radial-gradient(900px 450px at 20% 20%, rgba(22,163,74,.26), transparent 60%),
    radial-gradient(800px 520px at 80% 30%, rgba(234,88,12,.22), transparent 55%),
    radial-gradient(700px 500px at 55% 75%, rgba(22,163,74,.18), transparent 60%),
    linear-gradient(180deg, rgba(2,6,23,1), rgba(2,6,23,.7));
}
.btn-primary{
  display:inline-flex; align-items:center; gap:.6rem;
  padding:.8rem 1.05rem; border-radius:1.25rem;
  background:linear-gradient(135deg, rgba(22,163,74,1), rgba(234,88,12,1));
  color:#0b1220; font-weight:700;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 20px 40px rgba(0,0,0,.35);
  transition:transform .15s ease, filter .15s ease;
}
.btn-primary:hover{transform:translateY(-1px); filter:saturate(1.05) brightness(1.02);}
.btn-ghost{
  display:inline-flex; align-items:center; gap:.6rem;
  padding:.8rem 1.05rem; border-radius:1.25rem;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  color:#fff; font-weight:700;
  transition:background .15s ease, transform .15s ease;
}
.btn-ghost:hover{background:rgba(255,255,255,.10); transform:translateY(-1px);}
.input{
  border-radius:1.15rem;
  padding:.8rem .9rem;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  outline:none;
}
.input:focus{
  border-color:rgba(234,88,12,.55);
  box-shadow:0 0 0 4px rgba(234,88,12,.18);
}
.pill{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.45rem .7rem; border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
}
.stat-tile{
  border-radius:1.5rem;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  padding:1rem;
}
.stat-num{
  font-family:Montserrat,Inter,sans-serif;
  font-weight:800;
  font-size:1.55rem;
  letter-spacing:-.02em;
  color:#fff;
}
.stat-label{margin-top:.25rem; font-size:.85rem; color:rgba(226,232,240,.85); line-height:1.25;}
.card{
  border-radius:2rem;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  padding:1.5rem;
  position:relative;
  overflow:hidden;
}
.card:before{
  content:"";
  position:absolute; inset:-2px;
  background:radial-gradient(600px 200px at 30% 10%, rgba(22,163,74,.25), transparent 60%),
             radial-gradient(500px 220px at 80% 30%, rgba(234,88,12,.22), transparent 60%);
  opacity:.8;
  pointer-events:none;
}
.card > *{position:relative;}
.card-icon{
  height:3rem; width:3rem;
  border-radius:1.25rem;
  display:flex; align-items:center; justify-content:center;
  background:rgba(22,163,74,.16);
  border:1px solid rgba(22,163,74,.22);
  color:rgba(167,243,208,1);
}
.card-title{margin-top:1rem; font-family:Montserrat,Inter,sans-serif; font-size:1.25rem; font-weight:800; color:#fff;}
.card-text{margin-top:.6rem; color:rgba(226,232,240,.85); line-height:1.55;}
.card-foot{margin-top:1rem; display:flex; flex-wrap:wrap; gap:.5rem;}
.chip{
  font-size:.8rem;
  padding:.35rem .6rem;
  border-radius:999px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  color:rgba(226,232,240,.92);
}
.sector{
  display:flex; gap:1rem; align-items:flex-start;
  border-radius:1.75rem;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  padding:1rem 1.1rem;
}
.case-row{
  display:flex; gap:1rem; align-items:flex-start;
}
.case-img{
  width:92px; height:92px;
  object-fit:cover;
  border-radius:1.25rem;
  border:1px solid rgba(255,255,255,.10);
}
.case-title{font-family:Montserrat,Inter,sans-serif; font-weight:800; color:#fff;}
.case-text{margin-top:.35rem; color:rgba(226,232,240,.85); font-size:.9rem; line-height:1.45;}
.review{
  border-radius:2rem;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  padding:1.5rem;
}
.review-stars{color:rgba(234,88,12,1); display:flex; gap:.25rem;}
.review-text{margin-top:.9rem; color:rgba(226,232,240,.9); line-height:1.55;}
.review-meta{margin-top:1.2rem; display:flex; gap:.8rem; align-items:center;}
.review-avatar{
  height:44px; width:44px; border-radius:1.25rem;
  display:flex; align-items:center; justify-content:center;
  background:rgba(234,88,12,.18);
  border:1px solid rgba(234,88,12,.26);
  font-family:Montserrat,Inter,sans-serif; font-weight:800; color:#fff;
}
.review-name{font-weight:700; color:#fff;}
.review-role{font-size:.85rem; color:rgba(226,232,240,.75);}
@media (prefers-reduced-motion:no-preference){
  .card, .review, .stat-tile{transition:transform .18s ease, background .18s ease;}
  .card:hover, .review:hover, .stat-tile:hover{transform:translateY(-2px);}
}