/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, sans-serif;--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-stone-100:oklch(97% .001 106.424);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-3xl:1.5rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--blur-xl:24px;--blur-3xl:64px;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Inter", ui-sans-serif, system-ui, sans-serif;--default-mono-font-family:var(--font-mono);--font-display:"Playfair Display", "Cormorant Garamond", ui-serif, Georgia, serif;--color-background:var(--background);--color-foreground:var(--foreground);--color-border:var(--border);--color-sage-deep:var(--sage-deep);--color-spice-soft:var(--spice-soft);--color-ink:var(--ink)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--color-border)}html{scroll-behavior:smooth}body{background-color:var(--color-background);color:var(--color-foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;letter-spacing:-.005em;font-weight:400}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.015em;font-weight:400}}@layer components;@layer utilities{.grain{isolation:isolate;position:relative}.grain:after{content:"";pointer-events:none;background-image:radial-gradient(var(--color-ink) 1px, transparent 1px);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.grain:after{background-image:radial-gradient(color-mix(in oklab, var(--color-ink) 8%, transparent) 1px, transparent 1px)}}.grain:after{opacity:.35;mix-blend-mode:multiply;z-index:-1;background-size:3px 3px}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.link-underline{position:relative}.link-underline:after{content:"";transform-origin:100%;background:currentColor;width:100%;height:1px;transition:transform .5s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.link-underline:hover:after{transform-origin:0;transform:scaleX(1)}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.-top-4{top:calc(var(--spacing) * -4)}.-top-12{top:calc(var(--spacing) * -12)}.-top-16{top:calc(var(--spacing) * -16)}.-top-40{top:calc(var(--spacing) * -40)}.top-0{top:calc(var(--spacing) * 0)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3\.5{top:calc(var(--spacing) * 3.5)}.top-4{top:calc(var(--spacing) * 4)}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.-right-4{right:calc(var(--spacing) * -4)}.-right-12{right:calc(var(--spacing) * -12)}.-right-16{right:calc(var(--spacing) * -16)}.-right-40{right:calc(var(--spacing) * -40)}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-6{right:calc(var(--spacing) * 6)}.-bottom-12{bottom:calc(var(--spacing) * -12)}.-bottom-40{bottom:calc(var(--spacing) * -40)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-6{bottom:calc(var(--spacing) * 6)}.-left-12{left:calc(var(--spacing) * -12)}.-left-40{left:calc(var(--spacing) * -40)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-5{left:calc(var(--spacing) * 5)}.left-\[9px\]{left:9px}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[90\]{z-index:90}.z-\[100\]{z-index:100}.col-span-2{grid-column:span 2/span 2}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.mx-auto{margin-inline:auto}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.-mt-4{margin-top:calc(var(--spacing) * -4)}.-mt-16{margin-top:calc(var(--spacing) * -16)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-24{margin-top:calc(var(--spacing) * 24)}.mt-32{margin-top:calc(var(--spacing) * 32)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-14{margin-bottom:calc(var(--spacing) * 14)}.mb-16{margin-bottom:calc(var(--spacing) * 16)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.-ml-4{margin-left:calc(var(--spacing) * -4)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-\[16\/10\]{aspect-ratio:16/10}.aspect-\[16\/11\]{aspect-ratio:16/11}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-\(--cell-size\){width:var(--cell-size);height:var(--cell-size)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.rule-thin{background:var(--color-ink);height:1px}@supports (color:color-mix(in lab, red, red)){.rule-thin{background:color-mix(in oklab, var(--color-ink) 15%, transparent)}}.h-\(--cell-size\){height:var(--cell-size)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-32{height:calc(var(--spacing) * 32)}.h-48{height:calc(var(--spacing) * 48)}.h-\[1px\]{height:1px}.h-\[18px\]{height:18px}.h-\[520px\]{height:520px}.h-\[600px\]{height:600px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--radix-context-menu-content-available-height\){max-height:var(--radix-context-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[300px\]{max-height:300px}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[60px\]{min-height:60px}.min-h-\[88vh\]{min-height:88vh}.min-h-\[480px\]{min-height:480px}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-\(--cell-size\){width:var(--cell-size)}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-0{width:calc(var(--spacing) * 0)}.w-1{width:calc(var(--spacing) * 1)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-48{width:calc(var(--spacing) * 48)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-\[1px\]{width:1px}.w-\[18px\]{width:18px}.w-\[92vw\]{width:92vw}.w-\[100px\]{width:100px}.w-\[520px\]{width:520px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[1000px\]{max-width:1000px}.max-w-\[1200px\]{max-width:1200px}.max-w-\[1400px\]{max-width:1400px}.max-w-\[1500px\]{max-width:1500px}.max-w-lg{max-width:var(--container-lg)}.max-w-max{max-width:max-content}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-\(--cell-size\){min-width:var(--cell-size)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\(--radix-context-menu-content-transform-origin\){transform-origin:var(--radix-context-menu-content-transform-origin)}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-hover-card-content-transform-origin\){transform-origin:var(--radix-hover-card-content-transform-origin)}.origin-\(--radix-menubar-content-transform-origin\){transform-origin:var(--radix-menubar-content-transform-origin)}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-1\.5{--tw-translate-y:calc(var(--spacing) * 1.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-45{rotate:-45deg}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.hover-lift{transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}.hover-lift:hover{box-shadow:0 30px 60px -30px var(--color-ink);transform:translateY(-4px)}@supports (color:color-mix(in lab, red, red)){.hover-lift:hover{box-shadow:0 30px 60px -30px color-mix(in oklab, var(--color-ink) 25%, transparent)}}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.reveal{opacity:0;animation:.9s cubic-bezier(.2,.7,.2,1) forwards reveal-up}.reveal-slow{opacity:0;animation:1.4s forwards reveal-fade}.animate-caret-blink{animation:1.25s ease-out infinite caret-blink}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize-none{resize:none}.list-none{list-style-type:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr)}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-9{gap:calc(var(--spacing) * 9)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-14{gap:calc(var(--spacing) * 14)}.gap-16{gap:calc(var(--spacing) * 16)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:calc(var(--radius) + 8px)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-l-md{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.rounded-r-md{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\(--color-border\){border-color:var(--color-border)}.border-border,.border-border\/30{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/30{border-color:color-mix(in oklab, var(--border) 30%, transparent)}}.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/50{border-color:color-mix(in oklab, var(--border) 50%, transparent)}}.border-border\/60{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/60{border-color:color-mix(in oklab, var(--border) 60%, transparent)}}.border-cream,.border-cream\/15{border-color:var(--cream)}@supports (color:color-mix(in lab, red, red)){.border-cream\/15{border-color:color-mix(in oklab, var(--cream) 15%, transparent)}}.border-cream\/30{border-color:var(--cream)}@supports (color:color-mix(in lab, red, red)){.border-cream\/30{border-color:color-mix(in oklab, var(--cream) 30%, transparent)}}.border-destructive\/50{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/50{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.border-emerald-700{border-color:var(--color-emerald-700)}.border-forest,.border-forest\/20{border-color:var(--forest)}@supports (color:color-mix(in lab, red, red)){.border-forest\/20{border-color:color-mix(in oklab, var(--forest) 20%, transparent)}}.border-forest\/25{border-color:var(--forest)}@supports (color:color-mix(in lab, red, red)){.border-forest\/25{border-color:color-mix(in oklab, var(--forest) 25%, transparent)}}.border-forest\/30{border-color:var(--forest)}@supports (color:color-mix(in lab, red, red)){.border-forest\/30{border-color:color-mix(in oklab, var(--forest) 30%, transparent)}}.border-gold\/40{border-color:var(--gold)}@supports (color:color-mix(in lab, red, red)){.border-gold\/40{border-color:color-mix(in oklab, var(--gold) 40%, transparent)}}.border-ink,.border-ink\/10{border-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.border-ink\/10{border-color:color-mix(in oklab, var(--ink) 10%, transparent)}}.border-ink\/15{border-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.border-ink\/15{border-color:color-mix(in oklab, var(--ink) 15%, transparent)}}.border-ink\/20{border-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.border-ink\/20{border-color:color-mix(in oklab, var(--ink) 20%, transparent)}}.border-ink\/30{border-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.border-ink\/30{border-color:color-mix(in oklab, var(--ink) 30%, transparent)}}.border-input{border-color:var(--input)}.border-neutral-200{border-color:var(--color-neutral-200)}.border-primary,.border-primary\/50{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/50{border-color:color-mix(in oklab, var(--primary) 50%, transparent)}}.border-spice,.border-spice\/30{border-color:var(--spice)}@supports (color:color-mix(in lab, red, red)){.border-spice\/30{border-color:color-mix(in oklab, var(--spice) 30%, transparent)}}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\(--color-bg\){background-color:var(--color-bg)}.bg-\[\#25D366\]{background-color:#25d366}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-cream,.bg-cream\/15{background-color:var(--cream)}@supports (color:color-mix(in lab, red, red)){.bg-cream\/15{background-color:color-mix(in oklab, var(--cream) 15%, transparent)}}.bg-cream\/40{background-color:var(--cream)}@supports (color:color-mix(in lab, red, red)){.bg-cream\/40{background-color:color-mix(in oklab, var(--cream) 40%, transparent)}}.bg-cream\/70{background-color:var(--cream)}@supports (color:color-mix(in lab, red, red)){.bg-cream\/70{background-color:color-mix(in oklab, var(--cream) 70%, transparent)}}.bg-cream\/80{background-color:var(--cream)}@supports (color:color-mix(in lab, red, red)){.bg-cream\/80{background-color:color-mix(in oklab, var(--cream) 80%, transparent)}}.bg-cream\/85{background-color:var(--cream)}@supports (color:color-mix(in lab, red, red)){.bg-cream\/85{background-color:color-mix(in oklab, var(--cream) 85%, transparent)}}.bg-cream\/90{background-color:var(--cream)}@supports (color:color-mix(in lab, red, red)){.bg-cream\/90{background-color:color-mix(in oklab, var(--cream) 90%, transparent)}}.bg-cream\/95{background-color:var(--cream)}@supports (color:color-mix(in lab, red, red)){.bg-cream\/95{background-color:color-mix(in oklab, var(--cream) 95%, transparent)}}.bg-cream\/\[0\.03\]{background-color:var(--cream)}@supports (color:color-mix(in lab, red, red)){.bg-cream\/\[0\.03\]{background-color:color-mix(in oklab, var(--cream) 3%, transparent)}}.bg-destructive{background-color:var(--destructive)}.bg-emerald-700{background-color:var(--color-emerald-700)}.bg-foreground{background-color:var(--foreground)}.bg-forest,.bg-forest\/5{background-color:var(--forest)}@supports (color:color-mix(in lab, red, red)){.bg-forest\/5{background-color:color-mix(in oklab, var(--forest) 5%, transparent)}}.bg-forest\/10{background-color:var(--forest)}@supports (color:color-mix(in lab, red, red)){.bg-forest\/10{background-color:color-mix(in oklab, var(--forest) 10%, transparent)}}.bg-gold,.bg-gold\/50{background-color:var(--gold)}@supports (color:color-mix(in lab, red, red)){.bg-gold\/50{background-color:color-mix(in oklab, var(--gold) 50%, transparent)}}.bg-gold\/60{background-color:var(--gold)}@supports (color:color-mix(in lab, red, red)){.bg-gold\/60{background-color:color-mix(in oklab, var(--gold) 60%, transparent)}}.bg-ink,.bg-ink\/40{background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.bg-ink\/40{background-color:color-mix(in oklab, var(--ink) 40%, transparent)}}.bg-ink\/60{background-color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.bg-ink\/60{background-color:color-mix(in oklab, var(--ink) 60%, transparent)}}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.bg-sage-deep{background-color:var(--sage-deep)}.bg-secondary,.bg-secondary\/40{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.bg-secondary\/40{background-color:color-mix(in oklab, var(--secondary) 40%, transparent)}}.bg-secondary\/50{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.bg-secondary\/50{background-color:color-mix(in oklab, var(--secondary) 50%, transparent)}}.bg-spice,.bg-spice\/10{background-color:var(--spice)}@supports (color:color-mix(in lab, red, red)){.bg-spice\/10{background-color:color-mix(in oklab, var(--spice) 10%, transparent)}}.bg-stone-100{background-color:var(--color-stone-100)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab, red, red)){.bg-white\/95{background-color:color-mix(in oklab, var(--color-white) 95%, transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-cream{--tw-gradient-from:var(--cream);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-ink\/50{--tw-gradient-from:var(--ink)}@supports (color:color-mix(in lab, red, red)){.from-ink\/50{--tw-gradient-from:color-mix(in oklab, var(--ink) 50%, transparent)}}.from-ink\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-ink\/60{--tw-gradient-from:var(--ink)}@supports (color:color-mix(in lab, red, red)){.from-ink\/60{--tw-gradient-from:color-mix(in oklab, var(--ink) 60%, transparent)}}.from-ink\/60{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-cream{--tw-gradient-via:var(--cream);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-secondary\/40{--tw-gradient-to:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.to-secondary\/40{--tw-gradient-to:color-mix(in oklab, var(--secondary) 40%, transparent)}}.to-secondary\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.fill-current{fill:currentColor}.fill-none{fill:none}.fill-primary{fill:var(--primary)}.stroke-current{stroke:currentColor}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-center{object-position:center}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.p-12{padding:calc(var(--spacing) * 12)}.p-\[1px\]{padding:1px}.px-\(--cell-size\){padding-inline:var(--cell-size)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-7{padding-inline:calc(var(--spacing) * 7)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-24{padding-block:calc(var(--spacing) * 24)}.py-28{padding-block:calc(var(--spacing) * 28)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-24{padding-top:calc(var(--spacing) * 24)}.pt-28{padding-top:calc(var(--spacing) * 28)}.pt-32{padding-top:calc(var(--spacing) * 32)}.pt-40{padding-top:calc(var(--spacing) * 40)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-14{padding-bottom:calc(var(--spacing) * 14)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pb-32{padding-bottom:calc(var(--spacing) * 32)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-display{font-family:Playfair Display,Cormorant Garamond,ui-serif,Georgia,serif}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:Inter,ui-sans-serif,system-ui,sans-serif}.font-serif{font-family:var(--font-serif)}.display-lg{letter-spacing:-.03em;font-size:clamp(2rem,4.5vw,3.75rem);font-weight:300;line-height:1.05}.display-xl{letter-spacing:-.035em;font-size:clamp(2.5rem,6vw,5.25rem);font-weight:300;line-height:1.02}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--color-sage-deep);font-size:.72rem;font-weight:500}.text-\[0\.8rem\]{font-size:.8rem}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.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-\[18px\]{font-size:18px}.text-\[26px\]{font-size:26px}.text-\[44px\]{font-size:44px}.leading-\[1\.02\]{--tw-leading:1.02;line-height:1.02}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.3em\]{--tw-tracking:.3em;letter-spacing:.3em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[0\.22em\]{--tw-tracking:.22em;letter-spacing:.22em}.tracking-\[0\.24em\]{--tw-tracking:.24em;letter-spacing:.24em}.tracking-\[0\.28em\]{--tw-tracking:.28em;letter-spacing:.28em}.tracking-\[0\.32em\]{--tw-tracking:.32em;letter-spacing:.32em}.tracking-\[0\.34em\]{--tw-tracking:.34em;letter-spacing:.34em}.tracking-\[0\.36em\]{--tw-tracking:.36em;letter-spacing:.36em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.text-accent-foreground{color:var(--accent-foreground)}.text-black\/45{color:#00000073}@supports (color:color-mix(in lab, red, red)){.text-black\/45{color:color-mix(in oklab, var(--color-black) 45%, transparent)}}.text-black\/50{color:#00000080}@supports (color:color-mix(in lab, red, red)){.text-black\/50{color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.text-black\/55{color:#0000008c}@supports (color:color-mix(in lab, red, red)){.text-black\/55{color:color-mix(in oklab, var(--color-black) 55%, transparent)}}.text-black\/65{color:#000000a6}@supports (color:color-mix(in lab, red, red)){.text-black\/65{color:color-mix(in oklab, var(--color-black) 65%, transparent)}}.text-card-foreground{color:var(--card-foreground)}.text-cream,.text-cream\/60{color:var(--cream)}@supports (color:color-mix(in lab, red, red)){.text-cream\/60{color:color-mix(in oklab, var(--cream) 60%, transparent)}}.text-cream\/70{color:var(--cream)}@supports (color:color-mix(in lab, red, red)){.text-cream\/70{color:color-mix(in oklab, var(--cream) 70%, transparent)}}.text-cream\/75{color:var(--cream)}@supports (color:color-mix(in lab, red, red)){.text-cream\/75{color:color-mix(in oklab, var(--cream) 75%, transparent)}}.text-cream\/80{color:var(--cream)}@supports (color:color-mix(in lab, red, red)){.text-cream\/80{color:color-mix(in oklab, var(--cream) 80%, transparent)}}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-emerald-700{color:var(--color-emerald-700)}.text-foreground{color:var(--foreground)}.text-forest,.text-forest\/80{color:var(--forest)}@supports (color:color-mix(in lab, red, red)){.text-forest\/80{color:color-mix(in oklab, var(--forest) 80%, transparent)}}.text-forest\/85{color:var(--forest)}@supports (color:color-mix(in lab, red, red)){.text-forest\/85{color:color-mix(in oklab, var(--forest) 85%, transparent)}}.text-gold{color:var(--gold)}.text-ink,.text-ink\/40{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.text-ink\/40{color:color-mix(in oklab, var(--ink) 40%, transparent)}}.text-ink\/50{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.text-ink\/50{color:color-mix(in oklab, var(--ink) 50%, transparent)}}.text-ink\/60{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.text-ink\/60{color:color-mix(in oklab, var(--ink) 60%, transparent)}}.text-ink\/70{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.text-ink\/70{color:color-mix(in oklab, var(--ink) 70%, transparent)}}.text-ink\/80{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.text-ink\/80{color:color-mix(in oklab, var(--ink) 80%, transparent)}}.text-muted-foreground{color:var(--muted-foreground)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-800{color:var(--color-neutral-800)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-sage-deep{color:var(--sage-deep)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-spice,.text-spice\/10{color:var(--spice)}@supports (color:color-mix(in lab, red, red)){.text-spice\/10{color:color-mix(in oklab, var(--spice) 10%, transparent)}}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-\[0\.05\]{opacity:.05}.opacity-\[0\.06\]{opacity:.06}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_var\(--sidebar-border\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_2px_20px_-10px_rgba\(0\,0\,0\,0\.15\)\]{--tw-shadow:0 2px 20px -10px var(--tw-shadow-color,#00000026);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_10px_30px_-10px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow:0 10px 30px -10px var(--tw-shadow-color,#00000059);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_18px_40px_-18px_rgba\(31\,94\,59\,0\.55\)\]{--tw-shadow:0 18px 40px -18px var(--tw-shadow-color,#1f5e3b8c);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_20px_50px_-15px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow:0 20px 50px -15px var(--tw-shadow-color,#00000059);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_30px_60px_-30px_rgba\(23\,72\,45\,0\.4\)\]{--tw-shadow:0 30px 60px -30px var(--tw-shadow-color,#17482d66);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_30px_80px_-20px_rgba\(0\,0\,0\,0\.25\)\]{--tw-shadow:0 30px 80px -20px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_30px_80px_-20px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow:0 30px 80px -20px var(--tw-shadow-color,#00000059);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_30px_80px_-30px_rgba\(0\,0\,0\,0\.3\)\]{--tw-shadow:0 30px 80px -30px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-ring{--tw-ring-color:var(--ring)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur-3xl{--tw-blur:blur(var(--blur-3xl));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,)}.filter{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,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.\[--cell-size\:2rem\]{--cell-size:2rem}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:scale-\[1\.02\]:is(:where(.group):hover *){scale:1.02}.group-hover\:rotate-6:is(:where(.group):hover *){rotate:6deg}.group-hover\:bg-forest:is(:where(.group):hover *){background-color:var(--forest)}.group-hover\:text-cream:is(:where(.group):hover *){color:var(--cream)}.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:\!size-8:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + 1rem)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:\!p-0:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 0)!important}.group-data-\[collapsible\=icon\]\:\!p-2:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing) * 0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[focused\=true\]\/day\:relative:is(:where(.group\/day)[data-focused=true] *){position:relative}.group-data-\[focused\=true\]\/day\:z-10:is(:where(.group\/day)[data-focused=true] *){z-index:10}.group-data-\[focused\=true\]\/day\:border-ring:is(:where(.group\/day)[data-focused=true] *){border-color:var(--ring)}.group-data-\[focused\=true\]\/day\:ring-\[3px\]:is(:where(.group\/day)[data-focused=true] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing) * 0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state=open] *){rotate:180deg}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:shadow:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-\[\.toast\]\:bg-muted:is(:where(.group).toast *){background-color:var(--muted)}.group-\[\.toast\]\:bg-primary:is(:where(.group).toast *){background-color:var(--primary)}.group-\[\.toast\]\:text-muted-foreground:is(:where(.group).toast *){color:var(--muted-foreground)}.group-\[\.toast\]\:text-primary-foreground:is(:where(.group).toast *){color:var(--primary-foreground)}.group-\[\.toaster\]\:border-border:is(:where(.group).toaster *){border-color:var(--border)}.group-\[\.toaster\]\:bg-background:is(:where(.group).toaster *){background-color:var(--background)}.group-\[\.toaster\]\:text-foreground:is(:where(.group).toaster *){color:var(--foreground)}.group-\[\.toaster\]\:shadow-lg:is(:where(.group).toaster *){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing) * 1)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-ink\/40::placeholder{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.placeholder\:text-ink\/40::placeholder{color:color-mix(in oklab, var(--ink) 40%, transparent)}}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:calc(var(--spacing) * 1)}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:gap-3:hover{gap:calc(var(--spacing) * 3)}.hover\:border-forest:hover{border-color:var(--forest)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-black\/5:hover{background-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-black\/5:hover{background-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.hover\:bg-cream:hover,.hover\:bg-cream\/10:hover{background-color:var(--cream)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-cream\/10:hover{background-color:color-mix(in oklab, var(--cream) 10%, transparent)}}.hover\:bg-destructive\/80:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab, var(--destructive) 80%, transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-emerald-50:hover{background-color:var(--color-emerald-50)}.hover\:bg-emerald-800:hover{background-color:var(--color-emerald-800)}.hover\:bg-forest\/90:hover{background-color:var(--forest)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-forest\/90:hover{background-color:color-mix(in oklab, var(--forest) 90%, transparent)}}.hover\:bg-ink:hover{background-color:var(--ink)}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.hover\:bg-neutral-50:hover{background-color:var(--color-neutral-50)}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary:hover,.hover\:bg-secondary\/50:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/50:hover{background-color:color-mix(in oklab, var(--secondary) 50%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:bg-spice:hover{background-color:var(--spice)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-cream:hover{color:var(--cream)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-forest:hover{color:var(--forest)}.hover\:text-ink:hover{color:var(--ink)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-spice:hover{color:var(--spice)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_var\(--sidebar-accent\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-\[0_10px_30px_-15px_rgba\(0\,0\,0\,0\.25\)\]:hover{--tw-shadow:0 10px 30px -15px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-\[0_25px_60px_-15px_rgba\(0\,0\,0\,0\.45\)\]:hover{--tw-shadow:0 25px 60px -15px var(--tw-shadow-color,#00000073);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:brightness-95:hover{--tw-brightness:brightness(95%);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,)}}.focus\:border-ink:focus{border-color:var(--ink)}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--background)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-focus\:border-ring:has(:focus){border-color:var(--ring)}.has-focus\:ring-\[3px\]:has(:focus){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-focus\:ring-ring\/50:has(:focus){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.has-focus\:ring-ring\/50:has(:focus){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:text-muted-foreground[aria-selected=true]{color:var(--muted-foreground)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:calc(52*var(--spacing))}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:calc(52*var(--spacing)*-1)}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:calc(52*var(--spacing))}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:calc(52*var(--spacing)*-1)}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-]{--tw-exit-opacity:0}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:calc(var(--spacing) * 0)}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:calc(var(--spacing) * 1)}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[range-end\=true\]\:rounded-md[data-range-end=true]{border-radius:calc(var(--radius) - 2px)}.data-\[range-end\=true\]\:bg-primary[data-range-end=true]{background-color:var(--primary)}.data-\[range-end\=true\]\:text-primary-foreground[data-range-end=true]{color:var(--primary-foreground)}.data-\[range-middle\=true\]\:rounded-none[data-range-middle=true]{border-radius:0}.data-\[range-middle\=true\]\:bg-accent[data-range-middle=true]{background-color:var(--accent)}.data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle=true]{color:var(--accent-foreground)}.data-\[range-start\=true\]\:rounded-md[data-range-start=true]{border-radius:calc(var(--radius) - 2px)}.data-\[range-start\=true\]\:bg-primary[data-range-start=true]{background-color:var(--primary)}.data-\[range-start\=true\]\:text-primary-foreground[data-range-start=true]{color:var(--primary-foreground)}.data-\[selected-single\=true\]\:bg-primary[data-selected-single=true]{background-color:var(--primary)}.data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single=true]{color:var(--primary-foreground)}.data-\[selected\=true\]\:rounded-none[data-selected=true]{border-radius:0}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=hidden\]\:animate-out[data-state=hidden]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:var(--accent)}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:var(--accent-foreground)}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open],.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}@media (hover:hover){.data-\[state\=open\]\:hover\:bg-accent[data-state=open]:hover{background-color:var(--accent)}}.data-\[state\=open\]\:focus\:bg-accent[data-state=open]:focus{background-color:var(--accent)}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}.data-\[state\=visible\]\:animate-in[data-state=visible]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}@media (width>=40rem){.sm\:left-\[calc\(8rem\+9px\)\]{left:calc(8rem + 9px)}.sm\:mt-0{margin-top:calc(var(--spacing) * 0)}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[8rem_1fr\]{grid-template-columns:8rem 1fr}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:calc(var(--spacing) * 2.5)}.sm\:gap-8{gap:calc(var(--spacing) * 8)}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:py-12{padding-block:calc(var(--spacing) * 12)}.sm\:pt-32{padding-top:calc(var(--spacing) * 32)}.sm\:pl-8{padding-left:calc(var(--spacing) * 8)}.sm\:text-left{text-align:left}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}@media (width>=48rem){.md\:absolute{position:absolute}.md\:block{display:block}.md\:flex{display:flex}.md\:inline{display:inline}.md\:inline-flex{display:inline-flex}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.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-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-\[1fr_220px\]{grid-template-columns:1fr 220px}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:gap-8{gap:calc(var(--spacing) * 8)}.md\:p-12{padding:calc(var(--spacing) * 12)}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing) * 0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2:is(:where(.peer)[data-state=collapsed]~*):is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing) * 2)}}.after\:md\:hidden:after{content:var(--tw-content)}@media (width>=48rem){.after\:md\:hidden:after{display:none}}@media (width>=64rem){.lg\:sticky{position:sticky}.lg\:top-32{top:calc(var(--spacing) * 32)}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.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\:col-span-8{grid-column:span 8/span 8}.lg\:mt-0{margin-top:calc(var(--spacing) * 0)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:inline{display:inline}.lg\:min-h-\[92vh\]{min-height:92vh}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-\[1fr_1\.4fr\]{grid-template-columns:1fr 1.4fr}.lg\:grid-cols-\[280px_1fr\]{grid-template-columns:280px 1fr}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}.lg\:self-start{align-self:flex-start}.lg\:p-12{padding:calc(var(--spacing) * 12)}.lg\:px-10{padding-inline:calc(var(--spacing) * 10)}.lg\:px-12{padding-inline:calc(var(--spacing) * 12)}.lg\:py-20{padding-block:calc(var(--spacing) * 20)}.lg\:py-32{padding-block:calc(var(--spacing) * 32)}.lg\:py-36{padding-block:calc(var(--spacing) * 36)}.lg\:pt-40{padding-top:calc(var(--spacing) * 40)}.lg\:pt-52{padding-top:calc(var(--spacing) * 52)}.lg\:pb-16{padding-bottom:calc(var(--spacing) * 16)}.lg\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}@media (width>=80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.dark\:border-destructive:is(.dark *){border-color:var(--destructive)}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:var(--muted-foreground)}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc]{stroke:var(--border)}@supports (color:color-mix(in lab, red, red)){.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc]{stroke:color-mix(in oklab, var(--border) 50%, transparent)}}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:var(--border)}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{--tw-outline-style:none;outline-style:none}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke=\#ccc]{stroke:var(--border)}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:var(--muted)}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke=\#ccc]{stroke:var(--border)}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector{--tw-outline-style:none;outline-style:none}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{--tw-outline-style:none;outline-style:none}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing) * 0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}:is(.rtl\:\*\*\:\[\.rdp-button\\_next\>svg\]\:rotate-180:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_next>svg),:is(.rtl\:\*\*\:\[\.rdp-button\\_previous\>svg\]\:rotate-180:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_previous>svg){rotate:180deg}.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>span\]\:text-xs>span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&\>span\]\:opacity-70>span{opacity:.7}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing) * 4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing) * 4)}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:h-2\.5>svg{height:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:h-3>svg{height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:h-3\.5>svg{height:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:w-2\.5>svg{width:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:w-3>svg{width:calc(var(--spacing) * 3)}.\[\&\>svg\]\:w-3\.5>svg{width:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:var(--destructive)}.\[\&\>svg\]\:text-foreground>svg{color:var(--foreground)}.\[\&\>svg\]\:text-muted-foreground>svg{color:var(--muted-foreground)}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing) * 7)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{rotate:90deg}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing) * -2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize,[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing) * -2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent,[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent{background-color:#0000}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.5rem;--cream:#faf7f0;--ink:#1a1413;--forest:#c41e22;--sage:#e05356;--sage-deep:#a3161a;--spice:#d52326;--spice-soft:#fae8e8;--gold:#e5a910;--background:var(--cream);--foreground:var(--ink);--card:oklch(99.5% .004 85);--card-foreground:var(--ink);--popover:var(--cream);--popover-foreground:var(--ink);--primary:var(--ink);--primary-foreground:var(--cream);--secondary:oklch(94% .008 85);--secondary-foreground:var(--ink);--muted:oklch(94% .008 85);--muted-foreground:oklch(45% .01 60);--accent:var(--sage);--accent-foreground:var(--cream);--destructive:oklch(55% .2 27);--destructive-foreground:var(--cream);--border:oklch(90% .01 80);--input:oklch(90% .01 80);--ring:var(--sage)}@keyframes reveal-up{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-fade{0%{opacity:0}to{opacity:1}}@keyframes float-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes spin-slow{to{transform:rotate(360deg)}}mark.search-hl{background-color:var(--gold)}@supports (color:color-mix(in lab, red, red)){mark.search-hl{background-color:color-mix(in oklab, var(--gold) 55%, transparent)}}mark.search-hl{color:inherit;border-radius:2px;padding:0 2px;transition:background-color .4s,box-shadow .4s}mark.search-hl.search-hl-active{background-color:var(--gold);box-shadow:0 0 0 3px var(--gold)}@supports (color:color-mix(in lab, red, red)){mark.search-hl.search-hl-active{box-shadow:0 0 0 3px color-mix(in oklab, var(--gold) 40%, transparent)}}mark.search-hl.search-hl-fade{background-color:var(--gold)}@supports (color:color-mix(in lab, red, red)){mark.search-hl.search-hl-fade{background-color:color-mix(in oklab, var(--gold) 20%, transparent)}}mark.search-hl.search-hl-fade{box-shadow:none}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}to{height:0}}@keyframes caret-blink{0%,70%,to{opacity:1}20%,50%{opacity:0}}


/* ==============================================================
   NUTCHY FOODS BRAND EXTENSIONS & CUSTOM STYLES
   ============================================================== */
:root {
  --nutchy-red: #d52326;
  --nutchy-crimson: #c41e22;
  --nutchy-gold: #e5a910;
  --nutchy-yellow: #fcd702;
  --nutchy-cream: #faf7f0;
  --nutchy-cream-warm: #f5efe3;
  --nutchy-ink: #1a1413;
  --nutchy-espresso: #241c1a;
}

.text-nutchy-red { color: var(--nutchy-red); }
.bg-nutchy-red { background-color: var(--nutchy-red); }
.border-nutchy-red { border-color: var(--nutchy-red); }

.text-nutchy-gold { color: var(--nutchy-gold); }
.bg-nutchy-gold { background-color: var(--nutchy-gold); }
.border-nutchy-gold { border-color: var(--nutchy-gold); }

/* Flavour filter tabs */
.flavour-tab.active {
  background-color: var(--nutchy-crimson);
  color: #ffffff;
  border-color: var(--nutchy-crimson);
  box-shadow: 0 10px 25px -10px rgba(196, 30, 34, 0.45);
}

.flavour-card {
  transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.4s ease;
}

.flavour-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 25px 50px -20px rgba(26, 20, 19, 0.2);
}

.flavour-card:hover .product-img {
  transform: scale(1.08) rotate(2deg);
}

.product-img {
  transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* Glassmorphism badge */
.badge-glass {
  background: rgba(250, 247, 240, 0.85);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(196, 30, 34, 0.2);
}


/* ==============================================================
   HIGH-END FINISHING & MICRO-INTERACTIONS
   ============================================================== */
@keyframes float-gentle {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

@keyframes pulse-subtle {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.04); opacity: 0.92; }
}

.animate-float-gentle {
  animation: float-gentle 4s ease-in-out infinite;
}

.animate-pulse-subtle {
  animation: pulse-subtle 3s ease-in-out infinite;
}

.gold-glow {
  background: radial-gradient(circle at center, rgba(245, 181, 8, 0.18) 0%, rgba(245, 181, 8, 0.04) 50%, transparent 70%);
}

.red-glow {
  background: radial-gradient(circle at center, rgba(213, 35, 38, 0.16) 0%, transparent 68%);
}

/* Glassmorphism Card */
.glass-panel {
  background: rgba(250, 247, 240, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(196, 30, 34, 0.15);
}

.glass-panel-dark {
  background: rgba(26, 20, 19, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

/* Enhanced Tab Active */
.flavour-tab {
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.flavour-tab:hover:not(.active) {
  background-color: rgba(26, 20, 19, 0.05);
  border-color: rgba(196, 30, 34, 0.3);
}

.flavour-tab.active {
  background-color: var(--nutchy-crimson) !important;
  color: #ffffff !important;
  border-color: var(--nutchy-crimson) !important;
  box-shadow: 0 10px 25px -10px rgba(196, 30, 34, 0.5) !important;
}

/* Floating Actions */
.floating-action-btn {
  box-shadow: 0 12px 30px -8px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.3s ease;
}

.floating-action-btn:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 18px 36px -8px rgba(0, 0, 0, 0.4);
}

/* Modal Smooth Zoom */
.modal-dialog-content {
  animation: modal-zoom 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes modal-zoom {
  0% { opacity: 0; transform: scale(0.95) translateY(12px); }
  100% { opacity: 1; transform: scale(1) translateY(0); }
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: #f4ede0;
}
::-webkit-scrollbar-thumb {
  background: #d4c5ae;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #b81d20;
}

/* ==================== NUTCHY LUXURY ANIMATIONS ==================== */

@keyframes float-gentle {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-10px) rotate(1.2deg); }
}

@keyframes float-reverse {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(10px) rotate(-1.2deg); }
}

@keyframes pulse-glow {
  0%, 100% { opacity: 0.35; transform: scale(1); }
  50% { opacity: 0.85; transform: scale(1.1); }
}

@keyframes shimmer-gold {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.animate-float-gentle {
  animation: float-gentle 4.5s ease-in-out infinite;
}

.animate-float-reverse {
  animation: float-reverse 5.5s ease-in-out infinite;
}

.animate-pulse-glow {
  animation: pulse-glow 3.5s ease-in-out infinite;
}

@keyframes float-spice-1 {
  0%, 100% { transform: translateY(0px) rotate(-16deg) scale(1); }
  50% { transform: translateY(-14px) rotate(-10deg) scale(1.02); }
}

@keyframes float-spice-2 {
  0%, 100% { transform: translateY(0px) rotate(20deg) scale(1); }
  50% { transform: translateY(12px) rotate(26deg) scale(0.98); }
}

@keyframes float-spice-3 {
  0%, 100% { transform: translateY(0px) rotate(-6deg); }
  50% { transform: translateY(-10px) rotate(2deg); }
}

.animate-spice-1 {
  animation: float-spice-1 5s ease-in-out infinite;
}

.animate-spice-2 {
  animation: float-spice-2 6.2s ease-in-out infinite;
}

.animate-spice-3 {
  animation: float-spice-3 4.4s ease-in-out infinite;
}


/* Luxury Category Cards */
.cat-card-lux {
  position: relative;
  background: #ffffff;
  border: 1px solid rgba(26, 20, 19, 0.08);
  border-radius: 1.75rem;
  box-shadow: 0 4px 20px -4px rgba(26, 20, 19, 0.05), 0 2px 6px -1px rgba(26, 20, 19, 0.03);
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  overflow: hidden;
}

.cat-card-lux::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #d52326, #fcd702);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 10;
}

.cat-card-lux:hover {
  transform: translateY(-8px);
  border-color: rgba(213, 35, 38, 0.35);
  box-shadow: 0 24px 48px -12px rgba(213, 35, 38, 0.14), 0 10px 20px -5px rgba(26, 20, 19, 0.05);
}

.cat-card-lux:hover::before {
  opacity: 1;
}

.cat-stage-pedestal {
  position: absolute;
  width: 170px;
  height: 170px;
  border-radius: 9999px;
  background: radial-gradient(circle, rgba(252, 215, 2, 0.32) 0%, rgba(213, 35, 38, 0.06) 55%, transparent 75%);
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.cat-card-lux:hover .cat-stage-pedestal {
  transform: scale(1.22);
}

.cat-pill-nav {
  position: relative;
  transition: all 0.3s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.cat-pill-nav:hover {
  transform: translateY(-2px);
  border-color: #d52326;
  color: #d52326;
  box-shadow: 0 8px 20px -6px rgba(213, 35, 38, 0.25);
}

.cat-pill-nav.active {
  background: #d52326;
  color: #ffffff;
  border-color: #d52326;
  box-shadow: 0 10px 25px -8px rgba(213, 35, 38, 0.45);
}

/* Shimmer Gold Effect */
.gold-shimmer-badge {
  background: linear-gradient(90deg, rgba(252, 215, 2, 0.15) 0%, rgba(252, 215, 2, 0.4) 50%, rgba(252, 215, 2, 0.15) 100%);
  background-size: 200% 100%;
  animation: shimmer-gold 3s linear infinite;
}

/* Categories Dropdown Single Line */
#categories-dropdown {
  min-width: 230px !important;
  width: max-content !important;
  white-space: nowrap !important;
  background-color: #faf7f0 !important;
  z-index: 9999 !important;
}

#categories-dropdown a {
  white-space: nowrap !important;
}

/* ==================== SECTION WISE SCROLL REVEAL ==================== */
.reveal-section {
  opacity: 0;
  transform: translateY(35px);
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1), transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.reveal-section.is-revealed {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Child stagger items */
.reveal-child {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.is-revealed .reveal-child {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Stagger delays */
.delay-100 { transition-delay: 100ms !important; }
.delay-150 { transition-delay: 150ms !important; }
.delay-200 { transition-delay: 200ms !important; }
.delay-250 { transition-delay: 250ms !important; }
/* ==================== HERO LUXURY BANNER & FLOATING SPICES ==================== */
.hero-display-heading {
  font-family: var(--font-display, "Playfair Display", Georgia, serif) !important;
  font-size: clamp(2.2rem, 5.5vw, 5.2rem) !important;
  font-weight: 300 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.03em !important;
  color: #1a1413 !important;
  max-width: 100% !important;
  word-break: break-word !important;
}

.hero-stage {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
}

.hero-bowls-img {
  position: relative;
  z-index: 10;
  width: 100%;
  max-width: 500px;
  height: auto;
  object-fit: contain;
  opacity: 1;
  filter: drop-shadow(0 24px 48px rgba(0, 0, 0, 0.20));
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.hero-bowls-img:hover {
  transform: scale(1.02);
}

/* ==================== ARTISANAL TABLETOP CATEGORY STAGING (OPEN & SPACIOUS) ==================== */
.category-tabletop-container {
  position: relative;
  width: 100%;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 2.5rem 0 2rem !important;
}

/* Tabletop Texture & Soft Ambient Glow */
.category-tabletop-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 40%, rgba(255, 255, 255, 0.7) 0%, rgba(250, 247, 240, 0) 75%);
  z-index: 0;
}

/* Scattered Whole Spice Props with Realistic Surface Shadows */
.tabletop-spice-prop {
  position: absolute;
  pointer-events: none;
  z-index: 3;
  filter: drop-shadow(0 14px 18px rgba(26, 20, 19, 0.22));
  opacity: 0.92;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Staggered Modern Wave Layout for the 5 Bowls */
.category-tabletop-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.5rem;
  position: relative;
  z-index: 2;
  align-items: center;
}

@media (max-width: 1024px) {
  .category-tabletop-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem;
  }
}

@media (max-width: 640px) {
  .category-tabletop-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
  }
}

.tabletop-bowl-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  cursor: pointer;
  padding: 1.75rem 0.75rem 1.5rem;
  border-radius: 1.75rem;
  transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
  outline: none;
  user-select: none;
  text-decoration: none;
  color: inherit;
}

/* Staggered dynamic offsets on desktop to break the monotonous straight row */
@media (min-width: 1025px) {
  .tabletop-bowl-card:nth-child(1) { transform: translateY(24px); }
  .tabletop-bowl-card:nth-child(2) { transform: translateY(-22px); }
  .tabletop-bowl-card:nth-child(3) { transform: translateY(28px); }
  .tabletop-bowl-card:nth-child(4) { transform: translateY(-18px); }
  .tabletop-bowl-card:nth-child(5) { transform: translateY(20px); }
  
  .tabletop-bowl-card:nth-child(1):hover { transform: translateY(12px) scale(1.05); }
  .tabletop-bowl-card:nth-child(2):hover { transform: translateY(-34px) scale(1.07); }
  .tabletop-bowl-card:nth-child(3):hover { transform: translateY(16px) scale(1.05); }
  .tabletop-bowl-card:nth-child(4):hover { transform: translateY(-30px) scale(1.05); }
  .tabletop-bowl-card:nth-child(5):hover { transform: translateY(8px) scale(1.05); }
}

.tabletop-bowl-card:hover {
  background: rgba(255, 255, 255, 0.65);
  box-shadow: 0 20px 40px -12px rgba(26, 20, 19, 0.1);
}

.tabletop-bowl-card .bowl-stage {
  position: relative;
  width: 100%;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}

.tabletop-bowl-card .bowl-ambient-glow {
  position: absolute;
  width: 150px;
  height: 150px;
  border-radius: 9999px;
  background: radial-gradient(circle, rgba(252, 215, 2, 0.35) 0%, rgba(213, 35, 38, 0.08) 55%, transparent 75%);
  filter: blur(10px);
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease;
  pointer-events: none;
  opacity: 0.5;
}

.tabletop-bowl-card:hover .bowl-ambient-glow {
  transform: scale(1.35);
  opacity: 1;
}

.tabletop-bowl-card .bowl-img {
  position: relative;
  z-index: 2;
  max-height: 175px;
  max-width: 175px;
  width: 100%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 18px 24px rgba(26, 20, 19, 0.18));
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), filter 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}

.tabletop-bowl-card:hover .bowl-img {
  transform: translateY(-12px) scale(1.08);
  filter: drop-shadow(0 30px 40px rgba(213, 35, 38, 0.26));
}

.tabletop-bowl-card .bowl-pedestal-shadow {
  position: absolute;
  bottom: 6px;
  width: 125px;
  height: 16px;
  background: radial-gradient(ellipse at center, rgba(26, 20, 19, 0.32) 0%, rgba(26, 20, 19, 0.08) 55%, transparent 75%);
  border-radius: 50%;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.5s ease;
  pointer-events: none;
  z-index: 1;
}

.tabletop-bowl-card:hover .bowl-pedestal-shadow {
  transform: scale(0.8);
  opacity: 0.4;
}

.tabletop-category-eyebrow {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: #1c3f30; /* forest */
  margin-bottom: 0.35rem;
}

.tabletop-bowl-card .category-title {
  font-family: var(--font-display, "Playfair Display", Georgia, serif);
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: #1a1413;
  transition: color 0.3s ease;
  margin: 0;
  line-height: 1.2;
}

.tabletop-bowl-card:hover .category-title {
  color: #d52326;
}

.tabletop-pill-btn {
  margin-top: 0.75rem;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  padding: 0.45rem 1.15rem;
  border-radius: 9999px;
  background: #ffffff;
  color: #1a1413;
  border: 1px solid rgba(26, 20, 19, 0.15);
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  box-shadow: 0 4px 12px rgba(26, 20, 19, 0.05);
}

.tabletop-bowl-card:hover .tabletop-pill-btn {
  background: #d52326;
  color: #ffffff;
  border-color: #d52326;
  box-shadow: 0 10px 22px -4px rgba(213, 35, 38, 0.4);
}

.category-stage-item .category-title {
  font-family: var(--font-display, "Playfair Display", Georgia, serif);
  font-size: 1.28rem;
  font-weight: 500;
  letter-spacing: -0.015em;
  color: #1a1413;
  transition: color 0.3s ease;
  margin: 0;
  line-height: 1.25;
}

.category-stage-item:hover .category-title {
  color: #d52326;
}

.category-stage-item .category-underline {
  width: 0;
  height: 2px;
  background: #d52326;
  transition: width 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  margin-top: 0.5rem;
  border-radius: 9999px;
}

.category-stage-item:hover .category-underline {
  width: 32px;
}

/* ==================== MANUFACTURING STEP ICONS & DIVIDERS ==================== */
.mfg-step-header {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  margin-bottom: 1.25rem;
  width: 100%;
}

.mfg-step-icon {
  width: 26px;
  height: 26px;
  color: #8c827a;
  flex-shrink: 0;
  display: inline-block;
  transition: color 0.35s cubic-bezier(0.16, 1, 0.3, 1), transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.group:hover .mfg-step-icon {
  color: #d52326;
  transform: translateY(-2px);
}

.mfg-step-line {
  height: 1px;
  flex: 1 1 0%;
  background-color: rgba(26, 20, 19, 0.12);
  transition: background-color 0.35s ease;
}

.group:hover .mfg-step-line {
  background-color: rgba(213, 35, 38, 0.3);
}

/* ==================== UNIVERSAL SECTION PADDING UTILITIES ==================== */
.py-12 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
.py-16 { padding-top: 4rem !important; padding-bottom: 4rem !important; }
.py-20 { padding-top: 5rem !important; padding-bottom: 5rem !important; }
.py-24 { padding-top: 6rem !important; padding-bottom: 6rem !important; }
.py-32 { padding-top: 8rem !important; padding-bottom: 8rem !important; }

@media (min-width: 1024px) {
  .lg\:py-20 { padding-top: 5rem !important; padding-bottom: 5rem !important; }
  .lg\:py-24 { padding-top: 6rem !important; padding-bottom: 6rem !important; }
  .lg\:py-32 { padding-top: 7.5rem !important; padding-bottom: 7.5rem !important; }
}

/* ==================== QUALITY ASSURANCE SHOWCASE ==================== */
#certifications {
  padding: 6rem 0 !important;
  background-color: #f7f3ec;
  border-top: 1px solid rgba(26, 20, 19, 0.08);
  border-bottom: 1px solid rgba(26, 20, 19, 0.08);
}

.qa-header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 3.5rem;
}

.qa-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1.5rem;
  width: 100%;
}

@media (max-width: 1100px) {
  #certifications {
    padding: 4.5rem 0 !important;
  }
  .qa-header {
    margin-bottom: 2.75rem;
  }
  .qa-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
  }
}

@media (max-width: 640px) {
  #certifications {
    padding: 3.5rem 0 !important;
  }
  .qa-header {
    margin-bottom: 2rem;
  }
  .qa-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
}

.qa-card {
  position: relative;
  background: #ffffff;
  border: 1px solid rgba(26, 20, 19, 0.08);
  border-radius: 1.25rem;
  padding: 2.25rem 1.25rem 2rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 4px 16px -4px rgba(26, 20, 19, 0.03);
  cursor: default;
}

.qa-card:hover {
  transform: translateY(-6px);
  border-color: rgba(213, 35, 38, 0.35);
  box-shadow: 0 20px 36px -10px rgba(213, 35, 38, 0.12), 0 4px 12px -2px rgba(26, 20, 19, 0.04);
}

.qa-icon-wrap {
  width: 52px;
  height: 52px;
  border-radius: 9999px;
  background: #faf7f0;
  border: 1px solid rgba(26, 20, 19, 0.09);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  color: #8c827a;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.qa-card:hover .qa-icon-wrap {
  background: rgba(213, 35, 38, 0.08);
  border-color: rgba(213, 35, 38, 0.3);
  color: #d52326;
  transform: scale(1.08);
}

.qa-title {
  font-family: var(--font-display, "Playfair Display", Georgia, serif);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #1a1413;
  margin: 0;
  line-height: 1.2;
  transition: color 0.3s ease;
}

.qa-card:hover .qa-title {
  color: #d52326;
}

.qa-subtitle {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(26, 20, 19, 0.55);
  margin-top: 0.5rem;
  line-height: 1.3;
}

/* ==================== CONTACT EDITORIAL SPACING ==================== */
.contact-editorial-wrap {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 0.5rem 0;
}

.contact-editorial-heading {
  margin-bottom: 3.25rem !important;
}

.contact-info-list {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

.contact-info-item {
  position: relative;
}

.contact-info-label {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.24em;
  color: rgba(26, 20, 19, 0.45);
  margin-bottom: 0.5rem;
  display: block;
}

.contact-info-value {
  font-size: 1.35rem;
  font-family: var(--font-display, "Playfair Display", Georgia, serif);
  font-weight: 500;
  color: #1a1413;
  line-height: 1.3;
  transition: color 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
}

.contact-info-value:hover {
  color: #d52326;
}

.contact-info-sub {
  font-size: 0.92rem;
  color: rgba(26, 20, 19, 0.65);
  font-weight: 300;
  line-height: 1.5;
  margin-top: 0.35rem;
}

/* ==================== HIGH-END FOOTER ARCHITECTURE ==================== */
.footer-editorial {
  position: relative;
  background-color: #1a1413;
  color: #faf7f0;
  overflow: hidden;
  border-top: 1px solid rgba(250, 247, 240, 0.1);
  padding-top: 5rem;
  padding-bottom: 2.5rem;
}

/* Atmospheric Masala & Products Background across Footer (Grand & Open like Hero Banner) */
.footer-spices-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
  user-select: none;
}

.footer-spices-backdrop img.footer-spices-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
  opacity: 0.42;
  filter: contrast(1.15) saturate(1.1) brightness(0.92);
  transform: scale(1.02);
  transition: opacity 0.5s ease;
}

.footer-spices-overlay {
  position: absolute;
  inset: 0;
  background: 
    linear-gradient(180deg, rgba(26,20,19,0.82) 0%, rgba(26,20,19,0.58) 45%, rgba(26,20,19,0.88) 100%),
    linear-gradient(90deg, rgba(26,20,19,0.72) 0%, rgba(26,20,19,0.38) 50%, rgba(26,20,19,0.72) 100%);
}

/* Balanced 4-Column Grid with Precise Alignment */
.footer-main-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.75rem;
  position: relative;
  z-index: 5;
}

@media (min-width: 640px) {
  .footer-main-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
  }
}

@media (min-width: 1024px) {
  .footer-main-grid {
    grid-template-columns: 3.5fr 2.1fr 2.5fr 2.7fr;
    gap: 3.5rem;
    align-items: start;
  }
}

.footer-col {
  display: flex;
  flex-direction: column;
}

/* Unified header box ensuring identical vertical starting baseline across all columns */
.footer-col-head {
  min-height: 48px;
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
}

.footer-heading {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #c5a059; /* nutchy-gold */
  line-height: 1.2;
}

.footer-nav-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.footer-link-item {
  font-size: 0.88rem;
  font-weight: 400;
  color: rgba(250, 247, 240, 0.75);
  transition: all 0.22s ease;
  white-space: nowrap !important; /* STRICTLY PREVENTS WRAPPING TO 2 ROWS */
  display: inline-flex;
  align-items: center;
  width: fit-content;
}

.footer-link-item:hover {
  color: #ffffff;
  transform: translateX(4px);
  color: #c5a059;
}

.footer-brand-desc {
  font-size: 0.88rem;
  line-height: 1.65;
  color: rgba(250, 247, 240, 0.72);
  margin-bottom: 1.25rem;
  font-weight: 300;
  max-width: 380px;
}

.footer-brand-office {
  font-size: 0.8rem;
  line-height: 1.6;
  color: rgba(250, 247, 240, 0.6);
  border-top: 1px solid rgba(250, 247, 240, 0.08);
  padding-top: 1rem;
  max-width: 380px;
}

.footer-connect-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.footer-connect-label {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: rgba(250, 247, 240, 0.42);
  margin-bottom: 0.35rem;
  display: block;
}

.footer-phone-stack {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.footer-phone-val {
  font-size: 0.95rem;
  color: rgba(250, 247, 240, 0.9);
  font-family: var(--font-display, "Playfair Display", Georgia, serif);
  letter-spacing: 0.02em;
  transition: color 0.2s ease;
  white-space: nowrap;
  display: inline-block;
}

.footer-phone-val:hover {
  color: #c5a059;
}

.footer-email-val {
  font-size: 0.92rem;
  color: rgba(250, 247, 240, 0.9);
  transition: color 0.2s ease;
  display: inline-block;
}

.footer-email-val:hover {
  color: #c5a059;
}

.footer-facility-val {
  font-size: 0.85rem;
  line-height: 1.6;
  color: rgba(250, 247, 240, 0.7);
  font-weight: 300;
}

/* Floating Quick Action Buttons (Always on Top of All Images & Footers) */
.floating-action-btn {
  z-index: 9999 !important;
  position: fixed !important;
}

/* ==================== GLOBAL CAPSULE / PILL BUTTON SYSTEM ==================== */
.open-sample-btn,
button[type="submit"],
.btn-capsule,
a[download].bg-forest,
#qv-sample-btn,
#cat-modal-sample-all-btn {
  border-radius: 9999px !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.open-sample-btn:hover,
button[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 25px -8px rgba(0, 0, 0, 0.35);
}

/* ==================== HEADER & CATEGORIES DROPDOWN SYSTEM ==================== */
header {
  transition: background-color 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              backdrop-filter 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              padding 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

header[data-scrolled="true"] {
  box-shadow: 0 10px 30px -10px rgba(28, 43, 31, 0.15) !important;
}

/* Categories Dropdown Container */
.categories-dropdown-menu {
  background-color: rgba(254, 252, 248, 0.98) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(44, 30, 22, 0.12) !important;
  border-radius: 1.25rem !important;
  box-shadow: 0 20px 45px -10px rgba(28, 43, 31, 0.22), 0 4px 15px rgba(0, 0, 0, 0.05) !important;
  min-width: 250px !important;
  width: max-content !important;
  z-index: 9999 !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(10px) scale(0.96);
  transform-origin: top left;
  transition: opacity 0.28s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.28s cubic-bezier(0.16, 1, 0.3, 1),
              visibility 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Open State */
.categories-dropdown-menu.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) scale(1) !important;
}

/* Dropdown Menu Item - NO BOTTOM LINES */
.cat-menu-item {
  border-bottom: none !important;
  text-decoration: none !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.cat-menu-item:hover {
  background-color: rgba(197, 160, 89, 0.12) !important;
  transform: translateX(4px) !important;
}

/* ==================== GLOBAL SCROLL REVEAL & SECTION ANIMATIONS ==================== */
.reveal-section {
  opacity: 0;
  transform: translateY(32px);
  will-change: opacity, transform;
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.85s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.reveal-section.is-revealed {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.reveal-child {
  opacity: 0;
  transform: translateY(24px);
  will-change: opacity, transform;
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.8s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.reveal-child.is-revealed,
.reveal-section.is-revealed .reveal-child {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Stagger Delay Classes */
.delay-75  { transition-delay: 75ms !important; }
.delay-100 { transition-delay: 100ms !important; }
.delay-150 { transition-delay: 150ms !important; }
.delay-200 { transition-delay: 200ms !important; }
.delay-300 { transition-delay: 300ms !important; }
.delay-400 { transition-delay: 400ms !important; }
.delay-500 { transition-delay: 500ms !important; }
.delay-600 { transition-delay: 600ms !important; }

/* ==================== TEXT & BADGE ANIMATIONS ==================== */
.hero-display-heading {
  letter-spacing: -0.025em;
  font-size: clamp(2.5rem, 5.5vw, 4.75rem);
  line-height: 1.05;
  font-weight: 300;
  animation: heroTextReveal 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes heroTextReveal {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Eyebrow Pulse Accent */
@keyframes badgeDotPulse {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.4);
    opacity: 0.45;
  }
}

.animate-pulse {
  animation: badgeDotPulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite !important;
}

/* ==================== IMAGE & SPICE FLOATING ANIMATIONS ==================== */
/* Hero bowls float */
@keyframes heroBowlsFloat {
  0%, 100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-9px) scale(1.01);
  }
}

.hero-bowls-img {
  animation: heroBowlsFloat 6s ease-in-out infinite !important;
  will-change: transform;
}

/* Tabletop Spice Floating Variations */
@keyframes propFloat1 {
  0%, 100% { transform: translateY(0) rotate(-32deg); }
  50% { transform: translateY(-7px) rotate(-30deg); }
}
@keyframes propFloat2 {
  0%, 100% { transform: translateY(0) rotate(18deg); }
  50% { transform: translateY(6px) rotate(20deg); }
}
@keyframes propFloat3 {
  0%, 100% { transform: translateY(0) rotate(-10deg); }
  50% { transform: translateY(-8px) rotate(-8deg); }
}
@keyframes propFloat4 {
  0%, 100% { transform: translateY(0) rotate(-22deg); }
  50% { transform: translateY(6px) rotate(-20deg); }
}
@keyframes propFloat5 {
  0%, 100% { transform: translateY(0) rotate(35deg); }
  50% { transform: translateY(-7px) rotate(37deg); }
}

.tabletop-spice-prop:nth-of-type(1) { animation: propFloat1 6.5s ease-in-out infinite; }
.tabletop-spice-prop:nth-of-type(2) { animation: propFloat2 7.2s ease-in-out infinite; }
.tabletop-spice-prop:nth-of-type(3) { animation: propFloat3 5.8s ease-in-out infinite; }
.tabletop-spice-prop:nth-of-type(4) { animation: propFloat4 7.6s ease-in-out infinite; }
.tabletop-spice-prop:nth-of-type(5) { animation: propFloat5 6.2s ease-in-out infinite; }

/* Tabletop Bowls Hover Depth Finishing */
.tabletop-bowl-card .bowl-img {
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1),
              filter 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.tabletop-bowl-card:hover .bowl-img {
  transform: scale(1.07) translateY(-6px) !important;
  filter: drop-shadow(0 20px 25px rgba(28, 43, 31, 0.22)) !important;
}

.tabletop-bowl-card .bowl-pedestal-shadow {
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.tabletop-bowl-card:hover .bowl-pedestal-shadow {
  transform: scale(1.15) !important;
  opacity: 0.45 !important;
}

/* Product & Flavour Cards Zoom Finishing */
.group:hover img {
  transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* ==================== BUTTON FINISHING & RADAR EFFECTS ==================== */
/* Pill buttons soft hover shine */
.open-sample-btn,
button[type="submit"],
.btn-capsule {
  position: relative;
  overflow: hidden;
}

.open-sample-btn::after,
button[type="submit"]::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -60%;
  width: 220%;
  height: 200%;
  background: linear-gradient(60deg, transparent 35%, rgba(255, 255, 255, 0.25) 50%, transparent 65%);
  transform: rotate(25deg) translateY(-120%);
  transition: transform 0.75s ease;
  pointer-events: none;
}

.open-sample-btn:hover::after,
button[type="submit"]:hover::after {
  transform: rotate(25deg) translateY(120%);
}

/* WhatsApp B2B Floating Button Radar Ripple Wave */
@keyframes radarWaveRing {
  0% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.55), 0 10px 25px -5px rgba(0, 0, 0, 0.3);
  }
  70% {
    box-shadow: 0 0 0 16px rgba(37, 211, 102, 0), 0 10px 25px -5px rgba(0, 0, 0, 0.3);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0), 0 10px 25px -5px rgba(0, 0, 0, 0.3);
  }
}

.floating-action-btn a {
  animation: radarWaveRing 2.8s infinite !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.floating-action-btn a:hover {
  transform: translateY(-3px) scale(1.03) !important;
}

/* Interactive Card Elevation Finishing across all sections */
.industry-card,
.process-step-card,
.cert-badge-card,
.faq-item-card,
.qa-card {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.4s ease,
              background-color 0.4s ease !important;
}

.industry-card:hover,
.process-step-card:hover,
.qa-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.25) !important;
}

/* ==================== SPEED DIAL FLOATING ACTION WIDGET ==================== */
.nutchy-float-widget {
  position: fixed;
  bottom: 25px;
  right: 25px;
  z-index: 999999;
  width: 56px;
  height: 56px;
}

.nutchy-float-trigger {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--nutchy-red, #d52326);
  color: #ffffff;
  border: none;
  outline: none;
  box-shadow: 0 8px 25px rgba(213, 35, 38, 0.45);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1),
              background-color 0.3s ease,
              box-shadow 0.3s ease;
}

.nutchy-float-trigger:hover {
  transform: scale(1.08);
  box-shadow: 0 10px 30px rgba(213, 35, 38, 0.6);
}

.nutchy-float-trigger .icon-box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.nutchy-float-widget.active .nutchy-float-trigger .icon-box {
  transform: rotate(360deg);
}

.nutchy-float-trigger svg,
.nutchy-float-trigger .icon-box svg {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  flex-shrink: 0 !important;
}

.nutchy-float-trigger .icon-chat {
  display: block !important;
}

.nutchy-float-trigger .icon-close {
  display: none !important;
}

.nutchy-float-widget.active .nutchy-float-trigger .icon-chat {
  display: none !important;
}

.nutchy-float-widget.active .nutchy-float-trigger .icon-close {
  display: block !important;
}

.nutchy-float-btn svg {
  width: 20px !important;
  height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  display: block !important;
  flex-shrink: 0 !important;
}

.nutchy-float-trigger::before {
  content: "";
  position: absolute;
  top: -6px;
  left: -6px;
  right: -6px;
  bottom: -6px;
  border-radius: 50%;
  border: 2px solid var(--nutchy-red, #d52326);
  animation: nutchyPulseWave 2s infinite ease-in-out;
  pointer-events: none;
}

.nutchy-float-widget.active .nutchy-float-trigger::before {
  animation: none;
  border-color: transparent;
}

@keyframes nutchyPulseWave {
  0% {
    transform: scale(0.95);
    opacity: 0.9;
  }
  100% {
    transform: scale(1.45);
    opacity: 0;
  }
}

/* Speed Dial Action Items Container (Above main button) */
.nutchy-float-actions {
  position: absolute;
  bottom: 68px;
  right: 4px;
  display: flex;
  flex-direction: column-reverse;
  gap: 12px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px) scale(0.7);
  transition: opacity 0.35s cubic-bezier(0.34, 1.56, 0.64, 1),
              transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1),
              visibility 0.35s ease;
  pointer-events: none;
}

.nutchy-float-widget.active .nutchy-float-actions {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

/* Individual Action Buttons */
.nutchy-float-btn {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
  position: relative;
  opacity: 0;
  transform: translateY(15px) scale(0.6);
  transition: opacity 0.25s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.25s ease;
  border: none;
  outline: none;
  cursor: pointer;
}

.nutchy-float-widget.active .nutchy-float-actions .nutchy-float-btn {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.nutchy-float-widget.active .nutchy-float-actions .nutchy-float-btn:nth-child(1) {
  transition-delay: 0.04s;
}
.nutchy-float-widget.active .nutchy-float-actions .nutchy-float-btn:nth-child(2) {
  transition-delay: 0.08s;
}
.nutchy-float-widget.active .nutchy-float-actions .nutchy-float-btn:nth-child(3) {
  transition-delay: 0.12s;
}

.nutchy-float-btn:hover {
  transform: scale(1.15) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

/* Action Button Themes */
.nutchy-btn-whatsapp {
  background: #25D366 !important;
}

.nutchy-btn-email {
  background: #2c1e16 !important;
}

.nutchy-btn-phone {
  background: #0f3b2c !important;
}

/* Tooltip Labels (Left of the button with arrow pointing right) */
.nutchy-float-btn .nutchy-float-label {
  position: absolute;
  right: 60px;
  background: #1a1413;
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 8px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transform: translateX(10px);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.35);
  pointer-events: none;
  border: 1px solid rgba(197, 160, 89, 0.25);
}

.nutchy-float-btn .nutchy-float-label::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -5px;
  transform: translateY(-50%);
  border-width: 5px 0 5px 5px;
  border-style: solid;
  border-color: transparent transparent transparent #1a1413;
}

.nutchy-float-btn:hover .nutchy-float-label {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

/* ==========================================================================
   MOBILE-FIRST ULTRA RESPONSIVE ENHANCEMENT SUITE
   Tailored for Smartphones (iPhone, Android) & Small Tablets (320px - 768px)
   ========================================================================== */

@media (max-width: 768px) {
  /* 1. Global Viewport & Container Constraints */
  html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    position: relative !important;
  }

  /* Compact Fixed Header on Mobile */
  header {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }

  header .mx-auto {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  header a img[alt="Nutchy Foods"] {
    height: 44px !important;
  }

  /* Luxury Mobile Menu Drawer Animation */
  #mobile-menu {
    border-bottom: 2px solid rgba(197, 160, 89, 0.25) !important;
    box-shadow: 0 25px 50px -12px rgba(28, 43, 31, 0.35) !important;
    animation: mobileDrawerSlideDown 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  }

  @keyframes mobileDrawerSlideDown {
    from {
      opacity: 0;
      transform: translateY(-8px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  /* 2. Hero Section on Mobile */
  #hero {
    min-height: 100svh !important;
  }

  #hero .hero-display-heading {
    font-size: clamp(1.9rem, 9vw, 3rem) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
  }

  #hero .hero-stage {
    max-width: 260px !important;
    margin: 0 auto !important;
  }

  #hero .hero-bowls-img {
    max-width: 240px !important;
  }

  /* 3. Stats Dashboard Grid on Mobile (2x2 Clean Executive Grid) */
  #stats .mx-auto {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.85rem !important;
    padding: 2rem 1rem !important;
  }

  #stats .divide-y > :not([hidden]) ~ :not([hidden]),
  #stats .divide-x > :not([hidden]) ~ :not([hidden]) {
    border-top-width: 0 !important;
    border-left-width: 0 !important;
  }

  #stats .reveal-child {
    padding: 1rem !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 1rem !important;
    text-align: left !important;
  }

  #stats .reveal-child .text-4xl,
  #stats .reveal-child .font-display {
    font-size: 1.85rem !important;
    line-height: 1.1 !important;
  }

  #stats .reveal-child .tracking-\[0\.24em\] {
    font-size: 9.5px !important;
    letter-spacing: 0.16em !important;
    margin-top: 0.35rem !important;
  }

  /* 4. Category Tabletop 5-Bowls Section on Mobile */
  /* Hide the absolute random spice props on screens < 768px to prevent clutter and overflow */
  .tabletop-spice-prop {
    display: none !important;
  }

  .category-tabletop-container {
    padding: 1rem 0 1.5rem !important;
  }

  .category-tabletop-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.85rem !important;
  }

  .tabletop-bowl-card {
    padding: 1.15rem 0.5rem 1rem !important;
    border-radius: 1.25rem !important;
    background: rgba(255, 255, 255, 0.75) !important;
    border: 1px solid rgba(26, 20, 19, 0.08) !important;
    box-shadow: 0 4px 16px rgba(26, 20, 19, 0.04) !important;
    transform: none !important;
  }

  .tabletop-bowl-card:hover {
    transform: translateY(-3px) !important;
  }

  /* 5th item centered in the 2-col grid */
  .tabletop-bowl-card:nth-child(5) {
    grid-column: span 2 !important;
    max-width: 220px !important;
    margin: 0 auto !important;
    width: 100% !important;
  }

  .tabletop-bowl-card .bowl-stage {
    height: 120px !important;
    margin-bottom: 0.35rem !important;
  }

  .tabletop-bowl-card .bowl-img {
    max-height: 105px !important;
    max-width: 105px !important;
  }

  .tabletop-bowl-card .bowl-ambient-glow {
    width: 85px !important;
    height: 85px !important;
  }

  .tabletop-bowl-card .bowl-pedestal-shadow {
    width: 75px !important;
    height: 10px !important;
    bottom: 2px !important;
  }

  .tabletop-bowl-card .category-title {
    font-size: 1.05rem !important;
    margin-bottom: 0.25rem !important;
  }

  .tabletop-pill-btn {
    font-size: 0.65rem !important;
    padding: 3px 10px !important;
    margin-top: 0.4rem !important;
  }

  /* 5. About Us & Story Section on Mobile */
  #about {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }

  #about .display-lg {
    font-size: 1.95rem !important;
    line-height: 1.15 !important;
  }

  /* 6. Nutrition Matrix on Mobile */
  #nutrition {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }

  #nutrition .display-lg {
    font-size: 1.95rem !important;
    line-height: 1.15 !important;
  }

  #nutrition table th,
  #nutrition table td {
    padding: 0.75rem 0.65rem !important;
    font-size: 0.78rem !important;
    white-space: nowrap !important;
  }

  /* 7. 8-Step Manufacturing Section on Mobile */
  #manufacturing {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }

  #manufacturing .display-lg {
    font-size: 1.95rem !important;
    line-height: 1.15 !important;
  }

  #manufacturing ol {
    grid-template-columns: 1fr !important;
    gap: 0.85rem !important;
  }

  #manufacturing li {
    padding: 1.15rem !important;
  }

  /* 8. Industries We Serve on Mobile */
  #industries-serve {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }

  #industries-serve .display-lg {
    font-size: 1.95rem !important;
    line-height: 1.15 !important;
  }

  #industries-serve .grid {
    gap: 1rem !important;
  }

  /* 9. Turnkey Private Labeling (B2B Tabletop Dark Section) */
  #private-labeling {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }

  #private-labeling .display-lg {
    font-size: 1.95rem !important;
    line-height: 1.15 !important;
  }

  #private-labeling .grid {
    gap: 2rem !important;
  }

  /* 10. FAQs on Mobile */
  #faq {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }

  #faq .display-lg {
    font-size: 1.95rem !important;
  }

  #faq .faq-item {
    padding: 1.1rem !important;
  }

  #faq .faq-btn span:first-child {
    font-size: 0.95rem !important;
    line-height: 1.35 !important;
  }

  /* 11. Footer on Mobile */
  .footer-editorial {
    padding-top: 3.5rem !important;
    padding-bottom: 2rem !important;
  }

  .footer-main-grid {
    gap: 2.25rem !important;
  }

  .footer-col-head {
    min-height: auto !important;
    margin-bottom: 1rem !important;
  }

  /* 12. Floating Action Widget (Speed Dial) on Mobile */
  .nutchy-float-widget {
    bottom: 18px !important;
    right: 18px !important;
  }

  .nutchy-float-trigger {
    width: 52px !important;
    height: 52px !important;
  }

  .nutchy-float-btn {
    width: 44px !important;
    height: 44px !important;
  }

  .nutchy-float-btn .nutchy-float-label {
    right: 54px !important;
    font-size: 0.75rem !important;
    padding: 4px 10px !important;
  }

  /* 13. Modals on Mobile (Full Scrollable Sheet) */
  #quick-view-modal > div,
  #cat-flavours-modal > div,
  #sample-modal > div,
  #search-modal > div {
    max-height: 90vh !important;
    margin: 1rem auto !important;
    width: 95% !important;
  }
}


/* ==========================================================================
   TABLET RESPONSIVE FIXES (769px - 1023px)
   Fixes sections that rely on missing sm: Tailwind classes
   ========================================================================== */

@media (min-width: 769px) and (max-width: 1023px) {
  /* Stats: 2x2 grid on tablet */
  #stats .mx-auto {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.25rem !important;
    padding: 3rem 1.5rem !important;
  }

  #stats .divide-y > :not([hidden]) ~ :not([hidden]),
  #stats .divide-x > :not([hidden]) ~ :not([hidden]) {
    border-top-width: 0 !important;
    border-left-width: 0 !important;
  }

  /* Manufacturing: 2x4 grid on tablet */
  #manufacturing ol {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Industries: 3-col on tablet (md:grid-cols-3 polyfill) */
  #industries-serve .grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  /* Private labeling: stack vertically on tablet */
  #private-labeling .grid {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
  }

  /* Nutrition: stack on tablet */
  #nutrition > div {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
  }
}


/* ==========================================================================
   MOBILE: Additional section stacking fixes
   ========================================================================== */

@media (max-width: 768px) {
  /* Stack about section grid */
  #about > div {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }

  /* About facility image: cap height so it doesn't tower */
  #about .group img {
    max-height: 260px !important;
    object-fit: cover !important;
  }

  /* Stack nutrition section grid */
  #nutrition > div {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }

  /* Stack industries grid */
  #industries-serve .grid {
    grid-template-columns: 1fr !important;
  }

  /* Stack private labeling grid */
  #private-labeling .grid {
    grid-template-columns: 1fr !important;
  }

  /* Hero: stack left text above right bowls image */
  #hero .lg\:col-span-6 {
    width: 100% !important;
  }
}


/* ==========================================================================
   EXTRA SMALL SCREENS (max-width: 400px) - Micro Adjustments
   ========================================================================== */

@media (max-width: 400px) {
  .hero-display-heading {
    font-size: 2rem !important;
  }

  .category-tabletop-grid {
    grid-template-columns: 1fr !important;
  }

  .tabletop-bowl-card:nth-child(5) {
    grid-column: span 1 !important;
    max-width: 100% !important;
  }

  #stats .mx-auto {
    grid-template-columns: 1fr !important;
  }
}


/* ==========================================================================
   MD BREAKPOINT POLYFILLS (min-width: 768px)
   These md: Tailwind classes are missing from the compiled CSS output.
   ========================================================================== */

@media (min-width: 768px) {
  /* Industries We Serve: 3-col grid at md+ */
  #industries-serve .grid.gap-6 {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  /* Products section header: flex-row at md+ */
  #products .flex.flex-col {
    flex-direction: row !important;
    align-items: flex-end !important;
  }
}


/* ==================== ABOUT PAGE STYLES ==================== */
.about-hero {
      min-height: 68vh;
      position: relative;
      display: flex;
      align-items: center;
      overflow: hidden;
      background: var(--ink);
    }

    .about-hero-bg {
      position: absolute;
      inset: 0;
      z-index: 0;
    }

    .about-hero-bg img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      opacity: .60;
    }

    .about-hero-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(28, 22, 16, .35) 0%, rgba(28, 22, 16, .6) 50%, rgba(28, 22, 16, .92) 100%);
    }

    .about-hero-content {
      position: relative;
      z-index: 10;
      width: 100%;
      padding: 8.5rem 1.5rem 4.5rem;
    }

    @media(min-width:1024px) {
      .about-hero-content {
        padding: 9.5rem 3rem 5rem;
      }
    }

    .value-card {
      position: relative;
      background: var(--cream);
      border: 1px solid var(--border);
      border-radius: 1.25rem;
      padding: 2rem;
      overflow: hidden;
      transition: transform .5s cubic-bezier(.2, .7, .2, 1), box-shadow .5s
    }

    .value-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg, var(--nutchy-red), var(--nutchy-gold));
      opacity: 0;
      transition: opacity .4s ease
    }

    .value-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 24px 48px -16px rgba(28, 22, 16, .18)
    }

    .value-card:hover::before {
      opacity: 1
    }

    .value-icon-wrap {
      width: 3rem;
      height: 3rem;
      border-radius: .75rem;
      background: var(--secondary);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 1.25rem;
      color: var(--nutchy-red);
      transition: background .3s, color .3s
    }

    .value-card:hover .value-icon-wrap {
      background: var(--nutchy-red);
      color: var(--cream)
    }

    .team-card {
      position: relative;
      background: var(--cream);
      border: 1px solid var(--border);
      border-radius: 1.5rem;
      overflow: hidden;
      transition: transform .5s cubic-bezier(.2, .7, .2, 1), box-shadow .5s
    }

    .team-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 32px 64px -20px rgba(28, 22, 16, .2)
    }

    .team-photo-frame {
      position: relative;
      overflow: hidden;
      background: var(--secondary)
    }

    .team-photo-frame img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: top center;
      transition: transform .7s ease
    }

    .team-card:hover .team-photo-frame img {
      transform: scale(1.05)
    }

    .team-info {
      padding: 1.5rem
    }

    .facility-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1rem
    }

    @media(min-width:768px) {
      .facility-grid {
        grid-template-columns: repeat(3, 1fr)
      }
    }

    .facility-img-wrap {
      position: relative;
      overflow: hidden;
      border-radius: 1rem;
      aspect-ratio: 4/3;
      background: var(--secondary);
      border: 1px solid var(--border)
    }

    .facility-img-wrap.featured {
      grid-column: span 2;
      aspect-ratio: 16/8
    }

    .facility-img-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .7s ease
    }

    .facility-img-wrap:hover img {
      transform: scale(1.06)
    }

    .facility-img-label {
      position: absolute;
      bottom: .75rem;
      left: .75rem;
      background: rgba(28, 22, 16, .78);
      backdrop-filter: blur(8px);
      color: var(--cream);
      font-size: .72rem;
      font-weight: 500;
      letter-spacing: .16em;
      text-transform: uppercase;
      padding: .35rem .75rem;
      border-radius: 99px
    }

    .cert-badge {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      padding: .6rem 1.25rem;
      border-radius: 99px;
      border: 1px solid var(--border);
      background: var(--cream);
      font-size: .75rem;
      font-weight: 600;
      letter-spacing: .08em;
      color: var(--ink);
      box-shadow: 0 1px 4px rgba(28, 22, 16, .06);
      transition: border-color .3s, background .3s, color .3s
    }

    .cert-badge:hover {
      border-color: var(--nutchy-red);
      background: var(--nutchy-red);
      color: var(--cream)
    }

    .cert-badge .cert-dot {
      width: .45rem;
      height: .45rem;
      border-radius: 50%;
      background: var(--nutchy-gold);
      flex-shrink: 0
    }

    .about-reveal {
      opacity: 0;
      transform: translateY(28px);
      transition: opacity .9s cubic-bezier(.2, .7, .2, 1), transform .9s cubic-bezier(.2, .7, .2, 1)
    }

    .about-reveal.visible {
      opacity: 1;
      transform: translateY(0)
    }

    .delay-100 {
      transition-delay: 100ms
    }

    .delay-200 {
      transition-delay: 200ms
    }

    .delay-300 {
      transition-delay: 300ms
    }

    .delay-400 {
      transition-delay: 400ms
    }

    .delay-500 {
      transition-delay: 500ms
    }


/* ==================== ABOUT LUXURY FINISHING STYLES ==================== */
.about-hero-vignette {
  position: absolute;
  inset: 0;
  background: 
    linear-gradient(90deg, rgba(20, 16, 14, 0.88) 0%, rgba(20, 16, 14, 0.72) 45%, rgba(20, 16, 14, 0.35) 100%),
    linear-gradient(180deg, rgba(20, 16, 14, 0.35) 0%, rgba(20, 16, 14, 0.60) 60%, rgba(20, 16, 14, 0.95) 100%);
  pointer-events: none;
}

.watermark-text {
  position: absolute;
  right: -1rem;
  bottom: -1.5rem;
  font-family: 'Playfair Display', serif;
  font-size: 8rem;
  font-weight: 700;
  line-height: 1;
  color: rgba(28, 22, 16, 0.035);
  user-select: none;
  pointer-events: none;
  text-transform: uppercase;
  letter-spacing: -0.05em;
  transition: transform 0.6s ease, color 0.6s ease;
}

.value-card:hover .watermark-text {
  transform: translateY(-8px) scale(1.03);
  color: rgba(201, 163, 75, 0.08);
}

.luxury-card-sheen {
  position: relative;
  overflow: hidden;
}

.luxury-card-sheen::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(60deg, transparent 40%, rgba(255, 255, 255, 0.15) 50%, transparent 60%);
  transform: rotate(25deg) translateY(-100%);
  transition: transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
  pointer-events: none;
}

.luxury-card-sheen:hover::after {
  transform: rotate(25deg) translateY(100%);
}

.btn-luxury-shine {
  position: relative;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.btn-luxury-shine::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
  transform: skewX(-20deg);
  transition: left 0.75s ease;
}

.btn-luxury-shine:hover::after {
  left: 140%;
}

.scroll-indicator-mouse {
  width: 22px;
  height: 36px;
  border: 1.5px solid rgba(250, 247, 240, 0.4);
  border-radius: 12px;
  display: flex;
  justify-content: center;
  padding-top: 6px;
}

.scroll-indicator-wheel {
  width: 3px;
  height: 6px;
  background: var(--nutchy-gold);
  border-radius: 2px;
  animation: mouse-wheel-drop 2s infinite ease-in-out;
}

@keyframes mouse-wheel-drop {
  0% { transform: translateY(0); opacity: 1; }
  50% { transform: translateY(10px); opacity: 0.2; }
  100% { transform: translateY(0); opacity: 1; }
}

.facility-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  backdrop-filter: blur(8px);
}

/* ==================== ABOUT PAGE CLEAN DESIGN SYSTEM ==================== */
.text-nutchy-gold { color: #c9a34b !important; }
.bg-nutchy-gold { background-color: #c9a34b !important; }
.border-nutchy-gold { border-color: #c9a34b !important; }
.bg-cta-dark { background-color: #17110f !important; }

.hero-ambient-glow {
  position: absolute;
  top: 33%;
  left: 25%;
  transform: translateX(-50%);
  width: 600px;
  height: 350px;
  border-radius: 9999px;
  filter: blur(140px);
  pointer-events: none;
  opacity: 0.20;
  background: radial-gradient(circle, #c9a34b 0%, transparent 70%);
}

.breadcrumb-link {
  color: rgba(250, 247, 240, 0.65);
  transition: color 0.3s ease;
}
.breadcrumb-link:hover {
  color: var(--cream);
}
.breadcrumb-active {
  color: #c9a34b;
  font-weight: 500;
}

.kicker-pill-gold {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 1.1rem;
  border-radius: 9999px;
  border: 1px solid rgba(201, 163, 75, 0.38);
  background: rgba(201, 163, 75, 0.16);
  color: #c9a34b;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
}

.stat-pill-frosted {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  border-radius: 9999px;
  padding: 0.7rem 1.4rem;
  background: rgba(250, 247, 240, 0.08);
  border: 1px solid rgba(250, 247, 240, 0.20);
  backdrop-filter: blur(12px);
  transition: border-color 0.3s ease, transform 0.3s ease;
}
.stat-pill-frosted:hover {
  border-color: rgba(201, 163, 75, 0.6);
  transform: translateY(-2px);
}

.hero-divider-gold {
  height: 1px;
  width: 3.5rem;
  background: linear-gradient(90deg, #c9a34b, transparent);
}

.vision-luxury-card {
  background: linear-gradient(145deg, #FFFDF8 0%, #F5ECE0 100%);
  border: 1px solid rgba(201, 163, 75, 0.40);
  border-radius: 1.75rem;
  padding: 2.5rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 20px -4px rgba(28, 22, 16, 0.06);
  transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.5s ease;
}
.vision-luxury-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 48px -12px rgba(201, 163, 75, 0.22);
}
.vision-icon-box {
  width: 4rem;
  height: 4rem;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(201, 163, 75, 0.25) 0%, rgba(201, 163, 75, 0.10) 100%);
  border: 1px solid rgba(201, 163, 75, 0.30);
  color: #c9a34b;
}
.vision-badge-pill {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 0.4rem 1rem;
  border-radius: 9999px;
  background: rgba(201, 163, 75, 0.16);
  color: #c9a34b;
  border: 1px solid rgba(201, 163, 75, 0.25);
}
.vision-quote-wrap {
  position: relative;
  padding-left: 1.5rem;
  border-left: 2px solid #c9a34b;
}

.mission-luxury-card {
  background: linear-gradient(145deg, #FFFDF8 0%, #E9F2EB 100%);
  border: 1px solid rgba(44, 90, 62, 0.35);
  border-radius: 1.75rem;
  padding: 2.5rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 20px -4px rgba(28, 22, 16, 0.06);
  transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.5s ease;
}
.mission-luxury-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 48px -12px rgba(44, 90, 62, 0.20);
}
.mission-icon-box {
  width: 4rem;
  height: 4rem;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(44, 90, 62, 0.20) 0%, rgba(44, 90, 62, 0.08) 100%);
  border: 1px solid rgba(44, 90, 62, 0.25);
  color: #2c5a3e;
}
.mission-badge-pill {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 0.4rem 1rem;
  border-radius: 9999px;
  background: rgba(44, 90, 62, 0.12);
  color: #2c5a3e;
  border: 1px solid rgba(44, 90, 62, 0.22);
}
.mission-quote-wrap {
  position: relative;
  padding-left: 1.5rem;
  border-left: 2px solid #2c5a3e;
}

.director-badge-pill {
  background: rgba(201, 163, 75, 0.95);
  color: #1a1413;
}

.cta-section-wrap {
  background-color: #17110f;
  color: var(--cream);
  position: relative;
  overflow: hidden;
  padding: 6.5rem 0;
}
@media(min-width: 1024px) {
  .cta-section-wrap {
    padding: 8rem 0;
  }
}
.cta-glow-spot {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 750px;
  height: 400px;
  background: radial-gradient(circle, rgba(201, 163, 75, 0.14) 0%, transparent 70%);
  pointer-events: none;
  filter: blur(120px);
}
.cta-hub-card {
  padding: 2.5rem;
  border-radius: 1.75rem;
  border: 1px solid rgba(250, 247, 240, 0.14);
  background: rgba(250, 247, 240, 0.05);
  backdrop-filter: blur(16px);
  color: var(--cream);
  box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.5);
}
@media(min-width: 640px) {
  .cta-hub-card {
    padding: 3rem;
  }
}
.cta-icon-box {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.75rem;
  background: rgba(201, 163, 75, 0.15);
  color: #c9a34b;
  border: 1px solid rgba(201, 163, 75, 0.28);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.trust-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 1.15rem;
  border-radius: 9999px;
  background: rgba(250, 247, 240, 0.08);
  border: 1px solid rgba(250, 247, 240, 0.16);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(250, 247, 240, 0.90);
  transition: all 0.3s ease;
}
.trust-badge-pill:hover {
  background: rgba(201, 163, 75, 0.15);
  border-color: rgba(201, 163, 75, 0.4);
  color: #c9a34b;
}

.story-pill-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 9999px;
  border: 1px solid var(--border);
  background: rgba(250, 247, 240, 0.85);
  padding: 0.5rem 1.15rem;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.025em;
  color: rgba(26, 20, 19, 0.85);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  transition: all 0.25s ease;
}
.story-pill-badge:hover {
  background: #ffffff;
  border-color: rgba(213, 35, 38, 0.35);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  transform: translateY(-1px);
}

/* Ambient Ingredient Floating Shapes (Just two elegant accents across page) */
.shape-story-decor {
  position: absolute;
  top: 25px;
  right: 2%;
  width: 120px;
  max-width: 16vw;
  opacity: 0.85;
  pointer-events: none;
  z-index: 2;
  filter: drop-shadow(0 15px 25px rgba(26, 20, 19, 0.12));
  animation: nutchyFloatSlow 6s ease-in-out infinite alternate;
}

@media (max-width: 768px) {
  .shape-story-decor {
    width: 80px;
    right: 1%;
    top: 15px;
    opacity: 0.6;
  }
}

.shape-vision-decor {
  position: absolute;
  top: 15%;
  left: 3%;
  width: 105px;
  max-width: 14vw;
  opacity: 0.85;
  pointer-events: none;
  z-index: 2;
  filter: drop-shadow(0 15px 25px rgba(26, 20, 19, 0.10));
  animation: nutchyFloatReverse 7s ease-in-out infinite alternate;
}

@media (max-width: 768px) {
  .shape-vision-decor {
    width: 70px;
    left: 2%;
    top: 10%;
    opacity: 0.6;
  }
}


@keyframes nutchyFloatSlow {
  0% { transform: translateY(0px) rotate(0deg); }
  100% { transform: translateY(-16px) rotate(5deg); }
}

@keyframes nutchyFloatReverse {
  0% { transform: translateY(0px) rotate(0deg); }
  100% { transform: translateY(15px) rotate(-6deg); }
}

/* ==================== CATEGORIES & PRODUCT DETAIL STYLES ==================== */
.cat-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 1.35rem;
  border-radius: 9999px;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink);
  background: rgba(250, 247, 240, 0.9);
  border: 1px solid var(--border);
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
  white-space: nowrap;
}

.cat-filter-btn:hover {
  background: #ffffff;
  border-color: var(--nutchy-red);
  color: var(--nutchy-red);
  transform: translateY(-1px);
}

.cat-filter-btn.active {
  background: var(--nutchy-red);
  border-color: var(--nutchy-red);
  color: #ffffff;
  box-shadow: 0 6px 18px rgba(213, 35, 38, 0.25);
}

.cat-filter-btn.active .cat-count-badge {
  background: rgba(255, 255, 255, 0.25);
  color: #ffffff;
}

.cat-count-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.15rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.68rem;
  font-weight: 700;
  background: rgba(26, 20, 19, 0.08);
  color: var(--ink);
  transition: all 0.2s ease;
}

/* ==================== MODERN OPEN PRODUCT SHOWCASE (CARDLESS) ==================== */
.product-open-item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.5rem 1rem 2rem 1rem;
  background: transparent;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

@media (min-width: 640px) {
  .product-open-item {
    padding: 1.5rem 1rem;
  }
}

.product-image-stage {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 1rem;
  min-height: 260px;
  overflow: visible;
}

.product-image-stage img {
  max-height: 230px;
  width: auto;
  object-fit: contain;
  filter: drop-shadow(0 18px 28px rgba(26, 20, 19, 0.14));
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), filter 0.6s ease;
}

.product-open-item:hover .product-image-stage img {
  transform: translateY(-8px) scale(1.07);
  filter: drop-shadow(0 26px 36px rgba(26, 20, 19, 0.20));
}

/* 2 Prominent Modern Buttons */
.btn-modern-details {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.75rem 1rem;
  border-radius: 9999px;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink);
  background: transparent;
  border: 1.5px solid rgba(26, 20, 19, 0.8);
  transition: all 0.25s ease;
  flex: 1;
  text-align: center;
  text-decoration: none !important;
}

.btn-modern-details:hover {
  background: var(--ink);
  color: #ffffff !important;
  border-color: var(--ink);
  transform: translateY(-1px);
}

.btn-modern-sample {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.75rem 1rem;
  border-radius: 9999px;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffffff !important;
  background: var(--nutchy-red, #d52326);
  border: 1.5px solid var(--nutchy-red, #d52326);
  box-shadow: 0 4px 12px rgba(213, 35, 38, 0.25);
  transition: all 0.25s ease;
  flex: 1;
  text-align: center;
  cursor: pointer;
  text-decoration: none !important;
}

.btn-modern-sample:hover {
  background: #b51c1e;
  border-color: #b51c1e;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(213, 35, 38, 0.35);
}


/* Authentic Nutrition Chart Table */
.nutrition-chart-wrap {
  border-radius: 1.25rem;
  border: 1px solid var(--border);
  background: #ffffff;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03);
}

.nutrition-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
}

.nutrition-table th {
  background: rgba(26, 20, 19, 0.04);
  color: var(--ink);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.72rem;
  padding: 0.75rem 1rem;
  border-bottom: 2px solid var(--border);
}

.nutrition-table td {
  padding: 0.6rem 1rem;
  border-bottom: 1px solid rgba(230, 223, 212, 0.6);
  color: rgba(26, 20, 19, 0.85);
}

.nutrition-table tr:last-child td {
  border-bottom: none;
}

.nutrition-table tr:nth-child(even) td {
  background: rgba(250, 247, 240, 0.4);
}

.nutrition-table .sub-row td:first-child {
  padding-left: 2rem;
  color: rgba(26, 20, 19, 0.65);
  font-style: italic;
}

.nutrition-table .val-col {
  text-align: right;
  font-family: monospace;
  font-weight: 600;
  color: var(--ink);
}

/* Product Detail Modal */
.nutchy-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100;
  background: rgba(23, 17, 15, 0.75);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.nutchy-modal-backdrop.active {
  opacity: 1;
  pointer-events: auto;
}

.nutchy-modal-content {
  background: #ffffff;
  border-radius: 1.75rem;
  border: 1px solid var(--border);
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.35);
  max-width: 900px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  transform: translateY(20px) scale(0.97);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.nutchy-modal-backdrop.active .nutchy-modal-content {
  transform: translateY(0) scale(1);
}





/* ==========================================================================
   NUTCHY FOODS — MOBILE-FIRST RESPONSIVENESS & TOUCH OPTIMIZATION ENGINE
   ========================================================================== */

/* 1. Global Viewport & Overflow Shields */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
}

/* 2. Fluid Responsive Typography on Mobile Viewports */
@media (max-width: 640px) {
  .hero-display-heading {
    font-size: clamp(2.2rem, 8vw, 3.25rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.025em !important;
  }
  
  .about-hero h1 {
    font-size: clamp(1.95rem, 7.5vw, 2.85rem) !important;
    line-height: 1.12 !important;
  }
  
  .display-lg {
    font-size: clamp(1.75rem, 6vw, 2.5rem) !important;
    line-height: 1.15 !important;
  }
  
  .display-xl {
    font-size: clamp(2.1rem, 7vw, 3.2rem) !important;
    line-height: 1.1 !important;
  }

  .hero-ambient-glow,
  .about-hero-vignette {
    max-width: 100vw;
    overflow: hidden;
  }
  
  /* Form Inputs: Prevent iOS Safari Auto-Zoom on Focus */
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  select,
  textarea {
    font-size: 16px !important;
  }
}

/* 3. Tabletop Categories Responsive Sizing */
@media (max-width: 640px) {
  .category-tabletop-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
  }
  .tabletop-bowl-card {
    padding: 1.25rem 0.5rem 1rem !important;
    border-radius: 1.25rem !important;
  }
  .tabletop-bowl-card .bowl-stage {
    height: 150px !important;
    margin-bottom: 0.5rem !important;
  }
  .tabletop-bowl-card .bowl-img {
    max-height: 130px !important;
    max-width: 130px !important;
  }
  .tabletop-bowl-card .category-title {
    font-size: 0.95rem !important;
    line-height: 1.2 !important;
  }
  .tabletop-pill-btn {
    padding: 0.4rem 0.85rem !important;
    font-size: 0.65rem !important;
  }
}

@media (max-width: 420px) {
  .category-tabletop-grid {
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
  }
  .tabletop-bowl-card {
    padding: 1.5rem 1rem !important;
  }
  .tabletop-bowl-card .bowl-stage {
    height: 170px !important;
  }
  .tabletop-bowl-card .bowl-img {
    max-height: 150px !important;
    max-width: 150px !important;
  }
}

/* 4. Touch Targets & Momentum Scrolling */
.overflow-x-auto {
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.overflow-x-auto::-webkit-scrollbar {
  height: 6px;
}

.overflow-x-auto::-webkit-scrollbar-thumb {
  background: rgba(26, 20, 19, 0.2);
  border-radius: 9999px;
}

/* 5. Mobile Navigation Drawer Refinements */
#mobile-menu {
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

#mobile-menu a,
#mobile-menu button {
  min-height: 44px;
}

/* 6. Modals on Mobile Devices */
@media (max-width: 640px) {
  #search-modal > div,
  #quick-view-modal > div > div,
  #cat-flavours-modal > div,
  #sample-modal > div {
    width: 95vw !important;
    max-width: 95vw !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 1.25rem !important;
  }
  
  #search-modal {
    padding-top: 5rem !important;
  }
  
  .btn-modern-details,
  .btn-modern-sample {
    padding: 0.85rem 0.75rem !important;
    font-size: 0.7rem !important;
  }
}

/* 7. Floating Action Widget on Small Viewports */
@media (max-width: 640px) {
  .nutchy-float-widget {
    bottom: 1.25rem !important;
    right: 1.25rem !important;
  }
  .nutchy-float-trigger {
    width: 52px !important;
    height: 52px !important;
  }
  #back-to-top {
    bottom: 1.25rem !important;
    left: 1.25rem !important;
    width: 44px !important;
    height: 44px !important;
  }
}


/* ==================== HERO RESPONSIVE LAYOUT ==================== */
.hero-inner-container {
  display: flex;
  flex-direction: column;
  padding: 7rem 1.25rem 2.5rem;
}
.hero-text-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
}
.hero-bowls-col {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 0 0.5rem;
  width: 100%;
}
@media (min-width: 1024px) {
  .hero-inner-container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    column-gap: 2rem;
    padding: 5rem 3rem;
    align-items: center;
  }
  .hero-text-col {
    grid-column: span 6;
    align-items: flex-start;
    text-align: left;
  }
  .hero-bowls-col {
    grid-column: span 6;
    padding: 1.5rem 0;
  }
}


/* ==================== NUTRITION SECTION RESPONSIVE LAYOUT ==================== */
.nutri-section-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

.nutri-text-col {
  width: 100%;
}

.nutri-table-col {
  width: 100%;
}

/* Display-lg heading responsive on mobile */
.nutri-text-col .display-lg {
  font-size: clamp(1.8rem, 6vw, 3rem) !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

@media (min-width: 1024px) {
  .nutri-section-inner {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 3.5rem;
    padding: 0 2.5rem;
    align-items: start;
  }
}
