/* ===== Urbanist global font + extra motion (Le) ===== */
:root{ --le-accent:#ff5c35; }
html, body, h1, h2, h3, h4, h5, h6, p, a, span, button, input, textarea,
select, li, div, label, .btn, .h1, .h2, .h3, .h4, .h5, .h6, [class*="title"],
[class*="text"], [class*="caption"], [class*="label"]{
  font-family:"Urbanist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
#le-progress{ position:fixed; top:0; left:0; height:3px; width:0%;
  background:linear-gradient(90deg,var(--le-accent),#ff9472);
  z-index:99999; transition:width .1s linear; pointer-events:none; }
#le-cursor-dot,#le-cursor-ring{ position:fixed; top:0; left:0; border-radius:50%;
  pointer-events:none; z-index:99998; transform:translate(-50%,-50%); mix-blend-mode:difference; }
#le-cursor-dot{ width:7px; height:7px; background:#fff; }
#le-cursor-ring{ width:34px; height:34px; border:1.5px solid #fff;
  transition:width .25s ease,height .25s ease,opacity .25s ease,background .25s ease; }
#le-cursor-ring.le-hover{ width:54px; height:54px; background:rgba(255,255,255,.12); }
@media (hover:none){ #le-cursor-dot,#le-cursor-ring{ display:none; } }
a, button, .btn{ transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease, opacity .2s ease; }
.btn:hover, button:hover{ transform:translateY(-3px); }
.btn:active, button:active{ transform:translateY(0) scale(.97); }
img, picture, figure, [class*="pic"], [class*="card"], [class*="work"] a,
[class*="case"] a, [class*="project"]{ transition:transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease, filter .45s ease; }
[class*="card"]:hover, [class*="work"] a:hover img,
[class*="case"] a:hover img, [class*="project"]:hover img{ transform:translateY(-6px) scale(1.015); }
@keyframes le-float{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-14px)} }
.le-float{ animation:le-float 6s ease-in-out infinite; }
a.le-uline{ position:relative; }
a.le-uline::after{ content:""; position:absolute; left:0; bottom:-2px; height:2px; width:0;
  background:var(--le-accent); transition:width .3s ease; }
a.le-uline:hover::after{ width:100%; }
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
  #le-cursor-dot,#le-cursor-ring{ display:none !important; }
  .le-float{ animation:none !important; }
}
