:root { --um-accent: #385c52; --um-content-max: 1320px; }
/* Header: flush with viewport, no spacing introduced by the sitepackage. */
.um-page-header { margin: 0; padding: 0; width: 100%; }
.um-page-header > :first-child { margin-top: 0; }
.um-page-header > :last-child { margin-bottom: 0; }
/* Navigation stays at the top after the header scrolls away. */
.um-navbar { position: sticky; top: 0; z-index: 1030; margin: 0; }
/* Appearance (colors, typography, sizing) can be customized here. */

/* Header slider: same aspect ratio at every viewport width. */
.um-header-slider { position: relative; width: 100%; overflow: hidden; }
.um-header-slider[data-um-ratio="ratio21x9"] { aspect-ratio: 21 / 9; }
.um-header-slider[data-um-ratio="ratio16x9"] { aspect-ratio: 16 / 9; }
.um-header-slider[data-um-ratio="ratio3x1"] { aspect-ratio: 3 / 1; }
.um-header-slider[data-um-ratio="ratio4x1"] { aspect-ratio: 4 / 1; }
.um-header-slider[data-um-ratio="ratio5x1"] { aspect-ratio: 5 / 1; }
.um-header-slider[data-um-ratio="ratio6x1"] { aspect-ratio: 6 / 1; }
.um-header-slider[data-um-ratio="ratio2x1"] { aspect-ratio: 2 / 1; }
.um-header-slider .carousel-inner { position: absolute; inset: 0; width: 100%; height: 100%; }
.um-header-slider .carousel-item { height: 100%; }
.um-header-slider .um-header-slider-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.um-header-slider[data-um-transition="direct"] .carousel-item { transition-duration: 0s; }
@media (prefers-reduced-motion: reduce) { .um-header-slider .carousel-item { transition-duration: 0s !important; } }
