:root {
    --utility-header-height: 0px;
    --primary-header-height: 78px;
    --header-height: var(--primary-header-height);
    --visible-header-height: var(--primary-header-height);
    --radius-sm: 8px;
    --radius-md: 14px;
    --radius-lg: 18px;
}

html { scroll-padding-top: calc(var(--visible-header-height) + 18px); }
body { font-size: 17px; }
h1, h2, h3 { letter-spacing: -.025em; }
h1 { font-weight: 500; }
h2 { font-weight: 500; }
h3 { font-weight: 500; }
h4.eyebrow { font-weight: 500; }

.site-header--v22 {
    height: var(--primary-header-height);
}
.site-header--v22 .header-main {
    height: var(--primary-header-height);
    background: rgba(3, 20, 38, .98);
    border-bottom: 1px solid rgba(255,255,255,.1);
    backdrop-filter: blur(12px);
}
.site-header--v22.is-scrolled .header-main {
    background: rgba(3, 20, 38, .985);
    box-shadow: 0 10px 28px rgba(0,0,0,.14);
}
.site-header--v22 .header-inner {
    min-height: var(--primary-header-height);
}
.site-header--v22 .brand img { width: 166px; }
.site-header--v22 .main-navigation { gap: 18px; }
.site-header--v22 .primary-navigation__list { gap: clamp(14px, 1.5vw, 25px); }
.site-header--v22 .primary-navigation__list a {
    font-size: .9rem;
    font-weight: 500;
}
.site-header--v22 .primary-navigation__list a::after { bottom: -9px; height: 2px; }
.site-header--v22 .header-cta { min-height: 42px; padding-inline: 18px; font-size: .88rem; }

.button {
    border-radius: 7px;
    font-weight: 600;
    box-shadow: none;
}
.button--brand { background: var(--reinvent-yellow); box-shadow: none; }
.button--brand:hover { box-shadow: none; background: #ffd15a; }
.button:hover { transform: translateY(-1px); }

.eyebrow {
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .12em;
}
.text-link { font-weight: 600; }

.site-footer { background: var(--reinvent-navy-deep); }
.footer-grid--v22 { grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr)); }
.footer-heading { font-weight: 500 !important; }
.footer-brand p,
.footer-links a,
.footer-contact,
.footer-legal p,
.footer-bottom { font-size: .9rem; }
.footer-bottom strong { color: var(--reinvent-blue); font-weight: 600; }
.footer-content-library { display: none; }

@media (max-width: 920px) {
    :root { --primary-header-height: 70px; }
    .site-header--v22 .brand img { width: 154px; }
    .site-header--v22 .main-navigation {
        padding-top: calc(var(--primary-header-height) + 20px);
    }
    .site-header--v22 .primary-navigation__list a { font-size: 1.04rem; font-weight: 500; }
    .footer-grid--v22 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    body { font-size: 16px; }
    .footer-grid--v22 { grid-template-columns: 1fr; }
}
.button--outline-dark { color: var(--reinvent-navy); border-color: rgba(6,27,51,.28); background: transparent; }
.button--outline-dark:hover { border-color: var(--reinvent-navy); background: rgba(6,27,51,.04); }
