/* Critical CSS - Above the fold styles for fast initial render */
/* This file is inlined in HTML for instant rendering */

/* Base Reset & Font */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Heebo',system-ui,-apple-system,sans-serif;line-height:1.5;background-color:#FFF7ED;color:#0F172A;overflow-x:hidden}

/* Tailwind Essential Utilities */
.font-heebo{font-family:'Heebo',sans-serif}
.bg-background{background-color:#FFF7ED}
.bg-white{background-color:#fff}
.bg-primary{background-color:#D97706}
.bg-secondary{background-color:#1E293B}
.bg-accent{background-color:#FBBF24}
.bg-gray-light{background-color:#F1F5F9}
.text-white{color:#fff}
.text-primary{color:#D97706}
.text-secondary{color:#1E293B}
.text-accent{color:#FBBF24}
.text-text-dark{color:#0F172A}
.text-text-muted{color:#6B7280}

/* Layout */
.container{width:100%;max-width:1280px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
.flex{display:flex}
.grid{display:grid}
.hidden{display:none}
.block{display:block}
.inline-block{display:inline-block}
.inline-flex{display:inline-flex}

/* Flexbox */
.items-center{align-items:center}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.flex-col{flex-direction:column}
.flex-row{flex-direction:row}
.flex-wrap{flex-wrap:wrap}
.flex-shrink-0{flex-shrink:0}
.gap-4{gap:1rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}

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

/* Spacing */
.p-4{padding:1rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-8{padding-left:2rem;padding-right:2rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.pt-16{padding-top:4rem}
.pt-20{padding-top:5rem}
.mb-2{margin-bottom:.5rem}
.mb-3{margin-bottom:.75rem}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mb-12{margin-bottom:3rem}
.mt-4{margin-top:1rem}
.mt-8{margin-top:2rem}
.mt-10{margin-top:2.5rem}
.mx-auto{margin-left:auto;margin-right:auto}
.me-2{margin-inline-end:.5rem}
.ms-8{margin-inline-start:2rem}

/* Sizing */
.w-full{width:100%}
.h-full{height:100%}
.w-10{width:2.5rem}
.h-10{height:2.5rem}
.w-12{width:3rem}
.h-12{height:3rem}
.w-16{width:4rem}
.h-16{height:4rem}
.w-20{width:5rem}
.h-20{height:5rem}
.w-48{width:12rem}
.h-48{height:12rem}
.min-h-screen{min-height:100vh}
.max-w-4xl{max-width:56rem}
.max-w-5xl{max-width:64rem}
.max-w-6xl{max-width:72rem}

/* Position */
.relative{position:relative}
.absolute{position:absolute}
.fixed{position:fixed}
.inset-0{top:0;right:0;bottom:0;left:0}
.top-0{top:0}
.right-0{right:0}
.left-0{left:0}
.bottom-0{bottom:0}
.z-0{z-index:0}
.z-10{z-index:10}
.z-40{z-index:40}
.z-50{z-index:50}

/* Typography */
.text-center{text-align:center}
.text-right{text-align:right}
.text-sm{font-size:.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-xl{font-size:1.25rem;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-7xl{font-size:4.5rem;line-height:1}
.font-bold{font-weight:700}
.font-black{font-weight:900}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.leading-tight{line-height:1.25}

/* Borders & Radius */
.rounded{border-radius:.25rem}
.rounded-lg{border-radius:.5rem}
.rounded-xl{border-radius:.75rem}
.rounded-2xl{border-radius:1rem}
.rounded-full{border-radius:9999px}
.border{border-width:1px}
.border-2{border-width:2px}

/* Effects */
.shadow{box-shadow:0 1px 3px 0 rgb(0 0 0 / .1)}
.shadow-md{box-shadow:0 4px 6px -1px rgb(0 0 0 / .1)}
.shadow-lg{box-shadow:0 10px 15px -3px rgb(0 0 0 / .1)}
.shadow-xl{box-shadow:0 20px 25px -5px rgb(0 0 0 / .1)}
.overflow-hidden{overflow:hidden}
.overflow-x-hidden{overflow-x:hidden}
.overflow-x-auto{overflow-x:auto}

/* Transitions */
.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}
.duration-300{transition-duration:300ms}
.transform{transform:translateX(var(--tw-translate-x,0)) translateY(var(--tw-translate-y,0)) rotate(var(--tw-rotate,0)) scale(var(--tw-scale-x,1),var(--tw-scale-y,1))}

/* Opacity */
.opacity-0{opacity:0}
.opacity-90{opacity:.9}

/* Object */
.object-cover{object-fit:cover}
.object-contain{object-fit:contain}

/* Backgrounds with opacity */
.bg-black\/40{background-color:rgb(0 0 0 / .4)}
.bg-black\/50{background-color:rgb(0 0 0 / .5)}
.bg-white\/15{background-color:rgb(255 255 255 / .15)}
.bg-white\/95{background-color:rgb(255 255 255 / .95)}
.bg-primary\/10{background-color:rgb(217 119 6 / .1)}
.bg-primary\/20{background-color:rgb(217 119 6 / .2)}
.bg-accent\/20{background-color:rgb(251 191 36 / .2)}

/* Gradients */
.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}
.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}
.from-black\/50{--tw-gradient-from:rgb(0 0 0 / .5);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgb(0 0 0 / 0))}
.via-black\/40{--tw-gradient-stops:var(--tw-gradient-from),rgb(0 0 0 / .4),var(--tw-gradient-to,rgb(0 0 0 / 0))}
.to-black\/50{--tw-gradient-to:rgb(0 0 0 / .5)}

/* Navbar Critical */
.navbar-container{position:fixed;top:0;left:0;right:0;z-index:50;transition:all .3s;background:rgba(255,255,255,.95);box-shadow:0 4px 20px rgba(0,0,0,.1)}
.navbar-container .flex{height:60px}

/* Hero Critical */
#home{position:relative;z-index:1}
#home .absolute.inset-0{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0}
#home .absolute.inset-0 img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;z-index:0}
#home .container{position:relative;z-index:10}
#home h1,#home p{position:relative;z-index:10}
#home h1{text-shadow:2px 2px 4px rgba(0,0,0,.5)}

/* RTL Support */
[dir="rtl"] .me-2{margin-left:.5rem;margin-right:0}
[dir="rtl"] .space-x-4 > :not([hidden]) ~ :not([hidden]){margin-right:1rem;margin-left:0}
[dir="rtl"] .space-x-reverse > :not([hidden]) ~ :not([hidden]){--tw-space-x-reverse:1}

/* Animations */
@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
@keyframes scaleIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
.animate-fade-in{animation:fadeIn .8s ease-out forwards}
.animate-slide-up{animation:slideUp .6s ease-out forwards}
.animate-scale-in{animation:scaleIn .5s ease-out forwards}
.animate-bounce{animation:bounce 1s infinite}
@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}

/* Responsive */
@media(min-width:640px){.sm\:flex-row{flex-direction:row}.sm\:block{display:block}}
@media(min-width:768px){.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\:hidden{display:none}.md\:block{display:block}.md\:flex{display:flex}.md\:pt-20{padding-top:5rem}.md\:h-20{height:5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-2xl{font-size:1.5rem;line-height:2rem}}
@media(min-width:1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Location Cards */
.location-card{transition:all .3s ease}
.location-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(0,0,0,.15)}

/* Drop shadow for text */
.drop-shadow-lg{filter:drop-shadow(0 10px 8px rgb(0 0 0 / .04)) drop-shadow(0 4px 3px rgb(0 0 0 / .1))}
.drop-shadow-2xl{filter:drop-shadow(0 25px 25px rgb(0 0 0 / .15))}

