/* ===== DREAM EYE — UTILITY CLASSES FALLBACK ===== */
/* If Tailwind CDN loads, this file is redundant but harmless */

/* --- Container --- */
.max-w-\[1440px\]{max-width:1440px}
.max-w-5xl{max-width:64rem}
.max-w-2xl{max-width:42rem}
.max-w-xl{max-width:36rem}
.max-w-lg{max-width:32rem}
.max-w-\[900px\]{max-width:900px}
.mx-auto{margin-left:auto;margin-right:auto}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.lg\:px-12{padding-left:3rem;padding-right:3rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-14{padding-top:3.5rem;padding-bottom:3.5rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.py-24{padding-top:6rem;padding-bottom:6rem}
.py-32{padding-top:8rem;padding-bottom:8rem}
.py-36{padding-top:9rem;padding-bottom:9rem}
.py-40{padding-top:10rem;padding-bottom:10rem}
.py-48{padding-top:12rem;padding-bottom:12rem}
.py-52{padding-top:13rem;padding-bottom:13rem}
.md\:py-40{padding-top:10rem;padding-bottom:10rem}
.md\:py-48{padding-top:12rem;padding-bottom:12rem}
.md\:py-52{padding-top:13rem;padding-bottom:13rem}
.p-2{padding:.5rem}
.p-4{padding:1rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.pt-8{padding-top:2rem}
.pt-10{padding-top:2.5rem}
.mb-1{margin-bottom:.25rem}
.mb-2{margin-bottom:.5rem}
.mb-3{margin-bottom:.75rem}
.mb-4{margin-bottom:1rem}
.mb-5{margin-bottom:1.25rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mb-10{margin-bottom:2.5rem}
.mb-12{margin-bottom:3rem}
.mb-14{margin-bottom:3.5rem}
.mb-16{margin-bottom:4rem}
.mb-20{margin-bottom:5rem}
.mb-24{margin-bottom:6rem}
.mt-2{margin-top:.5rem}
.mt-3{margin-top:.75rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}
.mt-10{margin-top:2.5rem}
.mt-12{margin-top:3rem}
.mt-14{margin-top:3.5rem}
.space-y-3>*+*{margin-top:.75rem}
.space-y-6>*+*{margin-top:1.5rem}
.space-y-8>*+*{margin-top:2rem}
.space-y-10>*+*{margin-top:2.5rem}
.space-y-16>*+*{margin-top:4rem}
.gap-2{gap:.5rem}
.gap-3{gap:.75rem}
.gap-4{gap:1rem}
.gap-5{gap:1.25rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.gap-10{gap:2.5rem}
.gap-12{gap:3rem}
.gap-14{gap:3.5rem}
.gap-16{gap:4rem}
.gap-24{gap:6rem}

/* --- Flexbox --- */
.flex{display:flex}
.inline-flex{display:inline-flex}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.flex-shrink-0{flex-shrink:0}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.items-end{align-items:flex-end}
.items-baseline{align-items:baseline}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.sm\:flex-row{flex-direction:row}
@media(min-width:640px){.sm\:flex-row{flex-direction:row}}

/* --- Grid --- */
.grid{display:grid}
.grid-cols-1{grid-template-columns:repeat(1,1fr)}
.grid-cols-2{grid-template-columns:repeat(2,1fr)}
.grid-cols-3{grid-template-columns:repeat(3,1fr)}
.grid-cols-4{grid-template-columns:repeat(4,1fr)}
.grid-cols-7{grid-template-columns:repeat(7,1fr)}
.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}
.sm\:grid-cols-3{grid-template-columns:repeat(3,1fr)}
.sm\:grid-cols-4{grid-template-columns:repeat(4,1fr)}
.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}
.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}
.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}
.lg\:grid-cols-5{grid-template-columns:repeat(5,1fr)}
.lg\:grid-cols-7{grid-template-columns:repeat(7,1fr)}
.xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}
@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.sm\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.sm\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.lg\:grid-cols-5{grid-template-columns:repeat(5,1fr)}.lg\:grid-cols-7{grid-template-columns:repeat(7,1fr)}}
@media(min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}
.auto-rows-\[180px\]{grid-auto-rows:180px}
.auto-rows-\[200px\]{grid-auto-rows:200px}
.auto-rows-\[220px\]{grid-auto-rows:220px}
.auto-rows-\[240px\]{grid-auto-rows:240px}
.md\:auto-rows-\[220px\]{grid-auto-rows:220px}
.md\:auto-rows-\[240px\]{grid-auto-rows:240px}
.md\:col-span-2{grid-column:span 2}
.md\:row-span-2{grid-row:span 2}

/* --- Sizing --- */
.w-full{width:100%}
.h-full{height:100%}
.w-6{width:1.5rem}
.w-10{width:2.5rem}
.w-12{width:3rem}
.w-14{width:3.5rem}
.w-20{width:5rem}
.w-22{width:5.5rem}
.w-24{width:6rem}
.w-28{width:7rem}
.w-32{width:8rem}
.w-36{width:9rem}
.w-38{width:9.5rem}
.w-40{width:10rem}
.w-44{width:11rem}
.w-48{width:12rem}
.w-56{width:14rem}
.w-60{width:15rem}
.w-\[900px\]{width:900px}
.h-6{height:1.5rem}
.h-10{height:2.5rem}
.h-12{height:3rem}
.h-14{height:3.5rem}
.h-20{height:5rem}
.h-24{height:6rem}
.h-28{height:7rem}
.h-32{height:8rem}
.h-44{height:11rem}
.h-48{height:12rem}
.min-h-screen{min-height:100vh}
.min-h-\[80vh\]{min-height:80vh}
.min-h-\[500px\]{min-height:500px}
.aspect-\[3\/2\]{aspect-ratio:3/2}
.aspect-\[3\/4\]{aspect-ratio:3/4}
.aspect-\[4\/5\]{aspect-ratio:4/5}
.aspect-\[16\/9\]{aspect-ratio:16/9}

/* --- Position --- */
.relative{position:relative}
.absolute{position:absolute}
.fixed{position:fixed}
.inset-0{top:0;right:0;bottom:0;left:0}
.top-0{top:0}
.bottom-0{bottom:0}
.left-0{left:0}
.right-0{right:0}
.top-\[7px\]{top:7px}
.top-\[50\%\]{top:50%}
.left-\[50\%\]{left:50%}
.bottom-8{bottom:2rem}
.-bottom-8{bottom:-2rem}
.-right-8{right:-2rem}
.-top-5{top:-1.25rem}
.-left-5{left:-1.25rem}
.-translate-x-1\/2{transform:translateX(-50%)}
.-translate-y-1\/2{transform:translateY(-50%)}
.z-10{z-index:10}
.z-\[8500\]{z-index:8500}
.z-\[8800\]{z-index:8800}

/* --- Display --- */
.hidden{display:none}
.block{display:block}
.inline-block{display:inline-block}
.overflow-hidden{overflow:hidden}
.overflow-auto{overflow:auto}
.whitespace-nowrap{white-space:nowrap}
.pointer-events-none{pointer-events:none}
.pointer-events-auto{pointer-events:auto}

/* --- Text --- */
.text-center{text-align:center}
.text-left{text-align:left}
.text-right{text-align:right}
.uppercase{text-transform:uppercase}
.block{display:block}
.font-heading{font-family:'Montserrat',sans-serif}
.font-body{font-family:'Inter',sans-serif}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.leading-none{line-height:1}
.leading-snug{line-height:1.375}
.leading-relaxed{line-height:1.625}
.leading-\[1\.04\]{line-height:1.04}
.leading-\[1\.08\]{line-height:1.08}
.leading-\[1\.8\]{line-height:1.8}
.leading-\[1\.9\]{line-height:1.9}
.text-\[7px\]{font-size:7px}
.text-\[8px\]{font-size:8px}
.text-\[9px\]{font-size:9px}
.text-\[10px\]{font-size:10px}
.text-\[11px\]{font-size:11px}
.text-\[12px\]{font-size:12px}
.text-\[13px\]{font-size:13px}
.text-xs{font-size:.75rem}
.text-sm{font-size:.875rem}
.text-base{font-size:1rem}
.text-lg{font-size:1.125rem}
.text-xl{font-size:1.25rem}
.text-2xl{font-size:1.5rem}
.text-3xl{font-size:1.875rem}
.text-4xl{font-size:2.25rem}
.text-5xl{font-size:3rem}
.text-6xl{font-size:3.75rem}
.text-7xl{font-size:4.5rem}
.text-8xl{font-size:6rem}
.font-light{font-weight:300}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.tracking-tight{letter-spacing:-.025em}
.tracking-wide{letter-spacing:.025em}
.tracking-wider{letter-spacing:.05em}
.tracking-\[\.1em\]{letter-spacing:.1em}
.tracking-\[\.12em\]{letter-spacing:.12em}
.tracking-\[\.15em\]{letter-spacing:.15em}
.tracking-\[\.2em\]{letter-spacing:.2em}
.tracking-\[\.22em\]{letter-spacing:.22em}
.tracking-\[\.25em\]{letter-spacing:.25em}
.tracking-\[\.3em\]{letter-spacing:.3em}
.tracking-\[\.35em\]{letter-spacing:.35em}
.tracking-\[\.4em\]{letter-spacing:.4em}
.tracking-\[\.45em\]{letter-spacing:.45em}
.tracking-\[\.5em\]{letter-spacing:.5em}

/* --- Border --- */
.border{border-width:1px;border-style:solid;border-color:rgba(255,255,255,.06)}
.border-t{border-top-width:1px;border-top-style:solid;border-top-color:rgba(255,255,255,.06)}
.border-b{border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgba(255,255,255,.06)}
.border-white\/10{border-color:rgba(255,255,255,.1)}
.border-white\/15{border-color:rgba(255,255,255,.15)}
.border-white\/20{border-color:rgba(255,255,255,.2)}
.border-white\/25{border-color:rgba(255,255,255,.25)}
.border-white\/30{border-color:rgba(255,255,255,.3)}
.border-white\/40{border-color:rgba(255,255,255,.4)}
.rounded-sm{border-radius:.125rem}
.rounded-md{border-radius:.375rem}
.rounded{border-radius:.25rem}
.rounded-full{border-radius:9999px}

/* --- Effects --- */
.opacity-0{opacity:0}
.opacity-1{opacity:1}
.scale-95{transform:scale(.95)}
.scale-105{transform:scale(1.05)}
.scale-110{transform:scale(1.1)}
.scale-150{transform:scale(1.5)}
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}
.transition-colors{transition-property:color,background-color,border-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}
.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}
.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}
.duration-300{transition-duration:300ms}
.duration-400{transition-duration:400ms}
.duration-500{transition-duration:500ms}
.duration-600{transition-duration:600ms}
.duration-700{transition-duration:700ms}
.backdrop-blur-sm{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.backdrop-blur-md{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.backdrop-blur-lg{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.backdrop-blur-xl{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.backdrop-blur-2xl{backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px)}
.object-cover{object-fit:cover}
.object-contain{object-fit:contain}
.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}
.inset{inset:0}