/* Municipal layout safety: prevents headings and long local names from colliding or escaping cards. */
.dbc-circuito .circuito-hero-copy,
.dbc-circuito .circuito-art,
.dbc-circuito .circuito-fact,
.dbc-circuito .circuito-product,
.dbc-circuito .circuito-guide,
.dbc-circuito .circuito-faq,
.dbc-horizonte .hz-hero-copy,
.dbc-horizonte .hz-shell,
.dbc-horizonte .hz-hero-grid,
.dbc-horizonte .hz-photo-wrap,
.dbc-horizonte .hz-city-stamp,
.dbc-horizonte .hz-city-stamp strong,
.dbc-horizonte .hz-mapcard,
.dbc-horizonte .hz-path,
.dbc-horizonte .hz-faq-grid,
.dbc-horizonte .hz-faq-title,
.dbc-horizonte .hz-faq-list,
.dbc-city .city-hero-copy,
.dbc-city .city-fact-card,
.dbc-city .city-local-copy,
.dbc-city .city-timeline { min-width: 0; }

.dbc-circuito .circuito-hero h1,
.dbc-circuito .circuito-hero h1 span,
.dbc-horizonte .hz-hero-copy h1,
.dbc-horizonte .hz-hero-copy h1 em,
.dbc-horizonte .hz-city-stamp strong,
.dbc-horizonte .hz-mapcard h3,
.dbc-horizonte .hz-mapcard strong,
.dbc-horizonte .hz-faq h2,
.dbc-horizonte .hz-faq summary,
.dbc-horizonte .hz-faq p,
.dbc-city .city-hero h1,
.dbc-city .city-local h2,
.dbc-city .city-local h3,
.dbc-city .city-local p,
.dbc-city .city-local span,
.dbc-city .city-local strong { overflow-wrap: anywhere; word-break: normal; }

.dbc-circuito .circuito-hero h1 { line-height: 1.02; }
.dbc-circuito .circuito-hero h1 span { margin-top: .12em; line-height: 1.08; }
.dbc-horizonte .hz-hero-copy h1 { line-height: 1.05; }
.dbc-horizonte .hz-hero-copy h1 em { margin-top: .12em; line-height: 1.05; }

@media (max-width: 640px) {
  .dbc-circuito .circuito-hero h1 { font-size: clamp(44px, 13vw, 54px); }
  .dbc-horizonte .hz-hero-copy h1 { font-size: clamp(42px, 12.5vw, 50px); }
  .dbc-city .city-local { grid-template-columns: minmax(0, 1fr); }
}
