:root{
  --bg:#ffffff;
  --soft:#f5f7f9;
  --text:#101828;
  --muted:#667085;
  --line:#e4e7ec;
  --green:#11a36a;
  --green-dark:#087a50;
  --green-soft:#eaf8f2;
  --dark:#0f1720;
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:var(--bg);
  font-family:"Manrope",system-ui,sans-serif;
  line-height:1.65;
}
a{text-decoration:none;color:inherit}
svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.container{width:min(1160px,calc(100% - 40px));margin:auto}
.header{
  position:sticky;top:0;z-index:30;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:11px;font-size:.85rem;font-weight:800;letter-spacing:.1em}
.logo-mark{
  width:36px;height:36px;border-radius:10px;display:grid;place-items:center;
  background:var(--green);color:#fff;font-size:1rem;letter-spacing:0
}
nav{display:flex;align-items:center;gap:30px}
nav>a{font-size:.9rem;font-weight:600;color:#475467}
nav>a:hover{color:var(--green-dark)}
.nav-btn{padding:11px 18px;border-radius:10px;background:var(--dark);color:white!important}

.hero{
  position:relative;overflow:hidden;
  padding:95px 0 88px;
  background:
    radial-gradient(circle at 88% 10%,rgba(17,163,106,.12),transparent 30%),
    linear-gradient(180deg,#fff 0%,#fbfdfc 100%);
}
.hero::after{
  content:"";position:absolute;right:-140px;top:30px;width:400px;height:400px;
  border:1px solid rgba(17,163,106,.14);border-radius:50%;
  box-shadow:0 0 0 55px rgba(17,163,106,.035),0 0 0 110px rgba(17,163,106,.025)
}
.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:70px;align-items:center;position:relative;z-index:1}
.pill{
  display:inline-flex;align-items:center;gap:9px;padding:8px 12px;
  background:var(--green-soft);color:var(--green-dark);
  border:1px solid #ccefe0;border-radius:999px;font-size:.78rem;font-weight:700
}
.pill span{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(17,163,106,.12)}
h1{
  margin:24px 0 22px;font-size:clamp(3.2rem,6vw,6rem);line-height:1.02;
  letter-spacing:-.06em;max-width:720px
}
h1 em{font-style:normal;color:var(--green)}
.hero-copy>p{font-size:1.13rem;color:var(--muted);max-width:650px;margin:0}
.hero-actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.btn{
  min-height:54px;padding:0 22px;border-radius:12px;display:inline-flex;align-items:center;
  justify-content:center;gap:10px;font-size:.93rem;font-weight:800;transition:.22s ease
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--green);color:#fff;box-shadow:0 14px 32px rgba(17,163,106,.22)}
.btn-primary:hover{background:var(--green-dark)}
.btn-light{border:1px solid var(--line);background:#fff;color:var(--text)}
.trust{display:flex;gap:38px;margin-top:42px;padding-top:28px;border-top:1px solid var(--line)}
.trust div{display:flex;flex-direction:column}
.trust strong{font-size:1rem}
.trust span{font-size:.76rem;color:var(--muted)}

.hero-visual{position:relative;min-height:510px;display:grid;place-items:center}
.browser-card{
  width:100%;max-width:510px;border:1px solid #d9e1dd;border-radius:22px;
  background:#fff;box-shadow:0 30px 70px rgba(16,24,40,.15);overflow:hidden;
  transform:rotate(1.5deg)
}
.browser-top{height:48px;background:#f7f8f8;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 14px;gap:16px}
.browser-dots{display:flex;gap:6px}
.browser-dots i{width:8px;height:8px;border-radius:50%;background:#cbd5d0}
.browser-address{height:25px;flex:1;background:white;border:1px solid var(--line);border-radius:7px;color:#98a2b3;font-size:.67rem;display:grid;place-items:center}
.browser-content{padding:28px;background:linear-gradient(145deg,#fbfffd,#f1f8f4)}
.mini-header{display:flex;gap:9px;align-items:center}
.mini-header span:not(.mini-logo){width:44px;height:7px;background:#cfd9d4;border-radius:8px}
.mini-logo{width:25px!important;height:25px!important;background:var(--green)!important;border-radius:7px;margin-right:auto}
.mini-hero{padding:55px 8px 35px}
.mini-hero small{color:var(--green-dark);font-size:.6rem;font-weight:800}
.mini-hero h3{font-size:2.2rem;line-height:1.02;letter-spacing:-.05em;margin:12px 0 16px}
.mini-hero p{width:80%;height:7px;background:#ccd8d2;border-radius:10px;margin:8px 0}
.mini-hero p:nth-of-type(2){width:60%}
.mini-hero button{margin-top:18px;border:0;background:var(--green);color:white;border-radius:8px;padding:11px 15px;font-weight:700}
.mini-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.mini-cards span{height:70px;background:white;border:1px solid #dce6e1;border-radius:10px}
.floating-card{
  position:absolute;display:flex;align-items:center;gap:10px;padding:13px 15px;background:white;
  border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(16,24,40,.13)
}
.floating-card .icon{width:34px;height:34px;border-radius:10px;background:var(--green-soft);color:var(--green-dark);display:grid;place-items:center;font-weight:800}
.floating-card div{display:flex;flex-direction:column}
.floating-card strong{font-size:.82rem}.floating-card small{font-size:.68rem;color:var(--muted)}
.card-one{left:-25px;top:105px}.card-two{right:-18px;bottom:78px}

.logos{border-block:1px solid var(--line);padding:30px 0;background:#fff}
.logos p{text-align:center;color:var(--muted);font-size:.78rem;margin:0 0 22px}
.logo-list{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#98a2b3;font-size:.74rem;font-weight:800;letter-spacing:.08em}

.section{padding:110px 0}
.services{background:var(--soft)}
.section-head{max-width:720px;margin-bottom:45px}
.overline{color:var(--green-dark);font-size:.74rem;font-weight:800;letter-spacing:.14em}
.section-head h2,.cta h2{font-size:clamp(2.2rem,4.5vw,4rem);line-height:1.08;letter-spacing:-.05em;margin:12px 0 14px}
.section-head p{color:var(--muted);margin:0;max-width:620px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{
  position:relative;padding:30px;border:1px solid var(--line);border-radius:var(--radius);
  background:#fff;min-height:430px;transition:.25s ease
}
.service-card:hover{transform:translateY(-6px);box-shadow:0 22px 55px rgba(16,24,40,.09);border-color:#c8ded3}
.service-card.featured{border-top:4px solid var(--green)}
.service-icon{width:52px;height:52px;border-radius:14px;background:var(--green-soft);color:var(--green-dark);display:grid;place-items:center}
.service-icon svg{width:25px}
.number{position:absolute;top:30px;right:30px;color:#98a2b3;font-size:.76rem;font-weight:800}
.service-card h3{font-size:1.4rem;margin:65px 0 12px;letter-spacing:-.03em}
.service-card p{color:var(--muted);margin:0 0 22px}
.service-card ul{list-style:none;margin:0;padding:0}
.service-card li{position:relative;padding:7px 0 7px 22px;font-size:.87rem;color:#344054}
.service-card li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}

.process{background:#fff}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.steps article{padding:28px 26px;border:1px solid var(--line);border-radius:18px}
.steps span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--dark);color:#fff;font-size:.75rem;font-weight:800}
.steps h3{margin:24px 0 8px;font-size:1.16rem}
.steps p{margin:0;color:var(--muted);font-size:.9rem}

.cta{padding:0 0 90px}
.cta-box{
  display:flex;align-items:center;justify-content:space-between;gap:30px;
  padding:48px;border-radius:28px;background:var(--green);color:#fff
}
.cta .overline{color:#d9fff0}
.cta h2{margin-bottom:8px}
.cta p{margin:0;color:#dff7ec}
.btn-dark{background:var(--dark);color:#fff;flex:0 0 auto}

footer{border-top:1px solid var(--line)}
.footer-inner{min-height:110px;display:flex;align-items:center;justify-content:space-between}
.footer-inner p{font-size:.8rem;color:var(--muted)}
.mobile-contact{
  display:none;position:fixed;right:18px;bottom:18px;width:54px;height:54px;border-radius:50%;
  background:var(--green);color:white;place-items:center;box-shadow:0 14px 35px rgba(17,163,106,.3);z-index:25
}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:920px){
  .hero-grid{grid-template-columns:1fr;gap:50px}
  .hero-copy{text-align:center}
  .hero-copy>p{margin:auto}
  .hero-actions,.trust{justify-content:center}
  .hero-visual{min-height:470px}
  .service-grid,.steps{grid-template-columns:1fr}
  .service-card{min-height:auto}
}
@media(max-width:650px){
  .container{width:min(100% - 28px,1160px)}
  .nav{height:68px}
  nav>a:not(.nav-btn){display:none}
  .nav-btn{padding:9px 13px}
  .hero{padding:70px 0 62px}
  h1{font-size:clamp(2.8rem,14vw,4.6rem)}
  .hero-copy>p{font-size:1rem}
  .hero-actions{flex-direction:column}
  .btn{width:100%}
  .trust{gap:20px;justify-content:space-between}
  .trust span{font-size:.66rem}
  .hero-visual{min-height:365px}
  .browser-card{transform:none}
  .browser-content{padding:20px}
  .mini-hero{padding:35px 4px 25px}
  .mini-hero h3{font-size:1.6rem}
  .floating-card{display:none}
  .logo-list{justify-content:center}
  .section{padding:78px 0}
  .service-card{padding:24px}
  .cta{padding-bottom:60px}
  .cta-box{padding:30px 24px;flex-direction:column;align-items:flex-start;border-radius:22px}
  .footer-inner{padding:28px 0 88px;gap:18px;align-items:flex-start;flex-direction:column}
  .mobile-contact{display:grid}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
