
html, body { max-width: 100%; overflow-x: clip; }

/* Media and embeds never exceed their container. */
img, svg, video, canvas, iframe, embed, object, figure, picture { max-width: 100%; }
img, video, canvas { height: auto; }
pre, code, kbd, samp { overflow-x: auto; max-width: 100%; }

h1, h2, h3, h4, h5, h6,
[class*='lockup'], [class*="display"], [class*='headline'], [class*='title'],
[class*="hero"] h1, [class*="hero"] h2 {
   overflow-wrap: break-word;
   word-break: normal;
   hyphens: auto;

}
[class*='lockup'], [class*='lockup'] > * { white-space: normal !important; }

/* Long unbroken strings (URLs, emails, ids) wrap rather than overflow. */
p, li, dd, dt, blockquote, figcaption, address, a, span, td, th { overflow-wrap: break-word; }

[class*="grid"] > *, [class*='row'] > *, [class*='flex'] > *,
[class*='cols'] > *, [class*="columns"] > * { min-width: 0; }

:not(img):not(picture):not(svg):not(video):not(canvas):only-child { grid-column: 1 / -1; }

@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .28s; }
@media (prefers-reduced-motion: reduce) {
   ::view-transition-group(*),
   ::view-transition-old(*),
   ::view-transition-new(*) { animation: none !important; }
}

.rumi4ab { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.rumi4ab > table { min-width: max-content; }
@media (max-width: 48rem) {
   .rumi4ab > table { font-size: .94em; }
}
.rumi4ab > table,
.rumi4ab > table > thead, .rumi4ab > table > tbody,
.rumi4ab > table > tfoot, .rumi4ab > table tr,
.rumi4ab > table th, .rumi4ab > table td { display: revert; }

@media (max-width: 30rem) {
   :root {
      --kova-228: clamp(2.2rem, 9vw, 3rem);

      --kova-26a: clamp(2rem, 8vw, 2.7rem);
      --kova-76c: clamp(1.8rem, 7vw, 2.4rem);
      --kova-b2f: clamp(1.55rem, 6vw, 2.05rem);
      --kova-8f0: clamp(1.35rem, 5vw, 1.8rem);
   }
}
@media (min-width: 30.01rem) and (max-width: 48rem) {

   :root {
      --kova-228: clamp(2.8rem, 8vw, 4.6rem);
      --kova-26a: clamp(2.5rem, 7vw, 4rem);
      --kova-76c: clamp(2.2rem, 6vw, 3.4rem);
   }
}

@media (pointer: coarse) {
   a.btn, button, [role="button"], .btn,
   input[type='submit'], input[type="button"] { min-height: 44px; }
}

/* MEASURED: grids found holding text in a chimney */
/* 1.2 characters a line in 2 columns holding 2 item(s) */
ul.routes a { grid-template-columns: none !important; }
