/* Public site chrome (home, guides, legal): header, custom cursor, smooth scroll. Prefix sh- / cur-. */
:root{--site-w:1400px;--site-pad:32px}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:clip}

/* ---------- header ---------- */
.sh{position:sticky;top:0;z-index:50;background:#0b0b0f;transition:background .35s,transform .45s cubic-bezier(.2,.8,.2,1);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.sh-in{max-width:var(--site-w);margin:0 auto;padding:16px var(--site-pad);display:flex;align-items:center;justify-content:space-between;gap:20px;
  border:1px solid transparent;border-radius:0;transition:padding .35s,background .35s,border-color .35s,border-radius .35s,box-shadow .35s,margin .35s}
.sh.is-scrolled{background:transparent;pointer-events:none}
.sh.is-scrolled .sh-in{pointer-events:auto;margin:10px auto 0;max-width:calc(var(--site-w) - 2 * var(--site-pad) + 36px);padding:9px 10px 9px 22px;border-radius:999px;
  background:rgba(14,14,20,.72);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-color:rgba(255,255,255,.1);box-shadow:0 18px 50px rgba(0,0,0,.35)}
.sh.is-hidden{transform:translateY(-110%)}
.sh-logo{display:inline-flex;align-items:center;flex:none}
.sh-logo img,.sh-logo-img{display:block;height:34px;width:auto;max-width:200px;object-fit:contain}
.sh.is-scrolled .sh-logo img{height:30px}

/* menu: gliding glass pill + rolling text */
.sh-menu{position:relative;display:flex;align-items:center;gap:2px;padding:4px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.sh-pill{position:absolute;top:4px;left:0;height:calc(100% - 8px);width:0;border-radius:999px;opacity:0;
  background:linear-gradient(135deg,rgba(255,90,31,.22),rgba(255,154,82,.12));border:1px solid rgba(255,154,82,.35);box-shadow:0 0 24px rgba(255,90,31,.25) inset;
  transition:transform .45s cubic-bezier(.2,.9,.25,1),width .45s cubic-bezier(.2,.9,.25,1),opacity .25s}
.sh-menu.has-pill .sh-pill{opacity:1}
.sh-link{position:relative;z-index:1;display:block;padding:9px 16px;font-size:14px;font-weight:500;color:#c3c1cc!important;text-decoration:none!important;border-radius:999px}
.sh-roll{display:block;overflow:hidden;height:1.25em;line-height:1.25em}
.sh-roll>span{display:block;transition:transform .45s cubic-bezier(.2,.9,.25,1)}
.sh-roll>span::after{content:attr(data-t);display:block;color:#fff}
.sh-link:hover .sh-roll>span,.sh-link:focus-visible .sh-roll>span{transform:translateY(-1.25em)}
.sh-link.is-active{color:#fff!important}
.sh-link.is-active::after{content:"";position:absolute;left:50%;bottom:3px;width:5px;height:5px;margin-left:-2.5px;background:#ff5a1f;transform:rotate(45deg);border-radius:1px;box-shadow:0 0 10px #ff5a1f}

/* CTA: orange circle that floods the button on hover */
.sh-cta-wrap{display:flex;align-items:center;gap:8px;flex:none}
.sh-login{padding:9px 14px;font-size:14px;font-weight:500;color:#c3c1cc!important;text-decoration:none!important;border-radius:999px;transition:color .2s,background .2s}
.sh-login:hover{color:#fff!important;background:rgba(255,255,255,.06)}
.sh-cta{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 5px 0 20px;border-radius:999px;background:#fff;color:#0b0b0f!important;font-weight:700;font-size:14px;text-decoration:none!important;
  box-shadow:0 10px 30px rgba(255,90,31,.25);transition:color .35s,box-shadow .35s}
.sh-cta::before{content:"";position:absolute;z-index:-1;right:5px;top:50%;width:34px;height:34px;margin-top:-17px;border-radius:50%;background:#ff5a1f;transition:transform .55s cubic-bezier(.2,.9,.25,1)}
.sh-cta-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff}
.sh-cta-ico svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s cubic-bezier(.2,.9,.25,1)}
.sh-cta:hover{color:#fff!important;box-shadow:0 14px 38px rgba(255,90,31,.45)}
.sh-cta:hover::before{transform:scale(9)}
.sh-cta:hover .sh-cta-ico svg{transform:rotate(-45deg)}

/* burger + mobile panel */
.sh-burger{display:none;position:relative;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);cursor:pointer;padding:0}
.sh-burger span{position:absolute;left:13px;right:13px;height:2px;background:#fff;border-radius:2px;transition:transform .35s,top .35s}
.sh-burger span:first-child{top:17px}.sh-burger span:last-child{top:25px}
.sh.is-open .sh-burger span:first-child{top:21px;transform:rotate(45deg)}
.sh.is-open .sh-burger span:last-child{top:21px;transform:rotate(-45deg)}
.sh-panel{position:fixed;inset:0;z-index:-1;padding:96px 24px 32px;background:radial-gradient(circle at 85% 0%,rgba(255,90,31,.28),transparent 55%),#0b0b0f;display:flex;flex-direction:column;justify-content:space-between;pointer-events:auto}
.sh-panel[hidden]{display:none}
.sh-panel nav{display:flex;flex-direction:column}
.sh-panel nav a{display:flex;align-items:baseline;gap:14px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08);color:#f4f1ec!important;text-decoration:none!important;
  font-family:"Instrument Serif",Georgia,serif;font-size:40px;line-height:1.1;opacity:0;transform:translateY(18px);transition:opacity .45s,transform .45s cubic-bezier(.2,.9,.25,1)}
.sh-panel nav a small{font-family:system-ui,sans-serif;font-size:12px;color:#ff9a52;letter-spacing:.1em}
.sh.is-open .sh-panel nav a{opacity:1;transform:none}
.sh.is-open .sh-panel nav a:nth-child(2){transition-delay:.05s}.sh.is-open .sh-panel nav a:nth-child(3){transition-delay:.1s}
.sh.is-open .sh-panel nav a:nth-child(4){transition-delay:.15s}.sh.is-open .sh-panel nav a:nth-child(5){transition-delay:.2s}.sh.is-open .sh-panel nav a:nth-child(6){transition-delay:.25s}
.sh-panel-cta{display:flex;gap:10px;align-items:center;justify-content:space-between}
.sh-panel-cta .sh-cta{height:50px}

@media (max-width:1020px){
  .sh-menu,.sh-cta-wrap>.sh-login{display:none}
  .sh-burger{display:block}
}
@media (max-width:560px){
  :root{--site-pad:16px}
  .sh-in{padding:12px var(--site-pad)}
  .sh.is-scrolled .sh-in{margin:8px 10px 0;padding:7px 7px 7px 16px}
  .sh-cta-wrap>.sh-cta{display:none}
  .sh-logo img,.sh-logo-img{height:30px}
}

/* ---------- custom cursor (fine pointers only, set up by site.js) ---------- */
.cur{display:none}
html.has-cur .cur{display:block}
html.has-cur,html.has-cur body,html.has-cur a,html.has-cur button,html.has-cur summary,html.has-cur label{cursor:none}
.cur-dot,.cur-ring{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;border-radius:50%;will-change:transform}
.cur-dot{width:8px;height:8px;margin:-4px 0 0 -4px;background:#ff5a1f;transition:width .25s,height .25s,margin .25s,opacity .25s}
.cur-ring{width:38px;height:38px;margin:-19px 0 0 -19px;border:1.5px solid rgba(255,90,31,.7);
  transition:width .35s cubic-bezier(.2,.9,.25,1),height .35s cubic-bezier(.2,.9,.25,1),margin .35s cubic-bezier(.2,.9,.25,1),background .35s,border-color .35s,opacity .3s}
html.cur-hover .cur-ring{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(255,90,31,.1);border-color:rgba(255,90,31,.9)}
html.cur-hover .cur-dot{width:4px;height:4px;margin:-2px 0 0 -2px}
html.cur-down .cur-ring{width:30px;height:30px;margin:-15px 0 0 -15px}
html.cur-text .cur-ring{opacity:0}
html.cur-out .cur{opacity:0}
.cur{transition:opacity .3s}

@media (prefers-reduced-motion:reduce){
  .sh,.sh-in,.sh-pill,.sh-roll>span,.sh-cta::before,.sh-cta-ico svg,.sh-panel nav a{transition:none}
}
