/* Floating glass header: a rounded island that hovers over the page, centred, with the menu in the middle.
   Loaded after main.css on every page. The header itself takes no space (the island is positioned over the first section),
   so the first section gets extra top padding below. The phone dock at the bottom is unchanged. */

.px-header{position:sticky;top:0;height:0;z-index:70;background:none!important;border:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.px-mainbar{position:absolute;left:0;right:0;top:12px;pointer-events:none}
.px-mainbar .px-container{max-width:min(1240px,calc(100% - 20px))}
.px-mainbar-in{pointer-events:auto;position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:68px!important;padding:8px 10px 8px 22px;border-radius:999px;
	background:linear-gradient(135deg,rgba(20,32,82,.74),rgba(10,18,52,.64));-webkit-backdrop-filter:blur(18px) saturate(1.7);backdrop-filter:blur(18px) saturate(1.7);
	border:1px solid rgba(255,255,255,.2);box-shadow:0 24px 50px -14px rgba(3,8,40,.6),0 2px 0 rgba(255,255,255,.04),inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(255,255,255,.06);
	transition:background .3s,box-shadow .3s,transform .3s}
.px-header.is-scrolled .px-mainbar-in{background:linear-gradient(135deg,rgba(14,24,66,.93),rgba(8,14,44,.9));box-shadow:0 18px 40px -12px rgba(3,8,40,.7),inset 0 1px 0 rgba(255,255,255,.24)}
.px-mainbar-in::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(120% 220% at 15% -80%,rgba(255,255,255,.22),transparent 55%)}

/* brand on glass */
.px-header .px-brand{color:#fff;position:relative;z-index:1}
.px-header .px-brand-text span{color:var(--coral)}
.px-header .px-brand-mark:not(.px-brand-custom){padding:4px 5px;background:#fff;border-radius:12px;width:34px;box-sizing:content-box;box-shadow:0 6px 14px rgba(0,0,0,.25)}

/* the menu, centred in the island */
.px-header .px-nav.is-bar{justify-self:center;margin-top:0;position:relative;z-index:1}
.px-header .px-nav-list{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.12);padding:4px 6px;align-items:center;border-radius:999px}
.px-header .px-nav-item>a{color:#cdd8ff;min-width:66px;padding:6px 8px 5px;font-size:.7rem}
.px-header .px-nav-item:hover>a,.px-header .px-nav-item.is-active>a,.px-header .px-nav-item>a:focus-visible{color:#fff}
.px-header .px-nav-icon{color:inherit}
.px-header .px-nav-item:hover .px-nav-icon{transform:translateY(-2px) scale(1.08)}
.px-header .px-nav-item.is-active .px-nav-icon{transform:none;width:30px;height:30px;margin-bottom:0;color:#fff;background:none;box-shadow:none}
.px-header .px-nav-item.is-active .px-nav-label{padding:0;background:none;color:#fff}
.px-header .px-nav-ring,.px-header .px-nav-dots{display:none!important}
.px-header .px-nav-indicator::after{content:"";position:absolute;inset:2px 1px;border-radius:999px;background:linear-gradient(135deg,rgba(255,255,255,.3),rgba(255,255,255,.1));box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 8px 20px rgba(0,0,0,.28)}
.px-header .px-ico{stroke:currentColor}
.px-header .px-sub{top:calc(100% + 24px)}

/* call to action */
.px-header .px-header-cta{position:relative;z-index:1;min-height:48px;padding:0 24px;border-radius:999px;box-shadow:0 10px 24px -6px color-mix(in srgb,var(--crimson) 70%,transparent),inset 0 1px 0 rgba(255,255,255,.35)}

/* the hanging tag now hangs from the island */
.px-header-hang{top:calc(100% - 2px)}

/* make room under the island */
.px-hero{padding-top:calc(clamp(48px,7vw,96px) + 92px)}
.px-pagehead{padding-top:calc(clamp(36px,5vw,64px) + 92px)}
.px-country-head{padding-top:calc(clamp(36px,5vw,64px) + 92px)}
.px-main>:first-child:not(.px-hero):not(.px-pagehead):not(.px-country-head){margin-top:96px}
.px-topbar{position:relative;z-index:71}

@media (min-width:1024px){.px-header .px-mainbar-in{min-height:68px}}
@media (max-width:1023px){
	.px-mainbar-in{grid-template-columns:1fr auto;padding:8px 8px 8px 16px}
	.px-hero{padding-top:calc(28px + 84px)}
}
@media (max-width:719px){
	.px-mainbar{top:8px}
	.px-header .px-header-cta{width:46px;height:46px;min-height:46px;padding:0}
	.px-pagehead,.px-country-head{padding-top:calc(clamp(30px,5vw,50px) + 84px)}
}
body.no-sticky .px-header{position:relative}
@media (prefers-reduced-motion:reduce){.px-mainbar-in{transition:none}}
@media print{.px-header{display:none!important}}

/* flags in place of the country codes */
.px-ccard-code{padding:0;overflow:hidden;background:#fff;border:2px solid rgba(255,255,255,.85);box-shadow:0 6px 14px rgba(0,0,0,.28)}
.px-ccard-code .px-flag{display:block;width:100%;height:100%}
.px-flag-lg{display:block;width:64px;height:64px;border-radius:50%;overflow:hidden;border:3px solid rgba(255,255,255,.9);box-shadow:0 10px 24px rgba(0,0,0,.35);margin:6px 0 10px}
.px-flag-lg .px-flag{display:block;width:100%;height:100%}

/* the AAERI member tag hangs from the island, under the logo */
.px-header-hang.is-left{right:auto;left:clamp(34px,5vw,64px);animation-delay:-2.4s}
.px-header-hang.is-left .px-hang-tag.is-logo{padding:8px 6px}
.px-header-hang.is-left .px-hang-tag.is-logo img{max-width:58px}
@media (max-width:899px){.px-header-hang.is-left{left:12px;width:64px;height:92px}.px-header-hang.is-left .px-hang-tag.is-logo img{max-width:44px}}
