@charset "UTF-8";
/* CSS Document */
.startHereLink a:link{
font-family: 'helvetica_neue_lt_std97BlkCn';
}

  .heroStack {
    position: relative;
    width: 100%;
    height: 500px;
  }
  .heroStack .topPic {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    float: none;   /* cancels your site's .topPic { float: left; } */
    margin: 0;     /* cancels your site's .topPic { margin: 0px auto; } */
  }
  .heroStack .carousel {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
  }

  /* ---------- CAROUSEL ---------- */
  .carousel {
    position: relative; /* stays relative so arrows/dots below can be absolute within it */
    width: 100%;
    height: 500px;
    overflow: hidden;
  }
  .slides { display: flex; height: 100%; transition: transform 0.6s ease; }
  .slide {
    position: relative;
    flex: 0 0 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
  }
  /* dark overlay so text stays readable on any image */
  .slide::before {
    content: "";
    position: absolute; inset: 0;
  }

  .caption {
    position: absolute;
    left: 25%; top: 48%;
    transform: translateY(-50%);
    max-width: min(800px, 50%);
    color:rgba(7,123,192,1);
  }
  /* clamp() scales text smoothly between phone and desktop sizes */

  .caption h2#homeMainTagline{ margin: 0 0 .5rem; font-size: clamp(1.6rem, 6vw, 4.8rem); line-height: 1.1; }
  .caption h2 { margin: 0 0 .5rem; font-size: clamp(1.6rem, 6vw, 4.6rem); line-height: 1.1; }
  .caption p  { margin: 0 0 1.25rem; font-size: clamp(1.3rem, 2vw, 1.3rem); line-height: 1.5; }
  .caption a  {
    display: inline-block; padding: .7em 1.4em;
    background: rgba(7,123,192,1); color: #fff; text-decoration: none; font-weight: 300;
	  border-radius: 5px;
  }

  /* ---------- CONTROLS ---------- */
  .arrow {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 44px; height: 44px; border: 0; border-radius: 50%;
    background: rgba(7,123,192,1); color: #fff;
    font-size: 22px; cursor: pointer; z-index: 2;
  }
  .arrow:hover { background: rgba(7,123,192,1); }
  .prev { left: 12px; }
  .next { right: 12px; }
  .dots {
    position: absolute; bottom: 16px; left: 0; right: 0;
    display: flex; justify-content: center; gap: 10px; z-index: 2;
  }
  .dots button {
    width: 12px; height: 12px; padding: 0; border-radius: 50%;
    border: 2px solid #fff; background: transparent; cursor: pointer;
  }
  .dots button.active { background: #fff; }
  .arrow:focus-visible, .dots button:focus-visible, .caption a:focus-visible {
    outline: 3px solid #4da3ff; outline-offset: 2px;
  }

  @media (max-width: 600px) {
    .arrow { display: none; }          /* swipe on phones instead */
    .caption { left: 6%; }
  }
  @media (prefers-reduced-motion: reduce) {
    .slides { transition: none; }
  }