@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{color-scheme:light;--green:#153a31;--green2:#214b3e;--cream:#f5f1e8;--paper:#fbf9f4;--gold:#d7b970;--ink:#1c352d;--muted:#64736a;--line:#ddd8ca;font-family:'DM Sans',Arial,sans-serif;background:var(--cream);color:var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,select{font:inherit}button,a{touch-action:manipulation}a{color:inherit}.shell{width:min(100% - 48px,1380px);margin:0 auto}.site-header{position:relative;z-index:5;background:var(--green);color:#f9f5e9}.header-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font:600 1.42rem 'Playfair Display',Georgia,serif;letter-spacing:.01em}.brand-logo{width:68px;height:68px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:32px;margin-left:auto}.main-nav a,.footer-links a{color:inherit;text-decoration:none;font-size:.9rem}.main-nav a:hover,.footer-links a:hover{color:var(--gold)}.header-tools{display:flex;align-items:center;gap:14px}.language-switch{display:flex;border:1px solid #80968d;border-radius:50px;padding:3px}.language-switch button{border:0;background:transparent;color:#f9f5e9;border-radius:30px;padding:7px 10px;font-size:.77rem;cursor:pointer}.language-switch button[aria-pressed=true]{background:var(--gold);color:var(--green);font-weight:700}.cart-button{height:42px;border:1px solid #80968d;border-radius:28px;color:#fff;background:transparent;padding:0 12px;display:flex;align-items:center;gap:9px;cursor:pointer}.cart-count{display:grid;place-items:center;background:var(--gold);color:var(--green);font-weight:700;border-radius:50%;width:22px;height:22px;font-size:.76rem}.menu-toggle{display:none;background:none;border:0;color:white;font-size:1.5rem}.hero{background:var(--green);color:var(--cream);padding:28px 0 78px}.hero-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:7vw;align-items:center}.hero-copy{padding:30px 0 60px}.eyebrow{display:inline-block;color:#9a743b;font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem}.hero .eyebrow{color:var(--gold)}h1,h2,h3,p{margin-top:0}.hero h1{font:500 clamp(3.2rem,6.2vw,6.2rem)/1.06 'Playfair Display',Georgia,serif;letter-spacing:-.045em;margin:24px 0}.hero h1 em{font-weight:500;color:var(--gold)}.hero-copy p{color:#d4d9cc;font-size:1.07rem;line-height:1.75;max-width:450px;margin-bottom:30px}.button{min-height:50px;padding:0 20px;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid transparent;border-radius:4px;text-decoration:none;font-weight:700;cursor:pointer;transition:transform .2s,background .2s}.button:hover:not(:disabled){transform:translateY(-2px)}.button:disabled{opacity:.55;cursor:not-allowed}.button-gold{background:var(--gold);color:var(--green)}.button-green{background:var(--green);color:var(--cream);width:100%}.button-outline{border-color:#9b8862;color:var(--green);background:transparent}.hero-image-wrap{height:min(58vw,660px);min-height:430px;position:relative;border-radius:240px 240px 5px 5px;overflow:hidden;background:#c5ad82}.hero-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 23%}.image-label{position:absolute;bottom:18px;left:18px;background:rgba(251,249,244,.94);color:var(--green);border-radius:40px;padding:10px 15px;font-size:.78rem;font-weight:700}.shop-section{padding:95px 0 105px;background:var(--paper)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-top h2,.about-copy h2,.donation-inner h2,.newsletter h2{font:500 clamp(2.1rem,4vw,3.55rem)/1.15 'Playfair Display',Georgia,serif;letter-spacing:-.025em;margin:14px 0 0}.search-box{height:48px;width:min(330px,100%);display:flex;gap:10px;align-items:center;border-bottom:1px solid #9f9c8e;color:#9b8c69}.search-box>span:not(.sr-only){font-size:1.6rem}.search-box input{width:100%;border:0;outline:none;background:transparent;color:var(--ink)}.shop-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:45px 0 24px}.category-list{display:flex;gap:8px;flex-wrap:wrap}.category-chip{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:40px;padding:8px 14px;cursor:pointer;font-size:.83rem}.category-chip.active,.category-chip:hover{background:var(--green);color:#fff;border-color:var(--green)}.sort-select select{border:0;background:transparent;color:var(--green);padding:10px 25px 10px 10px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 20px}.product-card{min-width:0}.product-image{position:relative;aspect-ratio:4/4.7;background:#e9e3d6;overflow:hidden}.product-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.product-card:hover .product-image img{transform:scale(1.035)}.product-badge{position:absolute;top:14px;left:14px;background:var(--paper);color:var(--green);padding:8px 10px;font-weight:700;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.product-info{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding:16px 2px}.product-category{grid-column:1/-1;color:#8a6d3d;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem;font-weight:700}.product-name{font:500 1.28rem 'Playfair Display',Georgia,serif}.product-price{font-weight:700;white-space:nowrap}.product-desc{grid-column:1/-1;color:var(--muted);line-height:1.55;font-size:.87rem;margin:2px 0 7px}.add-button{grid-column:1/-1;justify-self:start;border:0;border-bottom:1px solid var(--green);background:transparent;padding:7px 0;color:var(--green);font-weight:700;cursor:pointer}.add-button:disabled{color:#81867b;border-color:#bbb9ae;cursor:not-allowed}.empty-state{grid-column:1/-1;padding:70px 20px;text-align:center;border:1px solid var(--line);background:#f7f4ec}.empty-state h3{font:500 1.7rem 'Playfair Display',Georgia,serif;margin-bottom:10px}.empty-state p{color:var(--muted);margin:0}.about-section{padding:100px 0;background:#ece6d9}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.about-art{height:min(48vw,540px);overflow:hidden;border-radius:4px 4px 160px 4px}.about-art img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.about-copy{max-width:520px}.about-copy h2{margin-bottom:20px}.about-copy p,.donation-inner p,.newsletter p{color:#58665c;line-height:1.8}.text-link{display:inline-flex;gap:18px;align-items:center;margin-top:14px;color:var(--green);font-weight:700;text-decoration:none;border-bottom:1px solid #9e8c62;padding:0 0 8px}.donation-section{padding:70px 0;background:#f5f1e8}.donation-inner{display:grid;grid-template-columns:.7fr 1fr;gap:5vw;align-items:center}.donation-inner p{margin:0;max-width:650px}.newsletter{background:#e3dbc9;padding:54px 0}.newsletter-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.newsletter h2{font-size:2rem;margin:8px 0}.newsletter p{margin:0}footer{background:#102c25;color:#f2ecde}.footer-inner{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px;min-height:110px}.footer-brand{font-size:1.15rem}.footer-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.footer-links a{font-size:.8rem}.copyright{text-align:right;color:#b9c3b9;font-size:.78rem}.cart-backdrop{position:fixed;inset:0;background:rgba(15,30,24,.52);z-index:15}.cart-drawer{position:fixed;z-index:16;right:0;top:0;bottom:0;width:min(460px,100%);padding:30px;background:var(--paper);box-shadow:-14px 0 50px #102c2530;transform:translateX(105%);transition:transform .25s;display:flex;flex-direction:column}.cart-drawer.open{transform:translateX(0)}.drawer-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.drawer-head h2{font:500 2rem 'Playfair Display',Georgia,serif;margin:8px 0}.icon-button{border:1px solid var(--line);border-radius:50%;background:transparent;width:42px;height:42px;font-size:1.6rem;cursor:pointer}.cart-lines{overflow:auto;flex:1;margin:20px 0}.cart-item{display:grid;grid-template-columns:70px 1fr auto;gap:13px;border-top:1px solid var(--line);padding:16px 0}.cart-item img{width:70px;height:84px;object-fit:cover;background:#eee}.cart-item-name{font:500 1.03rem 'Playfair Display',Georgia,serif}.cart-item-meta{color:var(--muted);font-size:.8rem;margin:6px 0}.qty-control{display:flex;align-items:center;gap:9px}.qty-control button{border:1px solid var(--line);background:transparent;border-radius:50%;width:26px;height:26px;cursor:pointer}.remove-line{border:0;background:transparent;color:#8b6851;text-decoration:underline;padding:7px 0;font-size:.76rem;cursor:pointer}.cart-summary{border-top:1px solid var(--line);padding:16px 0;margin-bottom:14px}.summary-row{display:flex;justify-content:space-between;margin:9px 0;font-size:.9rem}.summary-row.total{font-weight:700;font-size:1.07rem}.secure-note,.privacy-note{font-size:.76rem;color:var(--muted);line-height:1.5;margin:14px 0 0}.checkout-dialog{width:min(560px,calc(100% - 28px));max-height:min(94vh,800px);border:0;padding:30px;background:var(--paper);box-shadow:0 20px 80px #102c2560}.checkout-dialog::backdrop{background:#102c2580}.checkout-dialog form>.button{margin-top:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:20px}.field{display:grid;gap:6px;color:var(--muted);font-size:.78rem}.field.full{grid-column:1/-1}.field input{height:43px;border:1px solid var(--line);background:#fff;padding:8px 10px;border-radius:3px;color:var(--ink);font-size:.92rem}.form-error{color:#9b3023;font-size:.85rem;margin-top:14px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);z-index:30;opacity:0;pointer-events:none;background:var(--green);color:white;padding:12px 20px;border-radius:40px;transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.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}.loading-card{grid-column:1/-1;color:var(--muted);padding:45px 0;text-align:center}body.lock-scroll{overflow:hidden}
@media(max-width:900px){.header-inner{gap:14px}.main-nav{gap:17px}.main-nav a{font-size:.83rem}.hero-grid{gap:4vw}.hero h1{font-size:clamp(3rem,8vw,5rem)}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid{gap:5vw}}
@media(max-width:650px){.shell{width:min(100% - 34px,1380px)}.header-inner{min-height:78px}.brand{font-size:1.15rem;gap:5px}.brand-logo{width:52px;height:52px}.header-tools{gap:7px}.language-switch button{padding:6px 7px}.cart-button{height:38px;padding:0 8px;font-size:.77rem}.menu-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:77px;background:var(--green);padding:15px 20px 22px;flex-direction:column;align-items:flex-start}.main-nav.open{display:flex}.hero{padding:14px 0 48px}.hero-grid{grid-template-columns:1fr;gap:28px}.hero-copy{padding:22px 0 0}.hero h1{font-size:clamp(3rem,13vw,4.7rem);margin:18px 0}.hero-copy p{font-size:.97rem}.hero-image-wrap{height:105vw;min-height:350px;max-height:570px;border-radius:190px 190px 4px 4px}.shop-section{padding:66px 0}.section-top{align-items:flex-start;flex-direction:column}.section-top h2,.about-copy h2,.donation-inner h2{font-size:2.35rem}.search-box{width:100%}.shop-controls{margin:25px 0 16px;align-items:flex-start;flex-direction:column}.sort-select{align-self:flex-end}.product-grid{gap:22px 12px}.product-image{aspect-ratio:4/4.9}.product-name{font-size:1.08rem}.product-price{font-size:.88rem}.product-desc{font-size:.79rem}.product-info{padding:12px 1px}.about-section{padding:65px 0}.about-grid{grid-template-columns:1fr;gap:30px}.about-art{height:88vw;max-height:480px;border-radius:4px 4px 130px 4px}.donation-section{padding:54px 0}.donation-inner{grid-template-columns:1fr;gap:10px}.newsletter-inner{align-items:flex-start;flex-direction:column}.footer-inner{grid-template-columns:1fr;justify-items:center;text-align:center;padding:27px 0}.footer-links{gap:15px}.copyright{text-align:center}.cart-drawer{padding:22px}.checkout-dialog{padding:22px}.form-grid{gap:10px}.field input{font-size:16px}}
@media(max-width:390px){.main-nav{gap:13px}.main-nav a{font-size:.78rem}.language-switch button{font-size:.7rem}.cart-button{gap:5px}.product-grid{grid-template-columns:1fr 1fr}.product-category{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

