body {
  font-family: Arial, sans-serif;
  background-color: #ffffff;
  margin: 0;
  padding: 50px 0;
}
.viewport-canvas {
  padding-top: 300px;
  padding-bottom: 5px;
}
.hero-wrapper {
  background: url('img-asone/img-background.png');
  background-size: cover;
  background-position-y: 43%;
  background-repeat: no-repeat;
  margin-top: -30px;
  padding-top: 0%;
  text-align: center;
  justify-content: center;
  position: relative;
}
.brand-logo {
  position: absolute;
  top: 0;
  left: 0;
  width: 150px;
  height: auto;
}
.blue-text {
  color: rgb(45, 45, 181);
  padding: 10px;
}
.hero-pitch {
  max-width: 800px; 
  margin: 0 auto 30px;
  margin-bottom: 10px; 
  line-height: 1.6; 
}
.product-module-card {
  transition: transform 0.2s ease-in-out;
}
.product-module-card:hover {
  transform: translateY(-5px);
}
.hero-inner-content h1 { 
  font-size: 32px;
  margin-bottom: 10px;
  letter-spacing: 0.5px;
}
.hero-motto { 
  font-size: 16px; 
  margin-bottom: 30px; 
  font-style: italic; 
}
.hero-manifesto { 
  font-size: 13px;
  font-weight: 700; 
  line-height: 1.8; 
  margin-bottom: 35px; 
  color: #2b435c; 
}
.manifesto-bold {
  font-weight: 800;
  margin-top: 5px;
  text-align: center; 
}
.badge-pill {
  color: black
}
.img-laptop {
  width: 45px;
  align-items: center;
  filter: invert(67%) sepia(86%) saturate(3068%) hue-rotate(189deg) brightness(94%) contrast(85%);
}
.img-lock {
filter: invert(67%) sepia(86%) saturate(3068%) hue-rotate(189deg) brightness(94%) contrast(85%);
}
.img-magnify {
  width: 45px;
  filter: invert(67%) sepia(86%) saturate(3068%) hue-rotate(189deg) brightness(94%) contrast(85%);
}
.img-media {
  width: 70px;
}
.segment-heading-area {
  color: #5d97df
}
.timeline-wrapper {
  width: 900px;
  margin: 0 auto;
}
.timeline-header {
  text-align: center;
  margin-bottom: 50px;
}
.timeline-header .badge {
  background-color: #4385f5;
  color: white;
  padding: 10px 45px;
  border-radius: 25px;
  display: inline-block;
  font-weight: bold;
  font-size: 1.1rem;
  letter-spacing: 0.5px;
}
.timeline-header h2 {
  font-size: 1.5rem;
  color: #333;
  margin-top: 15px;
  font-weight: normal;
}
.timeline-container {
  position: relative;
  width: 100%;
  margin-bottom: 100px;
}
.center-line {
  position: absolute;
  left: 50%;
  top: 81px;
  bottom: 0;
  width: 6px;
  background-color: #5d97df;
  transform: translateX(-50%);
  z-index: 1;
}
.timeline-row {
  display: flex;
  width: 100%;
  margin-bottom: 80px;
  position: relative;
  z-index: 2;
}
.text-side {
  width: 43%;
  padding: 10px 20px;
  box-sizing: border-box;
}
.node-side {
  width: 16%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.empty-side {
  width: 43%;
}
.text-right {
  text-align: right;
  margin-top: 25px;
}
.text-left {
  text-align: left;
  margin-top: 55px;
}
.text-side .year {
  font-weight: bold;
  font-size: 0.95rem;
  color: #000;
  display: block;
  margin-bottom: 4px;
}
.text-side h3 {
  font-size: 1.1rem;
  color: #111;
  margin: 0 0 8px 0;
}
.text-side p {
  font-size: 0.95rem;
  line-height: 1.45;
  color: #333;
  margin: 0;
}
.circle-frame {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  border: 6px solid #5d97df;
  background-color: #fff;
  overflow: hidden;
  box-sizing: border-box;
}
.circle-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.clear-action-btn {
  background: var(--typography-dark);
  color: var(--clean-white); 
  padding: 12px 40px; 
  border: none; 
  font-weight: bold; 
  cursor: pointer; 
  border-radius: 4px; 
}
.global-footer-canvas {
  background: var(--clean-white);
  padding: 25px 5%;
  border-top: 1px solid #e2edf5;
  margin-bottom: -100px; 
}
.social-icons {
  display: flex;
  flex-direction: row;
  gap: 15px;
  align-items: center;
}
.footer-row {
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 3;
  margin-top: 40px;
}
.cta-circle {
  width: 165px;
  height: 165px;
  border-radius: 50%;
  background-color: #4385f5;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0.5px;
}
.timeline-row:first-of-type .node-side {
  position: relative;
  background-color:#f4f9fd;
  z-index: 4;
}
.timeline-row:first-of-type {
  margin-top: 60px;
}
