
/* ===== Button refine v3 (final override) ===== */
.btn,.btn-solid,.btn-ghost,.btn-line{
  position:relative;
  font-family:'Ubuntu',system-ui,sans-serif!important;
  font-size:.92rem!important;font-weight:500!important;line-height:1!important;
  letter-spacing:-.005em!important;text-transform:none!important;
  padding:.78rem 1.3rem!important;border-radius:9px!important;gap:.5rem;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  box-shadow:none!important;outline:0;transform:none!important;
  background-repeat:no-repeat!important;
  transition:background-size .38s cubic-bezier(.4,0,.2,1),color .28s ease,border-color .28s ease!important;
}
.btn::before{display:none!important}
/* invisible hit expander: 8px around every button, no visual change */
.btn::after{content:""!important;display:block!important;position:absolute;inset:-8px;background:none!important;border:0!important;pointer-events:auto}
.btn:hover,.btn:active,.btn:focus{transform:none!important;box-shadow:none!important}

/* primary: two layers. ink fill (always on), blue wipe on hover */
.btn-solid{
  background-color:var(--panel)!important;
  border:1px solid var(--ink)!important;color:var(--paper)!important;
  background-image:linear-gradient(var(--blue),var(--blue)),linear-gradient(var(--ink),var(--ink))!important;
  background-size:0% 100%,100% 100%!important;background-position:0 0,0 0!important;
}
.btn-solid:hover{background-size:100% 100%,100% 100%!important;border-color:var(--blue)!important;color:#fff!important}

/* secondary: ink wipes in, border follows, text inverts */
.btn-ghost,.btn-line{
  background-color:var(--panel)!important;border:1px solid var(--line)!important;color:var(--ink)!important;
  background-image:none!important;transition:border-color .22s ease,color .22s ease!important;
}
.btn-ghost:hover,.btn-line:hover{border-color:var(--mute)!important;color:var(--ink)!important}


.btn.small{padding:.6rem 1rem!important;font-size:.85rem!important}
.cta-row{gap:.6rem!important}
.cta-row .btn,.hero .cta-row .btn{font-size:.92rem!important;padding:.78rem 1.3rem!important;min-width:0!important}
.btn[disabled]{opacity:.45!important;background-image:none!important}
.btn:focus-visible{outline:2px solid var(--blue)!important;outline-offset:3px}

/* back arrow: plain circle, no wipe, border only */
.back-link.btn{width:42px!important;height:42px!important;padding:0!important;border-radius:50%!important;
  background-image:none!important;background-color:var(--panel)!important;transition:border-color .2s ease!important}
.back-link.btn svg{width:16px!important;height:16px!important;display:block;overflow:visible}
.back-link.btn svg path{d:path("M13 8H3.5M7.5 4 3.5 8l4 4");stroke-width:1.6!important}
.back-link.btn:hover{color:var(--ink)!important;border-color:var(--mute)!important;background-size:0 0!important}

/* case study thumbnails: no outline, no movement on hover */
.card:hover .frame,.card .frame{transform:none!important;box-shadow:0 8px 26px rgba(20,19,16,.06)!important}
.card:hover .frame::after{box-shadow:inset 0 0 52px 14px rgba(247,246,242,.6)!important}
.card:hover .frame img.still,.card:hover .frame img.still[data-plx]{transform:none!important;filter:none!important}
.card:hover .wtag{border-color:var(--line)!important;color:var(--ink)!important}
.card:hover .idx{transform:none!important}
.card,.card:hover{transform:none!important}
.case-x,.case-x:hover{transform:none!important;border-color:var(--line)!important}
.tier:hover,.door:hover,.svc:hover,.role-card:hover,.wi:hover{transform:none!important}

.card:hover .frame{border-color:var(--line)!important}
.work-list .wi,.work-list .wi:hover,.svc-work .wi:hover{transform:none!important;border-color:var(--line)!important;box-shadow:none!important}
.work-list .wi:hover .vidframe,.wi:hover .vidframe,.vidframe{transform:none!important;border-color:var(--line)!important}
.wi:hover img,.wi:hover .cap,html:not([data-theme="light"]) .wi:hover .cap{transform:none!important}
.pj-eyebrow{display:none!important}

/* remove floating to-top button */
.to-top{display:none!important}
