
/* ==========================================================================
   UIkit CSS Custom Properties
   ========================================================================== */

:root {
    /* Fluid scale ratios for auto-calculated mobile minimums */
    --uk-fluid-scale-ratio: 0.85;
    --uk-fluid-scale-ratio-navbar: 0.10;
    --uk-fluid-scale-ratio-nav: 1.35;

    --uk-global-font-size: 18px;
    --uk-global-line-height: 1.8;
    --uk-global-small-font-size: 0.875rem;
    --uk-global-medium-font-size: 1.25rem;
    --uk-global-large-font-size: 24px;
    --uk-global-xlarge-font-size: 2rem;
    --uk-global-2xlarge-font-size: 2.625rem;
    --uk-base-body-font-size: 18px;
    --uk-base-body-line-height: 1.8;
    --uk-base-h1-font-size: 2.2313rem;
    --uk-base-h1-font-size-m: 2.625rem;
    --uk-base-h2-font-size: 1.7rem;
    --uk-base-h2-font-size-m: 2rem;
    --uk-base-h3-font-size: 24px;
    --uk-base-h4-font-size: 1.25rem;
    --uk-base-h5-font-size: 18px;
    --uk-base-h6-font-size: 0.875rem;
    --uk-heading-small-font-size: 16px;
    --uk-heading-small-font-size-m: 18px;
    --uk-heading-medium-font-size: 18px;
    --uk-heading-medium-font-size-m: 21px;
    --uk-heading-medium-font-size-l: 24px;
    --uk-heading-large-font-size: 24px;
    --uk-heading-large-font-size-m: 24px;
    --uk-heading-large-font-size-l: 32px;
    --uk-heading-xlarge-font-size: 24px;
    --uk-heading-xlarge-font-size-m: 32px;
    --uk-heading-xlarge-font-size-l: 50px;
    --uk-heading-2xlarge-font-size: 24px;
    --uk-heading-2xlarge-font-size-m: 50px;
    --uk-heading-2xlarge-font-size-l: 60px;
    --uk-heading-3xlarge-font-size: 28px;
    --uk-heading-3xlarge-font-size-m: 60px;
    --uk-heading-3xlarge-font-size-l: 64px;
    --uk-text-lead-font-size: 24px;
    --uk-text-lead-line-height: 1.5;
    --uk-text-meta-font-size: 0.875rem;
    --uk-text-small-font-size: 0.875rem;
    --uk-text-large-font-size: 24px;
    --uk-button-font-size: 0.875rem;
    --uk-button-small-font-size: 0.875rem;
    --uk-button-large-font-size: 0.875rem;
    --uk-button-padding-horizontal: 30px;
    --uk-button-small-padding-horizontal: 15px;
    --uk-button-large-padding-horizontal: 50px;
    --uk-navbar-nav-item-font-size: 24px;
    --uk-navbar-item-font-size: 24px;
    --uk-navbar-subtitle-font-size: 0.875rem;
    --uk-navbar-primary-nav-item-font-size: 24px;
    --uk-form-small-font-size: 0.875rem;
    --uk-form-large-font-size: 1.25rem;
    --uk-form-legend-font-size: 24px;
    --uk-form-label-font-size: 18px;
    --uk-accordion-default-title-font-size: 1.25rem;
    --uk-article-title-font-size: 2.2313rem;
    --uk-article-title-font-size-m: 2.625rem;
    --uk-article-meta-font-size: 0.875rem;
    --uk-badge-font-size: 11px;
    --uk-breadcrumb-item-font-size: 0.875rem;
    --uk-breadcrumb-divider-font-size: 0.875rem;
    --uk-card-title-font-size: 24px;
    --uk-card-badge-font-size: 0.875rem;
    --uk-comment-title-font-size: 1.25rem;
    --uk-comment-meta-font-size: 0.875rem;
    --uk-countdown-separator-font-size: 0.5em;
    --uk-dropdown-nav-font-size: 18px;
    --uk-dropdown-nav-subtitle-font-size: 12px;
    --uk-modal-title-font-size: 2rem;
    --uk-label-font-size: 0.875rem;
    --uk-nav-header-font-size: 0.875rem;
    --uk-nav-default-font-size: 0.875rem;
    --uk-nav-default-subtitle-font-size: 12px;
    --uk-nav-default-sublist-font-size: 0.875rem;
    --uk-nav-primary-font-size: 24px;
    --uk-nav-primary-subtitle-font-size: 1.25rem;
    --uk-nav-primary-sublist-font-size: 1.25rem;
    --uk-nav-secondary-font-size: 18px;
    --uk-nav-secondary-subtitle-font-size: 0.875rem;
    --uk-nav-secondary-sublist-font-size: 0.875rem;
    --uk-nav-medium-font-size: 2.8875rem;
    --uk-nav-medium-font-size-m: 3.5rem;
    --uk-nav-medium-font-size-l: 4rem;
    --uk-nav-large-font-size: 3.4rem;
    --uk-nav-large-font-size-m: 4rem;
    --uk-nav-large-font-size-l: 6rem;
    --uk-nav-xlarge-font-size: 4rem;
    --uk-nav-xlarge-font-size-m: 6rem;
    --uk-nav-xlarge-font-size-l: 8rem;
    --uk-navbar-dropdown-nav-font-size: 18px;
    --uk-navbar-dropdown-nav-subtitle-font-size: 12px;
    --uk-notification-message-font-size: 18px;
    --uk-search-default-font-size: inherit;
    --uk-search-navbar-font-size: inherit;
    --uk-search-medium-font-size: 24px;
    --uk-search-large-font-size: 2.625rem;
    --uk-table-header-cell-font-size: 0.875rem;
    --uk-table-footer-font-size: 0.875rem;
    --uk-table-caption-font-size: 0.875rem;
    --uk-tooltip-font-size: 12px;
    --uk-description-list-term-font-size: 18px;
    --uk-description-list-description-font-size: 18px;
    --uk-iconnav-item-font-size: 0.875rem;
    --uk-leader-font-size: inherit;
    --uk-pagination-item-font-size: 18px;
    --uk-subnav-item-font-size: 18px;
    --uk-tab-item-font-size: 18px;
    --uk-dropcap-font-size: 5.4em;
    --uk-logo-font-size: 24px;
    --uk-base-blockquote-font-size: 1.25rem;
    --uk-base-blockquote-footer-font-size: 0.875rem;
    --uk-base-pre-font-size: 0.875rem;
    --uk-base-code-font-size: 0.875rem;
    --uk-base-small-font-size: 80%;
}

/* ==========================================================================
   Fluid Typography Base Styles
   ========================================================================== */

html {
    font-size: var(--uk-global-font-size, 16px);
}

body {
    --_fs: var(--uk-base-body-font-size, var(--uk-global-font-size, 1rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
    line-height: var(--uk-base-body-line-height, var(--uk-global-line-height, 1.5));
}

/* ==========================================================================
   Base Headings (h1-h6) - Fluid scaling
   ========================================================================== */

h1, .uk-h1 {
    font-size: clamp(
        var(--uk-base-h1-font-size, 2.23rem),
        calc(var(--uk-base-h1-font-size, 2.23rem) + (var(--uk-base-h1-font-size-m, 2.625rem) - var(--uk-base-h1-font-size, 2.23rem)) * ((100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px)))),
        var(--uk-base-h1-font-size-m, 2.625rem)
    );
}

h2, .uk-h2 {
    font-size: clamp(
        var(--uk-base-h2-font-size, 1.7rem),
        calc(var(--uk-base-h2-font-size, 1.7rem) + (var(--uk-base-h2-font-size-m, 2rem) - var(--uk-base-h2-font-size, 1.7rem)) * ((100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px)))),
        var(--uk-base-h2-font-size-m, 2rem)
    );
}

h3, .uk-h3 {
    --_fs: var(--uk-base-h3-font-size, var(--uk-global-large-font-size, 1.5rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

h4, .uk-h4 {
    --_fs: var(--uk-base-h4-font-size, var(--uk-global-medium-font-size, 1.25rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

h5, .uk-h5 {
    font-size: var(--uk-base-h5-font-size, var(--uk-global-font-size, 1rem));
}

h6, .uk-h6 {
    font-size: var(--uk-base-h6-font-size, var(--uk-global-small-font-size, 0.875rem));
}

/* ==========================================================================
   Text Utilities
   ========================================================================== */

.uk-text-lead {
    --_fs: var(--uk-text-lead-font-size, var(--uk-global-large-font-size, 1.5rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
    line-height: var(--uk-text-lead-line-height, 1.5);
}

.uk-text-meta {
    --_fs: var(--uk-text-meta-font-size, var(--uk-global-small-font-size, 0.875rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-text-small {
    font-size: var(--uk-text-small-font-size, var(--uk-global-small-font-size, 0.875rem));
}

.uk-text-large {
    --_fs: var(--uk-text-large-font-size, var(--uk-global-large-font-size, 1.5rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-text-default {
    --_fs: var(--uk-global-font-size, 1rem);
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.uk-button {
    --_fs: var(--uk-button-font-size, var(--uk-global-font-size, 1rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
    --_pad: var(--uk-button-padding-horizontal, 30px);
    --_pad-min: calc(var(--_pad) * var(--uk-fluid-scale-ratio, 0.85));
    padding: 0 clamp(
        var(--_pad-min),
        calc(var(--_pad-min) + (var(--_pad) - var(--_pad-min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_pad)
    );
}

.uk-button-small {
    --_fs: var(--uk-button-small-font-size, var(--uk-global-small-font-size, 0.875rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
    --_pad: var(--uk-button-small-padding-horizontal, 15px);
    --_pad-min: calc(var(--_pad) * var(--uk-fluid-scale-ratio, 0.85));
    padding: 0 clamp(
        var(--_pad-min),
        calc(var(--_pad-min) + (var(--_pad) - var(--_pad-min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_pad)
    );
}

.uk-button-large {
    --_fs: var(--uk-button-large-font-size, var(--uk-global-medium-font-size, 1.25rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
    --_pad: var(--uk-button-large-padding-horizontal, 40px);
    --_pad-min: calc(var(--_pad) * var(--uk-fluid-scale-ratio, 0.85));
    padding: 0 clamp(
        var(--_pad-min),
        calc(var(--_pad-min) + (var(--_pad) - var(--_pad-min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_pad)
    );
}

/* ==========================================================================
   Navbar
   ========================================================================== */

.uk-navbar-nav > li > a {
    --_fs: var(--uk-navbar-nav-item-font-size, var(--uk-global-font-size, 1rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio-navbar, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-navbar-subtitle {
    --_fs: var(--uk-navbar-subtitle-font-size, var(--uk-global-small-font-size, 0.875rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio-navbar, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-navbar-item {
    --_fs: var(--uk-navbar-item-font-size, var(--uk-global-font-size, 1rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio-navbar, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-navbar-primary .uk-navbar-nav > li > a {
    --_fs: var(--uk-navbar-primary-nav-item-font-size, var(--uk-global-font-size, 1rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio-navbar, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

/* ==========================================================================
   Forms
   ========================================================================== */

.uk-input,
.uk-select,
.uk-textarea {
    font-size: var(--uk-form-font-size, var(--uk-global-font-size, 1rem));
}

.uk-form-small:is(.uk-input, .uk-select, .uk-textarea) {
    font-size: var(--uk-form-small-font-size, var(--uk-global-small-font-size, 0.875rem));
}

.uk-form-large:is(.uk-input, .uk-select, .uk-textarea) {
    --_fs: var(--uk-form-large-font-size, var(--uk-global-medium-font-size, 1.25rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-legend {
    --_fs: var(--uk-form-legend-font-size, var(--uk-global-large-font-size, 1.5rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-form-label {
    font-size: var(--uk-form-label-font-size, var(--uk-global-small-font-size, 0.875rem));
}

/* ==========================================================================
   Accordion
   ========================================================================== */

.uk-accordion-title {
    --_fs: var(--uk-accordion-default-title-font-size, var(--uk-global-medium-font-size, 1.25rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

/* ==========================================================================
   Article
   ========================================================================== */

.uk-article-title {
    font-size: clamp(
        var(--uk-article-title-font-size, 2.23rem),
        calc(var(--uk-article-title-font-size, 2.23rem) + (var(--uk-article-title-font-size-m, 2.625rem) - var(--uk-article-title-font-size, 2.23rem)) * ((100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px)))),
        var(--uk-article-title-font-size-m, 2.625rem)
    );
}

.uk-article-meta {
    font-size: var(--uk-article-meta-font-size, var(--uk-global-small-font-size, 0.875rem));
}

/* ==========================================================================
   Badge
   ========================================================================== */

.uk-badge {
    font-size: var(--uk-badge-font-size, 11px);
}

/* ==========================================================================
   Breadcrumb
   ========================================================================== */

.uk-breadcrumb > * > * {
    font-size: var(--uk-breadcrumb-item-font-size, var(--uk-global-small-font-size, 0.875rem));
}

.uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
    font-size: var(--uk-breadcrumb-divider-font-size, var(--uk-global-small-font-size, 0.875rem));
}

/* ==========================================================================
   Card
   ========================================================================== */

.uk-card-title {
    --_fs: var(--uk-card-title-font-size, var(--uk-global-large-font-size, 1.5rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-card-badge {
    font-size: var(--uk-card-badge-font-size, var(--uk-global-small-font-size, 0.875rem));
}

/* ==========================================================================
   Comment
   ========================================================================== */

.uk-comment-title {
    --_fs: var(--uk-comment-title-font-size, var(--uk-global-medium-font-size, 1.25rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-comment-meta {
    font-size: var(--uk-comment-meta-font-size, var(--uk-global-small-font-size, 0.875rem));
}

/* ==========================================================================
   Countdown
   ========================================================================== */

.uk-countdown-separator {
    font-size: var(--uk-countdown-separator-font-size, 0.5em);
}

/* ==========================================================================
   Dropdown
   ========================================================================== */

.uk-dropdown-nav > li > a {
    --_fs: var(--uk-dropdown-nav-font-size, var(--uk-global-font-size, 1rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio-nav, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-dropdown-nav .uk-nav-subtitle {
    --_fs: var(--uk-dropdown-nav-subtitle-font-size, var(--uk-global-small-font-size, 0.875rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio-nav, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

/* ==========================================================================
   Modal
   ========================================================================== */

.uk-modal-title {
    --_fs: var(--uk-modal-title-font-size, var(--uk-global-xlarge-font-size, 2rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

/* ==========================================================================
   Label
   ========================================================================== */

.uk-label {
    font-size: var(--uk-label-font-size, var(--uk-global-small-font-size, 0.875rem));
}

/* ==========================================================================
   Nav
   ========================================================================== */

.uk-nav-header {
    --_fs: var(--uk-nav-header-font-size, var(--uk-global-small-font-size, 0.875rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio-nav, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-nav-default > li > a {
    --_fs: var(--uk-nav-default-font-size, var(--uk-global-font-size, 1rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio-nav, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-nav-default .uk-nav-subtitle {
    --_fs: var(--uk-nav-default-subtitle-font-size, var(--uk-global-small-font-size, 0.875rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio-nav, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-nav-default .uk-nav-sub a {
    --_fs: var(--uk-nav-default-sublist-font-size, var(--uk-global-font-size, 1rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio-nav, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-nav-primary > li > a {
    --_fs: var(--uk-nav-primary-font-size, var(--uk-global-large-font-size, 1.5rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio-nav, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-nav-primary .uk-nav-subtitle {
    --_fs: var(--uk-nav-primary-subtitle-font-size, var(--uk-global-medium-font-size, 1.25rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio-nav, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-nav-primary .uk-nav-sub a {
    --_fs: var(--uk-nav-primary-sublist-font-size, var(--uk-global-medium-font-size, 1.25rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio-nav, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-nav-secondary > li > a {
    --_fs: var(--uk-nav-secondary-font-size, var(--uk-global-font-size, 1rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio-nav, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-nav-secondary .uk-nav-subtitle {
    --_fs: var(--uk-nav-secondary-subtitle-font-size, var(--uk-global-small-font-size, 0.875rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio-nav, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-nav-secondary .uk-nav-sub a {
    --_fs: var(--uk-nav-secondary-sublist-font-size, var(--uk-global-small-font-size, 0.875rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio-nav, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

/* Nav Medium - Fluid scaling */
.uk-nav-medium > li > a {
    font-size: clamp(
        var(--uk-nav-medium-font-size, 2.5rem),
        calc(var(--uk-nav-medium-font-size, 2.5rem) + (var(--uk-nav-medium-font-size-l, 4rem) - var(--uk-nav-medium-font-size, 2.5rem)) * ((100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-xl, 1600px) - var(--uk-breakpoint-s, 640px)))),
        var(--uk-nav-medium-font-size-l, 4rem)
    );
}

/* Nav Large - Fluid scaling */
.uk-nav-large > li > a {
    font-size: clamp(
        var(--uk-nav-large-font-size, 3.4rem),
        calc(var(--uk-nav-large-font-size, 3.4rem) + (var(--uk-nav-large-font-size-l, 6rem) - var(--uk-nav-large-font-size, 3.4rem)) * ((100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-xl, 1600px) - var(--uk-breakpoint-s, 640px)))),
        var(--uk-nav-large-font-size-l, 6rem)
    );
}

/* Nav XLarge - Fluid scaling */
.uk-nav-xlarge > li > a {
    font-size: clamp(
        var(--uk-nav-xlarge-font-size, 4rem),
        calc(var(--uk-nav-xlarge-font-size, 4rem) + (var(--uk-nav-xlarge-font-size-l, 8rem) - var(--uk-nav-xlarge-font-size, 4rem)) * ((100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-xl, 1600px) - var(--uk-breakpoint-s, 640px)))),
        var(--uk-nav-xlarge-font-size-l, 8rem)
    );
}

/* ==========================================================================
   Navbar Dropdown
   ========================================================================== */

.uk-navbar-dropdown-nav > li > a {
    --_fs: var(--uk-navbar-dropdown-nav-font-size, var(--uk-global-font-size, 1rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio-navbar, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-navbar-dropdown-nav .uk-nav-subtitle {
    --_fs: var(--uk-navbar-dropdown-nav-subtitle-font-size, var(--uk-global-small-font-size, 0.875rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio-navbar, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

/* ==========================================================================
   Notification
   ========================================================================== */

.uk-notification-message {
    --_fs: var(--uk-notification-message-font-size, var(--uk-global-medium-font-size, 1.25rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

/* ==========================================================================
   Search
   ========================================================================== */

.uk-search-default .uk-search-input {
    font-size: var(--uk-search-default-font-size, var(--uk-global-font-size, 1rem));
}

.uk-search-navbar .uk-search-input {
    --_fs: var(--uk-search-navbar-font-size, var(--uk-global-large-font-size, 1.5rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio-navbar, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-search-medium .uk-search-input {
    --_fs: var(--uk-search-medium-font-size, var(--uk-global-large-font-size, 1.5rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-search-large .uk-search-input {
    --_fs: var(--uk-search-large-font-size, var(--uk-global-2xlarge-font-size, 2.625rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

/* ==========================================================================
   Table
   ========================================================================== */

.uk-table th {
    --_fs: var(--uk-table-header-cell-font-size, var(--uk-global-font-size, 1rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-table tfoot {
    --_fs: var(--uk-table-footer-font-size, var(--uk-global-small-font-size, 0.875rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

.uk-table caption {
    --_fs: var(--uk-table-caption-font-size, var(--uk-global-small-font-size, 0.875rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

/* ==========================================================================
   Tooltip
   ========================================================================== */

.uk-tooltip {
    font-size: var(--uk-tooltip-font-size, 12px);
}

/* ==========================================================================
   Utility
   ========================================================================== */

.uk-dropcap::first-letter {
    font-size: var(--uk-dropcap-font-size, 4.5em);
}

.uk-logo {
    --_fs: var(--uk-logo-font-size, var(--uk-global-large-font-size, 1.5rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

/* ==========================================================================
   Description List
   ========================================================================== */

.uk-description-list > dt {
    font-size: var(--uk-description-list-term-font-size, var(--uk-global-font-size, 1rem));
}

.uk-description-list > dd {
    font-size: var(--uk-description-list-description-font-size, var(--uk-global-font-size, 1rem));
}

/* ==========================================================================
   Iconnav
   ========================================================================== */

.uk-iconnav > * > a {
    font-size: var(--uk-iconnav-item-font-size, var(--uk-global-font-size, 1rem));
}

/* ==========================================================================
   Leader
   ========================================================================== */

.uk-leader {
    font-size: var(--uk-leader-font-size, var(--uk-global-font-size, 1rem));
}

/* ==========================================================================
   Pagination
   ========================================================================== */

.uk-pagination > * > * {
    font-size: var(--uk-pagination-item-font-size, var(--uk-global-font-size, 1rem));
}

/* ==========================================================================
   Subnav
   ========================================================================== */

.uk-subnav > * > a,
.uk-subnav > * > span {
    font-size: var(--uk-subnav-item-font-size, var(--uk-global-font-size, 1rem));
}

/* ==========================================================================
   Tab
   ========================================================================== */

.uk-tab > * > a {
    font-size: var(--uk-tab-item-font-size, var(--uk-global-font-size, 1rem));
}

/* ==========================================================================
   Base Typography Elements
   ========================================================================== */

blockquote,
.uk-blockquote {
    --_fs: var(--uk-base-blockquote-font-size, var(--uk-global-medium-font-size, 1.25rem));
    --_min: calc(var(--_fs) * var(--uk-fluid-scale-ratio, 0.85));
    font-size: clamp(
        var(--_min),
        calc(var(--_min) + (var(--_fs) - var(--_min)) * (100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px))),
        var(--_fs)
    );
}

blockquote footer,
.uk-blockquote footer {
    font-size: var(--uk-base-blockquote-footer-font-size, var(--uk-global-small-font-size, 0.875rem));
}

pre {
    font-size: var(--uk-base-pre-font-size, var(--uk-global-small-font-size, 0.875rem));
}

code {
    font-size: var(--uk-base-code-font-size, var(--uk-global-small-font-size, 0.875rem));
}

small {
    font-size: var(--uk-base-small-font-size, 80%);
}

/* ==========================================================================
   Heading Component Classes - Fluid scaling for larger displays
   ========================================================================== */

.uk-heading-small {
    font-size: clamp(
        var(--uk-heading-small-font-size, 2.4rem),
        calc(var(--uk-heading-small-font-size, 2.4rem) + (var(--uk-heading-small-font-size-m, 3.25rem) - var(--uk-heading-small-font-size, 2.4rem)) * ((100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-l, 1200px) - var(--uk-breakpoint-s, 640px)))),
        var(--uk-heading-small-font-size-m, 3.25rem)
    );
}

.uk-heading-medium {
    font-size: clamp(
        var(--uk-heading-medium-font-size, 2.5rem),
        calc(var(--uk-heading-medium-font-size, 2.5rem) + (var(--uk-heading-medium-font-size-l, 4rem) - var(--uk-heading-medium-font-size, 2.5rem)) * ((100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-xl, 1600px) - var(--uk-breakpoint-s, 640px)))),
        var(--uk-heading-medium-font-size-l, 4rem)
    );
}

.uk-heading-large {
    font-size: clamp(
        var(--uk-heading-large-font-size, 3.4rem),
        calc(var(--uk-heading-large-font-size, 3.4rem) + (var(--uk-heading-large-font-size-l, 6rem) - var(--uk-heading-large-font-size, 3.4rem)) * ((100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-xl, 1600px) - var(--uk-breakpoint-s, 640px)))),
        var(--uk-heading-large-font-size-l, 6rem)
    );
}

.uk-heading-xlarge {
    font-size: clamp(
        var(--uk-heading-xlarge-font-size, 4rem),
        calc(var(--uk-heading-xlarge-font-size, 4rem) + (var(--uk-heading-xlarge-font-size-l, 8rem) - var(--uk-heading-xlarge-font-size, 4rem)) * ((100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-xl, 1600px) - var(--uk-breakpoint-s, 640px)))),
        var(--uk-heading-xlarge-font-size-l, 8rem)
    );
}

.uk-heading-2xlarge {
    font-size: clamp(
        var(--uk-heading-2xlarge-font-size, 6rem),
        calc(var(--uk-heading-2xlarge-font-size, 6rem) + (var(--uk-heading-2xlarge-font-size-l, 11rem) - var(--uk-heading-2xlarge-font-size, 6rem)) * ((100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-xl, 1600px) - var(--uk-breakpoint-s, 640px)))),
        var(--uk-heading-2xlarge-font-size-l, 11rem)
    );
}

.uk-heading-3xlarge {
    font-size: clamp(
        var(--uk-heading-3xlarge-font-size, 8rem),
        calc(var(--uk-heading-3xlarge-font-size, 8rem) + (var(--uk-heading-3xlarge-font-size-l, 15rem) - var(--uk-heading-3xlarge-font-size, 8rem)) * ((100vw - var(--uk-breakpoint-s, 640px)) / (var(--uk-breakpoint-xl, 1600px) - var(--uk-breakpoint-s, 640px)))),
        var(--uk-heading-3xlarge-font-size-l, 15rem)
    );
}
