.masthead {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    background: #0f0f0f;
    color: #fff;
}

.masthead__bar {
    display: flex;
    align-items: center;
    gap: 0;
    min-height: 6.4rem;
}

.masthead__brand {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    margin: 0 3.2rem 0 0;
}

.masthead__brand-mark {
    margin: 0;
    font-size: 0;
    line-height: 100%;
}

.identity-lockup {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    color: #fff;
}

.identity-logo {
    display: block;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

.identity-lockup__name {
    color: #fff;
    font-family: var(--font-heading);
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
}

.masthead__drawer {
    flex: 0 0 auto;
    position: relative;
    margin-right: 2.4rem;
}

.masthead__drawer-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.8rem;
    height: 6.4rem;
    list-style: none;
    cursor: pointer;
}

.masthead__drawer-toggle::-webkit-details-marker {
    display: none;
}

.masthead__burger,
.masthead__burger::before,
.masthead__burger::after {
    display: block;
    width: 2.4rem;
    height: 0.1rem;
    background: #ebebeb;
    transition: background-color 0.18s ease-out;
}

.masthead__burger {
    position: relative;
}

.masthead__burger::before,
.masthead__burger::after {
    content: "";
    position: absolute;
    left: 0;
}

.masthead__burger::before {
    top: -0.6rem;
}

.masthead__burger::after {
    top: 0.6rem;
}

.masthead__drawer-toggle:hover .masthead__burger,
.masthead__drawer-toggle:hover .masthead__burger::before,
.masthead__drawer-toggle:hover .masthead__burger::after {
    background: #fff;
}

.masthead__mainnav {
    display: none;
    flex: 1 1 auto;
    min-width: 0;
}

.masthead__utility {
    display: none;
    flex: 0 0 auto;
    align-items: center;
    gap: 1.8rem;
    margin-left: auto;
}

.toplane,
.toplane ul,
.drawer-nav__list,
.drawer-nav__list ul,
.masthead-social,
.drawer-meta__list {
    padding: 0;
    margin: 0;
    list-style: none;
}

.toplane {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0;
    overflow: hidden;
    white-space: nowrap;
}

.toplane a,
.drawer-nav__list a,
.drawer-meta a {
    color: #ebebeb;
    font-family: var(--font-label);
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.toplane a {
    transition: color 0.18s ease-out;
}

.toplane a:hover {
    color: #fff;
}

.toplane > li {
    position: relative;
    flex: 0 0 auto;
}

.toplane > li > a {
    display: inline-block;
    padding-right: 2.4rem;
    line-height: 6.4rem;
}

.masthead-social {
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.masthead-social__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ebebeb;
}

.signal-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    font-size: 1.8rem;
    line-height: 1;
}

.signal-icon::before {
    width: 1.8rem;
    height: 1.8rem;
    font-size: 1.8rem;
    line-height: 1;
}

.signal-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: currentColor;
}

.masthead-social__link:hover {
    color: #fff;
}

.masthead-actions {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.masthead-action,
.action-popover > summary.masthead-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 4.4rem;
    padding: 0.9rem 1.2rem;
    border: 1px solid rgba(235, 235, 235, 0.42);
    background: #0f0f0f;
    color: #fff;
    font-family: var(--font-label);
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    transition: background-color 0.18s ease-out, border-color 0.18s ease-out, color 0.18s ease-out;
}

.masthead-action__icon {
    display: inline-flex;
    margin-right: 0.6rem;
    color: #eeb045;
}

.masthead-action--contact {
    background: #fff;
    color: #0f0f0f;
    border-color: #fff;
}

.masthead-action:hover,
.action-popover > summary.masthead-action:hover {
    border-color: #fff;
    background: #171411;
    color: #fff;
}

.masthead-action--contact:hover {
    border-color: #ebebeb;
    background: #171411;
    color: #fff;
}

.masthead-action--contact:hover .masthead-action__icon,
.masthead-action:hover .masthead-action__icon,
.action-popover > summary.masthead-action:hover .masthead-action__icon {
    color: #eeb045;
}

.action-popover {
    position: relative;
}

.action-popover > summary {
    list-style: none;
    cursor: pointer;
}

.action-popover > summary::-webkit-details-marker {
    display: none;
}

.action-popover__panel {
    display: none;
}

.action-popover[open] > .action-popover__panel {
    display: block;
    position: absolute;
    top: calc(100% + 1rem);
    right: 0;
    z-index: 60;
    width: min(32rem, calc(100vw - 3.2rem));
    padding: 1.8rem;
    background: #fff;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.24);
}

.action-popover__title {
    margin: 0 0 1.2rem;
    color: #171411;
    font-family: var(--font-heading);
    font-size: 2rem;
    line-height: 1.15;
}

.action-popover__form {
    display: grid;
    gap: 0.9rem;
}

.action-popover__field {
    min-height: 4.4rem;
    padding: 0 1.2rem;
    border: 1px solid rgba(23, 20, 17, 0.18);
    color: #171411;
}

.action-popover__submit {
    min-height: 4.4rem;
    border: 0;
    background: #0f0f0f;
    color: #fff;
    font-family: var(--font-label);
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.toplane ul {
    display: none;
}

.masthead__drawer-panel {
    display: none;
}

.masthead__drawer-scrim {
    display: none;
}

.masthead__drawer[open] > .masthead__drawer-scrim {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1100;
    border: 0;
    padding: 0;
    margin: 0;
    background: rgba(0, 0, 0, 0.58);
}

.masthead__drawer[open] > .masthead__drawer-panel {
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 1200;
    width: 32rem;
    max-width: calc(100vw - 1.6rem);
    height: 100vh;
    overflow-y: auto;
    padding: 2.4rem;
    background: #0f0f0f;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
}

.masthead__drawer[open] > .masthead__drawer-toggle {
    position: fixed;
    top: 2.4rem;
    left: min(24.8rem, calc(100vw - 6.4rem));
    z-index: 1301;
    width: 4rem;
    height: 4rem;
}

.masthead__drawer[open] > .masthead__drawer-toggle .masthead__burger {
    background: transparent;
}

.masthead__drawer[open] > .masthead__drawer-toggle .masthead__burger::before,
.masthead__drawer[open] > .masthead__drawer-toggle .masthead__burger::after {
    top: 0;
    background: #ebebeb;
}

.masthead__drawer[open] > .masthead__drawer-toggle .masthead__burger::before {
    transform: rotate(45deg);
}

.masthead__drawer[open] > .masthead__drawer-toggle .masthead__burger::after {
    transform: rotate(-45deg);
}

.masthead__drawer-head {
    position: relative;
    padding-bottom: 2rem;
    margin-bottom: 2.4rem;
}

.masthead__drawer-head::after,
.masthead__drawer-socials::before,
.masthead__drawer-socials::after,
.drawer-meta::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1.4rem;
    background-image: radial-gradient(rgba(228, 228, 228, 0.3) 1.5px, transparent 0);
    background-size: 1.4rem 1.4rem;
    background-repeat: repeat-x;
}

.masthead__drawer-head::after {
    bottom: -0.7rem;
}

.drawer-nav__list {
    display: grid;
    gap: 2.6rem;
}

.drawer-nav__list ul {
    display: grid;
    gap: 1.6rem;
    padding: 1.6rem 0 0 1.8rem;
}

.masthead__drawer-socials {
    position: relative;
    margin: 2.4rem 0;
    padding: 2.4rem 0;
}

.masthead__drawer-socials::before {
    top: -0.7rem;
}

.masthead__drawer-socials::after {
    bottom: -0.7rem;
}

.masthead__drawer-socials .masthead-social {
    flex-wrap: wrap;
}

.masthead-actions--drawer {
    margin-top: 2.4rem;
    flex-wrap: wrap;
}

.drawer-meta {
    position: relative;
    margin-top: 2.4rem;
    padding-top: 2.4rem;
}

.drawer-meta::before {
    top: -0.7rem;
}

.drawer-meta__list {
    display: grid;
    gap: 2.4rem;
}

.drawer-nav__list li > a {
    font-size: 1.8rem;
}

.drawer-nav__list li li > a {
    color: #cecece;
    font-size: 1.3rem;
}

.drawer-meta a,
.drawer-meta__list a {
    font-size: 1.3rem;
}

.site-footer {
    margin-top: 5rem;
    background: #0f0f0f;
    color: #fff;
}

.site-footer__body {
    display: grid;
    grid-template-columns: 4fr 3fr 3fr 2fr;
    gap: 2.5rem;
    padding: 3.5rem 0;
}

.site-footer__identity {
    display: grid;
    align-content: start;
    gap: 1.25rem;
}

.site-footer__brand .identity-lockup__name {
    color: #fff;
}

.site-footer__brand img {
    filter: brightness(0) invert(1);
}

.site-footer__copy {
    max-width: 22rem;
    margin: 0;
    color: rgba(255, 255, 255, 0.85);
    font-size: 1.6rem;
    line-height: 1.7;
}

.site-footer__column-title {
    margin: 0 0 1.1rem;
    padding-bottom: 0.55rem;
    border-bottom: 1px solid #eeb045;
    color: #fff;
    font-family: var(--font-label);
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
}

.site-footer__menu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-footer__menu li + li {
    margin-top: 0.55rem;
}

.site-footer__menu a {
    color: rgba(255, 255, 255, 0.92);
    font-size: 1.6rem;
    line-height: 1.5;
}

.site-footer__menu a:hover {
    color: #eeb045;
}
