/* Cottage Industries catalogue: web styles. Palette sampled from the approved cover. */
@font-face{font-family:'Crimson';src:url('../fonts/CrimsonPro-Regular.ttf');font-weight:400}
@font-face{font-family:'Crimson';src:url('../fonts/CrimsonPro-Italic.ttf');font-style:italic;font-weight:400}
@font-face{font-family:'Crimson';src:url('../fonts/CrimsonPro-Bold.ttf');font-weight:700}
@font-face{font-family:'Inst';src:url('../fonts/InstrumentSans-Regular.ttf');font-weight:400}
@font-face{font-family:'Inst';src:url('../fonts/InstrumentSans-Bold.ttf');font-weight:700}
:root{
  --cream:#FDF6E0; --glow:#F6D8A9; --amber:#E6B173; --gold:#C4884D; --copper:#9E602C; --rust:#803714;
  --maroon:#561C0A; --umber:#3A2110; --deep:#200B02;
  --page:#FFFFFF; --card:#fff; --line:#E6D9BF; --muted:#6B5A45; --ink:#2B1A10;
  --t-tint:#FFFFFF; --t-soft:#F6D8A9; --t-accent:#C4884D; --t-deep:#561C0A;
  --serif:'Crimson',Georgia,serif; --sans:'Inst',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--page);color:var(--ink);font:17px/1.6 var(--sans)}
a{color:var(--rust)} img{max-width:100%;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.sr{position:absolute;left:-9999px}
h1,h2,h3{font-family:var(--serif);color:var(--maroon);line-height:1.05;margin:0}
.eyebrow,.caps{font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;font-weight:700}

/* header */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--page);position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand__name{font-family:var(--serif);font-weight:700;font-size:1.5rem;color:var(--maroon);line-height:1}
.brand__name small{display:block;font:400 .68rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.site-nav{display:flex;flex-wrap:wrap;gap:4px 22px}
.site-nav a{color:var(--ink);text-decoration:none;font-size:.95rem;padding:6px 0;border-bottom:2px solid transparent}
.site-nav a:hover,.site-nav a[aria-current]{border-color:var(--gold)}

/* heroes */
.hero{background:radial-gradient(ellipse 90% 80% at 50% -10%,#FFFBEA 0%,var(--glow) 38%,var(--amber) 68%,var(--gold) 100%);color:var(--maroon);padding:72px 20px 80px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 120% 100% at 50% 40%,rgba(0,0,0,0) 60%,rgba(60,20,0,.28) 100%);pointer-events:none}
.hero__inner{max-width:760px;margin:0 auto;text-align:center;position:relative;z-index:1}
.hero h1{font-size:clamp(2.6rem,7vw,5.4rem);font-weight:700;margin:12px 0 10px}
.hero--home h1{font-size:clamp(2.2rem,5.4vw,4.2rem)}
.hero .lede{font-family:var(--serif);font-size:clamp(1.2rem,2.2vw,1.55rem);line-height:1.45;color:var(--maroon);margin:18px auto 0}
.descriptor{font-family:var(--serif);font-style:italic;font-size:1.6rem;color:var(--rust);margin:0}
.btn{display:inline-block;background:#fff;color:#3f3a40;text-decoration:none;padding:12px 26px;border-radius:999px;font-weight:700;letter-spacing:.06em;font-size:.9rem;margin-top:10px;border:1px solid rgba(60,50,60,.12);box-shadow:0 2px 10px rgba(60,50,60,.16);transition:box-shadow .15s,transform .15s}
.btn:hover{box-shadow:0 4px 14px rgba(60,50,60,.24);transform:translateY(-1px)}
/* .btn--cta: the darker button kept for main actions (Add to cart, Checkout, Login) */
.btn--cta{background:var(--maroon);color:var(--cream);border-color:transparent}

/* sections */
.section-title{font-size:2.2rem;margin:56px 0 24px}
.page-head{padding:44px 0 8px}.page-head h1{font-size:clamp(2.2rem,5vw,3.6rem)}
.prose{max-width:720px}.prose p{margin:0 0 1em}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.tile{display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;text-decoration:none;color:var(--ink);transition:border-color .15s}
.tile:hover{border-color:var(--gold)}
.tile strong{display:block;font:700 1.6rem var(--serif);color:var(--maroon)}.tile span{color:var(--muted);font-size:.92rem}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;margin:26px 0 60px}
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--ink)}
.card:hover{border-color:var(--gold)}
.card[hidden]{display:none}
.card__img{display:block;aspect-ratio:4/3;background:#fff}
.card__img img{width:100%;height:100%;object-fit:contain}
.card__img--swatch{background:radial-gradient(ellipse 100% 90% at 50% 0%,var(--glow),var(--copper) 80%,var(--umber))}
.card__body{display:block;padding:14px 16px 16px}
.card__title{display:block;font:700 1.4rem/1.1 var(--serif);color:var(--maroon)}
.card__sub{display:block;font-size:.82rem;color:var(--muted);margin-top:4px}
.search .page-head input{width:100%;max-width:420px;padding:12px 16px;border:1px solid var(--line);border-radius:999px;font:inherit;background:#fff}   /* the search box only, not the cards' quantity boxes */
.empty{color:var(--muted)}

/* packs and the label strip */
.packs{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px;align-items:end}
.pack{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 18px 14px}
.pack__photo{margin:0 0 14px;aspect-ratio:3/4;display:flex;align-items:center;justify-content:center}
.pack__photo img{max-height:100%;object-fit:contain}
.pack__photo img.is-placeholder{opacity:.8}
.pack__price{margin:10px 0 0;text-align:center;color:var(--muted);font-size:.9rem}
.packs--text .pack{padding:12px 18px}
.also{font-size:1.5rem;margin:44px 0 16px}
.strip{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.strip__cell{flex:1;min-width:0;padding:12px 4px 10px;text-align:center;border-left:1px solid var(--line)}
.strip__cell:first-child{border-left:0}
.strip__value{font:400 2.1rem/1 var(--serif);color:var(--rust);min-height:2.1rem;display:flex;align-items:flex-end;justify-content:center;white-space:nowrap}
.strip__value--text{font-size:1.1rem;white-space:normal;line-height:1.1;align-items:center}
.strip__unit{font:400 .95rem var(--serif);color:var(--ink);margin-left:3px;padding-bottom:3px}
.strip__label{font-size:.62rem;letter-spacing:.16em;color:var(--muted);margin-top:8px;font-weight:700;text-transform:uppercase}
.pager{display:flex;justify-content:space-between;margin:50px 0 70px}.pager a{text-decoration:none;font-family:var(--serif);font-size:1.3rem}

/* footer */
.site-footer{background:var(--deep);color:var(--glow);margin-top:40px;padding:48px 20px 24px}
.site-footer__inner{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px}
.site-footer h2{font:700 .78rem var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--amber);margin-bottom:10px}
.site-footer a{color:var(--glow);text-decoration:none}.site-footer a:hover{text-decoration:underline}
.site-footer p{margin:0;font-size:.95rem}
.site-footer__tag{font:italic 1.3rem/1.3 var(--serif)!important;margin-top:12px!important}
.site-footer__legal{max-width:1120px;margin:34px auto 0!important;padding-top:18px;border-top:1px solid rgba(246,216,169,.25);font-size:.8rem!important;opacity:.8}
@media (max-width:600px){.site-header{position:static}.hero{padding:48px 20px 56px}}

/* ---- v2: themes, SKU rows, chips, slider ---- */
body{background:#fff}
.site-footer{background:#200B02}
body.fragrance h1,body.fragrance h2,body.fragrance h3{color:var(--t-deep)}
body.fragrance .descriptor,body.fragrance .eyebrow{color:var(--t-deep);opacity:.85}
body.fragrance .hero{background:radial-gradient(ellipse 90% 80% at 50% -10%,#fff 0%,var(--t-soft) 55%,color-mix(in srgb,var(--t-soft) 70%,var(--t-accent)) 100%);color:var(--t-deep)}
body.fragrance .hero::after{background:none}
body.fragrance body.fragrance .hero .lede{color:var(--t-deep)}
body.fragrance .crumbs a{color:var(--t-deep)}
.chips{position:sticky;top:73px;z-index:9;background:color-mix(in srgb,var(--t-tint) 92%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.chips__row{display:flex;gap:8px;overflow-x:auto;padding-top:10px;padding-bottom:10px;scrollbar-width:none}
.chips a{flex:none;text-decoration:none;color:var(--t-deep);border:1px solid var(--t-accent);border-radius:999px;padding:6px 16px;font-size:.9rem;background:#fff}
.chips a:hover{background:var(--t-soft)}
.skus{display:flex;flex-direction:column;gap:28px}
.sku{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;scroll-margin-top:140px}
.sku__photo{margin:0;background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--t-soft) 40%,#fff));display:flex;align-items:center;justify-content:center;min-height:min(80vh,640px);padding:28px}
.sku__photo img{max-height:min(72vh,580px);max-width:100%;object-fit:contain}
.sku__body{padding:40px 44px;display:flex;flex-direction:column;justify-content:center}
.sku__body .eyebrow{margin:0 0 8px;color:var(--t-deep)}
.sku__title{font-size:clamp(1.9rem,3.4vw,2.8rem);margin-bottom:22px}
.attrs{margin:0;border-top:1px solid var(--line)}
.attr{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.attr dt{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--muted);align-self:center}
.attr dd{margin:0;font:400 1.5rem var(--serif);color:var(--t-deep);margin-left:auto}
.attr dt.sr{position:static;left:auto;display:none}
.attr dt.sr + dd{margin-left:0}
.attr__unit{font-size:1rem;color:var(--ink)}
.sku__price{font:700 1.6rem var(--serif);color:var(--t-deep);margin:20px 0 0}
.sku--text{grid-template-columns:1fr}
.sku--text .sku__body{padding:22px 44px}
.sku--text .sku__title{font-size:1.6rem;margin-bottom:12px}
.mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-bottom:32px}
.mini{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);overflow:hidden}
.mini__img{display:flex;justify-content:center;padding:10px;aspect-ratio:1}.mini__img img{max-height:100%;object-fit:contain}
.mini__title{display:block;padding:8px 12px 12px;font:700 1.05rem var(--serif);color:var(--t-deep)}
@media (max-width:760px){
  .sku{grid-template-columns:1fr}
  .sku__photo{min-height:0;padding:20px}.sku__photo img{max-height:62vh}
  .sku__body{padding:24px 22px}
  .chips{top:0}
}
/* slider */
.slider{position:relative}
.slider__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.slider__track::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:start;position:relative;aspect-ratio:12/5;background:var(--t-soft);overflow:hidden}
.slide picture,.slide img{display:block;width:100%;height:100%;object-fit:cover}
.slide__fallback{width:100%;height:100%;background:radial-gradient(ellipse 80% 90% at 50% 0%,#fff,var(--t-soft) 55%,var(--t-accent))}
.slide__text{position:absolute;left:0;right:0;bottom:0;padding:28px 6vw 40px;text-align:center;background:linear-gradient(0deg,rgba(32,11,2,.55),rgba(32,11,2,0))}
.slide__caption{font:italic clamp(1.4rem,3.4vw,2.6rem)/1.2 var(--serif);color:#fff;margin:0 0 12px}
.slider__prev,.slider__next{position:absolute;top:50%;transform:translateY(-50%);border:0;background:rgba(255,255,255,.75);color:var(--maroon);width:44px;height:44px;border-radius:50%;font-size:1.8rem;line-height:1;cursor:pointer}
.slider__prev{left:14px}.slider__next{right:14px}
.slider__dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:8px}
.slider__dots button{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.6);padding:0;cursor:pointer}
.slider__dots button[aria-current=true]{background:#fff}
@media (max-width:700px){.slide{aspect-ratio:4/5}.slider__prev,.slider__next{display:none}}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}.tags:empty{display:none}
.tags span{border:1px solid var(--t-accent);border-radius:999px;padding:4px 14px;font-size:.88rem;color:var(--t-deep);background:var(--t-tint)}
/* ---- v3: shop, product cards, account links ---- */
.site-account{display:flex;gap:16px;align-items:center}.site-account a{color:var(--ink);text-decoration:none;font-size:.95rem}
.site-account__cart{border:1px solid var(--gold);border-radius:999px;padding:6px 16px}
.chips .chips__cat{border-style:dashed}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.pcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--ink)}
.pcard[href]:hover{border-color:var(--gold)}.pcard[hidden]{display:none}
.pcard__img{display:flex;justify-content:center;align-items:center;aspect-ratio:1;padding:14px;background:#fff}.pcard__img img{max-height:100%;object-fit:contain}
.pcard__body{display:flex;flex-direction:column;gap:2px;padding:4px 16px 16px}
.pcard__frag{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--rust)}
.pcard__title{font:700 1.25rem/1.15 var(--serif);color:var(--maroon)}
.pcard__meta{font-size:.85rem;color:var(--muted)}.pcard__price{font:700 1.1rem var(--serif);color:var(--maroon);margin-top:6px}
.more{margin:22px 0 0}.more a{font-family:var(--serif);font-size:1.2rem}
.shop{padding-bottom:50px}
.filters{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin:8px 0 26px}
.filter-group{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.filter-label{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.filter-group button{border:1px solid var(--gold);background:#fff;color:var(--maroon);border-radius:999px;padding:7px 16px;font:inherit;font-size:.9rem;cursor:pointer}
.filter-group button[aria-pressed=true]{background:var(--maroon);color:var(--cream);border-color:var(--maroon)}
.filter-select{display:flex;gap:8px;align-items:center;font-size:.85rem;color:var(--muted)}
.filter-select select{padding:7px 12px;border:1px solid var(--line);border-radius:999px;font:inherit;background:#fff}
.count{margin:0;color:var(--muted);font-size:.9rem;margin-left:auto}
.cards--wide{margin-top:0}
/* ---- v4: breadcrumbs, category landing ---- */
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 0;font-size:.85rem}
.crumbs li+li::before{content:"\203A";margin:0 8px;color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{text-decoration:underline}
.crumbs [aria-current]{color:var(--ink)}
.crumbs{margin:0}
.page-head .crumbs,.wrap > .crumbs{padding:18px 0 0}
.hero .crumbs{text-align:center;margin-bottom:12px}.hero .crumbs ol{justify-content:center}
.prose--lede{font:400 1.35rem/1.55 var(--serif);margin:34px auto 0;text-align:center;max-width:720px}
.tiles--small{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.tiles--small .tile{padding:16px}.tiles--small .tile strong{font-size:1.25rem}
.card__img--hero img{object-fit:cover}
/* nav drop-down */
.site-nav{align-items:center}
.site-nav__more{position:relative}
.site-nav__more summary{list-style:none;cursor:pointer;font-size:.95rem;padding:6px 0;border-bottom:2px solid transparent}
.site-nav__more summary::-webkit-details-marker{display:none}
.site-nav__more summary::after{content:" \25BE";font-size:.8em}
.site-nav__more[open] summary,.site-nav__more summary:hover{border-color:var(--gold)}
.site-nav__pop{position:absolute;right:0;top:100%;z-index:20;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:0 8px 24px rgba(60,30,10,.12);display:flex;flex-direction:column}
.site-nav__pop a{padding:8px 12px;border-radius:8px;border:0;white-space:nowrap}.site-nav__pop a:hover{background:var(--glow)}
@media (max-width:760px){.site-nav__pop{left:0;right:auto}}

/* ---- v5: white theme; banner text sits below the image ---- */
.banner{margin-top:14px;background:#fff}
.banner__media{aspect-ratio:12/5;background:#fff;overflow:hidden}
.banner__media picture,.banner__media img{display:block;width:100%;height:100%;object-fit:cover}
.banner__media .slide__fallback{background:radial-gradient(ellipse 80% 90% at 50% 0%,#fff,var(--t-soft) 70%,color-mix(in srgb,var(--t-soft) 60%,var(--t-accent)))}
.banner__text{text-align:center;padding:26px 6vw 6px}
.banner__text h1{font-size:clamp(2.4rem,6vw,4.4rem);color:var(--t-deep)}
.banner__tag{font:italic clamp(1.1rem,2.2vw,1.55rem)/1.3 var(--serif);color:var(--muted);margin:8px 0 0}
.banner--baked .banner__text{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}   /* text is in the image; keep the h1 for search engines and screen readers */
@media (max-width:700px){.banner__media{aspect-ratio:4/5}}
.slide{aspect-ratio:auto;background:#fff}
.slide__media{aspect-ratio:12/5;overflow:hidden;background:#fff}
.slide__media picture,.slide__media img{display:block;width:100%;height:100%;object-fit:cover}
.slide__media .slide__fallback{background:radial-gradient(ellipse 80% 90% at 50% 0%,#fff,var(--t-soft) 70%,color-mix(in srgb,var(--t-soft) 60%,var(--t-accent)))}
.slide__text{position:static;background:none;padding:18px 6vw 44px}
.slide__caption{color:var(--t-deep);font-size:clamp(1.2rem,2.6vw,1.9rem)}
.slide--baked .slide__text{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.slider__prev,.slider__next{top:auto;bottom:18px;transform:none;background:#fff;border:1px solid var(--line)}
.slider__dots{bottom:20px}.slider__dots button{background:#d9d2c3}.slider__dots button[aria-current=true]{background:var(--maroon)}
@media (max-width:700px){.slide__media{aspect-ratio:4/5}.slider__prev,.slider__next{display:none}}

/* ---- v6: text laid over clean hero images (hero_text: "overlay", or "overlay" object in slides.json) ---- */
.banner__media,.slide__media{position:relative;container-type:inline-size}
.ov{position:absolute;left:9cqw;top:11%;max-width:52cqw;color:#4b4349}
.ov__head{font:400 4.8cqw/1.08 'Crimson',Georgia,serif;letter-spacing:-.01em;margin:0;color:inherit}
.ov__copy{font:italic 400 1.6cqw/1.5 'Crimson',Georgia,serif;max-width:36cqw;margin:2cqw 0 0;color:#5c545a}
.ov-cta{position:absolute;right:11cqw;top:56%;width:26cqw;color:#4b4349;text-align:center}
.ov-cta__title{font:400 2.5cqw/1.2 'Crimson',Georgia,serif;letter-spacing:.14em;text-transform:uppercase;margin:0;padding-top:1.6cqw;border-top:2px solid transparent;border-image:linear-gradient(90deg,rgba(75,67,73,.0),rgba(75,67,73,.45),rgba(75,67,73,.0)) 1}
.btn--soft{display:inline-block;margin-top:1.8cqw;padding:.75em 1.7em;border-radius:999px;font:600 max(13px,1.25cqw)/1 'Inst',system-ui,sans-serif;letter-spacing:.04em;text-decoration:none;color:#3f3a40;background:#fff;border:1px solid rgba(60,50,60,.12);box-shadow:0 2px 12px rgba(60,50,60,.18);transition:box-shadow .15s,transform .15s}
.btn--soft:hover{box-shadow:0 4px 16px rgba(60,50,60,.26);transform:translateY(-1px)}
@media (max-width:700px){
  .ov{left:8.6cqw;right:8.6cqw;top:7%;max-width:none}
  .ov__head{font-size:max(24px,7.2cqw)}
  .ov__copy{font-size:max(15px,4cqw);max-width:none;margin-top:4cqw}
  .ov-cta{right:6cqw;left:auto;top:auto;bottom:3%;width:48cqw}
  .ov-cta__title{font-size:max(15px,4.6cqw);padding-top:2.5cqw}
  .btn--soft{margin-top:3.5cqw;font-size:14px}
}

/* ---- v7: white / light-ash theme, mobile menu, footer, top fragrances, landscape soap cards ---- */
:root{
  --ash:#F4F4F2; --cream:#FFFFFF; --glow:#EFEFEE; --amber:#C9C7CD; --gold:#9C99A2; --copper:#8A8790; --rust:#4F4B57;
  --maroon:#33303A; --umber:#55525B; --deep:#2C2B30;
  --line:#E3E3E0; --muted:#6B6970; --ink:#2A292E;
  --t-tint:#FFFFFF; --t-soft:#EDEDEB; --t-accent:#A9A7AE; --t-deep:#3A3740;
}
/* header: light ash bar so it separates from white hero images */
.site-header{background:var(--ash);border-bottom:1px solid var(--line);flex-wrap:nowrap}
.site-nav a:hover,.site-nav a[aria-current],.site-nav__more[open] summary,.site-nav__more summary:hover{border-color:var(--maroon)}
.site-nav__pop a:hover{background:var(--ash)}
.nav-toggle{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;padding:0;align-items:center;justify-content:center}
.nav-toggle__bars,.nav-toggle__bars::before,.nav-toggle__bars::after{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;position:relative;transition:transform .2s,background .2s}
.nav-toggle__bars::before,.nav-toggle__bars::after{content:"";position:absolute;left:0}
.nav-toggle__bars::before{top:-6px}.nav-toggle__bars::after{top:6px}
.is-open .nav-toggle__bars{background:transparent}
.is-open .nav-toggle__bars::before{transform:translateY(6px) rotate(45deg)}
.is-open .nav-toggle__bars::after{transform:translateY(-6px) rotate(-45deg)}
.site-nav .site-account{margin-left:6px}
@media (max-width:860px){
  .site-header{position:sticky;flex-wrap:wrap;padding:10px 16px}
  .nav-toggle{display:inline-flex}
  .site-nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding:6px 0 10px;border-top:1px solid var(--line);margin-top:10px}
  .is-open .site-nav{display:flex;max-height:calc(100vh - 80px);overflow-y:auto}
  .site-nav a,.site-nav__more summary{padding:12px 4px;border-bottom:1px solid var(--line);font-size:1.05rem}
  .site-nav a:hover,.site-nav a[aria-current]{border-color:var(--line);color:var(--maroon);font-weight:700}
  .site-nav__more summary{pointer-events:none;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding-top:16px}
  .site-nav__more summary::after{content:none}
  .site-nav__pop{position:static;box-shadow:none;border:0;border-radius:0;padding:0;min-width:0;background:transparent}
  .site-nav__pop a{padding:12px 4px 12px 16px;border-radius:0;border-bottom:1px solid var(--line)}
  .site-nav .site-account{margin:12px 0 0;gap:12px}
  .chips{top:65px}
}
@media (max-width:700px){
  .brand__name small{display:none}
  .brand img{width:40px;height:40px}
  .brand__name{font-size:1.3rem}
}
/* buttons, filters, cards in the neutral palette */
.filter-group button{border-color:var(--line)}
.filter-group button[aria-pressed=true]{background:var(--maroon);border-color:var(--maroon);color:#fff}
.card:hover,.pcard[href]:hover,.tile:hover{border-color:var(--gold)}
.card__img--swatch{background:radial-gradient(ellipse 100% 90% at 50% 0%,#fff,var(--t-soft,#EDEDEB) 60%,var(--t-accent,#A9A7AE))}
.pcard__frag{color:var(--muted)}
.slider__dots button{background:#d6d6d3}.slider__dots button[aria-current=true]{background:var(--maroon)}
/* top fragrances: 12 on 3 or 4 columns, 8 on 2 columns */
.section-title--first{margin-top:28px}
.cards--top{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}
@media (max-width:960px){.cards--top{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.cards--top{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cards--top > :nth-child(n+9){display:none}.cards--top .card__title{font-size:1.15rem}}
/* soaps: landscape photos */
.pcard--soaps .pcard__img{aspect-ratio:4/3;padding:10px}
.pgrid--soaps{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
/* footer: three columns, charcoal */
.site-footer{background:#2C2B30;color:#D9D8DC;padding:56px 20px 26px}
.site-footer__inner{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:48px}
.site-footer h2{color:#fff;opacity:.7}
.site-footer a{color:#ECEBEE}
.site-footer__logo{width:140px;height:140px}
.site-footer__tag{color:#fff;margin-top:18px!important}
.site-footer__blurb{margin-top:12px!important;font-size:.93rem!important;line-height:1.65;color:#C8C7CC;max-width:42ch}
.site-footer__links{list-style:none;margin:0;padding:0;columns:2;column-gap:24px;font-size:.95rem}
.site-footer__links li{margin:0 0 6px;break-inside:avoid}
.site-footer__legal{border-top-color:rgba(255,255,255,.14)}
@media (max-width:860px){.site-footer__inner{grid-template-columns:1fr 1fr}.site-footer__about{grid-column:1/-1}}
@media (max-width:560px){.site-footer__inner{grid-template-columns:1fr;gap:34px}.site-footer__logo{width:110px;height:110px}}
.site-nav{min-width:0;justify-content:flex-end}
.hero{background:radial-gradient(ellipse 90% 80% at 50% -10%,#fff 0%,var(--ash) 60%,#E6E6E3 100%);color:var(--maroon)}
.hero::after{background:none}
.pcard__img{overflow:hidden;min-height:0}.pcard__img img{width:100%;height:100%;object-fit:contain}
.card__img--swatch{background:radial-gradient(ellipse 110% 100% at 50% 0%,#fff 30%,var(--t-soft,#EDEDEB) 85%,color-mix(in srgb,var(--t-soft,#EDEDEB) 75%,var(--t-accent,#A9A7AE)))}
@media (max-width:640px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .cards .card__img{aspect-ratio:3/2}
  .cards .card__body{padding:10px 12px 12px}.cards .card__title{font-size:1.15rem}.cards .card__sub{font-size:.76rem}
  .pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .pgrid--soaps{grid-template-columns:1fr}
  .pcard__body{padding:4px 12px 12px}.pcard__title{font-size:1.1rem}
}
/* ---- v8: per-category filters, fragrance tags ---- */
.filter-group[hidden]{display:none}
.filters{gap:14px 26px}
.filter-group--cats{flex-basis:100%}
.filter-group select{padding:7px 12px;border:1px solid var(--line);border-radius:999px;font:inherit;font-size:.9rem;background:#fff;max-width:240px}
.tags--frag{justify-content:center}.tags--frag a{border:1px solid var(--t-accent);border-radius:999px;padding:4px 14px;font-size:.88rem;color:var(--t-deep);background:#fff;text-decoration:none}
.tags--frag a:hover{background:var(--t-soft)}
@media (max-width:640px){.filters{gap:10px}.filter-group{gap:6px}.filter-group button{padding:6px 12px;font-size:.85rem}}
.filters__toggle{display:none}
@media (max-width:700px){
  .filters__toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--maroon);background:#fff;color:var(--maroon);border-radius:999px;padding:7px 18px;font:inherit;font-size:.9rem;font-weight:700;cursor:pointer}
  .filters__toggle::after{content:"\25BE";font-size:.8em}
  .filters.is-open .filters__toggle::after{content:"\25B4"}
  .filters:not(.is-open) .filter-group[data-cat]{display:none}
  .filter-group[data-cat]{flex-basis:100%}
}
/* SKU code: the item code used in Tally, on the barcode and in phone or email orders */
.sku-code{display:block;font:500 .78rem/1.3 var(--sans);letter-spacing:.06em;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px;user-select:all}
.sku-code--row{font-size:.85rem;margin:-14px 0 18px}
.mini__title .sku-code{font-size:.72rem;margin-top:2px}

/* ---- v9: landscape photos (3:2), galleries, fragrance images ---- */
.card__img,.card__img--frag{aspect-ratio:3/2;overflow:hidden;background:#fff}
.card__img .fragimg,.card__img img{width:100%;height:100%;object-fit:cover;display:block}
.pcard__img,.pcard--soaps .pcard__img{aspect-ratio:3/2;padding:10px}
.pcard__img.is-photo{padding:0}.pcard__img.is-photo img{object-fit:cover}
.pgrid--soaps{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.mini__img{aspect-ratio:3/2;padding:8px}.mini__img.is-photo{padding:0}.mini__img.is-photo img{width:100%;height:100%;object-fit:cover}
.fragimg{display:block;width:100%;height:100%}
.fragimg--default{background:#fff}
/* fragrance page header: words left, image right */
.hero--split{padding:44px 20px 52px}
.hero__split{max-width:1120px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:44px;align-items:center;text-align:left}
.hero__split .crumbs ol{justify-content:flex-start}.hero__split .hero .crumbs,.hero__split .crumbs{text-align:left}
.hero__split .lede{margin:18px 0 0;max-width:none}
.hero__split .tags--frag{justify-content:flex-start}
.hero__media{aspect-ratio:3/2;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(40,30,40,.12)}
.hero__media img.fragimg{object-fit:cover}
@media (max-width:820px){.hero__split{grid-template-columns:1fr;gap:24px}.hero__media{order:-1}.hero--split{padding-top:20px}}
/* SKU row gallery */
.sku__photo--gallery{display:block;padding:0;min-height:0;background:#fff;align-self:start}
.gallery__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;aspect-ratio:3/2;background:#fff}
.gallery__track::-webkit-scrollbar{display:none}
.gallery__track img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start;max-height:none}
.gallery__track img.is-pack{object-fit:contain;padding:18px}
.gallery__thumbs{display:flex;gap:8px;padding:10px 12px 12px;overflow-x:auto;scrollbar-width:none}
.gallery [hidden],.gallery__thumbs[hidden]{display:none!important}
.gallery__thumbs button{flex:0 0 64px;aspect-ratio:3/2;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;cursor:pointer;background:#fff;opacity:.7}
.gallery__thumbs button[aria-current]{border-color:var(--t-deep);opacity:1}
.gallery__thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.sku:has(.sku__photo--gallery){grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
@media (max-width:760px){.sku:has(.sku__photo--gallery){grid-template-columns:1fr}}

/* ---- v10: product blocks (product and fragrance pages) ---- */
.pblocks{padding-bottom:20px}
.pcat-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;scroll-margin-top:130px}
.pcat-head__more{font-family:var(--serif);font-size:1.1rem;color:var(--t-deep)}
.pblock{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;margin:0 0 26px;scroll-margin-top:130px}
.pblock__media{background:#fff;min-width:0}
.pblock__media .gallery__track img.is-pack{object-fit:contain;padding:22px;background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--t-soft) 35%,#fff))}
.pblock__placeholder{aspect-ratio:3/2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--t-soft) 35%,#fff));color:var(--muted);font-size:.85rem}
.pblock__placeholder img{height:62%;opacity:.8}
.pblock__body{padding:34px 40px;display:flex;flex-direction:column;justify-content:center}
.pblock__title{font-size:clamp(1.7rem,3vw,2.4rem);color:var(--t-deep)}
.pblock__sub{font:italic 1.25rem var(--serif);color:var(--t-deep);opacity:.85;margin:4px 0 0}
.pblock__desc{color:var(--muted);font-size:.95rem;margin:12px 0 0}
.sizes{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 6px}
.sizes button{border:1px solid var(--t-accent);background:#fff;color:var(--t-deep);border-radius:999px;padding:7px 18px;font:inherit;font-size:.95rem;cursor:pointer}
.sizes button[aria-pressed=true]{background:var(--t-deep);border-color:var(--t-deep);color:#fff}
.sizes button:disabled{opacity:.35;cursor:default;border-style:dashed}
.colours button{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 8px}
.swatch{width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.18);display:inline-block}
.colours__note{margin:6px 0 0;font-size:.85rem;color:var(--muted)}
.pblock__sku{margin-top:14px}
.pblock__sku .sku-code{font-size:.85rem;margin:0 0 10px}
.pblock__sku .attrs .attr dd{font-size:1.3rem}
.attr dd.attr__small{font:400 1rem var(--sans);color:var(--ink)}
.chips__sep{flex:none;width:1px;background:var(--line);margin:4px 4px}
.also-in{margin:16px 0 0;font-size:.95rem}.also-in a{color:var(--t-deep)}
.hero--product .lede{font-size:1.1rem}
@media (max-width:760px){
  .pblock{grid-template-columns:1fr}
  .pblock__body{padding:20px 20px 24px}
  .pcat-head,.pblock{scroll-margin-top:80px}
}
.pblock__media figure,.pblock__media .gallery{margin:0}
.pblock__sku .attrs .attr dd.attr__small{font:400 1rem var(--sans);color:var(--ink)}

/* ---- v11: split slides (words left, photo right; stacked on phones) ---- */
.slide--split{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);aspect-ratio:12/5;background:var(--ash)}
.split__text{display:flex;flex-direction:column;justify-content:center;padding:4% 4% 4% 9%;container-type:inline-size}
.split__kicker{font:700 .78rem var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.split__head{font:400 clamp(2rem,4.2vw,3.6rem)/1.05 var(--serif);color:var(--maroon);margin:0}
.split__copy{font:italic 400 clamp(1.05rem,1.5vw,1.35rem)/1.5 var(--serif);color:#5c545a;margin:18px 0 22px;max-width:30em}
.split__text .btn{align-self:flex-start;margin-top:0}
.split__media{position:relative;overflow:hidden}
.split__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide--split .slide__fallback{position:absolute;inset:0}
@media (max-width:700px){
  .slide--split{grid-template-columns:1fr;aspect-ratio:auto;display:flex;flex-direction:column-reverse}
  .split__media{aspect-ratio:3/2}
  .split__text{padding:22px 22px 52px}
  .split__head{font-size:2rem}
}
.prose h2{font-size:1.9rem;margin:40px 0 12px;scroll-margin-top:90px}
.prose ul{padding-left:1.2em;margin:0 0 1em}.prose li{margin:0 0 6px}
.prose{padding-bottom:40px}
@media (max-width:700px){.slide__media{aspect-ratio:var(--pr,4/5)}}
/* product block: line 1 (category and form), line 2 (the SKU's label, switching with size) */
.pblock__line1{font:700 .78rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--t-deep);opacity:.8;margin:0 0 8px}
.pblock__title{font-size:clamp(1.6rem,2.8vw,2.3rem)}
.pblock__title [data-sku-text]+[data-sku-text]::before{content:" / "}
.js .pblock__title [data-sku-text]::before{content:none!important}
.sizes__label{font:700 .72rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:18px 0 0}
.sizes__label+.sizes{margin-top:8px}
/* text-only items (4-inch and long sticks): no photo, listed last */
.pblock--text{grid-template-columns:1fr}
.pblock--text .pblock__body{padding:26px 40px}
.pblock--text .pblock__title{font-size:clamp(1.4rem,2.4vw,1.9rem)}
.pcard--text{justify-content:flex-start}
.pcard--text .pcard__body{padding:18px 16px 16px;border-top:3px solid var(--line)}
/* ---- v12: cards with price and Add to Cart ---- */
.pcard{position:relative}
.pcard__link{display:flex;flex-direction:column;text-decoration:none;color:inherit;flex:1}
.pcard__body{padding:12px 16px 4px}
.pcard__line1{font:700 .7rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.pcard__title{font:700 1.2rem/1.2 var(--serif);color:var(--maroon);margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pcard .sku-code{margin-top:6px}
.buy{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 16px 16px;margin-top:auto}
.buy__price{margin:0;font:700 1.15rem var(--serif);color:var(--ink)}
.buy__price del{font-weight:400;color:var(--muted);font-size:.9rem;margin-right:2px}
.buy__cart{margin:0;padding:9px 16px;font-size:.82rem;letter-spacing:.03em;box-shadow:none}
.buy__cart[disabled]{opacity:.45;cursor:not-allowed}
.btn--cta{background:var(--maroon);color:#fff;border-color:var(--maroon)}
.btn--cta:hover{box-shadow:0 4px 14px rgba(40,30,40,.25)}
.pblock__sku .buy{padding:18px 0 0;justify-content:flex-start;gap:18px}
.pblock__sku .buy__price{font-size:1.6rem}
.pblock__sku .buy__cart{padding:12px 26px;font-size:.92rem}
.pcard--text .pcard__body{padding-top:16px}
@media (max-width:640px){.pcard__body{padding:10px 12px 2px}.buy{padding:6px 12px 12px}.buy__cart{width:100%;text-align:center}}
.pcard:hover{border-color:var(--gold)}
.buy__form{margin:0}
/* One-page catalogue (Soaps, Candles): sticky section chips, option cards */
.jumpbar{position:sticky;top:73px;z-index:9;display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between;padding:10px 0;margin:8px 0 6px;background:color-mix(in srgb,var(--page,#fff) 94%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.jumpbar__chips{display:flex;flex-wrap:wrap;gap:8px}
.jumpbar__chips a{border:1px solid var(--t-accent,var(--line));border-radius:999px;padding:6px 16px;text-decoration:none;color:var(--t-deep,var(--ink));font-size:.92rem;background:#fff}
.jumpbar__chips a:hover{background:var(--t-deep,var(--ink));color:#fff}
.jumpbar__search{border:1px solid var(--line);border-radius:999px;padding:7px 14px;font:inherit;font-size:.92rem;min-width:200px}
.csec{scroll-margin-top:140px;margin:22px 0 36px}
.csec__note{margin:-4px 0 14px;color:var(--muted)}
.csec__empty{margin:30px 0;color:var(--muted)}
.ocards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
@media (max-width:900px){.ocards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
.ocard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ocard[hidden],.csec[hidden]{display:none}
.ocard:hover{border-color:var(--gold)}
.ocard__img{display:block;aspect-ratio:3/2;background:#fff;overflow:hidden}
.ocard__img img{display:block;width:100%;height:100%;object-fit:contain}
.ocard__img img.is-placeholder{object-fit:contain;padding:18px;opacity:.6}
.ocard__body{padding:12px 16px 4px;display:flex;flex-direction:column;gap:4px}
.ocard__title{margin:0;font:600 1.12rem var(--serif)}
.ocard__title a{color:var(--ink);text-decoration:none}
.ocard__title a:hover{text-decoration:underline}
.ocard__label{margin:0;color:var(--muted);font-size:.88rem}
.opt{margin-top:6px}
.opt__label{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.opt__vals{display:flex;flex-wrap:wrap;gap:6px}
.opt__vals button{border:1px solid var(--t-accent,var(--line));background:#fff;color:var(--t-deep,var(--ink));border-radius:999px;padding:4px 12px;font:inherit;font-size:.84rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.opt__vals button[aria-pressed=true]{background:var(--t-deep,var(--ink));border-color:var(--t-deep,var(--ink));color:#fff}
.opt__vals button:disabled{opacity:.35;cursor:default;border-style:dashed}
.opt__vals--colour button{padding:4px 10px 4px 5px}
.opt__vals .swatch{width:16px;height:16px}
.ocard .colours__note{margin:4px 0 0;font-size:.8rem}
.ocard .sku-code{margin:6px 0 0;font-size:.78rem;color:var(--muted)}
.ocard .buy{margin-top:auto}
@media (max-width:640px){.ocards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ocard__body{padding:10px 10px 2px}.opt__vals button{padding:4px 9px;font-size:.8rem}.jumpbar__chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%}.jumpbar__chips a{white-space:nowrap;padding:5px 12px}.jumpbar__search{min-width:0;flex:1}}
/* quantity stepper beside Add to Cart */
.buy__form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:#fff;height:38px}
.qty__step{border:0;background:none;width:32px;height:100%;font-size:1.1rem;line-height:1;color:var(--ink);cursor:pointer;border-radius:999px}
.qty__step:hover{background:color-mix(in srgb,var(--line) 45%,#fff)}
.qty__n{width:3.2ch;border:0;text-align:center;font:600 .95rem var(--sans,inherit);color:var(--ink);background:none;-moz-appearance:textfield;appearance:textfield;padding:0}
.qty__n::-webkit-outer-spin-button,.qty__n::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ocard .buy__form{flex-wrap:wrap}.ocard .buy__form .buy__cart{flex:1 1 auto;width:auto}.ocard .qty{height:34px}.ocard .qty__step{width:28px}
/* unit prices under the price row (per stick / per g / per ml) */
.buy__unit{order:9;flex-basis:100%;margin:-4px 0 0;font-size:.8rem;color:var(--muted)}
.buy__unit:empty{display:none}
/* Shop by need: one banner, four clickable panels (columns; rows on phones) */
.needs__band{position:relative;border-radius:14px;overflow:hidden}
.needs__band img{display:block;width:100%;height:auto}
.needs__links{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr)}
.needs__links a{position:relative;display:block;transition:background .2s}
.needs__links a:hover,.needs__links a:focus-visible{background:rgba(255,255,255,.14);outline:none;box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}
.needs__from{position:absolute;top:10px;right:10px;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.85);font-size:.8rem;color:var(--ink)}
@media (max-width:700px){.needs__links{grid-template-columns:1fr;grid-template-rows:repeat(4,1fr)}}
.needs__name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* home fold 2: fragrances with need chips */
.fragfold{scroll-margin-top:80px}
.fragfold__chips{flex-wrap:wrap;overflow:visible;padding:0 0 16px}
.fragfold .chip{flex:none;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:6px 16px;font:inherit;font-size:.9rem;background:#fff;cursor:pointer}
.fragfold .chip:hover{border-color:var(--ink)}
.fragfold .chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.fragfold__item[hidden]{display:none}
.fragfold__item > .card{height:100%}
/* home folds 3-7: category banner, text, four best sellers */
.catfold{margin-top:56px;scroll-margin-top:70px}
.catfold__media{display:block;aspect-ratio:12/5;overflow:hidden;background:#fff}
.catfold__media img{display:block;width:100%;height:100%;object-fit:cover}
.catfold__fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:radial-gradient(ellipse 80% 90% at 50% 0%,#fff,#efe6d6 70%,#e2d2b6);font:italic clamp(1.8rem,5vw,3.4rem) var(--serif);color:var(--muted)}
.catfold__body{padding-top:22px}
.catfold__text .section-title a{color:inherit;text-decoration:none}
.catfold__text .prose{max-width:60ch;margin-bottom:18px}
@media (max-width:700px){.catfold__media{aspect-ratio:4/5}}
.pgrid--fold{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:700px){.pgrid--fold{grid-template-columns:repeat(2,minmax(0,1fr))}}
.catfold__media,.catfold__media:hover{text-decoration:none}
.catfold__kicker{margin:0 0 4px;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.banner__sub{margin:8px 0 0;font-size:.95rem;color:var(--muted)}
.hero .tagline{font:italic 1.3rem/1.3 var(--serif);color:var(--muted);margin:4px 0 0}
/* words on a banner, placed where the picture leaves room (partials/ovbox.html, data/overlay.json).
   One type scale for every banner: the same headline and subline size on every banner at a given screen width;
   long names wrap inside the box rather than shrink. Dark (deep brown) or light (white) words, never a box behind them.
   "align": "right" in data/overlay.json sets the words against the right edge of their box. */
.ovbox{--ov-dark:#3A2418;position:absolute;left:var(--x);top:var(--y);width:max(var(--w),30%);max-width:calc(100% - var(--x) - 3%);min-height:var(--h);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;color:var(--ov-dark)}
.ovbox--right{left:auto;right:calc(100% - var(--x) - var(--w));max-width:calc(var(--x) + var(--w) - 3%);align-items:flex-end;text-align:right}
.ovbox__head,.ovbox .ovbox__head{margin:0;font:600 clamp(36px,4.6cqw,72px)/1.05 var(--serif);color:inherit;letter-spacing:-.01em;text-wrap:balance}
.ovbox__sub,.ovbox .ovbox__sub{margin:.7cqw 0 0;font:italic 500 clamp(20px,2.4cqw,36px)/1.25 var(--serif);color:inherit;text-wrap:balance}
.ovbox--light,.ovbox--light .ovbox__head,.ovbox--light .ovbox__sub{color:#fff}
.ovbox--light{text-shadow:0 1px 10px rgba(0,0,0,.28)}
.ovbox--dark{text-shadow:0 0 14px rgba(255,255,255,.35)}
.ovbox--portrait{display:none}
.catfold__media{position:relative;container-type:inline-size}
/* a box in the lower half grows upwards from where the calm area ends, so longer words never run off the bottom */
.ovbox--low{top:auto;bottom:var(--b);justify-content:flex-end}
@media (max-width:700px){
  .ovbox--landscape{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .ovbox--portrait{display:flex;width:max(var(--w),46%)}
  .ovbox--portrait .ovbox__head{font-size:clamp(30px,9cqw,40px)}
  .ovbox--portrait .ovbox__sub{font-size:clamp(17px,4.8cqw,21px);margin-top:1.5cqw}
}
/* catalogue filter bar (incense) */
.cfilters{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px 16px;margin:6px 0 18px}
.cfilters__groups{display:flex;flex-direction:column;gap:8px;flex:1 1 640px}
.cfilters .filter-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.cfilters__toggle{display:none}
.cfilters .count{margin:0;color:var(--muted);font-size:.9rem;align-self:flex-end}
.ocard.is-target{box-shadow:0 0 0 3px var(--gold)}
@media (max-width:700px){
  .cfilters__toggle{display:inline-block;border:1px solid var(--line);border-radius:999px;background:#fff;padding:6px 14px;font:inherit}
  .cfilters__groups{display:none;flex-basis:100%}
  .cfilters.is-open .cfilters__groups{display:flex}
}
/* header search */
.site-search{position:relative;order:3;flex:0 1 220px}
.site-search input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:999px;padding:7px 14px 7px 34px;font:inherit;font-size:.9rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%236B5A45' stroke-width='2'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='m11 11 4 4'/%3E%3C/svg%3E") no-repeat 12px 50%}
.site-search__suggest{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:min(360px,92vw);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(60,30,10,.14);padding:6px;max-height:70vh;overflow:auto}
.sres{display:grid;grid-template-columns:56px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:6px;border-radius:8px;text-decoration:none;color:var(--ink)}
.sres:hover,.sres:focus{background:color-mix(in srgb,var(--line) 40%,#fff)}
.sres img,.sres__noimg{grid-row:1/3;width:56px;height:40px;object-fit:cover;border-radius:6px;background:#f2ede4}
.sres__t{font-weight:600}.sres__h{font-size:.8rem;color:var(--muted)}
.sres--sku{display:block;font-weight:600}
.sres__all{display:block;padding:8px 6px;font-size:.9rem}
.sres__none{margin:6px;color:var(--muted)}
.site-nav{order:2}
.search-page input{width:min(560px,100%);border:1px solid var(--line);border-radius:999px;padding:10px 16px;font:inherit}
.sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;margin:16px 0 40px}
.sgrid .sres{border:1px solid var(--line)}
.search-toggle{display:none;order:1;margin-left:auto;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);cursor:pointer;padding:0;align-items:center;justify-content:center}
.nav-toggle{order:1}
@media (max-width:860px){
  .site-header{row-gap:0}
  .search-toggle{display:inline-flex}
  .search-toggle + .nav-toggle{margin-left:8px}
  .is-search .search-toggle{border-color:var(--maroon);color:var(--maroon)}
  .site-search{order:4;flex:1 1 100%;max-height:0;overflow:hidden;visibility:hidden;transition:max-height .22s ease,margin .22s ease,visibility 0s .22s}
  .is-search .site-search{max-height:60px;margin-top:10px;overflow:visible;visibility:visible;transition:max-height .22s ease,margin .22s ease}
  .site-search input{font-size:16px;padding:10px 14px 10px 36px}
  .site-search__suggest{left:0;right:0;width:auto}
  .site-nav{order:5}
}
/* Shop by purpose: four separate pictures (static/img/heroes/needs/), tall columns on desktop, strips on phones */
.needs--tiles .needs__band{border-radius:0;overflow:visible}
.needs--tiles .needs__links{position:static;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.needs--tiles .needs__links a{position:relative;display:block;border-radius:14px;overflow:hidden;box-shadow:none}
.needs--tiles .needs__img img{display:block;width:100%;aspect-ratio:3/5;object-fit:cover;transition:transform .4s}
.needs--tiles .needs__links a:hover .needs__img img{transform:scale(1.03)}
.needs--tiles .needs__links a:hover,.needs--tiles .needs__links a:focus-visible{background:none;box-shadow:0 0 0 2px var(--gold)}
.needs__caption{position:absolute;left:0;right:0;bottom:0;padding:44px 12px 18px;text-align:center;font:italic 500 clamp(18px,1.9vw,26px)/1.2 var(--serif);color:#5a3a1c;background:linear-gradient(to top,rgba(255,248,236,.92),rgba(255,248,236,.7) 55%,rgba(255,248,236,0))}
@media (max-width:700px){
  .needs--tiles .needs__links{grid-template-columns:1fr;gap:10px}
  .needs--tiles .needs__img img{aspect-ratio:16/5}
  .needs__caption{top:0;right:auto;bottom:0;width:58%;display:flex;align-items:center;padding:0 16px;text-align:left;font-size:21px;background:linear-gradient(to right,rgba(255,248,236,.92),rgba(255,248,236,.75) 60%,rgba(255,248,236,0))}
  .needs--tiles .needs__from{top:auto;bottom:8px;right:8px}
}
/* About page: two columns of short statements (front matter 'pillars') */
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:40px auto 48px}
.pillars__title{font:600 clamp(1.3rem,2.2vw,1.7rem) var(--serif);letter-spacing:.08em;text-transform:uppercase;text-align:center;color:var(--maroon,#6b2d2d);margin:0 0 16px}
.pillar{background:linear-gradient(180deg,#fffaf0,#fbf1df);border:1px solid #e8d5ae;border-radius:16px;padding:18px 22px;margin-bottom:16px;text-align:center}
.pillar h3{margin:0 0 6px;font:600 1.05rem var(--serif);letter-spacing:.06em;text-transform:uppercase;color:#4a3320}
.pillar p{margin:0;font:1.08rem/1.5 var(--serif);color:#4a3320}
@media (max-width:700px){.pillars{grid-template-columns:1fr;gap:8px}}
/* Incense page (partials/fragcat.html): fragrance tiles, filter pop-ups, products grouped by fragrance */
.fstrip{margin:10px 0 26px}
.fstrip__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.ftile{display:flex;flex-direction:column;gap:8px;padding:0;border:0;background:none;cursor:pointer;text-align:left;font:inherit;color:var(--ink)}
.ftile[hidden]{display:none}
.ftile__img{display:block;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--t-soft,#EDEDEB);border:1px solid var(--line)}
.ftile__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.ftile:hover .ftile__img img{transform:scale(1.04)}
.ftile__name{font-weight:600;font-size:.98rem;line-height:1.25}
.ftile:hover .ftile__name{color:var(--maroon)}
.fstrip__more{margin-top:14px;border:0;background:none;font:inherit;color:var(--maroon);text-decoration:underline;cursor:pointer;padding:4px 0}
.fbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 4px}
.fbar--top{margin-bottom:16px}
.fprod{margin-top:26px;padding-top:4px;border-top:1px solid var(--line)}
.fstrip__none{color:var(--muted)}
.ftile{text-decoration:none}
.fsec__head .section-title{font-size:1.6rem}
.fbar[hidden],.fchips[hidden],.fsel[hidden]{display:none}
.fbar__lead{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--muted);margin-right:4px}
.fbar__type{position:relative}
.fbar__btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font:inherit;font-size:.92rem;cursor:pointer;color:var(--ink)}
.fbar__btn::after{content:"";display:inline-block;margin-left:8px;border:4px solid transparent;border-top-color:currentColor;vertical-align:-1px}
.fbar__type.is-on .fbar__btn{border-color:var(--maroon);color:var(--maroon);font-weight:600}
.fbar__pop{position:absolute;left:0;top:calc(100% + 6px);z-index:20;min-width:220px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(60,30,10,.14);padding:8px}
.fbar__pop label{display:flex;align-items:center;gap:10px;padding:8px 8px;border-radius:8px;cursor:pointer;font-size:.95rem;white-space:nowrap}
.fbar__pop label:hover{background:var(--ash,#F4F4F2)}
.fbar__pop input{width:18px;height:18px;accent-color:var(--maroon)}
.fbar__search{border:1px solid var(--line);border-radius:999px;padding:7px 14px;font:inherit;font-size:.92rem;min-width:200px}
.fchips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}
.fchips button{border:1px solid var(--maroon);background:#fff;color:var(--maroon);border-radius:999px;padding:5px 12px;font:inherit;font-size:.88rem;cursor:pointer}
.fchips .fchips__clear{border-color:transparent;text-decoration:underline}
.fsel__back{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 16px;font:inherit;cursor:pointer;margin:6px 0 0}
.fc__count{margin:14px 0 0;color:var(--muted);font-size:.9rem}
.fsec{margin:26px 0 34px}
.fsec__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin-bottom:14px}
.fsec__head .section-title{margin:0}
.fsec__tag{margin:0;font-style:italic;color:var(--muted)}
.fsec__about{margin-left:auto;font-size:.92rem;color:var(--maroon)}
.fc__more{display:block;margin:10px auto 40px}
.fc__more[hidden]{display:none}
.ocard__legacy{margin:-2px 0 4px;font-size:.78rem;color:var(--muted);letter-spacing:.02em}
@media (max-width:900px){.fstrip__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:640px){
  .fstrip__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .ftile__name{font-size:.86rem}
  .fbar__lead{flex-basis:100%}
  .fbar__search{margin-left:0;flex:1 1 100%;min-width:0}
  .fbar__type{position:static}
  .fbar{position:relative}
  .fbar__pop{left:0;right:0;min-width:0}
  .fsec__about{margin-left:0}
}
.ocard__specs{margin:0 0 6px;font-size:.82rem;color:var(--ink)}
.fmore{margin:48px auto 56px;padding-top:28px;border-top:1px solid var(--line)}
.fmore__all{margin-top:16px}
.pblock.is-target{box-shadow:0 0 0 2px var(--t-deep,var(--maroon))}
.fragfold__grid{margin-bottom:8px}
.fragfold__item > .ftile{height:100%}
.ovbox--fit{width:var(--w)}   /* "fit": true in data/overlay.json: the box keeps exactly its set width */
/* Phones: one product card per row, like the product pages: wide photo on top, then three short lines
   (name with line name and SKU; size buttons; price, quantity and Add to Cart). */
@media (max-width:640px){
  .ocards{grid-template-columns:minmax(0,1fr);gap:14px}
  .ocard__img{aspect-ratio:3/2}
  .ocard__body{padding:10px 14px 0;flex-direction:row;flex-wrap:wrap;align-items:baseline;column-gap:8px;row-gap:2px}
  .ocard .ocard__title{order:1;font-size:1.05rem}
  .ocard .ocard__legacy{order:2;margin:0}
  .ocard .ocard__specs{order:3;margin:0;color:var(--muted);font-size:.78rem}
  .ocard .sku-code{order:4;margin:0 0 0 auto;font-size:.74rem}
  .ocard .ocard__label,.ocard .opt__label,.ocard .buy__unit{display:none}
  .ocard .opt,.ocard .colours__note{order:5;flex-basis:100%;margin-top:6px}
  .ocard .buy{padding:8px 14px 14px;gap:10px;flex-wrap:nowrap}
  .ocard .buy__form{flex:1 1 auto;flex-wrap:nowrap;gap:6px;justify-content:flex-end}
  .ocard .qty{flex:none}
  .ocard .buy__form .buy__cart{flex:0 1 auto;padding:9px 14px;white-space:nowrap}
}
/* Card without a photo yet: the lotus mark on a soft tint */
.ocard__ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;background:color-mix(in srgb,var(--t-soft,#F3EEE6) 35%,#fff);color:var(--muted);font-size:.82rem;letter-spacing:.04em}
.ocard__img:has(.ocard__ph){text-decoration:none}
.ocard__ph img{width:40px;height:40px;opacity:.45;object-fit:contain}
/* Back-to-top button (all pages; appears after two screens of scrolling) */
.totop{position:fixed;right:max(20px,env(safe-area-inset-right,0px) + 12px);bottom:max(20px,env(safe-area-inset-bottom,0px) + 12px);z-index:20;width:46px;height:46px;border-radius:50%;border:0;display:flex;align-items:center;justify-content:center;background:var(--maroon,#561C0A);color:#fff;box-shadow:0 4px 14px rgba(40,20,10,.25);cursor:pointer;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s}
.totop.is-on{opacity:.92;transform:none}
.totop:hover{opacity:1}
.totop:focus-visible{outline:3px solid var(--gold,#C4884D);outline-offset:2px}
@media (max-width:640px){.totop{width:42px;height:42px;right:12px;bottom:max(16px,env(safe-area-inset-bottom,0px) + 8px)}}
@media (prefers-reduced-motion:reduce){.totop{transition:none}}
/* About page (layouts/_default/about.html): opening, then alternating bands of sections */
.ab-head{text-align:center;padding:40px 0 34px;display:grid;gap:14px;justify-items:center}
.ab-head h1{font-size:clamp(2.2rem,5vw,3.4rem)}
.ab-head__sub{margin:0;font:italic 1.35rem/1.3 var(--serif);color:var(--muted)}
.ab-head__lede{margin:6px 0 0;max-width:46rem;font:400 1.3rem/1.55 var(--serif);color:var(--ink)}
.ab-facts{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%;max-width:960px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ab-facts li{display:grid;gap:4px;padding:18px 12px;text-align:center}
.ab-facts li+li{border-left:1px solid var(--line)}
.ab-facts strong{font:600 clamp(1.6rem,3vw,2.3rem)/1 var(--serif);color:var(--maroon)}
.ab-facts span{font-size:.9rem;color:var(--muted)}
.ab-toc{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;font-size:.92rem;margin-top:4px}
.ab-toc a{color:var(--maroon)}
.ab-sec{padding:64px 0;scroll-margin-top:80px}
.ab-sec--tint{background:#FBF6EC}
.ab-sec h2{font-size:clamp(1.9rem,3.6vw,2.6rem);margin:0 0 16px}
.ab-eyebrow{margin:0 0 8px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--gold)}
.ab-intro{max-width:46rem;font:400 1.2rem/1.55 var(--serif);margin:0 0 28px}
.ab-two{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:56px;align-items:start}
.ab-text p{margin:0 0 1em;max-width:62ch}
.ab-time{list-style:none;margin:40px 0 0;padding:0 0 0 22px;border-left:2px solid var(--glow);display:grid;gap:26px}
.ab-time li{position:relative;display:grid;gap:4px}
.ab-time li::before{content:"";position:absolute;left:-29px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px #fff}
.ab-time__when{font:600 1.35rem/1 var(--serif);color:var(--maroon)}
.ab-time__what{color:var(--ink)}
.ab-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.ab-col h3,.ab-value h3,.ab-masala h3{font-size:1.3rem;margin:0 0 10px}
.ab-col p{margin:0 0 1em}
.ab-masala{background:#FBF6EC;border-radius:14px;padding:22px 24px}
.ab-masala dl{margin:0;display:grid;gap:10px}
.ab-masala dt{font-weight:600;color:var(--maroon)}
.ab-masala dd{margin:0;font-size:.95rem;color:var(--muted)}
.ab-steps{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.ab-step{display:grid;gap:6px;align-content:start}
.ab-step__img{margin:0 0 8px;aspect-ratio:3/2;border-radius:12px;overflow:hidden;background:#F3ECDF}
.ab-step__img img{width:100%;height:100%;object-fit:cover;display:block}
.ab-step__ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;color:var(--muted);font-size:.8rem}
.ab-step__ph img{width:36px;height:36px;opacity:.45;object-fit:contain}
.ab-step__n{margin:0;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600}
.ab-step h3{font-size:1.25rem;margin:0}
.ab-step p:last-child{margin:0;font-size:.95rem}
.ab-closing{margin:36px auto 0;text-align:center;font:italic 1.25rem/1.4 var(--serif);color:var(--maroon)}
.ab-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:8px}
.ab-value{border-top:2px solid var(--gold);padding-top:14px}
.ab-value p{margin:0}
.ab-two--visit{align-items:center}
.ab-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:20px}
.ab-cta__link{color:var(--maroon)}
.ab-address{font-style:normal;line-height:1.7;padding:24px 28px;border:1px solid var(--line);border-radius:14px}
.ab-address__lines{color:var(--muted)}
@media (max-width:900px){
  .ab-two{grid-template-columns:minmax(0,1fr);gap:28px}
  .ab-time{margin-top:8px}
  .ab-cols{grid-template-columns:minmax(0,1fr);gap:24px}
  .ab-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .ab-values{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .ab-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ab-facts li:nth-child(3){border-left:0}
  .ab-facts li:nth-child(n+3){border-top:1px solid var(--line)}
  .ab-sec{padding:44px 0}
  .ab-values{grid-template-columns:minmax(0,1fr)}
}
.ab-two--present{align-items:center;margin-bottom:36px}
.ab-two--present .ab-intro{margin:0}
.ab-photo{margin:0;border-radius:14px;overflow:hidden;aspect-ratio:3/2}
.ab-photo img{width:100%;height:100%;object-fit:cover;display:block}
.ab-two--making{grid-template-columns:minmax(0,1fr);gap:24px}
.ab-two--making .ab-text p{max-width:66ch}
.ab-masala dl{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px 28px}
/* About: the four making steps one below the other, photo and words side by side, alternating sides */
.ab-steps{grid-template-columns:minmax(0,1fr);gap:44px;max-width:1000px;margin-left:auto;margin-right:auto}
.ab-step{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:40px;row-gap:6px;align-items:start}
.ab-step__img{grid-column:1;grid-row:1/4;margin:0}
.ab-step>:not(.ab-step__img){grid-column:2}
.ab-step__n{align-self:end;margin-top:12%}
.ab-step h3{font-size:1.6rem}
.ab-step p:last-child{font-size:1.05rem;max-width:40ch}
.ab-step:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
.ab-step:nth-child(even) .ab-step__img{grid-column:2}
.ab-step:nth-child(even)>:not(.ab-step__img){grid-column:1;justify-self:end;text-align:right}
@media (max-width:700px){
  .ab-steps{gap:34px}
  .ab-step,.ab-step:nth-child(even){grid-template-columns:minmax(0,1fr);grid-template-rows:none}
  .ab-step__img,.ab-step:nth-child(even) .ab-step__img{grid-column:1;grid-row:auto;margin-bottom:6px}
  .ab-step>:not(.ab-step__img),.ab-step:nth-child(even)>:not(.ab-step__img){grid-column:1;justify-self:start;text-align:left}
  .ab-step__n{margin-top:0}
}
/* About, round 2: justified text, quieter page title with the line as the headline, stacked Present, masala under step 2 */
.ab-sec p,.ab-head__lede,.ab-intro,.ab-block p,.ab-step p{text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.ab-head{gap:10px}
.ab-head__title{order:0;font:600 .9rem/1.2 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.ab-head__sub{margin:0;font:600 clamp(2.2rem,5.2vw,3.6rem)/1.08 var(--serif);font-style:normal;color:var(--maroon);text-wrap:balance}
.ab-head__lede{text-align:center}
.ab-narrow{max-width:880px}
.ab-block{margin-top:28px}
.ab-block h3{font-size:1.35rem;margin:0 0 8px}
.ab-block p{margin:0 0 1em}
.ab-facts--make{margin:18px 0 8px;max-width:none;grid-template-columns:repeat(4,minmax(0,1fr))}
.ab-facts--make li{padding:0}
.ab-facts--make li:nth-child(4n+1){border-left:0}
.ab-facts--make li:nth-child(n+5){border-top:1px solid var(--line)}
.ab-facts--make a{display:grid;gap:4px;padding:18px 12px;text-decoration:none;color:inherit;height:100%}
.ab-facts--make a:hover strong{text-decoration:underline}
.ab-making-intro{margin-bottom:8px}
.ab-making-intro p{max-width:70ch}
.ab-step .ab-masala{margin-top:14px;padding:16px 18px;text-align:left}
.ab-step .ab-masala h4{font:600 1.1rem var(--serif);color:var(--maroon);margin:0 0 10px}
.ab-step .ab-masala dl{grid-template-columns:minmax(0,1fr);gap:8px}
.ab-step .ab-masala dt,.ab-step .ab-masala dd{text-align:left}
.ab-step:nth-child(even) .ab-masala{justify-self:stretch}
@media (max-width:700px){.ab-facts--make{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-facts--make li:nth-child(odd){border-left:0}.ab-facts--make li:nth-child(even){border-left:1px solid var(--line)}.ab-facts--make li:nth-child(n+3){border-top:1px solid var(--line)}}
.ab-head .ab-head__title{font:600 .95rem/1.2 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.ab-step__img{grid-row:1/span 6}
.ab-step:nth-child(even) .ab-masala{justify-self:end}
.ab-step .ab-masala h4{text-align:left}
.ab-closing{text-align:center!important}
.ab-present-head{text-align:left}
#present .ab-block h3,#present h2{text-align:left}
.ab-sec .ab-value p{text-align:left;hyphens:manual}   /* short lines in narrow columns read badly justified */
.ab-facts--make{grid-template-columns:repeat(5,minmax(0,1fr))}
.ab-facts--make li:nth-child(n){border-top:0}
.ab-facts--make li+li{border-left:1px solid var(--line)}
.ab-more{margin:14px 0 0}
@media (max-width:700px){.ab-facts--make{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-facts--make li:nth-child(odd){border-left:0}.ab-facts--make li:nth-child(n+3){border-top:1px solid var(--line)}}
@media (min-width:701px){.ab-facts--make li+li{border-left:1px solid var(--line)}}
@media (max-width:700px){.ab-step:nth-child(even) .ab-masala{justify-self:stretch}}
@media (max-width:700px){.ab-sec p,.ab-head__lede,.ab-intro,.ab-block p,.ab-step p{text-align:left;hyphens:manual;-webkit-hyphens:manual}.ab-head__lede{text-align:center}}   /* justified text leaves wide gaps on narrow screens */
/* Related fragrances (partials/related.html) */
.related{margin:48px auto 8px;padding-top:28px;border-top:1px solid var(--line)}
.related__item{margin:18px 0 34px}
.related__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:14px}
.related__head h3{font-size:1.5rem;margin:0}
.related__head h3 a{text-decoration:none;color:inherit}
.related__tag{margin:0;font-style:italic;color:var(--muted)}
.related__why{flex-basis:100%;margin:2px 0 0;color:var(--ink)}
.related__more{font-size:.92rem;color:var(--maroon)}

/* About: fair trade (content/about.md fairtrade:) */
.ab-ft{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:40px;align-items:start}
.ab-ft__card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:6px;padding:22px 24px}
.ab-ft__card p{margin:0 0 8px;text-align:left}
.ab-ft__label{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ab-ft__name{font-family:var(--serif,inherit);font-size:1.35rem;line-height:1.25}
.ab-ft__id{font-size:.95rem}
.ab-ft__about{font-size:.92rem;color:var(--muted)}
.ab-ft__card a{color:var(--maroon)}
.ab-ft__sub{font-size:1.3rem;margin:40px 0 14px}
.ab-values--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.site-footer__ft{margin:10px 0 0;font-size:.9rem}
.site-footer__ft a{color:inherit;text-decoration:underline;text-underline-offset:3px;opacity:.9}
@media (max-width:900px){.ab-ft{grid-template-columns:minmax(0,1fr);gap:24px}.ab-values--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.ab-values--3{grid-template-columns:minmax(0,1fr)}}

/* Contact page (layouts/_default/contact.html) */
.icon{width:1.25em;height:1.25em;flex:none}
.cv__photo{margin:0;height:min(72vh,720px);min-height:300px;background:#1d2733}
.cv__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.cv__body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-areas:"head card" "text card";column-gap:48px;align-items:start;padding-top:44px;padding-bottom:56px}
.cv__head{grid-area:head}.cv__text{grid-area:text}.cv__card{grid-area:card}
.cv__head h1{font-size:clamp(2rem,4vw,2.8rem);margin:0 0 16px}
.cv__text .ab-text p{text-align:justify;hyphens:auto}
.cv__inside{margin:22px 0 0;aspect-ratio:16/9;border-radius:6px;overflow:hidden}
.cv__inside img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.cv__card{background:#FBF6EC;border:1px solid var(--line);border-radius:8px;padding:8px 24px;margin-top:-110px;position:relative;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.ci{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.ci:last-child{border-bottom:0}
.ci__ic{width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--maroon);flex:none}
.ci h2{margin:2px 0 4px;font:600 .74rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ci p{margin:0;line-height:1.55}
.ci a{color:var(--ink)}
.ci__note{font-size:.9rem;color:var(--muted)}
.cbtn{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:9px 16px;border-radius:999px;border:1px solid var(--ink);color:var(--ink)!important;text-decoration:none;font-weight:600;font-size:.95rem}
.cbtn .icon{width:18px;height:18px}
.cbtn--solid{background:#fff;color:var(--deep)!important;border-color:#fff}
.cbtn--wa{background:#25D366;border-color:#25D366;color:#fff!important}
.cr__intro{margin:0 0 26px;max-width:60ch}
.cr__tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ctile{display:grid;gap:4px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s}
.ctile:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.08)}
.ctile__ic{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--maroon);color:#fff;margin-bottom:10px}
.ctile__ic .icon{width:26px;height:26px}
.ctile--wa .ctile__ic{background:#25D366}
.ctile__k{font:600 .78rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ctile__v{font:600 1.15rem/1.3 var(--sans);overflow-wrap:anywhere}
.ctile__n{font-size:.9rem;color:var(--muted)}
.cb{background:var(--deep);color:#EDE9E3;padding:64px 0 70px}
.cb h2{color:#fff;font-size:clamp(1.9rem,3.6vw,2.6rem);margin:0 0 14px}
.cb__eyebrow{color:#C9C3BA}
.cb__intro{max-width:62ch;margin:0 0 30px;font-size:1.08rem}
.cb__aud{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.cb__card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:24px 26px}
.cb__card h3{color:#fff;font-size:1.4rem;margin:12px 0 8px}
.cb__card p{margin:0}
.cb__ic{width:52px;height:52px;border-radius:50%;background:#fff;color:var(--deep);display:grid;place-items:center}
.cb__ic .icon{width:26px;height:26px}
.cb__ask{margin-top:30px}
.cb__ask h3{color:#fff;font:600 1.05rem/1.3 var(--sans);margin:0 0 12px}
.cb__ask ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px}
.cb__ask li{display:flex;gap:10px;align-items:flex-start}
.cb__ask li .icon{color:#C9C3BA;margin-top:2px}
.cb__cta{margin:30px 0 0;display:flex;flex-wrap:wrap;gap:12px}
.cb__cta .cbtn{margin:0;padding:12px 22px;font-size:1rem}
@media (max-width:900px){.cv__body{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "card" "text";row-gap:26px}.cv__card{margin-top:0}.cr__tiles,.cb__ask ul{grid-template-columns:minmax(0,1fr)}
  .ctile{grid-template-columns:52px minmax(0,1fr);column-gap:16px;row-gap:2px;padding:18px}.ctile__ic{grid-row:span 3;margin:0}}
@media (max-width:700px){.cv__photo{height:auto;min-height:0;aspect-ratio:4/3}.cv__text .ab-text p{text-align:left;hyphens:manual}.cb__aud{grid-template-columns:minmax(0,1fr)}.cv__body{padding-top:28px}}

/* Incense product panel: four-column strip and highlights (productblock.html, data from export panel_for) */
.pblock__legacy{margin:4px 0 0;font-size:.85rem;color:var(--muted)}
.pstrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0 0;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.pstrip__c{padding:10px 4px;border-left:1px solid var(--line);min-width:0;text-align:center}
.pstrip__c:first-child{border-left:0}
.pstrip dt{margin:0 0 4px;font:500 .6rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);opacity:.7}
.pstrip dd{margin:0;font:500 1rem/1.3 var(--sans);color:var(--ink);overflow-wrap:anywhere}
.pstrip dd span{display:block;margin-top:2px;font-size:.78rem;font-weight:400;color:var(--muted)}
.phl{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.phl li{font-size:.92rem;color:var(--ink)}
.phl li::before{content:"\2726";margin-right:6px;color:var(--gold)}
.pblock__sku{container-type:inline-size}
@container (max-width:400px){.pstrip{grid-template-columns:repeat(2,minmax(0,1fr))}.pstrip__c:nth-child(3){border-left:0}.pstrip__c:nth-child(n+3){border-top:1px solid var(--line)}}   /* 2 x 2 when the panel is narrow, so values stay on one line */
.pblock:has(.pstrip) .pblock__title{font-size:clamp(1.45rem,2.4vw,1.95rem)}   /* incense: the longer "<fragrance> <form>" heading, a step smaller */
.pstrip dd{font-size:.95rem;letter-spacing:-.005em}

/* FAQ page (layouts/_default/faq.html) */
.faq{max-width:820px;padding-bottom:64px}
.faq__sec{scroll-margin-top:90px;margin-top:34px}
.faq__sec h2{font-size:clamp(1.5rem,2.6vw,1.9rem);margin:0 0 8px}
.faq__q{border-bottom:1px solid var(--line);scroll-margin-top:90px}
.faq__q summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:16px 0;font:600 1.06rem/1.4 var(--sans);color:var(--ink)}
.faq__q summary::-webkit-details-marker{display:none}
.faq__q summary::after{content:"+";font:400 1.5rem/1 var(--sans);color:var(--muted);transition:transform .2s}
.faq__q[open] summary::after{transform:rotate(45deg)}
.faq__a{padding:0 0 18px;max-width:68ch}
.faq__a p{margin:0 0 .8em}.faq__a ul{margin:0 0 .8em;padding-left:1.2em}.faq__a li{margin:0 0 .35em}
/* burn-time note (footer.html), opened from the (i) in the incense strip */
.pstrip__info{all:unset;cursor:pointer;display:inline-grid;place-items:center;margin-left:4px;vertical-align:-2px;color:var(--muted)}
.pstrip__info .icon{width:12px;height:12px}
.pstrip__info:focus-visible{outline:2px solid var(--gold);border-radius:50%}
.note-pop{max-width:min(360px,calc(100vw - 32px));margin:auto;padding:20px 22px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);box-shadow:0 18px 50px rgba(0,0,0,.18);font-size:.95rem;line-height:1.55}
.note-pop::backdrop{background:rgba(0,0,0,.25)}
.note-pop p{margin:0 0 .7em}.note-pop p:last-of-type{margin:0}
.note-pop__h{font:600 1rem/1.3 var(--sans)}
.note-pop__x{position:absolute;top:8px;right:10px;border:0;background:none;font-size:1.4rem;line-height:1;color:var(--muted);cursor:pointer}

/* product page top: tighter space between banner and panels; old-name jump links folded away (product/single.html) */
.banner + .wrap .prose--lede{margin-top:10px}
.banner__text{padding-top:16px}
.legjump{margin-top:14px;margin-bottom:6px;text-align:center}
.legjump summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;font-size:.88rem;color:var(--muted);padding:4px 10px;border-radius:999px}
.legjump summary::-webkit-details-marker{display:none}
.legjump summary::after{content:"\25BE";font-size:.8em;transition:transform .2s}
.legjump[open] summary::after{transform:rotate(180deg)}
.legjump summary:hover{color:var(--ink)}
.legjump__row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px}
.legjump__row a{text-decoration:none;color:var(--t-deep);border:1px solid var(--t-accent);border-radius:999px;padding:5px 14px;font-size:.88rem;background:#fff}
.legjump__row a:hover{background:var(--t-soft)}
.legjump + .pblocks{margin-top:18px}
/* incense panel description: three lines, then 'Show more' (product.js) */
.pblock__desc.is-clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.banner + .wrap .prose--lede{padding-bottom:0}.banner + .wrap .prose--lede .also-in{margin-bottom:0}

/* incense panel: SKU and earlier name under the heading; 3 or 4 strip columns; Show more on the last line; price row on phones */
.pblock__meta{margin:6px 0 0;font-size:.82rem;letter-spacing:.02em;color:var(--muted)}
.pblock__old{margin-left:2px}
.pstrip--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@container (max-width:400px){.pstrip--3{grid-template-columns:repeat(3,minmax(0,1fr))}.pstrip--3 .pstrip__c:nth-child(3){border-left:1px solid var(--line)}.pstrip--3 .pstrip__c:nth-child(n+3){border-top:0}}
.pblock__desc{position:relative}
.pblock__more{all:unset;cursor:pointer;font-size:.88rem;color:var(--t-deep);text-decoration:underline;text-underline-offset:3px;margin-left:4px}
.pblock__desc.is-clamped .pblock__more{position:absolute;right:0;bottom:0;margin:0;padding-left:3.2em;background:linear-gradient(to right,rgba(255,255,255,0),var(--card,#fff) 2.6em)}
.legjump--left{text-align:left;margin:0 0 14px}.legjump--left .legjump__row{justify-content:flex-start}
@media (max-width:640px){
  .pblock__sku .buy{display:grid;grid-template-columns:minmax(0,1fr);gap:4px 12px;align-items:center}
  .pblock__sku .buy__price{display:inline}
  .pblock__sku .buy__unit{order:0;margin:0;flex-basis:auto}
  .pblock__sku .buy__form{flex-wrap:nowrap;width:100%;margin-top:10px}
  .pblock__sku .buy__form .buy__cart{flex:1 1 auto;width:auto;padding:11px 16px}
  .pblock__sku .buy > .buy__cart{width:100%;margin-top:10px}
}
.pstrip--3{grid-template-columns:repeat(3,auto)}   /* columns size to their words (Wooden stand, Cellophane pack) so values stay on one line */
@container (max-width:400px){.pstrip--3{grid-template-columns:repeat(3,auto)}}
.pstrip{width:100%;justify-content:stretch}
.ocard__old{opacity:.75}

/* incense product card: the panel in small (optcard.html with a strip) */
.ocard__line{margin:0 0 2px;font:700 .68rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--t-deep);opacity:.8}
.ocard__meta{margin:0;font-size:.76rem;color:var(--muted);letter-spacing:.02em}
.ocard__strip{margin:8px 0 4px}
.ocard__strip .pstrip__c{padding:7px 4px}
.ocard__strip dt{font-size:.56rem;margin-bottom:2px}
.ocard__strip dd{font-size:.88rem}
@media (max-width:640px){
  .ocard .ocard__line{order:0;flex-basis:100%;margin:0}
  .ocard .ocard__meta{order:2;flex-basis:100%}
  .ocard .ocard__strip{order:3;flex-basis:100%;margin:6px 0 0}
  .ocard .ocard__specs{order:4}
}
@media (max-width:640px){.ocard__img.is-empty{aspect-ratio:4/1}.ocard__img.is-empty .ocard__ph{flex-direction:row;gap:10px}.ocard__img.is-empty .ocard__ph img{width:28px;height:28px}}   /* phones: a card without a photo takes a thin band, not a full photo box */

/* search page: fragrance tiles, then product cards (layouts/search/list.html) */
.sfr{margin:8px 0 26px}
.sfr__h{font-size:1.25rem;margin:18px 0 12px}
.scards{margin-bottom:48px}
.scards .ocard[hidden]{display:none}

/* search drop-down: Fragrances / Products groups; price on product rows */
.sres{grid-template-columns:56px minmax(0,1fr) auto}
.sres__t,.sres__h{grid-column:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sres__p{grid-column:3;grid-row:1/3;font-weight:600;font-size:.92rem;color:var(--ink);padding-left:8px}
.sres--frag img{border-radius:50%;width:40px;height:40px;margin-left:8px}
.sres__group{margin:8px 6px 2px;font:600 .66rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.sres__group:first-child{margin-top:2px}
