/* Pep Lab Hero Banner — desktop is drawn on a 1920×1014 grid; 1 unit = calc(var(--u) * 1) */
.plb {
	container-type: inline-size;
	container-name: plb;
	position: relative;
	isolation: isolate;
	width: 100%;
	overflow: hidden;
	background: var(--bg);
	color: var(--fg);
	font-family: 'Archivo', sans-serif;
	-webkit-font-smoothing: antialiased;
	--line: color-mix(in srgb, var(--fg) 12%, transparent);
	--line-strong: color-mix(in srgb, var(--fg) 28%, transparent);
	--gridc: color-mix(in srgb, var(--fg) 4%, transparent);
	--glass: color-mix(in srgb, var(--bg) 62%, transparent);
	--glow: color-mix(in srgb, var(--a2) 20%, transparent);
	--ease: cubic-bezier(.2, .7, .2, 1);
}
.plb *, .plb *::before, .plb *::after { box-sizing: border-box; }

/* Colour schemes */
.plb--1a { --bg:#061229; --fg:#EEF4F8; --muted:#A9BBD0; --a1:#3ED6A0; --a2:#3CCFE6; --bar-bg:#040C1D; --bar-fg:#EEF4F8; --on-a1:#061229; --blend:screen; --tint:hue-rotate(-14deg) saturate(1.15) brightness(1.05); --bokeh-o:.45; --spheres-o:.2; }
.plb--1b { --bg:#0C0B09; --fg:#F4EEE2; --muted:#BDB29C; --a1:#D1AB5C; --a2:#EBD9A8; --bar-bg:#070605; --bar-fg:#F4EEE2; --on-a1:#0C0B09; --blend:screen; --tint:grayscale(1) sepia(1) saturate(1.7) brightness(1.05) contrast(1.05); --bokeh-o:.45; --spheres-o:.2; --glow: color-mix(in srgb, var(--a1) 15%, transparent); }
.plb--1c { --bg:#F6F8FC; --fg:#0A1847; --muted:#46557E; --a1:#1E3FD6; --a2:#00B4EC; --bar-bg:#0A1847; --bar-fg:#F6F8FC; --on-a1:#FFFFFF; --blend:multiply; --tint:invert(1) hue-rotate(180deg) saturate(1.35) contrast(1.05); --bokeh-o:.3; --spheres-o:.22; --glass: color-mix(in srgb, var(--bg) 72%, transparent); --gridc: color-mix(in srgb, var(--fg) 5%, transparent); --line-strong: color-mix(in srgb, var(--fg) 30%, transparent); --glow: color-mix(in srgb, var(--a2) 14%, transparent); }
.plb--1d { --bg:#16181B; --fg:#EDF1F3; --muted:#A5AFB6; --a1:#C8F051; --a2:#A2D8EF; --bar-bg:#0F1113; --bar-fg:#EDF1F3; --on-a1:#16181B; --blend:screen; --tint:grayscale(.55) brightness(1.1) contrast(1.05); --bokeh-o:.45; --spheres-o:.2; --glow: color-mix(in srgb, var(--a1) 10%, transparent); }
.plb--1e { --bg:#3A0D19; --fg:#F6ECE1; --muted:#DCC3B6; --a1:#E8AF96; --a2:#F4D4C5; --bar-bg:#2C0912; --bar-fg:#F6ECE1; --on-a1:#3A0D19; --blend:screen; --tint:grayscale(1) sepia(1) hue-rotate(-28deg) saturate(1.5) brightness(1.08); --bokeh-o:.45; --spheres-o:.2; --glow: color-mix(in srgb, var(--a1) 18%, transparent); }

/* Image tint overrides */
.plb--tint-none    { --tint: none; }
.plb--tint-emerald { --tint: hue-rotate(-14deg) saturate(1.15) brightness(1.05); }
.plb--tint-gold    { --tint: grayscale(1) sepia(1) saturate(1.7) brightness(1.05) contrast(1.05); }
.plb--tint-rose    { --tint: grayscale(1) sepia(1) hue-rotate(-28deg) saturate(1.5) brightness(1.08); }
.plb--tint-mono    { --tint: grayscale(1) brightness(1.1) contrast(1.05); }
.plb--tint-invert  { --tint: invert(1) hue-rotate(180deg) saturate(1.35) contrast(1.05); --blend: multiply; }

.plb__stage {
	--u: calc(100cqw / 1920);
	--mx: 50%;
	--my: 50%;
	/* --dy: half of any extra height from the "Banner height" option; shifts the content to stay centred */
	--dy: max(0px, calc((var(--plb-h, 0px) - var(--u) * 1014) / 2));
	position: relative;
	width: 100%;
	height: max(var(--plb-h, 0px), calc(var(--u) * 1014));
}

/* Background layers */
.plb__grid {
	position: absolute; inset: 0;
	background-image: linear-gradient(var(--gridc) 1px, transparent 1px), linear-gradient(90deg, var(--gridc) 1px, transparent 1px);
	background-size: calc(var(--u) * 96) calc(var(--u) * 96);
	background-position: calc(var(--u) * -24) calc(var(--u) * -24);
}
.plb--nogrid .plb__grid { display: none; }
.plb__glow {
	position: absolute;
	left: calc(var(--u) * 580); top: calc(var(--u) * -100);
	width: calc(var(--u) * 1200); height: calc(var(--u) * 1200);
	background: radial-gradient(circle at var(--mx) var(--my), var(--glow) 0%, transparent 62%);
}
.plb__layer { position: absolute; pointer-events: none; will-change: transform; }
.plb__layer img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; mix-blend-mode: var(--blend); }
.plb__layer--bokeh { inset: calc(var(--u) * -60); z-index: 1; }
.plb__layer--bokeh img { filter: var(--tint) blur(calc(var(--u) * 36)); opacity: var(--bokeh-o); }
.plb__layer--spheres { left: calc(var(--u) * -300); bottom: calc(var(--u) * -360); width: calc(var(--u) * 980); height: calc(var(--u) * 980); z-index: 2; }
.plb__layer--spheres img { filter: var(--tint) blur(calc(var(--u) * 14)); opacity: var(--spheres-o); }

.plb__dna {
	position: absolute; left: calc(var(--u) * 560); top: 0;
	width: calc(var(--u) * 1360); height: calc(var(--u) * 930);
	z-index: 10; pointer-events: none;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 30%, #000 58%, rgba(0,0,0,.4) 100%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 30%, #000 58%, rgba(0,0,0,.4) 100%);
}
.plb__dna-mask {
	position: absolute; inset: 0;
	perspective: calc(var(--u) * 1800);
	-webkit-mask-image: linear-gradient(180deg, #000 70%, transparent 100%);
	mask-image: linear-gradient(180deg, #000 70%, transparent 100%);
}
.plb__dna-inner { position: absolute; inset: -3%; will-change: transform; }
.plb__dna-inner img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; filter: var(--tint); mix-blend-mode: var(--blend); transform-origin: 50% 50%; }
.plb--crop-close .plb__dna-inner img { transform: scale(1.4); }
.plb--crop-mirror .plb__dna-inner img { transform: scaleX(-1); }

.plb__scrim {
	position: absolute; top: 0; bottom: 0; right: 0; width: calc(var(--u) * 760); z-index: 20;
	background: linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--bg) 60%, transparent) 40%, color-mix(in srgb, var(--bg) 78%, transparent) 100%);
}
.plb--f-strip .plb__scrim { display: none; }

/* Logo */
.plb .plb__logo { position: absolute; left: calc(var(--u) * 120); top: calc(var(--u) * 84); display: flex; align-items: center; gap: calc(var(--u) * 22); z-index: 40; }
.plb .plb__logo-name { font-size: calc(var(--u) * 34); font-weight: 800; letter-spacing: .06em; line-height: 1; }
.plb .plb__logo-rule { width: calc(var(--u) * 40); height: 1px; background: var(--fg); opacity: .5; }
.plb .plb__logo-sub { font-family: 'JetBrains Mono', monospace; font-size: max(10px, calc(var(--u) * 17)); letter-spacing: .5em; color: var(--muted); line-height: 1; }

/* Headline + notice */
.plb .plb__copy { position: absolute; left: calc(var(--u) * 120); top: calc(var(--u) * 268); width: calc(var(--u) * 900); display: flex; flex-direction: column; gap: calc(var(--u) * 64); z-index: 40; }
.plb--f-strip .plb__copy, .plb--f-chips .plb__copy { top: calc(var(--u) * 196); }
.plb .plb__h {
	margin: 0; padding: 0; display: flex; flex-direction: column;
	font-family: 'Archivo', sans-serif; font-weight: 700; font-style: normal;
	font-size: calc(var(--u) * 128); letter-spacing: -.03em; line-height: .96;
	color: var(--fg); text-transform: none;
}
.plb--hf-site .plb__h, .plb--hf-site .plb__label, .plb--hf-site .plb__logo-name { font-family: 'Hanken Grotesk', 'Archivo', sans-serif; }
.plb--hf-serif .plb__h { font-family: 'Instrument Serif', serif; font-weight: 400; font-size: calc(var(--u) * 156); letter-spacing: -.01em; }
.plb--upper .plb__h { text-transform: uppercase; font-size: calc(var(--u) * 104); }
.plb--upper.plb--hf-serif .plb__h { font-size: calc(var(--u) * 124); }
.plb .plb__line { display: block; overflow: hidden; padding-bottom: .1em; margin-bottom: -.1em; }
.plb .plb__line > span { display: block; }
.plb .plb__line--accent { color: var(--a1); }
.plb--hf-serif .plb__line--accent { font-style: italic; }
.plb .plb__notice {
	align-self: flex-start; display: flex; flex-direction: column; gap: calc(var(--u) * 10);
	padding: calc(var(--u) * 22) calc(var(--u) * 30); border: 1px solid var(--line-strong); border-radius: calc(var(--u) * 4);
	font-family: 'JetBrains Mono', monospace; font-size: max(10px, calc(var(--u) * 21)); font-weight: 500; letter-spacing: .14em; line-height: 1.3;
}
.plb .plb__notice span + span { color: var(--muted); }

/* Bullet points — shared */
.plb .plb__feats { list-style: none; margin: 0; padding: 0; position: absolute; z-index: 40; }
.plb .plb__feat { margin: 0; padding: 0; list-style: none; }
.plb .plb__feat::before, .plb .plb__feat::marker { content: none; }
.plb .plb__dot, .plb .plb__leader, .plb .plb__check { display: none; }
.plb .plb__txt { display: flex; flex-direction: column; gap: calc(var(--u) * 8); }
.plb .plb__num { font-family: 'JetBrains Mono', monospace; font-size: max(10px, calc(var(--u) * 18)); font-weight: 500; letter-spacing: .2em; color: var(--a1); line-height: 1.2; }
.plb .plb__label { font-family: 'Archivo', sans-serif; font-size: calc(var(--u) * 38); font-weight: 500; line-height: 1.12; letter-spacing: -.01em; color: var(--fg); text-wrap: pretty; }

/* Leader lines */
.plb--f-leader .plb__feats { left: calc(var(--u) * 1322); top: 0; }
.plb--f-leader .plb__feat { position: absolute; left: 0; top: calc(var(--u) * (250 + var(--i) * 170)); transform: translateY(-50%); display: flex; align-items: center; gap: calc(var(--u) * 22); }
.plb--f-leader .plb__dot { display: block; position: relative; z-index: 1; flex: none; width: calc(var(--u) * 16); height: calc(var(--u) * 16); border-radius: 50%; border: 2px solid var(--a1); background: var(--bg); }
.plb--f-leader .plb__leader { display: block; flex: none; width: calc(var(--u) * 70); height: 1px; margin-left: calc(var(--u) * -22); background: var(--line-strong); transform-origin: left center; }
.plb--f-leader .plb__txt { width: calc(var(--u) * 400); }

/* Cards */
.plb--f-cards .plb__feats { left: calc(var(--u) * 1180); top: calc(var(--u) * 246); width: calc(var(--u) * 620); display: grid; grid-template-columns: 1fr 1fr; gap: calc(var(--u) * 20); }
.plb--f-cards .plb__feat { display: flex; flex-direction: column; justify-content: space-between; gap: calc(var(--u) * 40); min-height: calc(var(--u) * 196); padding: calc(var(--u) * 28) calc(var(--u) * 30); background: var(--glass); border: 1px solid var(--line-strong); border-radius: calc(var(--u) * 16); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); transition: transform .5s var(--ease), border-color .5s var(--ease); }
.plb--f-cards .plb__feat:hover { transform: translateY(calc(var(--u) * -6)); border-color: var(--a1); }
.plb--f-cards .plb__txt { display: contents; }
.plb--f-cards .plb__label { font-size: calc(var(--u) * 32); line-height: 1.15; }

/* Checklist */
.plb--f-checklist .plb__feats { left: calc(var(--u) * 1310); top: calc(var(--u) * 236); width: calc(var(--u) * 500); display: flex; flex-direction: column; border-top: 1px solid var(--line-strong); }
.plb--f-checklist .plb__feat { display: flex; align-items: center; gap: calc(var(--u) * 28); padding: calc(var(--u) * 30) 0; border-bottom: 1px solid var(--line-strong); }
.plb--f-checklist .plb__check { display: flex; align-items: center; justify-content: center; flex: none; width: calc(var(--u) * 46); height: calc(var(--u) * 46); border-radius: 50%; background: var(--a1); }
.plb--f-checklist .plb__check::after { content: ''; width: calc(var(--u) * 10); height: calc(var(--u) * 20); border-right: 3px solid var(--bg); border-bottom: 3px solid var(--bg); transform: translateY(calc(var(--u) * -3)) rotate(45deg); }
.plb--f-checklist .plb__num { display: none; }
.plb--f-checklist .plb__label { font-size: calc(var(--u) * 34); line-height: 1.15; }

/* Bottom strip */
.plb--f-strip .plb__feats { left: calc(var(--u) * 120); right: calc(var(--u) * 120); top: calc(var(--u) * 790); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line-strong); }
.plb--f-strip .plb__feat { padding: calc(var(--u) * 26) calc(var(--u) * 32) 0; }
.plb--f-strip .plb__feat:first-child { padding-left: 0; }
.plb--f-strip .plb__feat + .plb__feat { border-left: 1px solid var(--line-strong); }
.plb--f-strip .plb__txt { gap: calc(var(--u) * 12); }
.plb--f-strip .plb__label { font-size: calc(var(--u) * 28); line-height: 1.15; }

/* Chips */
.plb--f-chips .plb__feats { left: calc(var(--u) * 120); right: calc(var(--u) * 120); top: calc(var(--u) * 800); display: flex; flex-wrap: wrap; gap: calc(var(--u) * 18); }
.plb--f-chips .plb__feat { display: flex; align-items: center; gap: calc(var(--u) * 14); padding: calc(var(--u) * 18) calc(var(--u) * 28); border-radius: 999px; border: 1px solid var(--line-strong); background: var(--glass); transition: transform .5s var(--ease), border-color .5s var(--ease); }
.plb--f-chips .plb__feat:hover { transform: translateY(calc(var(--u) * -4)); border-color: var(--a1); }
.plb--f-chips .plb__dot { display: block; flex: none; width: calc(var(--u) * 10); height: calc(var(--u) * 10); border-radius: 50%; background: var(--a1); }
.plb--f-chips .plb__txt { display: contents; }
.plb--f-chips .plb__num { display: none; }
.plb--f-chips .plb__label { font-size: calc(var(--u) * 26); white-space: nowrap; }

/* Big numbers */
.plb--f-big .plb__feats { left: calc(var(--u) * 1220); top: calc(var(--u) * 220); width: calc(var(--u) * 600); display: grid; grid-template-columns: 1fr 1fr; }
.plb--f-big .plb__feat { padding: calc(var(--u) * 34) calc(var(--u) * 30); }
.plb--f-big .plb__feat:nth-child(n+3) { border-top: 1px solid var(--line-strong); }
.plb--f-big .plb__feat:nth-child(even) { border-left: 1px solid var(--line-strong); }
.plb--f-big .plb__txt { gap: calc(var(--u) * 22); }
.plb--f-big .plb__num { font-family: 'Archivo', sans-serif; font-size: calc(var(--u) * 96); font-weight: 700; line-height: .9; letter-spacing: -.03em; }
.plb--f-big.plb--hf-serif .plb__num { font-family: 'Instrument Serif', serif; font-weight: 400; font-style: italic; }
.plb--f-big .plb__label { font-size: calc(var(--u) * 32); line-height: 1.15; }

/* Glass panel */
.plb--f-panel .plb__feats { left: calc(var(--u) * 1260); top: calc(var(--u) * 200); width: calc(var(--u) * 540); padding: calc(var(--u) * 16) calc(var(--u) * 44); border-radius: calc(var(--u) * 24); background: var(--glass); border: 1px solid var(--line-strong); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); display: flex; flex-direction: column; }
.plb--f-panel .plb__feat { padding: calc(var(--u) * 28) 0; }
.plb--f-panel .plb__feat + .plb__feat { border-top: 1px solid var(--line-strong); }
.plb--f-panel .plb__txt { gap: calc(var(--u) * 10); }
.plb--f-panel .plb__label { font-size: calc(var(--u) * 34); line-height: 1.15; }

/* Footer — shared */
.plb .plb__ft { position: absolute; left: 0; right: 0; bottom: 0; height: calc(var(--u) * 84); display: flex; align-items: center; gap: calc(var(--u) * 20); z-index: 50; }
.plb .plb__ft-text { font-family: 'JetBrains Mono', monospace; font-size: max(9px, calc(var(--u) * 20)); font-weight: 500; letter-spacing: .16em; line-height: 1.3; white-space: nowrap; }
.plb .plb__ft-mark { flex: none; width: calc(var(--u) * 10); height: calc(var(--u) * 10); background: var(--a1); }

.plb .plb__ft--bar, .plb .plb__ft--accent, .plb .plb__ft--ticker { padding: 0 calc(var(--u) * 120); background: var(--bar-bg); color: var(--bar-fg); border-top: 1px solid var(--line); }
.plb .plb__ft--accent { justify-content: center; background: var(--a1); color: var(--on-a1); }
.plb .plb__ft--accent .plb__ft-mark { background: var(--on-a1); transform: rotate(45deg); }

.plb .plb__ft--ticker { padding: 0; overflow: hidden; }
.plb .plb__ft-track { display: flex; flex: none; width: max-content; animation: plb-marquee var(--ticker-dur, 40s) linear infinite; }
.plb .plb__ft-group { display: flex; align-items: center; gap: calc(var(--u) * 44); padding-right: calc(var(--u) * 44); flex: none; }
.plb .plb__ft--ticker .plb__ft-mark, .plb .plb__ft--rule .plb__ft-mark { transform: rotate(45deg); }
.plb .plb__ft--ticker:hover .plb__ft-track { animation-play-state: paused; }
@keyframes plb-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.plb .plb__ft--pill { left: calc(var(--u) * 120); right: auto; bottom: calc(var(--u) * 40); height: auto; gap: calc(var(--u) * 16); padding: calc(var(--u) * 16) calc(var(--u) * 28); border-radius: 999px; border: 1px solid var(--line-strong); background: var(--glass); color: var(--fg); }
.plb .plb__ft--pill .plb__ft-text { font-size: max(9px, calc(var(--u) * 18)); }
.plb .plb__ft--pill .plb__ft-mark { border-radius: 50%; box-shadow: 0 0 calc(var(--u) * 12) var(--a1); }
.plb--1c .plb__ft--pill .plb__ft-mark { box-shadow: none; }

.plb .plb__ft--rule { left: calc(var(--u) * 120); right: calc(var(--u) * 120); justify-content: center; gap: calc(var(--u) * 24); color: var(--fg); }
.plb .plb__ft-line { flex: 1 1 0; height: 1px; background: var(--line-strong); }

.plb .plb__ft--outline { left: calc(var(--u) * 120); right: calc(var(--u) * 120); justify-content: space-between; border-top: 1px solid var(--line-strong); color: var(--fg); }
.plb .plb__ft-arrow { flex: none; width: calc(var(--u) * 14); height: calc(var(--u) * 14); border-top: 2px solid var(--a1); border-right: 2px solid var(--a1); transform: rotate(45deg); }

/* Banner height option */
.plb .plb__copy, .plb .plb__feats { margin-top: var(--dy); }
.plb--f-strip .plb__feats, .plb--f-chips .plb__feats { margin-top: calc(var(--dy) * 2); }
.plb .plb__dna { height: calc(var(--u) * 930 + var(--dy) * 2); }

/* Entrance animation */
.plb--anim .plb__logo, .plb--anim .plb__notice, .plb--anim .plb__feat, .plb--anim .plb__ft { transition: opacity .9s var(--ease), translate 1.1s var(--ease), transform .5s var(--ease), border-color .5s var(--ease); }
.plb--anim .plb__line > span { transition: translate 1.1s var(--ease); transition-delay: calc(.15s + var(--l, 0) * .1s); }
.plb--anim .plb__dna { transition: opacity 1.8s var(--ease), scale 2.4s var(--ease); }
.plb--anim .plb__layer { transition: opacity 2s var(--ease) .2s; }
.plb--anim .plb__leader { transition: scale 1s var(--ease); transition-delay: calc(.85s + var(--i, 0) * .1s); }
.plb--anim .plb__logo { transition-delay: .05s; }
.plb--anim .plb__notice { transition-delay: .55s; }
.plb--anim .plb__feat { transition-delay: calc(.7s + var(--i, 0) * .1s), calc(.7s + var(--i, 0) * .1s), 0s, 0s; }
.plb--anim .plb__ft { transition-delay: 1.1s; }

.plb--anim .is-ready:not(.is-in) .plb__logo,
.plb--anim .is-ready:not(.is-in) .plb__notice,
.plb--anim .is-ready:not(.is-in) .plb__ft { opacity: 0; translate: 0 calc(var(--u) * 24); }
.plb--anim .is-ready:not(.is-in) .plb__feat { opacity: 0; translate: calc(var(--u) * 40) 0; }
.plb--anim.plb--f-strip .is-ready:not(.is-in) .plb__feat,
.plb--anim.plb--f-chips .is-ready:not(.is-in) .plb__feat { translate: 0 calc(var(--u) * 30); }
.plb--anim .is-ready:not(.is-in) .plb__line > span { translate: 0 110%; }
.plb--anim .is-ready:not(.is-in) .plb__dna { opacity: 0; scale: 1.08; }
.plb--anim .is-ready:not(.is-in) .plb__layer { opacity: 0; }
.plb--anim .is-ready:not(.is-in) .plb__leader { scale: 0 1; }

@media (prefers-reduced-motion: reduce) {
	.plb .plb__ft-track { animation: none; }
}

/* Mobile / narrow containers — stacked layout */
@container plb (max-width: 899px) {
	.plb.plb .plb__stage { --dy: 0px; height: auto; min-height: max(560px, var(--plb-h-m, 0px)); padding: 28px 24px 0; display: flex; flex-direction: column; gap: 28px; }
	.plb.plb .plb__logo, .plb.plb .plb__copy, .plb.plb .plb__feats, .plb.plb .plb__ft { position: relative; left: auto; right: auto; top: auto; bottom: auto; width: auto; }
	.plb.plb .plb__logo { gap: 14px; }
	.plb.plb .plb__logo-name { font-size: 20px; }
	.plb.plb .plb__logo-rule { width: 28px; }
	.plb.plb .plb__logo-sub { font-size: 11px; }
	.plb.plb .plb__copy { gap: 22px; margin-top: 12px; }
	.plb.plb .plb__h { font-size: clamp(44px, 13cqw, 84px); }
	.plb--hf-serif.plb .plb__h { font-size: clamp(52px, 15.5cqw, 100px); }
	.plb--upper.plb .plb__h { font-size: clamp(36px, 10.5cqw, 70px); }
	.plb.plb .plb__notice { gap: 6px; padding: 12px 16px; font-size: 11px; border-radius: 4px; }

	.plb.plb .plb__layer--spheres, .plb.plb .plb__scrim { display: none; }
	.plb.plb .plb__dna { left: 20%; top: 0; width: 100%; height: 72%; }
	.plb.plb .plb__copy, .plb.plb .plb__feats { margin-top: 0; }
	.plb.plb .plb__copy { margin-top: 12px; }
	.plb.plb .plb__dna-inner img { opacity: .55; }
	.plb.plb .plb__glow { left: 0; top: -20%; width: 140%; height: 100%; }
	.plb.plb .plb__grid { background-size: 48px 48px; background-position: -12px -12px; }

	.plb.plb .plb__feats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 0; border: 0; border-radius: 0; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
	.plb.plb .plb__feat { position: relative; top: auto; transform: none; display: flex; flex-direction: column; justify-content: space-between; gap: 18px; min-height: 0; padding: 16px; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--glass); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
	.plb.plb .plb__dot, .plb.plb .plb__leader, .plb.plb .plb__check { display: none; }
	.plb.plb .plb__txt { display: flex; flex-direction: column; gap: 10px; width: auto; }
	.plb.plb .plb__num { display: block; font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 500; font-style: normal; letter-spacing: .2em; line-height: 1.2; }
	.plb.plb .plb__label { font-size: 16px; line-height: 1.2; white-space: normal; }

	.plb.plb .plb__ft { margin: auto -24px 0; height: auto; min-height: 52px; padding: 14px 24px; gap: 12px; }
	.plb.plb .plb__ft-text { font-size: 10px; white-space: normal; }
	.plb.plb .plb__ft--ticker { padding: 14px 0; }
	.plb.plb .plb__ft--ticker .plb__ft-text { white-space: nowrap; }
	.plb.plb .plb__ft-group { gap: 24px; padding-right: 24px; }
	.plb.plb .plb__ft-mark { width: 7px; height: 7px; }
	.plb.plb .plb__ft--pill { margin: auto 0 24px; align-self: flex-start; padding: 10px 16px; border-radius: 999px; }
	.plb.plb .plb__ft--rule, .plb.plb .plb__ft--outline { margin: auto 0 0; padding: 14px 0; }
	.plb.plb .plb__ft--rule .plb__ft-line { display: none; }
	.plb.plb .plb__ft-arrow { width: 10px; height: 10px; }
	.plb--anim .is-ready:not(.is-in) .plb__feat { translate: 0 16px; }
}

/* The widget needs a definite width: inside a wrapping flex container it was otherwise measured at
   zero width, which made it several times too tall on phones (a blank gap under the banner). */
.elementor-element.elementor-widget-peplab_banner { width: 100%; max-width: 100%; }
