*{box-sizing:border-box}

:root{
  --bg:#f8f8fc;
  --surface:rgba(255,255,255,.72);
  --surface-strong:#ffffff;
  --text:#15151d;
  --muted:#636375;
  --line:rgba(139,139,170,.20);
  --purple:#6d5bd0;
  --purple-strong:#5541bf;
  --purple-soft:#ece8ff;
  --gray:#9393a3;
  --shadow:0 20px 60px rgba(23,23,40,.10);
  --radius-xl:28px;
  --radius-lg:22px;
  --radius-md:16px;
  --container:1180px;
}

html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter",sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(109,91,208,.10), transparent 28%),
    radial-gradient(circle at 85% 15%, rgba(109,91,208,.08), transparent 25%),
    linear-gradient(180deg, #fcfcff 0%, #f6f5fb 100%);
  line-height:1.6;
  overflow-x:hidden;
}

a{text-decoration:none;color:inherit}
img,svg{display:block;max-width:100%}

.bg-orb{
  position:fixed;
  border-radius:50%;
  filter:blur(80px);
  opacity:.30;
  pointer-events:none;
  z-index:0;
}
.orb-1{width:320px;height:320px;top:40px;right:-80px;background:#a18eff}
.orb-2{width:260px;height:260px;bottom:60px;left:-60px;background:#d7d0ff}
.bg-grid{
  position:fixed;
  inset:0;
  background-image:linear-gradient(rgba(109,91,208,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(109,91,208,.04) 1px, transparent 1px);
  background-size:34px 34px;
  mask-image:radial-gradient(circle at center, black 35%, transparent 85%);
  pointer-events:none;
  z-index:0;
}

.site-header, main, footer{position:relative;z-index:1}

.container{
  width:min(var(--container), calc(100% - 2rem));
  margin:0 auto;
}

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  backdrop-filter:blur(16px);
  background:rgba(255,255,255,.55);
  border-bottom:1px solid rgba(255,255,255,.45);
}

.nav-wrapper{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}

.logo{
  font-size:1.35rem;
  font-weight:900;
  letter-spacing:-.04em;
}
.logo span{color:var(--purple)}

.nav{
  display:flex;
  align-items:center;
  gap:1.4rem;
}
.nav a{
  font-weight:600;
  color:var(--muted);
}
.nav a:hover{color:var(--purple)}

.header-actions{
  display:flex;
  align-items:center;
  gap:.75rem;
}

.lang-switcher{
  display:flex;
  gap:.4rem;
}

.lang-btn,.menu-toggle{
  border:1px solid var(--line);
  background:rgba(255,255,255,.75);
  color:var(--text);
  border-radius:999px;
  font-weight:700;
  cursor:pointer;
}
.lang-btn{padding:.48rem .78rem}
.lang-btn.active{
  background:var(--purple);
  color:#fff;
  border-color:var(--purple);
}
.menu-toggle{
  display:none;
  padding:.45rem .85rem;
}

.section{padding:100px 0}

.pill{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.5rem .85rem;
  border-radius:999px;
  background:rgba(109,91,208,.10);
  color:var(--purple-strong);
  font-weight:700;
  font-size:.9rem;
  border:1px solid rgba(109,91,208,.14);
  margin-bottom:1rem;
}

.hero{padding-top:72px}
.hero-grid,.expertise-grid,.contact-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:2rem;
  align-items:center;
}

.hero-copy h1,
.section-heading h2{
  margin:0 0 1rem;
  font-size:clamp(2.5rem, 5vw, 4.5rem);
  line-height:1.02;
  letter-spacing:-.055em;
}

.hero-text,
.section-heading p,
.service-card p,
.expertise-item p,
.timeline-item p,
.contact-panel p,
.form-help,
.footer-inner p{
  color:var(--muted);
}

.hero-text{max-width:720px;font-size:1.07rem}
.hero-actions{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  margin:2rem 0;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:1rem 1.35rem;
  border-radius:999px;
  font-weight:800;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  background:linear-gradient(135deg, var(--purple), #8a76ff);
  color:#fff;
  box-shadow:0 18px 35px rgba(109,91,208,.24);
}
.btn-secondary{
  border:1px solid var(--line);
  background:rgba(255,255,255,.72);
  color:var(--text);
}

.hero-trust{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1rem;
  margin-top:1rem;
}

.trust-card,
.service-card,
.expertise-item,
.timeline-item,
.contact-panel,
.contact-form,
.dashboard-card,
.expertise-visual{
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  border-radius:var(--radius-xl);
}

.glass{
  background:rgba(255,255,255,.66);
  backdrop-filter:blur(18px);
}

.trust-card{
  padding:1rem;
  background:rgba(255,255,255,.62);
}
.trust-card strong{
  display:block;
  font-size:1.25rem;
  color:var(--purple-strong);
  margin-bottom:.25rem;
}

.dashboard-card{padding:1.2rem}
.dashboard-top{display:flex;gap:.4rem;margin-bottom:1rem}
.dot{
  width:10px;height:10px;border-radius:50%;
  background:#cfcfe2;
}
.dashboard-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
  margin-bottom:1rem;
}
.metric-card,.graph-card,.mini-panel,.signal-card{
  border:1px solid rgba(109,91,208,.10);
  background:rgba(255,255,255,.72);
  border-radius:18px;
}
.metric-card{padding:1rem}
.metric-card small{display:block;color:var(--muted);margin-bottom:.4rem}
.metric-card strong{font-size:1.4rem}

.graph-card{padding:1rem}
.graph-bars{
  display:flex;
  align-items:flex-end;
  gap:.55rem;
  height:96px;
  margin-bottom:1rem;
}
.graph-bars span{
  flex:1;
  border-radius:999px 999px 10px 10px;
  background:linear-gradient(180deg, #b3a7ff, #6d5bd0);
}
.graph-bars span:nth-child(1){height:38%}
.graph-bars span:nth-child(2){height:56%}
.graph-bars span:nth-child(3){height:72%}
.graph-bars span:nth-child(4){height:64%}
.graph-bars span:nth-child(5){height:90%}
.graph-line{
  color:var(--purple);
}
.graph-line svg{width:100%;height:80px}

.dashboard-row.two{align-items:stretch}
.mini-panel{padding:1rem}
.mini-panel span{
  display:block;
  font-weight:700;
  margin-bottom:.85rem;
}
.mini-progress{
  height:12px;
  background:#ebe9f8;
  border-radius:999px;
  overflow:hidden;
}
.mini-progress i{
  display:block;
  width:76%;
  height:100%;
  background:linear-gradient(90deg, var(--purple), #9a88ff);
  border-radius:999px;
}
.donut{
  width:74px;height:74px;border-radius:50%;
  background:conic-gradient(var(--purple) 0 74%, #e2def7 74% 100%);
  position:relative;
}
.donut::after{
  content:"";
  position:absolute;
  inset:14px;
  border-radius:50%;
  background:rgba(255,255,255,.95);
}

.section-heading{
  max-width:900px;
  margin:0 auto 2.5rem;
  text-align:center;
}
.section-heading.left{
  margin-left:0;
  text-align:left;
}

.services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.service-card{padding:1.4rem}
.card-tag{
  display:inline-flex;
  margin-bottom:1rem;
  font-size:.83rem;
  font-weight:800;
  letter-spacing:.02em;
  color:var(--purple-strong);
  background:var(--purple-soft);
  padding:.4rem .7rem;
  border-radius:999px;
}
.service-card h3,
.expertise-item h3,
.timeline-item h3,
.contact-panel h3{
  margin:0 0 .55rem;
  font-size:1.08rem;
  letter-spacing:-.02em;
}

.expertise-list{
  display:grid;
  gap:1rem;
  margin-top:1.2rem;
}
.expertise-item{padding:1.2rem}
.expertise-visual{
  padding:1.2rem;
  display:grid;
  gap:1rem;
  min-height:100%;
}
.signal-card{padding:1rem}
.signal-label{
  display:block;
  font-weight:700;
  margin-bottom:.9rem;
}
.signal-bars{
  display:flex;
  align-items:flex-end;
  gap:.5rem;
  height:80px;
}
.signal-bars i{
  flex:1;
  background:linear-gradient(180deg, #c2b8ff, #6d5bd0);
  border-radius:999px;
}
.signal-bars i:nth-child(1){height:45%}
.signal-bars i:nth-child(2){height:68%}
.signal-bars i:nth-child(3){height:82%}
.signal-bars i:nth-child(4){height:100%}
.signal-wave{
  height:72px;
  border-radius:18px;
  background:
    radial-gradient(circle at 10% 50%, rgba(109,91,208,.18) 0 16px, transparent 17px),
    radial-gradient(circle at 30% 40%, rgba(109,91,208,.20) 0 14px, transparent 15px),
    radial-gradient(circle at 52% 58%, rgba(109,91,208,.22) 0 16px, transparent 17px),
    radial-gradient(circle at 76% 30%, rgba(109,91,208,.20) 0 12px, transparent 13px),
    radial-gradient(circle at 92% 46%, rgba(109,91,208,.18) 0 18px, transparent 19px);
  background-color:#f3f1ff;
}
.signal-steps{
  display:flex;
  gap:.6rem;
  align-items:flex-end;
  height:84px;
}
.signal-steps i{
  flex:1;
  background:linear-gradient(180deg, #d7d1ff, #7a69da);
  border-radius:16px 16px 8px 8px;
}
.signal-steps i:nth-child(1){height:38%}
.signal-steps i:nth-child(2){height:64%}
.signal-steps i:nth-child(3){height:92%}

.timeline{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
}
.timeline-item{
  padding:1.3rem;
  position:relative;
}
.timeline-item span{
  display:inline-grid;
  place-items:center;
  width:46px;height:46px;
  border-radius:14px;
  background:var(--purple-soft);
  color:var(--purple-strong);
  font-weight:900;
  margin-bottom:1rem;
}

.contact-panel{padding:1.2rem;margin-top:1rem}
.contact-form{padding:1.3rem}
.form-row{
  display:grid;
  gap:.45rem;
  margin-bottom:1rem;
}
.form-row label{font-weight:700}
.form-row input,.form-row select,.form-row textarea{
  width:100%;
  border:1px solid var(--line);
  background:rgba(255,255,255,.9);
  color:var(--text);
  border-radius:16px;
  padding:.95rem 1rem;
  font:inherit;
}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{
  outline:2px solid rgba(109,91,208,.16);
  border-color:var(--purple);
}

.site-footer{
  padding:1.3rem 0;
  border-top:1px solid rgba(109,91,208,.08);
}
.footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}

@media (max-width: 980px){
  .hero-grid,.expertise-grid,.contact-grid,.services-grid,.timeline,.hero-trust{
    grid-template-columns:1fr;
  }

  .nav{
    position:absolute;
    top:78px;
    left:1rem;
    right:1rem;
    display:none;
    flex-direction:column;
    align-items:flex-start;
    padding:1rem;
    border-radius:20px;
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(18px);
    border:1px solid var(--line);
    box-shadow:var(--shadow);
  }
  .nav.open{display:flex}
  .menu-toggle{display:inline-flex}
}

@media (max-width: 640px){
  .section{padding:74px 0}
  .hero-copy h1,.section-heading h2{
    font-size:clamp(2rem, 10vw, 3rem);
  }
  .hero-actions,.footer-inner{
    flex-direction:column;
    align-items:stretch;
  }
  .btn{width:100%}
}

/* CODE FOR CONTACT FORM SUBMIT RESPONSE */
.form-message {
  margin-top: 12px;
  font-size: 0.95rem;
  min-height: 1.25rem;
}

.form-message.success {
  color: #22c55e;
}

.form-message.error {
  color: #ef4444;
}

.toast-message {
  position: fixed;
  right: 20px;
  bottom: 20px;
  padding: 14px 18px;
  border-radius: 12px;
  color: #fff;
  font-weight: 600;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
  opacity: 0;
  transform: translateY(14px);
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
  z-index: 9999;
}

.toast-message.show {
  opacity: 1;
  transform: translateY(0);
}

.toast-message.success {
  background: #16a34a;
}

.toast-message.error {
  background: #dc2626;
}

button.sent-state {
  transition: transform 0.2s ease, opacity 0.2s ease;
  transform: scale(1.02);
}