:root{--forest:#123c2a;--forest-2:#1d5b40;--leaf:#3e7b59;--cream:#f7f0df;--paper:#fffdf7;--gold:#c5a453;--ink:#1e2d25;--muted:#59685e;--line:rgba(18,60,42,.15);--shadow:0 14px 40px rgba(34,55,43,.09);--radius:22px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;color:var(--ink);background:radial-gradient(circle at 8% 0%,rgba(197,164,83,.14),transparent 28rem),linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px),var(--cream);background-size:auto,28px 28px,28px 28px,auto;font-family:'DM Sans',Arial,sans-serif;line-height:1.5}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}a{color:inherit}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid var(--leaf);outline-offset:2px}[hidden]{display:none!important}.shell{width:min(1180px,calc(100% - 32px));margin:0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:12px;background:white;padding:12px;z-index:100}.skip-link:focus{top:12px}
.topbar{background:var(--forest);color:white;font-size:.8rem;letter-spacing:.02em}.topbar .shell{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:14px}.topbar a{color:#f4dc9d;text-decoration:none;font-weight:700}header{padding:28px 0 18px}.brand-row,.brand,.header-actions,.socials{display:flex;align-items:center;gap:14px}.brand-row{justify-content:space-between}.brand{min-width:0;text-decoration:none}.brand-mark{width:54px;height:54px;flex:0 0 54px;border-radius:18px;background:var(--forest);color:var(--cream);display:grid;place-items:center;border:2px solid var(--gold);box-shadow:var(--shadow);font:650 1.2rem 'Fraunces',Georgia,serif}.brand-copy h1{margin:0;font:650 clamp(1.25rem,3vw,1.9rem)/1.15 'Fraunces',Georgia,serif;color:var(--forest)}.brand-copy>span{display:block;margin-top:6px;color:var(--muted);font-size:.87rem}.header-actions{flex-shrink:0}.socials{gap:8px}.icon-link{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.65);border:1px solid var(--line);text-decoration:none;color:var(--forest);font-weight:800}.cart-pill{min-height:46px;border:1px solid var(--forest);background:var(--forest);border-radius:14px;padding:9px 14px;color:white;font-weight:700;white-space:nowrap}.hero{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:20px 0 28px}.eyebrow{margin:0 0 6px;color:var(--leaf);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.hero h2{margin:0;font:650 clamp(1.4rem,3.5vw,2.1rem)/1.15 'Fraunces',Georgia,serif;color:var(--forest)}.hero p:last-child{margin:10px 0 0;color:var(--muted);max-width:620px;font-size:.92rem}.soft-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;border:1px solid var(--line);border-radius:14px;padding:10px 15px;background:var(--paper);text-decoration:none;color:var(--forest);font-weight:700;text-align:center}.hero .soft-button{flex-shrink:0}
.catalogue-panel{background:rgba(255,253,247,.94);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:18px}.search-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}.search-wrap{position:relative;display:block}.search-wrap svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--leaf)}#search{width:100%;min-height:50px;border:1px solid var(--line);border-radius:16px;background:white;color:var(--ink);padding:0 16px 0 46px}.inventory-count{font-size:.86rem;color:var(--muted);margin:0;white-space:nowrap}.filters{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px}.filter{min-height:44px;border:1px solid var(--line);background:transparent;color:var(--forest);border-radius:999px;padding:9px 14px;font-weight:700;font-size:.83rem}.filter[aria-pressed=true]{background:var(--forest);color:white;border-color:var(--forest)}.results-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 2px 8px;font-size:.8rem;color:var(--muted)}.results-meta p{margin:0}.sync-state{display:flex;align-items:center;gap:8px}.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);flex-shrink:0}.sync-dot.ready{background:var(--leaf)}.text-button{border:0;background:none;min-height:44px;padding:8px 10px;color:var(--forest);font-weight:700;text-decoration:underline;text-underline-offset:3px}.status{color:var(--muted);font-size:.85rem;margin:0 0 12px;min-height:1em}.status:empty{display:none}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{display:flex;flex-direction:column;overflow:hidden;min-width:0;border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);box-shadow:0 8px 26px rgba(34,55,43,.07);transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(34,55,43,.12)}.photo{aspect-ratio:1;position:relative;overflow:hidden;display:grid;place-items:center;padding:0;width:100%;border:0;background:radial-gradient(circle at 26% 22%,rgba(255,255,255,.72),transparent 19%),linear-gradient(145deg,#dae8dd,#f2e8cf 72%);color:var(--forest)}.photo img{width:100%;height:100%;object-fit:contain;display:block}.photo-placeholder{text-align:center;padding:28px 12px;display:grid;place-items:center;gap:10px}.badge-outline{width:76px;height:76px;border:2px dashed #8da08a;outline:7px solid #d5dfcc;outline-offset:4px;border-radius:50%;display:grid;place-items:center;font:650 1.5rem 'Fraunces',Georgia,serif;color:#536e52;margin:10px}.photo-placeholder small{font-size:.75rem;color:var(--muted);margin-top:12px}.code,.tag{position:absolute;top:10px;border-radius:999px;padding:5px 8px;font-size:.66rem;font-weight:800}.code{left:10px;background:rgba(255,253,247,.94);color:var(--forest)}.tag{right:10px;background:#f6df9d;color:#5d4918}.photo-count{position:absolute;bottom:10px;right:10px;background:var(--paper);padding:3px 8px;border-radius:8px;font-size:.7rem}.card-body{padding:15px;display:flex;flex:1;flex-direction:column}.category{color:var(--leaf);font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.product-title{margin:7px 0 6px;font-size:1rem;line-height:1.35}.title-button{padding:0;border:0;background:none;color:var(--ink);text-align:left;font-weight:700;font-size:inherit}.product-meta{font-size:.76rem;color:var(--muted);margin:0}.price-row{margin-top:auto;display:flex;justify-content:space-between;align-items:end;gap:10px;padding-top:15px}.price{font:650 1.3rem/1.15 'Fraunces',Georgia,serif;color:var(--forest)}.stock{font-size:.74rem;color:var(--leaf);font-weight:700}.stock.out{color:#933f34}.add,.primary{width:100%;min-height:46px;border:0;border-radius:13px;background:var(--forest);color:white;font-weight:700;padding:12px;font-size:.84rem}.add{margin-top:14px}.add:hover:not(:disabled),.primary:hover:not(:disabled){background:var(--forest-2)}.add:disabled{background:#aab4aa;opacity:1;color:#263b2b}.empty{grid-column:1/-1;padding:42px 20px;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:22px;color:var(--muted)}.display-note{font-size:.8rem;color:var(--muted);padding:16px 18px;background:rgba(255,253,247,.88);border-radius:16px;border:1px solid var(--line);margin:22px 0 0}
.info-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;margin:32px 0}.info-card{background:rgba(255,253,247,.95);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.info-card h2,.faq h2,dialog h2{margin:0 0 18px;color:var(--forest);font:650 1.4rem/1.2 'Fraunces',Georgia,serif}.policy-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.policy{padding:13px;border-radius:15px;background:#f1ead9;overflow-wrap:anywhere}.policy b{display:block;color:var(--forest);font-size:.87rem}.policy span{display:block;color:var(--muted);font-size:.8rem;margin-top:4px}.proof-links{display:grid;gap:10px}.proof-link{display:flex;justify-content:space-between;gap:10px;min-height:48px;padding:14px;background:#edf4ef;border:1px solid var(--line);border-radius:15px;text-decoration:none;font-weight:700;color:var(--forest);font-size:.9rem}.faq{margin-bottom:36px}details{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:0 16px;margin-top:9px}summary{cursor:pointer;padding:15px 0;font-weight:700;color:var(--forest)}details p{margin:0 0 16px;color:var(--muted);font-size:.9rem}footer{background:var(--forest);color:rgba(255,255,255,.84);padding:28px 0}footer .shell{display:flex;justify-content:space-between;gap:22px;align-items:center}footer strong{color:white;display:block}footer p{margin:4px 0 0;font-size:.82rem}.footer-links{display:flex;flex-wrap:wrap;gap:16px;font-size:.84rem;font-weight:700}.footer-links a{padding-block:10px}.mobile-cart{display:none}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:var(--ink);color:white;padding:11px 18px;border-radius:18px;box-shadow:var(--shadow);transition:.2s;z-index:20;font-size:.85rem;width:max-content;max-width:calc(100% - 30px);text-align:center}.toast.show{transform:translate(-50%,0);opacity:1}
dialog{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:24px;width:min(600px,calc(100% - 24px));max-height:calc(100dvh - 30px);box-shadow:var(--shadow);overscroll-behavior:contain}dialog::backdrop{background:rgba(18,39,27,.5);backdrop-filter:blur(3px)}.cart-drawer{width:min(480px,100%);height:100dvh;max-height:100dvh;margin:0 0 0 auto;border-radius:24px 0 0 24px;padding-bottom:max(24px,env(safe-area-inset-bottom));border-right:0}.dialogTop{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.dialogTop h2{margin:0}.close{height:44px;width:44px;flex:0 0 44px;border:1px solid var(--line);border-radius:13px;background:#f1ead9;color:var(--forest);font-size:1.5rem}.notice{border-radius:12px;color:#704812;background:#faf0ce;padding:12px;font-size:.86rem;line-height:1.5}.notice:empty{display:none}.cart-items{margin:22px 0}.cart-line{display:grid;grid-template-columns:64px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.cart-thumb{width:64px;height:64px;border-radius:12px;background:#e6ebd9;overflow:hidden;display:grid;place-items:center;color:var(--leaf);font:650 1.2rem 'Fraunces',Georgia,serif}.cart-thumb img{width:100%;height:100%;object-fit:contain}.cart-line h3{font-size:.93rem;margin:0 0 3px}.cart-line p{font-size:.85rem;margin:5px 0}.item-code{font-size:.7rem;color:var(--muted)}.controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.controls button{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:11px;background:white;color:var(--forest);font-size:1rem}.controls output{min-width:22px;text-align:center;font-weight:700}.controls .remove{border:0;background:none;text-decoration:underline;font-size:.8rem;margin-left:auto;padding:8px}.field{display:block;color:var(--forest);font-size:.87rem;font-weight:700;margin:16px 0}.field span{font-weight:400;color:var(--muted)}.field input,.field select{display:block;width:100%;min-height:48px;margin-top:7px;border:1px solid var(--line);border-radius:12px;background:white;padding:10px;color:var(--ink);font-size:16px}.totals{background:#f1ead9;padding:14px 16px;border-radius:16px;margin:18px 0}.total-line{display:flex;justify-content:space-between;gap:15px;margin:6px 0;font-size:.9rem}.total-line strong{text-align:right}.total-line:last-child{padding-top:10px;margin-top:10px;border-top:1px solid var(--line);font-size:1.07rem;color:var(--forest)}.fineprint{font-size:.78rem;color:var(--muted);line-height:1.6}.clear-cart{display:block;margin:12px auto 0}.review-dialog>p{font-size:.9rem}.review-line{padding:12px 0;border-bottom:1px solid var(--line);font-size:.88rem}.review-line strong{display:block}.review-line p{margin:5px 0;color:var(--muted)}.checkout-backup{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.checkout-backup>*{flex:1;font-size:.85rem}.paste-instructions{font-weight:700;color:var(--forest)}#orderText{width:100%;min-height:300px;resize:vertical;border:1px solid var(--line);padding:12px;background:white;color:var(--ink);border-radius:10px;font-size:14px;line-height:1.6;margin-bottom:14px}.photo-gallery{margin:20px 0;display:grid;gap:12px}.photo-gallery img{display:block;max-height:460px;width:100%;object-fit:contain;border-radius:15px;background:#eef0e3}.photo-gallery .photo-placeholder{background:#e9eddc;border-radius:15px}.photo-dialog .price{display:block;margin:12px 0}.photo-dialog .primary{margin-top:12px}.photo-dialog .product-meta{font-size:.9rem}
@media(max-width:1000px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.socials{display:none}.brand-copy h1{max-width:520px}}
@media(max-width:720px){.shell{width:calc(100% - 22px)}.topbar .shell{min-height:40px;gap:5px;flex-wrap:wrap;padding-block:6px}.topbar{font-size:.7rem}header{padding:20px 0 12px}.brand-row{align-items:flex-start;gap:10px}.brand{gap:10px}.brand-mark{width:44px;height:44px;flex-basis:44px;border-radius:14px;font-size:1rem}.brand-copy h1{font-size:1.17rem}.brand-copy>span{font-size:.72rem}.cart-pill{font-size:.76rem;padding:8px;min-height:44px;border-radius:12px}.cart-pill>span:first-child{display:none}.hero{padding:18px 2px 24px;display:block}.hero h2{font-size:1.65rem}.hero p:last-child{font-size:.85rem}.hero .soft-button{display:none}.catalogue-panel{padding:12px;border-radius:22px}.search-row{grid-template-columns:1fr;gap:10px}.inventory-count{font-size:.78rem}.filter{font-size:.76rem;padding:8px 11px}.filters{gap:6px;padding-top:10px}.results-meta{font-size:.73rem;align-items:center}.sync-state{gap:5px}.sync-state .text-button{font-size:.72rem;padding:7px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.card{border-radius:18px}.card-body{padding:12px}.product-title{font-size:.9rem}.category{font-size:.64rem}.price-row{display:block;padding-top:12px}.price{font-size:1.2rem}.stock{display:block;margin-top:6px}.add{font-size:.79rem;padding:10px 6px}.badge-outline{width:60px;height:60px}.photo-placeholder small{font-size:.68rem}.code,.tag{font-size:.59rem;padding:4px 6px;top:8px}.code{left:7px}.tag{right:7px;top:auto;bottom:8px}.info-grid{grid-template-columns:1fr;margin:26px 0}.info-card{padding:20px}.policy-list{gap:8px}.faq h2{font-size:1.3rem}footer{padding-bottom:110px}footer .shell{align-items:flex-start;flex-direction:column}.mobile-cart{display:block;position:fixed;bottom:0;left:0;right:0;padding:10px 12px max(10px,env(safe-area-inset-bottom));background:rgba(247,240,223,.96);border-top:1px solid var(--line);z-index:10}.mobile-cart button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:0;border-radius:15px;min-height:50px;padding:12px 16px;background:var(--forest);color:white;font-size:.9rem;font-weight:700}.toast{bottom:90px}dialog{padding:20px}.cart-drawer{border-radius:20px 0 0 20px}.review-dialog{max-height:calc(100dvh - 20px);padding:20px;width:calc(100% - 16px)}.dialogTop h2{font-size:1.3rem}.total-line{font-size:.87rem}.total-line:last-child{font-size:1rem}}
@media(max-width:360px){.brand-mark{display:none}.brand-copy h1{font-size:1.12rem}.grid{grid-template-columns:1fr}.photo{aspect-ratio:1.2}.policy-list{grid-template-columns:1fr}.results-meta{align-items:flex-start;flex-direction:column;gap:0}.cart-line{grid-template-columns:50px 1fr}.cart-thumb{width:50px;height:50px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
