/* Home-only trial: the photograph includes the header, not just the content. */
.ap-home .ap-skip { z-index: 50; }
.ap-home .ap-home-header {
    position: absolute; z-index: 20; top: 20px; left: 50%; transform: translateX(-50%); isolation: isolate;
    width: calc(100% - 48px); max-width: 1480px; min-height: 76px;
    display: grid; grid-template-columns: 176px minmax(0,1fr) auto;
    grid-template-areas: 'brand nav phone'; align-items: center; gap: 18px;
    padding: 8px 18px 8px 8px; border: 1px solid #46505b; border-radius: 4px;
    background: rgba(13,21,30,.94); color: #fff;
}
.ap-home .ap-home-header .ap-brand { grid-area: brand; display: flex; align-items: center; width: 176px; min-height: 52px; padding: 0; background: transparent; border-radius: 0; }
.ap-home .ap-home-header .ap-brand picture { display: block; width: 100%; }
/* Screen removes the asset's black matte without a plate or an edge halo. */
.ap-home .ap-home-header .ap-brand img { width: 176px; height: auto; mix-blend-mode: screen; }
.ap-home .ap-home-header .ap-brand:focus-visible { outline: 2px solid #b7ccfa; outline-offset: 4px; }
.ap-home .ap-home-header .ap-phone { grid-area: phone; color: #fff; font-size: 14px; white-space: nowrap; min-height: 44px; display: flex; align-items: center; }
.ap-home .ap-navigation { grid-area: nav; display: flex; flex-wrap: nowrap; padding: 0; gap: 0; background: none; border: 0; min-width: 0; }
.ap-home .ap-navigation a { color: #e1e7ee; font-size: 12px; min-height: 48px; padding: 8px 9px; white-space: nowrap; }
.ap-home .ap-navigation a:hover { color: #fff; background: #293443; }
.ap-home .ap-navigation a::after { background: #a8bfef; inset-inline: 9px; }
.ap-home .ap-navigation a:focus-visible { outline-color: #b7ccfa; }
.ap-home .ap-home-header :focus-visible { outline-color: #b7ccfa; }
.ap-home .ap-home-header .ap-menu-toggle { grid-area: toggle; color: #fff; background: transparent; border-color: #657487; min-height: 48px; }
.ap-home .ap-home-header .ap-menu-toggle[aria-expanded=true] { background: #293443; border-color: #b7ccfa; }
.ap-home .ap-hero { min-height: 100vh; min-height: 100svh; padding-top: 112px; padding-bottom: 88px; }
.ap-home .ap-hero-copy { padding-block: 48px; }
.ap-home .ap-hero h1 { font-size: clamp(52px,5.1vw,88px); line-height: 1.08; }
.ap-home .ap-hero::after { background: linear-gradient(90deg, rgba(8,16,25,.88), rgba(8,16,25,.73) 35%, rgba(8,16,25,.25) 72%, rgba(8,16,25,.15)); }
.ap-home .ap-hero-image { object-position: 62% center; }
.ap-home .ap-hero .ap-scroll-cue { position: absolute; bottom: 24px; left: var(--ap-page-inset); display: inline-flex; align-items: center; gap: 16px; min-height: 44px; color: #dce5ee; font-size: 12px; font-weight: 600; letter-spacing: .06em; }
.ap-home .ap-scroll-cue > span { font-size: 20px; }

@media (min-width: 1001px) and (max-width: 1350px) {
    .ap-home .ap-home-header { grid-template-columns: 1fr auto; grid-template-areas: 'brand phone' 'nav nav'; gap: 4px 24px; padding: 8px 12px; }
    .ap-home .ap-navigation { border-top: 1px solid #46505b; }
    .ap-home .ap-navigation a { font-size: 13px; }
    .ap-home .ap-hero { padding-top: 164px; }
}
@media (max-width: 1000px) {
    .ap-home .ap-home-header { grid-template-columns: 176px 1fr auto; grid-template-areas: 'brand phone toggle'; gap: 20px; }
    .ap-home .ap-home-header .ap-phone { justify-self: end; }
    .ap-home .ap-home-header .ap-menu-toggle { display: block; }
    .ap-home .ap-navigation { display: none; }
    .ap-home .ap-navigation.ap-open { position: absolute; top: calc(100% + 8px); left: -1px; right: -1px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; padding: 8px; background: #101a26; border: 1px solid #46505b; border-radius: 4px; max-height: calc(100svh - 160px); overflow-y: auto; }
    .ap-home .ap-navigation a { font-size: 14px; white-space: normal; text-align: left; justify-content: flex-start; }
    .ap-home .ap-hero { padding-top: 112px; }
}
@media (max-width: 600px) {
    .ap-home .ap-home-header { top: 12px; width: calc(100% - 24px); grid-template-columns: minmax(0,1fr) auto; grid-template-areas: 'brand toggle' 'phone toggle'; gap: 0 16px; padding: 8px 12px; }
    .ap-home .ap-home-header .ap-brand { width: 144px; min-height: 48px; }
    .ap-home .ap-home-header .ap-brand img { width: 144px; }
    .ap-home .ap-home-header .ap-phone { justify-self: start; font-size: 13px; }
    .ap-home .ap-home-header .ap-menu-toggle { padding-inline: 14px; }
    .ap-home .ap-navigation.ap-open { max-height: calc(100svh - 148px); }
    .ap-home .ap-navigation a { font-size: 13px; }
    .ap-home .ap-hero { min-height: 100vh; min-height: 100svh; padding-top: 136px; padding-bottom: 72px; }
    .ap-home .ap-hero-copy { padding-block: 28px; }
    .ap-home .ap-hero h1 { font-size: clamp(40px,11vw,58px); margin-block: 22px; }
    .ap-home .ap-hero-image { object-position: 70% center; }
    .ap-home .ap-hero::after { background: linear-gradient(90deg, rgba(8,16,25,.91), rgba(8,16,25,.78) 58%, rgba(8,16,25,.56)); }
    .ap-home .ap-hero-actions { gap: 12px 18px; }
    .ap-home .ap-hero .ap-scroll-cue { bottom: 16px; font-size: 11px; }
}
@media (max-width: 380px) {
    .ap-home .ap-hero { padding-top: 132px; padding-bottom: 64px; }
    .ap-home .ap-hero h1 { font-size: 36px; margin-block: 16px; }
    .ap-home .ap-hero-copy { padding-block: 12px; }
    .ap-home .ap-hero-intro br { display: none; }
}
@media (min-width: 601px) and (max-height: 800px) {
    .ap-home .ap-hero-copy { padding-block: 24px; }
}
@media print {
    .ap-home .ap-home-header { position: static; transform: none; width: 100%; max-width: none; }
    .ap-home .ap-home-header .ap-brand img { mix-blend-mode: normal; }
    .ap-home .ap-navigation, .ap-home .ap-menu-toggle, .ap-home .ap-scroll-cue { display: none !important; }
    .ap-home .ap-hero { min-height: 0; padding-block: 24px; }
}
