/* PALBON: the public header's menus (templates/palbon_site/header.html, public/js/palbon_menu.js).
   Desktop: a pill glides under the menu names; one full-width stage morphs to the height of the open panel; panels
   slide in from the side you moved towards; the preview on the right takes the colour of what you point at.
   Phone: every menu is an accordion inside the phone menu. Colours are palette variables only. */

/* ---------- desktop ---------- */
@media (min-width:961px){
	.ps-nav__pill{position:absolute;left:0;top:0;z-index:0;width:var(--pill-w,0);height:var(--pill-h,38px);border-radius:11px;pointer-events:none;
		background:color-mix(in srgb,var(--pb-text-soft) 15%,transparent);opacity:0;
		transform:translate3d(var(--pill-x,0),var(--pill-y,0),0);transition:transform .38s var(--ease),width .38s var(--ease),opacity .2s}
	.ps-header.has-pill .ps-nav__pill{opacity:1}
	.ps-header.has-pill .ps-nav__link:hover,.ps-header.has-pill .ps-nav__link[aria-expanded="true"]{background:none}
	.ps-nav__item{position:static}
	.ps-nav__link{position:relative;z-index:1}
	.ps-nav__chev{display:inline-flex;transition:transform .3s var(--ease)}

	.ps-header.is-menu-open{background:var(--header-bg);color:var(--ink);border-bottom-color:var(--line);-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px)}
	.ps-header.is-menu-open .ps-brand__name b{color:var(--primary)}

	.ps-mega-stage{position:absolute;left:0;right:0;top:100%;z-index:1;height:var(--stage-h,0);pointer-events:none;opacity:0;
		background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 40px 80px -40px color-mix(in srgb,var(--pb-text-primary) 45%,transparent);
		transition:height .46s var(--ease),opacity .22s ease}
	.ps-mega-stage::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--pb-grad-line);opacity:.8;transform-origin:left;transform:scaleX(0);transition:transform .7s var(--ease)}
	.ps-header.is-menu-open .ps-mega-stage{opacity:1}
	.ps-header.is-menu-open .ps-mega-stage::before{transform:none}

	.ps-menu-backdrop{position:fixed;left:0;right:0;bottom:0;top:var(--header-h);z-index:-1;pointer-events:none;opacity:0;
		background:color-mix(in srgb,var(--pb-text-primary) 22%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:opacity .3s ease}
	.ps-header.is-menu-open .ps-menu-backdrop{opacity:1}

	.ps-mpanel{position:absolute;left:0;right:0;top:100%;z-index:2;padding:26px 0 30px;color:var(--ink)}
	.ps-mpanel[hidden]{display:none}
	.ps-mpanel.is-entering{animation:ps-mpanel-in .5s var(--ease) both}
	@keyframes ps-mpanel-in{from{opacity:0;transform:translate3d(calc(var(--dir,0) * 28px),-6px,0)}to{opacity:1;transform:none}}
	.ps-mpanel>.ps-container{max-width:min(1600px,100%);padding-left:clamp(24px,3vw,48px);padding-right:clamp(24px,3vw,48px)}
	.ps-mpanel__grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:stretch}
	.ps-mpanel__cols{display:grid;grid-template-columns:repeat(var(--cols,2),minmax(0,1fr));gap:6px 28px;align-content:start}
	.ps-mpanel--wide .ps-mpanel__cols{display:block;column-count:4;column-gap:24px}
	.ps-mpanel--wide .ps-mpanel__col{break-inside:avoid;margin-bottom:16px}
	.ps-mpanel__title{margin:0 10px 8px!important;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
	.ps-mpanel__list{display:grid;gap:2px}

	.ps-mi{position:relative;display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:13px;color:var(--ink);
		transition:background-color .2s,transform .25s var(--ease),box-shadow .2s}
	.ps-mi:hover,.ps-mi:focus-visible,.ps-mi.is-current{background:var(--surface-2);transform:translateX(3px);outline:none}
	.ps-mi:focus-visible{box-shadow:0 0 0 2px var(--focus)}
	.ps-mi .ps-mark{--mark:30px;border-radius:9px;transition:transform .3s var(--ease)}
	.ps-mi:hover .ps-mark,.ps-mi.is-current .ps-mark{transform:scale(1.08) rotate(-4deg)}
	.ps-mi__icon{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:10px;background:var(--tint);color:var(--primary);transition:transform .3s var(--ease)}
	.ps-mi:hover .ps-mi__icon,.ps-mi.is-current .ps-mi__icon{transform:scale(1.08) rotate(-4deg)}
	.ps-mpanel__list>li{min-width:0}
	.ps-mi{width:100%;min-width:0}
	.ps-mi__text{display:flex;flex-direction:column;flex:1;min-width:0;overflow:hidden}
	.ps-mi__name{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:650;letter-spacing:-.01em;white-space:nowrap}
	.ps-mi__desc{overflow:hidden;font-size:12.5px;line-height:1.35;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
	.ps-mpanel.is-entering .ps-mi{animation:ps-mi-in .5s var(--ease) both;animation-delay:calc(var(--n,0) * 16ms + 60ms)}
	@keyframes ps-mi-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

	/* the preview: dark glass, glow in the item's accent, content rising in */
	.ps-preview{position:relative;isolation:isolate;overflow:hidden;display:flex;min-height:300px;border-radius:24px;color:var(--on-dark);
		background:linear-gradient(160deg,var(--pb-band-surface),var(--pb-band-bg));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pb-band-text) 10%,transparent)}
	.ps-preview__glow{position:absolute;inset:-30%;z-index:-1;pointer-events:none;
		background:radial-gradient(40% 40% at 70% 20%,color-mix(in srgb,var(--acc-d,var(--pb-glow-1)) 60%,transparent),transparent 70%),
			radial-gradient(45% 45% at 20% 90%,color-mix(in srgb,var(--acc-l,var(--pb-glow-2)) 45%,transparent),transparent 70%);
		animation:ps-glow-drift 14s ease-in-out infinite alternate;transition:background .5s ease}
	@keyframes ps-glow-drift{from{transform:translate3d(-4%,2%,0) rotate(0)}to{transform:translate3d(4%,-3%,0) rotate(8deg)}}
	.ps-preview::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;
		background-image:linear-gradient(color-mix(in srgb,var(--pb-band-text) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--pb-band-text) 7%,transparent) 1px,transparent 1px);
		background-size:26px 26px;-webkit-mask-image:linear-gradient(180deg,var(--pb-band-text),transparent 70%);mask-image:linear-gradient(180deg,var(--pb-band-text),transparent 70%)}
	.ps-preview__body{display:flex;flex-direction:column;gap:10px;width:100%;padding:26px 26px 22px}
	.ps-preview.is-swapping .ps-preview__body>*{animation:ps-pv-in .5s var(--ease) both;animation-delay:calc(var(--k,0) * 45ms)}
	@keyframes ps-pv-in{from{opacity:0;transform:translateY(10px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
	.ps-pv__eyebrow{margin:0!important;align-self:flex-start;padding:4px 10px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
		color:var(--pb-band-highlight);background:color-mix(in srgb,var(--pb-glow-3) 14%,transparent);border:1px solid color-mix(in srgb,var(--pb-glow-3) 35%,transparent)}
	.ps-pv__title{margin:4px 0 0!important;font-size:20px;font-weight:800;line-height:1.2;letter-spacing:-.02em;color:var(--on-dark)}
	.ps-pv__text{margin:0!important;font-size:13.5px;line-height:1.55;color:var(--on-dark-muted);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
	.ps-pv__points{display:grid;gap:6px;margin:2px 0 0!important;padding:0!important;list-style:none!important;font-size:13px;color:var(--on-dark)}
	.ps-pv__points li{position:relative;padding-left:22px;animation:ps-pv-in .45s var(--ease) both;animation-delay:calc(var(--i) * 60ms + 120ms)}
	.ps-pv__points li::before{content:"";position:absolute;left:2px;top:.42em;width:12px;height:7px;border-left:2px solid var(--pb-band-accent);border-bottom:2px solid var(--pb-band-accent);transform:rotate(-45deg)}
	.ps-pv__points--steps{display:flex;flex-wrap:wrap;gap:6px;counter-reset:step}
	.ps-pv__points--steps li{counter-increment:step;padding:5px 10px 5px 26px;border-radius:999px;font-size:12px;font-weight:600;background:color-mix(in srgb,var(--pb-band-text) 9%,transparent)}
	.ps-pv__points--steps li::before{content:counter(step);left:5px;top:50%;width:16px;height:16px;margin-top:-8px;border:0;border-radius:50%;transform:none;display:grid;place-items:center;font-size:10px;font-weight:800;color:var(--pb-band-bg);background:var(--pb-band-highlight)}
	.ps-pv__marks{display:flex;gap:8px;margin:2px 0 0!important}
	.ps-pv__marks span{animation:ps-pv-pop .5s var(--ease) both;animation-delay:calc(var(--i) * 70ms + 160ms)}
	@keyframes ps-pv-pop{from{opacity:0;transform:scale(.6) rotate(-10deg)}to{opacity:1;transform:none}}
	.ps-pv__marks .ps-mark{--mark:34px;border-radius:10px}
	.ps-pv__cta{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding:11px 14px;border-radius:12px;
		background:var(--pb-grad-secondary);color:var(--pb-text-on-secondary);font-size:13.5px;font-weight:700;transition:transform .2s var(--ease),box-shadow .2s}
	.ps-pv__cta:hover{transform:translateY(-1px);color:var(--pb-text-on-secondary);box-shadow:0 14px 26px -14px color-mix(in srgb,var(--pb-glow-3) 90%,transparent)}
	.ps-pv__cta .ps-icon{transition:transform .25s var(--ease)}
	.ps-pv__cta:hover .ps-icon{transform:translateX(3px)}
}

/* the "sign in" badge of members-only pages; gone once signed in */
.ps-mi__lock{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.02em;
	color:var(--muted);background:var(--surface-2);border:1px solid var(--line)}
.ps-signed-in [data-members-badge]{display:none}

/* ---------- phone and narrow windows: accordions inside the phone menu ---------- */
@media (max-width:960px){
	.ps-mega-stage,.ps-menu-backdrop,.ps-nav__pill,.ps-preview{display:none!important}
	.ps-nav__chev{display:inline-flex;transition:transform .25s var(--ease)}
	.ps-mpanel{padding:0 0 14px}
	.ps-mpanel[hidden]{display:none}
	.ps-mpanel .ps-container{padding:0}
	.ps-mpanel__grid{display:block}
	.ps-mpanel__cols{display:grid;grid-template-columns:1fr;gap:12px}
	.ps-mpanel__title{margin:6px 0 4px!important;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
	.ps-mi{display:flex;align-items:center;gap:12px;padding:9px 4px;border-radius:10px}
	.ps-mi .ps-mark{--mark:30px;border-radius:9px}
	.ps-mi__icon{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:10px;background:var(--tint);color:var(--primary)}
	.ps-mi__text{display:flex;flex-direction:column;min-width:0}
	.ps-mi__name{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600}
	.ps-mi__desc{font-size:12.5px;color:var(--muted)}
}

@media (prefers-reduced-motion:reduce){
	.ps-nav__pill,.ps-mega-stage,.ps-mega-stage::before,.ps-menu-backdrop,.ps-mi,.ps-mi .ps-mark,.ps-mi__icon,.ps-nav__chev{transition:none}
	.ps-mpanel.is-entering,.ps-mpanel.is-entering .ps-mi,.ps-preview__glow,.ps-preview.is-swapping .ps-preview__body>*,.ps-pv__points li,.ps-pv__marks span{animation:none}
}
