/* =====================================================================================================
   Aurum Prism v2 · #spec, the platform (14 Sep 2026). Loads after the other sheets; uses tokens.css properties only.
   A schematic, not data. Deal advisors (sell side) and investors (buy side) each enter through an invitation gate;
   every opportunity converges on the operator's review (the glass prism) and leaves as the three strategy rays.
   Under it, the fact rail: four facts, always visible. platform.js steps through them (data-plf-state on the section)
   and lights the matching part of the figure; hover / focus previews, click / tap pins (aria-pressed).
   Three drawings of one figure share one set of labels: .plf-svg--w (wide, >= 1024px), .plf-svg--m (medium,
   700-1023px: iPad portrait) and .plf-svg--t (tall, phones; the flow runs down, the prism keeps its apex up).
   Label anchors are viewBox points in percent: x% = (x + 3) / (W + 6), y% = (y + 3) / (H + 6).
   Without script, or under reduced motion: fully drawn, every part lit, nothing moves.
   ===================================================================================================== */

.plf { --plf-k: 1; --plf-T: 6.6s; --plf-dwell: 3.8s; }

/* ---------- stage + figure ---------- */
.plf-stage { position: relative; margin: clamp(36px, 4.4vw, 64px) 0 0; }
/* soft light pooled under the prism (brightens on the operator state) */
.plf-stage::before {
  content: ""; position: absolute; left: 50%; top: 46%; z-index: 0;
  width: min(980px, 96%); height: 150%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  background: radial-gradient(38% 42% at 50% 50%, color-mix(in srgb, var(--ap-ink) 6.5%, transparent), color-mix(in srgb, var(--ap-slate) 3%, transparent) 52%, transparent 74%);
  transition: opacity 1s var(--ap-ease), transform 1s var(--ap-ease);
  opacity: .7;
}
.plf[data-plf-state="op"] .plf-stage::before { opacity: 1; transform: translate(-50%, -50%) scale(1.06); }
.plf-fig { position: relative; z-index: 1; aspect-ratio: 1206 / 406; -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent; }
.plf-svg { position: absolute; inset: 0; display: block; width: 100%; height: 100%; overflow: visible; }
.plf-svg--m, .plf-svg--t { display: none; }
.plf-svg path, .plf-svg circle { stroke-linecap: round; stroke-linejoin: round; }

/* gradient stops take the tokens */
.plf-s-ink { stop-color: var(--ap-ink); }
.plf-s-1 { stop-color: var(--ap-s1); }
.plf-s-2 { stop-color: var(--ap-s2); }
.plf-s-3 { stop-color: var(--ap-s3); }
.plf-s-4 { stop-color: var(--ap-s4); }
.plf-s-5 { stop-color: var(--ap-s5); }

/* ---------- the drawing ---------- */
/* members: credential cards (a tick and two lines) */
.plf-card-h { stroke: var(--ap-ink); stroke-opacity: 0; stroke-width: calc(6px * var(--plf-k)); transition: stroke-opacity .6s var(--ap-ease); }
.plf-card { fill: var(--ap-ground); stroke: color-mix(in srgb, var(--ap-ink) 26%, transparent); stroke-width: calc(1px * var(--plf-k)); transition: stroke .6s var(--ap-ease); }
.plf-card__ck { stroke: var(--ap-ink-2); stroke-width: calc(1.35px * var(--plf-k)); transition: stroke .6s var(--ap-ease); }
.plf-card__ln { stroke: var(--ap-ink-3); stroke-width: calc(1.35px * var(--plf-k)); }
/* the sell side converges into one beam */
.plf-ln { stroke-width: calc(1px * var(--plf-k)); }   /* stroke: its own gradient, faint at the card, bright at the beam */
.plf-beam { stroke: color-mix(in srgb, var(--ap-ink) 78%, transparent); stroke-width: calc(1.4px * var(--plf-k)); }
.plf-beam-h { stroke: var(--ap-ink); stroke-opacity: .07; stroke-width: calc(7px * var(--plf-k)); }
.plf-node { fill: var(--ap-ink-2); }
.plf-chev { stroke: var(--ap-ink-2); stroke-width: calc(1.2px * var(--plf-k)); }
/* invitation gates: a wall with an aperture wherever a path crosses it */
.plf-gate-h { stroke: var(--ap-ink); stroke-opacity: 0; stroke-width: calc(7px * var(--plf-k)); transition: stroke-opacity .6s var(--ap-ease); }
.plf-gate { stroke: color-mix(in srgb, var(--ap-ink) 20%, transparent); stroke-width: calc(1px * var(--plf-k)); transition: stroke .6s var(--ap-ease); }
.plf-gate__cap { stroke: color-mix(in srgb, var(--ap-ink) 55%, transparent); stroke-width: calc(1.25px * var(--plf-k)); transition: stroke .6s var(--ap-ease); }
.plf-gate__end { fill: var(--ap-ink-3); }
/* the three strategy rays (band 1 s1 -> s2, band 2 s3, band 3 s4 -> s5) */
.plf-ray { stroke-width: calc(1.3px * var(--plf-k)); transition: stroke-width .6s var(--ap-ease); }
.plf-wedge { opacity: .85; transition: opacity .6s var(--ap-ease); }
.plf-ray__end--0 { fill: var(--ap-s1); }
.plf-ray__end--1 { fill: var(--ap-s3); }
.plf-ray__end--2 { fill: var(--ap-s5); }
/* the prism: glass, its internal beam, the first split of colour at the exit face, and the operator's plinth */
.plf-prism { stroke: color-mix(in srgb, var(--ap-ink) 62%, transparent); stroke-width: calc(1.25px * var(--plf-k)); transition: stroke .6s var(--ap-ease); }
.plf-prism-h { stroke: var(--ap-ink); stroke-opacity: .05; stroke-width: calc(12px * var(--plf-k)); transition: stroke-opacity .8s var(--ap-ease); }
.plf-flash { fill: var(--ap-ink); fill-opacity: .085; opacity: 0; }
.plf-prism-in { stroke: var(--ap-ink); stroke-opacity: .07; stroke-width: calc(1px * var(--plf-k)); }
.plf-bloom { opacity: .9; }
.plf-in { stroke: var(--ap-ink); stroke-width: calc(1.8px * var(--plf-k)); }
.plf-in-h { stroke: var(--ap-ink); stroke-opacity: .13; stroke-width: calc(8px * var(--plf-k)); }
.plf-disp { stroke-width: calc(1px * var(--plf-k)); opacity: .75; }
.plf-disp--0 { stroke: var(--ap-s1); }
.plf-disp--1 { stroke: var(--ap-s3); }
.plf-disp--2 { stroke: var(--ap-s5); }
.plf-pt { fill: var(--ap-ink); }
.plf-plinth { stroke: color-mix(in srgb, var(--ap-ink) 28%, transparent); stroke-width: calc(1px * var(--plf-k)); transition: stroke .6s var(--ap-ease); }
/* arrivals: a card on the buy side rings once in its ray's colour */
.plf-ping { stroke-width: calc(1px * var(--plf-k)); opacity: 0; }
.plf-ping--0 { stroke: var(--ap-s1); }
.plf-ping--1 { stroke: var(--ap-s3); }
.plf-ping--2 { stroke: var(--ap-s5); }
.plf-hit { cursor: pointer; pointer-events: all; }

/* ---------- labels (HTML over the drawing; one set, placed per drawing) ---------- */
.plf-lbls { position: absolute; inset: 0; pointer-events: none; }
.plf-lbl {
  position: absolute; margin: 0;
  display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
  width: max-content; white-space: nowrap;
  transition: opacity .6s var(--ap-ease);
}
.plf-lbl__e { font-size: var(--ap-fs-label); font-weight: 500; line-height: 1.3; letter-spacing: var(--ap-track-label); color: var(--ap-slate-2); }
.plf-lbl__t { font-size: clamp(1rem, 1.3vw, 1.1875rem); font-weight: 500; line-height: 1.25; letter-spacing: -.014em; color: var(--ap-ink); }
.plf-lbl__s { font-size: var(--ap-fs-label); font-weight: 450; line-height: 1.35; letter-spacing: var(--ap-track-label); color: var(--ap-ink-2); }
/* wide anchors: sell side above its cards (bottom-left), buy side mirrored (bottom-right), review under the plinth */
.plf-lbl--adv { left: 1.907%; top: 16.995%; transform: translateY(-100%); }
.plf-lbl--inv { left: 98.093%; top: 16.995%; transform: translate(-100%, -100%); align-items: flex-end; text-align: right; }
.plf-lbl--op { left: 50%; top: 80.05%; transform: translateX(-50%); align-items: center; text-align: center; }

/* ---------- states (data-plf-state on the section) ---------- */
.plf-g { transition: opacity .6s var(--ap-ease); }
.plf[data-plf-state] .plf-g { opacity: .34; }
.plf[data-plf-state] .plf-p-flow { opacity: .55; }
.plf[data-plf-state] .plf-lbl { opacity: .62; }
.plf[data-plf-state="access"] .plf-p-access,
.plf[data-plf-state="members"] .plf-p-members,
.plf[data-plf-state="strat"] .plf-p-strat,
.plf[data-plf-state="op"] .plf-p-op,
.plf[data-plf-state="members"] .plf-lbl.plf-p-members,
.plf[data-plf-state="op"] .plf-lbl.plf-p-op { opacity: 1; }
.plf[data-plf-state="access"] .plf-gate { stroke: color-mix(in srgb, var(--ap-ink) 62%, transparent); }
.plf[data-plf-state="access"] .plf-gate__cap { stroke: var(--ap-ink); }
.plf[data-plf-state="access"] .plf-gate__end { fill: var(--ap-ink); }
.plf[data-plf-state="access"] .plf-gate-h { stroke-opacity: .09; }
.plf[data-plf-state="members"] .plf-card { stroke: color-mix(in srgb, var(--ap-ink) 66%, transparent); }
.plf[data-plf-state="members"] .plf-card__ck { stroke: var(--ap-ink); }
.plf[data-plf-state="members"] .plf-card-h { stroke-opacity: .08; }
.plf[data-plf-state="strat"] .plf-wedge { opacity: 1; }
.plf[data-plf-state="strat"] .plf-ray { stroke-width: calc(1.8px * var(--plf-k)); }
.plf[data-plf-state="op"] .plf-prism { stroke: var(--ap-ink); }
.plf[data-plf-state="op"] .plf-prism-h { stroke-opacity: .065; }
.plf[data-plf-state="op"] .plf-prism-in { stroke-opacity: .16; }
.plf[data-plf-state="op"] .plf-plinth { stroke: color-mix(in srgb, var(--ap-ink) 70%, transparent); }

/* ---------- the light: pulses travel from a sell-side card, slow through the review, leave in colour ---------- */
.plf-pulses { opacity: 0; transition: opacity .9s var(--ap-ease); }
.plf.is-live .plf-pulses { opacity: 1; }
.plf-run { stroke-dasharray: .035 2; stroke-dashoffset: .035; }
.plf-svg--m .plf-run { stroke-dasharray: .042 2; stroke-dashoffset: .042; }
.plf-svg--t .plf-run { stroke-dasharray: .05 2; stroke-dashoffset: .05; }
.plf-pulse__h { stroke-width: calc(9px * var(--plf-k)); stroke-opacity: .1; }
.plf-pulse__m { stroke-width: calc(3.6px * var(--plf-k)); stroke-opacity: .32; }
.plf-pulse__c { stroke-width: calc(1.7px * var(--plf-k)); }
.plf-pulse { opacity: 0; animation: plf-fade var(--plf-T) linear var(--plf-dl, 0s) infinite; }
.plf-svg--w .plf-pulse--0 .plf-run { animation: plf-w-run0 var(--plf-T) linear var(--plf-dl, 0s) infinite; }
.plf-svg--m .plf-pulse--0 .plf-run { animation: plf-m-run0 var(--plf-T) linear var(--plf-dl, 0s) infinite; }
.plf-svg--w .plf-pulse--1 .plf-run { animation: plf-w-run1 var(--plf-T) linear var(--plf-dl, 0s) infinite; }
.plf-svg--m .plf-pulse--1 .plf-run { animation: plf-m-run1 var(--plf-T) linear var(--plf-dl, 0s) infinite; }
.plf-svg--w .plf-pulse--2 .plf-run { animation: plf-w-run2 var(--plf-T) linear var(--plf-dl, 0s) infinite; }
.plf-svg--m .plf-pulse--2 .plf-run { animation: plf-m-run2 var(--plf-T) linear var(--plf-dl, 0s) infinite; }
.plf-svg--t .plf-pulse--0 .plf-run { animation: plf-t-run0 var(--plf-T) linear var(--plf-dl, 0s) infinite; }
.plf-svg--t .plf-pulse--1 .plf-run { animation: plf-t-run1 var(--plf-T) linear var(--plf-dl, 0s) infinite; }
.plf-svg--t .plf-pulse--2 .plf-run { animation: plf-t-run2 var(--plf-T) linear var(--plf-dl, 0s) infinite; }
.plf-flash { animation: plf-flash var(--plf-T) linear var(--plf-dl, 0s) infinite; }
.plf-ping { animation: plf-ping var(--plf-T) linear var(--plf-dl, 0s) infinite; }
/* one route in three: pulse, its flash in the prism and its arrival ring share a delay */
.plf-pulse--0, .plf-flash--0, .plf-ping--0 { --plf-dl: -1.1s; }
.plf-pulse--1, .plf-flash--1, .plf-ping--1 { --plf-dl: -3.3s; }
.plf-pulse--2, .plf-flash--2, .plf-ping--2 { --plf-dl: -5.5s; }
/* only while the figure is on screen and the tab is visible (platform.js sets .is-live) */
.plf:not(.is-live) .plf-svg .plf-anim { animation-play-state: paused; }
@keyframes plf-fade { 0% { opacity: 0 } 5% { opacity: 1 } 94% { opacity: 1 } 100% { opacity: 0 } }
@keyframes plf-flash { 0%, 33% { opacity: 0 } 42%, 58% { opacity: 1 } 67%, 100% { opacity: 0 } }
@keyframes plf-ping { 0% { opacity: .85 } 9% { opacity: 0 } 95% { opacity: 0 } 100% { opacity: .85 } }
/* generated from the route geometry: 0-36% to the prism, 36-64% through it (slower), 64-100% out along the ray */
@keyframes plf-w-run0{0%{stroke-dashoffset:.035}36%{stroke-dashoffset:-.3867}64%{stroke-dashoffset:-.5836}100%{stroke-dashoffset:-1}}
@keyframes plf-w-run1{0%{stroke-dashoffset:.035}36%{stroke-dashoffset:-.3822}64%{stroke-dashoffset:-.5828}100%{stroke-dashoffset:-1}}
@keyframes plf-w-run2{0%{stroke-dashoffset:.035}36%{stroke-dashoffset:-.3867}64%{stroke-dashoffset:-.5836}100%{stroke-dashoffset:-1}}
@keyframes plf-m-run0{0%{stroke-dashoffset:.042}36%{stroke-dashoffset:-.3608}64%{stroke-dashoffset:-.6064}100%{stroke-dashoffset:-1}}
@keyframes plf-m-run1{0%{stroke-dashoffset:.042}36%{stroke-dashoffset:-.3517}64%{stroke-dashoffset:-.6063}100%{stroke-dashoffset:-1}}
@keyframes plf-m-run2{0%{stroke-dashoffset:.042}36%{stroke-dashoffset:-.3608}64%{stroke-dashoffset:-.6064}100%{stroke-dashoffset:-1}}
@keyframes plf-t-run0{0%{stroke-dashoffset:.05}36%{stroke-dashoffset:-.352}64%{stroke-dashoffset:-.6335}100%{stroke-dashoffset:-1}}
@keyframes plf-t-run1{0%{stroke-dashoffset:.05}36%{stroke-dashoffset:-.357}64%{stroke-dashoffset:-.6555}100%{stroke-dashoffset:-1}}
@keyframes plf-t-run2{0%{stroke-dashoffset:.05}36%{stroke-dashoffset:-.3858}64%{stroke-dashoffset:-.6597}100%{stroke-dashoffset:-1}}

/* ---------- the draw-in (only while ap.js runs the reveal: .ap-rv; never leaves the figure hidden) ---------- */
.plf-d { stroke-dasharray: 1 1; stroke-dashoffset: 0; }
/* hidden at once when the reveal is armed; drawn in only by a real reveal (.is-now = already on screen: no draw) */
.ap-rv .plf-fig.is-in:not(.is-now) .plf-d { transition: stroke-dashoffset 1.2s var(--ap-ease-beam) var(--d, 0s), stroke .6s var(--ap-ease), stroke-width .6s var(--ap-ease); }
.ap-rv .plf-fig:not(.is-in) .plf-d { stroke-dashoffset: 1; }
.ap-rv .plf-fig.is-in:not(.is-now) :is(.plf-wedge, .plf-prism-f, .plf-prism-h, .plf-in-h, .plf-beam-h, .plf-node, .plf-pt, .plf-gate__end, .plf-ray__end, .plf-disp, .plf-chev, .plf-bloom, .plf-prism-in, .plf-lbls) { transition: opacity 1s var(--ap-ease) 1.1s, stroke-opacity .8s var(--ap-ease); }
.ap-rv .plf-fig:not(.is-in) :is(.plf-wedge, .plf-prism-f, .plf-prism-h, .plf-in-h, .plf-beam-h, .plf-node, .plf-pt, .plf-gate__end, .plf-ray__end, .plf-disp, .plf-chev, .plf-bloom, .plf-prism-in, .plf-lbls) { opacity: 0; }
.ap-reveal-all .plf-fig .plf-d { stroke-dashoffset: 0 !important; }
.ap-reveal-all .plf-fig .plf-lbls { opacity: 1 !important; }

/* ---------- the fact rail ---------- */
.plf-facts {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--ap-gutter); row-gap: 36px;
  margin: clamp(26px, 3.2vw, 46px) 0 0;
}
.plf-fact {
  position: relative; min-width: 0;
  display: flex; flex-direction: column; gap: 14px;
  padding-top: clamp(18px, 1.8vw, 24px);
  border-top: 1px solid var(--ap-line-2);
}
/* the active fact's rule: a spectral line that fills while the state is shown (static when pinned or hovered) */
.plf-fact::before {
  content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 1px;
  background: var(--ap-spectrum);
  transform-origin: 0 50%; transform: scaleX(0); opacity: 0;
  transition: opacity .5s var(--ap-ease), transform .7s var(--ap-ease);
  pointer-events: none;
}
.plf-fact.is-on::before { opacity: 1; transform: none; }
.plf-fact.is-run::before { animation: plf-prog var(--plf-dwell) linear both; }
@keyframes plf-prog { from { transform: scaleX(0) } to { transform: scaleX(1) } }
.plf-fact dt { margin: 0; }
.plf-fact__k {
  display: inline-flex; align-items: center; gap: 10px;
  min-height: 30px; margin: -6px 0 -6px; padding: 0;
  color: var(--ap-slate-2);
  font-size: var(--ap-fs-label); font-weight: 500; line-height: 1.3; letter-spacing: var(--ap-track-label);
  text-align: left;
  transition: color var(--ap-t-fast) var(--ap-ease);
}
/* the whole fact is the target (and carries the focus ring) */
.plf-fact__k::after { content: ""; position: absolute; inset: -1px -8px -10px; border-radius: 10px; }
.plf-fact__k:focus-visible { outline: none; }
.plf-fact__k:focus-visible::after { outline: 2px solid var(--ap-slate-2); outline-offset: 2px; }
.plf-fact__n { font-family: var(--ap-mono); font-size: var(--ap-fs-num); font-weight: 450; line-height: 1; letter-spacing: var(--ap-track-num); font-variant-numeric: tabular-nums; color: var(--ap-ink-3); transition: color var(--ap-t-fast) var(--ap-ease); }
.plf-fact__i { flex: none; width: 20px; height: 20px; margin: -2px -2px -2px -3px; overflow: visible; color: var(--ap-ink-3); transition: color var(--ap-t) var(--ap-ease); }
.plf-fact__i path { fill: none; stroke: currentColor; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }
.plf-fact:hover .plf-fact__k, .plf-fact.is-on .plf-fact__k { color: var(--ap-ink); }
.plf-fact.is-on .plf-fact__n { color: var(--ap-ink-2); }
.plf-fact:hover .plf-fact__i, .plf-fact.is-on .plf-fact__i { color: var(--ap-ink); }
.plf-fact__v {
  min-width: 0; margin: 0;
  font-size: clamp(1.0625rem, 1.32vw, 1.3125rem); font-weight: 450; line-height: 1.35; letter-spacing: -.014em;
  color: var(--ap-ink);
  text-wrap: pretty;
}
.plf-fact__sub { display: block; margin-top: 6px; font-size: var(--ap-fs-small); font-weight: 400; line-height: 1.4; letter-spacing: 0; color: var(--ap-ink-2); }
.plf-strats { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.plf-strats li { position: relative; padding-left: 14px; }
/* each strategy carries its ray's colour: a 2px tick, as on the strategy bands */
.plf-strats li::before { content: ""; position: absolute; left: 0; top: .32em; width: 2px; height: .8em; background: linear-gradient(var(--c1), var(--c2)); box-shadow: 0 0 8px color-mix(in srgb, var(--c1) 55%, transparent); }

/* ---------- Korean ---------- */
:lang(ko) .plf-lbl__t { letter-spacing: -.01em; }
:lang(ko) .plf-fact__v { letter-spacing: -.01em; word-break: keep-all; }

/* ---------- widths ---------- */
@media (max-width: 1199.98px) { .plf { --plf-k: 1.12; } }
@media (max-width: 1023.98px) {
  .plf-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* medium drawing (iPad portrait): the same flow on a 900-unit width, so the figure keeps its height */
@media (max-width: 1023.98px) and (min-width: 700px) {
  .plf { --plf-k: 1.25; }
  .plf-fig { aspect-ratio: 906 / 406; }
  .plf-svg--w { display: none; }
  .plf-svg--m { display: block; }
  .plf-lbl--adv { left: 1.656%; }
  .plf-lbl--inv { left: 98.344%; }
  .plf-lbl--op { top: 78.626%; }
  .plf-lbl__t { font-size: 1rem; }
}
/* phones: the tall drawing. The flow runs down; the review label sits beside the prism's upper right, on its rule */
@media (max-width: 699.98px) {
  .plf { --plf-k: 1.15; }
  .plf-stage { margin-top: 40px; }
  .plf-stage::before { top: 52%; width: 130%; height: 72%; }
  .plf-fig { aspect-ratio: 366 / 626; max-width: 440px; margin: 36px auto 44px; }   /* the side labels sit just outside the drawing */
  .plf-svg--w { display: none; }
  .plf-svg--t { display: block; }
  .plf-lbl--adv { left: 50%; top: 5.272%; transform: translate(-50%, -100%); align-items: center; text-align: center; }
  .plf-lbl--inv { left: 50%; top: 93.45%; transform: translateX(-50%); align-items: center; text-align: center; }
  .plf-lbl--op { left: 63.661%; top: 34.345%; transform: none; align-items: flex-start; text-align: left; white-space: normal; width: auto; max-width: 36%; }
  .plf-lbl__t { font-size: 1rem; }
  .plf-lbl--op .plf-lbl__t { font-size: .9375rem; line-height: 1.2; }
  .plf-lbl--op .plf-lbl__s { margin-top: 3px; font-size: .75rem; }
  .plf-facts { grid-template-columns: minmax(0, 1fr); row-gap: 30px; margin-top: 12px; }
}

/* ---------- reduced motion: fully drawn, every part lit, nothing moves ---------- */
@media (prefers-reduced-motion: reduce) {
  .plf-pulses, .plf-flash, .plf-ping { display: none; }
  .plf *, .plf *::before, .plf *::after, .plf-stage::before { transition: none !important; animation: none !important; }
  .plf-d { stroke-dashoffset: 0 !important; }
  .plf-lbls { opacity: 1 !important; }
}
.rm .plf-pulses, .rm .plf-flash, .rm .plf-ping { display: none; }
.rm .plf *, .rm .plf *::before, .rm .plf *::after { transition: none !important; animation: none !important; }
@media print {
  .plf-pulses, .plf-flash, .plf-ping { display: none; }
  .plf-d { stroke-dashoffset: 0 !important; }
  .plf .plf-g, .plf .plf-lbl, .plf-lbls { opacity: 1 !important; }
}
