/* Fixed announcement artwork panels follow the public site's width and palette. */
.hero-slides .hero-photo { pointer-events:none; }
.hero-slides .hero-photo.is-active { pointer-events:auto; }
.announcement-feature { padding:5rem 0; background:#fff; }
.announcement-feature-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; margin-bottom:2.5rem; }
.announcement-feature-heading h2 { margin-bottom:0; }
.announcement-feature-heading > p { max-width:25rem; color:var(--body); }
.announcement-feature-body { display:grid; grid-template-columns:1fr 1fr; min-height:470px; border:1px solid var(--line); overflow:hidden; }
.announcement-feature-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:3rem; min-width:0; }
.announcement-meta { color:var(--gold); font-size:.7rem; font-weight:600; text-transform:uppercase; letter-spacing:.12em; margin-bottom:1.5rem; }
.announcement-artwork { display:block; position:relative; min-width:0; min-height:470px; background:var(--paper); }
.announcement-artwork img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
.announcement-feature-copy h3 { margin:0 0 1.5rem; font-size:clamp(2.1rem,3vw,3.4rem); line-height:1.22; letter-spacing:-.04em; overflow-wrap:anywhere; }
.announcement-feature-copy p { white-space:pre-line; overflow-wrap:anywhere; }
.announcement-link { margin-top:2rem; background:var(--gold); color:#fff; }
.announcement-link:hover { background:#a97635; }
@media(max-width:767px){
  .announcement-feature { padding:3rem 0; }
  .announcement-feature-heading { display:block; margin-bottom:2rem; }
  .announcement-feature-heading > p { margin-top:1rem; }
  .announcement-feature-body { grid-template-columns:1fr; }
  .announcement-feature-copy { padding:2rem; }
  .announcement-artwork { min-height:0; aspect-ratio:5/4; }
}
@media(prefers-reduced-motion:reduce){.hero-photo{transition:none}}

/* Homepage updates keep a consistent frame while artwork remains uncropped. */
.announcement-slide { display:none; height:470px; }
.announcement-slide.is-active { display:grid; }
.announcement-slide h3 { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.announcement-slide .announcement-feature-copy > p { display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.announcement-controls { display:flex; justify-content:flex-end; align-items:center; gap:1rem; margin-top:1.25rem; }
.announcement-controls > button { width:2.25rem; height:2.25rem; border:1px solid var(--line); color:var(--navy); background:white; border-radius:50%; cursor:pointer; }
.announcement-dots { display:flex; align-items:center; gap:.6rem; }
.announcement-dot { width:.5rem; height:.5rem; padding:0; border:0; border-radius:50%; background:#d4d0c8; cursor:pointer; }
.announcement-dot[aria-pressed="true"] { background:var(--gold); }
@media(max-width:767px) { .announcement-slide { height:auto; } .announcement-slide .announcement-feature-copy { height:26rem; } }
