/* Standalone fallback palette: module also remains readable with Hummingbird. */
.sn-announcement { padding: .55rem 1rem; text-align: center; font-size: .8rem; letter-spacing: .025em; line-height: 1.5; color: #fff; background: var(--sn-ink, #244c45); overflow-wrap: anywhere; }
.sn-home { margin-block: 1.25rem 2.5rem; }
.sn-hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; min-height: 400px; background: #e8eee6; color: #244c45; border-radius: .8rem; overflow: hidden; }
.sn-hero__copy { padding: clamp(1.5rem, 4vw, 4rem); max-width: 660px; }
.sn-eyebrow { font-size: .73rem; letter-spacing: .15em; text-transform: uppercase; font-weight: 650; margin: 0 0 1.3rem; }
.sn-hero h2 { color: inherit; font-size: clamp(2.3rem, 3.5vw, 3.6rem); line-height: 1.1; letter-spacing: -.055em; font-weight: 550; margin: 0 0 1.3rem; overflow-wrap: anywhere; }
.sn-hero__description { max-width: 380px; color: #465e53; font-size: 1rem; line-height: 1.65; margin: 0 0 1.8rem; overflow-wrap: anywhere; }
.sn-button { display: inline-flex; gap: 1.4rem; align-items: center; justify-content: center; min-height: 48px; padding: .85rem 1.3rem; border-radius: .35rem; font-size: .9rem; font-weight: 600; color: #fff; background: #28594d; text-decoration: none; }
.sn-button:hover { color: #fff; background: #193e35; }
.sn-button:focus-visible, .sn-universe:focus-visible { outline: 3px solid #9b532f; outline-offset: 4px; }
.sn-button span { font-size: 1.25rem; }
.sn-hero__art { align-self: stretch; display: grid; place-items: center; background: #e1e9dd; }
.sn-hero__art img { display: block; width: 100%; height: auto; max-height: 460px; object-fit: contain; }
.sn-universes { display: flex; justify-content: center; gap: clamp(1rem, 3vw, 3rem); padding: 2rem .5rem .5rem; flex-wrap: wrap; }
.sn-universe { color: #244c45; display: flex; flex: 0 1 130px; align-items: center; gap: .7rem; flex-direction: column; text-align: center; font-size: .85rem; line-height: 1.4; text-decoration: none; overflow-wrap: anywhere; }
.sn-universe:hover { color: #193e35; text-decoration: underline; }
.sn-universe__icon { width: 68px; height: 68px; border-radius: 50%; display: grid; place-items: center; background: #e8eee6; }
.sn-universe__icon--2, .sn-universe__icon--5 { background: #f5e8e3; }
.sn-universe__icon--3, .sn-universe__icon--6 { background: #f4eedc; }
.sn-universe__icon--4 { background: #e7edf2; }
@media (max-width: 767.98px) {
  .sn-home { margin-top: .5rem; }
  .sn-hero { grid-template-columns: 1fr; }
  .sn-hero__copy { padding: 1.8rem 1.5rem; }
  .sn-hero h2 { max-width: 420px; font-size: 2.6rem; }
  .sn-hero__art img { max-height: 230px; }
  .sn-universes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.3rem .6rem; padding-top: 1.5rem; }
  .sn-universe { font-size: .8rem; }
  .sn-universe__icon { width: 58px; height: 58px; }
}
@media (max-width: 359.98px) { .sn-hero h2 { font-size: 2.1rem; } .sn-button { gap: .7rem; font-size: .82rem; } }
