*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  font-family: Arial, Helvetica, sans-serif;
  color:#171717;
  background:#fff;
}

/* NAVBAR */

.navbar{
  height:70px;
  padding:0 30px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid #ddd;
  background:white;
}

.logo{
    width:220px;
}

.nav-links{
  display:flex;
  padding-right:10rem;
  gap:18px;
  font-size:12px;
  color:#666;
  font-family: product sans, Arial, Helvetica, sans-serif;
}

.nav-links li{
  display:flex;
  align-items:center;
  gap:6px;
}

.contact-btn{
  background:#040f6d;
  color:white;
  border:none;
  padding:12px 22px;
  border-radius:8px;
  cursor:pointer;
}

.menu-icon{
    display:none;
}

.menu-icon img{
  width:22px;
  height:22px;
  display:block;
}

/* HERO */

.hero{
  min-height:458px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:70px 20px;
}

.hero h1{
  font-size:58px;
  line-height:.98;
  font-weight:400;
  letter-spacing:-4px;
  color:#3f3f48;
}

.hero h1 span{
  color:#6d75ff;
}

.hero p{
  margin-top:28px;
  font-size:22px;
  line-height:1.05;
  color:#777;
}

.hero-buttons{
  display:flex;
  gap:8px;
  margin-top:31px;
}

.hero-buttons button{
  height:43px;
  border:0;
  border-radius:8px;
  padding:0 24px;
  font-size:13px;
  font-weight:700;
}

.primary{
  background:#06116f;
  color:white;
}

.secondary{
  background:#c8c9ff;
  color:#06116f;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  cursor:pointer;
}

/* GOVERNANCE */

.governance{
  background:#f5f6fe;
  padding:50px 62px 88px;
}

.section-title{
  text-align:center;
  margin-bottom:65px;
}

.section-title h2{
  font-size:40px;
  line-height:.95;
  font-weight:500;
  letter-spacing:-2px;
  margin-bottom:14px;
}

.section-title p{
  color:#787878;
  font-size:17px;
  line-height:1.45;
}

.feature-grid{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  background:white;
  border:1px solid #ddd;
  border-radius:10px;
  overflow:hidden;
}

.feature-card{
  min-height:192px;
  padding:28px 28px;
  border-right:1px solid #e6e6e6;
  border-bottom:1px solid #e6e6e6;
}

.feature-card:nth-child(3),
.feature-card:nth-child(6){
  border-right:none;
}

.feature-card:nth-child(n+4){
  border-bottom:none;
}

.icon{
  color:#5666ff;
  font-size:22px;
  margin-bottom:17px;
}

.feature-card h3{
  font-size:16px;
  font-weight:500;
  margin-bottom:18px;
}

.feature-card p{
  font-size:14px;
  color:#777;
  line-height:1.45;
}

/* ADMIN SECTION */

.admin-section{
  background:#fff;
  padding:55px 70px 60px;
}

.admin-section h2{
  text-align:center;
  font-size:38px;
  line-height:1.08;
  font-weight:500;
  letter-spacing:-2px;
  margin-bottom:55px;
}

.admin-grid{
  max-width:980px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:65px;
  row-gap:55px;
  align-items:center;
}

.admin-text h3{
  font-size:26px;
  font-weight:500;
  letter-spacing:-1px;
  margin-bottom:16px;
}

.admin-text p{
  font-size:13px;
  color:#777;
  line-height:1.55;
  margin-bottom:25px;
}

.admin-text ul{
  list-style:none;
  border-top:1px solid #e5e5e5;
}

.admin-text li{
  position:relative;
  padding:15px 0 15px 30px;
  border-bottom:1px solid #e5e5e5;
  font-size:12px;
  color:#777;
  line-height:1.5;
}

.admin-text li img{
  position:absolute;
  left:0;
  top:15px;
  height:20px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.admin-img{
  display:flex;
  justify-content:center;
}

.admin-img img{
  max-width:400px;
  display:block;
}

.bottom-img img{
  max-width:400px;
}

.action-text{
  padding-top:10px;
}

/* STEPS SECTION */

.steps-section{
  background:#fff;
  padding:60px 80px 70px;
  text-align:center;
}

.steps-section h2{
  font-size:50px;
  font-weight:400;
  letter-spacing:-2px;
  margin-bottom:55px;
  color:#161616;
}

.steps-box{
   max-width:1050px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:45px;
  text-align:left;
  padding:45px 30px 38px;
  border:1px solid #e5e5e5;
  border-top:6px solid #e5e5e5;
  border-radius:10px;
}

.step-card span{
  width:36px;
  height:36px;
  border:1px solid #e6e6e6;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#5367ff;
  font-size:14px;
  margin-bottom:20px;
}

.step-card h3{
  font-size:18px;
  font-weight:600;
  color:#252525;
  margin-bottom:18px;
}

.step-card p{
  font-size:14px;
  line-height:1.6;
  color:#8a8a8a;
}

/* CTA SECTION */

.cta-section{
    padding:70px 20px 90px;
    background:#fff;
}

.cta-box{
    max-width:1050px;
    margin:0 auto;
    background:#070b63;
    border-radius:18px;
    padding:70px 30px;
    text-align:center;
}

.cta-box h2{
    color:#fff;
    font-size:35px;
    font-weight:600;
    line-height:1.1;
    letter-spacing:-2px;
    margin-bottom:20px;
}

.cta-box p{
    max-width:760px;
    margin:0 auto 35px;
    color:rgba(255,255,255,0.8);
    font-size:20px;
    line-height:1.6;
}

.cta-buttons{
    display:flex;
    justify-content:center;
    gap:12px;
}

.cta-primary,
.cta-secondary{
    text-decoration:none;
    height:48px;
    padding:0 26px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    font-size:15px;
    font-weight:600;
}

.cta-primary{
    background:#111a9c;
    color:#fff;
}

.cta-secondary{
    background:#d6d6ff;
    color:#070b63;
    gap:12px;
}

.cta-secondary span{
    font-size:18px;
}

/* FOOTER SECTION */

.footer{
    background:#10193b;
    color:#fff;
    padding:40px 7%;
    font-size:semibold 14px/1.5;
}

.footer .newsletter-divider{
    border:none;
    height:1px;
    margin:35px 0;
    border-top:1px solid #5469d4;
}

.footer .newsletter-divider2{
    border:none;
    height:1px;
    margin:35px calc(-50.5vw + 50%);
    border-top:1px solid #5469d4;
    width: 100vw;
}

/* NEWSLETTER */

.footer-newsletter{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;
}

.footer-newsletter h3{
    font-size:24px;
    margin-bottom:10px;
}

.footer-newsletter p{
    color:#c7cbe7;
}

.newsletter-form{
    display:flex;
    gap:12px;
}

.newsletter-form input{
    width:280px;
    height:48px;
    border:none;
    border-radius:8px;
    padding:0 16px;
    font-size:15px;
}

.newsletter-form button{
    border:none;
    background:#5469d4;
    color:#fff;
    padding:0 15px;
    border-radius:8px;
    cursor:pointer;
    font-weight:600;
    font-size: 15px;
}

/* MAIN FOOTER */

.footer-main{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr 1fr;
    gap:50px;
}

.footer-brand img{
    font-size:48px;
    margin-bottom:20px;
}

.footer-brand p{
    line-height:1.7;
    max-width:320px;
}

.aws-badges{
    display:flex;
    gap:12px;
    margin-top:25px;
}

.badge1{
    width:90px;
    height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.footer-column{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.footer-column h4{
    margin-bottom:10px;
}

.footer-column a{
    color:#ffffff;
    text-decoration:none;
}

.footer-column a:hover{
    color:#fff;
}

/* ADDRESSES */

.footer-addresses h3{
    margin-bottom:25px; 
} 

.address-grid{ 
    display:grid; 
    grid-template-columns:repeat(3,1fr); 
    gap:25px; 
} 

.address-item{
    display:flex;
    gap:12px;
    align-items:center;
}

.address-item span{ 
    width:32px; height:32px;
    min-width:32px; border-radius:50%; 
    background:#d9d8ff; 
    display:flex; 
    align-items:center; 
    justify-content:center; 
    overflow:hidden; 
} 

.address-item span img{ 
    width:26px; 
    height:26px; 
    border-radius:50%; 
    object-fit:cover; 
} 

.uk-flag{
    transform:scale(1.25);
    margin-top:7px;
}

.address-item p{ 
    color:#ffffff; 
    line-height:1.6; 
}

.address-item strong{
  font-weight:700;
}

/* BOTTOM */

.footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.footer-bottom p{
    color:#c7cbe7;
}

.social-icons{
    display:flex;
    gap:18px;
}

.social-icons a{
    color:white;
    font-size:22px;
}


/* MOBILE VIEW */
@media (max-width: 768px){

  .navbar{
    height:44px;
    padding:0 22px;
  }

  .logo{
    width:72px;
  }

  .logo img{
    width:100%;
  }

  .nav-links,
  .contact-btn{
    display:none;
  }

  .menu-icon{
    display:block;
  }

  .hero{
    min-height:430px;
    padding:55px 22px 38px;
  }

  .hero h1{
    font-size:31px;
    line-height:1.35;
    letter-spacing:-2.5px;
  }

  .hero p{
    font-size:14px;
    line-height:1.55;
    margin-top:24px;
  }

  .hero-buttons{
    width:100%;
    flex-direction:column;
    gap:8px;
    margin-top:28px;
  }

  .hero-buttons button{
    width:100%;
    height:39px;
    font-size:12px;
    border-radius:7px;
  }

  .secondary img,
  .cta-secondary img{
    width:14px;
    height:14px;
  }

  .governance{
    padding:32px 10px 30px;
  }

  .section-title{
    margin-bottom:28px;
  }

  .section-title h2{
    font-size:25px;
    line-height:1.18;
    letter-spacing:-1.5px;
  }

  .section-title p{
    font-size:11px;
    line-height:1.75;
  }

  .feature-grid{
    grid-template-columns:1fr;
    border-radius:7px;
  }

  .feature-card{
    min-height:auto;
    padding:24px 16px;
    border-right:none;
    border-bottom:1px solid #e6e6e6;
  }

  .feature-card:nth-child(n+4){
    border-bottom:1px solid #e6e6e6;
  }

  .feature-card:last-child{
    border-bottom:none;
  }

  .feature-card h3{
    font-size:11px;
    margin-bottom:14px;
  }

  .feature-card p{
    font-size:10px;
    line-height:1.65;
  }

  .icon{
    margin-bottom:12px;
  }

  .icon img{
    width:16px;
  }

  .admin-section{
    padding:45px 10px 35px;
  }

  .admin-section h2{
    font-size:24px;
    line-height:1.15;
    letter-spacing:-1.2px;
    margin-bottom:48px;
  }

  .admin-grid{
    display:block;
  }

  .admin-img{
    display:none;
  }

  .admin-text{
    margin-bottom:48px;
  }

  .admin-text h3{
    font-size:16px;
    letter-spacing:-.5px;
    margin-bottom:22px;
  }

  .admin-text p{
    font-size:11px;
    line-height:1.65;
    margin-bottom:22px;
  }

  .admin-text li{
    font-size:10px;
    padding:13px 0 13px 28px;
    white-space:normal;
  }

  .admin-text li img{
    width:14px;
    height:14px;
    top:14px;
  }

  .steps-section{
    padding:28px 0 45px;
  }

  .steps-section h2{
    font-size:20px;
    text-align:left;
    padding-left:12px;
    margin-bottom:32px;
    letter-spacing:-1px;
  }

  .steps-box{
    grid-template-columns:1fr;
    gap:44px;
    padding:26px 20px 34px;
    border-radius:7px;
    border-top:5px solid #e5e5e5;
  }

  .step-card span{
    width:23px;
    height:23px;
    font-size:10px;
    margin-bottom:24px;
  }

  .step-card h3{
    font-size:12px;
    margin-bottom:18px;
  }

  .step-card p{
    font-size:10px;
    line-height:1.7;
  }

  .cta-section{
    padding:48px 13px 60px;
  }

  .cta-box{
    border-radius:8px;
    padding:36px 17px 38px;
  }

  .cta-box h2{
    font-size:24px;
    line-height:1.25;
    letter-spacing:-1px;
  }

  .cta-box p{
    font-size:14px;
    line-height:1.45;
    margin-bottom:24px;
  }

  .cta-buttons{
    flex-direction:column;
    gap:7px;
  }

  .cta-primary,
  .cta-secondary{
    width:100%;
    height:35px;
    font-size:11px;
    border-radius:6px;
  }

  .footer{
  display:block;
  padding:40px 20px;
}

.footer-newsletter{
  flex-direction:column;
  align-items:flex-start;
  gap:20px;
}

.newsletter-left{
  width:100%;
}

.footer-newsletter h3{
  font-size:22px;
}

.newsletter-form{
  width:100%;
  flex-direction:column;
}

.newsletter-form input{
  width:100%;
}

.newsletter-form button{
  width:100%;
  height:48px;
}

.footer-main{
  grid-template-columns:1fr;
  gap:32px;
}

.footer-brand img{
  max-width:160px;
}

.footer-brand p{
  max-width:100%;
}

.footer-brand p br{
  display:none;
}

.aws-badges{
  flex-wrap:wrap;
}

.footer-column{
  gap:10px;
}

.footer .newsletter-divider2{
  margin:30px -20px;
  width:calc(100% + 40px);
}

.address-grid{
  grid-template-columns:1fr;
  gap:18px;
}

.footer-addresses h3{
  margin-bottom:20px;
}

.address-item{
  align-items:flex-start;
}

.address-item span{
  margin-top:4px;
}

.address-item p{
  font-size:13px;
  line-height:1.5;
}

.address-item p br{
  display:none;
}

.footer-bottom{
  flex-direction:column;
  gap:18px;
  text-align:center;
}

.social-icons{
  justify-content:center;
}
}