/* ===== TSUS UI Polish (additive, non-structural) ===== */
html { scroll-behavior: smooth; }

/* Scroll progress bar */
#uiScrollProgress{
  position:fixed; top:0; left:0; height:3px; width:0%;
  background:linear-gradient(90deg,#1A2A5E,#30428E,#ff7849);
  z-index:100000; pointer-events:none; transition:width .08s linear;
}

/* Scroll reveal */
.ui-reveal{ opacity:0; transform:translateY(26px);
  transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);
  will-change:opacity, transform; }
.ui-reveal.ui-in{ opacity:1; transform:none; }

/* Trailing cursor ring (desktop / mouse only) */
@media (hover:hover) and (pointer:fine){
  .ui-cursor-ring{
    position:fixed; top:0; left:0; width:30px; height:30px; border-radius:50%;
    border:2px solid rgba(26,42,94,.40); background:rgba(26,42,94,.04);
    pointer-events:none; z-index:99998; transform:translate(-50%,-50%);
    transition:width .22s ease, height .22s ease, border-color .22s ease, background .22s ease;
    mix-blend-mode:normal;
  }
  .ui-cursor-ring.ui-hover{
    width:52px; height:52px; border-color:#ff7849; background:rgba(255,120,73,.09);
  }
}

/* Gentle hover lift for common cards/buttons (no layout change) */
.btn{ transition:transform .2s ease, box-shadow .2s ease; }
.btn:hover{ transform:translateY(-2px); }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .ui-reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
  #uiScrollProgress{ display:none; }
}
