:root{--ink:#251b24;--plum:#542442;--pink:#f1c2d2;--paper:#fbf8f4;--line:#ded6d7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 Arial,sans-serif}a{color:inherit}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}.announcement{background:var(--plum);color:white;text-align:center;padding:9px;font-size:10px;letter-spacing:2px}header{display:flex;justify-content:space-between;align-items:center;padding:20px 6%;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:5}.wordmark{font:36px/1 Georgia,serif;letter-spacing:6px;text-decoration:none}.wordmark span{display:block;font:8px/2.5 Arial;letter-spacing:3px}nav{display:flex;gap:28px}nav a{text-decoration:none;font-size:13px}button{border:1px solid var(--line);background:transparent;padding:10px 16px;border-radius:2px}#count{background:var(--plum);color:white;border-radius:100%;padding:3px 7px;margin-left:8px}.hero{padding:65px 6%;display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;min-height:650px}.eyebrow{font-size:10px;font-weight:bold;letter-spacing:2px}h1{font:clamp(48px,5.9vw,88px)/1.02 Georgia,serif;letter-spacing:-3px;margin:28px 0}em{font-weight:normal;color:var(--plum)}.intro{max-width:450px;font-size:16px;color:#655760}.button{display:inline-block;background:var(--plum);color:white;border:0;text-decoration:none;padding:16px 25px;margin-top:20px}.hours{font-size:11px;margin-top:25px}.hero-art{position:relative;background:#ead1d9;border-radius:48% 48% 2px 2px;min-height:440px;display:flex;align-items:center;overflow:hidden}.hero-art img{width:100%;height:460px;object-fit:contain}.stamp{position:absolute;bottom:14px;right:14px;border-radius:50%;background:var(--plum);color:white;width:106px;height:106px;display:grid;align-content:center;text-align:center;transform:rotate(9deg);font-size:10px;letter-spacing:1px}.ticker{border-block:1px solid var(--line);display:flex;justify-content:space-around;padding:22px;font:20px Georgia}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.section-head p{font-size:13px}section#shop,.faq{padding:75px 6%}h2{font:44px/1.13 Georgia;letter-spacing:-1px;margin:12px 0 20px}.controls{display:flex;gap:18px}label{display:flex;flex-direction:column;gap:6px;font-size:11px;letter-spacing:.3px}.search{flex:1}input,select{background:white;color:var(--ink);border:1px solid var(--line);padding:12px;min-width:0;border-radius:0}#results{font-size:12px;color:#70616a;margin:22px 0}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px 22px}.card{min-width:0}.product-img{background:#eee7e4;aspect-ratio:1;overflow:hidden;position:relative}.product-img img{width:100%;height:100%;object-fit:contain;background:white;transition:transform .3s}.card:hover img{transform:scale(1.04)}.badge{position:absolute;left:10px;top:10px;background:var(--paper);padding:3px 8px;font-size:9px;letter-spacing:1px}.card h3{font-size:14px;line-height:1.4;margin:15px 0 7px;font-weight:500;min-height:40px}.card p{font-size:12px;color:#6b5e67}.price{font-size:17px;font-weight:bold}.card select{width:100%;font-size:12px;margin-top:10px}.card button{width:100%;margin-top:12px;border-color:var(--plum);color:var(--plum)}.card button:hover{background:var(--plum);color:white}.delivery{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:70px 8%;background:var(--plum);color:var(--paper)}.delivery p{color:#e2cbd7;font-size:14px}.steps article{display:flex;gap:24px;border-bottom:1px solid #86657a;padding:18px 0}.steps b{color:var(--pink);font:32px Georgia}.steps h3{margin:0;font-size:17px}.steps p{margin:7px 0}.about{text-align:center;padding:90px 18%;background:#f1e5e8}.about p:not(.eyebrow){max-width:680px;margin:25px auto}.about a{display:inline-block;margin-top:15px}.faq{max-width:1000px;margin:auto}.faq h2{margin-bottom:35px}details{border-top:1px solid var(--line);padding:20px 0}summary{cursor:pointer}details p{font-size:14px;color:#655760}footer{padding:45px 6%;border-top:1px solid var(--line);display:flex;gap:20px;align-items:center;flex-wrap:wrap}footer p{flex:1;font-size:12px}footer>a:not(.wordmark){font-size:12px}small{display:block;width:100%;font-size:10px}dialog{border:0;padding:28px;width:min(520px,95%);max-height:90vh;box-shadow:0 20px 90px #251b2450}dialog::backdrop{background:#251b2480}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{font-size:30px}.dialog-head button{border:0}.cart-row{border-bottom:1px solid var(--line);padding:17px 0;display:flex;align-items:center;gap:12px}.cart-row div{flex:1}.cart-row h3{font-size:13px;line-height:1.4;margin:0}.cart-row p{font-size:12px;margin:5px 0}.cart-row button{padding:3px 10px}.total{display:flex;justify-content:space-between}.fine{font-size:12px;color:#6b5e67}dialog label{margin-top:15px}dialog .button{width:100%}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--plum);color:white;padding:12px 24px;display:none;z-index:20}@media(max-width:800px){nav{display:none}.hero{grid-template-columns:1fr;padding:35px 6%;gap:30px}.hero-art{min-height:280px}.hero-art img{height:310px}h1{font-size:58px}.ticker{gap:15px;font-size:14px;text-align:center}.section-head{display:block}.controls{flex-wrap:wrap}.search{flex-basis:100%}.controls>label:not(.search){flex:1}.grid{grid-template-columns:repeat(2,1fr);gap:28px 14px}.delivery{grid-template-columns:1fr;gap:15px}.about{padding:55px 7%}h2{font-size:35px}section#shop,.faq{padding:45px 6%}footer{display:block}footer>*{margin-bottom:20px}header{padding:15px 6%}.wordmark{font-size:29px}}

.setup-notice{padding:12px 6%;background:#f5e8c5;font-size:12px}.setup-notice a{font-weight:bold}#test-checkout{width:100%;margin-top:12px}
/* Keep the complete bag usable inside Safari's changing phone viewport. */
#cart{position:fixed;inset:0;margin:auto;width:min(520px,calc(100vw - 24px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:20px 20px max(24px,env(safe-area-inset-bottom));scroll-padding-block:76px 24px}
body:has(#cart[open]){overflow:hidden}
#cart .dialog-head{position:sticky;top:-20px;z-index:2;background:#fff;padding:8px 0;border-bottom:1px solid var(--line);gap:12px}
#cart .dialog-head h2{font-size:clamp(24px,6vw,30px);margin:12px 0}
#cart #close{flex:none;min-width:44px;min-height:44px;color:var(--plum)}
#cart input,#cart select{font-size:16px}
#cart .cart-row{gap:8px}#cart .cart-row div{min-width:0}#cart .cart-row button{min-width:34px;min-height:40px;padding:3px 8px}
#cart #cart-message{overflow-wrap:anywhere}
