:root{
  --navy:#082e58;
  --gold:#f7bf18;
  --green:#1f7a2f;
  --blue:#0d57a8;
  --purple:#5b3198;
  --red:#d01818;
  --ink:#111;
  --paper:#f7f7f7;
  --line:#d8d8d8;
  --max:1400px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}
a{color:inherit}
.wrap{width:min(var(--max),calc(100% - 2rem));margin:auto}

.banner{
  display:block;
  position:relative;
  width:100%;
  aspect-ratio:2048 / 437;
  min-height:0;
  margin:0;
  padding:0;
  background-image:url("../images/banner-logo-final.png");
  background-position:center top;
  background-size:cover;
  background-repeat:no-repeat;
}
.banner-tagline{
  position:absolute;
  left:50%;
  bottom:-2px;
  transform:translateX(-50%);
  width:min(760px,82%);
  text-align:center;
  color:var(--gold);
  font-weight:900;
  font-size:clamp(.8rem,1.3vw,1.15rem);
  text-transform:uppercase;
  letter-spacing:.03em;
  text-shadow:0 2px 5px rgba(0,0,0,.65);
}
.banner-tagline::before,.banner-tagline::after{
  content:"";
  display:inline-block;
  vertical-align:middle;
  width:70px;
  max-width:12vw;
  height:3px;
  background:var(--gold);
  margin:0 18px;
}


.site-nav-bar{
  margin:0;
  padding:0;
  border:0;
  position:relative;
  z-index:20;
  background:linear-gradient(90deg,var(--navy),#06244a);
  color:#fff;
}
.site-nav{
  min-height:64px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:1rem;
}
.site-nav__links{
  display:flex;
  align-items:stretch;
  flex-wrap:wrap;
  gap:.1rem;
}
.site-nav__links a{
  display:flex;
  align-items:center;
  text-decoration:none;
  padding:1rem .95rem;
  font-weight:800;
  font-size:.95rem;
}
.site-nav__links a:hover,
.site-nav__links a:focus-visible{background:rgba(255,255,255,.10)}
.site-nav__links a.active{color:var(--gold);box-shadow:inset 0 -3px 0 var(--gold)}
.site-nav__support{
  background:var(--gold);
  color:#102a19;
  text-decoration:none;
  font-weight:900;
  padding:.85rem 1.15rem;
  border-radius:5px;
  white-space:nowrap;
}
.site-nav__support:hover,
.site-nav__support:focus-visible{background:#ffd44e}
.site-nav__toggle{
  display:none;
  border:2px solid rgba(255,255,255,.8);
  border-radius:6px;
  background:transparent;
  color:#fff;
  padding:.65rem .85rem;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.site-nav__toggle:hover,
.site-nav__toggle:focus-visible{background:rgba(255,255,255,.12)}

.home-hero{
  min-height:460px;
  padding:3rem 0;
  display:flex;
  align-items:flex-end;
  background:linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.12)),url("../images/crowd.jpg") center 35%/cover no-repeat;
}
.home-hero .wrap{text-align:center;align-self:flex-start;padding-top:5px;padding-bottom:0}
.home-hero h1{font-family:Georgia,serif;color:#fff;text-shadow:0 3px 8px rgba(0,0,0,.85);font-size:clamp(1.8rem,3vw,2.8rem);margin:.2rem 0 .45rem}
.home-hero p{color:#fff;font-size:1.15rem;font-weight:700;text-shadow:0 2px 6px rgba(0,0,0,.85);margin:.45rem 0 0}

.cards{padding:1.4rem 0 2.5rem;background:#fff}
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.35rem}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.12);text-align:center;padding-bottom:1.35rem;display:flex;flex-direction:column}
.card-image{height:210px;background-size:cover;background-position:center}
.card h2{font-family:Georgia,serif;text-transform:uppercase;font-size:1.45rem;margin:.8rem 1rem .6rem}
.card p{padding:0 1.2rem;line-height:1.45;margin:.2rem 0 1.2rem;flex:1}
.card-button{display:inline-block;margin:0 auto;text-decoration:none;color:#fff;font-weight:900;padding:.75rem 1.2rem;border-radius:5px;min-width:76%}
.card-button.green{background:var(--green)} .card-button.blue{background:var(--blue)}
.card-button.purple{background:var(--purple)} .card-button.red{background:var(--red)}

.page-main{padding:2rem 0 3rem}
.support-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.support-card{border:1px solid var(--line);border-radius:8px;padding:1.4rem;text-align:center;display:flex;flex-direction:column;min-height:470px;color:#111}
.support-card.financial{background:#eaf6fb}
.support-card.volunteer{background:#eef7ec}
.support-card.join{background:#f2eef8}
.support-card.connect{background:#fff7df}
.support-card img{display:block;width:175px;max-width:90%;height:auto;margin:0 auto 1rem;border-radius:4px}
.support-card .icon{font-size:4.4rem;line-height:1;margin:.5rem 0 1rem}
.support-card h2{font-family:Georgia,serif;font-size:1.65rem;line-height:1.1;margin:.25rem 0 .75rem;color:#111}
.support-card p{color:#111;margin:.25rem 0 1.2rem}
.support-card .spacer{flex:1}
.support-card .button{display:inline-block;text-decoration:none;font-weight:900;padding:.82rem 1rem;border-radius:4px}
.financial .button{background:var(--gold);color:#111}
.volunteer .button{background:#2e7d32;color:#fff}
.join .button{background:#5a3b97;color:#fff}
.connect .button{background:#d79a00;color:#fff}
.return-home{text-align:center;margin-top:2rem}
.return-home a{background:var(--gold);border:3px solid #b8860b;color:#111;padding:1rem 1.6rem;border-radius:8px;text-decoration:none;font-weight:900;font-size:1.05rem;display:inline-block;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.return-home a:hover{transform:translateY(-2px);background:#ffd84d}

.placeholder{background:#fff;border:1px solid var(--line);border-radius:10px;padding:2rem;margin:2rem auto;max-width:900px}
.placeholder h1{font-family:Georgia,serif;color:var(--navy)}

@media(max-width:1000px){
  .card-grid,.support-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .card-grid,.support-grid{grid-template-columns:1fr}
  .home-hero{min-height:360px}
}
.gallery-intro{max-width:900px;margin:0 auto 1.5rem;text-align:center}
.gallery-intro h1{font-family:Georgia,serif;color:var(--navy);margin:.2rem 0 .5rem}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.gallery-item{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.10)}
.gallery-item button{display:block;width:100%;border:0;padding:0;background:none;cursor:pointer}
.gallery-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery-caption{padding:.8rem 1rem;font-weight:700;line-height:1.35;color:#111}
.lightbox{position:fixed;inset:0;z-index:999;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.92);padding:2rem}
.lightbox.open{display:flex}
.lightbox-content{max-width:min(1200px,95vw);max-height:90vh;text-align:center}
.lightbox img{max-width:100%;max-height:78vh;object-fit:contain}
.lightbox-caption{color:#fff;margin-top:.8rem;font-size:1rem}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:0;background:rgba(255,255,255,.16);color:#fff;cursor:pointer;font-size:2rem;border-radius:6px}
.lightbox-close{top:1rem;right:1rem;padding:.35rem .75rem}
.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);padding:.55rem .75rem}
.lightbox-prev{left:1rem}.lightbox-next{right:1rem}
@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.gallery-grid{grid-template-columns:1fr}}

.contact-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:2rem;
  align-items:start;
}
.contact-panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:2rem;
  box-shadow:0 5px 18px rgba(0,0,0,.08);
}
.contact-panel h1{
  margin-top:0;
  font-family:Georgia,serif;
  color:var(--navy);
}
.contact-form{
  display:grid;
  gap:1rem;
}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}
.contact-form label{
  display:block;
  font-weight:800;
  margin-bottom:.35rem;
}
.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  padding:.85rem;
  border:1px solid #aaa;
  border-radius:6px;
  font:inherit;
  background:#fff;
}
.contact-form textarea{
  min-height:170px;
  resize:vertical;
}
.contact-form button{
  justify-self:start;
  border:0;
  border-radius:6px;
  padding:.9rem 1.25rem;
  background:var(--gold);
  color:#111;
  font-weight:900;
  font-size:1rem;
  cursor:pointer;
}
.contact-form button:hover{
  background:#ffd84d;
}
.contact-note{
  color:#444;
  font-size:.92rem;
}
.contact-card{
  background:#eef4f8;
  border:1px solid var(--line);
  border-radius:12px;
  padding:1.5rem;
}
.contact-card h2{
  margin-top:0;
  font-family:Georgia,serif;
  color:var(--navy);
}
.form-status{
  display:none;
  padding:.8rem 1rem;
  border-radius:6px;
  background:#eef7ec;
  border:1px solid #9ac59a;
  color:#174d1e;
}
.form-status.show{display:block}
@media(max-width:800px){
  .contact-layout{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
}

.video-card-frame{position:relative;background:#111;padding:12px 0;overflow:hidden}
.video-card-frame::before,.video-card-frame::after{content:"";position:absolute;left:0;right:0;height:12px;background:repeating-linear-gradient(90deg,#111 0 16px,#eee 16px 26px,#111 26px 42px);z-index:2}
.video-card-frame::before{top:0}.video-card-frame::after{bottom:0}
.video-card-frame .card-image{filter:brightness(.82)}
.play-overlay{position:absolute;inset:12px 0;display:flex;align-items:center;justify-content:center;z-index:3}
.play-button{width:72px;height:52px;border-radius:14px;background:rgba(208,24,24,.94);display:flex;align-items:center;justify-content:center;box-shadow:0 5px 16px rgba(0,0,0,.4)}
.play-button::after{content:"";width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:20px solid #fff;margin-left:5px}
.video-page{padding:2.5rem 0 3.5rem}
.video-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:2rem;align-items:start}
.featured-video-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.10)}
.featured-video-image{position:relative;background:#111;padding:14px 0}
.featured-video-image::before,.featured-video-image::after{content:"";position:absolute;left:0;right:0;height:14px;background:repeating-linear-gradient(90deg,#111 0 18px,#eee 18px 30px,#111 30px 48px);z-index:2}
.featured-video-image::before{top:0}.featured-video-image::after{bottom:0}
.featured-video-image img{display:block;width:100%;height:auto;filter:brightness(.82)}
.featured-video-image .play-overlay{inset:14px 0}
.featured-video-copy{padding:1.5rem}
.featured-video-copy h1,.video-sidebar h2{font-family:Georgia,serif;color:var(--navy)}
.video-sidebar{background:#eef4f8;border:1px solid var(--line);border-radius:12px;padding:1.5rem}
.video-page-button{display:inline-block;background:var(--red);color:#fff;text-decoration:none;font-weight:900;padding:.85rem 1.15rem;border-radius:6px}
@media(max-width:850px){.video-hero{grid-template-columns:1fr}}

.youtube-library{
  padding:2.2rem 0 3.5rem;
}
.youtube-page-intro{
  max-width:900px;
  margin:0 auto 2rem;
  text-align:center;
}
.youtube-page-intro h1{
  font-family:Georgia,serif;
  color:var(--navy);
  margin:.2rem 0 .6rem;
}
.youtube-tabs{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:.65rem;
  margin:0 0 2rem;
}
.youtube-tabs a{
  display:inline-block;
  padding:.7rem 1.05rem;
  border-radius:999px;
  background:#fff;
  border:2px solid var(--navy);
  color:var(--navy);
  text-decoration:none;
  font-weight:900;
}
.youtube-tabs a:hover{
  background:var(--navy);
  color:#fff;
}
.youtube-section{
  margin:0 0 2rem;
  padding:1.5rem;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 5px 18px rgba(0,0,0,.08);
}
.youtube-section-header{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:1rem;
  margin-bottom:1rem;
}
.youtube-section-header h2{
  font-family:Georgia,serif;
  color:var(--navy);
  margin:0;
  font-size:2rem;
}
.youtube-section-header p{
  margin:.3rem 0 0;
  color:#444;
}
.youtube-section-link{
  display:inline-block;
  padding:.7rem 1rem;
  border-radius:6px;
  color:#fff;
  text-decoration:none;
  font-weight:900;
  white-space:nowrap;
}
.youtube-section.videos .youtube-section-link{background:var(--red)}
.youtube-section.shorts .youtube-section-link{background:var(--purple)}
.youtube-section.posts .youtube-section-link{background:var(--blue)}
.youtube-preview-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.youtube-preview{
  border:1px solid var(--line);
  border-radius:9px;
  overflow:hidden;
  background:#fafafa;
}
.youtube-preview-image{
  position:relative;
  display:block;
  min-height:210px;
  background-size:cover;
  background-position:center;
  text-decoration:none;
}
.youtube-preview-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(transparent 45%,rgba(0,0,0,.62));
}
.youtube-play{
  position:absolute;
  left:50%;
  top:50%;
  z-index:2;
  transform:translate(-50%,-50%);
  width:68px;
  height:48px;
  border-radius:13px;
  background:rgba(208,24,24,.95);
}
.youtube-play::after{
  content:"";
  position:absolute;
  left:28px;
  top:12px;
  width:0;
  height:0;
  border-top:12px solid transparent;
  border-bottom:12px solid transparent;
  border-left:20px solid #fff;
}
.youtube-preview-copy{
  padding:1rem;
}
.youtube-preview-copy h3{
  margin:.1rem 0 .45rem;
  font-size:1.1rem;
}
.youtube-preview-copy p{
  margin:0;
  color:#555;
  line-height:1.45;
}
.youtube-section-note{
  margin:1rem 0 0;
  padding:.85rem 1rem;
  background:#f3f5f7;
  border-left:4px solid var(--navy);
  color:#333;
}
@media(max-width:900px){
  .youtube-preview-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .youtube-section-header{display:block}
  .youtube-section-link{margin-top:.8rem}
  .youtube-preview-grid{grid-template-columns:1fr}
}

.gallery-by-year{display:grid;gap:2.25rem}
.gallery-year{margin:0}
.gallery-year-title{
  margin:0 0 1rem;
  padding:.6rem 1rem;
  background:var(--navy);
  color:#fff;
  font-family:Georgia,serif;
  font-size:1.65rem;
  text-align: center;
  border-radius:6px;
}


/* About Us page */
.about-page{max-width:1000px}
.about-intro,.about-section{background:#fff;border:1px solid var(--line);border-radius:10px;padding:2rem;margin:2rem 0;box-shadow:0 5px 18px rgba(0,0,0,.06)}
.about-intro h1,.about-section h2{font-family:Georgia,serif;color:var(--navy);margin-top:0}
.about-lead{font-size:1.15rem;line-height:1.65;margin-bottom:0}
.about-quote{background:#f5f5f5;border-left:6px solid var(--gold);padding:30px;margin:35px 0;border-radius:6px}
.about-quote p{font-size:1.35rem;font-style:italic;text-align:center;line-height:1.6;margin:0}
.about-section p,.about-section li{line-height:1.65}
.about-mission-list{padding-left:1.4rem}
.about-action{display:inline-block;background:var(--navy);color:#fff;text-decoration:none;font-weight:900;padding:.8rem 1rem;border-radius:6px}
.about-action:hover{transform:translateY(-2px)}
.leadership-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.leadership-grid article{background:#f7f7f7;border:1px solid var(--line);border-radius:8px;padding:1.25rem}
.leadership-grid h3{font-family:Georgia,serif;color:var(--navy);margin:.1rem 0}
.leadership-role{font-weight:900;color:#555;margin:.2rem 0 .8rem}
@media(max-width:700px){.leadership-grid{grid-template-columns:1fr}.about-intro,.about-section{padding:1.35rem}.about-quote{padding:22px}.about-quote p{font-size:1.15rem}}


/* Programs page */
.programs-page{
  max-width:1000px;
}
.programs-intro{
  background:#fff;
  border:1px solid var(--line);
  border-top:7px solid var(--gold);
  border-radius:10px;
  padding:2.2rem;
  margin:2rem 0;
  box-shadow:0 5px 18px rgba(0,0,0,.06);
}
.programs-eyebrow{
  margin:0 0 .35rem;
  color:var(--red);
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.85rem;
}
.programs-intro h1{
  margin:.1rem 0 .35rem;
  color:var(--navy);
  font-family:Georgia,serif;
  font-size:2.5rem;
}
.programs-intro h2{
  margin:0 0 1.1rem;
  color:#555;
  font-family:Georgia,serif;
  font-size:1.35rem;
  font-weight:normal;
}
.programs-intro p{
  line-height:1.7;
}
.programs-lead{
  font-size:1.14rem;
}
.programs-list{
  display:grid;
  gap:1.35rem;
}
.program-card{
  display:grid;
  grid-template-columns:78px 1fr;
  gap:1.4rem;
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:1.8rem;
  box-shadow:0 5px 18px rgba(0,0,0,.055);
}
.program-number{
  display:flex;
  align-items:center;
  justify-content:center;
  width:64px;
  height:64px;
  border-radius:50%;
  background:var(--navy);
  color:#fff;
  font-family:Georgia,serif;
  font-size:1.45rem;
  font-weight:bold;
}
.program-copy h2{
  margin:.1rem 0 .8rem;
  color:var(--navy);
  font-family:Georgia,serif;
  font-size:1.65rem;
}
.program-copy p{
  margin:.65rem 0;
  line-height:1.68;
}
.programs-join{
  background:#eef4f8;
  border:1px solid var(--line);
  border-left:7px solid var(--gold);
  border-radius:10px;
  padding:2rem;
  margin:2rem 0;
}
.programs-join h2{
  margin-top:0;
  color:var(--navy);
  font-family:Georgia,serif;
}
.programs-join p{
  line-height:1.65;
}
.programs-actions{
  display:flex;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:1.25rem;
}
.programs-home-link{
  color:var(--navy);
  font-weight:900;
  text-decoration:none;
}
.programs-home-link:hover{
  text-decoration:underline;
}
@media(max-width:650px){
  .programs-intro{
    padding:1.4rem;
  }
  .programs-intro h1{
    font-size:2rem;
  }
  .program-card{
    grid-template-columns:1fr;
    padding:1.35rem;
  }
  .program-number{
    width:52px;
    height:52px;
    font-size:1.15rem;
  }
}


/* Version 1.5: isolated responsive navigation and phone banner treatment */
@media(max-width:900px){
  .site-nav{
    min-height:auto;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:.65rem;
    padding:.65rem 0;
  }
  .site-nav__toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    justify-self:start;
  }
  .site-nav__support{
    justify-self:end;
    padding:.7rem .8rem;
    font-size:.88rem;
  }
  .site-nav__links{
    display:none;
    grid-column:1 / -1;
    width:100%;
    flex-direction:column;
    flex-wrap:nowrap;
    gap:0;
    border-top:1px solid rgba(255,255,255,.22);
  }
  .site-nav__links.is-open{display:flex}
  .site-nav__links a{
    width:100%;
    padding:.9rem .7rem;
    border-bottom:1px solid rgba(255,255,255,.16);
  }
  .site-nav__links a.active{
    box-shadow:inset 4px 0 0 var(--gold);
    border-bottom:1px solid rgba(255,255,255,.16);
  }
}

@media(max-width:650px){
  .banner{min-height:0;aspect-ratio:2048 / 437}
  .banner-tagline{
    left:0;
    right:0;
    bottom:1px;
    transform:none;
    width:100%;
    padding:0 .2rem;
    font-size:clamp(.5rem,2.55vw,.72rem);
    line-height:1;
    letter-spacing:0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:clip;
  }
  .banner-tagline::before,
  .banner-tagline::after{display:none}
}

@media(max-width:390px){
  .site-nav__toggle{padding:.58rem .68rem;font-size:.88rem}
  .site-nav__support{padding:.62rem .65rem;font-size:.8rem}
}

/* Version 1.5.3: News & Events index and article */
.news-page{padding-top:2rem;padding-bottom:3rem}
.news-header{max-width:780px;margin-bottom:1.7rem}
.news-header h1,.news-article h1{font-family:Georgia,serif;color:var(--navy);margin:.15rem 0 .7rem;line-height:1.14}
.news-header h1{font-size:clamp(2.2rem,5vw,3.4rem)}
.news-header>p:last-child{font-size:1.08rem;line-height:1.6;color:#44515f}
.news-kicker{text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:.78rem;color:#8a5a00;margin:0}
.news-list{display:grid;gap:1.5rem}
.news-card{display:grid;grid-template-columns:minmax(260px,42%) 1fr;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(18,38,61,.09)}
.news-card__image{display:block;background:#e9edf1;min-height:250px}
.news-card__image img{display:block;width:100%;height:100%;object-fit:cover}
.news-card__body{padding:1.7rem 1.8rem;align-self:center}
.news-card__date,.news-article__date{font-size:.9rem;font-weight:800;color:#687480;margin:0 0 .55rem}
.news-card h2{font-family:Georgia,serif;font-size:clamp(1.55rem,3vw,2rem);line-height:1.2;margin:0 0 .85rem}
.news-card h2 a{color:var(--navy);text-decoration:none}
.news-card h2 a:hover{text-decoration:underline}
.news-card__body>p:not(.news-card__date){line-height:1.65;margin:.5rem 0 1rem}
.news-read-more{display:inline-block;color:var(--navy);font-weight:900;text-decoration:none}
.news-read-more:hover{text-decoration:underline}
.news-home-link{margin-top:2rem;font-weight:800}
.news-home-link a,.news-back a,.news-article__footer a{color:var(--navy)}
.news-article{max-width:980px;padding-top:1.7rem;padding-bottom:3.5rem}
.news-back{font-weight:800;margin:0 0 1.4rem}
.news-article__header{max-width:880px;margin-bottom:1.3rem}
.news-article h1{font-size:clamp(2rem,5vw,3.25rem)}
.news-article__hero{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line);box-shadow:0 8px 24px rgba(18,38,61,.1)}
.news-article__content{max-width:780px;margin:1.8rem auto 0;font-size:1.04rem;line-height:1.72}
.news-article__content h2{font-family:Georgia,serif;color:var(--navy);font-size:1.65rem;margin:2rem 0 .6rem}
.news-lead{font-size:1.18rem;line-height:1.65}
.news-callout{margin:1.5rem 0;padding:1.2rem 1.3rem;background:#eef4f8;border-left:6px solid var(--gold);border-radius:8px}
.news-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin:1rem 0}
.news-actions .btn-secondary{background:#fff;color:var(--navy);border:2px solid var(--navy)}
.news-article address{font-style:normal;background:#f6f7f8;border:1px solid var(--line);border-radius:8px;padding:1rem 1.2rem;display:inline-block}
.news-article__footer{max-width:780px;margin:2.4rem auto 0;padding-top:1.2rem;border-top:1px solid var(--line);font-weight:800}
@media(max-width:700px){
  .news-page{padding-top:1.25rem}
  .news-card{grid-template-columns:1fr}
  .news-card__image{min-height:0}
  .news-card__image img{height:auto;aspect-ratio:16/9;object-fit:cover}
  .news-card__body{padding:1.35rem}
  .news-article{padding-top:1.2rem}
  .news-article__content{font-size:1rem}
}

/* News & Events button consistency — v1.5.4 */
.return-home--top{text-align:left;margin-top:0;margin-bottom:1.4rem}
.news-actions .btn{display:inline-block;background:var(--gold);border:3px solid #b8860b;color:#111;padding:.82rem 1.15rem;border-radius:8px;text-decoration:none;font-weight:900;box-shadow:0 4px 12px rgba(0,0,0,.18)}
.news-actions .btn:hover{transform:translateY(-2px);background:#ffd84d}
.news-actions .btn-secondary{background:var(--gold);color:#111;border:3px solid #b8860b}
.news-article__footer.return-home{max-width:780px;margin:2.4rem auto 0;padding-top:1.2rem;border-top:1px solid var(--line);text-align:center}

/* News article subtitle */
.news-article__subtitle {
  margin: .35rem 0 .65rem;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  font-weight: 700;
  letter-spacing: .04em;
}


/* Version 1.5.6: unified server-sent contact form and confirmation page */
.form-status--error{background:#fff0f0;border-color:#c66;color:#7a1111;margin-bottom:1rem}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-logo-card{display:flex;justify-content:center;align-items:flex-start;background:transparent;border:0;box-shadow:none}
.contact-logo-card img{width:220px;max-width:100%;height:auto}
.thankyou-wrap{max-width:900px}
.thankyou-panel{text-align:center;padding:2.4rem}
.thankyou-panel h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:.8rem}
.thankyou-panel p{font-size:1.08rem;line-height:1.6}
.thankyou-logo{width:180px;max-width:55%;height:auto;margin:0 auto 1rem}
.thankyou-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem;margin-top:1.8rem}
.thankyou-button{display:inline-block;background:var(--gold);border:3px solid #b8860b;color:#111;padding:.9rem 1.2rem;border-radius:8px;text-decoration:none;font-weight:900;box-shadow:0 4px 12px rgba(0,0,0,.18)}
.thankyou-button:hover,.thankyou-button:focus-visible{transform:translateY(-2px);background:#ffd84d}
@media(max-width:600px){.thankyou-actions{flex-direction:column}.thankyou-button{width:100%}}

/* Version 1.5.7 — Cuba After Castro event page */
.cuba-event__header {
  position: relative;
  overflow: hidden;
  padding: clamp(1.5rem, 4vw, 3rem);
  border-radius: 24px;
  background:
    radial-gradient(circle at 85% 15%, rgba(246, 185, 59, .32), transparent 30%),
    linear-gradient(135deg, #4a160e 0%, #8f2917 48%, #d37824 100%);
  color: #fff;
  box-shadow: 0 18px 48px rgba(58, 17, 9, .25);
}
.cuba-event__header h1,
.cuba-event__header p { color: #fff; }
.cuba-event__header .news-kicker { color: #ffe2a8; }
.cuba-event__flyers {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: start;
  margin: clamp(1.5rem, 4vw, 3rem) 0;
}
.cuba-event__flyers img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(0, 0, 0, .2);
}
.cuba-event__schedule {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 2rem 0;
}
.cuba-event__card {
  padding: 1.5rem;
  border: 1px solid rgba(123, 75, 21, .2);
  border-radius: 18px;
  background: linear-gradient(180deg, #fffdf8, #f7efe1);
  box-shadow: 0 10px 30px rgba(63, 42, 17, .08);
}
.cuba-event__card h2 { margin-top: .2rem; }
.cuba-event__eyebrow {
  margin: 0;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #a33a19;
}
.cuba-event__actions { margin-top: 2rem; }
@media (max-width: 760px) {
  .cuba-event__flyers,
  .cuba-event__schedule { grid-template-columns: 1fr; }
}


/* Rusty Hiroshima message feature */
.rusty-message-card {
  max-width: 860px;
  margin: 1.25rem auto 1.5rem;
  padding: 1.15rem 1.35rem;
  border: 1px solid rgba(89, 67, 26, .22);
  border-radius: 14px;
  background: #fffaf0;
  box-shadow: 0 8px 22px rgba(0,0,0,.08);
  font-size: .92rem;
  line-height: 1.58;
}
.rusty-message-card h2 { margin-top: 0; }
.rusty-message-card h3 { font-size: 1.05rem; margin-bottom: .35rem; }
.rusty-message-card blockquote { margin: 1rem 0; padding-left: 1rem; border-left: 4px solid #b88a2b; }
