    /* Design tokens */
    :root {
      --color-primary: #003060;
      --color-accent: #f87060;
      --color-accent-hover: #ed685a;
      --color-text-invert: #ffffff;
      --radius-sm: 6px;
      --radius-md: 14px;
      --radius-lg: 20px;
      --radius-xl: 30px;
      --border-accent: rgba(248, 112, 96, 0.33);
      --bg-accent-tint: rgba(248, 112, 96, 0.27);
    }

    /* Basic Reversions to Bootstrap Defaults */
    /* footer styling */

    .bg-dark {
      background-color: var(--color-primary)!important;
    }

    .text-gray-700 {
      color: var(--color-text-invert)!important;
    }

    .text-reset {
      color: var(--color-text-invert)!important;
    }

    @media (max-width: 768px){
      .display-4{
        display:none;
      }
    }

    .text-white-50 {
      color: var(--color-text-invert)!important;
      font-size:16px!important;
    }

    .py-custom {
    padding-top: 100px;
    padding-bottom: 100px;
    padding-left: 40px;
    padding-right: 40px;
    border-top: 7px solid var(--color-accent);
}


      .btn-custom {
      background-color: var(--color-accent)!important;
      color:rgb(255,255,255)!important;
      border-color:#03407d!important;
      font-family:inherit;
      font-weight:500;
      line-height:1em;
      font-size:15px;
      font-size:0.83333333333333rem;
      border-radius: var(--radius-md);
      padding-top:15px;
      padding-right:40px;
      padding-bottom:16px;
      padding-left:40px;
      margin-top:10px;
      margin-bottom:10px;
    }

  .border-primary {
      border-color:var(--color-accent)!important;
    }

  @media (min-width: 768px){
    .display-4{
      padding-top:4rem!important;
    }
  }

  @media (min-width:768px){
    .fs-5{
      padding-bottom:30px!important;
    }
  }

  @media (min-width:768px){
    .pt-md-11{
      padding-top:0rem!important;
    }
  } 



    /*
      Minimal Navbar Overwrites:
      We keep absolute positioning in mobile so the dropdown floats over the body,
      but remove any transform/transition overrides.
    */

    footer h2{
      font-size:32px;
      font-family: Georgia, 'Times New Roman', Times, serif;
    }

    footer h3{
      font-size:32px;
      font-family: Georgia, 'Times New Roman', Times, serif;
    }

    footer h4{
      font-size:20px;
      font-family:Georgia,'Times New Roman',Times,serif;
    }

/* shaking cta button */
    @keyframes headshake{
      0%{ transform:translateX(0);}
      3.25%{ transform:translateX(-6px);}
      9.25%{ transform:translateX(5px);}
      15.75%{ transform:translateX(-3px);}
      21.75%{ transform:translateX(2px);}
      25%{ transform:translateX(0);}
    }

    .shaking-button{
      background-color:var(--color-accent);
      color:white;
      padding:10px 20px;
      border:none;
      cursor:pointer;
      animation:headshake 2.5s cubic-bezier(.445,.05,.55,.95) 50;
      animation-delay:1.5s;
      font-size:18px;
      border-radius:var(--radius-sm);
      margin-bottom:60px;
    }

    .shaking-button:hover{
      background-color:var(--color-accent-hover);
      color:white;
    }  


    /* Container for fade‑in and scale effect */
.fade-container {
  display: inline-block;
  opacity: 0;              /* Start hidden */
  transform: scale(0.8);   /* Start slightly smaller */
  animation: fadeInScale 0.8s ease-out forwards 1s; /* Fade in & scale up after 1s delay */
}

/* Button with updated headshake animation using .s */
.nextTab {
  background-color: var(--color-accent);  
  color: white;
  padding: 6px 20px;
  border: none;
  cursor: pointer;
  font-size: 18px;
  border-radius: var(--radius-lg);
  margin: 0px;
  width: max-content;
  animation: headshake 4.5s cubic-bezier(.445, .05, .55, .95) 50;
  animation-delay: 2.5s;
}

@media (max-width: 767px) {
  .nextTab {
    margin-left: 70%;
  }
}

.nextButtonWrapper {
    position: absolute;
    bottom: 30px !important;
    right: 80px !important;
    opacity: 0;
    visibility: hidden;
    transition: opacity 2s ease, visibility 2s ease;
}

.nextTab:hover {
  background-color: var(--color-accent-hover);
  color: white;
}

/* Fade-in and scale-up animation */
@keyframes fadeInScale {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* headshake defined once above */



    .navbar {
      background-color: var(--color-primary);
      color:white;
    }
    .navbar .navbar-brand img{
      max-height:40px;
    }

    .navbar-nav .nav-link {
      color:white;
      margin:0 10px;
      padding:14px 15px;
    }

    .navbar-nav .nav-link:hover{
      background-color: var(--color-accent);
      color:white!important;
    }

    .navbar-nav .nav-link.active{
      background-color: var(--color-accent);
      color:white!important;
    }

    /* Desktop View: Keep default Bootstrap collapse behavior.*/
    @media(min-width:992px){
      .navbar-collapse{
        display:flex!important;
        justify-content:center;
        background-color:transparent;
        transform:none!important;
        transition:none!important;
        height:auto!important;
      }
      .navbar-nav{
        display:flex;
        justify-content:center;
        flex-grow:1;
      }
      .navbar-brand{
        margin-right:auto;
      }
    }

    /* Mobile View */
    @media (max-width:991.98px){
      .navbar-collapse {
        position:absolute;
        top:100%;
        left:0;
        width:100%;
        background-color:var(--color-primary);
        z-index:1050;
          }

      .navbar-nav {
        color: white;
        margin: 0 0px;
        text-align: left;
        border-top: 3px solid #f87060;
        margin-top: 20px;        
    }
    }

    .navbar-toggler {
      z-index:1100;
      border:none; 
    }
    .navbar-toggler:focus {
      outline:none; 
      box-shadow:none; 
    }
    .navbar-toggler-icon {
      background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%23ffffff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
    }

    .navbar-nav .nav-link {
    color: white;
    margin: 0px!important;   
    text-align: left;
}

    .nav-footer{
      display:flex;
      justify-content:center;
      align-items:center;
      margin-bottom:20px;
      flex-wrap:wrap;
    }

    .nav-footer div{
      margin:5px 10px;
    }

    .nav-footer a{
      text-decoration:none;
      color:white;
      font-size:18px;
    }

    @media(max-width:768px){
      .nav-footer{
        flex-direction:column;
        align-items:center;
      }

      footer{
        padding-top:40px!important;
      }
    }

    /* Tables */
.rich-text table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
}
.rich-text td, .rich-text th {
  padding: 0.5rem;
  border: 1px solid #ddd;
}
.rich-text th {
  background: #f5f5f5;
}

/* Images in text */
.rich-text img {
  max-width: 100%;
  height: auto;
}

/* Alignment */
.text-left   { text-align: left; }
.text-center { text-align: center; }
.text-right  { text-align: right; }

/* Highlight & color (converters generate inline styles) */


