@import url("https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css");:root{--ff-site-shell:1280px;--ff-border-soft:rgba(32,28,27,.1);--ff-card-bg:hsla(0,0%,100%,.72);--ff-card-border:rgba(32,28,27,.08);--ff-card-shadow:0 12px 32px rgba(32,28,27,.05);--ff-card-shadow-hover:0 20px 44px rgba(124,40,54,.09)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body,html{margin:0;padding:0;background:var(--ff-bg);color:var(--ff-text);font-family:var(--ff-font-body),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;line-height:var(--ff-leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 10% 0,hsla(17,48%,87%,.55),transparent 40%),radial-gradient(circle at 90% 25%,hsla(19,61%,93%,.5),transparent 35%),linear-gradient(180deg,#fbf3ec,#f8efe8 50%,#faf3ec);background-attachment:fixed}main{flex-grow:1}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none;transition:color .2s ease}figure,ol,p,ul{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:var(--ff-font-display),Georgia,serif;font-weight:500;line-height:var(--ff-leading-tight);margin:0;color:var(--ff-charcoal);letter-spacing:-.03em}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--ff-burgundy);outline-offset:2px}.site-shell{width:min(var(--ff-site-shell),calc(100% - 2.5rem));margin:0 auto}.eyebrow,.section-kicker{font-size:.68rem;letter-spacing:.2em;margin-bottom:.5rem;display:inline-block}.brand-pill,.eyebrow,.section-kicker{font-weight:600;text-transform:uppercase;color:var(--ff-burgundy)}.brand-pill{display:inline-flex;align-items:center;gap:.5rem;border:1px solid rgba(124,40,54,.2);background:hsla(0,0%,100%,.65);backdrop-filter:blur(8px);border-radius:999px;padding:.45rem 1rem;font-size:.7rem;letter-spacing:.18em}.editorial-rule{height:1px;width:100%;background:rgba(32,28,27,.1);margin:2.5rem 0}.page-intro{padding:4.5rem 0 3rem;border-bottom:1px solid rgba(32,28,27,.08)}.display-title{max-width:860px;margin-top:.8rem;font-family:var(--ff-font-display),Georgia,serif;font-size:clamp(2.8rem,6.5vw,6rem);font-weight:400;letter-spacing:-.05em;line-height:.95;color:var(--ff-charcoal)}.section-block{padding:5.5rem 0}.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:2.5rem;flex-wrap:wrap}.section-title{font-family:var(--ff-font-display),Georgia,serif;font-size:clamp(2.2rem,3.8vw,3.4rem);letter-spacing:-.04em;line-height:1.08;color:var(--ff-charcoal);margin-top:.35rem}.account-page{min-height:62vh;padding:4.5rem 0 6rem}.account-loading{padding:5rem 0;color:var(--ff-charcoal-soft)}.account-shell{max-width:1120px}.account-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;padding-bottom:2rem;border-bottom:1px solid var(--ff-border-soft)}.account-title{margin-top:.35rem;font-family:var(--ff-font-display),Georgia,serif;font-size:clamp(2.7rem,6vw,5.2rem);line-height:.98;letter-spacing:-.055em}.account-intro{max-width:38rem;margin-top:1rem;color:var(--ff-charcoal-soft);line-height:1.7}.account-guest-page{display:grid;place-items:center;padding-top:3rem}.account-guest-card{max-width:760px;padding:clamp(2rem,6vw,5rem);text-align:center;border:1px solid var(--ff-card-border);border-radius:20px;background:linear-gradient(145deg,hsla(0,0%,100%,.82),hsla(17,48%,87%,.44));box-shadow:var(--ff-card-shadow)}.account-guest-card .account-intro{margin-inline:auto}.account-actions{gap:.8rem;margin-top:2rem}.account-actions,.account-guest-notes{display:flex;justify-content:center;flex-wrap:wrap}.account-guest-notes{gap:.6rem 1.2rem;margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--ff-border-soft);color:var(--ff-charcoal-soft);font-size:.8rem}.account-guest-notes span:before{content:"•";color:var(--ff-burgundy);margin-right:.45rem}.account-grid{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:clamp(2rem,5vw,4.5rem);margin-top:3rem}.account-panel,.order-detail-panel{border:1px solid var(--ff-card-border);border-radius:14px;background:var(--ff-card-bg);box-shadow:var(--ff-card-shadow);padding:clamp(1.35rem,3vw,2.2rem)}.account-orders h2,.account-panel h2,.order-detail-panel h2{font-size:1.8rem}.account-details{display:grid;gap:1.25rem;margin:1.7rem 0 0}.account-details dt,.account-order-card p{color:var(--ff-charcoal-soft);font-size:.86rem}.account-details dd{margin:.25rem 0 0;color:var(--ff-charcoal);overflow-wrap:anywhere}.account-orders-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.account-orders-heading a{color:var(--ff-burgundy);font-size:.88rem;font-weight:600}.account-order-list{display:grid;gap:.8rem;margin-top:1.4rem}.account-order-card{display:block;border:1px solid var(--ff-card-border);border-radius:12px;background:hsla(0,0%,100%,.62);padding:1.2rem;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.account-order-card:hover{transform:translateY(-2px);border-color:rgba(124,40,54,.5);box-shadow:var(--ff-card-shadow)}.account-order-card-inner,.order-detail-items>div,.order-detail-total{display:flex;justify-content:space-between;gap:1rem}.account-order-number{color:var(--ff-charcoal)!important;font-family:var(--ff-font-display),Georgia,serif;font-size:1.3rem!important}.account-order-total{text-align:right;color:var(--ff-charcoal);font-weight:600}.account-order-total span,.order-payment{display:block;margin-top:.35rem;color:var(--ff-burgundy);font-size:.82rem;text-transform:capitalize}.account-empty{display:grid;justify-items:start;gap:.75rem;margin-top:1.4rem;padding:2rem;border:1px dashed rgba(32,28,27,.2);border-radius:12px;background:hsla(0,0%,100%,.35);color:var(--ff-charcoal-soft)}.account-empty p{color:var(--ff-charcoal);font-family:var(--ff-font-display),Georgia,serif;font-size:1.45rem}.account-empty .btn{margin-top:.5rem}.account-error{margin-top:1.5rem;padding:.85rem 1rem;border:1px solid #e8b8b8;background:#fff4f4;color:#8c2530;border-radius:6px;font-size:.9rem}.order-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:3rem}.order-detail-items{display:grid;gap:1rem;margin-top:1.5rem;font-size:.92rem}.order-detail-total{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--ff-border-soft)}.delivery-address{display:grid;gap:.25rem;margin-top:1.45rem;color:var(--ff-charcoal-soft);font-size:.92rem;font-style:normal;line-height:1.55}.delivery-address strong{color:var(--ff-charcoal);margin-bottom:.25rem}.delivery-unavailable{margin-top:1.45rem;color:var(--ff-charcoal-soft);line-height:1.6}.order-payment{margin-top:1.8rem}.loading-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin-top:3rem}.loading-card{min-height:330px;border-radius:12px;background:linear-gradient(100deg,hsla(17,48%,87%,.5) 25%,hsla(0,0%,100%,.8) 40%,hsla(17,48%,87%,.5) 60%);background-size:200% 100%;animation:ff-shimmer 1.3s infinite}.admin-gate{min-height:55vh;display:grid;place-items:center;color:var(--ff-charcoal-soft)}.admin-shell{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);padding-top:3rem;padding-bottom:5rem}.admin-nav{position:sticky;top:6.5rem;align-self:start}.admin-nav>p{font-family:var(--ff-font-display),Georgia,serif;font-size:1.4rem;color:var(--ff-charcoal)}.admin-nav nav{display:grid;gap:.2rem;margin-top:1.25rem}.admin-nav-link{display:block;padding:.65rem .75rem;border-radius:6px;color:var(--ff-charcoal-soft);font-size:.88rem}.admin-nav-link:hover{background:var(--ff-blush-soft);color:var(--ff-charcoal)}.admin-content{min-width:0}@media (max-width:720px){.account-page{padding:3rem 0 4.5rem}.account-heading{display:grid}.account-grid,.admin-shell,.order-detail-grid{grid-template-columns:1fr}.account-order-card-inner{align-items:flex-start}.loading-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.loading-card{min-height:220px}.admin-nav{position:static}.admin-nav nav{grid-template-columns:repeat(2,minmax(0,1fr))}}.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;border-radius:4px;padding:.82rem 1.75rem;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;cursor:pointer;line-height:1;transition:all .25s cubic-bezier(.2,.8,.2,1);white-space:nowrap}.btn-primary{background:var(--ff-burgundy);color:#fff!important;border:1px solid var(--ff-burgundy);box-shadow:0 6px 18px rgba(124,40,54,.22)}.btn-primary:focus-visible,.btn-primary:hover{background:var(--ff-burgundy-dark);border-color:var(--ff-burgundy-dark);transform:translateY(-2px);box-shadow:0 10px 24px rgba(124,40,54,.3);color:#fff!important}.btn-outline{background:hsla(0,0%,100%,.5);color:var(--ff-charcoal)!important;border:1px solid rgba(32,28,27,.22);backdrop-filter:blur(4px)}.btn-outline:focus-visible,.btn-outline:hover{border-color:var(--ff-burgundy);color:var(--ff-burgundy)!important;background:hsla(0,0%,100%,.9);transform:translateY(-2px);box-shadow:0 6px 18px rgba(32,28,27,.06)}.btn-ghost{background:transparent;border:none;color:var(--ff-charcoal)!important;padding:.6rem 0;position:relative}.btn-ghost:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--ff-burgundy);transform:scaleX(0);transform-origin:right;transition:transform .25s ease}.btn-ghost:focus-visible,.btn-ghost:hover{color:var(--ff-burgundy)!important}.btn-ghost:focus-visible:after,.btn-ghost:hover:after{transform:scaleX(1);transform-origin:left}.btn-block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}.header-shell{position:sticky;top:0;z-index:50;background:hsla(28,65%,95%,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(32,28,27,.08);transition:all .3s ease}.header-shell.is-scrolled{background:hsla(28,65%,95%,.97);box-shadow:0 8px 24px rgba(32,28,27,.05);border-bottom-color:rgba(32,28,27,.12)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:80px;gap:1.5rem}.brand-lockup{display:inline-flex;align-items:center;gap:.85rem;color:var(--ff-charcoal);text-decoration:none}.brand-mark-wrap{position:relative;width:44px;height:44px;overflow:hidden;border-radius:12px;border:1px solid rgba(32,28,27,.08);background:hsla(0,0%,100%,.6);box-shadow:0 4px 12px rgba(32,28,27,.04)}.brand-name{font-family:var(--ff-font-display),Georgia,serif;font-size:clamp(1.4rem,1.8vw,1.85rem);letter-spacing:-.04em;font-weight:500;color:var(--ff-charcoal)}.desktop-nav{display:none;align-items:center;justify-content:center;gap:2.2rem}.nav-link{position:relative;color:var(--ff-charcoal-soft);text-decoration:none;font-size:.9rem;font-weight:500;letter-spacing:.02em;padding:.35rem 0;transition:color .2s ease}.nav-link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1.5px;background:var(--ff-burgundy);transform:scaleX(0);transform-origin:center;transition:transform .25s cubic-bezier(.2,.8,.2,1)}.nav-link.is-active,.nav-link:focus-visible,.nav-link:hover{color:var(--ff-burgundy)}.nav-link.is-active:after,.nav-link:focus-visible:after,.nav-link:hover:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:1.25rem}.header-action-link{display:none;position:relative;color:var(--ff-charcoal-soft);font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s ease}.header-action-link.is-active,.header-action-link:hover{color:var(--ff-burgundy)}.cart-count-badge{align-items:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:999px;background:var(--ff-burgundy);color:#fff;font-size:.72rem;font-weight:600;margin-left:.35rem}.cart-count-badge,.menu-toggle{display:inline-flex;justify-content:center}.menu-toggle{flex-direction:column;gap:5px;width:44px;height:44px;border:1px solid rgba(32,28,27,.1);background:hsla(0,0%,100%,.5);border-radius:12px;padding:0 11px;cursor:pointer;transition:all .2s ease}.menu-toggle:hover{background:hsla(0,0%,100%,.85);border-color:rgba(124,40,54,.2)}.menu-toggle span{display:block;width:100%;height:2px;background:var(--ff-charcoal);border-radius:999px;transition:all .2s ease}.mobile-panel{border-top:1px solid rgba(32,28,27,.08);background:hsla(28,65%,95%,.98);backdrop-filter:blur(16px);padding:1.25rem 1.5rem 1.75rem;display:grid;gap:.35rem;animation:slideDown .25s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.mobile-link{color:var(--ff-charcoal);font-size:1.05rem;padding:.75rem .5rem;border-bottom:1px solid rgba(32,28,27,.06);font-weight:500}.mobile-link:hover{color:var(--ff-burgundy)}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.product-card{position:relative;display:flex;flex-direction:column;border-radius:16px;background:var(--ff-card-bg);backdrop-filter:blur(6px);border:1px solid var(--ff-card-border);overflow:hidden;box-shadow:var(--ff-card-shadow);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s cubic-bezier(.2,.8,.2,1),border-color .35s ease}.product-card:hover{transform:translateY(-4px);box-shadow:var(--ff-card-shadow-hover);border-color:rgba(124,40,54,.25)}.product-card-media-link{display:block;position:relative;overflow:hidden}.product-card-image-wrap{position:relative;width:100%;aspect-ratio:1/1;background:linear-gradient(180deg,#faf4ef,#f4e7df);overflow:hidden;display:flex;align-items:center;justify-content:center;padding:1.25rem}.product-card-image{-o-object-fit:contain!important;object-fit:contain!important;-o-object-position:center;object-position:center;padding:.85rem;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.product-card:hover .product-card-image{transform:scale(1.04)}.product-card-badge{position:absolute;top:.75rem;left:.75rem;z-index:2;background:hsla(0,0%,100%,.9);backdrop-filter:blur(8px);border:1px solid rgba(32,28,27,.08);border-radius:999px;padding:.25rem .65rem;font-size:.6rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ff-burgundy);box-shadow:0 4px 10px rgba(32,28,27,.05)}.product-card-body{padding:1.1rem 1rem 1.15rem;display:flex;flex-direction:column;flex-grow:1}.product-card-eyebrow{font-size:.6rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ff-burgundy);margin-bottom:.3rem}.product-card-title{font-family:var(--ff-font-display),Georgia,serif;font-size:1.2rem;color:var(--ff-charcoal);margin:0;font-weight:500;line-height:1.22;letter-spacing:-.03em}.product-card-title a:hover{color:var(--ff-burgundy)}.product-card-tagline{font-size:.82rem;color:var(--ff-charcoal-soft);margin-top:.35rem;line-height:1.5;flex-grow:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card-meta{display:flex;align-items:baseline;justify-content:space-between;margin-top:.85rem;padding-top:.7rem;border-top:1px solid rgba(32,28,27,.08)}.product-card-size{font-size:.8rem;color:var(--ff-charcoal-soft);font-weight:400}.product-card-price{font-family:var(--ff-font-display),Georgia,serif;font-size:1.2rem;font-weight:600;color:var(--ff-burgundy)}.product-card-actions{margin-top:.85rem}.cart-actions-wrap{width:100%}.cart-add-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ff-burgundy);background:transparent;color:var(--ff-burgundy);padding:.72rem 1rem;font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;border-radius:6px;cursor:pointer;transition:all .25s ease;line-height:1}.cart-add-btn:hover:not(:disabled){background:var(--ff-burgundy);color:#fff;box-shadow:0 4px 14px rgba(124,40,54,.2)}.cart-add-btn:disabled{opacity:.55;cursor:not-allowed}.cart-qty-bar{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--ff-burgundy);background:hsla(17,48%,87%,.35);border-radius:6px;overflow:hidden}.cart-qty-btn{border:none;background:transparent;color:var(--ff-burgundy);padding:.55rem .95rem;font-size:1.15rem;font-weight:500;cursor:pointer;transition:background .2s ease;line-height:1}.cart-qty-btn:hover:not(:disabled){background:rgba(124,40,54,.12)}.cart-qty-btn:disabled{opacity:.45;cursor:not-allowed}.cart-qty-count{font-size:.9rem;font-weight:600;color:var(--ff-charcoal);min-width:2rem;text-align:center}.hero-section{padding:3.5rem 0 2rem}.hero-grid{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}.hero-copy{max-width:38rem}.hero-title{margin-top:1.4rem;font-family:var(--ff-font-display),Georgia,serif;color:var(--ff-charcoal);font-size:clamp(3rem,6.5vw,5.4rem);line-height:.94;letter-spacing:-.055em;font-weight:400}.hero-text{max-width:34rem;margin-top:1.4rem;color:var(--ff-charcoal-soft);font-size:1.05rem;line-height:1.8}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.2rem}.hero-panel{position:relative;overflow:hidden;border:1px solid rgba(32,28,27,.08);border-radius:24px;background:hsla(0,0%,100%,.65);box-shadow:0 20px 50px rgba(32,28,27,.08);max-width:440px;width:100%;margin:0 auto}.hero-media-wrap{position:relative;width:100%;aspect-ratio:4/4.8;max-height:480px;background:var(--ff-blush)}.hero-overlay{position:absolute;left:1.5rem;bottom:1.5rem;display:inline-flex;align-items:center;gap:.85rem;z-index:2;background:hsla(0,0%,100%,.88);backdrop-filter:blur(10px);border:1px solid rgba(32,28,27,.08);border-radius:14px;padding:.85rem 1.25rem;box-shadow:0 12px 28px rgba(32,28,27,.08)}.hero-overlay-badge{font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ff-burgundy);display:block}.hero-overlay-label{font-family:var(--ff-font-display),Georgia,serif;font-size:1.15rem;color:var(--ff-charcoal);margin-top:.15rem}.story-band{padding:5rem 0;border-top:1px solid rgba(32,28,27,.08);border-bottom:1px solid rgba(32,28,27,.08);background:hsla(17,48%,87%,.4)}.story-layout{text-align:center;max-width:820px;margin:0 auto}.story-title{font-family:var(--ff-font-display),Georgia,serif;font-size:clamp(2rem,4.2vw,3.2rem);letter-spacing:-.04em;line-height:1.15;color:var(--ff-charcoal);margin-top:.6rem}.story-text{margin-top:1.5rem;color:var(--ff-charcoal-soft);line-height:1.85;font-size:1.05rem}.ritual-layout{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}.ritual-copy{max-width:36rem}.ritual-title{font-family:var(--ff-font-display),Georgia,serif;font-size:clamp(2.2rem,3.8vw,3.2rem);letter-spacing:-.04em;line-height:1.12;color:var(--ff-charcoal);margin-top:.5rem}.ritual-text{margin-top:1.25rem;color:var(--ff-charcoal-soft);line-height:1.8;font-size:1.02rem}.ritual-points{list-style:none;padding:0;margin:1.8rem 0 0;display:grid;gap:.85rem}.ritual-points li{position:relative;padding-left:1.6rem;color:var(--ff-charcoal);font-weight:500;font-size:.95rem}.ritual-points li:before{content:"✦";position:absolute;left:0;top:-.05rem;color:var(--ff-burgundy);font-size:.85rem}.ritual-media-wrap{position:relative;min-height:480px;overflow:hidden;border-radius:24px;border:1px solid rgba(32,28,27,.08);box-shadow:0 18px 44px rgba(32,28,27,.07);background:var(--ff-blush)}.approach-section{padding:5rem 0}.approach-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:2rem}.approach-card{border:1px solid rgba(32,28,27,.08);border-radius:18px;background:hsla(0,0%,100%,.65);backdrop-filter:blur(4px);padding:2rem 1.6rem;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.approach-card:hover{transform:translateY(-4px);border-color:rgba(124,40,54,.22);box-shadow:0 16px 36px rgba(32,28,27,.06)}.approach-number{font-size:.72rem;font-weight:700;letter-spacing:.15em;color:var(--ff-burgundy);display:block}.approach-card h3{margin-top:1rem;font-family:var(--ff-font-display),Georgia,serif;font-size:1.85rem;color:var(--ff-charcoal);letter-spacing:-.03em}.approach-card p{margin-top:.65rem;color:var(--ff-charcoal-soft);line-height:1.75;font-size:.95rem}.newsletter-box{border:1px solid rgba(32,28,27,.08);border-radius:24px;padding:4rem 2rem;text-align:center;background:linear-gradient(180deg,hsla(0,0%,100%,.85),hsla(19,61%,93%,.65));box-shadow:0 18px 40px rgba(32,28,27,.05)}.newsletter-title{font-size:clamp(2rem,3.5vw,3rem);font-family:var(--ff-font-display),Georgia,serif;color:var(--ff-charcoal)}.newsletter-copy{margin:1rem auto 0;max-width:32rem;color:var(--ff-charcoal-soft);line-height:1.75;font-size:1rem}.newsletter-form{display:flex;flex-direction:column;align-items:stretch;gap:.85rem;max-width:32rem;margin:2rem auto 0}.newsletter-form input{min-height:52px;border:1px solid rgba(32,28,27,.18);border-radius:8px;padding:.85rem 1.25rem;background:#fff;color:var(--ff-charcoal);font-size:.95rem;transition:border-color .2s ease}.newsletter-form input:focus{outline:none;border-color:var(--ff-burgundy);box-shadow:0 0 0 3px rgba(124,40,54,.12)}.product-detail-layout{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:start}.product-page-loading{padding:3.5rem 0 5rem}@keyframes ff-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.product-skeleton-block,.product-skeleton-cta,.product-skeleton-line,.product-skeleton-pill{background:linear-gradient(90deg,hsla(11,39%,89%,.65),hsla(0,0%,100%,.88) 50%,hsla(11,39%,89%,.65));background-size:200% 100%;animation:ff-shimmer 1.8s ease-in-out infinite}.product-loading-info{padding-top:.25rem}.product-skeleton-line{border-radius:999px;height:.8rem}.product-skeleton-eyebrow{width:7rem;height:.65rem}.product-skeleton-title{width:min(100%,26rem);height:clamp(2.3rem,4vw,3.5rem);margin-top:1rem;border-radius:.5rem}.product-skeleton-title.short{width:62%;margin-top:.55rem}.product-skeleton-price{width:7rem;height:2.1rem}.product-skeleton-pill{width:5.5rem;height:2rem;border-radius:999px}.product-skeleton-copy{width:100%;margin-top:1.25rem}.product-skeleton-copy.short{width:78%;margin-top:.65rem}.product-skeleton-cta{width:10rem;height:3rem;border-radius:8px}.product-skeleton-stock{width:10rem;height:.65rem}.product-skeleton-ingredient-title{width:9rem;height:1.15rem}.product-gallery-card{position:relative;background:hsla(0,0%,100%,.75);border:1px solid rgba(32,28,27,.08);border-radius:20px;padding:1.25rem;box-shadow:0 16px 40px rgba(32,28,27,.04);max-width:480px;width:100%;margin:0 auto}.gallery-main{position:relative;width:100%;aspect-ratio:1/1;border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#fbf5f1,#f5e8e0);display:flex;align-items:center;justify-content:center}.gallery-badge{position:absolute;top:1rem;left:1rem;z-index:2;background:hsla(0,0%,100%,.9);backdrop-filter:blur(8px);padding:.35rem .85rem;border-radius:999px;font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ff-burgundy);border:1px solid rgba(32,28,27,.06);box-shadow:0 2px 8px rgba(32,28,27,.04)}.gallery-main-image{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;animation:ffFadeIn .3s ease}@keyframes ffFadeIn{0%{opacity:.75;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.gallery-main-image-element{-o-object-fit:contain!important;object-fit:contain!important;-o-object-position:center;object-position:center;padding:1.5rem;width:100%;height:100%}.gallery-navigation{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center;padding:0 .65rem;pointer-events:none;z-index:3}.gallery-nav-btn{pointer-events:auto;width:38px;height:38px;border-radius:50%;background:hsla(0,0%,100%,.88);backdrop-filter:blur(8px);border:1px solid rgba(32,28,27,.1);color:var(--ff-charcoal);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px rgba(32,28,27,.08)}.gallery-nav-btn:hover{background:#fff;color:var(--ff-burgundy);transform:scale(1.06);box-shadow:0 6px 16px rgba(124,40,54,.16)}.gallery-nav-btn:focus-visible{outline:2px solid var(--ff-burgundy);outline-offset:2px}.gallery-thumbnails{display:flex;gap:.65rem;margin-top:.85rem;overflow-x:auto;padding-bottom:4px}.gallery-thumb-btn{position:relative;flex:0 0 68px;width:68px;height:68px;border-radius:10px;overflow:hidden;border:1.5px solid rgba(32,28,27,.12);background:#faf3ef;cursor:pointer;padding:.25rem;transition:all .2s ease}.gallery-thumb-btn:hover{border-color:rgba(124,40,54,.4)}.gallery-thumb-btn.is-active{border-color:var(--ff-burgundy);box-shadow:0 0 0 2px rgba(124,40,54,.2);transform:scale(1.02)}.gallery-thumb-image{-o-object-fit:contain!important;object-fit:contain!important;padding:3px}.product-info-panel{display:flex;flex-direction:column}.product-detail-title{font-family:var(--ff-font-display),Georgia,serif;font-size:clamp(2.4rem,4.2vw,3.8rem);letter-spacing:-.04em;line-height:1.05;color:var(--ff-charcoal);margin-top:.5rem}.product-detail-tagline{font-size:1.1rem;color:var(--ff-charcoal-soft);margin-top:.75rem;line-height:1.6}.product-price-bar{display:flex;align-items:baseline;gap:1.25rem;margin-top:1.75rem;padding:1.25rem 0;border-top:1px solid rgba(32,28,27,.1);border-bottom:1px solid rgba(32,28,27,.1)}.product-price-main{font-family:var(--ff-font-display),Georgia,serif;font-size:2.2rem;font-weight:500;color:var(--ff-burgundy);line-height:1}.product-size-pill{font-size:.85rem;color:var(--ff-charcoal-soft);background:hsla(0,0%,100%,.7);padding:.35rem .85rem;border-radius:999px;border:1px solid rgba(32,28,27,.08)}.product-detail-actions{display:flex;align-items:center;gap:1.25rem;margin-top:1.75rem;flex-wrap:wrap}.product-stock-status{font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ff-burgundy)}.hero-ingredients{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(32,28,27,.08)}.hero-ingredients-title{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ff-burgundy);margin-bottom:.75rem}.hero-ingredient-list{display:flex;flex-wrap:wrap;gap:.65rem}.hero-ingredient-card{display:inline-flex;align-items:center;gap:.6rem;padding:.35rem .85rem .35rem .4rem;background:hsla(0,0%,100%,.78);border:1px solid rgba(32,28,27,.09);border-radius:999px;box-shadow:0 2px 6px rgba(32,28,27,.03);transition:all .2s ease}.hero-ingredient-card:hover{background:hsla(0,0%,100%,.98);border-color:rgba(124,40,54,.22);box-shadow:0 4px 10px rgba(32,28,27,.06)}.hero-ingredient-image{position:relative;width:32px;height:32px;border-radius:50%;overflow:hidden;background:var(--ff-blush-soft);flex-shrink:0;border:1px solid rgba(32,28,27,.08)}.hero-ingredient-image-element{-o-object-fit:cover!important;object-fit:cover!important}.hero-ingredient-fallback{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(124,40,54,.08);color:var(--ff-burgundy);flex-shrink:0;border:1px solid rgba(124,40,54,.15)}.hero-ingredient-name{font-size:.82rem;font-weight:500;color:var(--ff-charcoal);white-space:nowrap}.ingredient-meta-section{margin-top:2rem;padding-top:1.75rem;border-top:1px solid rgba(32,28,27,.08)}.ingredient-meta-title{font-family:var(--ff-font-display),Georgia,serif;font-size:1.35rem;color:var(--ff-charcoal)}.ingredient-chip-list{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.85rem}.ingredient-chip{font-size:.82rem;color:var(--ff-charcoal);background:hsla(0,0%,100%,.75);border:1px solid rgba(32,28,27,.1);padding:.45rem .95rem;border-radius:999px;font-weight:500}.benefit-badge-list{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.85rem}.benefit-badge{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ff-burgundy);background:rgba(124,40,54,.08);border:1px solid rgba(124,40,54,.18);padding:.4rem .9rem;border-radius:999px}.product-formula-block{margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid rgba(32,28,27,.1)}.ingredients-grid{display:grid;grid-template-columns:1fr;gap:1.75rem;margin-top:3rem}.ingredient-card{display:flex;flex-direction:column;border:1px solid rgba(32,28,27,.08);background:hsla(0,0%,100%,.65);backdrop-filter:blur(4px);border-radius:18px;padding:1.25rem;box-shadow:0 10px 28px rgba(32,28,27,.04);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.ingredient-card:hover{border-color:rgba(124,40,54,.25);box-shadow:0 20px 44px rgba(32,28,27,.07);transform:translateY(-4px)}.ingredient-media{position:relative;overflow:hidden;background:var(--ff-blush-soft);aspect-ratio:4/5;border-radius:14px}.ingredient-media img{-o-object-fit:cover;object-fit:cover;transition:transform .65s ease}.ingredient-card:hover .ingredient-media img{transform:scale(1.05)}.ingredient-card-title{font-family:var(--ff-font-display),Georgia,serif;font-size:1.75rem;color:var(--ff-charcoal);margin-top:.6rem;letter-spacing:-.03em}.ingredient-desc{margin-top:.6rem;font-size:.92rem;color:var(--ff-charcoal-soft);line-height:1.65}.ingredient-found-in{margin-top:1.25rem;padding-top:.85rem;border-top:1px solid rgba(32,28,27,.08)}.ingredient-link{position:relative;color:var(--ff-charcoal-soft);font-size:.85rem;font-weight:500;transition:color .2s ease}.ingredient-link:after{content:"·";margin-left:.5rem;margin-right:.5rem;color:rgba(32,28,27,.35)}.ingredient-link:last-child:after{content:"";margin:0}.ingredient-link:hover{color:var(--ff-burgundy)}.cart-layout{display:grid;grid-template-columns:1fr;gap:2rem;align-items:start}.cart-items-panel,.cart-summary{background:hsla(0,0%,100%,.7);border:1px solid rgba(32,28,27,.08);border-radius:20px;padding:2rem;box-shadow:0 12px 32px rgba(32,28,27,.04)}.cart-item-list{display:grid;gap:1.25rem}.cart-item-row{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;padding-bottom:1.25rem;border-bottom:1px solid rgba(32,28,27,.08);flex-wrap:wrap}.cart-item-info p:first-child{font-family:var(--ff-font-display),Georgia,serif;font-size:1.2rem;color:var(--ff-charcoal)}.cart-item-info p:last-child{font-size:.85rem;color:var(--ff-charcoal-soft)}.cart-item-actions{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.cart-item-total{font-family:var(--ff-font-display),Georgia,serif;font-weight:600;font-size:1.2rem;color:var(--ff-burgundy);min-width:90px;text-align:right}.remove-link{border:none;background:transparent;color:var(--ff-charcoal-soft);font-size:.82rem;cursor:pointer;padding:.2rem 0;transition:color .2s ease}.remove-link:hover{color:var(--ff-burgundy)}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:.85rem 0;border-bottom:1px solid rgba(32,28,27,.08);color:var(--ff-charcoal);font-size:.95rem}.summary-row strong{font-family:var(--ff-font-display),Georgia,serif;font-size:1.3rem;color:var(--ff-burgundy)}.summary-row.muted{color:var(--ff-charcoal-soft)}.summary-row.muted strong{font-size:.9rem;font-family:inherit;font-weight:500;color:var(--ff-charcoal)}.summary-note{margin-top:1rem;font-size:.82rem;color:var(--ff-charcoal-soft);line-height:1.6}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.5rem}.form-input,.form-label{color:var(--ff-charcoal)}.form-input{width:100%;border:1px solid rgba(32,28,27,.18);border-radius:6px;padding:.85rem 1rem;background:#fff;font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus{outline:none;border-color:var(--ff-burgundy);box-shadow:0 0 0 3px rgba(124,40,54,.12)}.site-footer{border-top:1px solid rgba(32,28,27,.1);background:hsla(17,48%,87%,.5);margin-top:5rem}.footer-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;padding:4.5rem 0 3rem}.footer-brand p:first-child{font-family:var(--ff-font-display),Georgia,serif;font-size:1.75rem;color:var(--ff-charcoal)}.footer-brand p:last-child{margin-top:.5rem;font-size:.9rem;color:var(--ff-charcoal-soft);max-width:18rem}.footer-col-title{font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ff-charcoal);margin-bottom:1.25rem}.footer-links{list-style:none;display:grid;gap:.75rem}.footer-links a{color:var(--ff-charcoal-soft);font-size:.9rem;transition:color .2s ease}.footer-links a:hover{color:var(--ff-burgundy)}.footer-bottom{border-top:1px solid rgba(32,28,27,.08);padding:1.75rem 0;text-align:center;font-size:.82rem;color:var(--ff-charcoal-soft)}@media (min-width:640px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}}@media (min-width:768px){.desktop-nav{display:flex}.header-action-link{display:inline-block}.menu-toggle,.mobile-panel{display:none}.hero-grid{grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center}.ritual-layout{grid-template-columns:1fr 1fr;gap:3.5rem}.approach-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.newsletter-form{flex-direction:row}.newsletter-form input{flex-grow:1}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.product-detail-layout{grid-template-columns:1fr 1fr;gap:2.75rem;align-items:start}.ingredients-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cart-layout{grid-template-columns:1.5fr .8fr}.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}@media (min-width:1024px){.hero-grid{grid-template-columns:1.2fr .8fr;gap:3.5rem;align-items:center}.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}.product-detail-layout{grid-template-columns:minmax(0,480px) 1fr;gap:4rem;align-items:start}.ingredients-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:767px){.site-shell{width:min(100% - 1.5rem,var(--ff-site-shell))}.header-inner{min-height:72px}.hero-section{padding-top:1.5rem}.hero-panel{max-width:330px;margin:0 auto}.hero-media-wrap{min-height:unset;aspect-ratio:4/4.5;max-height:360px}.section-block{padding:3.75rem 0}.product-grid{gap:.85rem}.product-card-body{padding:.95rem .85rem 1rem}.product-card-title{font-size:1.05rem}.product-card-tagline{font-size:.78rem}.product-card-price{font-size:1.1rem}.product-detail-layout{grid-template-columns:1fr;gap:2rem}}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.mx-auto{margin-left:auto;margin-right:auto}.max-w-site{max-width:var(--ff-site-shell)}.relative{position:relative}.overflow-hidden{overflow:hidden}.flex{display:flex}.grid{display:grid}.hidden{display:none!important}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-8{gap:2rem}.gap-10{gap:2.5rem}.w-full{width:100%}.border-b{border-bottom:1px solid var(--ff-border-soft)}.border-t{border-top:1px solid var(--ff-border-soft)}.border-stone{border-color:var(--ff-stone)!important}.text-charcoal{color:var(--ff-charcoal)}.text-charcoal-soft{color:var(--ff-charcoal-soft)}.text-burgundy{color:var(--ff-burgundy)}.text-burgundy-dark{color:var(--ff-burgundy-dark)}.text-white{color:#fff}.font-display{font-family:var(--ff-font-display),Georgia,serif}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-20{padding-top:5rem;padding-bottom:5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.bg-burgundy{background-color:var(--ff-burgundy)!important}.bg-burgundy-dark,.hover\:bg-burgundy-dark:hover{background-color:var(--ff-burgundy-dark)!important}.admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem 1rem;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border-radius:4px;text-decoration:none!important;cursor:pointer;line-height:1.2;transition:all .2s ease;white-space:nowrap}.admin-btn-primary{background:var(--ff-burgundy)!important;color:#fff!important;border:1px solid var(--ff-burgundy)!important;box-shadow:0 2px 6px rgba(124,40,54,.2)}.admin-btn-primary:focus-visible,.admin-btn-primary:hover{background:var(--ff-burgundy-dark)!important;border-color:var(--ff-burgundy-dark)!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 4px 12px rgba(124,40,54,.3)}.admin-btn-secondary{background:hsla(0,0%,100%,.85)!important;color:var(--ff-burgundy)!important;border:1px solid var(--ff-burgundy)!important}.admin-btn-secondary:focus-visible,.admin-btn-secondary:hover{background:var(--ff-burgundy)!important;color:#fff!important;border-color:var(--ff-burgundy)!important;transform:translateY(-1px)}.admin-btn-danger{background:#fdf2f2!important;color:#991b1b!important;border:1px solid #f87171!important}.admin-btn-danger:focus-visible,.admin-btn-danger:hover{background:#991b1b!important;color:#fff!important;border-color:#991b1b!important}.admin-btn-success{background:#ecfdf5!important;color:#065f46!important;border:1px solid #34d399!important}.admin-btn-success:focus-visible,.admin-btn-success:hover{background:#065f46!important;color:#fff!important;border-color:#065f46!important}.admin-btn-text{background:transparent!important;border:none!important;color:var(--ff-burgundy)!important;font-weight:600;text-decoration:underline!important;padding:.25rem .5rem;display:inline-flex;align-items:center;gap:.25rem}.admin-btn-text:focus-visible,.admin-btn-text:hover{color:var(--ff-burgundy-dark)!important}.admin-table-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;background:hsla(0,0%,100%,.85);border:1px solid var(--ff-stone);border-radius:8px;box-shadow:0 4px 16px rgba(32,28,27,.04);margin-top:1.5rem}.admin-table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem;min-width:820px}.admin-table th{padding:.85rem 1.25rem;background:hsla(17,48%,87%,.4);color:var(--ff-charcoal);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--ff-stone);white-space:nowrap}.admin-table td{padding:1rem 1.25rem;border-bottom:1px solid rgba(32,28,27,.08);color:var(--ff-charcoal);vertical-align:middle}.admin-table tr:hover td{background:hsla(17,48%,87%,.15)}.admin-table tr:last-child td{border-bottom:none}.admin-td-order-no{min-width:140px;white-space:nowrap;font-weight:600}.admin-td-customer{min-width:180px}.admin-td-date{color:var(--ff-charcoal-soft)}.admin-td-date,.admin-td-total{min-width:110px;white-space:nowrap}.admin-td-total{font-weight:600}.admin-td-status{min-width:110px;white-space:nowrap}.admin-td-action{min-width:100px;text-align:right;white-space:nowrap}.admin-card{background:hsla(0,0%,100%,.82);border:1px solid rgba(32,28,27,.1);border-radius:10px;padding:1.5rem;box-shadow:0 6px 20px rgba(32,28,27,.04)}.admin-metric-card{display:block;background:hsla(0,0%,100%,.82);border:1px solid var(--ff-stone);border-radius:10px;padding:1.25rem;transition:all .2s ease;text-decoration:none!important}.admin-metric-card:hover{border-color:var(--ff-burgundy);transform:translateY(-2px);box-shadow:0 6px 18px rgba(124,40,54,.08)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--ff-cream:#f8f1eb;--ff-blush:#eed8cf;--ff-blush-soft:#f8e9e2;--ff-charcoal:#191716;--ff-charcoal-soft:#55504d;--ff-burgundy:#7c2836;--ff-burgundy-dark:#5e1e29;--ff-stone:#dccbc1;--ff-white:#fff;--ff-bg:var(--ff-cream);--ff-bg-alt:var(--ff-blush);--ff-surface:var(--ff-white);--ff-text:var(--ff-charcoal);--ff-text-muted:var(--ff-charcoal-soft);--ff-border:var(--ff-stone);--ff-accent:var(--ff-burgundy);--ff-accent-hover:var(--ff-burgundy-dark);--ff-success:#4a7a5e;--ff-error:#a23b3b;--ff-font-display:"Fraunces",Georgia,serif;--ff-font-body:"Inter",-apple-system,sans-serif;--ff-text-xs:0.75rem;--ff-text-sm:0.875rem;--ff-text-base:1rem;--ff-text-lg:1.125rem;--ff-text-xl:1.375rem;--ff-text-2xl:1.75rem;--ff-text-3xl:2.25rem;--ff-text-4xl:3rem;--ff-text-5xl:3.75rem;--ff-leading-tight:1.15;--ff-leading-normal:1.5;--ff-leading-relaxed:1.7;--ff-space-1:0.25rem;--ff-space-2:0.5rem;--ff-space-3:0.75rem;--ff-space-4:1rem;--ff-space-6:1.5rem;--ff-space-8:2rem;--ff-space-12:3rem;--ff-space-16:4rem;--ff-space-24:6rem;--ff-space-32:8rem;--ff-radius-sm:2px;--ff-radius-md:4px;--ff-radius-lg:3px;--ff-shadow-card:0 1px 3px rgba(32,28,27,.06);--ff-border-width:1px;--ff-max-width:1280px;--ff-container-padding:1.5rem}@media (min-width:768px){:root{--ff-container-padding:2.5rem}}