/* First Light 0.5.91-0.5.93: CTA-linked infographics, circular-image motion and sitewide visual integrity. */
:root{
  --fls91-navy:#0B1644;
  --fls91-blue:#4D67AF;
  --fls91-pink:#EF8394;
  --fls91-pink-soft:#FCECEF;
  --fls91-ink:#243150;
  --fls91-line:rgba(11,22,68,.13);
}

/* Supporting-image rails are one atomic visual unit: image, infographic and CTA. */
.fls-v0593-rail-unit,
body.fls-v0589-secondary .fls-v0591-secondary-rail-stack,
body.fls-v0558-page .fls-v0593-generic-rail-stack{
  box-sizing:border-box;
  position:static!important;
  top:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:22px!important;
  width:min(100%,400px)!important;
  min-width:0!important;
  margin:0 auto!important;
  padding:0!important;
  overflow:visible!important;
}

/* Supporting-photo layout may remain grouped with its infographic, but Beaver/PowerPack owns image crop and frame styling. */
.fls-v0593-rail-unit .fls-v0558-supporting-photo,
body.fls-v0589-secondary .fls-v0591-secondary-rail-stack .fls-v0558-supporting-photo,
body.fls-v0558-page .fls-v0593-generic-rail-stack .fls-v0558-supporting-photo{
  box-sizing:border-box;
  position:relative!important;
  top:auto!important;
  width:min(100%,340px)!important;
  max-width:340px!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  align-self:center!important;
  overflow:visible!important;
}

/* Top-level reading rails are no longer independently sticky. This keeps the entire unit aligned to content. */
body.fls-v0577-reading-page .fls-v0577-reading-rail{
  position:static!important;
  top:auto!important;
  align-self:start!important;
  padding-top:0!important;
}
body.fls-v0577-reading-page .fls-v0577-reading-layout{
  align-items:start!important;
}

/* Reduce the dead space that made support photography feel detached from the content start. */
/* Compact decision infographic. */
.fls-v0591-rail-infographic{
  box-sizing:border-box;
  position:relative;
  z-index:3;
  width:100%;
  max-width:400px;
  margin:0!important;
  padding:24px;
  background:#fff;
  border:1px solid var(--fls91-line);
  border-radius:24px;
  box-shadow:0 18px 46px rgba(11,22,68,.06);
  text-align:left;
  overflow:hidden;
}
.fls-v0591-infographic-eyebrow{
  margin:0 0 8px;
  color:var(--fls91-pink);
  font-family:"Open Sans",sans-serif;
  font-size:10px!important;
  font-weight:800;
  line-height:1.35;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.fls-v0591-infographic-heading{
  margin:0 0 18px;
  color:var(--fls91-navy);
  font-family:var(--fls-display-font,"Lusitana",serif);
  font-size:clamp(1.65rem,2.5vw,2.15rem);
  font-weight:400;
  line-height:1.04;
  letter-spacing:-.02em;
}
.fls-v0591-infographic-list{
  display:grid;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:none;
}
.fls-v0591-infographic-list li{
  display:grid;
  grid-template-columns:30px 40px minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-height:62px;
  padding:11px 0;
  border-top:1px solid var(--fls91-line);
}
.fls-v0591-infographic-list li:first-child{border-top:0}
.fls-v0591-infographic-number{
  color:#7B8498;
  font-family:"Open Sans",sans-serif;
  font-size:10px!important;
  font-weight:800;
  line-height:1.25;
  letter-spacing:.08em;
}
.fls-v0591-mini-icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  color:#D96F82;
  background:var(--fls91-pink-soft);
  border:1px solid rgba(217,111,130,.20);
  border-radius:50%;
}
.fls-v0591-mini-icon svg{width:20px;height:20px}
.fls-v0591-infographic-label{
  min-width:0;
  color:var(--fls91-ink);
  font-family:"Open Sans",sans-serif;
  font-size:15px!important;
  font-weight:600;
  line-height:1.4;
}
.fls-v0591-infographic-cta{
  box-sizing:border-box!important;
  width:100%!important;
  margin-top:18px!important;
  text-align:center;
}

/* Absolute site rule requested by the client: visible interface text never renders below 10px. */
.fls-v0593-text-floor{font-size:10px!important;line-height:1.35!important}
body.fls-v0558-home .fls-home-give :is(.fls-donation__security,.fls-donation__tax),
body.fls-v0558-page :is(.fls-donation__security,.fls-donation__tax){
  font-size:max(10px,.625rem)!important;
  line-height:1.45!important;
}
body.fls-v0558-page .fls-stack-kicker,
body.fls-v0589-secondary .fls-v0558-section .fls-stack-kicker{
  font-size:max(10px,.76rem)!important;
}

/* Orbit decorations no longer alter Beaver image geometry. */
.fls-v0591-orbit-stage{
  position:relative!important;
  isolation:isolate;
  overflow:visible!important;
}
.fls-v0591-orbit-ring{
  position:absolute;
  pointer-events:none;
  border-radius:50%;
  z-index:0;
}

/* Homepage giving row color is intentionally stored on the Beaver Builder row. */

/* Luise's signature remains compact and correctly separated from her byline. */
body.fls-v0558-home .fls-luise-signature{
  width:min(116px,30vw)!important;
  margin:26px 0 24px!important;
}
body.fls-v0558-home .fls-luise-signature.fls-v0591-signature-positioned{clear:both}

/* FAQ is an answer utility, not a campaign landing page. Remove its hero entirely. */
body.fls-page-faqs .fls-v0558-hero-row{display:none!important}
@media(max-width:900px){
  .fls-v0593-rail-unit,
  body.fls-v0589-secondary .fls-v0591-secondary-rail-stack,
  body.fls-v0558-page .fls-v0593-generic-rail-stack{
    position:static!important;
    top:auto!important;
    width:min(100%,360px)!important;
    margin:0 auto 28px!important;
  }
  .fls-v0591-rail-infographic{max-width:360px}
}

@media(max-width:680px){
  .fls-v0591-rail-infographic{
    max-width:320px;
    padding:22px;
    border-radius:20px;
  }
  .fls-v0591-infographic-heading{font-size:1.62rem}
  .fls-v0593-rail-unit .fls-v0558-supporting-photo,
  body.fls-v0589-secondary .fls-v0591-secondary-rail-stack .fls-v0558-supporting-photo,
  body.fls-v0558-page .fls-v0593-generic-rail-stack .fls-v0558-supporting-photo{
    width:min(100%,292px)!important;
    max-width:292px!important;
  }
  .fls-v0591-orbit-ring--a{inset:-7px}
  .fls-v0591-orbit-ring--b{inset:-13px}
  .fls-v0591-orbit-ring--a:before{
    width:10px;height:10px;box-shadow:0 0 0 4px rgba(239,131,148,.10);
  }
  .fls-v0591-orbit-ring--b:before{width:8px;height:8px}
  body.fls-v0558-home .fls-luise-signature{
    width:min(98px,28vw)!important;
    margin:22px 0 20px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .fls-v0591-orbit-stage img,
  .fls-v0591-orbit-ring{
    transition:none!important;
    animation:none!important;
  }
}
