/* =========================================
   RESPONSIVENESS (Mobile First -> Desktop)
   ========================================= */

@media (max-width: 1280px) {

}

@media (max-width: 1199px) {

/* Header */
  .header .nav-actions {
    display: none;
  }

  .header .nav-content{justify-content: space-between;}
  .header .nav-links {
        position: fixed;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100vh;
        background: #12304A;
        flex-direction: column;
        align-items: flex-start;
        padding: 1rem;
        gap: 0.6rem;
        z-index: 1002;
        transition: left 0.3s ease-in-out;
        box-shadow: -5px 0 25px rgba(0, 0, 0, 0.1);
  }
  /* .header .nav-links .btn{margin-left: 0; margin-top: 0.8rem;} */

  .header .nav-links.active{        left: 0;}

  .header .sidebar-header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #f6f6f636;
}

  /* Style links for full screen */
  .header .nav-links a:not(.btn) {
    font-size: 1rem;
    text-align: center;
    border-bottom: none;
    font-weight: 500;
    color: var(--WhiteColor);
    padding: 0.2rem 0;
  }

  .header .nav-links a:hover:not(.btn) {
    color: var(--PrimaryColor);
  }

  .header .nav-links .btn {
    font-size: 1rem;
  }

  /* Ensure toggle is above the menu */
.header .mobile-toggle {display: inline-flex;position: relative; z-index: 1000;}

.max-wid-80 {
  max-width: 100%;
}

.header .nav-links .sign-btn{margin-left:0 ; margin-top: 1rem; flex-wrap: wrap;}
.hero-section h1{font-size: 3rem;}
.same-heading h2 br{display: none;}
/* .hero-section{padding: 6rem 0;} */
.story-bottom-row{margin-top: -2.5rem;}
.principles-section .story-timeline{margin:4rem 0 ;}

}


@media (max-width: 991px) {
  .same-heading {
    margin-bottom: 2rem;
  }

  /* Global */
  .same-section { padding: 2.5rem 0; }
  .max-wid-50 { max-width: 100%; }

  .header{ background: #18232d; padding: 1rem 0;}
.section-bottom-btn { flex-wrap: wrap;}
.hero-section{min-height: inherit; padding: 4rem 0 0; margin-top: 0;}
.hero-section .hero-content{margin-bottom: 1rem;}
.hero-section .img-bx{max-width: 80%;}
.hero-section h1{font-size: 2.1rem;}
.same-heading h2,.program-section h2 {font-size: 1.8rem;}
.membership-section .membership-card .membership-price{font-size: 1.6rem;}
.trusted-card h3{font-size: 1.1rem;}
.dia-utah-section .section-bottom-btn{margin-bottom: 1rem;}
.focus-areas-section .focus-grid{border: 0;border-radius: 0;}
.focus-areas-section .focus-grid .focus-card{border:solid 1px #EDEDED !important; }
.membership-section .membership-card,.coalition-section .coalition-card{padding: 1rem;}
.coalition-section .coalition-card h3{font-size: 1.8rem;}
.footer{padding-top: 2.5rem;}

/* Plan current / Access control headings (not wrapped in .same-heading) */
.plan-current-section h2,
.access-control-section h2 { font-size: 1.8rem; }

.plan-current-section .plan-feature-list p { max-width: 100%; }

/* Custom cards built outside the header */
.estate-preview { padding: 1.5rem 1.5rem 0; }
.split-card { padding: 1.5rem; }
.legacy-pillars-section .pillar-card,
.paths-section .path-card { padding: 1.5rem; }

.plan-current-section .estate-app-card { margin-top: 2.5rem;      border-radius: 1.5rem ;}
.plan-current-section .estate-app-card-list{padding: 0.8rem 1rem;}
.access-control-section .access-diagram { margin-bottom: 2.5rem; }
.plan-current-section .app-action{border: 0;}
}


@media (max-width: 767px) {

.same-heading h2 br{display: none;}
.section-bottom-btn{gap: 0.6rem;}
.same-heading h3 br{display: none;}
.same-heading h2 br{display: none;}

/* Raw CSS grids that don't ride the bootstrap breakpoints */
.estate-stats { grid-template-columns: 1fr; row-gap: 1.5rem; }
.agreement-grid { grid-template-columns: 1fr; }
.access-control-section .access-stats { grid-template-columns: 1fr; gap: 1.2rem; }

/* Footer nav columns are plain col-4 (no breakpoint), so they never stack on their own */
.footer .col-lg-8 .row .col-4 {
  flex: 0 0 50%;
  max-width: 50%;
}

.footer .col-lg-8 .row .col-4:last-child {
  flex: 0 0 100%;
  max-width: 100%;
  margin-top: 0.5rem;
}

.footer .footer-bottom {
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}
.footer .footer-col{margin-bottom: 2rem;}
.footer .footer-main{padding-bottom: 1rem;}
}

@media (max-width: 568px) {


}


@media (max-width: 480px) {

.footer .col-lg-8 .row .col-4,
.footer .col-lg-8 .row .col-4:last-child {
  flex: 0 0 100%;
  max-width: 100%;
  margin-top: 0;
}

.plan-current-section .estate-app-card-actions {
  grid-template-columns: repeat(2, 1fr);
  row-gap: 1rem;
}

.family-tree-img img { max-width: 220px; }

.paths-section .path-card h3,
.estate-app-card-header h3 { font-size: 1.3rem; }

}

@media (max-width: 767px) {

}