/*
 * Curvy Style Edit — local utility layer
 *
 * This file replaces the former Tailwind runtime classes used by the theme.
 * It is intentionally limited to utilities actually used by the templates,
 * keeping the frontend dependency-free while preserving the existing markup.
 */

:root{
  --background:#FAF8F5;
  --foreground:#1F1917;
  --primary:#C47A69;
  --primary-foreground:#fff;
  --card:#fff;
  --muted:#F3F4F6;
  --muted-foreground:#756b66;
  --border:#E5E7EB;
  --destructive:#B42318;
}

/* layout */
.block{display:block}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.hidden{display:none}.flex{display:flex}.grid{display:grid}.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.top-0{top:0}.top-3{top:.75rem}.top-4{top:1rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}
.flex-1{flex:1 1 0%}.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}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.mx-auto{margin-left:auto;margin-right:auto}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.my-12{margin-top:3rem;margin-bottom:3rem}.mt-1{margin-top:.25rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.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}.ml-0{margin-left:0}.mr-0{margin-right:0}
.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-12{padding:3rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.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-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.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-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-16{padding-top:4rem;padding-bottom:4rem}.py-24{padding-top:6rem;padding-bottom:6rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-14{padding-top:3.5rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pb-10{padding-bottom:2.5rem}.pb-14{padding-bottom:3.5rem}
.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-x-3{column-gap:.75rem}.gap-y-2{row-gap:.5rem}
.space-y-1>*+*{margin-top:.25rem}.space-y-1\.5>*+*{margin-top:.375rem}.space-y-2>*+*{margin-top:.5rem}.space-y-2\.5>*+*{margin-top:.625rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-5>*+*{margin-top:1.25rem}.space-y-6>*+*{margin-top:1.5rem}.space-y-8>*+*{margin-top:2rem}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}
.min-h-screen{min-height:100vh}.min-h-0{min-height:0}.w-full{width:100%}.h-full{height:100%}.h-auto{height:auto}.w-5{width:1.25rem}.h-5{height:1.25rem}.w-6{width:1.5rem}.h-6{height:1.5rem}.size-24{width:6rem;height:6rem}.max-w-none{max-width:none}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-\[180px\]{max-width:180px}.max-w-\[220px\]{max-width:220px}.place-content-center{place-content:center}
.object-cover{object-fit:cover}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-\[16\/10\]{aspect-ratio:16/10}.aspect-\[21\/9\]{aspect-ratio:21/9}
.rounded-sm{border-radius:.125rem}.rounded-md{border-radius:.375rem}.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-style:solid}.border-0{border:0}.border-4{border-width:4px}.border-t{border-top-width:1px;border-style:solid}.border-b{border-bottom-width:1px;border-style:solid}
.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.06)}.shadow-md{box-shadow:0 4px 12px rgba(0,0,0,.09)}.shadow-lg{box-shadow:0 12px 28px rgba(0,0,0,.15)}
.bg-background{background-color:var(--background)}.bg-foreground{background-color:var(--foreground)}.bg-card{background-color:var(--card)}.bg-muted{background-color:var(--muted)}.bg-primary{background-color:var(--primary)}.bg-white{background-color:#fff}.bg-neutral-100{background-color:#f5f5f5}.bg-neutral-800{background-color:#262626}.bg-neutral-900{background-color:#171717}.bg-\[\#1F1917\]{background-color:#1F1917}.bg-\[\#A85A44\]{background-color:#A85A44}.bg-\[\#C47A69\]{background-color:#C47A69}.bg-\[\#E89F8C\]{background-color:#E89F8C}.bg-\[\#F5F2EB\]{background-color:#F5F2EB}.bg-\[\#FAF8F5\]{background-color:#FAF8F5}.bg-\[\#fbf7f3\]{background-color:#fbf7f3}.bg-black\/30{background-color:rgba(0,0,0,.3)}.bg-black\/75{background-color:rgba(0,0,0,.75)}.bg-white\/10{background-color:rgba(255,255,255,.1)}.bg-white\/40{background-color:rgba(255,255,255,.4)}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-from),var(--tw-gradient-via,transparent),var(--tw-gradient-to))}.from-black\/80{--tw-gradient-from:rgba(0,0,0,.8);--tw-gradient-to:rgba(0,0,0,0)}.via-black\/20{--tw-gradient-via:rgba(0,0,0,.2)}.from-neutral-950\/80{--tw-gradient-from:rgba(10,10,10,.8);--tw-gradient-to:rgba(10,10,10,0)}.via-neutral-900\/40{--tw-gradient-via:rgba(23,23,23,.4)}.to-transparent{--tw-gradient-to:transparent}
.text-foreground{color:var(--foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-destructive{color:var(--destructive)}.text-white{color:#fff}.text-white\/80{color:rgba(255,255,255,.8)}.text-white\/90{color:rgba(255,255,255,.9)}.text-neutral-300{color:#d4d4d4}.text-neutral-400{color:#a3a3a3}.text-neutral-500{color:#737373}.text-neutral-600{color:#525252}.text-neutral-700{color:#404040}.text-neutral-800{color:#262626}.text-neutral-900{color:#171717}.text-\[\#C47A69\]{color:#C47A69}.text-\[\#E60023\]{color:#E60023}.text-black{color:#000}.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-6xl{font-size:3.75rem;line-height:1}.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-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-\[9px\]{font-size:9px;line-height:1.2}.text-\[10px\]{font-size:10px;line-height:1.2}.text-\[11px\]{font-size:11px;line-height:1.3}
.font-sans{font-family:var(--font-ui,Arial,sans-serif)}.font-serif{font-family:var(--font-article,Georgia,serif)}.font-display{font-family:var(--font-display,var(--font-editorial,Georgia,serif))}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.uppercase{text-transform:uppercase}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-relaxed{line-height:1.625}.leading-\[1\.02\]{line-height:1.02}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.17em\]{letter-spacing:.17em}.tracking-\[0\.25em\]{letter-spacing:.25em}
.opacity-40{opacity:.4}.opacity-90{opacity:.9}.transition-all{transition:all .3s ease}.transition-colors{transition:color .2s ease,background-color .2s ease,border-color .2s ease}.transition-transform{transition:transform .3s ease}.transition-opacity{transition:opacity .3s ease}.transition-shadow{transition:box-shadow .3s ease}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}
.backdrop-blur-sm{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.pointer-events-none{pointer-events:none}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.focus\:outline-none:focus{outline:none}.focus\:border-transparent:focus{border-color:transparent}.focus\:border-\[\#C47A69\]:focus{border-color:#C47A69}.focus\:border-\[\#E89F8C\]:focus{border-color:#E89F8C}.focus\:ring-2:focus{box-shadow:0 0 0 2px rgba(196,122,105,.45)}.focus\:ring-primary:focus{--tw-ring-color:rgba(196,122,105,.45);box-shadow:0 0 0 2px var(--tw-ring-color)}
.hover\:bg-\[\#8F4B37\]:hover{background-color:#8F4B37}.hover\:bg-\[\#b26655\]:hover{background-color:#b26655}.hover\:bg-neutral-100:hover{background-color:#f5f5f5}.hover\:bg-white:hover{background-color:#fff}.hover\:border-white:hover{border-color:#fff}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-md:hover{box-shadow:0 4px 12px rgba(0,0,0,.09)}.hover\:text-\[\#C47A69\]:hover{color:#C47A69}.hover\:text-black:hover{color:#000}.hover\:text-neutral-700:hover{color:#404040}.hover\:text-primary:hover{color:var(--primary)}.hover\:text-white:hover{color:#fff}.hover\:underline:hover{text-decoration:underline}
.group:hover .group-hover\:text-primary{color:var(--primary)}.group:hover .group-hover\:scale-105{transform:scale(1.05)}

@media (min-width:640px){
 .sm\:inline-block{display:inline-block}.sm\:flex-row{flex-direction:row}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:text-5xl{font-size:3rem;line-height:1}
}
@media (min-width:768px){
 .md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.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-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:gap-6{gap:1.5rem}.md\:max-w-\[220px\]{max-width:220px}.md\:p-8{padding:2rem}.md\:p-12{padding:3rem}.md\:px-12{padding-left:3rem;padding-right:3rem}.md\:py-12{padding-top:3rem;padding-bottom:3rem}.md\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.md\:py-16{padding-top:4rem;padding-bottom:4rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:pt-14{padding-top:3.5rem}.md\:size-40{width:10rem;height:10rem}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.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-8xl{font-size:6rem;line-height:1}.md\:text-\[11px\]{font-size:11px}.md\:text-left{text-align:left}
}
@media (min-width:1024px){
 .lg\:block{display:block}.lg\:hidden{display:none}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:text-left{text-align:left}
}
@media (min-width:1280px){.xl\:gap-12{gap:3rem}}

@media (prefers-reduced-motion:reduce){.transition-all,.transition-colors,.transition-transform,.transition-opacity,.transition-shadow{transition:none!important}}

/* QA completeness: utility tokens still used by legacy template markup. */
.border-neutral-100{border-color:#f5f5f5}.border-neutral-200{border-color:#e5e5e5}.border-neutral-300{border-color:#d4d4d4}.border-neutral-800{border-color:#262626}
.border-neutral-200\/60{border-color:rgba(229,229,229,.6)}.border-neutral-200\/70{border-color:rgba(229,229,229,.7)}.border-neutral-200\/80{border-color:rgba(229,229,229,.8)}.border-border{border-color:var(--border)}.border-border\/50{border-color:rgba(229,231,235,.5)}.border-border\/60{border-color:rgba(229,231,235,.6)}.border-primary\/20{border-color:rgba(196,122,105,.2)}.border-white\/10{border-color:rgba(255,255,255,.1)}.border-white\/20{border-color:rgba(255,255,255,.2)}.border-white\/40{border-color:rgba(255,255,255,.4)}
.border-\[\#eadfd8\]{border-color:#eadfd8}.text-\[\#C47A69\]{color:#C47A69}.bg-\[\#1F1917\]{background-color:#1F1917}.bg-\[\#A85A44\]{background-color:#A85A44}.bg-\[\#C47A69\]{background-color:#C47A69}.bg-\[\#E89F8C\]{background-color:#E89F8C}.bg-\[\#F5F2EB\]{background-color:#F5F2EB}.bg-\[\#FAF8F5\]{background-color:#FAF8F5}.bg-\[\#fbf7f3\]{background-color:#fbf7f3}
.left-0{left:0}.left-3{left:.75rem}.right-4{right:1rem}.translate-y-2{transform:translateY(.5rem)}.opacity-0{opacity:0}.whitespace-nowrap{white-space:nowrap}.select-none{user-select:none}.transform{transform:translateZ(0)}.placeholder-neutral-500::placeholder{color:#737373}.placeholder\:text-neutral-400::placeholder{color:#a3a3a3}
.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:translate-y-0{transform:translateY(0)}
@media (min-width:640px){.sm\:text-right{text-align:right}.sm\:text-xs{font-size:.75rem;line-height:1rem}}
@media (min-width:768px){.md\:text-\[11px\]{font-size:11px;line-height:1.3}.md\:text-xs{font-size:.75rem;line-height:1rem}.md\:max-w-\[220px\]{max-width:220px}}

/* QA completeness: utility tokens used by the production templates. */
.pb-3{padding-bottom:.75rem}.pb-16{padding-bottom:4rem}
.pl-4{padding-left:1rem}.pl-12{padding-left:3rem}.pr-4{padding-right:1rem}
.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.pt-5{padding-top:1.25rem}.pt-7{padding-top:1.75rem}.pt-8{padding-top:2rem}.pt-10{padding-top:2.5rem}.pt-12{padding-top:3rem}
.size-4{width:1rem;height:1rem}.size-32{width:8rem;height:8rem}
.italic{font-style:italic}.fill-current{fill:currentColor}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.backdrop-blur-md{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.text-\[\#C47A69\]\/20{color:rgba(196,122,105,.2)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.no-underline{text-decoration:none}.hover\:no-underline:hover{text-decoration:none}
