 /* Default body font (paragraphs, most text) */
body {
  font-family: 'Lora', serif;
}
/* Section headers */
h2, h3 {
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  color: #0b4260; /* keeps brand consistency */
}
 /* Hero Section */
 .hero {
  position: relative;
  height: 50vh; /* half of the viewport height */
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: white;
  overflow: hidden;
}

.hero .container {
  max-width: 800px;   /* Keep content aligned with page width */
  margin: 0 auto;      /* Center horizontally */
  display: flex;
  align-items: flex-start;
  gap: 40px;           /* Space between h1 and content */
  padding-top: 50px;
}

/* MOD Box */
.hero h1 {
  background-color: rgba(11, 66, 96, 0.6); /* semi-transparent navy */
  color: #e8c021; /* yellow text */
  padding: 30px 40px;
  font-size: 3em;
  border-radius: 4px;
  flex-shrink: 0;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;

  /* Add subtle backdrop blur for soft effect */
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px); /* Safari support */
}


/* Tagline + Button */
.hero-content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex: 1;
  top:40px;
  position: relative;              /* Take remaining horizontal space */
  text-align: left;
  gap: 0.3em;
}

.hero-content p {
  font-size: 1.5em;
  margin: 0;
  line-height: 1.2;
}

/* CTA Button aligned right under tagline */
.hero .cta {
  align-self: flex-end;  /* Push button to right */
  background-color: #ffffff;
  color: #0b4260;
  padding: 12px 24px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: bold;
   /* Subtle backdrop blur */
   backdrop-filter: blur(4px);
   -webkit-backdrop-filter: blur(4px);
   transition: background 0.3s ease; /* optional: smooth hover effect */
  }
  
  .hero .cta:hover {
    background-color: rgba(255, 255, 255, 1); /* fully opaque on hover */
  }

.video-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1;
}

.video-background video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* Responsive for smaller screens */
@media (max-width: 768px) {
  .hero {
    height: auto;         /* allow section to grow naturally */
    min-height: 100vh;    /* optional: ensure it fills screen nicely */
    padding: 40px 20px;   /* add breathing room */
  }

  .hero .container {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 20px;            /* less gap on small screens */
    padding-top: 0;       /* remove the top offset */
  }

  .hero-content {
    position: static;     /* reset the relative top:40px */
    top: auto;
    text-align: center;
  
  }

  .hero-content p {
    text-align: center;
    font-size: 1.2em;     /* slightly smaller for mobile */
  }

  .hero .cta {
    align-self: center;
    margin-top: 15px;

  }

  .hero h1 {
    font-size: 2.2em;     /* scale down to fit better */
    padding: 20px 30px;
  }
  .video-background {
    width: 100%;
    height: 100%;
  }
  .video-background video {
    object-fit: cover; /* ensures video fills hero on small screens */
  }
}

  .positioning {
    text-align: center;
    padding: 4rem 2rem;
    background: #f8f8f8; /* subtle light background */
  }
  
  .positioning h2 {
    font-size: 2rem;
    margin-bottom: 2rem;
    color: #0b4260; /* matches your brand color */
  }
  
  .positioning-blocks {
    display: flex;
    justify-content: center;
    gap: 2rem; /* space between the two blocks */
    flex-wrap: wrap; /* allows stacking on smaller screens */
  }
  
  .block {
    width: 320px; /* increase width from 220px to 320px */
    max-width: 90%; /* responsive limit for small screens */
    text-align: left;
    border: none;
    border-radius: 4px;
    padding: 1rem;
    background: white;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* evenly distributes items vertically */
  }
  .block.left p {
    display: flex;
    align-items: center;      /* vertically center icon & text */
    gap: 0.5rem;              /* space between icon and text */
  }
  
  .block.left p i {
    width: 24px;              /* force all icons to same width */
    text-align: center;       /* center icon inside its box */
    flex-shrink: 0;           /* prevent shrinking */
  }
  

  .block.right {
    text-align: center;
  }
  .block p {
    margin: 0.25rem 0;
    font-size: 1.1rem;
  }
  @media (max-width: 768px) {
    .positioning-blocks {
      flex-direction: column;   /* stack blocks vertically */
      align-items: center;
    }
  
    .block {
      width: 100%;              /* full width of screen */
      max-width: 500px;         /* keep it from getting too wide */
    }
  
    .block.left p {
      font-size: 1rem;          /* slightly smaller text */
      line-height: 1.4;
    }
  }
  .section-image {
    width: 100%;
    height: 40vh; /* adjust height as desired */
    background-size: cover;       /* fill container */
    background-position: center;  /* center the image */
    background-repeat: no-repeat;
  }
  .divider-section {
    background-color: #f8f8f8; /* matches the previous section */
    display: flex;
    justify-content: center;    /* centers content horizontally */
    padding: 4rem 2rem;        /* vertical spacing around the image */
  }
  
  .divider-image {
    position: relative;
    max-width: 100%;
    overflow: hidden;
  }
  
  /* Fade edges effect */
  .divider-image img {
    display: block;
    max-width: 100%;   /* image won’t stretch beyond container */
    height: auto;
/* Fade edges on all sides using radial gradient */
-webkit-mask-image: radial-gradient(circle, rgba(0,0,0,1) 85%, rgba(0,0,0,0) 100%);
-webkit-mask-repeat: no-repeat;
-webkit-mask-position: center;
-webkit-mask-size: cover;

mask-image: radial-gradient(circle, rgba(0,0,0,1) 85%, rgba(0,0,0,0) 100%);
mask-repeat: no-repeat;
mask-position: center;
mask-size: cover;
}
   
  /* Optional: smaller screens */
  @media (max-width: 768px) {
    .section-image {
      height: 25vh; /* shorter on mobile */
    }
  }

  .approach {
    text-align: center;
    padding: 4rem 2rem;
    background: #ffffff;
  }
  
  .approach h2 {
    font-size: 2rem;
    margin-bottom: 2.5rem;
  }
  
  .approach-container {
    display: flex;
    justify-content: center;
    align-items: stretch;  /* stretch cards to same height */
    gap: 1.5rem;
    flex-wrap: wrap; /* allows stacking if screen too small */
  }
  
  .card {
    width: 200px;
    border: 1px solid rgba(0, 0, 0, 0.1); /* subtle outline */
    border-radius: 6px;
    padding: 1.5rem;
    background: #fdfdfd;
    display: flex;           /* make card a flex column */
    flex-direction: column;  /* stack h3 + p vertically */
    justify-content: flex-start;
  }
  
  .card h3 {
    margin-bottom: 0.75rem;
    font-size: 1.3rem;
    color: #354241; /* brand accent */
  }
  
  .card p {
    font-size: 0.95rem;
    line-height: 1.4;
    color: #333;
    margin: 0;
  }
  
  .plus {
    font-size: 2rem;
    font-weight: bold;
    color: #666;
    align-self: center;
  }
/* Services Section */
.services {
  padding: 4rem 2rem;
  background: #f8f8f8;
}

.services h2 {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 3rem;
}

.services .container {
  max-width: 900px;   /* wider for decent screen coverage */
  margin: 0 auto;     /* center container */
}

/* Individual blocks */
.service-block {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.1);
  padding: 2rem;
  border-radius: 4px;
  width: 100%;        /* fill container */
  max-width: 600px;   /* consistent width for all blocks */
  box-sizing: border-box;
  margin-bottom: 2rem;
}

/* Block headings and paragraphs */
.service-block h3 {
  font-size: 1.2rem;
  margin: 0 0 0.75rem 0;  /* remove top margin, keep bottom margin */
  font-style: italic;
  color: #354241;
}

.service-block p {
  margin: 0;
  line-height: 1.5;
  color: #333;
}

/* Stairstep effect for vertical stack */
.level-1 {
  margin-left: 0;        /* left-aligned */
}

.level-2 {
  margin-left: auto;
  margin-right: auto;    /* centers middle block */
}

.level-3 {
  margin-left: auto;
  margin-right: 0; /*right allgned*/
}

/* Responsive adjustments for smaller screens */
@media (max-width: 768px) {
  .service-block {
    max-width: 100%;     /* blocks fill container on small screens */
  }

  .level-2,
  .level-3 {
    margin-left: 0;      /* remove stairstep on mobile */
    margin-right: 0;
  }
}

  footer {
    background-color: #0b4260; /* brand color */
    color: #e8c021;
    text-align: left;
    width: 100%;
    box-sizing: border-box;
    padding: 40px 20px;
  }
  footer .container {
    max-width: 1200px;         /* Keep content within normal screen width */
    margin: 0 auto;            /* Center the container horizontally */
  }
  
  footer a {
    color: #ffffff;            /* Links in white */
    text-decoration: none;     /* Remove underline */
  }
  
  footer a:hover {
    text-decoration: underline; /* Underline on hover for clarity */
  }
  
  /* Optional: spacing between sections */
  footer p,
  footer li {
    margin: 8px 0;
  }