/* Homepage additions: combined program view and the two latest newsletters. */
.home-public .home-intro .hero-slide.is-active.flyer-slide-program{
  grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);
  background:radial-gradient(circle at 83% 20%,rgba(27,186,244,.24),transparent 38%),linear-gradient(120deg,#101042 0%,#172c6b 100%);
}
.flyer-slide-program .flyer-slide-copy h2 span{color:#55d8ff}
.flyer-slide-program .flyer-slide-copy>p:not(.hero-kicker){max-width:37ch;font-size:15px;line-height:1.6}
.flyer-slide-program .flyer-landscape-program .flyer-frame{width:min(97%,650px);max-height:none;transform:rotate(.35deg)}
.flyer-slide-program .flyer-landscape-program .flyer-frame img{width:100%;height:auto;max-height:none;object-fit:contain}
.flyer-slide-program .flyer-slide-media{min-height:400px;padding:22px 28px 54px 8px}
.flyer-slide-program .flyer-corner-label{top:16px;right:22px}

/* Keep the small dot look while giving each carousel control a usable hit area. */
.home-public .hero-carousel-controls.hero-carousel-dots-only{display:flex;align-items:center;gap:2px;padding:3px 5px;border-radius:999px;background:rgba(9,8,34,.28);backdrop-filter:blur(8px)}
.home-public .hero-carousel-dots-only .carousel-dots{gap:0}
.home-public .hero-carousel-dots-only .carousel-dot,.home-public .hero-carousel-dots-only .carousel-dot.is-active{display:grid;place-items:center;width:30px;min-width:30px;height:34px;padding:0;background:transparent;box-shadow:none;opacity:1;transform:none}
.home-public .hero-carousel-dots-only .carousel-dot::after{content:"";position:static;display:block;width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.57);box-shadow:0 1px 7px rgba(0,0,0,.23)}
.home-public .hero-carousel-dots-only .carousel-dot.is-active::after{background:#fff;box-shadow:0 0 0 2px rgba(24,215,255,.36),0 1px 8px rgba(0,0,0,.3)}
.home-public .hero-carousel-dots-only .carousel-dot:hover::after{background:#fff;transform:scale(1.18)}
.home-public .hero-carousel-controls .carousel-pause{display:grid;place-items:center;width:30px;height:34px;margin-left:1px;border:0;border-radius:50%;background:transparent;color:#fff;font-size:13px;cursor:pointer}
.home-public .hero-carousel-controls .carousel-pause:hover,.home-public .hero-carousel-controls .carousel-pause:focus-visible{background:rgba(255,255,255,.17);outline:2px solid #fff;outline-offset:0}

.home-newsletters{margin:8px 0 24px;padding:28px;border:1px solid #dce5f2;border-radius:24px;background:linear-gradient(140deg,#fff 0%,#f5f8ff 100%);box-shadow:0 12px 32px rgba(29,35,88,.06)}
.home-newsletters-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}
.home-newsletters-heading .section-kicker{margin:0 0 6px;color:#5d36c4;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.home-newsletters-heading h2{margin:0;color:#161342;font-size:clamp(26px,2.3vw,34px);line-height:1.15;letter-spacing:-.04em}
.home-newsletters-heading>p{max-width:240px;margin:0;color:#5b6281;font-size:14px;line-height:1.45;text-align:right}
.home-newsletters-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.home-newsletter-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 36%;min-width:0;min-height:235px;overflow:hidden;border:1px solid #d5e7fa;border-radius:18px;background:linear-gradient(135deg,#eef8ff 0%,#f9fcff 70%);color:#15234a;text-decoration:none;box-shadow:0 8px 23px rgba(33,58,100,.07);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.home-newsletter-card-september{border-color:#e7dbfa;background:linear-gradient(135deg,#f6f0ff 0%,#fdfbff 72%)}
.home-newsletter-card:hover,.home-newsletter-card:focus-visible{transform:translateY(-3px);box-shadow:0 14px 28px rgba(33,58,100,.14);border-color:#88bcf0;outline:none}
.home-newsletter-card-september:hover,.home-newsletter-card-september:focus-visible{border-color:#b595ef}
.home-newsletter-card:focus-visible{outline:3px solid #6239d0;outline-offset:3px}
.home-newsletter-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:start;min-width:0;padding:22px 7px 20px 22px}
.home-newsletter-month{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#dff2ff;color:#075c9c;font-size:10px;font-weight:900;letter-spacing:.02em;white-space:nowrap}
.home-newsletter-month span{color:#5899c3}
.home-newsletter-card-september .home-newsletter-month{background:#ede0ff;color:#6636b6}
.home-newsletter-card-september .home-newsletter-month span{color:#ab8ad0}
.home-newsletter-copy strong{display:block;margin-top:16px;color:#14224e;font-size:clamp(18px,1.45vw,23px);line-height:1.15;letter-spacing:-.035em}
.home-newsletter-description{display:block;margin-top:10px;color:#4d5b79;font-size:12px;line-height:1.55}
.home-newsletter-action{display:inline-flex;gap:6px;align-items:center;margin-top:auto;padding-top:15px;color:#075c9c;font-size:11px;font-weight:900}
.home-newsletter-card-september .home-newsletter-action{color:#6636b6}
.home-newsletter-preview{position:relative;display:block;align-self:stretch;overflow:hidden}
.home-newsletter-preview img{position:absolute;top:28px;left:12px;display:block;width:calc(100% + 18px);height:auto;max-height:none;border:1px solid rgba(26,42,88,.13);border-radius:7px;background:#fff;box-shadow:0 12px 24px rgba(19,35,79,.2);transform:rotate(5deg);transition:transform .2s ease}
.home-newsletter-card-september .home-newsletter-preview img{transform:rotate(-5deg)}
.home-newsletter-card:hover .home-newsletter-preview img,.home-newsletter-card:focus-visible .home-newsletter-preview img{transform:rotate(1deg) translateY(-3px)}

.home-public .flyer-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-public .flyer-card{grid-template-rows:220px 1fr}
.home-public .flyer-card-copy{display:flex;flex-direction:column}
.home-public .flyer-card-copy a{margin-top:auto;padding-top:8px;font-size:12px}
.home-public .flyer-card-copy h3{font-size:19px;line-height:1.2}
.home-public .flyer-card-image img{padding:10px}
.home-public .flyer-card-program .flyer-card-image{background:linear-gradient(145deg,#edf8ff,#f6f1ff)}

@media(max-width:1150px){
  .home-public .flyer-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-public .flyer-card-program{grid-column:1/-1;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:240px}
  .home-public .flyer-card-program .flyer-card-copy{justify-content:center}
}
@media(max-width:900px){
  .home-newsletters-heading{align-items:start}
  .home-newsletters-grid{grid-template-columns:1fr}
  .home-newsletter-card{min-height:220px;grid-template-columns:minmax(0,1fr) 28%}
}
@media(max-width:720px){
  .home-public .home-intro .hero-slide.is-active.flyer-slide-program{grid-template-columns:1fr}
  .flyer-slide-program .flyer-slide-copy{padding:28px 22px 14px}
  .flyer-slide-program .flyer-slide-media{min-height:260px;padding:10px 14px 55px}
  .flyer-slide-program .flyer-landscape-program .flyer-frame{width:min(94%,500px)}
  .flyer-slide-program .flyer-corner-label{top:5px;right:12px}
  .home-newsletters{padding:22px 17px}
  .home-newsletters-heading{display:block}
  .home-newsletters-heading>p{max-width:none;margin-top:9px;text-align:left}
  .home-public .flyer-gallery{grid-template-columns:1fr}
  .home-public .flyer-card,.home-public .flyer-card-program{display:grid;grid-column:auto;grid-template-columns:1fr;grid-template-rows:250px auto}
}
@media(max-width:650px){
  .home-public .home-intro .hero-slide.is-active.flyer-slide-program{grid-template-rows:auto auto!important}
  .flyer-slide-program .flyer-slide-copy h2{font-size:clamp(34px,9vw,43px);letter-spacing:-.06em}
  .flyer-slide-program .flyer-slide-media{height:auto!important;min-height:230px!important}
}
@media(max-width:480px){
  .home-newsletter-card{grid-template-columns:minmax(0,1fr) 28%;min-height:250px}
  .home-newsletter-copy{padding:18px 3px 18px 16px}
  .home-newsletter-month{font-size:9px;padding:5px 7px}
  .home-newsletter-copy strong{font-size:19px}
  .home-newsletter-description{font-size:11px}
  .home-newsletter-preview img{top:39px;left:6px;width:calc(100% + 30px)}
  .home-public .flyer-card,.home-public .flyer-card-program{grid-template-rows:215px auto}
}
@media(prefers-reduced-motion:reduce){.home-newsletter-card,.home-newsletter-preview img{transition:none}}
