:root{--color-bg-primary: #F7F4EE;--color-bg-secondary: #EEE9DF;--color-surface: #FBFAF7;--color-surface-hover: #F2EFE8;--color-text-primary: #242321;--color-text-accent: #302E29;--color-text-secondary: #706C65;--color-text-muted: #98928A;--color-accent-primary: #66705C;--color-accent-hover: #545D4C;--color-accent-subtle: #EEF1EB;--color-brass: #A98655;--color-brass-hover: #937346;--color-brass-subtle: #F6F1E9;--color-border: #DDD7CC;--color-border-light: #ECE7DD;--color-border-focus: #66705C;--color-success: #556B4D;--color-error: #A2483E;--color-error-bg: #FDF4F3;--font-serif: "Cormorant Garamond", Garamond, "Playfair Display", Georgia, serif;--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--max-width-site: 1320px;--max-width-content: 1140px;--max-width-narrow: 840px;--nav-height: 84px;--nav-height-scrolled: 70px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 36px;--spacing-2xl: 48px;--spacing-3xl: 64px;--spacing-4xl: 96px;--spacing-5xl: 120px;--radius-none: 0px;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-full: 9999px;--shadow-subtle: 0 1px 3px rgba(36, 35, 33, .04), 0 1px 2px rgba(36, 35, 33, .03);--shadow-elevated: 0 10px 28px rgba(36, 35, 33, .06), 0 2px 8px rgba(36, 35, 33, .04);--shadow-floating: 0 12px 36px rgba(36, 35, 33, .12), 0 4px 12px rgba(36, 35, 33, .06);--shadow-drawer: -6px 0 32px rgba(36, 35, 33, .08);--shadow-modal: 0 24px 48px -12px rgba(36, 35, 33, .14);--transition-fast: .15s cubic-bezier(.16, 1, .3, 1);--transition-base: .25s cubic-bezier(.16, 1, .3, 1);--transition-slow: .4s cubic-bezier(.16, 1, .3, 1);--z-base: 1;--z-nav: 50;--z-floating: 90;--z-drawer-backdrop: 100;--z-drawer-content: 101;--z-modal-backdrop: 150;--z-modal-content: 151;--z-toast: 200}.eyebrow{font-family:var(--font-sans);font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent-primary);display:inline-flex;align-items:center;gap:8px}.eyebrow-brass{color:var(--color-brass)}.eyebrow-charcoal{color:var(--color-text-secondary)}h1,h2,h3,h4,.font-serif{font-family:var(--font-serif);font-weight:400;color:var(--color-text-primary);letter-spacing:-.015em;line-height:1.15}.heading-display{font-size:clamp(2.5rem,5.5vw,4.5rem);font-weight:300;letter-spacing:-.025em;line-height:1.06;text-transform:uppercase}.heading-section{font-size:clamp(2rem,3.8vw,3.1rem);font-weight:400;letter-spacing:-.02em;line-height:1.12;text-transform:uppercase}.heading-sub{font-size:clamp(1.4rem,2.2vw,1.85rem);font-weight:400;line-height:1.25}.heading-card{font-family:var(--font-serif);font-size:1.35rem;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-primary)}body,.font-sans{font-family:var(--font-sans);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}p{color:var(--color-text-secondary)}span,button,input,select,textarea{font-family:inherit}.text-lead{font-size:1.15rem;line-height:1.68;color:var(--color-text-secondary);font-weight:300}.text-body{font-size:.975rem;line-height:1.62;color:var(--color-text-secondary)}.text-sm{font-size:.85rem;line-height:1.5;color:var(--color-text-muted)}.text-price{font-family:var(--font-sans);font-size:1.1rem;font-weight:500;letter-spacing:.02em;color:var(--color-text-accent)}.text-italic-statement{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.4;color:var(--color-text-secondary);font-weight:300}@keyframes heroImageScale{0%{transform:scale(1.035);opacity:.94}to{transform:scale(1);opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideInBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pulseSubtle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(1.15)}}.anim-hero-img{animation:heroImageScale 1.1s cubic-bezier(.16,1,.3,1) forwards}.anim-reveal-1{opacity:0;animation:fadeInUp .75s cubic-bezier(.16,1,.3,1) .08s forwards}.anim-reveal-2{opacity:0;animation:fadeInUp .75s cubic-bezier(.16,1,.3,1) .2s forwards}.anim-reveal-3{opacity:0;animation:fadeInUp .75s cubic-bezier(.16,1,.3,1) .32s forwards}.anim-reveal-4{opacity:0;animation:fadeInUp .75s cubic-bezier(.16,1,.3,1) .45s forwards}.status-dot-pulse{width:6px;height:6px;border-radius:50%;background-color:var(--color-accent-primary);display:inline-block;animation:pulseSubtle 2.5s infinite ease-in-out;flex-shrink:0}.status-dot-closed{width:6px;height:6px;border-radius:50%;background-color:var(--color-text-muted);display:inline-block;flex-shrink:0}.img-zoom-container{overflow:hidden;background-color:var(--color-bg-secondary)}.img-zoom-target{transition:transform .6s cubic-bezier(.16,1,.3,1);will-change:transform}.img-zoom-container:hover .img-zoom-target{transform:scale(1.03)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#24232173;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);animation:fadeIn .22s ease-out forwards}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#24232166;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:var(--z-drawer-backdrop);animation:fadeIn .22s ease-out forwards}.drawer-content{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:480px;background-color:var(--color-surface);box-shadow:var(--shadow-drawer);z-index:var(--z-drawer-content);display:flex;flex-direction:column;box-sizing:border-box;animation:slideInRight .32s cubic-bezier(.32,.72,0,1) forwards}@media (max-width: 640px){.drawer-bottom-sheet{top:auto;bottom:0;left:0;right:0;max-width:100%;max-height:90vh;border-top-left-radius:12px;border-top-right-radius:12px;animation:slideInBottom .32s cubic-bezier(.32,.72,0,1) forwards}}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;background-color:var(--color-bg-primary);overflow-x:hidden}body{background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden;position:relative;width:100%}::selection{background-color:var(--color-accent-subtle);color:var(--color-text-primary)}:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}a{color:inherit;text-decoration:none}button{cursor:pointer;background:none;border:none;font:inherit;color:inherit}img,svg{display:block;max-width:100%;height:auto}input,textarea,select{font:inherit;color:inherit;box-sizing:border-box}.container{width:100%;max-width:var(--max-width-site);margin-left:auto;margin-right:auto;padding-left:clamp(16px,3.5vw,32px);padding-right:clamp(16px,3.5vw,32px);box-sizing:border-box}.container-narrow{width:100%;max-width:var(--max-width-narrow);margin-left:auto;margin-right:auto;padding-left:clamp(16px,3.5vw,32px);padding-right:clamp(16px,3.5vw,32px);box-sizing:border-box}.section-padding{padding-top:clamp(64px,7.5vw,112px);padding-bottom:clamp(64px,7.5vw,112px)}.section-bg-linen{background-color:var(--color-bg-secondary)}.section-bg-ivory{background-color:var(--color-bg-primary)}.section-bg-surface{background-color:var(--color-surface)}.divider-subtle{height:1px;background-color:var(--color-border);width:100%;border:none}.divider-vertical{width:1px;background-color:var(--color-border);height:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-sans);font-size:.8125rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:13px 26px;border-radius:var(--radius-sm);transition:all var(--transition-base);text-align:center;white-space:nowrap;-webkit-user-select:none;user-select:none;min-height:48px;box-sizing:border-box;text-decoration:none;cursor:pointer}.btn *,.btn span,.btn svg{color:inherit;fill:currentColor;stroke:currentColor}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background-color:var(--color-text-primary);color:var(--color-surface)!important;border:1px solid var(--color-text-primary)}.btn-primary span,.btn-primary svg{color:var(--color-surface)!important}.btn-primary:hover,.btn-primary:focus-visible{background-color:var(--color-accent-primary);border-color:var(--color-accent-primary);color:#fff!important}.btn-primary:hover span,.btn-primary:focus-visible span,.btn-primary:hover svg,.btn-primary:focus-visible svg{color:#fff!important}.btn-primary:active{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);color:#fff!important}.btn-secondary,.btn-outline{background-color:transparent;color:var(--color-text-primary)!important;border:1px solid var(--color-text-primary)}.btn-secondary span,.btn-outline span,.btn-secondary svg,.btn-outline svg{color:var(--color-text-primary)!important}.btn-secondary:hover,.btn-outline:hover,.btn-secondary:focus-visible,.btn-outline:focus-visible{background-color:var(--color-surface);border-color:var(--color-text-primary);color:var(--color-text-primary)!important}.btn-olive{background-color:var(--color-accent-primary);color:#fff!important;border:1px solid var(--color-accent-primary)}.btn-olive span,.btn-olive svg{color:#fff!important}.btn-olive:hover,.btn-olive:focus-visible{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);color:#fff!important}.btn-link-editorial{font-family:var(--font-sans);font-size:.8125rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-primary)!important;position:relative;padding-bottom:4px;display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;cursor:pointer}.btn-link-editorial span{color:var(--color-text-primary)!important}.btn-link-editorial:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:var(--color-text-primary);transition:transform var(--transition-base),background-color var(--transition-base);transform-origin:left}.btn-link-editorial:hover:after{transform:scaleX(.7);background-color:var(--color-accent-primary)}.btn-sm{padding:8px 18px;font-size:.75rem;min-height:38px;letter-spacing:.1em}.badge-dietary{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:.6875rem;font-weight:600;letter-spacing:.08em;padding:3px 8px;border-radius:var(--radius-xs);background-color:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border)}.badge-dietary-gf{background-color:#f1f4ee;color:var(--color-accent-primary);border-color:#d3dcb7}.badge-dietary-v,.badge-dietary-vg{background-color:#f7f5ee;color:#6c664c;border-color:#ddd8bf}.floating-cart-pill{position:fixed;bottom:24px;right:24px;z-index:var(--z-floating);background-color:var(--color-text-primary);color:var(--color-surface)!important;border:1px solid var(--color-text-primary);border-radius:var(--radius-sm);padding:12px 20px;display:inline-flex;align-items:center;gap:12px;font-family:var(--font-sans);font-size:.8125rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;box-shadow:var(--shadow-floating);transition:all var(--transition-base);cursor:pointer}.floating-cart-pill span,.floating-cart-pill svg{color:var(--color-surface)!important}.floating-cart-pill:hover{background-color:var(--color-accent-primary);border-color:var(--color-accent-primary);color:#fff!important;transform:translateY(-2px)}.floating-cart-pill:hover span,.floating-cart-pill:hover svg{color:#fff!important}@media (max-width: 640px){.floating-cart-pill{bottom:20px;right:16px;left:16px;justify-content:center;padding:14px 20px}}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}
