/* front_v3.css — generated from ERB templates + prototypes */
/* Google Fonts loaded via <link> in layout */

*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-top-0\.5{top:-.125rem}.-top-1{top:-.25rem}.-top-2\.5{top:-.625rem}.-top-3{top:-.75rem}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-3{right:.75rem}.top-0{top:0}.top-14{top:3.5rem}.top-16{top:4rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.mx-4{margin-left:1rem;margin-right:1rem}.mx-8{margin-left:2rem;margin-right:2rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.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-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.ml-3{margin-left:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-\[3\/4\]{aspect-ratio:3/4}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-\[400px\]{height:400px}.h-full{height:100%}.max-h-full{max-height:100%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/5{width:40%}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-9{width:2.25rem}.w-\[18px\]{width:18px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-3{row-gap:.75rem}.-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.5rem*var(--tw-space-x-reverse));margin-left:calc(-.5rem*(1 - var(--tw-space-x-reverse)))}.-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.75rem*var(--tw-space-x-reverse));margin-left:calc(-.75rem*(1 - var(--tw-space-x-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity,1))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-x-2{border-left-width:2px;border-right-width:2px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-brand{--tw-border-opacity:1;border-color:rgb(218 35 67/var(--tw-border-opacity,1))}.border-brand-200{--tw-border-opacity:1;border-color:rgb(251 208 217/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-50,.bg-brand{--tw-bg-opacity:1}.bg-brand{background-color:rgb(218 35 67/var(--tw-bg-opacity,1))}.bg-brand-100{--tw-bg-opacity:1;background-color:rgb(253 232 236/var(--tw-bg-opacity,1))}.bg-brand-50{--tw-bg-opacity:1;background-color:rgb(254 242 244/var(--tw-bg-opacity,1))}.bg-brand\/10{background-color:rgba(218,35,67,.1)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-success{background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-success,.bg-white{--tw-bg-opacity:1}.bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/70{background-color:hsla(0,0%,100%,.7)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-brand-50{--tw-gradient-from:#fef2f4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(254,242,244,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-white{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#fff var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-brand-50{--tw-gradient-to:#fef2f4 var(--tw-gradient-to-position)}.to-red-50{--tw-gradient-to:#fef2f2 var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-12{padding:3rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.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-7{padding-left:1.75rem;padding-right:1.75rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.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-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}.pb-12{padding-bottom:3rem}.pb-16{padding-bottom:4rem}.pb-8{padding-bottom:2rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-center{text-align:center}.text-right{text-align:right}.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-\[1\.75rem\]{font-size:1.75rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[2\.25rem\]{font-size:2.25rem}.text-\[2\.5rem\]{font-size:2.5rem}.text-\[2\.75rem\]{font-size:2.75rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-\[1\.08\]{line-height:1.08}.leading-\[1\.15\]{line-height:1.15}.leading-\[1\.1\]{line-height:1.1}.leading-\[1\.8\]{line-height:1.8}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-brand{--tw-text-opacity:1;color:rgb(218 35 67/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-success{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.line-through{text-decoration-line:line-through}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-\[0_-4px_24px_rgba\(0\2c 0\2c 0\2c 0\.1\)\]{--tw-shadow:0 -4px 24px rgba(0,0,0,.1);--tw-shadow-colored:0 -4px 24px var(--tw-shadow-color)}.shadow-\[0_-4px_24px_rgba\(0\2c 0\2c 0\2c 0\.1\)\],.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.blur-3xl{--tw-blur:blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:border-brand:hover{--tw-border-opacity:1;border-color:rgb(218 35 67/var(--tw-border-opacity,1))}.hover\:bg-brand-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 244/var(--tw-bg-opacity,1))}.hover\:bg-brand-dark:hover{--tw-bg-opacity:1;background-color:rgb(185 29 57/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.hover\:text-brand:hover{--tw-text-opacity:1;color:rgb(218 35 67/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-md:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.active\:scale-\[0\.98\]:active{--tw-scale-x:0.98;--tw-scale-y:0.98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-brand{--tw-text-opacity:1;color:rgb(218 35 67/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:block{display:block}.sm\:inline-flex{display:inline-flex}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-end{align-items:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-5{gap:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-20{padding-top:5rem;padding-bottom:5rem}.sm\:text-\[2\.5rem\]{font-size:2.5rem}.sm\:text-\[2\.75rem\]{font-size:2.75rem}.sm\:text-\[3\.5rem\]{font-size:3.5rem}}@media (min-width:768px){.md\:flex{display:flex}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1024px){.lg\:block{display:block}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:gap-16{gap:4rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (min-width:1280px){.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}
/* ========================================
   Front V3 — Custom Styles
   ======================================== */

/* Base */
body { font-family: 'Inter', system-ui, -apple-system, sans-serif !important; margin: 0; }
*, *::before, *::after { box-sizing: border-box; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
ul, ol { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4, h5, h6 { margin: 0; }
p { margin: 0; }

/* Gallery thumbnail */
.v3-thumb { border: 2px solid transparent; transition: border-color 0.15s; cursor: pointer; }
.v3-thumb.is-active, .v3-thumb:hover { border-color: var(--buttons-color, #da2343); }

/* Product set card */
.v3-set-card { border: 2px solid #e5e7eb; transition: all 0.25s; }
.v3-set-card:hover { border-color: var(--buttons-color, #da2343); box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
.v3-set-card.v3-set-best { border-color: var(--buttons-color, #da2343); background: #FEF2F4; }

/* CTA pulse */
@keyframes v3-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(218,35,67, 0.35); }
  50% { box-shadow: 0 0 0 12px rgba(218,35,67, 0); }
}
.v3-cta-pulse { animation: v3-pulse 2s ease-in-out infinite; }

/* Section tabs */
.v3-sec-tab { position: relative; border-bottom: 3px solid transparent; transition: border-color 0.2s, color 0.2s; }
.v3-sec-tab:hover { border-bottom-color: var(--buttons-color, #da2343); color: #111827; }
.v3-sec-tab.active { color: #111827; border-bottom-color: var(--buttons-color, #da2343); }

/* Sticky buy bar */
.v3-buy-bar { transform: translateY(100%); transition: transform 0.3s ease; }
.v3-buy-bar.show { transform: translateY(0); }

/* Scroll-reveal */
.v3-reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; }
.v3-reveal.visible { opacity: 1; transform: translateY(0); }
.v3-reveal-delay-1 { transition-delay: 0.05s; }
.v3-reveal-delay-2 { transition-delay: 0.1s; }
.v3-reveal-delay-3 { transition-delay: 0.15s; }
.v3-reveal-delay-4 { transition-delay: 0.2s; }

/* Hero float animations */
@keyframes v3-float1 { 0%, 100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-10px) rotate(-3deg); } }
@keyframes v3-float2 { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@keyframes v3-float3 { 0%, 100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-8px) rotate(-1deg); } }
.v3-float-1 { animation: v3-float1 4s ease-in-out infinite; }
.v3-float-2 { animation: v3-float2 5s ease-in-out infinite 0.5s; }
.v3-float-3 { animation: v3-float3 4.5s ease-in-out infinite 1s; }

/* Star rating */
.v3-star { color: #FF8C00; }

/* Product card hover */
.v3-product-card:hover img { transform: scale(1.05); }
.v3-product-card img { transition: transform 0.3s ease; }
.v3-product-card:hover .v3-card-btn { opacity: 1; transform: translateY(0); }
.v3-card-btn { opacity: 0; transform: translateY(8px); transition: all 0.25s ease; }
@media (hover: none) { .v3-card-btn { opacity: 1; transform: translateY(0); } }

/* Category card */
.v3-category-card:hover { border-color: var(--buttons-color, #da2343); }
.v3-category-card:hover .v3-cat-icon { color: var(--buttons-color, #da2343); }

/* Testimonial */
.v3-testimonial-card { transition: transform 0.2s; }
.v3-testimonial-card:hover { transform: translateY(-4px); }

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

/* Sticky right column */
@media (min-width: 1024px) {
  .v3-sticky-right { position: sticky; top: 80px; }
}

/* ========================================
   Popup overlay — for add-to-cart
   ======================================== */
.o-overlay { position: fixed; left: 0; top: 0; width: 100%; height: 100%; display: none; z-index: 9999; }
.o-overlay.is-active { display: block; }
.o-overlay__inside { width: 100%; height: 100%; background: rgba(0,0,0,0.5); overflow: auto; -webkit-overflow-scrolling: touch; opacity: 0; transition: opacity 0.3s; display: flex; align-items: center; justify-content: center; }
.o-overlay__inside.is-block { display: block; }
.is-visible .o-overlay__inside { opacity: 1; }
.o-overlay .o-wrap { width: 100%; max-width: 100%; display: flex; align-items: center; justify-content: center; min-height: 100%; padding: 20px; }
.c-popup { max-width: 520px; width: 100%; margin: 0 auto; display: none; font-family: 'Inter', system-ui, sans-serif; }
.c-popup.is-active { display: block; }
.c-popup__inside { background: #fff; padding: 32px; transform: translateY(40px); opacity: 0; transition: all 0.3s; border-radius: 16px; box-shadow: 0 25px 50px rgba(0,0,0,0.15); }
.c-popup.is-visible .c-popup__inside { opacity: 1; transform: translateY(0); }
.c-popup h4, .c-popup .o-lead--4 { font-size: 0.875rem; color: #6b7280; margin-bottom: 4px; font-weight: 400; }
.c-popup .o-lead--2, .c-popup .o-header h4 { font-size: 1rem; font-weight: 700; color: #111827; margin-bottom: 8px; }
.c-popup .c-status { }
.c-popup hr { border: none; border-top: 1px solid #e5e7eb; margin: 16px 0; }
.c-popup .o-cols--2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 20px; }
.c-popup .o-cols__item { }
.c-popup .o-btn { display: block; width: 100%; padding: 14px 20px; text-align: center; font-weight: 700; font-size: 14px; border-radius: 10px; text-decoration: none; cursor: pointer; border: none; box-sizing: border-box; }
.c-popup .o-btn--primary { background: #374151; color: #fff; }
.c-popup .o-btn--primary:hover { background: #111827; }
.c-popup .o-btn--arrows { background: var(--buttons-color, #da2343); color: var(--buttons-text-color, #fff); }
.c-popup .o-btn--arrows:hover { opacity: 0.9; }
@media (max-width: 640px) {
  .c-popup__inside { padding: 20px; }
  .c-popup .o-cols--2 { grid-template-columns: 1fr; }
}

/* Cover div */
.u-cover { position: absolute; left: 0; top: 0; z-index: 200; width: 100%; height: 100%; background: white; }

/* ========================================
   V3 Component Fixes
   ======================================== */

/* Reset v1 class artifacts */
.o-btn, .o-quantity, .js-quantity, input, button, i { outline: none; }
.o-btn { border: none; }

/* Quantity selector */
.o-quantity, .js-quantity {
  display: flex !important; align-items: center !important;
  border: 2px solid #e5e7eb !important; border-radius: 0.75rem !important;
  overflow: hidden !important; background: #fff !important;
}
.o-quantity i, .js-quantity i {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 3rem !important; height: 3.5rem !important; font-style: normal !important;
  color: #9ca3af !important; cursor: pointer !important; user-select: none !important;
  font-size: 1.25rem !important; border: none !important;
}
.o-quantity i:hover, .js-quantity i:hover { background: #f9fafb !important; color: #374151 !important; }
.o-quantity input, .js-quantity input {
  width: 3rem !important; height: 3.5rem !important; text-align: center !important;
  font-weight: 700 !important; font-size: 1rem !important;
  border-left: 2px solid #e5e7eb !important; border-right: 2px solid #e5e7eb !important;
  border-top: none !important; border-bottom: none !important;
  background: #fff !important; outline: none !important;
}

/* Add to cart button */
.o-btn.o-btn--primary.js-showPopup { border: none !important; border-radius: 0.75rem !important; cursor: pointer !important; }

/* Section tabs */
.v3-sec-tab { background: none !important; border: none !important; border-bottom: 3px solid transparent !important; outline: none !important; cursor: pointer !important; font-family: 'Inter', system-ui, sans-serif !important; }
.v3-sec-tab:hover { border-bottom-color: var(--buttons-color, #da2343) !important; color: #111827 !important; }
.v3-sec-tab.active { color: #111827 !important; border-bottom-color: var(--buttons-color, #da2343) !important; }

/* Sticky tabs container */
#v3-section-tabs { background: #fff !important; border-top: 1px solid #e5e7eb !important; border-bottom: 1px solid #e5e7eb !important; }

/* Border utilities */
.border-t { border-top-style: solid; }
.border-b { border-bottom-style: solid; }
section .border-2 { border-style: solid; }
a { text-decoration: none; }

/* Product set links */
.o-btn.o-btn--secondary { display: block !important; width: 100% !important; padding: 12px 20px !important; text-align: center !important; font-weight: 700 !important; font-size: 13px !important; border-radius: 0.75rem !important; text-decoration: none !important; cursor: pointer !important; border: none !important; }

/* Sticky buy bar */
.v3-buy-bar { z-index: 30; }
.v3-buy-bar + div { height: 4rem !important; }

/* Delivery rows */
.divide-y > * + * { border-top: 1px solid #e5e7eb; }

/* Typography */
.text-gray-600 p { margin-bottom: 1rem; }
.text-gray-600 p:last-child { margin-bottom: 0; }
.text-gray-600 strong { color: #111827; }

/* Star rating */
.star-rating { display: inline-flex; position: relative; }
.star-rating__current { position: absolute; top: 0; left: 0; overflow: hidden; color: #FF8C00; }

/* Mobile */
@media (max-width: 640px) {
  .text-\[2\.25rem\] { font-size: 1.75rem; }
  .text-\[2\.75rem\] { font-size: 2rem; }
}

/* Category cards — visible border */
.v3-category-card {
  border: 2px solid #e5e7eb !important;
  border-radius: 1rem !important;
  padding: 1.5rem !important;
  background: #fff !important;
  transition: all 0.2s !important;
}
.v3-category-card:hover {
  border-color: var(--buttons-color, #da2343) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}

/* Testimonial — spacing between content, author and product name */
.v3-testimonial-card .flex.items-center.gap-3 { margin-top: 1rem; }
.v3-testimonial-card p.text-\[11px\] { margin-top: 0.25rem; line-height: 1.4; }

/* Use transparent black instead of solid grey for backgrounds with red hue */
.text-gray-400 { color: rgba(0,0,0,0.35) !important; }
.text-gray-500 { color: rgba(0,0,0,0.45) !important; }
.text-gray-600 { color: rgba(0,0,0,0.55) !important; }
.border-gray-100 { border-color: rgba(0,0,0,0.06) !important; }
.border-gray-200 { border-color: rgba(0,0,0,0.1) !important; }
.bg-gray-50 { background-color: rgba(0,0,0,0.02) !important; }
