.home-loop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.home-loop-card{display:block;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:22px;text-decoration:none;transition:transform .2s,box-shadow .2s}
.home-loop-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(23,63,48,.12)}
.home-loop-card.featured{border-color:var(--coral)}
.home-loop-art{height:150px;padding:1rem;background:linear-gradient(135deg,#dbe9d5,var(--yellow));background-size:cover;background-position:center}
.home-loop-art span{display:inline-block;background:#fff;border-radius:99px;padding:.4rem .7rem;font-size:.72rem;font-weight:850}
.home-loop-copy{padding:1.3rem}
.home-loop-copy small{color:var(--coral);text-transform:uppercase;letter-spacing:.09em;font-weight:850}
.home-loop-copy h3{font:700 1.55rem Georgia,serif;margin:.5rem 0}
.home-loop-copy p{color:var(--muted);line-height:1.55}
.home-loop-copy b{font-size:.86rem}
.detail-kickers{display:flex;flex-wrap:wrap;gap:.55rem}
.detail-kickers span{border:1px solid var(--line);border-radius:99px;padding:.45rem .7rem;color:var(--green2);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.loop-detail-hero .event-date{color:var(--coral);font-weight:800}
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:2rem;align-items:start}
.loop-entry{max-width:none;padding:0;overflow:hidden}
.detail-image{margin:0;max-height:520px;overflow:hidden}
.detail-image img{display:block;width:100%;height:auto}
.entry-copy{padding:3rem;font-size:1.06rem;line-height:1.8}
.detail-aside{position:sticky;top:105px;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:1.5rem}
.detail-aside dl{margin:1rem 0}
.detail-aside dl div{padding:.8rem 0;border-top:1px solid var(--line)}
.detail-aside dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:850}
.detail-aside dd{margin:.25rem 0 0;font-weight:800}
.detail-contact{display:block;text-align:center;margin-top:1rem}
.detail-contact-text{overflow-wrap:anywhere;background:var(--cream);padding:.8rem;border-radius:12px}
.detail-back{display:block;margin-top:1.2rem;color:var(--coral);font-weight:800}
@media(max-width:850px){.home-loop-grid{grid-template-columns:1fr 1fr}.detail-layout{grid-template-columns:1fr}.detail-aside{position:static}}
@media(max-width:600px){.home-loop-grid{grid-template-columns:1fr}.entry-copy{padding:1.5rem}}
