/* Shared public header for legacy Bootstrap pages. The modern layout already
   receives these rules from uh.css; selectors here remain component-scoped. */
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
    src: url('/fonts/manrope-latin.woff2') format('woff2');
}

.uh-site-topbar,
.uh-header {
    --uh-navy: #223652;
    --uh-green: #33c05b;
    --uh-green-dark: #16733d;
    --uh-muted: #5c6b82;
    --uh-subtle: #8494a8;
    --uh-line: #e5e9f0;
    --uh-line-strong: #d3dae6;
    --uh-font: 'Manrope', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
    font-family: var(--uh-font);
}

.uh-site-topbar *,
.uh-header *,
.uh-site-topbar *::before,
.uh-header *::before,
.uh-site-topbar *::after,
.uh-header *::after { box-sizing: border-box; }

.uh-site-topbar .uh-wrap,
.uh-header .uh-wrap {
    width: min(calc(100% - (clamp(1rem, .5rem + 2vw, 2rem) * 2)), 1200px);
    margin-inline: auto;
}

.uh-header .uh-wrap.uh-wrap--header {
    width: 100%;
    max-width: none;
    padding-inline: clamp(1rem, 2vw, 1.5rem);
}

.uh-site-topbar {
    background: linear-gradient(90deg, #24477d 0%, #23795f 100%);
    color: #fff;
    font-size: .8125rem;
    text-align: center;
}
.uh-site-topbar .uh-topbar__in {
    display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
    gap: 1rem; padding-block: .5rem; min-height: 40px;
}

.uh-site-topbar .uh-btn,
.uh-header .uh-btn {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 40px; padding-inline: 1.25rem; border: 0; border-radius: 10px;
    background: var(--uh-green-dark); color: #fff; font-size: .875rem;
    font-weight: 700; line-height: 1.2; text-decoration: none; white-space: nowrap;
}
.uh-site-topbar .uh-btn { min-height: 28px; padding-inline: 1rem; font-size: .8125rem; border-radius: 999px; }
.uh-header .uh-btn--navy { background: var(--uh-navy); }

.uh-header { position: sticky; top: 0; z-index: 1050; background: #fff; box-shadow: 0 1px 3px rgb(34 54 82 / 8%); }
.uh-header a { color: inherit; text-decoration: none; }
.uh-header ul { margin: 0; padding: 0; list-style: none; }
.uh-header button { font: inherit; }
.uh-header svg { display: block; max-width: 100%; height: auto; }
.uh-header .uh-nav { display: flex; align-items: center; gap: 1.5rem; min-height: 64px; }
.uh-header .uh-logo { display: inline-flex; align-items: center; flex: none; }
.uh-header .uh-logo img,
.uh-header .uh-logo svg { display: block; width: auto; height: 42px; }
.uh-header .uh-nav__links {
    display: flex; align-items: center; gap: 1.5rem; margin-left: auto;
    font-size: .875rem; font-weight: 600;
}
.uh-header .uh-nav__links > li > a {
    display: inline-flex; align-items: center; gap: .25rem; padding-block: .5rem; color: var(--uh-navy);
}
.uh-header .uh-nav__links > li > a:hover,
.uh-header .uh-nav__links > li > a:focus-visible { color: var(--uh-green-dark); }
.uh-header .uh-nav__actions { display: flex; align-items: center; gap: .75rem; flex: none; }
.uh-header .uh-drop { position: relative; }
.uh-header .uh-drop__panel {
    position: absolute; top: calc(100% + 10px); left: 50%; translate: -50% 0;
    min-width: 230px; padding: .5rem; border: 1px solid var(--uh-line); border-radius: 14px;
    background: #fff; box-shadow: 0 10px 30px rgb(34 54 82 / 10%);
    opacity: 0; visibility: hidden; transform: translateY(-6px);
    transition: opacity .16s ease, transform .16s ease, visibility .16s;
}
.uh-header .uh-drop:hover .uh-drop__panel,
.uh-header .uh-drop:focus-within .uh-drop__panel { opacity: 1; visibility: visible; transform: none; }
.uh-header .uh-drop__panel a { display: block; padding: .75rem 1rem; border-radius: 6px; color: var(--uh-navy); font-weight: 600; }
.uh-header .uh-drop__panel a:hover,
.uh-header .uh-drop__panel a:focus-visible { background: #f0fbf4; color: var(--uh-green-dark); }
.uh-header .uh-burger {
    display: none; flex: none; padding: .5rem; border: 0; border-radius: 6px;
    background: transparent; color: var(--uh-navy);
}
.uh-header .uh-subbar { border-top: 1px solid var(--uh-line); background: #fff; }
.uh-header .uh-subbar__in { display: flex; align-items: center; justify-content: center; padding-block: .5rem; }
.uh-header .uh-search { position: relative; flex: 1 1 700px; max-width: 700px; margin-inline: auto; }
.uh-header .uh-search input {
    width: 100%; min-height: 44px; padding: 0 1rem 0 2.5rem;
    border: 1px solid var(--uh-line-strong); border-radius: 10px; box-shadow: none;
    background: #fff; color: var(--uh-navy); font: 400 .875rem/1.2 var(--uh-font);
}
.uh-header .uh-search input::placeholder { color: var(--uh-subtle); }
.uh-header .uh-search > svg { position: absolute; left: 1rem; top: 50%; translate: 0 -50%; color: var(--uh-subtle); }
.uh-header .uh-callout { display: inline-flex; align-items: center; gap: .75rem; flex: none; font-weight: 700; color: var(--uh-navy); }
.uh-header .uh-callout__icon {
    display: grid; place-items: center; width: 36px; height: 36px; flex: none;
    border-radius: 50%; background: var(--uh-green); color: #fff;
}

/* The homepage keeps its original Figma header. Inner pages use the legacy
   wide header above, matching the site's earlier page-specific treatment. */
.uh-site-topbar--home { background: var(--uh-navy); font-size: .875rem; }
.uh-header--home .uh-nav { min-height: 68px; }
.uh-header--home .uh-logo img,
.uh-header--home .uh-logo svg { height: 38px; }
.uh-header--home .uh-subbar__in {
    justify-content: initial;
    gap: 1.5rem;
    padding-block: .75rem;
}
.uh-header--home .uh-search { flex: 1 1 auto; max-width: 520px; }
.uh-header .uh-visually-hidden {
    position: absolute !important; width: 1px; height: 1px; overflow: hidden;
    clip-path: inset(50%); white-space: nowrap;
}
.uh-legacy-shell main { margin-top: 0; }

@media (max-width: 960px) {
    .uh-header .uh-nav__links { display: none; }
    .uh-header .uh-burger { display: grid; order: 3; }
    .uh-header .uh-nav { position: relative; flex-wrap: nowrap; gap: .75rem; }
    .uh-header .uh-nav__actions { margin-left: auto; order: 2; }
    .uh-header .uh-nav[data-open="true"] .uh-nav__links {
        display: grid; position: absolute; inset-inline: 0; top: 100%; z-index: 2;
        padding: 1rem clamp(1rem, .5rem + 2vw, 2rem); gap: .25rem;
        background: #fff; border-top: 1px solid var(--uh-line); box-shadow: 0 10px 30px rgb(34 54 82 / 10%);
    }
    .uh-header .uh-nav[data-open="true"] .uh-nav__links > li > a { padding: .75rem 0; }
    .uh-header .uh-drop__panel {
        position: static; translate: none; opacity: 1; visibility: visible; transform: none;
        box-shadow: none; border: 0; padding-left: 1rem;
    }
}

@media (max-width: 720px) {
    .uh-header .uh-search { max-width: none; flex-basis: 100%; }
    .uh-header--home .uh-nav__actions .uh-btn--navy { display: none; }
    .uh-header--home .uh-subbar__in { flex-wrap: wrap; }
    .uh-header--home .uh-search { order: 2; }
    .uh-site-topbar { font-size: .8125rem; }
    .uh-site-topbar .uh-btn { min-height: 34px; }
}

@media (max-width: 420px) {
    .uh-header .uh-logo img { height: 30px; }
    .uh-header .uh-nav__actions .uh-btn { padding-inline: 1rem; }
    .uh-header .uh-nav { gap: .5rem; }
    .uh-header .uh-callout { font-size: .8125rem; }
}

@media print {
    .uh-header, .uh-site-topbar { display: none !important; }
}
