/* Upline Pro — Lux layer (v-92). Navy glass + gold line art, one icon language site-wide. See assets/lux.js. */
:root{--lx-navy-1:#1E2F72;--lx-navy-2:#0B1540;--lx-navy-3:#060C24;--lx-gold-1:#FBE7B4;--lx-gold-2:#E8B96B;--lx-gold-3:#B98A35;--lx-ease:cubic-bezier(.2,.7,.2,1)}

/* tile: a big standalone icon */
.lx-host{display:block!important;background:none!important;box-shadow:none!important;border:0!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;padding:0!important;line-height:0!important;border-radius:0!important}
.lx-tile{--lx-size:64px;width:var(--lx-size);height:var(--lx-size);border-radius:calc(var(--lx-size) * .3);display:inline-grid;place-items:center;position:relative;flex:none;
  background:radial-gradient(120% 100% at 30% 0%,var(--lx-navy-1) 0%,var(--lx-navy-2) 55%,var(--lx-navy-3) 100%);
  box-shadow:0 14px 30px -14px rgba(6,12,36,.6),inset 0 1px 0 rgba(255,255,255,.10),inset 0 0 0 1px rgba(243,212,138,.28);
  transition:transform .35s var(--lx-ease),box-shadow .35s var(--lx-ease)}
.lx-tile::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(160deg,rgba(255,255,255,.14),transparent 42%)}
.lx-tile .lx-g{width:46%;height:46%;fill:none;stroke:url(#lx-gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(232,185,107,.35))}
.lx-tile .lx-orb{border-radius:50%;box-shadow:0 0 18px rgba(90,130,255,.55)}
a:hover .lx-tile,[class*=card]:hover .lx-tile,.lx-host:hover .lx-tile{box-shadow:0 18px 34px -14px rgba(6,12,36,.7),inset 0 1px 0 rgba(255,255,255,.12),inset 0 0 0 1px rgba(243,212,138,.55)}

/* inline glyph: an icon inside a line of text, drawn in the text colour */
.lx-i{display:inline-block;width:1.05em;height:1.05em;vertical-align:-.16em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.lx-host-inline{display:inline-flex;align-items:center;justify-content:center}
.lx-host-inline>.lx-i{width:1.15em;height:1.15em}
img.lx-orb{display:inline-block;border-radius:50%;vertical-align:-.2em;object-fit:cover}
.lx-dot{display:inline-block;width:.72em;height:.72em;border-radius:50%;vertical-align:-.04em;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.65),transparent 45%),var(--lx-dot);box-shadow:0 0 0 2px color-mix(in srgb,var(--lx-dot) 22%,transparent)}
/* dark sections: inline glyphs pick up gold */
.lx-on-dark .lx-i{stroke:var(--lx-gold-2)}

/* reveal: cards and headings ease in once, the first time they come into view */
.lx .lx-rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--lx-ease) var(--lx-d,0ms),transform .7s var(--lx-ease) var(--lx-d,0ms)}
.lx .lx-rv.lx-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.lx .lx-rv{opacity:1;transform:none;transition:none}.lx-tile{transition:none}}
@media print{.lx .lx-rv{opacity:1;transform:none}}

/* hero mark: one big tile with a soft gold halo */
.lx-halo{text-align:center}
.lx-halo .lx-tile{border-radius:50%;box-shadow:0 0 0 10px rgba(232,185,107,.08),0 0 0 22px rgba(30,47,114,.05),0 24px 50px -18px rgba(6,12,36,.55),inset 0 1px 0 rgba(255,255,255,.12),inset 0 0 0 1px rgba(243,212,138,.4);animation:lx-breathe 4.5s ease-in-out infinite}
@keyframes lx-breathe{50%{box-shadow:0 0 0 14px rgba(232,185,107,.10),0 0 0 30px rgba(30,47,114,.04),0 26px 56px -18px rgba(6,12,36,.6),inset 0 1px 0 rgba(255,255,255,.12),inset 0 0 0 1px rgba(243,212,138,.55)}}
@media (prefers-reduced-motion:reduce){.lx-halo .lx-tile{animation:none}}
