/* Studio Barnes — sleek button system (shared by DS Button + hand-rolled CTAs) */
.sb-btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 30px;border-radius:999px;font-family:var(--font-sans,'Open Sans',sans-serif);font-size:13px;font-weight:600;line-height:1;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .4s cubic-bezier(.4,0,0,1),border-color .4s cubic-bezier(.4,0,0,1),transform .15s ease;}
.sb-btn::before{content:'';position:absolute;left:50%;bottom:0;width:150%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,100%);transition:transform .5s cubic-bezier(.66,0,.34,1);z-index:-1;}
.sb-btn:active{transform:scale(.97);}
.sb-btn:focus-visible{outline:2px solid var(--sb-orange,#FF4900);outline-offset:3px;}
.sb-btn--solid{background:var(--sb-orange,#FF4900);color:#000;border:1px solid var(--sb-orange,#FF4900);}
.sb-btn--solid::before{background:#0A0A0A;}
.sb-btn--solid:hover{color:#fff;border-color:#0A0A0A;}
.sb-btn--solid:hover::before{transform:translate(-50%,32%);}
.sb-btn--outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);}
.sb-btn--outline::before{background:var(--sb-orange,#FF4900);}
.sb-btn--outline:hover{color:#000;border-color:var(--sb-orange,#FF4900);}
.sb-btn--outline:hover::before{transform:translate(-50%,32%);}
.sb-btn--ghost{background:transparent;color:var(--sb-grey-300,#C9C9C9);border:1px solid transparent;}
.sb-btn--ghost:hover{color:#fff;}
.sb-btn--sm{height:38px;padding:0 22px;font-size:11px;letter-spacing:.12em;}
.sb-btn--lg{height:54px;padding:0 36px;font-size:14px;}
/* hover style tweak: default/wipe above; fade + lift + sweep + glow override */
body[data-btnhover="fade"] .sb-btn::before,body[data-btnhover="lift"] .sb-btn::before,body[data-btnhover="glow"] .sb-btn::before{display:none;}
body[data-btnhover="fade"] .sb-btn{transition:background .25s var(--ease-out,ease-out),color .25s,border-color .25s,transform .15s ease;}
body[data-btnhover="fade"] .sb-btn--solid:hover{background:#c93800;border-color:#c93800;color:#000;}
body[data-btnhover="fade"] .sb-btn--outline:hover{background:var(--sb-orange,#FF4900);color:#000;border-color:var(--sb-orange,#FF4900);}
body[data-btnhover="lift"] .sb-btn{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s,color .25s;}
body[data-btnhover="lift"] .sb-btn--solid:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(255,73,0,.35);color:#000;border-color:var(--sb-orange,#FF4900);}
body[data-btnhover="lift"] .sb-btn--outline:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.5);border-color:var(--sb-orange,#FF4900);color:#fff;}
body[data-btnhover="lift"] .sb-btn:active{transform:translateY(-1px) scale(.98);}
body[data-btnhover="sweep"] .sb-btn::before{left:0;bottom:auto;top:0;width:115%;height:100%;aspect-ratio:auto;border-radius:0;transform:translateX(-108%) skewX(-14deg);transition:transform .45s cubic-bezier(.66,0,.34,1);}
body[data-btnhover="sweep"] .sb-btn--outline:hover{color:#000;border-color:var(--sb-orange,#FF4900);}
body[data-btnhover="sweep"] .sb-btn--solid:hover{color:#fff;border-color:#0A0A0A;}
body[data-btnhover="sweep"] .sb-btn:hover::before{transform:translateX(-4%) skewX(-14deg);}
body[data-btnhover="glow"] .sb-btn{transition:box-shadow .3s var(--ease-out,ease-out),border-color .3s,color .3s,background .3s,transform .15s ease;}
body[data-btnhover="glow"] .sb-btn--outline:hover{border-color:var(--sb-orange,#FF4900);color:#fff;box-shadow:0 0 22px rgba(255,73,0,.4),inset 0 0 14px rgba(255,73,0,.12);}
body[data-btnhover="glow"] .sb-btn--solid:hover{box-shadow:0 0 26px rgba(255,73,0,.55);color:#000;}
@media (max-width:480px){.sb-btn{height:46px;padding:0 24px;font-size:12px;}.sb-btn--lg{height:50px;padding:0 28px;}}
@media (hover:none){.sb-btn::before{display:none;}.sb-btn--outline:active{background:var(--sb-orange,#FF4900);color:#000;border-color:var(--sb-orange,#FF4900);}.sb-btn--solid:active{background:#c93800;border-color:#c93800;}}
@media (prefers-reduced-motion:reduce){.sb-btn,.sb-btn::before{transition:none;}}
