:root{--cream:#faf7f0;--paper:#fffdf9;--ink:#302b26;--muted:#786f66;--rose:#b96f65;--rose2:#f2dfd8;--sage:#7d8970;--sage2:#e7eadf;--sand:#eee5d8;--line:#e6ddd1;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.announcement{background:var(--sage);color:#fffdf6;text-align:center;padding:9px 14px;font-size:11px;letter-spacing:.04em}.nav{height:76px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#faf7f0f2;backdrop-filter:blur(10px);z-index:20}.brand{font:500 25px var(--serif);letter-spacing:-.7px;white-space:nowrap}.brand span{display:block;text-align:center;font:10px var(--sans);letter-spacing:.17em;color:var(--muted);margin-top:1px}.links{display:flex;align-items:center;gap:23px;font-size:12px;color:#5f574f}.links a:hover{color:var(--rose)}.navright{display:flex;gap:8px}.navright button{border:1px solid var(--line);background:var(--paper);border-radius:50%;width:36px;height:36px;color:var(--ink)}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1.03fr;align-items:center;gap:5%;padding:54px 6% 62px;max-width:1500px;margin:auto}.eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--rose);font-weight:700}.hero h1{font:500 clamp(43px,5.3vw,72px)/1.06 var(--serif);letter-spacing:-1.8px;margin:18px 0}.hero h1 em{font-weight:500;color:var(--rose)}.hero p{font-size:14px;line-height:1.9;color:var(--muted);max-width:450px}.buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.btn{border:1px solid var(--rose);background:var(--rose);color:white;padding:13px 19px;font-size:12px;display:inline-flex;align-items:center;gap:12px;transition:.2s}.btn:hover{background:#9e5b52}.btn.ghost{background:transparent;color:var(--ink);border-color:#cfc2b5}.btn.ghost:hover{background:#fff}.handnote{font:italic 15px var(--serif);color:var(--sage);margin-top:22px}.heroimage{position:relative}.heroimage img{display:block;width:100%;height:470px;object-fit:cover;border-radius:48% 48% 5px 5px}.floating{position:absolute;left:-24px;bottom:25px;background:var(--sage2);width:125px;height:125px;border-radius:50%;display:grid;place-items:center;text-align:center;padding:16px;font:italic 16px/1.35 var(--serif);transform:rotate(-7deg)}.imagecaption{position:absolute;right:-12px;bottom:14px;background:var(--paper);padding:14px 17px;box-shadow:0 7px 25px #38291a12;font-size:11px}.imagecaption b{display:block;font:500 18px var(--serif);margin-bottom:3px}.promise{display:flex;justify-content:center;gap:clamp(18px,5vw,70px);flex-wrap:wrap;padding:19px 5%;background:#f1eade;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.promise span{font-size:11px;color:#61594f}.promise b{color:var(--rose);font-size:16px;margin-right:7px}.section{padding:72px 6%;max-width:1500px;margin:auto}.head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:27px}.head h2,.story h2,.corporate h2,.custom h2{font:500 clamp(31px,3.5vw,45px)/1.15 var(--serif);letter-spacing:-.7px;margin:8px 0}.sub{font-size:12px;line-height:1.8;color:var(--muted);max-width:390px}.categorygrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.category{border:0;background:transparent;text-align:left;padding:0;color:var(--ink)}.category img{width:100%;height:205px;object-fit:cover;border-radius:46% 46% 4px 4px;display:block;margin-bottom:13px;transition:.3s}.category:hover img{transform:translateY(-4px)}.category strong{font:500 19px var(--serif);display:block}.category small{font-size:11px;color:var(--muted);display:block;margin-top:5px;line-height:1.5}.shop{background:#f2ece2;max-width:none}.shopinner{max-width:1500px;margin:auto}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}.filter{border:1px solid #d5c9bc;border-radius:30px;padding:8px 14px;background:transparent;color:#625950;font-size:11px}.filter.active,.filter:hover{background:var(--sage);border-color:var(--sage);color:white}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product{background:var(--paper);padding-bottom:15px;min-width:0}.pimg{height:235px;position:relative;overflow:hidden;background:var(--sand)}.pimg img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.product:hover img{transform:scale(1.04)}.pill{position:absolute;top:10px;left:10px;background:#fffdf0ed;padding:6px 8px;font-size:9px;letter-spacing:.06em;text-transform:uppercase}.pinfo{padding:13px 14px 0}.ptype{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:var(--rose)}.pinfo h3{font:500 18px var(--serif);margin:6px 0}.desc{font-size:11px;line-height:1.55;color:var(--muted);min-height:34px}.pfoot{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.price{font-weight:700;font-size:13px}.add{border:1px solid var(--line);background:transparent;border-radius:50%;width:31px;height:31px;font-size:20px;color:var(--rose)}.add:hover{background:var(--rose);color:white}.smallprint{font-size:10px;color:var(--muted);margin-top:18px;line-height:1.7}.corporate{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;background:#e6e8dc;padding:60px 6%}.corporate img{width:100%;height:360px;object-fit:cover;border-radius:3px 85px 3px 3px}.corporate p{font-size:13px;line-height:1.9;color:#68685c}.corporate ul{padding-left:18px;color:#5f6257;font-size:12px;line-height:2}.corporate .btn{margin-top:10px}.bakeband{background:var(--rose2);display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;padding:56px 6%}.bakeband img{width:100%;height:330px;object-fit:cover;border-radius:70px 3px 3px 3px}.bakeband p{font-size:13px;line-height:1.9;color:#75635b}.bakechips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.bakechips span{border:1px solid #d9b9af;padding:7px 11px;border-radius:25px;font-size:10px}.story{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.storyvisual{position:relative}.storyvisual img{width:85%;height:400px;object-fit:cover;border-radius:3px 95px 3px 3px}.storytag{position:absolute;right:0;bottom:13px;background:var(--sage);color:white;padding:20px;width:190px}.storytag strong{font:500 25px var(--serif);display:block}.storytag span{font-size:11px;line-height:1.6;display:block;margin-top:7px}.story p{font-size:13px;line-height:1.9;color:var(--muted)}.journey{background:#f0e9de;max-width:none}.journeyinner{max-width:1500px;margin:auto}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:30px}.step{border-top:1px solid #cfc3b6;padding-top:19px}.num{font:italic 29px var(--serif);color:var(--rose)}.step h3{font:500 21px var(--serif);margin:10px 0}.step p{font-size:11px;line-height:1.8;color:var(--muted);max-width:310px}.custom{padding:48px 6%;display:flex;justify-content:space-between;align-items:center;gap:25px;background:var(--sage);color:#fffdf6}.custom .eyebrow{color:#e8d6b8}.custom p{font-size:12px;line-height:1.8;color:#edf0e7;max-width:520px}.custom .btn{background:#fffdf6;color:#536047;border-color:#fffdf6;white-space:nowrap}.footer{background:#302b26;color:#f8f1e7;padding:45px 6% 22px}.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}.footer .brand{font-size:23px}.footer .brand span{color:#cbbfb2}.footer p{font-size:11px;line-height:1.8;color:#c9bdb0;max-width:290px}.footer h4{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#dca69c}.footer a{display:block;font-size:11px;color:#d9cfc3;margin:11px 0}.bottom{border-top:1px solid #51473f;padding-top:18px;margin-top:28px;display:flex;justify-content:space-between;gap:20px;color:#bdb0a4;font-size:10px}.modalbg{display:none;position:fixed;inset:0;background:#211a16a8;z-index:40;align-items:center;justify-content:center;padding:16px}.modalbg.open{display:flex}.modal{width:min(540px,100%);max-height:90vh;overflow:auto;background:var(--paper);padding:28px;position:relative}.close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:25px}.modal h2{font:500 30px var(--serif);margin:4px 0 8px}.modal p{font-size:12px;color:var(--muted);line-height:1.7}.field{margin:13px 0}.field label{display:block;font-size:11px;font-weight:700;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:11px;border:1px solid var(--line);background:#fffefa;outline-color:var(--sage);font-size:12px}.field textarea{min-height:82px;resize:vertical}.bagline{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:10px 0;font-size:12px}.notice{font-size:11px;color:var(--sage);margin-top:12px}.empty{color:var(--muted);font-size:12px;padding:15px 0}
@media(max-width:900px){.links{gap:12px}.hero{padding-top:38px}.heroimage img{height:390px}.categorygrid{grid-template-columns:repeat(4,1fr)}.category img{height:165px}.products{grid-template-columns:repeat(2,1fr)}.pimg{height:260px}.corporate,.bakeband{gap:4%}.footgrid{grid-template-columns:1.5fr 1fr 1fr}.footgrid>div:last-child{display:none}}
@media(max-width:650px){.nav{height:68px;padding:0 5%}.brand{font-size:21px}.links{display:none}.menu{display:inline-block!important}.hero{grid-template-columns:1fr;padding:38px 6% 45px;gap:28px}.hero h1{font-size:48px}.heroimage{margin:0 8px}.heroimage img{height:360px}.floating{width:95px;height:95px;font-size:13px;left:-15px}.imagecaption{right:-10px}.promise{gap:12px 22px;justify-content:flex-start;padding:18px 6%}.promise span{font-size:10px}.section{padding:52px 6%}.head{display:block}.head .sub{margin-top:12px}.categorygrid{grid-template-columns:repeat(2,1fr);gap:23px 14px}.category img{height:190px}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pimg{height:185px}.pinfo{padding:11px 10px 0}.pinfo h3{font-size:16px}.desc{font-size:10px}.corporate,.bakeband,.story{grid-template-columns:1fr;padding:45px 6%;gap:25px}.corporate img,.bakeband img{height:280px}.bakeband{display:flex;flex-direction:column-reverse}.storyvisual img{height:330px}.steps{grid-template-columns:1fr;gap:20px}.custom{display:block;padding:38px 6%}.custom .btn{margin-top:10px}.footgrid{grid-template-columns:1fr 1fr;gap:22px}.footgrid>div:first-child{grid-column:1/-1}.footgrid>div:last-child{display:block}.bottom{display:block;line-height:2}.head h2,.story h2,.corporate h2,.custom h2{font-size:34px}}

/* ---------- Functional additions (same visual language) ---------- */
[hidden]{display:none!important}
.brand b{font-weight:500}
.navright .bagbtn{width:auto;border-radius:30px;padding:0 13px;font-size:12px}
.navright .bagbtn span{display:inline-block;min-width:18px;height:18px;line-height:18px;border-radius:9px;background:var(--rose);color:#fff;font-size:10px;margin-left:4px}
button.pimg{display:block;width:100%;border:0;padding:0;cursor:pointer}
.plink{border:0;background:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}
.plink:hover{color:var(--rose)}
.tileph{width:100%;height:205px;border-radius:46% 46% 4px 4px;background:var(--sand);margin-bottom:13px}
.shopbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 24px}
.shopbar .filters{margin:0}
.search{border:1px solid #d5c9bc;border-radius:30px;padding:8px 15px;background:var(--paper);font-size:12px;width:230px;outline-color:var(--sage);color:var(--ink)}
.noproducts{text-align:center;padding:40px 10px;color:var(--muted);font-size:13px}
.noproducts button{border:0;background:none;color:var(--rose);text-decoration:underline;font-size:13px}
.add.done{background:var(--sage);border-color:var(--sage);color:#fff}
.modal .close{z-index:2;background:var(--paper);width:34px;height:34px;border-radius:50%;line-height:1;top:12px;right:12px}
.mimg{display:block;width:calc(100% + 56px);height:230px;object-fit:cover;margin:-28px -28px 20px;background:var(--sand)}
.mprice{font-weight:700;font-size:15px;margin:2px 0 4px}
.bagline{align-items:flex-start}
.bl-main b{display:block;font-weight:600}
.bl-main small{display:block;color:var(--muted);font-size:11px;margin-top:3px;line-height:1.5}
.bl-side{display:flex;align-items:center;gap:4px;white-space:nowrap;font-weight:600}
.rm{border:0;background:none;color:var(--rose);font-size:19px;padding:0 4px}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:30px;margin-top:8px;background:#fffefa}
.qty button{border:0;background:none;width:28px;height:26px;color:var(--rose);font-size:15px}
.qty span{min-width:18px;text-align:center;font-size:12px}
.bagtotal{display:flex;justify-content:space-between;padding:14px 0 4px;font-size:13px}
.checkout{border-top:1px solid var(--line);margin-top:12px;padding-top:4px}
.checkout h3{font:500 21px var(--serif);margin:14px 0 0}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.btn.full{width:100%;justify-content:center}
.btn.wa{background:#25d366;border-color:#25d366}.btn.wa:hover{background:#1fb257}
.field .opt{font-weight:400;color:var(--muted)}
.wafloat{position:fixed;right:18px;bottom:18px;z-index:30;width:54px;height:54px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 10px 28px #1e3b2a40;transition:transform .2s}
.wafloat:hover{transform:scale(1.06)}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,16px);z-index:60;background:var(--ink);color:#fffdf6;padding:11px 18px;font-size:12px;opacity:0;pointer-events:none;transition:.25s;max-width:calc(100% - 32px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
body.locked{overflow:hidden}
@media(max-width:650px){
 .links.open{display:flex;flex-direction:column;align-items:flex-start;gap:16px;position:absolute;top:68px;left:0;right:0;background:var(--cream);padding:20px 6%;border-bottom:1px solid var(--line);font-size:14px}
 .shopbar .search{width:100%}
 .row2{grid-template-columns:1fr}
 .modal{padding:22px}
 .mimg{width:calc(100% + 44px);margin:-22px -22px 16px;height:200px}
 .tileph{height:190px}
}
@media(max-width:650px){.nav{gap:10px}.brand{font-size:19px}.navright{gap:5px}.navright button{width:33px;height:33px}.navright .bagbtn{padding:0 10px}}
@media(max-width:400px){.navright [data-custom]{display:none}}
