:root{
  --foundation-purple:#540070;
  --foundation-gold:#ffcc00;
  --soft-gray:#efefef;
  --white:#ffffff;
  --dark:#111111;
}

*{
  box-sizing:border-box;
}

html,
body{
  margin:0;
  padding:0;
  scroll-behavior:smooth;
  background:var(--foundation-purple);
}

body{
  font-family:Arial, Helvetica, sans-serif;
  color:var(--white);
  overflow-x:hidden;
  background:
    radial-gradient(circle at top center, rgba(255,204,0,0.10) 0%, rgba(255,204,0,0.00) 32%),
    radial-gradient(circle at left center, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.00) 30%),
    radial-gradient(circle at right center, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.00) 28%),
    linear-gradient(180deg, #4c0065 0%, #540070 42%, #43005a 100%);
  background-attachment:fixed;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:0.16;
  background-image:
    radial-gradient(circle, rgba(255,255,255,0.22) 1.2px, transparent 1.3px),
    radial-gradient(circle, rgba(255,204,0,0.18) 1px, transparent 1.1px);
  background-size:140px 140px, 220px 220px;
  background-position:20px 40px, 90px 120px;
}

img{
  max-width:100%;
  display:block;
}

a{
  text-decoration:none;
}

.page-wrapper{
  max-width:1400px;
  margin:0 auto;
  background:transparent;
  position:relative;
  z-index:1;
}

h1,
h2,
h3,
h4{
  font-family:Byington, Georgia, "Times New Roman", serif;
  font-weight:400;
}

.content-shell{
  width:min(100%,1248px);
  margin:0 auto;
  position:relative;
}

/* NAVBAR - MATCHED TO MAIN SITE */
.navbar{
  position:sticky;
  top:0;
  z-index:2000;
  background:var(--foundation-purple) !important;
  padding:.5rem 0;
  margin:0;
  border:0;
  overflow:visible;
}

.navbar::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:100vw;
  background:var(--foundation-purple);
  z-index:-1;
}

.nav-inner{
  display:flex;
  align-items:center;
  gap:.8rem;
  position:relative;
}

.navbar-brand{
  padding:0;
  margin-right:.5rem;
  flex:0 0 auto;
}

.navbar-brand img{
  height:34px;
  width:auto;
}

.navbar .navbar-brand,
.navbar .nav-link{
  color:var(--white) !important;
}

.navbar .nav-link{
  font-size:.78rem;
  padding:0 .25rem;
  white-space:nowrap;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-link.active{
  color:var(--foundation-gold) !important;
}

.nav-links-wrap{
  flex:1 1 auto;
  min-width:0;
}

.navbar .navbar-nav{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  margin:0;
}

.navbar .dropdown{
  position:relative;
}

.dropdown-menu{
  border-radius:0;
  border:none;
  margin-top:.35rem;
  z-index:3000;
  min-width:13rem;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}

.dropdown-item{
  padding:.65rem .9rem;
}

.dropdown-item:hover,
.dropdown-item:focus{
  background:var(--foundation-gold);
  color:#000;
}

.search-form{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  margin:0;
}

.search-form .form-control{
  border-radius:0;
  border:none;
  min-width:100px;
  max-width:120px;
  font-size:.8rem;
  padding:.42rem .55rem;
}

.search-form .btn{
  border-radius:0;
  border:1px solid var(--foundation-gold);
  color:var(--foundation-gold);
  padding:.4rem .5rem;
  font-size:.8rem;
  white-space:nowrap;
  background:transparent;
}

.search-form .btn:hover{
  background:var(--foundation-gold);
  color:#000;
}

.donate-nav-item{
  flex:0 0 auto;
}

.donate-btn{
  background:var(--foundation-gold);
  color:#000 !important;
  padding:.6rem .8rem !important;
  text-transform:uppercase;
  border-radius:0;
  letter-spacing:.01em;
  line-height:1;
  font-size:.85rem;
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
}

.donate-btn:hover{
  background:#ffd633;
}

.navbar-toggler{
  border:1px solid rgba(255,255,255,.45);
  padding:.3rem .45rem;
}

.navbar-toggler:focus{
  box-shadow:none;
}

.navbar-toggler-icon{
  filter:brightness(0) invert(1);
}

/* PAGE SECTIONS */
.skls2-hero{
  padding:1.5rem 0 0;
}

.skls2-hero-card{
  display:grid;
  grid-template-columns:1.2fr .95fr;
  gap:0;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 16px 34px rgba(0,0,0,.22);
  overflow:hidden;
}

.skls2-hero-media{
  background:#120018;
}

.skls2-carousel{
  position:relative;
  min-height:100%;
}

.skls2-carousel-track{
  position:relative;
  min-height:100%;
}

.skls2-carousel-slide{
  display:none;
  width:100%;
  height:100%;
  min-height:500px;
  object-fit:cover;
}

.skls2-carousel-slide.active{
  display:block;
}

.skls2-carousel-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  border:none;
  background:rgba(0,0,0,.42);
  color:#fff;
  width:42px;
  height:42px;
  font-size:1.5rem;
  cursor:pointer;
  z-index:3;
}

.skls2-carousel-prev{ left:10px; }
.skls2-carousel-next{ right:10px; }

.skls2-carousel-dots{
  position:absolute;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  display:flex;
  gap:10px;
  z-index:3;
}

.skls2-dot{
  width:11px;
  height:11px;
  border-radius:50%;
  border:none;
  background:rgba(255,255,255,.45);
  cursor:pointer;
}

.skls2-dot.active{
  background:var(--foundation-gold);
}

.skls2-hero-content{
  padding:2rem 2rem 2.25rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    linear-gradient(180deg, rgba(84,0,112,.96), rgba(52,0,70,.96));
}

.skls2-eyebrow{
  margin:0 0 .65rem;
  color:var(--foundation-gold);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.8rem;
  font-weight:700;
}

.skls2-hero-content h1{
  margin:0;
  font-size:clamp(2.4rem, 4vw, 4rem);
  line-height:.98;
}

.skls2-divider{
  width:min(100%,300px);
  margin:.9rem 0 1rem;
}

.skls2-lead{
  margin:0;
  font-size:1.08rem;
  line-height:1.6;
  color:#f4eefa;
}

.skls2-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:1.4rem;
}

.skls2-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 1.15rem;
  font-weight:700;
  letter-spacing:.02em;
  transition:.25s ease;
}

.skls2-btn-gold{
  background:var(--foundation-gold);
  color:#111;
}

.skls2-btn-gold:hover{
  background:#ffd633;
  color:#111;
}

.skls2-btn-outline{
  border:1px solid var(--foundation-gold);
  color:var(--foundation-gold);
  background:transparent;
}

.skls2-btn-outline:hover{
  background:var(--foundation-gold);
  color:#111;
}

.skls2-feature-strip{
  padding:1.4rem 0 0;
}

.skls2-feature-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
}

.skls2-feature-box{
  background:linear-gradient(180deg, rgba(255,204,0,.96), rgba(236,184,0,.96));
  color:#2b0c36;
  padding:1.35rem 1.25rem 1.2rem;
  box-shadow:0 12px 24px rgba(0,0,0,.16);
}

.skls2-feature-number{
  display:inline-block;
  margin-bottom:.5rem;
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:1.4rem;
}

.skls2-feature-box h2{
  margin:0 0 .8rem;
  font-size:2rem;
  line-height:1;
}

.skls2-feature-box p,
.skls2-award-list{
  margin:0;
  font-size:1rem;
  line-height:1.55;
}

.skls2-award-list{
  padding-left:1.2rem;
}

.skls2-story{
  padding:2rem 0 0;
}

.skls2-story-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:24px;
  align-items:start;
}

.skls2-story-copy,
.skls2-story-panel,
.skls2-highlight-card,
.skls2-media-card,
.skls2-cta-box{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 24px rgba(0,0,0,.16);
}

.skls2-story-copy{
  padding:1.6rem;
}

.skls2-section-label{
  margin:0 0 .5rem;
  color:var(--foundation-gold);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.78rem;
  font-weight:700;
}

.skls2-story-copy h2{
  margin:0 0 1rem;
  font-size:clamp(2.2rem, 3vw, 3.2rem);
  line-height:1;
}

.skls2-story-copy p{
  line-height:1.7;
}

.skls2-story-actions{
  margin-top:1rem;
}

.skls2-text-link{
  color:var(--foundation-gold);
  font-weight:700;
}

.skls2-text-link:hover{
  color:#fff;
}

.skls2-story-panel{
  overflow:hidden;
}

.skls2-map-wrap{
  aspect-ratio:16/10;
  background:#ddd;
}

.skls2-map-frame{
  width:100%;
  height:100%;
  border:0;
}

.skls2-panel-copy{
  padding:1.2rem 1.25rem 1.35rem;
}

.skls2-panel-copy h3{
  margin:0 0 .9rem;
  font-size:1.7rem;
}

.skls2-location-list{
  margin:0;
  padding-left:1rem;
}

.skls2-location-list li{
  margin-bottom:.85rem;
  line-height:1.55;
}

.skls2-location-list a{
  color:var(--foundation-gold);
}

.skls2-highlight,
.skls2-media,
.skls2-cta{
  padding:2rem 0 0;
}

/* UPGRADED HIGHLIGHT SECTION */
.skls2-highlight-card{
  display:grid;
  grid-template-columns:minmax(320px, .92fr) minmax(420px, 1.08fr);
  align-items:stretch;
  overflow:hidden;
  border-radius:0;
  position:relative;
}

.skls2-highlight-copy,
.skls2-media-copy{
  padding:1.6rem;
}

.skls2-highlight-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:2.15rem 2rem;
  background:
    linear-gradient(135deg, rgba(84,0,112,.94) 0%, rgba(62,0,84,.96) 58%, rgba(46,0,64,.98) 100%);
  position:relative;
  z-index:1;
}

.skls2-highlight-copy::after{
  content:"";
  position:absolute;
  right:-70px;
  top:50%;
  transform:translateY(-50%);
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,204,0,.18) 0%, rgba(255,204,0,0) 70%);
  pointer-events:none;
}

.skls2-highlight-copy h2,
.skls2-media-copy h2,
.skls2-cta-box h2{
  margin:0 0 .9rem;
  font-size:clamp(2.1rem, 3vw, 3rem);
  line-height:1;
}

.skls2-highlight-copy p,
.skls2-media-copy p,
.skls2-cta-box p{
  line-height:1.65;
}

.skls2-highlight-copy p:last-of-type{
  max-width:560px;
  color:#f2ebf6;
}

.skls2-highlight-image{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:420px;
  padding:clamp(16px, 2vw, 28px);
  background:
    radial-gradient(circle at top right, rgba(255,204,0,.18) 0%, rgba(255,204,0,0) 34%),
    radial-gradient(circle at bottom left, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 38%),
    linear-gradient(135deg, #5a0a74 0%, #4a0062 52%, #2f003f 100%);
  position:relative;
}

.skls2-highlight-image::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,0) 14%, rgba(255,255,255,0) 86%, rgba(255,255,255,.05) 100%);
}

.skls2-highlight-image a{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  z-index:1;
}

.skls2-highlight-image img{
  width:100%;
  max-width:100%;
  height:auto;
  max-height:520px;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 18px 36px rgba(0,0,0,.28));
}

/* MEDIA */
.skls2-media-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  overflow:hidden;
}

.skls2-media-video{
  padding:1.2rem;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skls2-video-embed{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#000;
}

.skls2-video-embed iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

.skls2-cta-box{
  text-align:center;
  padding:2rem 1.4rem 2.2rem;
}

/* FOOTER - MATCHED TO MAIN SITE */
footer{
  background:transparent;
  position:relative;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.08);
  margin-top:2rem;
}

.footer-brand{
  text-align:center;
  padding:.9rem 0 .7rem;
  background:transparent;
}

.footer-brand img{
  width:min(100%,440px);
  margin:0 auto .5rem;
}

.footer-brand p{
  max-width:820px;
  margin:0 auto;
  font-size:1rem;
}

.footer-contact{
  background:#efefef;
  color:#2e2e2e;
  font-size:.92rem;
  padding:.7rem 0;
  width:100vw;
  margin-left:calc(-50vw + 50%);
  position:relative;
}

.footer-contact .row{
  align-items:center;
}

.footer-contact .col-md-4{
  text-align:center;
  line-height:1.15;
}

.footer-contact a{
  color:inherit;
}

.footer-copy{
  background:#4c0065;
  color:#fff;
  text-align:center;
  padding:.8rem 1rem;
  font-size:.88rem;
  width:100vw;
  margin-left:calc(-50vw + 50%);
}

.footer-connect{
  background:transparent;
  padding:14px 0;
  text-align:center;
}

.connect-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
}

.connect-text{
  color:var(--foundation-gold);
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:1.4rem;
  letter-spacing:.05em;
}

.connect-icon{
  width:28px;
  height:28px;
  object-fit:contain;
}

/* RESPONSIVE */
@media (min-width: 992px){
  .navbar-collapse{
    display:flex !important;
    align-items:center;
    justify-content:flex-end;
    gap:.75rem;
    overflow:visible;
  }
}

@media (max-width: 991.98px){
  .content-shell{
    width:min(100%,calc(100% - 18px));
  }

  .nav-inner{
    flex-wrap:wrap;
  }

  .navbar-brand img{
    height:30px;
  }

  .navbar .navbar-nav{
    flex-direction:column;
    align-items:flex-start;
    gap:.2rem;
    padding-top:.65rem;
  }

  .nav-links-wrap,
  .search-form,
  .donate-nav-item{
    width:100%;
  }

  .search-form{
    margin-top:.65rem;
  }

  .donate-nav-item{
    margin-top:.65rem;
  }

  .skls2-hero-card,
  .skls2-story-grid,
  .skls2-highlight-card,
  .skls2-media-card,
  .skls2-feature-grid{
    grid-template-columns:1fr;
  }

  .skls2-carousel-slide{
    min-height:320px;
  }

  .skls2-hero-content,
  .skls2-story-copy,
  .skls2-highlight-copy,
  .skls2-media-copy{
    padding:1.3rem;
  }

  .skls2-highlight-image{
    min-height:300px;
    padding:20px 16px;
  }

  .skls2-highlight-image img{
    max-height:420px;
  }

  .footer-contact .col-md-4{
    margin-bottom:.5rem;
  }
}

@media (max-width: 575.98px){
  .nav-inner{
    gap:.35rem;
  }

  .navbar-brand{
    margin-right:.2rem;
  }

  .search-form{
    flex-wrap:nowrap;
  }

  .search-form .form-control{
    max-width:none;
  }

  .skls2-hero-content h1{
    font-size:2.1rem;
  }

  .skls2-feature-box h2,
  .skls2-story-copy h2,
  .skls2-highlight-copy h2,
  .skls2-media-copy h2,
  .skls2-cta-box h2{
    font-size:1.9rem;
  }

  .skls2-highlight-copy{
    padding:1.35rem 1.2rem;
  }

  .skls2-highlight-image{
    min-height:240px;
    padding:14px;
  }
}
/* subtle gold glow always present */
.angelmoms-link {
  color: #ffffff;
  text-decoration: none;
  position: relative;
  transition: all 0.25s ease;
}

.angelmoms-link:hover {
  color: #ffcc00;
  text-shadow: 
    0 0 6px rgba(255, 204, 0, 0.5),
    0 0 12px rgba(255, 204, 0, 0.25);
}