@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');
.brand-logo{display:block;width:clamp(190px,22vw,260px);height:auto;max-height:66px}.footer-brand .brand-logo{width:230px}
:root{--ink:#173d3c;--teal:#1e5a57;--deep:#123c3a;--mint:#dcebe4;--cream:#fbf5e9;--paper:#fffdf8;--coral:#e96f5b;--gold:#eab45f;--line:#d8dfd8;--shadow:0 18px 50px rgba(17,60,58,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.6}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Fraunces',serif;line-height:1.06;letter-spacing:-.025em}h1{font-size:clamp(2.7rem,6vw,5.8rem)}h2{font-size:clamp(2rem,4vw,3.5rem)}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.7rem;z-index:99}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.site-header{height:88px;max-width:1320px;margin:auto;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:.75rem}.brand-mark{display:grid;place-items:center;width:46px;height:46px;background:var(--coral);color:#fff;border-radius:50% 44% 50% 42%;font-family:'Fraunces';font-weight:700}.brand strong{display:block;font-family:'Fraunces';font-size:1.22rem}.brand small{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:.58rem}.site-header nav{display:flex;align-items:center;gap:2rem;font-weight:600;font-size:.92rem}.site-header nav a:hover{color:var(--coral)}.cart-link{background:var(--deep);color:white!important;padding:.7rem 1rem;border-radius:99px}.cart-link span{display:inline-grid;place-items:center;background:var(--coral);border-radius:50%;width:23px;height:23px;margin-left:.35rem}.menu-toggle{display:none}.notice{max-width:1200px;margin:1rem auto;padding:.8rem 1rem;border-radius:8px}.notice.success{background:#dcf4e3}.notice.error{background:#ffe3df}.hero{min-height:720px;padding:5vw max(5vw,calc((100vw - 1320px)/2));display:grid;grid-template-columns:.85fr 1.15fr;gap:5vw;align-items:center;background:linear-gradient(112deg,var(--cream) 0 60%,var(--mint) 60%)}.hero-copy{max-width:580px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:700;font-size:.72rem;color:var(--coral);display:block;margin-bottom:1.2rem}.hero h1{margin-bottom:1.5rem}.hero h1 em{color:var(--coral);font-weight:600}.hero-copy>p{font-size:1.18rem;max-width:520px}.hero-actions{display:flex;align-items:center;gap:1.5rem;margin:2rem 0}.button{display:inline-flex;justify-content:center;align-items:center;border:0;background:var(--coral);color:#fff;padding:.95rem 1.35rem;border-radius:7px;font-weight:700;cursor:pointer;box-shadow:0 9px 20px rgba(233,111,91,.2)}.button:hover{transform:translateY(-1px);filter:brightness(.96)}.button:disabled{opacity:.5;cursor:not-allowed}.button-light{background:var(--cream);color:var(--ink)}.text-link,.text-button{font-weight:700;text-decoration:underline;text-underline-offset:5px}.text-button{border:0;background:none;cursor:pointer}.trust-row{display:flex;flex-wrap:wrap;gap:1.2rem;font-size:.82rem;font-weight:600}.hero-photo{position:relative;margin:0}.hero-photo img{width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:48% 48% 12px 12px;box-shadow:var(--shadow)}.hero-photo:before{content:'Made locally';position:absolute;z-index:2;right:-22px;top:-25px;width:105px;height:105px;border-radius:50%;background:var(--gold);display:grid;place-items:center;text-align:center;font-family:'Fraunces';transform:rotate(8deg)}.hero-photo figcaption{position:absolute;bottom:18px;left:-25px;background:#fff;padding:.75rem 1rem;border-radius:7px;box-shadow:var(--shadow);font-size:.82rem}.intro{text-align:center;max-width:650px;margin:7rem auto 2.5rem;padding:0 1rem}.intro h2{margin-bottom:.7rem}.product-grid{max-width:1240px;margin:0 auto 7rem;padding:0 2rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.product-card .product-image{position:relative;overflow:hidden;background:var(--mint);aspect-ratio:.82;border-radius:160px 160px 12px 12px;margin-bottom:1rem}.product-card img{width:100%;height:100%;object-fit:cover;transition:.4s}.product-card .product-image span{position:absolute;inset:auto 1rem 1rem;background:#fff;padding:.65rem;text-align:center;border-radius:5px;font-weight:700;transform:translateY(150%);transition:.3s}.product-card a:hover img{transform:scale(1.04)}.product-card a:hover .product-image span{transform:none}.product-card small{text-transform:uppercase;letter-spacing:.12em;color:var(--coral);font-weight:700}.product-card h3{font-family:'Fraunces';font-size:1.3rem;margin:.25rem 0}.product-card p{font-weight:700}.story-band{background:var(--deep);color:white;padding:6vw max(5vw,calc((100vw - 1150px)/2));display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.story-band img{height:520px;width:100%;object-fit:cover;border-radius:8px;transform:rotate(2deg)}.steps{max-width:1100px;margin:7rem auto;padding:0 2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:4rem}.steps b{color:var(--coral);font-family:'Fraunces';font-size:2rem}.steps h3{font-family:'Fraunces';font-size:1.45rem;margin:.5rem 0}.steps>div+div{border-left:1px solid var(--line);padding-left:4rem}footer{background:var(--cream);padding:4rem max(5vw,calc((100vw - 1200px)/2)) 2rem;display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem}footer>div{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}footer p{font-size:.9rem}footer>small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:1rem}.page-head{text-align:center;background:var(--cream);padding:6rem 1.5rem 5rem}.page-head h1{margin-bottom:1rem}.page-head p{max-width:650px;margin:0 auto 1.5rem}.page-head.compact{padding:3.5rem 1rem}.search{max-width:600px;margin:3rem auto;display:flex;padding:0 1rem}.search label{flex:1}.search input{width:100%;padding:.9rem;border:1px solid var(--line);border-radius:7px 0 0 7px}.search button,.coupon button{border:0;background:var(--deep);color:#fff;padding:0 1.2rem;border-radius:0 7px 7px 0}.shop-grid{margin-top:2rem}.product-detail{max-width:1200px;margin:5rem auto 7rem;padding:0 2rem;display:grid;grid-template-columns:1.1fr .9fr;gap:7vw}.main-image{width:100%;aspect-ratio:1;object-fit:cover;background:var(--mint);border-radius:8px}.thumbs{display:flex;gap:.8rem;margin-top:1rem}.thumbs button{border:2px solid transparent;background:none;padding:0;width:80px}.thumbs img{aspect-ratio:1;object-fit:cover}.product-info{padding-top:1rem}.back{display:block;margin-bottom:3rem;font-weight:600}.product-info h1{font-size:clamp(2.8rem,5vw,4.6rem)}.price{font-size:1.6rem;font-weight:700;color:var(--coral)}.description{margin:2rem 0}.product-info form label{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.qty{width:75px;padding:.7rem}.wide{width:100%}.product-notes{list-style:'✓  ';padding-left:1.2rem;border-top:1px solid var(--line);margin-top:2rem;padding-top:1.5rem}.cart-layout,.checkout-layout{max-width:1100px;margin:4rem auto 7rem;padding:0 2rem;display:grid;grid-template-columns:1.5fr .8fr;gap:4rem}.cart-item{display:grid;grid-template-columns:90px 1fr 100px auto;gap:1.2rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line)}.cart-item img{width:90px;height:90px;object-fit:cover;border-radius:7px}.cart-item h3{margin:0}.cart-item p{margin:0}.cart-item input{width:65px}.summary{background:var(--cream);padding:2rem;border-radius:10px;height:max-content}.summary>div{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0}.summary .total{font-size:1.3rem;border-top:1px solid var(--line);margin-top:.5rem}.discount{color:#22815d}.coupon{display:flex;margin:1.5rem 0}.coupon label{flex:1;font-size:.75rem;font-weight:700}.coupon input{display:block;width:100%;padding:.65rem;border:1px solid var(--line);border-radius:5px 0 0 5px}.empty-cart,.success-page{text-align:center;max-width:700px;margin:7rem auto;padding:0 1rem}.success-icon{display:grid;place-items:center;margin:0 auto 1.5rem;width:70px;height:70px;background:var(--mint);color:var(--teal);font-size:2rem;border-radius:50%}.checkout-form h2{font-size:1.7rem;margin-top:2rem}.field-grid,.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field-grid label,.admin-form label,.login-card label,.coupon-builder label{font-size:.82rem;font-weight:700}.field-grid input,.field-grid textarea,.admin-form input,.admin-form textarea,.login-card input,.coupon-builder input,.coupon-builder select{display:block;width:100%;border:1px solid var(--line);padding:.8rem;border-radius:6px;margin-top:.3rem;background:#fff}.full{grid-column:1/-1}.payment-options{display:grid;gap:.8rem;margin:1rem 0}.pay-choice{display:flex;gap:1rem;border:1px solid var(--line);padding:1rem;border-radius:7px}.pay-choice span,.pay-choice small{display:block}.secure-note{font-size:.78rem;margin-top:1.5rem}.about{max-width:1150px;margin:6rem auto;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;padding:0 2rem}.about img{height:600px;object-fit:cover;border-radius:48% 48% 8px 8px}.login-card{max-width:440px;margin:7rem auto;padding:2.5rem;background:var(--cream);border-radius:10px}.login-card h1{font-size:2.5rem}.login-card label{display:block;margin:1rem 0}.admin-shell{max-width:1250px;margin:3rem auto 7rem;padding:0 2rem;display:grid;grid-template-columns:220px 1fr;gap:4rem}.admin-nav{display:flex;flex-direction:column;gap:.7rem;background:var(--deep);color:#fff;padding:1.5rem;border-radius:9px;height:max-content}.admin-nav h2{font-size:1.3rem}.admin-nav a{padding:.5rem;border-bottom:1px solid #ffffff22}.admin-main h1{font-size:3rem}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat-grid>div{background:var(--cream);padding:1.5rem;border-radius:8px}.stat-grid small,.stat-grid strong{display:block}.stat-grid strong{font-family:'Fraunces';font-size:2.3rem}.admin-hint{margin-top:2rem}.admin-heading{display:flex;justify-content:space-between;align-items:center}.admin-table{margin-top:2rem}.admin-table>div{display:flex;gap:1rem;align-items:center;border-bottom:1px solid var(--line);padding:1rem 0}.admin-table img{width:60px;height:60px;object-fit:cover;border-radius:5px}.admin-table span{flex:1}.admin-table small{display:block}.admin-table a{text-decoration:underline}.admin-form .check{display:flex;align-items:center;gap:.5rem}.admin-form .check input{width:auto}.coupon-builder{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;background:var(--cream);padding:1.5rem}.coupon-builder button{align-self:end}.orders select{padding:.4rem}.empty{grid-column:1/-1;text-align:center}
@media(max-width:850px){.site-header nav{display:none;position:absolute;top:78px;left:1rem;right:1rem;background:#fff;padding:1.5rem;box-shadow:var(--shadow);flex-direction:column}.site-header nav.open{display:flex}.menu-toggle{display:block;background:none;border:1px solid var(--line);padding:.5rem .8rem}.hero{grid-template-columns:1fr;background:var(--cream);padding-top:4rem}.hero-photo{max-width:650px}.product-grid{grid-template-columns:repeat(2,1fr)}.story-band,.product-detail,.about,.cart-layout,.checkout-layout{grid-template-columns:1fr}.story-band img{height:400px}.steps{gap:1.5rem}.steps>div+div{padding-left:1.5rem}.admin-shell{grid-template-columns:1fr}.admin-nav{flex-direction:row;flex-wrap:wrap}.admin-nav h2{width:100%}}
@media(max-width:560px){.site-header{height:76px}.brand small{display:none}.hero{min-height:auto;padding:3rem 1.2rem}.hero-actions{align-items:flex-start;flex-direction:column}.hero-photo:before{right:-5px;width:80px;height:80px;font-size:.8rem}.hero-photo figcaption{left:8px}.product-grid{grid-template-columns:1fr;padding:0 1.2rem}.product-card .product-image{aspect-ratio:1}.story-band{padding:4rem 1.2rem}.steps{grid-template-columns:1fr}.steps>div+div{border-left:0;border-top:1px solid var(--line);padding:1.5rem 0 0}footer{grid-template-columns:1fr}.cart-item{grid-template-columns:65px 1fr auto}.cart-item img{width:65px;height:65px}.cart-item>strong{grid-column:3}.field-grid,.admin-form,.stat-grid,.coupon-builder{grid-template-columns:1fr}.full{grid-column:auto}.page-head{padding:4rem 1rem}.about img{height:400px}}
.category-filter{display:flex;justify-content:center;gap:.65rem;margin:-.5rem auto 1.25rem}.category-filter a{padding:.65rem 1.1rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:700}.category-filter a:hover,.category-filter a.active{background:var(--ink);border-color:var(--ink);color:#fff}
.newsletter-opt-in{display:flex!important;align-items:flex-start;gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:7px;background:var(--cream);cursor:pointer}.newsletter-opt-in input{width:auto!important;margin:.25rem 0 0!important}.newsletter-opt-in span,.newsletter-opt-in small{display:block}.newsletter-opt-in small{font-weight:400;margin-top:.2rem}.settings-note{padding:1rem;background:var(--cream);border-radius:7px}.subscriber-list code{font-family:inherit}
.order-view-link{white-space:nowrap;font-weight:700}.order-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:2rem;margin-top:2rem}.order-detail-grid>section,.order-customer{border:1px solid var(--line);border-radius:10px;padding:1.5rem;background:#fff}.order-detail-grid h2{font-size:1.65rem}.order-item-list>div,.order-totals p{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);margin:0}.order-item-list span,.order-item-list small{display:block}.order-totals{margin-left:auto;max-width:420px;padding-top:1rem}.order-totals .total{font-size:1.2rem;border-bottom:0}.order-customer{background:var(--cream);height:max-content}.order-customer h3{margin:1.5rem 0 .25rem}.order-customer a{text-decoration:underline;text-underline-offset:3px}.order-notes{white-space:normal;overflow-wrap:anywhere}.admin-heading select{display:block;margin-top:.35rem;padding:.55rem;border:1px solid var(--line);border-radius:6px;background:#fff}
@media(max-width:720px){.order-detail-grid{grid-template-columns:1fr}.orders>div{align-items:flex-start;flex-wrap:wrap}.order-view-link{margin-left:auto}}
