/* Hand-rolled utility set covering the Tailwind classes used in this page */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}

/* layout */
.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky}
.inset-0{inset:0}.top-0{top:0}
.z-10{z-index:10}.z-50{z-index:50}
.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.block{display:block}
.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}
.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}
.justify-center{justify-content:center}.justify-between{justify-content:space-between}
.text-center{text-align:center}.text-left{text-align:left}
.shrink-0{flex-shrink:0}.flex-1{flex:1 1 0%}
.overflow-hidden{overflow:hidden}
.pointer-events-none{pointer-events:none}
.min-h-screen{min-height:100vh}
.w-full{width:100%}.w-9{width:2.25rem}.w-px{width:1px}
.h-9{height:2.25rem}.h-4{height:1rem}
.max-w-md{max-width:28rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-7xl{max-width:80rem}
.mx-auto{margin-left:auto;margin-right:auto}

/* spacing — px */
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-8{padding-left:2rem;padding-right:2rem}
.px-10{padding-left:2.5rem;padding-right:2.5rem}
.px-12{padding-left:3rem;padding-right:3rem}
.px-14{padding-left:3.5rem;padding-right:3.5rem}
/* py */
.py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-28{padding-top:7rem;padding-bottom:7rem}
.py-40{padding-top:10rem;padding-bottom:10rem}
/* p */
.p-2{padding:0.5rem}.p-4{padding:1rem}.p-7{padding:1.75rem}.p-9{padding:2.25rem}
.p-10{padding:2.5rem}.p-16{padding:4rem}
/* pb / pt / pl */
.pb-10{padding-bottom:2.5rem}.pb-28{padding-bottom:7rem}.pb-40{padding-bottom:10rem}
.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.pt-8{padding-top:2rem}.pt-20{padding-top:5rem}

/* margins */
.mb-1{margin-bottom:0.25rem}.mb-2{margin-bottom:0.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}
.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}
.mt-1{margin-top:0.25rem}.mt-2{margin-top:0.5rem}.mt-3{margin-top:0.75rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}
.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-20{margin-top:5rem}

/* gap */
.gap-2{gap:0.5rem}.gap-3{gap:0.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-9{gap:2.25rem}.gap-12{gap:3rem}

/* type */
.text-xs{font-size:0.75rem;line-height:1rem}
.text-sm{font-size:0.875rem;line-height:1.25rem}
.text-base{font-size:1rem;line-height:1.5rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-5xl{font-size:3rem;line-height:1}
.text-6xl{font-size:3.75rem;line-height:1}
.text-7xl{font-size:4.5rem;line-height:1}
.text-8xl{font-size:6rem;line-height:1}
.font-medium{font-weight:500}
.tracking-tight{letter-spacing:-0.025em}
.leading-relaxed{line-height:1.625}
.uppercase{text-transform:uppercase}
.text-white{color:#fff}.text-ink{color:#000}
.underline{text-decoration:underline}.underline-offset-4{text-underline-offset:4px}.decoration-1{text-decoration-thickness:1px}

/* bg */
.bg-background{background-color:#fff}.bg-ink{background-color:#000}.bg-soft{background-color:#F6F5F1}
.bg-black\/10{background-color:rgba(0,0,0,0.1)}

/* border */
.border{border:1px solid rgba(0,0,0,0.1)}
.border-t{border-top:1px solid rgba(0,0,0,0.1)}
.border-l{border-left:1px solid rgba(0,0,0,0.1)}
.border-black\/10{border-color:rgba(0,0,0,0.1)}
.border-l-white\/10{border-left-color:rgba(255,255,255,0.1)}
.rounded-full{border-radius:9999px}

/* grid cols */
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}

/* space-y */
.space-y-2 > * + *{margin-top:0.5rem}.space-y-6 > * + *{margin-top:1.5rem}

/* responsive — sm 640, md 768, lg 1024 */
@media (min-width:640px){
  .sm\:flex-row{flex-direction:row}
  .sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sm\:text-7xl{font-size:4.5rem;line-height:1}
  .sm\:text-lg{font-size:1.125rem;line-height:1.75rem}
}
@media (min-width:768px){
  .md\:flex{display:flex}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .md\:flex-row{flex-direction:row}
  .md\:items-end{align-items:flex-end}
  .md\:justify-between{justify-content:space-between}
  .md\:col-span-2{grid-column:span 2 / span 2}
  .md\:px-8{padding-left:2rem;padding-right:2rem}
  .md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}
  .md\:py-40{padding-top:10rem;padding-bottom:10rem}
  .md\:pb-40{padding-bottom:10rem}
  .md\:p-4{padding:1rem}
  .md\:p-9{padding:2.25rem}
  .md\:p-16{padding:4rem}
  .md\:gap-8{gap:2rem}
  .md\:text-3xl{font-size:1.875rem;line-height:2.25rem}
  .md\:text-4xl{font-size:2.25rem;line-height:2.5rem}
  .md\:text-6xl{font-size:3.75rem;line-height:1}
  .md\:text-7xl{font-size:4.5rem;line-height:1}
  .md\:text-8xl{font-size:6rem;line-height:1}
  .md\:border-l{border-left:1px solid rgba(255,255,255,0.1)}
}
@media (min-width:1024px){
  .lg\:flex{display:flex}
  .lg\:hidden{display:none}
  .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
  .lg\:col-span-2{grid-column:span 2 / span 2}
  .lg\:col-span-3{grid-column:span 3 / span 3}
  .lg\:gap-16{gap:4rem}
}

/* additional utilities used after the initial scrape */
.gap-10{gap:2.5rem}
.max-w-xl{max-width:36rem}
.rounded-\[22px\]{border-radius:22px}
.bg-black\/20{background-color:rgba(0,0,0,0.2)}
.text-xl{font-size:1.25rem;line-height:1.75rem}
@media (min-width:640px){
  .sm\:text-xl{font-size:1.25rem;line-height:1.75rem}
}
