/* FoodChéri — Compiled CSS (Tailwind subset + brand tokens) */
/* Fonts */
@font-face{font-family:'LTC Globe Gothic';src:url('../fonts/LTCGlobeGothic-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Roc Grotesk';src:url('../fonts/RocGrotesk-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Roc Grotesk';src:url('../fonts/RocGrotesk-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Open Sans';src:url('../fonts/OpenSans-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Open Sans';src:url('../fonts/OpenSans-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

/* Variables */
:root{--brand-black:#2F2B2B;--brand-white:#ffffff;--brand-cream:#FAF5C7;--brand-beige:#F5F1EA;--brand-terra:#7A3B00;--brand-brown:#4A3B32;--brand-green:#415f5b}

/* Reset / Base */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}
html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:'Open Sans',sans-serif;scroll-behavior:smooth}
body{margin:0;line-height:inherit;overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;text-decoration:inherit}
button{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0;background-color:transparent;background-image:none;cursor:pointer}
img,video{max-width:100%;height:auto;display:block}
input,select{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}
select{text-transform:none;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}
ul{list-style:none;margin:0;padding:0}
::selection{background-color:var(--brand-terra);color:#fff}

/* Animations */
@keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}

/* Layout utilities */
.container{width:100%;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
@media(min-width:640px){.container{max-width:640px}}
@media(min-width:768px){.container{max-width:768px}}
@media(min-width:1024px){.container{max-width:1024px}}
@media(min-width:1280px){.container{max-width:1280px}}
@media(min-width:1536px){.container{max-width:1536px}}

/* Scrollbar hide */
.no-scrollbar::-webkit-scrollbar{display:none}
.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}

/* Reveal animation */
.reveal{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.5,0,0,1)}
.reveal.active{opacity:1;transform:translateY(0)}

/* Form inputs */
.form-input{background-color:#f9fafb;border:1px solid #e5e5e5;transition:all .3s}
.form-input:focus{outline:none;border-color:var(--brand-terra);background-color:#fff;box-shadow:0 0 0 4px rgba(122,59,0,.1)}

/* Custom utilities */
.font-roc-medium{font-family:'Roc Grotesk',sans-serif;font-weight:500}
.scroll-smooth{scroll-behavior:smooth}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* ===================== TAILWIND SUBSET ===================== */
/* Position */
.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}
/* Inset */
.inset-0{inset:0}.top-2{top:.5rem}.top-32{top:8rem}.right-2{right:.5rem}.right-6{right:1.5rem}.bottom-6{bottom:1.5rem}.left-6{left:1.5rem}
/* Display */
.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}
/* Overflow */
.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}
/* Z-index */
.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}
/* Flex */
.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.shrink-0{flex-shrink:0}.flex-1{flex:1 1 0%}
/* Grid */
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.gap-0\.5{gap:.125rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-12{gap:3rem}.gap-16{gap:4rem}
/* Spacing — margin */
.mx-auto{margin-left:auto;margin-right:auto}
.mt-1{margin-top:.25rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}
.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.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}.mb-14{margin-bottom:3.5rem}
.mt-0\.5{margin-top:.125rem}
.-space-x-3>*+*{margin-left:-.75rem}
/* Spacing — padding */
.p-4{padding:1rem}.p-6{padding:1.5rem}
.px-3{padding-left:.75rem;padding-right:.75rem}.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}.px-10{padding-left:2.5rem;padding-right:2.5rem}
.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.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-24{padding-top:6rem;padding-bottom:6rem}
.pt-32{padding-top:8rem}.pb-6{padding-bottom:1.5rem}.pb-16{padding-bottom:4rem}.pl-6{padding-left:1.5rem}
/* Width */
.w-2{width:.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-14{width:3.5rem}
.w-full{width:100%}.w-auto{width:auto}.w-max{width:max-content}
.w-\[300px\]{width:300px}
/* Height */
.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-48{height:12rem}
.h-full{height:100%}.min-h-screen{min-height:100vh}
.h-\[500px\]{height:500px}
/* Max-width / max-height */
.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}
.max-h-0{max-height:0}
/* Border */
.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}
.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-l-4{border-left-width:4px}.border-l-2{border-left-width:2px}
.border-white{border-color:#fff}
.border-white\/20{border-color:rgba(255,255,255,.2)}.border-white\/80{border-color:rgba(255,255,255,.8)}
.border-gray-100{border-color:#f3f4f6}.border-gray-200{border-color:#e5e7eb}.border-gray-800{border-color:#1f2937}
.border-brand-black{border-color:var(--brand-black)}.border-brand-cream{border-color:var(--brand-cream)}.border-brand-terra{border-color:var(--brand-terra)}
/* Border radius */
.rounded{border-radius:.25rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-b-2xl{border-radius:0 0 1rem 1rem}
/* Background */
.bg-white{background-color:#fff}.bg-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f3f4f6}
.bg-white\/90{background-color:rgba(255,255,255,.9)}.bg-white\/95{background-color:rgba(255,255,255,.95)}
.bg-green-500{background-color:#22c55e}
.bg-brand-black{background-color:var(--brand-black)}.bg-brand-white{background-color:var(--brand-white)}.bg-brand-cream{background-color:var(--brand-cream)}.bg-brand-beige{background-color:var(--brand-beige)}.bg-brand-terra{background-color:var(--brand-terra)}
.bg-brand-cream\/90{background-color:rgba(250,245,199,.9)}
/* Text color */
.text-white{color:#fff}.text-gray-400{color:#9ca3af}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}
.text-brand-black{color:var(--brand-black)}.text-brand-cream{color:var(--brand-cream)}.text-brand-terra{color:var(--brand-terra)}
.text-brand-black\/80{color:rgba(47,43,43,.8)}
/* Text size */
.text-\[10px\]{font-size:10px}.text-xs{font-size:.75rem;line-height:1rem}.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 alignment */
.text-left{text-align:left}.text-center{text-align:center}
/* Font family */
.font-heading{font-family:'LTC Globe Gothic',sans-serif;font-weight:700}
.font-subheading{font-family:'Roc Grotesk',sans-serif}
.font-body{font-family:'Open Sans',sans-serif}
/* Font weight */
.font-medium{font-weight:500}.font-bold{font-weight:700}
/* Line height */
.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-relaxed{line-height:1.625}.leading-\[1\.1\]{line-height:1.1}
/* Letter spacing */
.tracking-widest{letter-spacing:.1em}
/* Text transform */
.uppercase{text-transform:uppercase}
/* Fill */
.fill-brand-terra{fill:var(--brand-terra)}
/* Object fit */
.object-cover{object-fit:cover}.object-contain{object-fit:contain}
/* Opacity */
.opacity-60{opacity:.6}
/* Shadow */
.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.shadow-brand-terra\/20{box-shadow:0 10px 15px -3px rgba(122,59,0,.2)}
/* Filter */
.grayscale{filter:grayscale(100%)}
/* Transition */
.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}.duration-500{transition-duration:500ms}.duration-700{transition-duration:700ms}
.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}
/* Transform */
.transform{transform:translateX(var(--tw-translate-x,0)) translateY(var(--tw-translate-y,0)) scale(var(--tw-scale-x,1))}
/* Backdrop */
.backdrop-blur-sm{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.backdrop-blur-\[2px\]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
/* Animation */
.animate-scroll{animation:scroll 40s linear infinite}
.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}

/* ===== Hover states ===== */
.hover\:bg-brand-terra:hover{background-color:var(--brand-terra)}
.hover\:bg-brand-brown:hover{background-color:var(--brand-brown)}
.hover\:text-brand-terra:hover{color:var(--brand-terra)}
.hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.hover\:scale-105:hover{transform:scale(1.05)}
.hover\:scale-110:hover{transform:scale(1.10)}
.hover\:-translate-y-1:hover{transform:translateY(-.25rem)}
.hover\:-translate-y-2:hover{transform:translateY(-.5rem)}
.hover\:\[animation-play-state\:paused\]:hover{animation-play-state:paused}
/* Group hover */
.group:hover .group-hover\:bg-brand-terra{background-color:var(--brand-terra)}
.group:hover .group-hover\:text-white{color:#fff}

/* ===== Responsive breakpoints ===== */
@media(min-width:640px){
  .sm\:col-span-2{grid-column:span 2/span 2}
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:768px){
  .md\:block{display:block}
  .md\:flex-row{flex-direction:row}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:mb-6{margin-bottom:1.5rem}
  .md\:text-left{text-align:left}
  .md\:text-2xl{font-size:1.5rem;line-height:2rem}
  .md\:text-3xl{font-size:1.875rem;line-height:2.25rem}
  .md\:text-5xl{font-size:3rem;line-height:1}
  .md\:text-base{font-size:1rem;line-height:1.5rem}
  .md\:text-lg{font-size:1.125rem;line-height:1.75rem}
  .md\:text-xs{font-size:.75rem;line-height:1rem}
  .md\:w-1\/2{width:50%}
  .md\:px-6{padding-left:1.5rem;padding-right:1.5rem}
  .md\:py-2{padding-top:.5rem;padding-bottom:.5rem}
  .md\:py-4{padding-top:1rem;padding-bottom:1rem}
  .md\:h-10{height:2.5rem}
  .md\:h-14{height:3.5rem}
  .md\:text-center{text-align:center}
}
@media(min-width:1024px){
  .lg\:block{display:block}
  .lg\:hidden{display:none}
  .lg\:flex{display:flex}
  .lg\:col-span-1{grid-column:span 1/span 1}
  .lg\:col-span-2{grid-column:span 2/span 2}
  .lg\:col-span-3{grid-column:span 3/span 3}
  .lg\:col-span-5{grid-column:span 5/span 5}
  .lg\:col-span-6{grid-column:span 6/span 6}
  .lg\:col-span-7{grid-column:span 7/span 7}
  .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
  .lg\:gap-20{gap:5rem}
  .lg\:border-l-2{border-left-width:2px}
  .lg\:border-gray-100{border-color:#f3f4f6}
  .lg\:pl-12{padding-left:3rem}
  .lg\:p-8{padding:2rem}
  .lg\:pb-24{padding-bottom:6rem}
  .lg\:pt-48{padding-top:12rem}
  .lg\:mx-0{margin-left:0;margin-right:0}
  .lg\:mb-8{margin-bottom:2rem}
  .lg\:text-left{text-align:left}
  .lg\:text-sm{font-size:.875rem;line-height:1.25rem}
  .lg\:text-xl{font-size:1.25rem;line-height:1.75rem}
  .lg\:text-2xl{font-size:1.5rem;line-height:2rem}
  .lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}
  .lg\:text-6xl{font-size:3.75rem;line-height:1}
  .lg\:justify-start{justify-content:flex-start}
  .lg\:text-center{text-align:center}
  .lg\:h-\[700px\]{height:700px}
}
/* Space-y utilities */
.space-y-4>*+*{margin-top:1rem}
.space-y-8>*+*{margin-top:2rem}
.space-y-16>*+*{margin-top:4rem}

/* Placeholder */
::placeholder{color:#9ca3af;opacity:1}
.placeholder-gray-400::placeholder{color:#9ca3af}

/* Footer new classes patch */
.gap-3 { gap: 0.75rem; }
.gap-8 { gap: 2rem; }
.justify-start { justify-content: flex-start; }
.pt-8 { padding-top: 2rem; }
@media(min-width: 768px) {
  .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .md\:items-start { align-items: flex-start; }
  .md\:items-end { align-items: flex-end; }
  .md\:justify-start { justify-content: flex-start; }
  .md\:gap-6 { gap: 1.5rem; }
}
