/* JOB 15 viewer add-on (mirror only) */
.flx-stack{position:fixed;z-index:4;pointer-events:none;transition:width .45s ease,left .45s ease,opacity .3s;
  background:repeating-linear-gradient(90deg,#f3efe6 0 1px,#d9d3c6 1px 2px);box-shadow:0 0 0 1px rgba(0,0,0,.18);border-radius:1px}
.flx-stack.flx-l{border-radius:2px 0 0 2px} .flx-stack.flx-r{border-radius:0 2px 2px 0}
.flx-prog{position:fixed;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.18);z-index:40;pointer-events:none}
.flx-prog i{display:block;height:100%;background:var(--fl-gold,#e2c48e);transition:width .4s ease}
.flx-prog[hidden]{display:none}
body:not(.flx-single) .flx-arrow{position:fixed !important;width:56px !important;height:120px !important;display:flex;align-items:center;justify-content:center;
  border-radius:28px;transform:none !important;margin:0 !important;transition:left .3s,top .3s,background .2s}
body:not(.flx-single) .flx-arrow:hover:not(:disabled){background:rgba(255,255,255,.14)}
.flx-nav{position:fixed;left:50%;bottom:10px;transform:translateX(-50%);z-index:45;display:flex;gap:6px;align-items:center;
  background:rgba(20,26,32,.72);backdrop-filter:blur(6px);color:#f4ecd8;border-radius:22px;padding:4px 10px;font:500 13px/1 'Work Sans',system-ui,sans-serif}
.flx-nav button{background:none;border:0;color:inherit;font:inherit;padding:8px 8px;cursor:pointer;border-radius:14px}
.flx-nav button:hover,.flx-nav button:focus-visible{background:rgba(255,255,255,.14);outline:none}
.flx-nav span{opacity:.4}
.flx-cta{position:fixed;right:18px;bottom:14px;z-index:46;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.flx-cta .flx-main{display:inline-block;background:var(--fl-gold,#e2c48e);color:#18232d;border:0;border-radius:26px;padding:13px 22px;
  font:700 15px/1 'Work Sans',system-ui,sans-serif;letter-spacing:.02em;text-decoration:none;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.flx-cta .flx-q{color:#f4ecd8;font:500 13px 'Work Sans',system-ui,sans-serif;text-decoration:underline;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.flx-panel{position:fixed;right:18px;bottom:72px;z-index:47;width:280px;background:#fff;color:#18232d;border-radius:14px;padding:18px 18px 14px;
  box-shadow:0 18px 50px rgba(0,0,0,.4);font:400 14px/1.4 'Work Sans',system-ui,sans-serif}
.flx-panel[hidden]{display:none}
.flx-panel h3{font:700 18px 'Work Sans',system-ui,sans-serif;margin:0 0 2px} .flx-panel p{margin:0 0 12px;color:#55636f;font-size:12.5px}
.flx-panel .flx-row{display:block;text-align:center;margin-top:8px;padding:12px;border-radius:10px;background:#18232d;color:#fff;text-decoration:none;font-weight:600}
.flx-panel .flx-row:hover,.flx-panel .flx-row:focus-visible{background:#2c3a46;outline:none}
.flx-close{position:absolute;right:10px;top:8px;background:none;border:0;font-size:16px;cursor:pointer;color:#55636f}
.flx-cue{position:fixed;left:50%;bottom:76px;transform:translateX(-50%);z-index:9990;display:none;background:rgba(20,26,32,.74);padding:6px 16px 4px;border-radius:18px;flex-direction:column;align-items:center;
  color:#f4ecd8;font:600 12px 'Work Sans',system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.7);pointer-events:none}
.flx-cue b{font-size:26px;line-height:.8;animation:flxb 1.6s ease-in-out infinite}
.flx-cue.on{display:flex}
@keyframes flxb{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@media (prefers-reduced-motion:reduce){.flx-cue b{animation:none}.flx-stack{transition:none}}
/* phone: one bottom bar = nav + contact */
body.flx-phone .flx-nav{left:0;right:0;transform:none;bottom:0;border-radius:0;justify-content:flex-start;padding:6px 8px calc(6px + env(safe-area-inset-bottom));height:52px;box-sizing:border-box}
body.flx-phone .flx-nav button{padding:8px 6px;font-size:12.5px}
body.flx-phone .flx-cta{right:8px;bottom:calc(7px + env(safe-area-inset-bottom));flex-direction:row;align-items:center;gap:10px}
body.flx-phone .flx-cta .flx-main{padding:11px 14px;font-size:13.5px;box-shadow:none}
body.flx-phone .flx-cta.flx-demo .flx-q{display:none}
body.flx-phone .flx-prog{bottom:52px}
body.flx-phone .flx-panel{left:8px;right:8px;width:auto;bottom:62px}
body.flx-phone.flx-demo-phone .flx-nav button[data-x="first"],body.flx-phone .flx-nav span:first-of-type{}
.flx-nav i,.flx-cta i{font-style:normal} .flx-cta .sh{display:none}
body.flx-phone .flx-nav .lg,body.flx-phone .flx-cta .lg{display:none} body.flx-phone .flx-cta .sh{display:inline}
body.flx-phone .flx-nav{gap:2px} body.flx-phone .flx-nav span{opacity:.3}
/* JOB 19 section index */
.flx-rail{position:fixed;left:14px;z-index:44;display:none;flex-direction:column;gap:2px;padding:10px 6px;background:rgba(20,26,32,.55);backdrop-filter:blur(6px);border-radius:12px;font:500 13.5px/1.25 'Work Sans',system-ui,sans-serif}
.flx-rail.on{display:flex}
.flx-rh{font:600 10.5px 'Work Sans',system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:rgba(244,236,216,.6);padding:4px 10px 8px}
.flx-rail a,.flx-drawer a{display:block;color:rgba(244,236,216,.82);text-decoration:none;padding:7px 10px;border-radius:8px;border-left:3px solid transparent}
.flx-rail a:hover,.flx-rail a:focus-visible,.flx-drawer a:hover,.flx-drawer a:focus-visible{background:rgba(255,255,255,.1);color:#fff;outline:none}
.flx-rail a.on,.flx-drawer a.on{color:#fff;font-weight:700;border-left-color:var(--fl-gold,#e2c48e);background:rgba(255,255,255,.08)}
.flx-stab{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:45;writing-mode:vertical-rl;rotate:180deg;background:rgba(20,26,32,.78);color:#f4ecd8;border:0;
  border-radius:0 10px 10px 0;padding:14px 8px;font:600 12px 'Work Sans',system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.flx-stab[hidden]{display:none}
.flx-drawer{position:fixed;left:0;top:0;bottom:0;width:250px;max-width:80vw;z-index:9995;background:rgba(20,26,32,.96);padding:56px 10px 20px;overflow:auto;
  box-shadow:12px 0 40px rgba(0,0,0,.45);font:500 15px/1.3 'Work Sans',system-ui,sans-serif}
.flx-drawer[hidden]{display:none}
.flx-drawer .flx-close{color:#f4ecd8;top:14px;right:14px;font-size:18px}
body.flx-phone .flx-stab{top:auto;bottom:120px;transform:none}
body.flx-railon:not(.flx-single) .flx-arrow{width:48px !important}
.flx-rail{left:10px}
