.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{--color-bg:var(--bg);--color-primary:var(--primary);--color-secondary:var(--secondary);--color-text:var(--text);--color-surface:color-mix(in srgb, var(--bg) 97%, #fff);--color-glass:color-mix(in srgb, var(--bg) 60%, transparent);--color-glass-border:color-mix(in srgb, var(--primary) 8%, transparent);--color-fade:transparent;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:3rem;--text-4xl:4rem;--text-5xl:6rem;--leading-body:1.6;--leading-heading:1.15;--leading-mono:1.5;--font-display:"Old Standard TT", Georgia, serif;--font-body:"Onest", sans-serif;--font-mono:"JetBrains Mono", monospace}*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p,ul,figure,blockquote,dl,dd{margin:0;padding:0}html{scroll-behavior:smooth}body{text-rendering:optimizespeed;min-height:100dvh;line-height:var(--leading-body);font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;transition:background-color .4s,color .4s;position:relative;overflow-x:hidden}.skip-link{z-index:10002;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--color-bg);background:var(--color-primary);border-radius:4px;padding:.75rem 1.5rem;font-size:.8rem;text-decoration:none;position:absolute;top:-100%;left:1rem}.skip-link:focus{top:1rem}body:before{content:"";z-index:-1;opacity:.015;pointer-events:none;background-image:repeating-linear-gradient(0deg, transparent, transparent 2px, color-mix(in srgb, var(--color-bg) 90%, #000) 2px, color-mix(in srgb, var(--color-bg) 90%, #000) 3px);position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center, transparent 55%, var(--color-bg) 100%);opacity:.12;position:fixed;inset:0}::selection{background-color:var(--color-primary);color:var(--color-bg)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-secondary)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}.scroll-progress{background:var(--color-primary);z-index:10001;transform-origin:0;will-change:width;border-radius:0 1px 0 0;width:0%;height:2px;position:fixed;top:0;left:0}button:active,a:active{transition:transform 80ms;transform:scale(.97)}@keyframes grainFlicker{0%,to{background-position:0 0}20%{background-position:15px 30px}40%{background-position:-25px -15px}60%{background-position:35px 10px}80%{background-position:-15px -35px}}.film-grain{opacity:.028;pointer-events:none;z-index:9999;will-change:background-position;background-image:url(/textures/noise.png);background-repeat:repeat;width:calc(100vw + 128px);height:calc(100vh + 128px);animation:.4s steps(4,end) infinite grainFlicker;position:fixed;top:-64px;left:-64px}@media (width<=768px){.film-grain{display:none}}.site-nav,.fragrance-nav{will-change:opacity;transition:opacity .6s cubic-bezier(.16,1,.3,1)}.reveal{opacity:0;will-change:opacity, transform;transition:opacity 1.8s cubic-bezier(.16,1,.3,1),transform 1.8s cubic-bezier(.16,1,.3,1);transform:translateY(45px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-img{opacity:0;will-change:opacity, transform;transition:opacity 2s cubic-bezier(.16,1,.3,1),transform 2s cubic-bezier(.16,1,.3,1);transform:scale(1.05)}.reveal-img.is-visible{opacity:1;transform:scale(1)}.reveal-blur{opacity:0;filter:blur(8px);will-change:opacity, filter, transform;transition:opacity 1.8s cubic-bezier(.16,1,.3,1),filter 1.6s cubic-bezier(.16,1,.3,1),transform 1.6s cubic-bezier(.16,1,.3,1);transform:translateY(24px)}.reveal-blur.is-visible{opacity:1;filter:blur();transform:translateY(0)}.reveal-left{opacity:0;will-change:opacity, transform;transition:opacity 1.4s cubic-bezier(.16,1,.3,1),transform 1.4s cubic-bezier(.16,1,.3,1);transform:translate(-32px)}.reveal-left.is-visible{opacity:1;transform:translate(0)}.reveal-scale{opacity:0;will-change:opacity, transform;transition:opacity 1.2s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1);transform:scale(.96)}.reveal-scale.is-visible{opacity:1;transform:scale(1)}.app-loader{background-color:var(--color-bg);z-index:10000;opacity:1;pointer-events:all;justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity 1.2s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;left:0}.app-loader.fade-out{opacity:0;pointer-events:none;visibility:hidden}.loader-text{font-family:var(--font-mono);color:var(--color-secondary);letter-spacing:.15em;text-transform:uppercase;font-size:.8rem;animation:2s ease-in-out infinite pulse-loader}@keyframes pulse-loader{0%,to{opacity:.35}50%{opacity:.95}}.grid-container{grid-template-columns:[margin-left]1fr[col-start]repeat(4,1fr)[col-end]1fr[margin-right];column-gap:16px;padding:0 20px;display:grid}.grid-content{grid-column:col-start/col-end}@media (width>=768px){.grid-container{column-gap:24px;padding:0 48px}}@media (width>=1024px){.grid-container{column-gap:28px;padding:0 80px}}@media (width>=1440px){.grid-container{column-gap:32px;padding:0 120px}}.grid-full{grid-column:1/-1}@keyframes vt-glass-out{0%{opacity:1;filter:blur()}to{opacity:0;filter:blur(12px)}}@keyframes vt-glass-in{0%{opacity:0;filter:blur(12px)}to{opacity:1;filter:blur()}}::view-transition-old(root){animation:.5s cubic-bezier(.4,0,.2,1) both vt-glass-out}::view-transition-new(root){animation:.5s cubic-bezier(.4,0,.2,1) both vt-glass-in}@media (prefers-reduced-motion:reduce){*,:before,:after{background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:-1ms!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
