/* ==========================================================================
   CLOUD PUBLICATIONS — LAYOUT
   Grid, container and section primitives. Replaces the Bootstrap
   grid classes the markup uses, so there is no framework dependency.
   ========================================================================== */

.sprite{position:absolute;width:0;height:0;overflow:hidden}
.ico{width:1em;height:1em;flex:none;display:inline-block;vertical-align:-.125em}

.container{width:100%;max-width:1240px;margin-inline:auto;padding-inline:1.5rem}
.row{--gx:1.5rem;display:flex;flex-wrap:wrap;margin:calc(var(--gx)*-.5)}
.row>*{width:100%;padding:calc(var(--gx)*.5)}
.g-4{--gx:1.5rem}
.g-5{--gx:3rem}
.col-6{width:50%}
@media(min-width:768px){.col-md-6{width:50%}}
@media(min-width:992px){
  .col-lg-2{width:16.6667%}.col-lg-3{width:25%}.col-lg-4{width:33.3333%}
  .col-lg-5{width:41.6667%}.col-lg-6{width:50%}.col-lg-7{width:58.3333%}.col-lg-8{width:66.6667%}
  .text-lg-end{text-align:right}
}
@media(min-width:1200px){.col-xl-3{width:25%}.col-xl-4{width:33.3333%}}
@media(max-width:575.98px){.g-5{--gx:2.3rem}}
.align-items-center{align-items:center}
.align-items-end{align-items:flex-end}
.ms-auto{margin-left:auto}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.collapse:not(.show){display:none}
.navbar{display:flex;position:relative;padding-block:.5rem}
.navbar>.container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}
.navbar-nav{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}
.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}
.nav-link{display:block}
@media(min-width:1200px){
  .navbar-expand-xl .navbar-nav{flex-direction:row}
  .navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto;width:auto}
  .navbar-expand-xl .navbar-toggler{display:none}
}
.dropdown{position:relative}
.dropdown-menu{display:none;position:absolute;top:100%;left:0;z-index:1000;min-width:10rem;
  list-style:none;margin:0;padding:0}
.dropdown-menu.show{display:block}
.dropdown-item{display:block;width:100%;text-align:left;background:none;border:0;text-decoration:none}
.dropdown-toggle::after{content:"";display:inline-block;width:0;height:0;margin-left:.4em;
  vertical-align:.16em;border-top:.32em solid;border-right:.3em solid transparent;
  border-left:.3em solid transparent}

.accordion-header{margin:0}
.accordion-button{display:flex;align-items:center;width:100%;text-align:left;border:0;
  background:none;cursor:pointer;font:inherit}
.accordion-button::after{content:"";width:1.1rem;height:1.1rem;flex:none;margin-left:auto;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%232563EB' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 6 5 5 5-5'/%3E%3C/svg%3E") no-repeat center/contain;
  transition:transform .3s ease}
.accordion-button:not(.collapsed)::after{transform:rotate(-180deg)}
.form-control{display:block;width:100%;font:inherit}

/* Scroll reveal — replaces AOS. Content is visible unless JS says otherwise. */
.js [data-aos]{opacity:0;transform:translateY(22px);
  transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1)}
.js [data-aos="zoom-in"]{transform:scale(.965)}
.js [data-aos].in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .js [data-aos]{opacity:1!important;transform:none!important;transition:none}
}

/* ==========================================================================
   4. SECTION PRIMITIVES
   ========================================================================== */

.section {
    position: relative;
    padding-top: var(--cp-section-space);
    padding-bottom: var(--cp-section-space);
}

.section--tight {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.section--muted {
    background-color: var(--cp-light-gray);
}

.section--dark {
    background-image: var(--cp-gradient-deep);
    color: rgba(226, 232, 240, 0.86);
}

.section__head {
    max-width: 720px;
    margin-bottom: 3.75rem;
}

.section__head--split {
    max-width: none;
}

.section__eyebrow {
    display: inline-flex;
    align-items: center;
    margin-bottom: 1rem;
    padding: 0.35rem 0.95rem;
    border-radius: var(--cp-radius-pill);
    background-color: rgba(251, 146, 60, 0.16);
    color: var(--cp-accent-text);
    font-family: var(--cp-font-heading);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.section__eyebrow--light {
    background-color: rgba(251, 146, 60, 0.16);
    color: #FDBA74;
}

.section__title {
    margin-bottom: 1.25rem;
}

.section__title--light {
    color: var(--cp-white);
}

.section__lead {
    max-width: 62ch;
    color: var(--cp-muted);
    font-size: 1.08rem;
    margin-bottom: 0;
}

.section__lead--light {
    color: rgba(226, 232, 240, 0.74);
}