:root{--ink:#34392d;--olive:#586047;--paper:#faf8f2;--sand:#efede4;--line:#d8d9ce;--muted:#737669;--serif:'Yu Mincho','Hiragino Mincho ProN',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Helvetica Neue','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;font-size:14px;line-height:1.8}button,input,select,textarea{font:inherit;color:inherit}button,a,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;object-fit:cover}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ad7938;outline-offset:4px}.wrap{width:100%;max-width:1360px;margin:auto;padding:0 64px}.preview{height:29px;background:#373d31;color:#fff;display:flex;justify-content:center;gap:20px;font-size:9px;letter-spacing:1.4px;align-items:center}.preview a{position:absolute;right:24px;text-decoration:underline}.preview span{letter-spacing:.5px}header{height:103px;padding:0 50px;display:flex;align-items:center;justify-content:space-between;background:rgba(250,248,242,.96);position:sticky;top:0;z-index:10;border-bottom:1px solid #deded3}.brand{display:flex;gap:15px;align-items:center}.logo{height:67px;width:67px;object-fit:contain}.brand>span{font:24px Georgia,serif;letter-spacing:2px}.brand small{display:block;font:8px sans-serif;letter-spacing:2px;margin-top:10px}nav{display:flex;align-items:center;gap:32px;font-size:12px}nav .pill{padding:12px 20px;border:1px solid var(--olive);border-radius:40px}.pill span{margin-left:16px}#navtoggle{display:none}.hero{height:min(740px,76vw);min-height:550px;position:relative;color:white;overflow:hidden}.hero>img{width:100%;height:100%;object-position:center 55%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,19,13,.72),rgba(14,19,13,.12) 80%),linear-gradient(0deg,#131c1766,transparent 35%)}.hero-copy{position:absolute;left:max(64px,calc((100vw - 1232px)/2));top:18%}.eyebrow{font-size:10px;font-weight:500;letter-spacing:2.7px;margin:0 0 24px}.hero h1{font-family:var(--serif);font-size:58px;font-weight:400;line-height:1.6;letter-spacing:6px;margin:0 0 22px}.hero-copy>p:not(.eyebrow){font-size:14px;line-height:2.2;letter-spacing:2px}.button{display:inline-flex;gap:50px;align-items:center;border-radius:40px;padding:16px 25px;font-size:12px;margin-top:22px;background:var(--olive);color:white;border:0}.light{background:var(--paper);color:var(--ink)}.hero-foot{position:absolute;bottom:36px;left:64px;right:64px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px}.photo-credit{position:absolute;right:28px;bottom:80px;font-size:9px;writing-mode:vertical-rl;letter-spacing:2px}.news-strip{display:flex;gap:35px;align-items:center;padding:24px 64px;border-bottom:1px solid var(--line)}.news-strip .eyebrow{margin:0;color:var(--olive)}.news-strip a{flex:1;font-size:12px}.intro{padding-top:105px;padding-bottom:105px;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:24px}.intro h2,h2{font:400 36px/1.7 var(--serif);letter-spacing:2px;margin:0}.intro p:not(.eyebrow){color:var(--muted);line-height:2.3;margin-top:25px}.round-mark{width:150px;height:150px;border:1px solid #969c85;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;justify-self:end;font:21px/1.15 Georgia;letter-spacing:3px;transform:rotate(-12deg)}.round-mark i{font-size:22px}.round-mark small{font:7px sans-serif;margin-top:9px}.stores-section{padding:95px 0;background:var(--sand)}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px;gap:25px}.section-title .eyebrow{color:var(--olive);margin-bottom:13px}.section-title>p,.fine{font-size:11px;color:var(--muted)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px}.filters button{border:1px solid #c9cdbf;border-radius:30px;padding:8px 22px;background:transparent;font-size:12px}.filters button.active{background:var(--olive);color:white;border-color:var(--olive)}.filters select{margin-left:auto;border:0;border-bottom:1px solid #929b83;background:transparent;padding:7px;max-width:100%}.store-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 25px}.store-card{background:var(--paper);border-radius:5px 5px 15px 15px;overflow:hidden;text-align:left;border:0;padding:0}.store-photo{height:230px;width:100%;transition:transform .5s}.store-card:hover .store-photo{transform:scale(1.035)}.store-image{overflow:hidden;position:relative}.area-tag{position:absolute;top:14px;left:14px;background:var(--paper);border-radius:20px;font-size:10px;padding:3px 12px}.store-body{padding:23px}.store-meta{display:flex;justify-content:space-between;gap:10px;color:var(--olive);font-size:9px;letter-spacing:1px}.store-body h3{font:24px var(--serif);margin:12px 0 20px}.store-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;font-size:11px}.store-bottom span:last-child{font-size:18px}.menu-section{padding-top:100px;padding-bottom:100px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.product img{width:100%;aspect-ratio:1.1;object-fit:contain;background:#f1eae1;border-radius:12px}.product small{color:var(--olive);font-size:9px;letter-spacing:1px}.product h3{font:19px/1.6 var(--serif);margin:8px 0}.product .price{font-size:12px}.product p{font-size:10px;color:var(--muted)}.visit{background:var(--olive);color:#fff;padding:90px 0}.visit-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:90px;align-items:start}.visit h2{font-size:38px}.visit label{display:block;margin:32px 0 8px;font-size:11px}.visit select{width:100%;background:#faf8f2;color:var(--ink);padding:13px;border-radius:6px;border:0}.visit .fine{color:#e0e4d7;line-height:1.8}.day-detail{padding:18px 0;font-size:13px}.calendar-panel{background:var(--paper);color:var(--ink);border-radius:16px;padding:28px}.calendar-heading{display:flex;justify-content:space-between;align-items:center}.calendar-heading h3{font:24px Georgia;margin:0 0 18px}.calendar-heading button{background:none;border:0;font-size:22px;width:36px}.week,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.week{font-size:11px;text-align:center;color:var(--muted);margin:10px 0}.calendar button{border:0;background:transparent;min-height:58px;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:13px}.calendar button small{font-size:8px}.calendar button:hover,.calendar button.selected{background:#e3e6d9}.calendar .closed{color:#9b4a40;background:#f3e7e0}.calendar .special{color:#86601c;background:#f1ead8}.legend{display:flex;gap:17px;font-size:9px;margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}.story{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;background:#e9e6dc}.story>img{height:550px;width:100%;object-position:center}.story>div{padding:65px}.story p:not(.eyebrow){line-height:2.4;font-size:12px;margin:25px 0}.text-link{font-size:12px;border-bottom:1px solid;padding-bottom:12px}.journal{padding-top:95px;padding-bottom:95px}.news-row{display:flex;gap:35px;align-items:center;padding:24px 0;border-top:1px solid var(--line)}.news-row time{font-size:11px;color:var(--muted)}.news-row span{flex:1}.journal .section-title>a{font-size:12px}footer{padding:65px;background:#343c2e;color:var(--paper);text-align:center}footer .brand{justify-content:center}footer .logo{width:65px}footer>p{font-family:var(--serif);margin:25px 0}footer>div{display:flex;justify-content:center;gap:35px;font-size:11px;margin:30px 0}footer>small{font-size:8px;letter-spacing:2px}.mobile-visit{display:none}dialog{border:0;border-radius:20px;padding:0;width:min(950px,92vw);max-height:90vh;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#172115aa;backdrop-filter:blur(5px)}.dialog-close{position:sticky;top:15px;margin:15px 15px -60px auto;display:block;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:white;font-size:26px}.detail-hero{height:330px;width:100%}.detail-body{padding:38px}.detail-body h2{margin-bottom:18px}.detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:35px}.detail-layout dl{font-size:13px;display:grid;grid-template-columns:85px 1fr;gap:13px}.detail-layout dd{margin:0}.gallery{display:flex;gap:10px;overflow:auto;margin-top:25px}.gallery img{width:180px;height:130px;border-radius:8px}.detail-actions{display:flex;gap:12px;flex-wrap:wrap}.detail-actions a,.detail-actions button{border:1px solid var(--olive);border-radius:30px;padding:10px 20px;background:transparent;font-size:12px}.empty{padding:30px;border:1px solid var(--line)}
@media(max-width:1000px){header{padding:0 25px}nav{gap:18px}.wrap{padding-left:32px;padding-right:32px}.hero-copy{left:40px}.hero h1{font-size:48px}.store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro{grid-template-columns:1fr 2fr}.round-mark{display:none}.visit-grid{gap:30px}.story>div{padding:35px}.brand>span{font-size:20px}.brand small{font-size:7px}nav{font-size:11px}}
@media(max-width:700px){.preview{height:25px;font-size:8px;gap:8px}.preview a{display:none}.preview span{font-size:8px}.wrap{padding-left:22px;padding-right:22px}header{height:79px;padding:0 22px}.brand{gap:10px}.brand .logo{width:49px;height:49px}.brand>span{font-size:18px}.brand small{font-size:6px;margin-top:7px;letter-spacing:1.6px}#navtoggle{display:block;border:0;background:none;font-size:24px;padding:8px}nav{display:none;position:fixed;inset:79px 0 0;background:var(--paper);padding:50px 30px;flex-direction:column;align-items:stretch;font:24px var(--serif)}nav.open{display:flex}nav a{padding:18px 0;border-bottom:1px solid var(--line)}nav .pill{font-size:18px;margin-top:20px}.hero{height:650px;min-height:0}.hero>img{object-position:58%}.hero-copy{left:25px;top:105px;right:18px}.hero .eyebrow{font-size:8px;letter-spacing:1.8px}.hero h1{font-size:37px;letter-spacing:3px;line-height:1.7}.hero-copy>p:not(.eyebrow){font-size:12px}.hero-foot{left:25px;right:25px;bottom:28px;font-size:7px}.hero-foot span:last-child{display:none}.photo-credit{right:12px;font-size:7px}.news-strip{padding:20px 22px;gap:18px}.news-strip a{font-size:10px}.intro{display:block;padding-top:60px;padding-bottom:60px}.intro>.eyebrow{margin-bottom:25px}.intro h2,h2{font-size:27px}.intro p:not(.eyebrow){font-size:12px}.stores-section{padding:55px 0}.section-title{display:block;margin-bottom:25px}.section-title>p{margin-top:15px}.filters{gap:7px}.filters button{font-size:10px;padding:7px 12px}.filters select{margin-left:0;font-size:11px}.store-grid{grid-template-columns:1fr;gap:22px}.store-photo{height:225px}.store-body{padding:20px}.store-body h3{font-size:24px}.product-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding-bottom:15px}.product{flex:0 0 78%;scroll-snap-align:start}.menu-section{padding-top:60px;padding-bottom:60px}.visit{padding:55px 0}.visit-grid{grid-template-columns:1fr;gap:22px}.visit h2{font-size:30px}.calendar-panel{padding:18px 12px}.calendar button{min-height:53px;font-size:12px}.calendar button small{font-size:7px}.legend{gap:12px;font-size:8px}.story{grid-template-columns:1fr}.story>img{height:300px}.story>div{padding:45px 24px}.journal{padding-top:60px;padding-bottom:60px}.news-row{gap:16px;font-size:11px;align-items:start}.news-row time{font-size:9px;white-space:nowrap}.journal .section-title>a{display:inline-block;margin-top:20px}footer{padding:50px 20px 110px}.mobile-visit{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-between;background:#343c2e;color:white;padding:17px 24px calc(17px + env(safe-area-inset-bottom));z-index:8;border-top:1px solid #67705b;font-size:12px;transform:translate3d(0,0,0)}.detail-hero{height:230px}.detail-body{padding:24px}.detail-layout{grid-template-columns:1fr;gap:10px}.detail-layout dl{grid-template-columns:68px 1fr;font-size:11px}.dialog-close{top:12px}.detail-actions{gap:8px}.detail-actions a,.detail-actions button{font-size:10px;padding:9px 13px}}
/* Review pass 1: align the desktop header and avoid an orphaned mobile heading. */
@media(min-width:1001px){header{padding-inline:max(64px,calc((100vw - 1232px)/2))}}
@media(min-width:701px) and (max-width:1000px){header{padding-inline:32px}}
@media(max-width:700px){.hero h1{font-size:32px;letter-spacing:2px}}
