
/* Tailwind CDN removed. This file provides only the utilities actually used by this site. */
*, ::before, ::after { box-sizing: border-box; border-width: 0; border-style: solid; border-color: currentColor; }
html { line-height: 1.5; -webkit-text-size-adjust: 100%; }
body { margin: 0; line-height: inherit; }
button, input, optgroup, select, textarea { font: inherit; margin: 0; padding: 0; line-height: inherit; color: inherit; }
img, video { max-width: 100%; height: auto; }

/* --- Added preflight bits to match Tailwind base behavior more closely --- */
html { font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji"; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
a { color: inherit; text-decoration: inherit; }
button { background-color: transparent; background-image: none; }
select { background-color: transparent; }
ol, ul, menu { list-style: none; margin: 0; padding: 0; }
img, svg, video, canvas, audio, iframe, embed, object { display: block; vertical-align: middle; }

/* Reset default margins like Tailwind preflight (critical for matching original spacing) */
blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre { margin: 0; }
fieldset { margin: 0; padding: 0; }
legend { padding: 0; }
/* Buttons/links */
button, [role="button"] { cursor: pointer; }

@keyframes tw-bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,0.2,1)}}
.animate-bounce{animation:tw-bounce 1s infinite}

@keyframes tw-ping{75%,100%{transform:scale(2);opacity:0}}
.animate-ping{animation:tw-ping 1s cubic-bezier(0,0,0.2,1) infinite}

/* Utilities extracted from site HTML */
.\!mb-0{margin-bottom:0rem !important;}
.\!mb-4{margin-bottom:1rem !important;}
.\!mb-6{margin-bottom:1.5rem !important;}
.\!mt-0{margin-top:0rem !important;}
.\!pt-20{padding-top:5rem !important;}
.\!text-xl{font-size:1.25rem !important;line-height:1.75rem !important;}
.-right-3{right:-0.75rem;}
.-top-3{top:-0.75rem;}
.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x,0),var(--tw-translate-y,0)) rotate(var(--tw-rotate,0)) scaleX(var(--tw-scale-x,1)) scaleY(var(--tw-scale-y,1));}
.-translate-y-\[80\%\]{--tw-translate-y:-80%;transform:translate(var(--tw-translate-x,0),var(--tw-translate-y,0)) rotate(var(--tw-rotate,0)) scaleX(var(--tw-scale-x,1)) scaleY(var(--tw-scale-y,1));}
.absolute{position:absolute;}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
.aspect-video{aspect-ratio:16 / 9;}
.backdrop-blur-md{backdrop-filter:blur(12px);}
.backdrop-blur-sm{backdrop-filter:blur(4px);}
.bg-\[\#111111\]{background-color:#111111;}
.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));}
.bg-black\/20{background-color:rgb(0 0 0 / 0.2);}
.bg-black\/30{background-color:rgb(0 0 0 / 0.3);}
.bg-black\/40{background-color:rgb(0 0 0 / 0.4);}
.bg-black\/50{background-color:rgb(0 0 0 / 0.5);}
.bg-black\/70{background-color:rgb(0 0 0 / 0.7);}
.bg-black\/80{background-color:rgb(0 0 0 / 0.8);}
.bg-black\/90{background-color:rgb(0 0 0 / 0.9);}
.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops));}
.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39 / var(--tw-bg-opacity));}
.bg-green-400{background-color:#4ade80;}
.bg-green-500{background-color:#22c55e;}
.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));}
.bg-white\/10{background-color:rgb(255 255 255 / 0.1);}
.bg-white\/5{background-color:rgb(255 255 255 / 0.05);}
.block{display:block;}
.border{border-width:1px;}
.border-b{border-bottom-width:1px;}
.border-gray-800{border-color:#1f2937;}
.border-l{border-left-width:1px;}
.border-l-2{border-left-width:2px;}
.border-t{border-top-width:1px;}
.border-white\/10{border-color:rgb(255 255 255 / 0.1);}
.border-white\/20{border-color:rgb(255 255 255 / 0.2);}
.border-white\/30{border-color:rgb(255 255 255 / 0.3);}
.border-white\/5{border-color:rgb(255 255 255 / 0.05);}
.bottom-0{bottom:0;}
.bottom-28{bottom:7rem;}
.bottom-48{bottom:12rem;}
.bottom-6{bottom:1.5rem;}
.col-span-1{grid-column:span 1 / span 1;}
.col-span-2{grid-column:span 2 / span 2;}
.cursor-pointer{cursor:pointer;}
.decoration-white\/30{text-decoration-color:rgb(255 255 255 / 0.3);}
.duration-200{transition-duration:200ms;}
.duration-300{transition-duration:300ms;}
.duration-500{transition-duration:500ms;}
.duration-700{transition-duration:700ms;}
.ease-\[cubic-bezier\(0\.23\,1\,0\.32\,1\)\]{transition-timing-function:cubic-bezier(0.23,1,0.32,1);}
.ease-out{transition-timing-function:cubic-bezier(0,0,0.2,1);}
.fill-current{fill:currentColor;}
.fixed{position:fixed;}
.flex{display:flex;}
.flex-col{flex-direction:column;}
.flex-grow{flex-grow:1;}
.flex-shrink-0{flex-shrink:0;}
.flex-wrap{flex-wrap:wrap;}
.focus\:border-white\/50:focus{border-color:rgb(255 255 255 / 0.5);}
.font-bold{font-weight:700;}
.font-light{font-weight:300;}
.font-medium{font-weight:500;}
.font-semibold{font-weight:600;}
.from-black\/60{--tw-gradient-from:rgb(0 0 0 / 0.6);--tw-gradient-to:rgb(0 0 0 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);}
.gap-2{gap:0.5rem;}
.gap-3{gap:0.75rem;}
.gap-4{gap:1rem;}
.gap-6{gap:1.5rem;}
.gap-8{gap:2rem;}
.gap-\[0\.3rem\]{gap:0.3rem;}
.grid{display:grid;}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid-flow-row-dense{grid-auto-flow:row dense;}
.h-0{height:0rem;}
.h-10{height:2.5rem;}
.h-12{height:3rem;}
.h-3{height:0.75rem;}
.h-4{height:1rem;}
.h-5{height:1.25rem;}
.h-6{height:1.5rem;}
.h-7{height:1.75rem;}
.h-72{height:18rem;}
.h-8{height:2rem;}
.h-\[60vh\]{height:60vh;}
.h-full{height:100%;}
.hidden{display:none;}
.hover\:bg-black\/60:hover{background-color:rgb(0 0 0 / 0.6);}
.hover\:bg-gray-200:hover{background-color:#e5e7eb;}
.hover\:bg-white:hover{background-color:#ffffff;}
.hover\:bg-white\/10:hover{background-color:rgb(255 255 255 / 0.1);}
.hover\:bg-white\/20:hover{background-color:rgb(255 255 255 / 0.2);}
.hover\:border-white\/20:hover{border-color:rgb(255 255 255 / 0.2);}
.hover\:border-white\/40:hover{border-color:rgb(255 255 255 / 0.4);}
.hover\:opacity-70:hover{opacity:0.7;}
.hover\:opacity-80:hover{opacity:0.8;}
.hover\:pr-8:hover{padding-right:2rem;}
.hover\:text-black:hover{color:#000000;}
.hover\:text-white:hover{color:#ffffff;}
.hover\:underline:hover{text-decoration:underline;}
.inline-block{display:inline-block;}
.inline-flex{display:inline-flex;}
.inset-0{top:0;right:0;bottom:0;left:0;}
.inset-y-0{top:0;bottom:0;}
.italic{font-style:italic;}
.items-center{align-items:center;}
.items-end{align-items:flex-end;}
.items-start{align-items:flex-start;}
.justify-between{justify-content:space-between;}
.justify-center{justify-content:center;}
.justify-end{justify-content:flex-end;}
.left-0{left:0;}
.left-4{left:1rem;}
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.max-h-\[90vh\]{max-height:90vh;}
.max-w-\[90vw\]{max-width:90vw;}
.mb-10{margin-bottom:2.5rem;}
.mb-12{margin-bottom:3rem;}
.mb-16{margin-bottom:4rem;}
.mb-2{margin-bottom:0.5rem;}
.mb-20{margin-bottom:5rem;}
.mb-3{margin-bottom:0.75rem;}
.mb-4{margin-bottom:1rem;}
.mb-6{margin-bottom:1.5rem;}
.mb-8{margin-bottom:2rem;}
.min-h-24{min-height:6rem;}
.min-h-\[40vh\]{min-height:40vh;}
.min-h-\[70vh\]{min-height:70vh;}
.min-h-screen{min-height:100vh;}
.ml-2{margin-left:0.5rem;}
.ml-3{margin-left:0.75rem;}
.mr-1{margin-right:0.25rem;}
.mr-2{margin-right:0.5rem;}
.mt-1{margin-top:0.25rem;}
.mt-10{margin-top:2.5rem;}
.mt-2{margin-top:0.5rem;}
.mt-20{margin-top:5rem;}
.mt-24{margin-top:6rem;}
.mt-4{margin-top:1rem;}
.mt-6{margin-top:1.5rem;}
.mt-8{margin-top:2rem;}
.mx-auto{margin-left:auto;margin-right:auto;}
.my-12{margin-top:3rem;margin-bottom:3rem;}
.my-16{margin-top:4rem;margin-bottom:4rem;}
.my-6{margin-top:1.5rem;margin-bottom:1.5rem;}
.object-cover{object-fit:cover;}
.opacity-0{opacity:0.0;}
.opacity-100{opacity:1.0;}
.opacity-40{opacity:0.4;}
.opacity-75{opacity:0.75;}
.overflow-hidden{overflow:hidden;}
.p-1{padding:0.25rem;}
.p-12{padding:3rem;}
.p-2{padding:0.5rem;}
.p-3{padding:0.75rem;}
.p-4{padding:1rem;}
.p-6{padding:1.5rem;}
.p-8{padding:2rem;}
.pb-0\.5{padding-bottom:0.125rem;}
.pb-12{padding-bottom:3rem;}
.pl-4{padding-left:1rem;}
.pl-6{padding-left:1.5rem;}
.pr-6{padding-right:1.5rem;}
.pt-24{padding-top:6rem;}
.pt-4{padding-top:1rem;}
.px-12{padding-left:3rem;padding-right:3rem;}
.px-4{padding-left:1rem;padding-right:1rem;}
.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;}
.py-1{padding-top:0.25rem;padding-bottom:0.25rem;}
.py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem;}
.py-12{padding-top:3rem;padding-bottom:3rem;}
.py-16{padding-top:4rem;padding-bottom:4rem;}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem;}
.py-24{padding-top:6rem;padding-bottom:6rem;}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem;}
.py-4{padding-top:1rem;padding-bottom:1rem;}
.relative{position:relative;}
.right-0{right:0;}
.right-4{right:1rem;}
.right-6{right:1.5rem;}
.rounded-full{border-radius:9999px;}
.rounded-lg{border-radius:0.5rem;}
.rounded-md{border-radius:0.375rem;}
.rounded-xl{border-radius:0.75rem;}
.scale-95{--tw-scale-x:0.95;--tw-scale-y:0.95;transform:translate(var(--tw-translate-x,0),var(--tw-translate-y,0)) rotate(var(--tw-rotate,0)) scaleX(var(--tw-scale-x,1)) scaleY(var(--tw-scale-y,1));}
.shadow-2xl{box-shadow:0 25px 50px -12px rgb(0 0 0 / 0.25);}
.shadow-\[0_0_15px_rgba\(0\,0\,0\,0\.3\)\]{box-shadow:0_0_15px_rgba(0,0,0,0.3);}
.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-\[25vw\]{font-size:25vw;}
.text-\[30vw\]{font-size:30vw;}
.text-base{font-size:1rem;line-height:1.5rem;}
.text-black{color:#000000;}
.text-center{text-align:center;}
.text-gray-300{color:#d1d5db;}
.text-green-400{color:#4ade80;}
.text-left{text-align:left;}
.text-lg{font-size:1.125rem;line-height:1.75rem;}
.text-sm{font-size:0.875rem;line-height:1.25rem;}
.text-white{color:#ffffff;}
.text-white\/10{color:rgb(255 255 255 / 0.1);}
.text-white\/40{color:rgb(255 255 255 / 0.4);}
.text-white\/5{color:rgb(255 255 255 / 0.05);}
.text-white\/50{color:rgb(255 255 255 / 0.5);}
.text-white\/60{color:rgb(255 255 255 / 0.6);}
.text-white\/70{color:rgb(255 255 255 / 0.7);}
.text-white\/80{color:rgb(255 255 255 / 0.8);}
.text-white\/90{color:rgb(255 255 255 / 0.9);}
.text-xl{font-size:1.25rem;line-height:1.75rem;}
.text-xs{font-size:0.75rem;line-height:1rem;}
.to-black{--tw-gradient-to:rgb(0 0 0 / 1);}
.top-0{top:0;}
.top-1\/2{top:50%;}
.top-28{top:7rem;}
.top-6{top:1.5rem;}
.tracking-\[0\.2em\]{letter-spacing:0.2em;}
.tracking-wider{letter-spacing:0.05em;}
.transform{transform:translate(var(--tw-translate-x,0),var(--tw-translate-y,0)) rotate(var(--tw-rotate,0)) scaleX(var(--tw-scale-x,1)) scaleY(var(--tw-scale-y,1));}
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms;}
.translate-x-4{--tw-translate-x:1rem;transform:translate(var(--tw-translate-x,0),var(--tw-translate-y,0)) rotate(var(--tw-rotate,0)) scaleX(var(--tw-scale-x,1)) scaleY(var(--tw-scale-y,1));}
.translate-x-full{--tw-translate-x:100%;transform:translate(var(--tw-translate-x,0),var(--tw-translate-y,0)) rotate(var(--tw-rotate,0)) scaleX(var(--tw-scale-x,1)) scaleY(var(--tw-scale-y,1));}
.translate-y-20{--tw-translate-y:5rem;transform:translate(var(--tw-translate-x,0),var(--tw-translate-y,0)) rotate(var(--tw-rotate,0)) scaleX(var(--tw-scale-x,1)) scaleY(var(--tw-scale-y,1));}
.translate-y-4{--tw-translate-y:1rem;transform:translate(var(--tw-translate-x,0),var(--tw-translate-y,0)) rotate(var(--tw-rotate,0)) scaleX(var(--tw-scale-x,1)) scaleY(var(--tw-scale-y,1));}
.underline{text-decoration:underline;}
.uppercase{text-transform:uppercase;}
.via-black\/40{--tw-gradient-stops:var(--tw-gradient-from),rgb(0 0 0 / 0.4),var(--tw-gradient-to);}
.w-10{width:2.5rem;}
.w-12{width:3rem;}
.w-24{width:6rem;}
.w-3{width:0.75rem;}
.w-32{width:8rem;}
.w-4{width:1rem;}
.w-5{width:1.25rem;}
.w-6{width:1.5rem;}
.w-7{width:1.75rem;}
.w-8{width:2rem;}
.w-full{width:100%;}
.z-0{z-index:0;}
.z-10{z-index:10;}
.z-40{z-index:40;}
.z-50{z-index:50;}
.z-\[100\]{z-index:100;}
.z-\[60\]{z-index:60;}
.z-\[70\]{z-index:70;}
.z-\[80\]{z-index:80;}
.z-\[90\]{z-index:90;}
.z-\[95\]{z-index:95;}

@media (min-width: 1024px){
  .lg\:\!pt-32{padding-top:8rem !important;}
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
  .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
}

@media (min-width: 768px){
  .md\:bottom-28{bottom:7rem;}
  .md\:bottom-48{bottom:12rem;}
  .md\:col-span-2{grid-column:span 2 / span 2;}
  .md\:col-span-3{grid-column:span 3 / span 3;}
  .md\:flex{display:flex;}
  .md\:flex-row{flex-direction:row;}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
  .md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr));}
  .md\:h-64{height:16rem;}
  .md\:hidden{display:none;}
  .md\:p-16{padding:4rem;}
  .md\:p-6{padding:1.5rem;}
  .md\:p-8{padding:2rem;}
  .md\:py-24{padding-top:6rem;padding-bottom:6rem;}
  .md\:right-12{right:3rem;}
  .md\:text-3xl{font-size:1.875rem;line-height:2.25rem;}
  .md\:text-4xl{font-size:2.25rem;line-height:2.5rem;}
  .md\:text-5xl{font-size:3rem;line-height:1;}
  .md\:text-6xl{font-size:3.75rem;line-height:1;}
  .md\:text-xl{font-size:1.25rem;line-height:1.75rem;}
}
/* Added utilities to match original Tailwind CDN behavior */
.group{}
.bg-opacity-90{--tw-bg-opacity:0.9;}
.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px;}
.leading-none{line-height:1;}
.leading-tight{line-height:1.25;}
.leading-normal{line-height:1.5;}

.max-w-sm{max-width:24rem;}
.max-w-md{max-width:28rem;}
.max-w-2xl{max-width:42rem;}
.max-w-3xl{max-width:48rem;}
.max-w-4xl{max-width:56rem;}
.max-w-5xl{max-width:64rem;}
.max-w-6xl{max-width:72rem;}
.max-w-7xl{max-width:80rem;}

.gap-x-12{column-gap:3rem;}
.gap-y-12{row-gap:3rem;}
.gap-x-\[1\.2rem\]{column-gap:1.2rem;}
.gap-y-\[1\.2rem\]{row-gap:1.2rem;}

.mix-blend-difference{mix-blend-mode:difference;}
.object-contain{object-fit:contain;}
.overflow-x-auto{overflow-x:auto;}
.overflow-y-hidden{overflow-y:hidden;}
.pointer-events-none{pointer-events:none;}
.appearance-none{-webkit-appearance:none;appearance:none;}
.accent-white{accent-color:#ffffff;}
.text-gray-400{color:#9ca3af;}
.text-gray-500{color:#6b7280;}
.placeholder-white\/30::placeholder{color:rgb(255 255 255 / 0.3);}

.group:hover .group-hover\:bg-black\/0{background-color:rgb(0 0 0 / 0);}
.group:hover .group-hover\:bg-white\/10{background-color:rgb(255 255 255 / 0.1);}
.group:hover .group-hover\:border-white{border-color:#ffffff;}
.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x,0),var(--tw-translate-y,0)) rotate(var(--tw-rotate,0)) scaleX(var(--tw-scale-x,1)) scaleY(var(--tw-scale-y,1));}
.group:hover .group-hover\:text-white{color:#ffffff;}
.group:hover .group-hover\:text-white\/80{color:rgb(255 255 255 / 0.8);}
.group:hover .group-hover\:translate-x-1{--tw-translate-x:0.25rem;transform:translate(var(--tw-translate-x,0),var(--tw-translate-y,0)) rotate(var(--tw-rotate,0)) scaleX(var(--tw-scale-x,1)) scaleY(var(--tw-scale-y,1));}

@media (min-width:768px){
  .md\:gap-x-16{column-gap:4rem;}
  .md\:row-span-2{grid-row:span 2 / span 2;}
  .md\:row-span-3{grid-row:span 3 / span 3;}
  .md\:text-7xl{font-size:4.5rem;line-height:1;}
  .md\:w-auto{width:auto;}
}


/* --- Missing utilities (patched) --- */
.ease-spring{transition-timing-function:cubic-bezier(0.34,1.56,0.64,1)}
.select-none{-webkit-user-select:none;user-select:none}
.self-start{align-self:flex-start}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.top-full{top:100%}
.rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}
.row-span-1{grid-row:span 1 / span 1}
.space-x-1> :not([hidden])~ :not([hidden]){margin-left:.25rem}
.space-x-3> :not([hidden])~ :not([hidden]){margin-left:.75rem}
.space-x-4> :not([hidden])~ :not([hidden]){margin-left:1rem}
.space-x-5> :not([hidden])~ :not([hidden]){margin-left:1.25rem}
.space-x-6> :not([hidden])~ :not([hidden]){margin-left:1.5rem}
.space-y-2> :not([hidden])~ :not([hidden]){margin-top:.5rem}
.space-y-4> :not([hidden])~ :not([hidden]){margin-top:1rem}
.space-y-6> :not([hidden])~ :not([hidden]){margin-top:1.5rem}
.space-y-8> :not([hidden])~ :not([hidden]){margin-top:2rem}
/* important variants used in markup */
.\!mb-0{margin-bottom:0!important}
.\!mb-4{margin-bottom:1rem!important}
.\!mb-6{margin-bottom:1.5rem!important}
.\!mt-0{margin-top:0!important}
.\!pt-20{padding-top:5rem!important}
.\!text-xl{font-size:1.25rem!important;line-height:1.75rem!important}
@media (min-width:1024px){.lg\:\!pt-32{padding-top:8rem!important}}
