@font-face{font-family:FloristSerif;src:url('serif.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--olive:#576745;--paper:#f8f6ef;--ink:#292e24;--muted:#67695d;--line:#d9d9ce;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:15px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{max-width:100%}svg{width:24px;height:24px}h1,h2,h3,blockquote{font-family:FloristSerif,Georgia,'Times New Roman',serif}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:5px}button[hidden],[hidden]{display:none!important}.eyebrow{font-size:.7rem;letter-spacing:.17em;text-transform:uppercase;line-height:1.7}.button,.button-outline{display:inline-flex;align-items:center;justify-content:center;gap:1rem;min-height:50px;padding:15px 25px;border:1px solid var(--olive);background:var(--olive);color:var(--paper);font-size:.8rem;transition:background .2s}.button:hover{background:#414e32}.button-outline{background:transparent;color:var(--olive)}.button-outline:hover{background:#55634212}.text-link{border:0;border-bottom:1px solid;background:none;padding:5px 0;font:inherit}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:14px}.skip-link:focus{top:10px}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:22px 4vw;background:var(--paper);border-bottom:1px solid #55634222}.brand{flex:0 1 270px;display:flex;align-items:center}.brand img{width:100%;height:57px;object-fit:contain}.main-nav{display:flex;gap:27px;align-items:center;font-size:.78rem}.main-nav a{padding:12px 0}.main-nav a:hover{text-decoration:underline;text-underline-offset:7px}.header-tools{display:flex;align-items:center;gap:20px}.location{font-size:.68rem;max-width:100px;line-height:1.5}.icon-button{border:0;background:none;padding:10px;position:relative}.cart-count{font-size:.6rem;position:absolute;right:1px;top:3px}.menu-toggle{display:none}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.product-image{position:relative;overflow:hidden}.product-open{display:block;width:100%;padding:0;border:0;background:#e9e6dd}.product-open img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .6s}.product-open:hover img{transform:scale(1.035)}.favorite{position:absolute;top:12px;right:12px;display:grid;place-items:center;border:0;border-radius:50%;background:#f8f6efe8;color:var(--olive);width:38px;height:38px}.favorite[aria-pressed=true] svg{fill:currentColor}.favorite svg{width:19px;height:19px}.product-caption{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-top:17px;line-height:1.5}.product-caption button{font-family:FloristSerif,Georgia,serif;font-size:1.45rem;border:0;background:none;padding:0;text-align:left}.product-caption span{white-space:nowrap;font-size:.82rem}
.site-footer{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding:75px 5vw 25px;background:var(--olive);color:var(--paper)}.footer-logo{width:300px;max-width:100%;height:65px;object-fit:contain;object-position:left}.site-footer p{font-size:.85rem;line-height:1.6}.site-footer>div>button{display:block;border:0;background:none;text-align:left;padding:7px 0;font-size:.85rem}.site-footer .eyebrow{opacity:.65}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:25px;border-top:1px solid #ffffff30;font-size:.68rem}.site-footer .preview-note{grid-column:1/-1;font-size:.65rem;opacity:.7;margin:0;max-width:800px}
dialog{border:0;padding:44px;background:var(--paper);color:var(--ink);max-height:90svh;overflow:auto;max-width:900px;width:calc(100% - 36px)}dialog::backdrop{background:#20241c99;backdrop-filter:blur(4px)}.dialog-close{position:absolute;z-index:2;right:12px;top:8px;border:0;background:var(--paper);width:36px;height:36px;font-size:28px}.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.product-detail>img{width:100%;aspect-ratio:3/4;object-fit:cover}.product-detail h2,dialog h2{font-size:2.9rem;font-weight:400;line-height:1.05;margin:14px 0 22px}.product-detail p,.info-dialog p{line-height:1.6}.detail-price{font-size:1.4rem}.small-note{font-size:.75rem;color:var(--muted);line-height:1.6}.info-dialog,.cart-dialog{max-width:590px}.cart-item{display:grid;grid-template-columns:60px 1fr auto;gap:15px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.cart-item img{width:60px;height:75px;object-fit:cover}.cart-item p{font-size:.8rem}.cart-item button{border:0;background:none;padding:8px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:var(--paper);padding:15px 25px;opacity:0;pointer-events:none;transition:.2s;z-index:20;max-width:90vw;font-size:.85rem}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:901px) and (max-width:1200px){.location{display:none}.main-nav{gap:18px}.brand{max-width:225px}.product-caption{flex-direction:column;gap:4px}}
@media(max-width:900px){.site-header{padding:15px 5vw;gap:15px;position:relative}.brand{max-width:225px}.brand img{height:50px}.menu-toggle{display:block}.location{display:none}.header-tools{gap:6px}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);color:var(--ink);padding:20px 5vw;z-index:10;box-shadow:0 10px 12px #0001}.main-nav.open{display:flex;flex-direction:column;align-items:flex-start}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}.site-footer{grid-template-columns:1fr 1fr}.site-footer>div:first-child{grid-column:1/-1}.product-caption{flex-direction:column;gap:3px}.product-caption button{font-size:1.35rem}}
@media(max-width:560px){.brand{max-width:185px}.site-header{padding:12px 18px}.header-tools{gap:1px}.icon-button{padding:8px}.product-grid{gap:28px 12px}.product-caption button{font-size:1.2rem}.product-caption span{font-size:.77rem}.favorite{top:7px;right:7px;width:32px;height:32px}.site-footer{grid-template-columns:1fr;gap:30px;padding:50px 22px 25px}.footer-bottom{flex-direction:column;gap:15px}.product-detail{grid-template-columns:1fr;gap:20px}.product-detail>img{max-height:35svh;object-fit:cover}dialog{padding:36px 22px 25px}.product-detail h2,dialog h2{font-size:2.2rem}.toast{width:max-content;text-align:center}}
.concept .favorite{color:var(--olive)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
