/* Compact article openings and image cards; existing city copy is untouched. */
.city-field-guide .communication-heading { display:block; padding:26px 30px; }
.city-field-guide .communication-heading h1 { max-width:900px; font-size:clamp(1.8rem,3vw,2.6rem); }
.city-field-guide .communication-lede { max-width:780px; }
.city-field-guide .communication-byline { margin-bottom:0; }
.city-guide-photo { margin:26px 0 32px; }
.city-guide-photo img { display:block; width:100%; height:380px; object-fit:cover; border-radius:20px; background:#e9eaf0; }
.city-guide-photo figcaption { margin-top:10px; color:#656b78; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.city-guide-photo .photo-credit { display:block; margin-top:4px; font-size:11px; }
.city-guide-sources { margin-top:32px; padding-top:18px; border-top:1px solid #deddeb; }
.city-guide-sources h2 { margin-top:0; font-size:19px; }
.city-guide-sources li,.city-guide-sources p { font-size:13px; }
#planning-guides .city-editorial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }
#planning-guides .city-editorial-card { box-sizing:border-box; display:flex; flex-direction:column; align-items:flex-start; grid-column:auto; min-width:0; height:360px; min-height:360px; max-height:360px; padding:22px; overflow:hidden; border:1px solid rgba(42,50,98,.1); border-radius:24px; color:#191b2d; background:rgba(255,255,255,.94); box-shadow:0 12px 30px rgba(38,42,81,.04); text-decoration:none; }
#planning-guides .city-editorial-cover { display:block; flex:0 0 120px; width:calc(100% + 44px); max-width:none; height:120px; min-height:120px; margin:-22px -22px 14px; border-radius:0; object-fit:cover; }
#planning-guides .city-editorial-card .guide-card-label { box-sizing:border-box; flex:0 0 auto; max-width:100%; min-height:24px; margin:0 0 8px; padding:5px 8px; border-radius:999px; color:#5947d5; background:#efedff; font-size:10px; line-height:14px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#planning-guides .city-editorial-card h3 { flex:0 0 auto; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; min-height:52px; max-height:52px; margin:0 0 10px; color:#191b2d; font-size:20px; line-height:26px; letter-spacing:-.025em; overflow:hidden; overflow-wrap:anywhere; }
#planning-guides .city-editorial-card p { flex:0 0 auto; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; min-height:41.6px; max-height:41.6px; margin:0; color:#616675; font-size:13px; line-height:20.8px; overflow:hidden; }
#planning-guides .city-editorial-card .guide-card-meta { display:flex; flex:0 0 auto; align-items:flex-end; min-height:44px; height:44px; margin-top:auto; padding:0; color:#655798; font-size:11px; line-height:16px; }
#planning-guides .city-editorial-card:hover { border-color:#a99ae6; }
#planning-guides .city-editorial-card:focus-visible { outline:3px solid #8f80ed; outline-offset:4px; }
#planning-guides .city-editorial-credit { margin:14px 0 0; color:#747987; font-size:10px; line-height:1.7; overflow-wrap:anywhere; }
#planning-guides .city-editorial-credit a { color:inherit; text-underline-offset:2px; }
@media(max-width:1100px) { #planning-guides .city-editorial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) { .city-field-guide .communication-heading { padding:22px; } .city-guide-photo img { height:auto; } }
@media(max-width:600px) { #planning-guides .city-editorial-grid { grid-template-columns:minmax(0,1fr); gap:16px; } .city-guide-photo { margin:22px 0 26px; } .city-guide-photo img { border-radius:16px; } }
@media(max-width:430px) { .city-field-guide .communication-heading { padding:20px; } .city-field-guide .communication-heading h1 { font-size:clamp(1.6rem,6.7vw,1.9rem); } }
