:root{--ease:cubic-bezier(0.22,1,0.36,1)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#0B0C0E;color:#F2F4F7;font-family:'Geist',system-ui,sans-serif;font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;text-wrap:pretty}
body[data-dys="1"]{font-family:'Lexend',system-ui,sans-serif}
h1,h2,h3,h4,p,ul,figure{margin:0;padding:0}
ul{list-style:none}
img{display:block;max-width:100%}
a{color:#F2F4F7;text-decoration:none}
a:hover{color:#C9CED6}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:#C9CED6;color:#0B0C0E}
:focus-visible{outline:2px solid #DCE1E8;outline-offset:3px}
::placeholder{color:#848B95}
h1,h2{font-family:'Bricolage Grotesque','Geist',system-ui,sans-serif;font-optical-sizing:auto}
body[data-dys="1"] h1,body[data-dys="1"] h2{font-family:'Lexend',system-ui,sans-serif}
[hidden]{display:none !important}

@keyframes wheelspin{to{transform:rotate(360deg)}}
@keyframes dashx{0%{transform:translateX(4px);opacity:0}25%{opacity:1}100%{transform:translateX(-12px);opacity:0}}
@keyframes suds{0%{transform:translate(0,3px) scale(.6);opacity:0}30%{opacity:1}100%{transform:translate(-3px,-9px) scale(1.2);opacity:0}}
@keyframes foam{0%{transform:translateX(0)}100%{transform:translateX(80px)}}
@keyframes bar{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
@keyframes kb{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.16) translate3d(0,-1.2%,0)}}
@keyframes grainshift{0%{transform:translate3d(0,0,0)}25%{transform:translate3d(-2%,1%,0)}50%{transform:translate3d(1%,-2%,0)}75%{transform:translate3d(-1%,-1%,0)}100%{transform:translate3d(0,0,0)}}
@keyframes fadeup{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* header layout: desktop nav from 769px up, hamburger below */
.nav-root{display:flex;align-items:center;flex:0 1 auto;min-width:0}
.desk-links{gap:11px;font-size:18px}
.only-mob{display:flex}
.cta-header{display:none}
.cta-long{display:none}
.cta-short{display:inline}
.lockup-sub{display:block}
@media (max-width:768px){
  .desk-links{display:none !important}
}
@media (min-width:769px){
  .only-mob{display:none !important}
  .cta-header{display:flex}
  .lockup-sub{display:none}
}
@media (min-width:900px){ .desk-links{gap:15px} }
@media (min-width:1024px){
  .desk-links{gap:24px}
  .cta-long{display:inline}
  .cta-short{display:none}
  .lockup-sub{display:block}
}

/* home hero: photo band under the copy on phones and tablets, side-lit on desktop */
.hero-home{min-height:auto;padding-bottom:clamp(90px,18vw,160px);margin-bottom:-70px}
.hero-home-bg{top:0;height:auto}
.hero-home-scrim{background:linear-gradient(180deg,rgba(9,10,12,.92) 0%,rgba(9,10,12,.8) 40%,rgba(9,10,12,.5) 66%,rgba(9,10,12,.18) 86%,rgba(9,10,12,.55) 100%)}
.hero-grid{grid-template-columns:minmax(0,1fr)}
.hero-copy{max-width:620px}
.hero-aside{justify-self:start}
.split{grid-template-columns:minmax(0,1fr)}
@media (min-width:940px){ .split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} }
@media (min-width:1040px){
  .hero-home{min-height:min(80vh,780px);padding-bottom:260px;margin-bottom:-210px}
  .hero-home-bg{top:0;height:auto}
  .hero-home-scrim{background:linear-gradient(95deg,#0B0C0E 0%,#0B0C0E 40%,rgba(9,10,12,.9) 52%,rgba(9,10,12,.35) 68%,rgba(9,10,12,0) 84%)}
  .hero-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}
  .hero-copy{max-width:900px}
  .hero-aside{justify-self:end}
}

/* inner page heroes */
.inner-hero{min-height:min(86vh,760px)}
.inner-scrim{background:linear-gradient(180deg,rgba(9,10,12,.72) 0%,rgba(9,10,12,.62) 58%,rgba(9,10,12,.3) 80%,rgba(9,10,12,.06) 92%,rgba(9,10,12,.35) 100%)}
@media (min-width:1040px){
  .inner-hero{min-height:min(92vh,940px)}
  .inner-scrim{background:linear-gradient(100deg,rgba(9,10,12,.86) 0%,rgba(9,10,12,.7) 40%,rgba(9,10,12,.5) 62%,rgba(9,10,12,.14) 80%,rgba(9,10,12,0) 96%),linear-gradient(180deg,rgba(9,10,12,.16),rgba(9,10,12,0) 40%,rgba(9,10,12,.45))}
}

@media (hover:none),(pointer:coarse){
  #cursor-dot,#cursor-ring,.cursor-bubble{display:none !important}
}
@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important}}

@keyframes kbwide{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.05) translate3d(0,-.5%,0)}}


@media (max-width:768px){
  .site-header{padding:10px 12px !important;gap:2px !important;flex-wrap:nowrap !important}
  .brand{gap:9px !important;flex:0 1 auto !important;min-width:0 !important;overflow:hidden !important}
  .brand-mark{width:38px !important;height:16px !important}
  .brand-name{font-size:15px !important;white-space:nowrap}
  .lockup-sub{display:block !important;font-size:8.5px !important;letter-spacing:.14em !important;white-space:nowrap}
  .cta-header{display:none !important}
  .only-mob{display:flex !important}
}

@media (min-width:769px) and (max-width:1179px){.brand-mark{width:48px !important;height:20px !important}.brand-name{font-size:18px !important}.lockup-sub{display:none !important}.desk-links{gap:13px !important}}.desk-links{min-width:0;overflow:hidden}
