.canton-guide-page .communication-heading { display:block; padding:28px 32px; }
.canton-guide-page .communication-heading h1 { max-width:900px; font-size:clamp(1.85rem,3vw,2.65rem); }
.canton-guide-page .communication-lede { max-width:760px; }
.canton-guide-page .communication-byline { margin-bottom:12px; }
.canton-guide-page .canton-current-note { margin:0; padding-top:12px; border-top:1px solid #e5e0f1; color:#666a78; font-size:12px; line-height:1.6; }
.canton-guide-page .communication-copy blockquote { overflow-wrap:anywhere; }
.canton-guide-page .canton-photo { margin:28px 0 32px; }
.canton-guide-page .canton-photo img { display:block; width:100%; height:auto; border-radius:20px; background:#ececf3; }
.canton-guide-page .canton-photo figcaption { margin-top:10px; color:#646978; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.canton-photo-credit { display:block; margin-top:4px; font-size:11px; }
/* Match Shanghai's 360px image-led editorial and Local-story cards. */
#planning-guides[data-city-blogs="Guangzhou"] .canton-fair-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }
#planning-guides[data-city-blogs="Guangzhou"] [data-city-blog-list] > .guide-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; background:rgba(255,255,255,.92); color:#191b2d; text-decoration:none; box-shadow:0 12px 30px rgba(38,42,81,.04); }
#planning-guides[data-city-blogs="Guangzhou"] .canton-fair-cover,
#planning-guides[data-city-blogs="Guangzhou"] .city-local-blog-cover,
#planning-guides[data-city-blogs="Guangzhou"] .city-local-blog:not(:has(.city-local-blog-cover))::before { 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; aspect-ratio:auto; }
#planning-guides[data-city-blogs="Guangzhou"] .city-local-blog:not(:has(.city-local-blog-cover))::before { content:""; background:linear-gradient(135deg,#dbd5fc,#edf3ff); }
#planning-guides[data-city-blogs="Guangzhou"] .guide-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; overflow:hidden; color:#5947d5; background:#efedff; font-size:10px; font-weight:700; line-height:14px; white-space:nowrap; text-overflow:ellipsis; }
#planning-guides[data-city-blogs="Guangzhou"] .guide-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; overflow:hidden; color:#191b2d; font-size:20px; line-height:26px; letter-spacing:-.025em; overflow-wrap:anywhere; }
#planning-guides[data-city-blogs="Guangzhou"] .guide-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; overflow:hidden; color:#616675; font-size:13px; line-height:20.8px; }
#planning-guides[data-city-blogs="Guangzhou"] .guide-card .guide-card-meta { flex:0 0 auto; margin-top:auto; color:#655798; font-size:11px; line-height:16px; }
#planning-guides[data-city-blogs="Guangzhou"] .guide-card:not(.city-local-blog) .guide-card-meta { display:flex; align-items:flex-end; height:44px; min-height:44px; padding:0; }
#planning-guides[data-city-blogs="Guangzhou"] .city-local-blog .guide-card-meta { height:18px; min-height:18px; max-width:100%; padding:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
#planning-guides[data-city-blogs="Guangzhou"] .city-local-blog-read { flex:0 0 auto; height:18px; margin-top:8px; font-size:12px; line-height:18px; }
#planning-guides[data-city-blogs="Guangzhou"] .guide-card:hover { border-color:#b5a9ed; }
#planning-guides[data-city-blogs="Guangzhou"] .guide-card:focus-visible { outline:3px solid #8f80ed; outline-offset:4px; }
#planning-guides .canton-cover-credit { margin:16px 0 0; color:#737787; font-size:11px; line-height:1.6; }
@media(max-width:1100px) { #planning-guides[data-city-blogs="Guangzhou"] .canton-fair-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) { .canton-guide-page .communication-heading { padding:24px; } }
@media(max-width:600px) { #planning-guides[data-city-blogs="Guangzhou"] .canton-fair-card-grid { grid-template-columns:minmax(0,1fr); gap:16px; } .canton-guide-page .canton-photo { margin:24px 0; } .canton-guide-page .canton-photo img { border-radius:16px; } }
@media(max-width:430px) { .canton-guide-page .communication-heading { padding:20px; } .canton-guide-page .communication-heading h1 { font-size:clamp(1.55rem,6.5vw,1.85rem); } }
