@font-face{font-family:"Parisienne";src:url("assets/Parisienne-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"EB Garamond";src:url("assets/EBGaramond-400.woff2") format("woff2");font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:"EB Garamond";src:url("assets/EBGaramond-400i.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}

:root{
  --cream:#FDFCF9; --gold:#E8D7B8; --brown:#7A5C43; --brown-deep:#5E4532;
  --blush:#EFDDE3; --blush-soft:#F8EEF1; --olive:#B3BFA6; --olive-deep:#5F6B52;
  --ink:#1E1E1E; --mist:#C4CDD7;
  --script:"Parisienne","Snell Roundhand",cursive;
  --serif:"EB Garamond","Cormorant Garamond",Georgia,"Times New Roman",serif;
  --heb:"Frank Ruehl CLM","SBL Hebrew","Times New Roman",serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--serif);font-size:1.1875rem;line-height:1.65;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--brown-deep)}
:focus-visible{outline:2px solid var(--brown);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:var(--brown);color:#fff;padding:.5rem 1rem;z-index:10}
.skip:focus{left:1rem;top:1rem}

.strip{background:var(--blush-soft);color:var(--brown-deep);text-align:center;font-size:.85rem;letter-spacing:.08em;padding:.35rem 1rem;font-style:italic}

.top{max-width:1080px;margin:0 auto;padding:.75rem 1.25rem 0;display:flex;flex-direction:column;align-items:center;position:relative}
.bsd{position:absolute;right:1.25rem;top:.5rem;margin:0;font-family:var(--heb);font-size:.95rem;color:var(--brown)}
.brand{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--brown);margin-top:.9rem}
.brand img{width:46px;height:auto}
.brand span{font-family:var(--script);font-size:2rem;line-height:1.2;margin-top:.15rem}
nav{display:flex;gap:1.4rem;flex-wrap:wrap;justify-content:center;margin:.6rem 0 0;padding:.5rem 0;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);width:100%;max-width:520px}
nav a{text-decoration:none;color:var(--brown);font-size:.95rem;letter-spacing:.06em;padding:.2rem .1rem}
nav a:hover{color:var(--ink)}

h1,h2,h3{font-family:var(--script);font-weight:400;color:var(--brown);line-height:1.15;margin:0}
h1{font-size:clamp(2.6rem,9vw,4.2rem)}
h2{font-size:clamp(2.3rem,7.5vw,3.2rem);text-align:center;margin-bottom:.4rem}
h3{font-size:2.1rem}
p{margin:0 0 .9rem}
section{padding:3rem 1.5rem;max-width:1080px;margin:0 auto}
.lead{text-align:center;color:var(--brown-deep);font-style:italic;margin-bottom:2rem}
.quiet{color:var(--brown-deep);font-style:italic}

.hero{display:grid;gap:2rem;align-items:center;padding-top:2.25rem}
.hero-text{text-align:center}
.sub{font-style:italic;color:var(--brown-deep);max-width:30ch;margin:.9rem auto 1.6rem;font-size:1.15rem}
.hero-photo{margin:0;max-width:440px;justify-self:center}
.hero-photo img{border-radius:220px 220px 14px 14px;box-shadow:0 18px 40px -24px rgba(94,69,50,.45)}

.btn{display:inline-block;background:var(--olive);color:var(--ink);text-decoration:none;font-family:var(--serif);font-size:1.05rem;letter-spacing:.08em;padding:.8rem 2rem;border-radius:999px;border:1px solid #9FAD90;cursor:pointer;transition:background .2s}
.btn:hover{background:#A4B195}

.calm{text-align:center;max-width:560px;font-size:1.3rem;line-height:1.7;color:var(--brown-deep)}
.calm p{margin-bottom:1.1rem}

.about,.thanks{text-align:center;max-width:620px}
.sprig{width:56px;margin:0 auto 1rem;opacity:.9}
.about>p{max-width:40ch;margin-left:auto;margin-right:auto}
h1,h2,.calm p,.about>p,.contact p,.thanks p,.words p,.lead,.sub{text-wrap:balance}

details.more{max-width:620px;margin:0 auto;border-top:1px solid var(--gold);text-align:left}
details.more:last-of-type{border-bottom:1px solid var(--gold)}
.about details.more{margin-top:1.75rem;border-bottom:1px solid var(--gold)}
details.more summary{list-style:none;cursor:pointer;padding:1.05rem .25rem;display:flex;justify-content:space-between;align-items:center;color:var(--brown);font-size:1.2rem;letter-spacing:.03em}
details.more summary::-webkit-details-marker{display:none}
details.more summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--brown);transition:transform .25s}
details.more[open] summary::after{transform:rotate(45deg)}
.more-body{padding:.2rem .25rem 1.4rem;color:#2A2622}
.script-line{font-family:var(--script);font-size:1.7rem;color:var(--brown);line-height:1.35;text-align:center;margin-top:1.2rem}
.uses{margin:0 0 1rem;padding-left:1.2rem}
.uses li{margin:.2rem 0}
.uses li::marker{color:var(--olive-deep)}

.shop{background:linear-gradient(var(--blush-soft),var(--cream));max-width:none}
.shop>*{max-width:1000px;margin-left:auto;margin-right:auto}
.product.featured{display:grid;gap:1.5rem;background:var(--cream);border:1px solid var(--blush);border-radius:18px;padding:1.25rem;box-shadow:0 10px 30px -22px rgba(94,69,50,.35)}
.product.featured img{border-radius:12px;width:100%}
.product-text{padding:.25rem .25rem .5rem}
.tag{font-style:italic;color:var(--brown-deep);font-size:1.2rem;margin-top:.3rem}
.facts{list-style:none;padding:0;margin:1.1rem 0 1.4rem;font-size:1rem;border-top:1px solid var(--blush)}
.facts li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--blush)}
.facts li>span:first-child{letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;color:var(--brown-deep)}
.facts .ph{white-space:nowrap}
.note{font-size:.95rem;color:#5b534c;font-style:italic;margin-top:1.25rem}
.order-note{margin-top:1rem;padding:1rem 1.1rem;background:var(--blush-soft);border-radius:12px;font-size:1.02rem}
.order-note p:last-child{margin:0}

.soon-grid{display:grid;gap:1rem;margin-top:1.25rem}
.product.soon{border:1px solid var(--gold);border-radius:16px;padding:1.4rem 1.25rem 1rem;background:rgba(253,252,249,.7);text-align:center}
.product.soon h3{font-size:1.9rem}
.oos{display:inline-block;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--olive-deep);border:1px solid var(--olive);border-radius:999px;padding:.15rem .8rem;margin-bottom:.7rem}
.kind{font-size:.95rem;letter-spacing:.06em;color:var(--brown-deep);margin-bottom:.7rem}
.product.soon p:last-child{color:#3a332d}

.learn .lead{font-style:normal;font-size:1.2rem}

.words,.contact{text-align:center;max-width:620px}
.ph{font-family:var(--serif);font-style:italic;font-size:.9em;color:#6E6A60;background:rgba(196,205,215,.25);border:1px dashed var(--mist);border-radius:6px;padding:.05rem .4rem;white-space:normal}
.ph.block{display:inline-block;padding:.6rem 1rem;margin-top:.5rem}

.thanks{padding-bottom:2.5rem}
.sign{margin-top:1.6rem;font-style:italic;color:var(--brown-deep)}
.sign span{display:block;font-family:var(--script);font-style:normal;font-size:1.9rem;color:var(--brown);margin-top:.2rem}

footer{text-align:center;padding:2rem 1.5rem 2.75rem;border-top:1px solid var(--gold);background:var(--blush-soft);color:var(--brown-deep);font-size:.95rem}
footer p{margin:.25rem 0}
.bsy{font-style:italic;letter-spacing:.04em}
.heb{font-family:var(--heb);font-size:1.1rem}

.page{min-height:60vh;padding-top:3rem}
.page h1{margin-bottom:1rem}

@media (min-width:760px){
  .hero{grid-template-columns:1.05fr 1fr;gap:3.5rem;padding-top:3.5rem}
  .hero-text{text-align:left}
  .sub{margin-left:0}
  .product.featured{grid-template-columns:1fr 1.1fr;align-items:center;padding:1.75rem;gap:2.25rem}
  .soon-grid{grid-template-columns:1fr 1fr}
  section{padding:5rem 2rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.order-note[hidden]{display:none}

/* forms (Write to Us, order) */
.gform{display:flex;flex-direction:column;gap:.85rem;text-align:left;margin:1.1rem auto 0;max-width:520px}
.gform label{display:flex;flex-direction:column;gap:.3rem;font-size:1rem;color:var(--brown-deep);letter-spacing:.02em}
.gform .opt{font-style:italic;color:#6E6A60;font-size:.9em}
.gform input,.gform textarea,.gform select{font:inherit;font-size:1.05rem;color:var(--ink);background:#fff;border:1px solid var(--gold);border-radius:10px;padding:.6rem .75rem;width:100%}
.gform textarea{resize:vertical;min-height:3.2rem}
.gform input:focus,.gform textarea:focus,.gform select:focus{outline:2px solid var(--olive);outline-offset:1px;border-color:var(--olive)}
.gform fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}
.gform legend{font-size:1rem;color:var(--brown-deep);margin-bottom:.3rem;padding:0}
.gform label.inline{flex-direction:row;align-items:center;gap:.55rem;font-size:1.02rem;color:var(--ink)}
.gform label.inline input{width:auto;margin:0;accent-color:var(--olive-deep)}
.gform .btn{align-self:center;margin-top:.35rem}
.gform .btn[disabled]{opacity:.6;cursor:default}
.gform .hp{position:absolute;left:-5000px;width:1px;height:1px;opacity:0}
.gform [hidden]{display:none}
.form-intro{font-size:1rem;margin:0}
.form-msg{margin:0;text-align:center;font-size:1rem;min-height:1.2em}
.form-msg.done{color:var(--olive-deep);font-style:italic}
.form-msg.err{color:#9A3B2A}
.order-note .gform{margin-top:.25rem}


/* bundle checkout picker (Stripe Payment Links) */
.order-pick{margin-top:1rem;padding:1rem 1.1rem;background:var(--blush-soft);border-radius:12px;font-size:1.02rem;text-align:center}
.order-pick[hidden]{display:none}
.pick-intro{margin:0 0 .8rem}
.bundle-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.bundle-link{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;background:var(--cream);color:var(--ink);text-decoration:none;font-family:var(--serif);font-size:1.05rem;padding:.7rem 1rem;border:1px solid var(--gold);border-radius:999px;transition:background .2s}
.bundle-link span{color:var(--brown-deep)}
.bundle-link:hover{background:#F5EBDA}
.pick-small{margin:.8rem 0 0;font-size:.92rem}
.pick-small a{color:var(--brown-deep)}

/* policy pages, footer links */
.words[hidden]{display:none}
.strip-note{font-style:normal;letter-spacing:.02em}
footer a{color:var(--brown-deep)}
.foot-links a{display:inline-block;padding:.35rem .4rem}
.draft-banner{max-width:680px;margin:1.25rem auto 0;padding:.6rem 1rem;border:1px dashed var(--mist);border-radius:10px;background:rgba(196,205,215,.25);text-align:center;font-style:italic;color:#6E6A60}
.policy{max-width:680px;margin:0 auto;padding:1.5rem 1.5rem 3rem}
.policy h1{text-align:center}
.policy h2{margin-top:1.8rem;font-family:var(--serif);font-weight:600;font-size:1.2rem;color:var(--brown-deep);letter-spacing:.02em}
.policy p,.policy li{line-height:1.6}
.policy .back{text-align:center;margin-top:2.25rem}
.policy-top{text-align:center;padding:1rem 1rem 0}
.policy-top a{color:var(--brown);text-decoration:none;font-family:var(--serif);letter-spacing:.05em}

/* section labels */
.draft-tag{display:inline-block;font-style:italic;font-size:.82rem;letter-spacing:.04em;color:#6E6A60;background:rgba(196,205,215,.25);border:1px dashed var(--mist);border-radius:6px;padding:.1rem .55rem;margin:0 auto .9rem}
.about.why{padding-top:1rem}
.for{max-width:620px;text-align:center}
.for>p{max-width:42ch;margin-left:auto;margin-right:auto}
.for .uses{display:inline-block;text-align:left;margin:.4rem auto 1.2rem}

.for .uses-head{margin:1.6rem auto .2rem;font-family:var(--serif);font-size:1.1rem;letter-spacing:.06em;color:var(--brown)}


/* ===== Shop-like layout (Oct 25, 8:42 PM): same colours, fonts, photos and words ===== */
.top{position:sticky;top:0;z-index:20;max-width:none;margin:0;padding:0;display:block;background:rgba(253,252,249,.94);-webkit-backdrop-filter:saturate(1.2) blur(8px);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--gold)}
.top-in{max-width:1080px;margin:0 auto;padding:.55rem 1.1rem .45rem;display:flex;flex-direction:column;align-items:center;gap:.25rem}
.top .brand{flex-direction:row;gap:.5rem;margin:0}
.top .brand img{width:26px}
.top .brand span{font-size:1.6rem;margin:0;line-height:1.1}
.top nav{border:0;margin:0;padding:0;gap:1rem;max-width:none;width:auto}
.top nav{flex-wrap:nowrap}
.top nav a{font-size:.74rem;letter-spacing:.11em;text-transform:uppercase;color:var(--brown-deep);white-space:nowrap}
section[id],div[id="story"]{scroll-margin-top:96px}

.band{background:var(--blush-soft);box-shadow:0 0 0 100vmax var(--blush-soft);clip-path:inset(0 -100vmax)}
.shop.band{background:var(--blush-soft)}
section{padding:3.5rem 1.4rem}
h2{margin-bottom:1.6rem}

.hero{padding-top:2rem;padding-bottom:2.5rem}
.hero-photo{max-width:250px}

.product.featured{border-radius:18px;padding:1rem;gap:1.25rem}
.product-text{padding:.25rem .4rem .5rem}
.eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brown-deep);margin:0 0 .35rem}
.price{font-size:1.6rem;color:var(--brown-deep);margin:.35rem 0 .2rem;letter-spacing:.02em}
.buy-box{margin-top:.25rem}
.pick-intro{font-size:1.05rem;color:var(--brown-deep);margin:0 0 .65rem}
.pick-intro span{font-size:.92rem;font-style:italic;color:#5b534c}
.qty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem}
.qty{font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1px solid var(--gold);border-radius:12px;padding:.55rem .3rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;line-height:1.25;transition:border-color .15s,background .15s}
.qty span{font-size:.88rem;color:var(--brown-deep)}
.qty:hover{border-color:var(--brown)}
.qty[aria-checked="true"]{border:1.5px solid var(--brown-deep);background:var(--blush-soft)}
.bundle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1rem}
.bundle-link{display:block;text-align:center;border:1px solid var(--gold);border-radius:12px;padding:.5rem;text-decoration:none;background:#fff}
.btn{padding:.85rem 2.1rem}
.btn-buy{display:block;width:100%;text-align:center;background:var(--brown);border-color:var(--brown);color:var(--cream);font-size:1.1rem;padding:1rem 1.5rem}
.btn-buy:hover{background:var(--brown-deep)}
.buy-notes{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.45rem;font-size:.98rem;color:var(--brown-deep)}
.buy-notes li{display:flex;align-items:center;gap:.55rem}
.ico{width:20px;height:20px;flex:none;fill:none;stroke:var(--brown);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.note{margin-top:1rem}

.story{max-width:34rem;margin:2rem auto 0;text-align:left;border-top:1px solid var(--gold);padding-top:1.75rem;color:#2A2622}
.story .draft-tag{text-align:center}
.calm{padding-top:3.5rem;padding-bottom:1rem}
.learn details.more{background:var(--cream);padding:0 1rem;border:1px solid var(--blush);border-radius:14px;margin-bottom:.6rem}
.learn details.more:last-of-type{border-bottom:1px solid var(--blush)}
.contact .gform{background:#fff;border:1px solid var(--blush);border-radius:16px;padding:1.25rem}

@media (min-width:760px){
  .top-in{flex-direction:row;justify-content:space-between;padding:.7rem 2rem}
  .top .brand span{font-size:1.85rem}
  .top .brand img{width:30px}
  .top nav{gap:2rem}
  .top nav a{font-size:.8rem;letter-spacing:.14em}
  section{padding:5rem 2rem}
  .hero{padding-top:3rem;padding-bottom:3.5rem}
  .hero-photo{max-width:420px}
  .product.featured{grid-template-columns:1.05fr 1fr;align-items:start;padding:1.75rem;gap:2.5rem}
  .product.featured img{position:sticky;top:110px}
  .qty-grid{grid-template-columns:repeat(6,1fr)}
  section[id],div[id="story"]{scroll-margin-top:80px}
}

/* ===== Oct 25 9:36 PM (LA): even spacing + even left edge. Design only, no words changed. ===== */
/* Rhythm: plain sections 18px top/bottom on phone (36px between), 24px on desktop (48px between).
   Tinted bands get a little more inside room so text never touches the colour edge. */
section{padding:1.125rem 1.4rem}
section.band{padding-top:1.5rem;padding-bottom:1.5rem}
.hero{padding-top:1.5rem;padding-bottom:1.25rem}
.calm{padding-top:1.125rem;padding-bottom:1.125rem}
.about.why{padding-top:1.5rem}
.thanks{padding-bottom:2rem}
h2{margin-bottom:1rem}
.lead{margin-bottom:1.1rem}
.story{margin-top:1.25rem;padding-top:1.25rem}
.about details.more{margin-top:1.25rem}
.for .uses-head{margin:1.1rem 0 .2rem}
.for .uses{margin:.3rem 0 .9rem}
.sign{margin-top:1.1rem}
.sprig{margin-bottom:.6rem}
.script-line{margin-top:.9rem}
.soon-grid{margin-top:1rem}

/* One readable column (about 60-70 characters), every paragraph on an even left edge. */
.calm,.about,.thanks,.contact,.words,.for{max-width:calc(36rem + 2.8rem)}
.calm p,.about>p,.about .story p,.thanks p,.contact>p,.for>p,.lead,.script-line,.sign,.product.soon,.product.soon p{
  text-align:left;max-width:none;margin-left:0;margin-right:0;text-wrap:pretty}
.calm{font-size:1.25rem}
.calm p{margin-bottom:.8rem}
.learn .lead{max-width:36rem;margin-left:auto;margin-right:auto}
.for .uses{display:block;padding-left:1.2rem}
.for .uses-head{text-align:left}
/* Every block in a section shares the same left edge as its paragraphs. */
.story{max-width:none}
.learn details.more{max-width:36rem}
.contact .gform{max-width:none}
/* Headings stay centred and on one line ("What We Are Doing Here" no longer breaks). */
h2{white-space:nowrap;font-size:clamp(1.75rem,7.2vw,3rem)}
@media (max-width:359px){h2{white-space:normal}}
.about>p.draft-tag,.story p.draft-tag,.for>p.draft-tag,.draft-tag{display:table;margin-left:auto;margin-right:auto}
.sprig{margin-left:auto;margin-right:auto}

@media (min-width:760px){
  section{padding:1.5rem 2rem}
  section.band{padding-top:2rem;padding-bottom:2rem}
  .hero{padding-top:2.25rem;padding-bottom:1.75rem}
  .calm{padding-top:1.5rem;padding-bottom:1.5rem}
  .about.why{padding-top:2rem}
  .thanks{padding-bottom:2.5rem}
  h2{margin-bottom:1.25rem}
  .calm,.about,.thanks,.contact,.words,.for{max-width:calc(36rem + 4rem)}
}

/* LA 10:45 PM Oct 25: thank-you page centered */
.thanks.page,.thanks.page h1,.thanks.page p{text-align:center!important;margin-left:auto!important;margin-right:auto!important}
.thanks.page .sprig{display:block;margin-left:auto!important;margin-right:auto!important}

/* LA 10:46 PM Oct 25: calm block — one left edge, centered on page */
.calm .calm-box{display:block;width:max-content;max-width:100%;margin-left:auto!important;margin-right:auto!important;text-align:left!important}
.calm .calm-box p{text-align:left!important;margin-left:0!important;margin-right:0!important;max-width:none!important}

/* LA 10:47 PM Oct 25: thanks sign-off — one left edge, centered on page */
.thanks .thanks-box{display:block;width:max-content;max-width:100%;margin-left:auto!important;margin-right:auto!important;text-align:left!important}
.thanks .thanks-box p,.thanks .thanks-box .sign{text-align:left!important;margin-left:0!important;margin-right:0!important;max-width:none!important}

/* LA 10:50 PM Oct 25: approved B — calm block + thanks sign-off fully centered */
.calm .calm-box,.calm .calm-box p,.thanks .thanks-box,.thanks .thanks-box p,.thanks .thanks-box .sign{text-align:center!important;width:auto!important;margin-left:auto!important;margin-right:auto!important}

/* LA 10:51-10:52 PM Oct 25: coherence pass. Design only, no words changed. */
/* Short script sign-off lines match the approved fully-centered closing blocks. */
.script-line{text-align:center!important;margin-left:auto!important;margin-right:auto!important;text-wrap:balance}
/* Policy pages: headings wrap instead of clipping; even gaps between parts (36px phone / 48px desktop). */
.policy h2{white-space:normal;text-wrap:balance;margin-top:1.35rem}
.policy p:has(> a.btn:only-child){text-align:center}
.draft-banner{width:calc(100% - 2.5rem);box-sizing:border-box}
@media (min-width:760px){.policy h2{margin-top:2.1rem}}
