:root{color-scheme:light dark;--background: light-dark(#f8f4ee, #1e1915);--panel: light-dark(#efe8de, #29221d);--text: light-dark(#3b2f28, #f0e8de);--accent: light-dark(#85583f, #d2a48a);--divider: light-dark(#e0d6c8, #43372e);--field-border: light-dark(#8f7a69, #86725f);--band: light-dark(#7a5643, #4a372b);--band-text: light-dark(#f8f4ee, #f5ede4);--notice: light-dark(#8c3f2b, #e8a585);--on-photo: rgba(248, 244, 238, .88);--on-photo-solid: #f8f4ee;--on-photo-text: #3b2f28;--on-photo-shade: rgba(30, 25, 21, .65)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}:root{--serif: "Marcellus", "Cormorant Garamond", Georgia, serif;--body: "Jost", "Helvetica Neue", Arial, sans-serif;--script: "Cormorant Garamond", Georgia, serif;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px)}*,*:before,*:after{box-sizing:inherit}[hidden]{display:none!important}body{margin:0;background:var(--background);color:var(--text);font-family:var(--body);font-size:1.0625rem;line-height:1.65}a{color:var(--accent)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.wrap{max-width:62rem;margin:0 auto;padding:0 1.5rem}header.top{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 0;gap:1rem;flex-wrap:wrap}.brand{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--serif);font-size:1.15rem;letter-spacing:.14em;text-decoration:none;color:var(--text)}.brand .leaf{width:1.9rem;height:1.9rem;flex:none}header.top nav{display:flex;gap:1.5rem;font-size:.95rem;flex-wrap:wrap;align-items:center}header.top nav a{color:var(--text);text-decoration:none;padding:.15rem 0;border-bottom:1.5px solid transparent;display:inline-flex;align-items:center;min-height:24px}header.top nav a:hover{color:var(--accent)}header.top nav a[aria-current=page]{border-bottom-color:var(--accent);color:var(--accent)}footer{border-top:1px solid var(--divider);padding:2.5rem 0;text-align:center;font-size:.9rem}footer .mark{display:block;width:9.5rem;margin:0 auto .75rem;color:var(--text)}footer .mark .logo{display:block;width:100%;height:auto}footer nav{display:flex;gap:1.25rem;justify-content:center;margin:.75rem 0}footer nav a{color:var(--text);display:inline-flex;align-items:center;min-height:24px}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:.04em;margin:0}h1{font-size:clamp(2rem,6vw,3rem);line-height:1.1}h2{font-size:clamp(1.5rem,4vw,2rem);margin-bottom:.5rem}.btn{display:inline-block;padding:.75rem 1.75rem;border:1.5px solid var(--accent);color:var(--accent);text-decoration:none;border-radius:999px;transition:background .2s,color .2s;background:transparent;font:inherit;font-weight:500;cursor:pointer}.btn:hover{background:var(--accent);color:var(--background)}.btn.small{padding:.45rem 1.1rem;font-size:.95rem}.btn[aria-disabled=true],.btn:disabled{opacity:.45;pointer-events:none}.leaf{color:var(--accent)}.hero{display:grid;place-items:center;padding:2rem 0 3.5rem;text-align:center}.hero-logo{margin:0;color:var(--text)}.hero-logo .logo{display:block;width:min(26rem,80vw);height:auto}.hero .tag{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;margin:1.25rem 0 0}.hero .lede{max-width:34rem;margin:2.25rem auto 1.5rem;font-family:var(--script);font-size:1.5rem;line-height:1.5}.home-links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--divider)}.home-links a{padding:2.25rem 1.5rem;text-decoration:none;color:var(--text);border-right:1px solid var(--divider)}.home-links a:last-child{border-right:0}.home-links a:hover{background:var(--panel)}.home-links strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.3rem;margin-bottom:.25rem}@media(max-width:40rem){.home-links{grid-template-columns:1fr}.home-links a{border-right:0;border-bottom:1px solid var(--divider)}}.page-head{padding:2.5rem 0 2rem}.page-head p{margin:.75rem 0 0;max-width:34rem}.rule{width:3.5rem;height:2px;background:var(--accent);margin:1.1rem 0 0;border:0}.cats{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.cats a{padding:.35rem 1rem;border:1px solid var(--divider);border-radius:999px;color:var(--text);text-decoration:none;font-size:.95rem}.cats a:hover{border-color:var(--accent);color:var(--accent)}.cats a[aria-current=page]{background:var(--accent);border-color:var(--accent);color:var(--background)}.tags{display:flex;flex-wrap:wrap;gap:.25rem .9rem;margin:-.2rem 0 .6rem;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase}.tags a{color:var(--accent);text-decoration:none;display:inline-flex;align-items:center;min-height:24px}.tags a:hover{text-decoration:underline}.tags span{color:var(--notice)}.soap-empty{padding:2rem 0;border-top:1px solid var(--divider)}.row{display:grid;grid-template-columns:11rem 1fr;gap:2rem;padding:2rem 0;border-top:1px solid var(--divider)}@media(max-width:36rem){.row{grid-template-columns:1fr;gap:1rem}}.photo{position:relative;aspect-ratio:1;background:var(--panel);border:1px solid var(--divider);display:grid;place-items:center;overflow:hidden}.photo .leaf{width:40%;height:auto;opacity:.45}.photo .track{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.photo .track::-webkit-scrollbar{display:none}.photo .track:not([tabindex]){overflow:hidden}.photo .track:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.photo img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start}.photo .nav{position:absolute;top:50%;transform:translateY(-50%);width:2.2rem;height:2.2rem;border-radius:50%;border:0;background:var(--on-photo);color:var(--on-photo-text);font-size:1.6rem;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0 0 .15rem}.photo .nav:hover{background:var(--on-photo-solid)}.photo .prev{left:.4rem}.photo .next{right:.4rem}.photo .count{position:absolute;bottom:.4rem;right:.5rem;font-size:.75rem;background:var(--on-photo-shade);color:var(--on-photo-solid);padding:.05rem .45rem;border-radius:999px}@media(prefers-reduced-motion:reduce){.photo .track{scroll-behavior:auto}}.row h2,.row h3{font-family:var(--script);font-style:italic;font-weight:500;font-size:1.9rem;letter-spacing:0;margin:0}.facts{display:flex;flex-wrap:wrap;gap:.25rem 1rem;align-items:center;margin:.25rem 0 .6rem;font-size:.95rem}.price{font-weight:500}.badge{font-size:.85rem;padding:.05rem .6rem;border:1px solid var(--accent);border-radius:999px;color:var(--accent)}.badge.low,.badge.coming{border-color:var(--notice);color:var(--notice)}.badge.out{border-color:var(--divider);color:var(--text);opacity:.7}.row p{margin:0 0 .75rem}.bundles{background:var(--panel);border-top:1px solid var(--divider);margin-top:2rem;padding:3rem 0}.bundles .soap-list{margin-top:1.25rem}.bundle .save{color:var(--accent);font-weight:500;margin:-.2rem 0 .5rem}.muted{opacity:.85;font-size:.95rem}.about-bg{background:var(--panel);min-height:60vh;border-top:1px solid var(--divider)}.pull{font-family:var(--script);font-style:italic;font-size:clamp(1.6rem,4.5vw,2.4rem);line-height:1.3;max-width:40rem;margin:0 0 3rem;padding-left:1.25rem;border-left:3px solid var(--accent)}.cols{display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding-bottom:4rem}@media(max-width:44rem){.cols{grid-template-columns:1fr;gap:1.5rem}}.cols h2{font-size:1.4rem}.order-band{background:var(--band);color:var(--band-text);padding:3rem 0 3.5rem}.order-band a{color:var(--band-text)}.order-band h1{margin-bottom:.75rem}.steps{list-style:none;margin:2rem 0 0;padding:0;counter-reset:s;max-width:36rem}.steps li{counter-increment:s;padding-left:2.75rem;position:relative;margin-bottom:1.25rem}.steps li:before{content:counter(s);position:absolute;left:0;top:.05rem;width:1.8rem;height:1.8rem;border:1px solid var(--band-text);border-radius:50%;display:grid;place-items:center;font-size:.9rem}.info{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:2rem;padding:3rem 0}.info h2{font-size:1.3rem}.emailbtn{display:inline-block;margin-top:1rem;padding:.75rem 1.75rem;border-radius:999px;background:var(--band-text);color:var(--band)!important;text-decoration:none;font-weight:500}.prefill-note{background:var(--panel);border-left:3px solid var(--accent);padding:.75rem 1rem;margin:0 0 1.25rem;font-size:.95rem}.contact-sec{padding:0 0 4rem;max-width:36rem}.contact label{display:block;margin-bottom:1.1rem;font-size:.95rem}.contact input,.contact select,.contact textarea{display:block;width:100%;margin-top:.3rem;padding:.65rem .75rem;font:inherit;background:var(--panel);color:var(--text);border:1px solid var(--field-border);border-radius:4px}.contact input:focus-visible,.contact select:focus-visible,.contact textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.contact .count{display:block;text-align:right;font-size:.85rem;opacity:.75;margin-top:.25rem}.contact .trap{position:absolute;left:-9999px}.form-msg{margin:1rem 0 0;min-height:1.5em}#cart-open{white-space:nowrap}dialog#cart{background:var(--background);color:var(--text);border:1px solid var(--accent);padding:1.5rem;width:min(34rem,92vw);max-height:88vh;overflow:auto;border-radius:6px}.cart-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.cart-head h2{margin:0}.x{background:none;border:0;font-size:1.8rem;line-height:1;color:var(--text);cursor:pointer;padding:.25rem .5rem}.line{display:grid;grid-template-columns:1fr auto;gap:.25rem 1rem;padding:.9rem 0;border-top:1px solid var(--divider)}.line .nm{font-family:var(--script);font-style:italic;font-weight:500;font-size:1.3rem;line-height:1.2}.line .sub{font-size:.9rem;opacity:.8}.line .amt{text-align:right;font-weight:500}.qty{display:inline-flex;align-items:center;gap:.5rem;margin-top:.35rem}.qty button:not(.linkbtn){width:2rem;height:2rem;border-radius:50%;border:1px solid var(--accent);background:transparent;color:var(--accent);font-size:1.1rem;cursor:pointer;line-height:1}.qty button:not(.linkbtn):hover:not(:disabled){background:var(--accent);color:var(--background)}.qty button:disabled{opacity:.4;cursor:default}.linkbtn{background:none;border:0;color:var(--accent);text-decoration:underline;cursor:pointer;font:inherit;font-size:.9rem;padding:0}.total{display:flex;justify-content:space-between;border-top:1px solid var(--accent);padding:.9rem 0;font-weight:500}.cart-hint{font-size:.9rem;opacity:.8;margin:.5rem 0 0}.cart-actions{display:flex;gap:.75rem;flex-wrap:wrap}dialog::backdrop{background:#1e19158c}@media(prefers-reduced-motion:reduce){.btn{transition:none}}dialog#notice,dialog#popup{background:var(--background);color:var(--text);border:1px solid var(--accent);padding:1.75rem;width:min(30rem,92vw);border-radius:6px}dialog#notice h2,dialog#popup h2{margin-bottom:.75rem}dialog#notice p{margin:0 0 1rem}dialog#popup p{margin:0 0 1.25rem}.skip{position:absolute;left:.75rem;top:-3rem;z-index:10;background:var(--accent);color:var(--background);padding:.5rem 1rem;border-radius:4px}.skip:focus{top:.75rem}.banner{background:var(--band);color:var(--band-text);text-align:center;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;padding:.55rem 1rem}.banner p{margin:0}.banner a{color:var(--band-text);font-weight:500;margin-left:.35rem}.theme-toggle{width:2.4rem;height:2.4rem;border-radius:50%;border:1.5px solid var(--accent);background:transparent;color:var(--accent);cursor:pointer;display:grid;place-items:center;padding:0}.theme-toggle:hover{background:var(--accent);color:var(--background)}.theme-toggle svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.theme-toggle[data-mode=dark] .i-moon,.theme-toggle:not([data-mode=dark]) .i-sun{display:none}.social{list-style:none;display:flex;justify-content:center;gap:1rem;margin:1rem 0;padding:0}.social a{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;color:var(--text)}.social a:hover{color:var(--accent)}.social svg{width:1.3rem;height:1.3rem;fill:currentColor}.legal{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--divider);font-size:.8rem;opacity:.85;display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem 1.25rem}.legal nav{display:flex;gap:1rem;margin:0}.about-photo{display:block;width:100%;height:auto;margin-top:2rem;border:1px solid var(--divider);border-radius:4px}.place{margin:0 0 1rem}.place span{font-size:.95rem;opacity:.85}.prose{max-width:44rem;padding-bottom:4rem}.prose h2{font-size:1.4rem;margin:2rem 0 .5rem}.prose ul{padding-left:1.25rem}.prose li{margin-bottom:.4rem}.swatch-modes{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding-bottom:4rem}@media(max-width:48rem){.swatch-modes{grid-template-columns:1fr}}.swatch-panel{padding:1.25rem;border:1px solid var(--divider);border-radius:6px;background:var(--background);color:var(--text)}.swatch-panel.light{color-scheme:light}.swatch-panel.dark{color-scheme:dark}.swatch-panel h2{font-size:1.4rem}.swatch-panel h3{font-family:var(--serif);font-weight:400;margin:1.25rem 0 .5rem}.swatches{list-style:none;padding:0;margin:0}.swatches li{display:grid;grid-template-columns:2rem 7.5rem 1fr;gap:.6rem;align-items:center;font-size:.85rem;padding:.3rem 0}.chip{width:2rem;height:2rem;border-radius:4px;border:1px solid var(--divider)}.sample-panel{background:var(--panel);padding:.6rem .8rem;margin:.5rem 0}.sample-band{background:var(--band);color:var(--band-text);padding:.6rem .8rem}.sample-band a{color:var(--band-text)}.contrast{list-style:none;padding:0;margin:0;font-size:.85rem}.contrast li{display:grid;grid-template-columns:8.5rem 1fr;gap:.6rem;padding:.2rem 0}.contrast .score{font-weight:500}.contrast .score.ok{color:var(--accent)}.contrast .score.bad{color:var(--notice)}.contrast .score.bad:before{content:"✗ "}.contrast .score.ok:before{content:"✓ "}.sample-field{display:block;width:100%;margin:.5rem 0;padding:.5rem .7rem;font:inherit;background:var(--panel);color:var(--text);border:1px solid var(--field-border);border-radius:4px}.row h2 a.open-detail,.row h3 a.open-detail{color:inherit;text-decoration:none}.row h2 a.open-detail:hover,.row h3 a.open-detail:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}.photo[data-open]{cursor:zoom-in}.more{font-size:.95rem}.more a.open-detail{display:inline-flex;align-items:center;min-height:24px}html:has(dialog[open]){overflow:hidden}dialog#detail{background:var(--background);color:var(--text);border:1px solid var(--accent);border-radius:6px;padding:0;width:min(62rem,94vw);max-height:92vh;overflow:auto}dialog#detail::backdrop{background:#1e191599}.detail-close{position:sticky;top:.5rem;float:right;margin:.5rem .5rem 0 0;z-index:2;background:var(--background);border-radius:50%;width:2.6rem;height:2.6rem;display:grid;place-items:center}.detail{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:2rem;padding:1.5rem}.photo.large{border-radius:4px}.photo.large .nav{width:2.8rem;height:2.8rem;font-size:2rem}.photo.large .leaf{width:30%}.detail-info{padding-top:1rem}.detail-info h2{font-family:var(--script);font-style:italic;font-weight:500;font-size:2.3rem;letter-spacing:0;margin:0 2.5rem .4rem 0}.detail-info h3{font-family:var(--serif);font-weight:400;font-size:1.15rem;margin:1.25rem 0 .3rem}.detail-info p{margin:0 0 .9rem}.detail-info .ingredients{font-size:.95rem}.detail-info .btn{margin-top:.5rem}@media(max-width:44rem){dialog#detail{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}.detail{grid-template-columns:1fr;gap:1rem;padding:0 0 1.5rem}.detail .photo.large{border:0;border-radius:0}.detail-info{padding:0 1.25rem}.detail-close{position:fixed;top:.6rem;right:.6rem;margin:0;box-shadow:0 1px 4px #1e19154d}}.gone-note{display:flex;align-items:center;gap:.75rem;background:var(--panel);border-left:3px solid var(--accent);padding:.6rem .5rem .6rem 1rem;margin:0 0 1.25rem}.gone-note .x{margin-left:auto;font-size:1.5rem}.not-found{text-align:center;padding:3.5rem 0 4.5rem}.not-found .leaf{width:4.5rem;height:auto;margin:0 auto 1.25rem;display:block}.not-found h1{margin-bottom:.75rem}.not-found .lede{font-family:var(--script);font-size:1.4rem;line-height:1.5;max-width:32rem;margin:0 auto 2rem}.not-found .cart-actions{justify-content:center}
