@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --navy:#0b2a62;
  --navy2:#102e67;
  --text:#263443;
}
*{box-sizing:border-box}
body{
  margin:0;
  min-height:100vh;
  font-family:Inter,Arial,sans-serif;
  color:var(--text);
  background:radial-gradient(circle at 50% 0,#fff 0,#f8fafc 48%,#edf3fa 100%);
}
main{
  position:relative;
  overflow:hidden;
  padding:22px 24px 40px;
  min-height:calc(100vh - 94px);
}
main:before,main:after{
  content:"";
  position:absolute;
  z-index:0;
  bottom:-80px;
  width:48vw;
  height:310px;
  opacity:.7;
  background:repeating-radial-gradient(ellipse at bottom,
    transparent 0 13px,
    rgba(48,99,164,.10) 14px 15px,
    transparent 16px 25px);
}
main:before{left:-11vw;transform:rotate(5deg)}
main:after{right:-11vw;transform:rotate(-5deg)}

.hero{
  position:relative;
  z-index:1;
  text-align:center;
  margin:0 auto 34px;
}
.brand-logo{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.brand-logo img{
  width:158px;
  height:158px;
  object-fit:cover;
  object-position:center;
  border-radius:50%;
  margin-bottom:5px;
}
.brand-name{
  color:var(--navy);
  font-size:clamp(52px,6vw,82px);
  font-weight:800;
  letter-spacing:.06em;
  line-height:.95;
}
.brand-subtitle{
  color:var(--navy);
  font-size:clamp(17px,2vw,28px);
  letter-spacing:.36em;
  margin:12px 0 0 .36em;
  font-weight:500;
}
.accent{
  width:70px;height:3px;border-radius:99px;
  background:#2865ad;
  margin:20px auto 16px;
}
.tagline{
  margin:0;
  color:#3f4b59;
  font-size:clamp(19px,2vw,27px);
  font-weight:400;
}

.companies{
  max-width:1235px;
  margin:0 auto;
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}
.company-card{
  min-height:430px;
  padding:36px 28px 30px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  background:rgba(255,255,255,.86);
  border:1px solid #e1e6ed;
  border-radius:20px;
  box-shadow:0 14px 35px rgba(19,43,82,.08);
  transition:.22s ease;
}
.company-card:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 44px rgba(19,43,82,.14);
}
.logo-wrap{
  width:100%;
  height:142px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.logo-wrap img{
  max-width:90%;
  max-height:135px;
  object-fit:contain;
}
.mechotech img{max-height:128px}
.sureka img{max-width:95%;max-height:110px}
.biziquick img{max-width:78%;max-height:120px}

.company-line{
  width:56px;height:2px;border-radius:3px;margin:10px 0 20px;
}
.red{background:#d92b2b}.green{background:#629b24}.blue{background:#183d80}

.company-card p{
  margin:0 0 26px;
  min-height:80px;
  color:#465260;
  font-size:16px;
  line-height:1.65;
}
.visit-btn{
  margin-top:auto;
  width:min(240px,100%);
  padding:16px 20px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:25px;
  text-decoration:none;
  color:#fff;
  font-size:18px;
  font-weight:600;
  border-radius:8px;
  background:linear-gradient(135deg,#0b2458,#173e80);
}
.visit-btn:hover{filter:brightness(1.1)}
.visit-btn span{font-size:25px}

footer{
  min-height:94px;
  display:grid;
  place-items:center;
  padding:20px;
  background:#071c46;
  color:rgba(255,255,255,.88);
  text-align:center;
  font-size:16px;
}

@media(max-width:950px){
  main{padding:22px 16px 36px}
  .companies{grid-template-columns:1fr;max-width:550px}
  .company-card{min-height:390px}
}
@media(max-width:560px){
  .brand-logo img{width:125px;height:125px}
  .brand-name{font-size:48px}
  .brand-subtitle{font-size:13px;letter-spacing:.28em;margin-left:.28em}
  .company-card{padding:30px 18px 26px}
  .tagline{line-height:1.45}
}
