@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/eb-garamond-400.woff2) format('woff2')}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/eb-garamond-500.woff2) format('woff2')}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/eb-garamond-400i.woff2) format('woff2')}
@font-face{font-family:'Cabin';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/cabin-400.woff2) format('woff2')}
@font-face{font-family:'Cabin';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/cabin-500.woff2) format('woff2')}
@font-face{font-family:'Cabin';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/cabin-600.woff2) format('woff2')}
:root{--ink:#2b241d;--text:#3a322a;--muted:#6d6256;--line:#e2d9c8;--green:#233f2e;--gold:#a87c1c;--navy:#0f2350;--tile:#ece3d2;--paper:#faf6ed;--card:#fffdf8;--serif:'EB Garamond',Georgia,serif;--sans:'Cabin','Gill Sans','Gill Sans MT',Calibri,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font:400 16px/1.6 var(--sans)}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--serif);font-weight:500;color:var(--ink);line-height:1.2;margin:0 0 .5em}
h2{font-size:32px}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.wrap{width:100%;max-width:1140px;margin:0 auto;padding:0 15px}
.skip{position:absolute;left:-999px;background:#fff;padding:8px 12px;z-index:100}.skip:focus{left:8px;top:8px}
.topbar{background:#efe7d7;text-align:center;font-size:13px;padding:3px 12px;color:var(--muted)}
.brandrow-in{display:flex;align-items:center;justify-content:center;position:relative;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:16px}
.brand img{width:84px;height:auto}
.brand strong{display:block;font:400 38px/1 var(--serif);letter-spacing:.05em;color:var(--ink);white-space:nowrap}
.brand small{display:block;font-size:12.5px;letter-spacing:.24em;margin-top:9px;color:var(--ink);white-space:nowrap}
.icons{display:flex;align-items:center;gap:8px}
.brandrow .icons{position:absolute;right:30px;top:50%;transform:translateY(-50%)}
.icon-btn{background:none;border:0;padding:6px;cursor:pointer;color:#111;display:inline-flex;position:relative}
.bag-count{position:absolute;top:-3px;right:-5px;background:var(--green);color:#fff;font-size:11px;min-width:17px;height:17px;border-radius:9px;line-height:17px;text-align:center;padding:0 3px}
.burger{display:none;position:absolute;left:12px;top:50%;transform:translateY(-50%);flex-direction:column;gap:5px}
.burger span{width:24px;height:2px;background:#111;display:block}
.mainnav{position:sticky;top:0;z-index:40;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mainnav-in{display:flex;justify-content:center;position:relative}
.mainnav ul{list-style:none;display:flex;gap:30px;margin:0;padding:0;align-items:center}
.mainnav li{position:relative}
.mainnav li>a,.nav-ai{display:block;font:400 20px/1 var(--serif);color:var(--ink);padding:14px 0}
.mainnav li>a:hover{color:var(--gold)}
.nav-ai{background:var(--green);color:#fff;border:0;padding:8px 14px;cursor:pointer;font-size:18px}.nav-ai:hover{background:#13321f}
.chev{display:inline-block;width:7px;height:7px;border:solid #bbb;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-3px);margin-left:5px}
.dd{display:none;position:absolute;left:-18px;top:100%;min-width:230px;background:var(--card);box-shadow:0 10px 26px rgba(62,42,20,.16);padding:10px 0;z-index:50}
.dd a{display:block;padding:7px 18px;font:400 18px/1.25 var(--serif)}.dd a:hover{background:var(--tile)}
.has-dd:hover .dd,.has-dd:focus-within .dd{display:block}
.stuck-icons{position:absolute;right:30px;top:50%;transform:translateY(-50%);visibility:hidden}
.mainnav.is-stuck .stuck-icons{visibility:visible}
.searchbar{background:var(--tile);padding:14px 0}.searchbar[hidden]{display:none}
.searchbar .wrap{display:flex;gap:10px}
.searchbar input{flex:1;min-width:0;padding:10px 14px;border:1px solid #ccc;background:#fff}
.btn{display:inline-block;background:var(--green);color:#fff;border:1px solid var(--green);outline:1px solid transparent;padding:10px 20px;font:600 13px/1.3 var(--sans);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;text-align:center}
.btn:hover{background:#13321f}.btn-solid{box-shadow:inset 0 0 0 1px #fff4}
.btn-ghost{background:none;border-color:#ffffffb0}.btn-ghost:hover{background:#fff;color:var(--green)}
.hero{position:relative;margin-top:24px;margin-bottom:26px}
.hero-slides{position:relative;aspect-ratio:2220/932;overflow:hidden;background:#3a2a1b}
.hero-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s ease;transform:scale(1.04)}
.hero-slides img.on{opacity:1;animation:drift 9s ease-out forwards}
@keyframes drift{from{transform:scale(1.04)}to{transform:scale(1.1)}}
.hero-slides:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,17,10,.72),rgba(24,17,10,.28) 52%,rgba(24,17,10,.04) 78%)}
.hero-copy{position:absolute;left:15px;top:0;bottom:0;width:min(560px,70%);padding:0 0 0 54px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:#fff}
.hero-copy h1{color:#fff;font-size:clamp(40px,5vw,62px);line-height:1.04;margin:6px 0 12px;font-weight:400}
.kicker{margin:0;font:500 13px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#f0dcae}
.sub{margin:0 0 22px;font:400 22px/1.3 var(--serif)}
.btn-light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn-light:hover{background:#fff;color:var(--ink)}
.hero-pause{position:absolute;right:30px;bottom:14px;width:34px;height:34px;border:1px solid #ffffff99;border-radius:50%;background:rgba(0,0,0,.25);cursor:pointer}
.hero-pause:before,.hero-pause:after{content:'';position:absolute;top:10px;width:3px;height:12px;background:#fff}.hero-pause:before{left:12px}.hero-pause:after{left:18px}
.hero-pause.paused:before{left:13px;width:0;height:0;background:none;border-left:10px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent}.hero-pause.paused:after{display:none}
.shelf{padding-top:26px;padding-bottom:18px}
.shelf-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;border-bottom:1px solid var(--line);padding:0 15px 10px;margin-bottom:18px}
.shelf-head h2{margin:0}
.shelf-head a{font:italic 400 17px var(--serif);white-space:nowrap}.shelf-head a:hover{color:var(--gold)}
.shelf-row{display:grid;grid-template-columns:repeat(6,1fr);gap:15px;padding:0 7px}
.shelf-item{display:block;min-width:0}
.shelf-item img{width:100%;aspect-ratio:2/3;object-fit:contain;box-shadow:0 2px 8px rgba(62,42,20,.14);transition:transform .25s,box-shadow .25s}.shelf-item:hover img{box-shadow:0 10px 20px -8px rgba(62,42,20,.35)}
.shelf-item:hover img{transform:translateY(-4px)}
.shelf-price{display:block;text-align:center;font:italic 400 16px var(--serif);margin-top:12px}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:50px;padding-bottom:30px}
.tile img{width:100%;aspect-ratio:7/5;object-fit:cover}
.tile-card{position:relative;background:var(--paper);width:84%;margin:-70px 0 0 16px;padding:26px 30px 8px}
.tile-card h3{font-size:28px}
.tile-card a,.link{text-decoration:underline;text-underline-offset:3px}
.tile-card a{font:italic 400 18px var(--serif)}
.section-header{text-align:center;position:relative;padding-bottom:22px;margin:36px 0 30px}
.section-header:after,.rule{content:'';display:block;width:60px;height:2px;background:var(--ink);margin:0 auto}
.section-header:after{position:absolute;left:50%;margin-left:-30px;bottom:0}
.visit-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;align-items:center;padding-bottom:50px}
.visit-map{background:var(--tile);height:360px}.visit-map iframe{width:100%;height:100%;border:0;display:block}
.map-load{width:100%;height:100%;border:1px solid var(--line);background:var(--tile);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--ink);padding:16px}.map-load strong{font:400 26px var(--serif)}.map-load span{font-weight:600;font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:var(--green)}.map-load:hover{background:#e4d9c4}
.small-map{height:280px;margin-top:18px}
.visit-info h3{font-size:30px;margin-bottom:4px}.em{font:italic 400 20px var(--serif);margin:0}
.band{background:linear-gradient(rgba(18,38,25,.74),rgba(18,38,25,.8)),url(/images/art/band-leaves.webp) center/cover #1d3527;color:#fff;text-align:center;padding:62px 16px 66px}
.band h2{color:#fff;font-size:36px;margin-bottom:8px}.band p{font-size:18px;margin:0 0 18px}
.subject-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:15px;padding-bottom:56px}
.subject-grid a{text-align:center;display:block}
.tile-bg{display:block;background:var(--tile);padding:24px 28px;margin-bottom:10px}
.tile-bg img{aspect-ratio:2/3;object-fit:contain;box-shadow:0 2px 8px rgba(62,42,20,.14);transition:transform .2s}
.subject-grid a:hover img,.grid-item:hover .tile-bg img{transform:translateY(-3px)}
.subject-grid strong{font:400 19px var(--serif)}
.site-foot{background:#1d3527;color:#fff;padding:44px 0 18px;font-size:15px}
.foot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.site-foot h3{color:#fff;font-size:21px;border-bottom:1px solid #ffffff66;padding-bottom:8px}
.site-foot ul{list-style:none;margin:0;padding:0}.site-foot li{margin-bottom:7px}
.site-foot a:hover,.site-foot li button:hover{color:#f1cf72}
.site-foot li button{background:none;border:0;padding:0;color:inherit;cursor:pointer}
.foot-logo{width:130px;margin-bottom:16px;background:var(--paper);border-radius:12px;padding:6px}
.foot-base{display:flex;justify-content:space-between;align-items:center;margin-top:24px;font-size:13px;opacity:.95}
.to-top{background:#ffffff26;width:40px;height:40px;display:grid;place-items:center;font-size:18px}
.page-title{text-align:center;padding:36px 16px 34px}.page-title h1{font-size:42px;margin-bottom:12px}
.rule{display:block}
.shop{display:grid;grid-template-columns:240px 1fr;gap:40px;padding-bottom:60px}
.side{border-right:1px solid var(--line);padding-right:26px;font-size:15px}
.side input{width:100%;border:0;border-bottom:1px solid #ccc;padding:6px 0;margin-bottom:20px;font-family:var(--serif);font-size:17px;background:transparent}
.side h3{font-size:21px;margin:18px 0 6px}.side ul{list-style:none;padding:0;margin:0}
.side a{display:block;padding:3px 0}.side a:hover{color:var(--gold)}.side a.on{font-weight:600;color:var(--green)}
.shop-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.shop-bar p{margin:0;font:400 19px var(--serif)}.shop-bar select{padding:5px;border:1px solid #ccc;background:#fff}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 18px}
.grid-item{display:flex;flex-direction:column}
.grid-item h3{font-size:18px;line-height:1.25;margin:0 0 3px}
.grid-item .p{margin:0 0 8px;font:italic 400 16px var(--serif)}
.grid-item .btn{margin-top:auto;padding:8px 6px;font-size:11.5px;background:transparent;color:var(--green)}.grid-item .btn:hover{background:var(--green);color:#fff}
.crumbs{font-size:14px;color:var(--muted);padding-top:22px;padding-bottom:14px}
.product{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:44px;padding-bottom:30px}
.product-img{background:var(--tile);padding:44px 18%}.product-img img{box-shadow:0 3px 12px rgba(62,42,20,.16);width:100%}
.product-info h1{font-size:36px}
.price{font:400 28px var(--serif);margin:0 0 12px;color:var(--ink)}
.buy{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:18px 0 6px}
.buy input{width:76px;display:block;padding:8px;border:1px solid #bbb;margin-top:3px}
.added{min-height:24px;margin:4px 0;color:var(--green)}
dl{display:grid;grid-template-columns:100px 1fr;gap:4px 12px;border-top:1px solid var(--line);padding-top:14px;margin:8px 0 14px}dt{color:var(--muted)}dd{margin:0}dd a{text-decoration:underline;text-underline-offset:2px}
.small{font-size:14px;color:var(--muted)}
.narrow{max-width:820px;padding-bottom:60px}
.prose h2{font-size:26px;margin-top:1.3em}.prose .lead{font:400 23px/1.4 var(--serif)}.prose li{margin-bottom:6px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-bottom:60px}.two h2{font-size:28px}
form label{display:block;margin-bottom:14px;font-weight:500}
form input:not([type=radio]),form textarea{display:block;width:100%;font-weight:400;padding:10px 12px;border:1px solid #cfc5b2;margin-top:4px;background:var(--card)}
form input[aria-invalid=true],form textarea[aria-invalid=true]{border-color:#b3261e}
.choice{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);padding:12px;font-weight:400}.choice input{margin-top:6px}
.hp{position:absolute;left:-9999px}
.form-error{color:#b3261e;font-weight:500}
.checkout{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:50px;padding-bottom:60px}.checkout h2{font-size:26px}
.summary{background:var(--tile);padding:22px;align-self:start}.summary h2{font-size:24px}
.sum-row{display:flex;justify-content:space-between;gap:14px;font-size:15px;padding:6px 0;border-bottom:1px solid var(--line)}
.sum-total{display:flex;justify-content:space-between;font:400 24px var(--serif);padding-top:12px}
.cart-row{display:grid;grid-template-columns:70px 1fr auto auto;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0}
.cart-row img{box-shadow:0 3px 8px rgba(0,0,0,.3)}.cart-row h3{font-size:20px;margin:0}.cart-row p{margin:0;font-size:14px;color:var(--muted)}
.cart-row input{width:64px;padding:6px;border:1px solid #bbb}.linkbtn{background:none;border:0;padding:0;text-decoration:underline;cursor:pointer;font-size:13px;color:var(--muted)}
.cart-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:20px}.cart-foot strong{font:400 28px var(--serif)}
.done{text-align:center;max-width:620px;margin:0 auto;padding-bottom:60px}.ref{font:500 30px var(--serif);background:var(--tile);padding:10px 20px;display:inline-block}
.chat-fab{position:fixed;right:18px;bottom:18px;z-index:60;background:var(--green);color:#fff;border:2px solid #fff;border-radius:28px;padding:11px 18px 11px 14px;font:500 18px var(--serif);cursor:pointer;display:flex;gap:8px;align-items:center;box-shadow:0 8px 22px rgba(0,0,0,.3)}
.chat-fab svg{color:#f1cf72;flex:none}
.chat{position:fixed;right:18px;bottom:18px;z-index:70;width:380px;max-width:calc(100vw - 24px);height:560px;max-height:calc(100dvh - 30px);background:#fff;display:flex;flex-direction:column;box-shadow:0 14px 44px rgba(0,0,0,.34);border-radius:8px;overflow:hidden}
.chat[hidden]{display:none}
.chat-head{background:var(--green);color:#fff;padding:12px 14px;display:flex;align-items:center;justify-content:space-between}
.chat-head strong{font:500 21px var(--serif);display:block;line-height:1.1}.chat-head small{font-size:12px;opacity:.9}
.chat-close{background:none;border:0;color:#fff;font-size:24px;line-height:1;cursor:pointer;padding:2px 6px}
.chat-log{flex:1;overflow-y:auto;padding:14px;background:var(--paper);display:flex;flex-direction:column;gap:10px}
.msg{max-width:88%;padding:9px 12px;border-radius:10px;font-size:15px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.msg.bot{background:#fff;align-self:flex-start;border:1px solid var(--line)}.msg.me{background:var(--green);color:#fff;align-self:flex-end}
.msg a{color:var(--green);text-decoration:underline}.msg.err{border-color:#b3261e;color:#7d1a14}
.chat-chips{display:flex;flex-wrap:wrap;gap:6px}.chat-chips button{background:#fff;border:1px solid var(--green);color:var(--green);border-radius:14px;font-size:13px;padding:4px 10px;cursor:pointer}
.chat-form{display:flex;border-top:1px solid var(--line);margin:0}
.chat-form input{flex:1;min-width:0;border:0;padding:12px;margin:0;font-size:16px}
.chat-form button{border:0;background:var(--green);color:#fff;padding:0 16px;cursor:pointer;font-weight:600}.chat-form button:disabled{opacity:.55}
.chat-note{font-size:11.5px;color:var(--muted);padding:5px 12px;margin:0;background:#fff;border-top:1px solid var(--line)}.chat-note a{text-decoration:underline}
.admin{padding:30px 0}.admin table{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:30px}.admin td,.admin th{border:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}.admin select{padding:4px}.admin #out{overflow-x:auto}
@media (max-width:1000px){
.brandrow-in{justify-content:center;padding-top:10px;padding-bottom:10px}.burger{display:flex}.brandrow .icons{right:8px}
.brand{gap:7px;margin:0 56px 0 38px}.brand img{width:44px}.brand strong{font-size:clamp(15px,4.5vw,28px)}.brand small{font-size:clamp(7.5px,1.9vw,11px);letter-spacing:.14em;margin-top:4px}
.brandrow{position:sticky;top:0;z-index:60;background:var(--paper);border-bottom:1px solid var(--line)}
.mainnav{display:none;position:fixed;inset:0;z-index:55;background:var(--paper);border:0;padding-top:88px;overflow-y:auto}.mainnav.open{display:block}.mainnav-in{display:block}.mainnav ul{flex-direction:column;align-items:stretch;gap:0;padding:6px 8px 30px}.mainnav li{border-bottom:1px solid var(--line)}.mainnav li:last-child{border:0}
.mainnav li>a{padding:17px 4px;font-size:30px}.nav-ai{width:100%;margin-top:16px;text-align:center;padding:15px;font-size:22px}.has-dd .dd,.has-dd:hover .dd,.has-dd:focus-within .dd{display:none}.chev,.stuck-icons{display:none}
.shelf-row,.subject-grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:14px;margin:0 -15px;padding:2px 15px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.shelf-row::-webkit-scrollbar,.subject-grid::-webkit-scrollbar{display:none}.shelf-item,.subject-grid a{flex:0 0 24%;scroll-snap-align:start;scroll-margin-left:15px}.shelf-head{padding:0 0 8px}.subject-grid{margin-bottom:36px}.tiles{padding-top:30px}.hero-copy{left:15px}.foot-grid{grid-template-columns:1fr 1fr}
.shop{grid-template-columns:1fr;gap:18px}.side{border:0;padding:0}.side-groups{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.grid{grid-template-columns:repeat(3,1fr)}
.visit-grid,.tiles,.two,.checkout{grid-template-columns:1fr}.product{grid-template-columns:1fr;gap:22px}.product-img{padding:28px 24%}
}
@media (max-width:760px){
.hero{padding:0;margin-top:0;margin-bottom:12px}.hero-slides{aspect-ratio:4/5;max-height:76svh;width:100%}
.hero-slides:after{background:linear-gradient(180deg,rgba(24,17,10,.04) 18%,rgba(24,17,10,.62) 52%,rgba(24,17,10,.88))}
.hero-copy{left:0;right:0;width:auto;top:auto;bottom:0;padding:0 20px 28px}.hero-copy h1{font-size:44px}.sub{font-size:20px;margin-bottom:16px}.hero-pause{right:14px;bottom:auto;top:14px}
.shelf-item,.subject-grid a{flex-basis:38%}.band{padding:48px 20px 52px}.band h2{font-size:30px}
.chat-fab{right:14px;bottom:14px;padding:14px;border-radius:50%}.chat-fab span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.chat-fab svg{width:24px;height:24px}
}
@media (max-width:560px){
h2{font-size:26px}.shelf-head h2{font-size:24px}.shelf-head{flex-direction:column;gap:2px}.grid{grid-template-columns:repeat(2,1fr)}
.page-title h1{font-size:34px}.product-info h1{font-size:29px}.tile-card{width:92%;margin:-40px 0 0 4%;padding:18px 18px 4px}.foot-grid{gap:22px}
.cart-row{grid-template-columns:56px 1fr auto;}.cart-row .line{grid-column:2/4;text-align:right}.chat{right:6px;bottom:6px;left:6px;width:auto;max-width:none}.visit-map{height:280px}.tile-bg{padding:14px 16px}
.topbar{font-size:11.5px}.side-groups{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
